UNPKG

react-native-localize

Version:

A toolbox for your React Native app localization.

59 lines (50 loc) 1.43 kB
import type { ReactNode } from "react"; // https://developer.apple.com/documentation/foundation/nscalendaridentifier?language=objc export type Calendar = | "gregorian" | "buddhist" | "coptic" | "ethiopic" | "ethiopic-amete-alem" | "hebrew" | "indian" | "islamic" | "islamic-umm-al-qura" | "islamic-civil" | "islamic-tabular" | "iso8601" | "japanese" | "persian"; export type Locale = Readonly<{ languageCode: string; scriptCode?: string; countryCode: string; languageTag: string; isRTL: boolean; }>; export type NumberFormatSettings = Readonly<{ decimalSeparator: string; groupingSeparator: string; }>; export type TemperatureUnit = "celsius" | "fahrenheit"; export type ServerLanguagesProviderProps = { children: ReactNode; value: string[]; }; export type LocalizeApi = { getCalendar: () => Calendar; getCountry: () => string; getCurrencies: () => string[]; getLocales: () => Locale[]; getNumberFormatSettings: () => NumberFormatSettings; getTemperatureUnit: () => TemperatureUnit; getTimeZone: () => string; uses24HourClock: () => boolean; usesMetricSystem: () => boolean; usesAutoDateAndTime: () => boolean | undefined; usesAutoTimeZone: () => boolean | undefined; findBestLanguageTag: <T extends string>( languageTags: readonly T[], ) => { languageTag: T; isRTL: boolean } | undefined; openAppLanguageSettings: () => Promise<void>; };