# Crate simple-locale
[](https://travis-ci.org/johnstonskj/locale-settings)
[](https://crates.io/crates/locale-settings)
[](https://docs.rs/locale-settings)


[](https://github.com/johnstonskj/locale-settings/stargazers)
This crate provides a higher-level interface to locale settings, usually accessed via POSIX
(see [ISO/IEC 15897](https://www.iso.org/standard/50707.html)) operating system functions.
## Operating System Coverage
Currently only tested on macOS, Linux and Windows to come.
## Pre-Build Process
The following describe two code generation steps that are executed outside
the normal build process as the output is stored in Git and versioned
based on external factors.
### FFI Bindings
As mentioned above, this crate depends on FFI bindings to POSIX locale
functions, and there are O/S differences that make this a pain. The script
[`create-bindings.sh`](https://github.com/johnstonskj/simple-locale/blob/master/create-bindings.sh)
is used to generate these bindings (using cargo bindgen) in such a way that
different O/S bindings can be built effectively.
## History
* **0.1.0** - extracted from [simple-locale](https://github.com/johnstonskj/simple-locale).
## TODO
* Determine naming convention between the names in the `codes` and `settings`
modules.
* Expect that the names in code modules will be changed to reflect
those in the settings.
* Build and test for Linux.
* How to deal with extended `LC_` categories (address, identification,
measurement, name, paper, telephone).
* Build and test for Windows.