#cross-platform #bevy #mobile #gamedev #settings #macos-ios

bevy_device_lang

Crossplatform way to query device language setting

6 releases (breaking)

0.5.0 Jul 8, 2024
0.4.0 Jun 21, 2024
0.3.1 Jun 8, 2024
0.2.0 Jun 8, 2024
0.1.0 Jun 8, 2024

#1424 in Game dev


Used in bevy-translation-table

MIT license

3MB
83 lines

bevy_device_lang

crates.io docs.rs discord

Provides access device language cross-platform: iOS, Android, Web (Wasm), Windows & Linux. Useful to support app localization in the right language.

See also: bevy_ios_iap, bevy_ios_gamecenter, bevy_ios_notifications, bevy_ios_alerts, bevy_ios_review & bevy_ios_impact

See the crate in action in Zoolitaire:

demo

Features

  • macOS, iOS (using [NSLocale preferredLanguage] see docs)

  • Android (using Locale.getDefault().toLanguageTag see docs)

  • Wasm (uses web-sys and Navigator.language() see docs)

  • Windows (using GetUserDefaultLocaleName see docs)

  • Linux (using Env: LC_ALL, LC_MESSAGES or LANG)

Usage

Add dependency: bevy_device_lang = "0.4"

fn bevy_system() {
    let lang : Option<String> = bevy_device_lang::get_lang();
}

License

All code in this repository is dual-licensed under either:

at your option. This means you can select the license you prefer.

Your contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0–41MB
~627K SLoC