Thanks to visit codestin.com
Credit goes to developer.mozilla.org

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

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.

* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.

L'objet Intl.Locale est une propriété native de l'objet Intl représentant l'identifiant d'une locale Unicode.

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"

Description

L'objet Intl.Locale a été créé pour permettre une manipulation plus facile des locales Unicode. Unicode représente les locales par une chaîne de caractères, appelée identifiant de locale. L'identifiant de locale se compose d'un identifiant de langue et de balises d'extension. Les identifiants de langue sont le cœur de la locale, comprenant les sous-étiquettes langue, script, région et variantes. Les informations supplémentaires sur la locale sont stockées dans les balises d'extension facultatives. Les balises d'extension contiennent des informations sur des aspects de la locale tels que le type de calendrier, le type d'horloge et le type de système de numérotation.

Traditionnellement, l'API Intl utilisait des chaînes de caractères pour représenter les locales, tout comme Unicode. C'est une solution simple et légère qui fonctionne bien. L'ajout d'une classe Locale facilite cependant l'analyse et la manipulation de la langue, du script et de la région, ainsi que des balises d'extension. Les propriétés suivantes de Intl.Locale correspondent aux sous-étiquettes de l'identifiant de locale Unicode :

Propriété Sous-étiquette correspondante
language Identifiant de langue, première partie
script Identifiant de langue, partie après language
region Identifiant de langue, partie après script
variants Identifiant de langue, partie après region
calendar ca (extension)
caseFirst kf (extension)
collation co (extension)
hourCycle hc (extension)
numberingSystem nu (extension)
numeric kn (extension)

Les informations ci-dessus sont fournies telles quelles lors de la construction de l'objet Locale, sans consulter de base de données externe. L'objet Intl.Locale fournit également certaines méthodes qui retournent des informations sur les informations réelles de la locale, telles que les calendriers, les collations et les systèmes de numérotation disponibles.

Constructeur

Intl.Locale()

Crée un nouvel objet Locale.

Propriétés d'instance

Ces propriétés sont définies sur Intl.Locale.prototype et partagées par toutes les instances de Intl.Locale.

Intl.Locale.prototype.baseName

Retourne les informations de base et principales sur la Locale sous forme d'une sous-chaîne de la chaîne de données complète.

Intl.Locale.prototype.calendar

Retourne la partie de la Locale qui indique l'ère du calendrier de la locale.

Intl.Locale.prototype.caseFirst

Retourne si la casse est prise en compte pour les règles de collation de la locale.

Intl.Locale.prototype.collation

Retourne le type de collation pour la Locale, utilisé pour ordonner les chaînes selon les règles de la locale.

Intl.Locale.prototype.constructor

La fonction constructeur qui a créé l'objet instance. Pour les instances Intl.Locale, la valeur initiale est le constructeur Intl.Locale.

Intl.Locale.prototype.hourCycle

Retourne la convention de format de l'heure utilisée par la locale.

Intl.Locale.prototype.language

Retourne la langue associée à la locale.

Intl.Locale.prototype.numberingSystem

Retourne le système de numérotation utilisé par la locale.

Intl.Locale.prototype.numeric

Retourne si la locale a un traitement spécial de la collation pour les caractères numériques.

Intl.Locale.prototype.region

Retourne la région du monde (généralement un pays) associée à la locale.

Intl.Locale.prototype.script

Retourne l'écriture utilisée pour écrire la langue particulière utilisée dans la locale.

Intl.Locale.prototype.variants

Retourne les sous-tags de variantes (tels que différentes orthographes) associés à la locale.

Intl.Locale.prototype[Symbol.toStringTag]

La valeur initiale de la propriété [Symbol.toStringTag] est la chaîne de caractères "Intl.Locale". Cette propriété est utilisée dans Object.prototype.toString().

Méthodes d'instance

Intl.Locale.prototype.getCalendars()

Retourne un tableau (Array) des identifiants de calendrier disponibles, selon les règles de la locale.

Intl.Locale.prototype.getCollations()

Retourne un tableau (Array) des types de collation pour la Locale.

Intl.Locale.prototype.getHourCycles()

Retourne un tableau (Array) des identifiants de cycle horaire, indiquant soit l'horloge de 12 heures ("h12"), l'horloge japonaise de 12 heures ("h11"), l'horloge de 24 heures ("h23"), ou le format inutilisé "h24".

Intl.Locale.prototype.getNumberingSystems()

Retourne un tableau (Array) des identifiants de système de numérotation disponibles selon les règles de la locale.

Intl.Locale.prototype.getTextInfo()

Retourne la partie indiquant l'ordre des caractères ltr (de gauche à droite) ou rtl (de droite à gauche).

Intl.Locale.prototype.getTimeZones()

Retourne un tableau (Array) des identifiants de fuseau horaire, associés à la Locale.

Intl.Locale.prototype.getWeekInfo()

Retourne les éléments de semaine de l'UTS 35 (angl.) selon les règles de la locale.

Intl.Locale.prototype.maximize()

Retourne les valeurs les plus probables pour la langue, le script et la région de la locale en fonction des valeurs existantes.

Intl.Locale.prototype.minimize()

Tente de supprimer les informations sur la locale qui seraient ajoutées en appelant maximize().

Intl.Locale.prototype.toString()

Retourne la chaîne de caractères de l'identifiant complet de la locale.

Exemples

Utilisation simple

Dans sa forme la plus simple, le constructeur Intl.Locale() prend une chaîne d'identifiant de locale comme argument :

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

Utiliser le constructeur Locale avec un objet d'options

Le constructeur accepte également un argument optionnel sous forme d'objet de configuration, qui peut contenir plusieurs types d'extensions. Par exemple, définissez la propriété hourCycle de l'objet de configuration sur le type de cycle horaire souhaité, puis passez-le au constructeur :

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

Spécifications

Spécification
ECMAScript® 2027 Internationalization API Specification
# locale-objects

Compatibilité des navigateurs

Voir aussi