Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Constructeur Intl.Locale()

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2020.

Le constructeur Intl.Locale() crée des objets Intl.Locale.

Exemple interactif

const korean = new Intl.Locale("ko", {
  script: "Kore",
  region: "KR",
  hourCycle: "h23",
  calendar: "gregory",
});

const japanese = new Intl.Locale("ja-Jpan-JP-u-ca-japanese-hc-h12");

console.log(korean.baseName, japanese.baseName);
// Résultat attendu : "ko-Kore-KR" "ja-Jpan-JP"

console.log(korean.hourCycle, japanese.hourCycle);
// Résultat attendu : "h23" "h12"

Syntaxe

js
new Intl.Locale(tag)
new Intl.Locale(tag, options)

Note : Intl.Locale() ne peut être construit qu'avec new. Tenter de l'appeler sans new génère une TypeError.

Paramètres

tag

La chaîne de caractères identifiant la locale Unicode. Pour la syntaxe des chaînes de caractères d'identifiant de locale, voir la page principale d'Intl. Notez que le constructeur Intl.Locale, contrairement à la plupart des autres constructeurs Intl, n'accepte pas un tableau de locales ni undefined.

options

Un objet contenant la configuration pour la locale. Les valeurs des options ici prennent le pas sur les clés d'extension dans l'identifiant de la locale. Les propriétés possibles sont :

language

La langue. Toute chaîne de caractères syntaxiquement valide suivant la grammaire unicode_language_subtag (angl.) (2 à 3 ou 5 à 8 lettres) est acceptée, mais l'implémentation ne reconnaît que certains types.

script

Le script. Toute chaîne de caractères syntaxiquement valide suivant la grammaire unicode_script_subtag (angl.) (4 lettres) est acceptée, mais l'implémentation ne reconnaît que certains types.

region

La région. Toute chaîne de caractères syntaxiquement valide suivant la grammaire unicode_region_subtag (angl.) (soit 2 lettres, soit 3 chiffres) est acceptée, mais l'implémentation ne reconnaît que certains types.

variants

Les variantes. Il s'agit d'une liste de balises de variantes uniques séparées par des tirets (-), où chaque balise est une chaîne de caractères syntaxiquement valide suivant la grammaire unicode_variant_subtag (angl.) (soit 5 à 8 caractères alphanumériques, soit un chiffre suivi de 3 caractères alphanumériques), mais l'implémentation ne reconnaît que certains types.

calendar

Le calendrier. Toute chaîne de caractères syntaxiquement valide suivant la grammaire type (angl.) (un ou plusieurs segments de 3 à 8 caractères alphanumériques, séparés par des tirets) est acceptée, mais l'implémentation ne reconnaît que certains types, qui sont listés dans Intl.supportedValuesOf().

collation

La collation. Toute chaîne de caractères syntaxiquement valide suivant la grammaire type (angl.) est acceptée, mais l'implémentation ne reconnaît que certains types, qui sont listés dans Intl.supportedValuesOf().

numberingSystem

Le système de numération. Toute chaîne de caractères syntaxiquement valide suivant la grammaire type (angl.) est acceptée, mais l'implémentation ne reconnaît que certains types, qui sont listés dans Intl.supportedValuesOf().

caseFirst

L'option de tri de case en premier. Les valeurs possibles sont "upper", "lower" ou "false".

hourCycle

Le cycle horaire. Les valeurs possibles sont "h23", "h12", "h11", ou le "h24" pratiquement inutilisé, qui sont expliqués dans Intl.Locale.prototype.getHourCycles.

numeric

L'option de tri numérique. Un booléen.

Exemples

Usage simple

Sous sa forme la plus simple, le constructeur Intl.Locale() prend comme argument une chaîne de caractères représentant un identifiant de locale :

js
const us = new Intl.Locale("en-US");

Utiliser le constructeur Locale avec un objet options

Le constructeur prend un deuxième argument qui permet de configurer la locale et d'indiquer plusieurs types d'extensions. Ainsi, la propriété hourCycle utilisée sur l'objet de configuration permettra d'indiquer le type de cycle horaire souhaité :

js
const locale = new Intl.Locale("en-US", { hourCycle: "h12" });
console.log(locale.hourCycle); // "h12"

Spécifications

Spécification
ECMAScript® 2027 Internationalization API Specification
# sec-intl-locale-constructor

Compatibilité des navigateurs

Voir aussi