react-native-get-device-locale
v0.1.0
Published
react-native-get-device-locale is a lightweight and efficient React Native module that provides easy access to the device's locale.
Downloads
14
Maintainers
Readme
react-native-get-device-locale
react-native-get-device-locale is a lightweight and efficient React Native module that provides easy access to the device's locale. Designed to work seamlessly with React Native’s new architecture, it replaces the now unreliable APIs (NativeModules.SettingsManager.settings.AppleLocale and similar) following recent updates in React Native.
✨ Features
- Retrieve the device’s locale in
en_US
,fr_FR
format. - Compatible with React Native >= 0.68 and the new architecture (TurboModules).
- Minimal setup with low resource usage.
| Support | | | ----------- | -----------: | | react-native version | >=0.68 | | Android | soon | | iOS | ✅ | | New Architecture | ✅ |
📦 Installation
npm install react-native-get-device-locale
Additional Steps (iOS only)
After installation, run the following command in your project’s ios directory:
cd ios && pod install
📖 Usage Example
Here's how to use `react-native-get-device-locale to retrieve the device locale:
const deviceLocale = await getDeviceLocale("fr_FR"); // Optional default locale if fetching fails
import { useState, useEffect } from 'react';
import { View, Text } from 'react-native';
import { getDeviceLocale } from 'react-native-get-device-locale';
export default function App() {
const [locale, setLocale] = useState<string | null>(null);
useEffect(() => {
(async () => {
const deviceLocale = await getDeviceLocale();
setLocale(deviceLocale);
})();
}, []);
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Device Locale: {locale}</Text>
</View>
);
}
💼 Use Cases
This package serves as a replacement for deprecated native locale-fetching methods like:
NativeModules.SettingsManager.settings.AppleLocale
NativeModules.SettingsManager.settings.AppleLanguages[0]
NativeModules.I18nManager.localeIdentifier
Which no longer work in React Native 0.76 and above. getDeviceLocale provides a reliable and modern way to access the device locale, compatible with the latest React Native architecture.
🔄 Roadmap and Future Features
Planned additions:
Android support for the getDeviceLocale
function.
Alternate locale formats (e.g., en
or en-US
).
🛠️ Contributing
Contributions are welcome! We follow the conventional commits guidelines. To contribute:
- Fork the repo.
- Clone it and create a new branch.
- Follow the commit message conventions.
- Open a Pull Request!
💡 Tip: Make sure your commit messages are in English for consistency!
📞 Support
If you have questions or issues, feel free to open an issue on GitHub. I’ll stay active to respond to queries and provide support.