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