Add `locale-select` README

finchie
Mar 5, 2024, 4:56 PM
BXLE3JXY37S6M7DGPM4KCL3ABT64HUVJ3NEUOFK56IFDOMUEJ3SQC

Dependencies

  • [2] YNEOCYMG Create `locale-select` crate

Change contents

  • file addition: README.md (----------)
    [2.25]
    # `locale_select`
    A simple library for selecting the user's locale preferences for various ICU4X modules, such as calendar, datetime and decimals.
    ## Alternatives
    This library is specific to ICU4X, but there are many Rust APIs with a similar focus. Here are some that I could find, and what they seem to do differently:
    - [`simple-locale`](https://github.com/johnstonskj/simple-locale): very close to this crate, but doesn't use ICU4X libraries
    - [`locale_settings`](https://docs.rs/locale-settings/latest/locale_settings): unmaintained(?) version of `simple-locale::settings`
    - [`sys_locale`](https://github.com/1password/sys-locale): single locale instead of per-category
    - [`utf8-locale`](https://gitlab.com/ppentchev/utf8-locale), [`locale-config`](https://github.com/rust-locale/locale_config): categories are less strongly typed
    - [`gettextrs::setlocale()`](https://docs.rs/gettext-rs/latest/gettextrs/fn.setlocale.html): `gettext` bindings, this function can query the locale by setting the locale to a null string
    ## Useful links
    - POSIX:
    - Locale category data: https://www.man7.org/linux/man-pages/man5/locale.5.html
    - Locale category definitions: https://www.man7.org/linux/man-pages/man7/locale.7.html
    - Description of locale names: https://www.gnu.org/software/libc/manual/html_node/Locale-Names.html
    - Locale spec: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html
    - Localization variables spec: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_02
    - Unicode handling of POSIX identifiers: https://unicode.org/reports/tr35/tr35.html#Legacy_Variants