UNPKG

1.03 kBPlain TextView Raw
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}