forked from mirrors/gecko-dev
This passes the profile directory as a crash annotation (which is not sent in the crash report). The profile directory is already indirectly passed to the crash reporter through `MOZ_CRASHREPORTER_EVENTS_DIRECTORY`, however I don't think that's something to rely upon. The pref parsing and langpack extension search are done on a best-effort basis; there may be some odd configurations for which it does not account. However, it should cover the vast majority of cases. While we don't want to underserve niche populations that may have an odd configuration, we do always have fallback behaviors that are likely still reasonable for most (like using the installation locale). We also first try the `useragent_locale` annotation before getting locales from the prefs. This only looks in the profile and the installation for langpack extensions. There are a few other system-wide locations that Firefox looks in. However, the assumptions are: 1) overwhelmingly users install langpacks using the UI rather than manually downloading the file, and 2) if installed with a package manager (mostly applicable to linux), langpacks are put in the installation. This is the case for the few major linux distros I checked. If we think this is not enough, I can also add the system-wide directories. Original Revision: https://phabricator.services.mozilla.com/D222356 Differential Revision: https://phabricator.services.mozilla.com/D234210
1.9 KiB
1.9 KiB
sys-locale
A small and lightweight Rust library to get the current active locale on the system.
sys-locale is small library to get the current locale set for the system or application with the relevant platform APIs. The library is also no_std compatible, relying only on alloc, except on Linux and BSD.
Platform support currently includes:
- Android
- iOS
- macOS
- Linux, BSD, and other UNIX variations
- WebAssembly, for the following platforms:
- Inside of a web browser (via the
jsfeature) - Emscripten (via the
UNIXbackend) Further support for other WASM targets is dependent on upstream support in those target's runtimes and specifications.
- Inside of a web browser (via the
- Windows
use sys_locale::get_locale;
let locale = get_locale().unwrap_or_else(|| String::from("en-US"));
println!("The current locale is {}", locale);
MSRV
The Minimum Supported Rust Version is currently 1.48.0. This will be bumped to the latest stable version of Rust when needed.
Credits
Made with ❤️ by the 1Password team.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.