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