A React Native library for accessing device localization information like locales, currencies, and formatting settings.
React Native Localize is a comprehensive toolbox for React Native app localization that provides direct access to the user's device settings for locale, currency, calendar, and formatting preferences. It enables developers to build apps that automatically adapt to user preferences without manual configuration by retrieving essential localization data from the device. The library follows a minimal API design and supports Android, iOS, macOS, Web, and server-side rendering.
React Native developers building cross-platform mobile, desktop, or web applications that require localization and adaptation to user device settings. It is particularly useful for teams needing to respect user preferences for language, region, formatting, and calendar systems.
Developers choose React Native Localize because it offers a straightforward, native-backed API to access device localization settings without complex setup, ensuring apps automatically align with user preferences. Its cross-platform support and integration with tools like Expo and react-native-web make it a reliable, minimal-dependency solution for localization needs.
🌍 A toolbox for your React Native app localization
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Retrieves a wide range of device settings including locales, currencies, calendar formats, and number formatting, as shown in API methods like getLocales and getCurrencies.
Works on Android, iOS, macOS, and Web via react-native-web, with explicit server-side rendering support through ServerLanguagesProvider for parsing Accept-Language headers.
Offers a straightforward, function-based API that is easy to integrate, evidenced by simple usage examples like getLocales() returning structured data without complex configuration.
Includes a config plugin for Expo projects to specify supported locales, enabling system-level language settings on Android 13+ and iOS without manual native setup.
Follows React Native's release support policy, ensuring compatibility with the latest and two previous minor versions, as stated in the Support section.
Only retrieves device settings without built-in translation management or UI components, forcing reliance on other libraries like i18n for full localization.
Functions like usesAutoDateAndTime and openAppLanguageSettings are Android-only, limiting cross-platform consistency and requiring conditional code for iOS or web.
Requires native linking or pod installation, adding setup complexity and potential issues in environments like Expo bare workflow or web-only builds.
Does not handle caching or persistence of settings changes, leaving developers to manage state manually if device settings update during app usage.