Intl.Locale.prototype.collation
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
La propriété Intl.Locale.prototype.collation
est une propriété (à laquelle on accède via un accesseur) qui renvoie le type de collation pour l'instance de Locale
courante. La collation est la méthode qui permet d'ordonner des chaînes de caractères en fonction des règles de la locale.
Description
La collation est la façon dont les chaînes de caractères sont ordonnées. Elle est utilisée lorsqu'on doit trier des chaînes de caractères (des résultats de recherche, des enregistrements dans une base de donnée, etc.). Bien que cela puisse sembler trivial, la collation varie d'une région à l'autre et d'une langue à une autre. Cette propriété permet aux développeurs de connaître le type de collation pour une locale donnée.
Voici un tableau listant les types de collation possibles tels que définis dans la spécification Unicode sur la collation.
Type de collation | Description |
---|---|
big5han |
Ordre pinyin pour l'alphabet latin et ordre big5 pour les caractères CJK (utilisés en chinois) |
compat |
Une version précédente de l'ordre, utilisée à des fins de compatibilité |
dict |
Ordre à la façon d'un dictionnaire (comme utilisé en cingalais) |
Attention : Le type
|
Ordre des points de code binaires (utilisé en hindoux) |
ducet |
La collation Unicode par défaut pour les éléments d'un tableau |
emoji |
L'ordre recommandé pour les émojis |
eor |
Règles d'ordre européennes |
gb2312 |
Ordre pinyin pour l'alphabet latin et ordre gb2312han pour les caractères CJK (utilisés en chinois) |
phonebk |
Ordre à la façon d'un annuaire (tel qu'en allemand) |
phonetic |
Ordre phonétique, basé sur la prononciation |
pinyin |
Ordre pinyin pour les caractères de l'alphabet latin et les caractères CJK (utilisés en chniois) |
reformed |
Ordre réformé (tel qu'en suédois) |
search |
Collation spéciale pour les chaînes de caractères utilisées pour des recherches |
searchjl |
Collation spéciale pour la recherche des consonnes initiales en coréen |
standard |
L'ordre par défaut pour chaque langue |
stroke |
Ordre pinyin pour l'alphabet latin et ordre de dessin (stroke) pour les caractères CJK (utilisés en chinois) |
trad |
Ordre traditionnel (tel qu'en espagnol) |
unihan |
Ordre pinyin pour l'alphabet latin et ordre Unihan radical pour les caractères CJK (utilisés en chinois) |
zhuyin |
Ordre pinyin pour l'alphabet latin, ordre zhuyin pour les caractères Bopomofo et CJK (utilisés en chinois) |
Exemples
À l'instar des autres étiquettes, le type de collation peut être défini pour l'objet Intl.Locale
via la chaîne de caractères qui définit la locale ou grâce au deuxième paramètre du constructeur qui est un objet de configuration.
Définir le type de collation via la chaîne décrivant la locale
Le premier argument passé à Intl.Locale
est une chaîne de caractères qui décrit la locale. Cette chaîne peut contenir des fragments additionnels (en plus de l'identifiant canonique de la locale). Pour cela, on ajoutera -u
afin d'indiquer qu'on définit une extension. On ajoutera ensuite la clé identifiant cette extension, ici -co
pour la collation. Enfin, on ajoutera la valeur souhaitée pour cette extension (dans cet exemple, -emoji
) :
let stringColl = new Intl.Locale("en-Latn-US-u-co-emoji");
console.log(stringColl.collation); // Affichera "emoji" dans la console
Définir le type de collation via l'objet de configuration
Le constructeur Intl.Locale
possède un deuxième argument optionnel qui est un objet de configuration. Chaque propriété de cet objet pourra permettre de préciser une extension à la locale, y compris un type de collation. Pour définir le type de collation, on pourra utiliser une propriété collation
sur cet objet avec une des valeurs indiquées ci-avant :
let configColl = new Intl.Locale("en-Latn-US", { collation: "emoji" });
console.log(configColl.collation); // Affichera "emoji" dans la console
Spécifications
Specification |
---|
ECMAScript Internationalization API Specification # sec-Intl.Locale.prototype.collation |
Compatibilité des navigateurs
BCD tables only load in the browser