1// @needsAudit 2export type Localization = { 3 /** 4 * Three-character ISO 4217 currency code. Returns `null` on web. 5 * 6 * @example `'USD'`, `'EUR'`, `'CNY'`, `null` 7 */ 8 currency: string | null; 9 /** 10 * Decimal separator used for formatting numbers. 11 * 12 * @example `','`, `'.'` 13 */ 14 decimalSeparator: string; 15 /** 16 * Digit grouping separator used when formatting numbers larger than 1000. 17 * 18 * @example `'.'`, `''`, `','` 19 */ 20 digitGroupingSeparator: string; 21 /** 22 * A list of all the supported language ISO codes. 23 */ 24 isoCurrencyCodes: string[]; 25 /** 26 * Boolean value that indicates whether the system uses the metric system. 27 * On Android and web, this is inferred from the current region. 28 */ 29 isMetric: boolean; 30 /** 31 * Returns if the system's language is written from Right-to-Left. 32 * This can be used to build features like [bidirectional icons](https://material.io/design/usability/bidirectionality.html). 33 * 34 * Returns `false` in Server Side Rendering (SSR) environments. 35 */ 36 isRTL: boolean; 37 /** 38 * An [IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag), 39 * consisting of a two-character language code and optional script, region and variant codes. 40 * 41 * @example `'en'`, `'en-US'`, `'zh-Hans'`, `'zh-Hans-CN'`, `'en-emodeng'` 42 */ 43 locale: string; 44 /** 45 * List of all the native languages provided by the user settings. 46 * These are returned in the order the user defines in their device settings. 47 * 48 * @example `['en', 'en-US', 'zh-Hans', 'zh-Hans-CN', 'en-emodeng']` 49 */ 50 locales: string[]; 51 /** 52 * The region code for your device that comes from the Region setting under Language & Region on iOS. 53 * This value is always available on iOS, but might return `null` on Android or web. 54 * 55 * @example `'US'`, `'NZ'`, `null` 56 */ 57 region: string | null; 58 /** 59 * The current time zone in display format. 60 * On Web time zone is calculated with Intl.DateTimeFormat().resolvedOptions().timeZone. For a 61 * better estimation you could use the moment-timezone package but it will add significant bloat to 62 * your website's bundle size. 63 * 64 * @example `'America/Los_Angeles'` 65 */ 66 timezone: string; 67}; 68