mozilla
Vos résultats de recherche

    Intl

    L'objet Intl est utilisé comme point d'entrée pour l'API d'internationalisation d'ECMAScript. Cet objet a pour but de fournir des opérations dédiées à chaque langage pour la comparaison de chaînes de caractères, le formatage des nombres, des dates et de l'heure. Les constructeurs Collator, NumberFormat, et DateTimeFormat sont des propriétés de l'objet Intl. Cette page documente ces propriétés ainsi que les fonctionnalités liées à ces constructeurs dans le cadre de l'internationalisation et des opérations dédiées à chaque langue.

    Propriétés

    Intl.Collator
    Le constructeur de collecteurs (collators en anglais), des objets qui permettent de comparer des chaînes de caractères en prenant en compte la langue utilisée.
    Intl.DateTimeFormat
    Le constructeur des objets qui permettent de gérer les formats de dates et heure en prenant en compte la locale.
    Intl.NumberFormat
    Le constructeur des objets qui permettent de gérer les formats des nombres en prenant en compte la locale.

    L'identification et le choix de la locale

    Les constructeurs liés à l'internationalisation ainsi que d'autres méthodes (voir ci-après les liens du dernier paragraphe) utilisent une manière commune pour identifier les locales et déterminer celle qu'ils utiliseront. Ils acceptent tous les arguments locales et options et choisissent (ou négocient) entre les locales demandées et les locales supportées en utilisant un algorithme défini grâce à la propriété options.localeMatcher.

    L'argument locales

    L'argument locales peut être une chaîne de caractères avec une balise de langue BCP 47, ou un tableau contenant de telles chaînes. Si l'argument est omis ou est undefined, ce sera la locale définie à l'exécution qui sera utilisée.

    Une balise de langue BCP 47 identifie une locale. Les formes les plus fréquentes sont composées (dans l'ordre) : d'un code de langue, d'un code de script et d'un code de pays, chacun séparé par des tirets. Par exemple, on aura :

    • "hi" : Hindi.
    • "de-AT" : Allemand autrichien (« de » provient de « Deutsch »).
    • "zh-Hans-CN" : Le chinois écrit (zh) avec des caractères simplifiés (Hans), de la façon dont il est utilisé en Chine (CN).

    Les composantes de langues, scripts, pays et variantes dans les balises BCP 47 sont définies dans le registre IANA des composantes des balises de langues

    BCP 47 permet également d'utiliser des extensions et notamment l'extension "u" (Unicode). Elle peut être utilisée pour spécifier un comportement adapté à la locale. Par exemple :

    • "de-DE-u-co-phonebk" : On utilise la variante allemande pour l'annuaire qui décompose les lettres accentuées par un umlaut en une paire de caractères : ä → ae, ö → oe, ü → ue.
    • "th-TH-u-nu-thai" : On utilise les chiffres Thai (๐, ๑, ๒, ๓, ๔, ๕, ๖, ๗, ๘, ๙) pour le formatage des nombres.
    • "ja-JP-u-ca-japanese" : On utilise le calendrier japonais pour représenter les dates et les heures, 2013 est donc exprimé comme l'an 25 de la période Heisei : 平成25.

    Choix de la locale

    L'argument locales, une fois qu'on a retiré les extensions Unicode, est interprété comme une requête prioritaire de l'application. L'environnement d'exécution le compare avec les locales disponibles et choisit la meilleure. Il existe deux algorithmes de correspondance : une correspondance basée sur un algorithme de recherche défini avec BCP 47 ou une correspondance « au mieux » qui permet à l'environnement d'exécution de fournir une locale potentiellement différente et au moins aussi adaptée (voire meilleure) que celle proposée par l'algorithme précédent. Si l'application ne fournit pas d'argument locales ou que l'environnement ne dispose pas d'une locale correspondant à la requête, la locale par défaut de l'environnement sera utilisée. Il est possible d'indiquer l'algorithme de correspondance à utiliser grâce à l'argument options (voir ci-après).

    Si la balise de langue utilisée comportait une extension Unicode, on utilisera cette extension pour adapter l'objet construit ou le comportement de la fonction. Chaque constructeur ou fonction ne supporte qu'un sous-ensemble des clés possibles pour les extensions. Les extensions supportées dépendent souvent de la locale choisie. Ainsi la clé "co" (pour collation) n'est supportée que par le constructeur Collator, et la valeur "phonebk" de cette clé n'est supportée que pour l'allemand.

    L'argument options

    L'argument options est un objet dont les propriétés attendues seront différentes entre les constructeurs ou fonctions avec lesquels on veut l'utiliser. Si l'argument options n'est pas fourni, les valeurs par défaut des propriétés attendues seront utilisées.

    Malgré cela, il existe une propriété commune aux constructeurs et fonctions basées sur les locales. La propriété localeMatcher, dont la valeur doit être la chaîne de caractères "lookup" ou "best fit" permet de choisir entre les algorithmes présentés précédemment  ("lookup" correspond au premier algorithme de recherche BCP 47 et "best fit" correspond à l'algorithme donnant plus de latitude à l'environnement).

    Spécifications

    Spécification Statut Commentaires
    ECMAScript Internationalization API 1.0 (ECMA-402)
    La définition de 'Intl' dans cette spécification.
    Standard Définition initiale.

    Compatibilité des navigateurs


     
    Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
    Support simple 24 29 (29) 11 15 Non implémenté (voir WebKit bug 90906)
    Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
    Support simple Pas de support 26 Pas de support
    bug 864843
    Pas de support Pas de support Pas de support

    Voir aussi

    Étiquettes et contributeurs liés au document

    Contributors to this page: Goofy, SphinxKnight
    Dernière mise à jour par : SphinxKnight,