1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
[GenerateConversionToJS]
dictionary DisplayNameOptions {
DOMString type;
DOMString style;
DOMString calendar;
sequence<DOMString> keys;
};
[GenerateInit]
dictionary DisplayNameResult {
DOMString locale;
DOMString type;
DOMString style;
DOMString calendar;
sequence<DOMString> values;
};
[GenerateInit]
dictionary LocaleInfo {
DOMString locale;
DOMString direction;
};
/**
* The IntlUtils interface provides helper functions for localization.
*/
[LegacyNoInterfaceObject,
Exposed=Window]
interface IntlUtils {
/**
* Helper function to retrieve the localized values for a list of requested
* keys.
*
* The function takes two arguments - locales which is a list of locale
* strings and options which is an object with four optional properties:
*
* keys:
* an Array of string values to localize
*
* type:
* a String with a value "language", "region", "script", "currency",
* "weekday", "month", "quarter", "dayPeriod", or "dateTimeField"
*
* style:
* a String with a value "long", "abbreviated", "short", or "narrow"
*
* calendar:
* a String to select a specific calendar type, e.g. "gregory"
*
* It returns an object with properties:
*
* locale:
* a negotiated locale string
*
* type:
* negotiated type
*
* style:
* negotiated style
*
* calendar:
* negotiated calendar
*
* values:
* a list of translated values for the requested keys
*
*/
[Throws]
DisplayNameResult getDisplayNames(sequence<DOMString> locales,
optional DisplayNameOptions options = {});
/**
* Helper function to determine if the current application locale is RTL.
*
* The result of this function can be overriden by this pref:
* - `intl.l10n.pseudo`
*/
boolean isAppLocaleRTL();
};
|