Ce face Intl.getCanonicalLocales / supportedValuesOf
Intl.getCanonicalLocales aduce codurile de limbă la forma standard ("RO-ro" → "ro-RO"), elimină duplicatele și aruncă RangeError pentru coduri invalide.
Intl.supportedValuesOf(cheie) returnează tabloul valorilor suportate de mediul curent pentru "calendar", "collation", "currency", "numberingSystem", "timeZone" sau "unit". Este util pentru liste de selecție (de exemplu toate fusurile orare).
Parametri
| Parametru | Descriere |
|---|---|
coduri |
Un cod de limbă sau un tablou de coduri. |
cheie |
Tipul de valori listate. |
Ce returnează
Un tablou de texte.
Exemple
Exemplul 1: Coduri corectate și valori disponibile
console.log(Intl.getCanonicalLocales(["RO-ro", "en-us", "ro-RO"]));
try {
Intl.getCanonicalLocales("română");
} catch (e) {
console.log(e.name);
}
const fusuri = Intl.supportedValuesOf("timeZone");
console.log(fusuri.filter((f) => f.startsWith("Europe/B")));
console.log(Intl.supportedValuesOf("currency").includes("RON"), Intl.supportedValuesOf("unit").slice(0, 4));
Rezultat
[ 'ro-RO', 'en-US' ]
RangeError
[
'Europe/Belgrade',
'Europe/Berlin',
'Europe/Bratislava',
'Europe/Brussels',
'Europe/Bucharest',
'Europe/Budapest',
'Europe/Busingen'
]
true [ 'acre', 'bit', 'byte', 'celsius' ]
Greșeli frecvente
- Construiești o listă fixă de fusuri orare în cod. Lista se schimbă în timp; citește-o cu
Intl.supportedValuesOf("timeZone").
Comenzi înrudite
Intl.Locale: Descrie o limbă și o regiune (ro-RO) și oferă informații despre ea: calendar, prima zi a săptămânii, fusuri orare.Intl.DisplayNames: Traduce coduri de țări, limbi, monede și scripturi în nume afișabile: „DE” → „Germania”.Intl.DateTimeFormat: Un formator de date și ore după regulile unei limbi, refolosibil pentru multe date.