summaryrefslogtreecommitdiffstats
path: root/intl/docs/locale_env.rst
diff options
context:
space:
mode:
Diffstat (limited to 'intl/docs/locale_env.rst')
-rw-r--r--intl/docs/locale_env.rst37
1 files changed, 37 insertions, 0 deletions
diff --git a/intl/docs/locale_env.rst b/intl/docs/locale_env.rst
new file mode 100644
index 0000000000..7f9f2fc754
--- /dev/null
+++ b/intl/docs/locale_env.rst
@@ -0,0 +1,37 @@
+Environments
+============
+
+While all the concepts described above apply to all programming languages and frameworks
+used by Mozilla, there are differences in completeness of the implementation.
+
+Below is the current list of APIs supported in each environment and examples of how to
+use them:
+
+C++
+---
+
+In C++ the core API for Locale is :js:`mozilla::intl::Locale` and the service for locale
+management is :js:`mozilla::intl::LocaleService`.
+
+For any OSPreference operations there's :js:`mozilla::intl::OSPreferences`.
+
+
+JavaScript
+----------
+
+In JavaScript users can use :js:`mozilla.org/intl/mozILocaleService` XPCOM API to access
+the LocaleService and :js:`mozilla.org/intl/mozIOSPreferences` for OS preferences.
+
+The LocaleService API is exposed as :js:`Services.locale` object.
+
+There's currently no API available for operations on language tags and Locale objects,
+but `Intl.Locale`_ API is in the works.
+
+Rust
+----
+
+For Rust Mozilla provides a crate `fluent-locale`_ which implements the concepts described
+above.
+
+.. _Intl.Locale: https://bugzilla.mozilla.org/show_bug.cgi?id=1433303
+.. _fluent-locale: https://docs.rs/fluent-locale/