finds.dev← search

// the find

zoontek/react-native-localize

★ 2,440 · TypeScript · MIT · updated Sep 2026

🌍 A toolbox for your React Native app localization

A native module that exposes device-level locale, calendar, currency, timezone, and formatting preferences to React Native apps — things `Intl` in JS can't give you because they come from OS settings, not the JS engine. Useful for anyone doing real i18n (not just string translation) across iOS, Android, macOS, and web.

Actually reads native locale APIs (NSLocale/CFLocale, Android LocaleList) instead of faking it with Intl, so getCountry/getCalendar/getTemperatureUnit reflect real device settings. Ships both old and new architecture implementations (oldarch/newarch dirs), so it hasn't stalled out on the Fabric/TurboModules migration like a lot of native modules did. First-party Expo config plugin and a jest mock under src/extras/mock — you're not left writing your own manual mock for tests, which is where a lot of native-module adoption dies.

Single maintainer, explicitly 'provided as is' with a sponsor-for-priority-support model — fine for a side project, a real risk if this sits under your app's core locale logic. openAppLanguageSettings is Android 13+ only and needs separate localeConfig XML wiring, so the API surface isn't uniform across platforms and you'll end up feature-detecting. The README doesn't show any locale-change event listener — getLocales() et al. read the value once, so you need to figure out yourself how to react if the user changes language while the app is running. The 'UN' fallback for Latin American region codes (documented as a known quirk, not fixed) is the kind of edge case that silently breaks currency/date formatting downstream if you don't read the fine print.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →