1import ExpoLocalization from './ExpoLocalization'; 2import { Localization } from './Localization.types'; 3 4export { Localization }; 5 6// Web, Android, and some iOS values use `-`. This will convert the iOS values that use `_` 7// https://github.com/expo/expo/blob/21ae94bae2e8369992050c433a00699d425b35bd/packages/expo/src/Localization.ts#L112-L114 8const parseLocale = (locale: string): string => locale.replace('_', '-'); 9 10export const locale = parseLocale(ExpoLocalization.locale); 11export const locales = ExpoLocalization.locales.map(parseLocale); 12export const timezone = ExpoLocalization.timezone; 13export const isoCurrencyCodes = ExpoLocalization.isoCurrencyCodes; 14export const region = ExpoLocalization.region; // iOS, Web 15export const isRTL = ExpoLocalization.isRTL; 16 17export async function getLocalizationAsync(): Promise<Localization> { 18 const { locale, locales, ...localization } = await ExpoLocalization.getLocalizationAsync(); 19 return { 20 locale: parseLocale(locale), 21 locales: ExpoLocalization.locales.map(parseLocale), 22 ...localization, 23 }; 24} 25