Mobile · npm package
react-native-i18n-kit
A fully native, zero-dependency localization toolkit for React Native: device-locale detection, translations, plurals, RTL and locale-aware formatting.
Overview
Localization in React Native usually means stitching together a JavaScript translation library, a native module for the device locale and your own formatting helpers. react-native-i18n-kit does all of it in one package with no third-party dependencies. Locale, calendar, time zone, number format and 12/24-hour settings are read natively (android.icu on Android, Foundation.Locale on iOS), and a hooks-first API handles translations, CLDR plural rules, interpolation, RTL and formatting. It is a TurboModule built for the New Architecture and ships no prebuilt native binaries, so it is 16 KB page-size compliant on Android 15+.
Highlights
- Zero third-party dependencies: Kotlin, Swift and TypeScript only
- Native device-locale detection, including calendar, time zone, number format, clock and measurement system
- useTranslation() and useDeviceLocale() hooks; switching language re-renders the tree instantly
- CLDR plural buckets and {{token}} interpolation per language
- RTL-aware, with optional automatic I18nManager handling
- Locale-aware number, currency, percent, date and relative-time formatting
- Remembers the chosen language natively and restores it on next launch
- TurboModule for the New Architecture, 16 KB page-size compliant
Install
npm install react-native-i18n-kitWhy teams use it
One package instead of several
Translations, device locale, plurals, RTL and formatting come from one library with no third-party dependencies.
Native accuracy
Calendar, time zone, number format, clock and measurement settings are read from the OS, not guessed in JavaScript.
Ready for what is next
A New Architecture TurboModule with no prebuilt binaries, so Android 15's 16 KB page-size rule is already met.
How it compares
vsA typical JavaScript i18n setup
| Aspect | A typical JavaScript i18n setup | react-native-i18n-kit |
|---|---|---|
| Packages | A translation library plus a native module for the device locale, often more | One package, zero third-party dependencies |
| Device settings | Whatever the extra native module exposes | Language, region, calendar, time zone, number format, 12/24-hour clock and measurement system |
| Remembering the language | Usually your own storage code | Saved natively and restored on next launch |
| 16 KB page size (Android 15+) | Check every native dependency | Compliant: no prebuilt native binaries |
Let's talk
Need something like this in your app?
Tell us what you are building. You will get a reply within two business days.