L'objet Intl.ListFormat
est un constructeur d'objets qui permettent de formater des listes de façon différente selon la langue utilisée.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
Syntax
new Intl.ListFormat([locales[, options]])
Paramètres
locales
Facultatif-
Paramètre optionnel. Une chaine de caractères avec un identifiant de langue BCP 47, ou un tableau de ce type de chaine de caractères. Pour le format général et l'interprétation de l'argument
locales
, voir la pageIntl
. options
Facultatif-
Paramètre optionnel. Un objet avec certaines ou toutes les propriétés suivantes :
localeMatcher
- L'algorithme de correspondance à utiliser pour la locale. Les valeurs possibles sont
"lookup"
et"best fit"
; le défaut est"best fit"
. Pour des informations sur cette option, voir la pageIntl
. type
- Le format de sortie pour le message. Les valeurs possibles sont :
"conjunction"
: qui concaténera les éléments de la liste avec des et. Cela produira par exemple, en anglais :A, B, and C
"disjunction"
: qui concaténera les éléments de la liste avec des ou. Cela produira par exemple, en anglais :A, B, or C
"unit"
: qui permet de gérer des listes de valeurs avec des unités. Cela produira par exemple5 livres, 12 onces
style
- Le niveau de concision/longueur du message obtenu. Les valeurs possibles sont :
"long"
: par exempleA, B, and C
"narrow"
: cette valeur permet uniquement d'utiliser le typeunit
et affichera un message concis : par exempleA, B, C
"short"
: par exempleA, B, C
Description
Propriétés
Intl.ListFormat.prototype
- Cette propriété permet d'ajouter des propriétés à l'ensemble des objets de ce type.
Méthodes
Intl.ListFormat.supportedLocalesOf()
- Cette méthode renvoie un tableau des locales prises en charge par le moteur pour le formatage des heures sans qu'il y ait besoin d'utiliser la locale de l'environnement d'exécution.
Instances de Intl.ListFormat
Toutes les instances de Intl.ListFormat
héritent de Intl.ListFormat.prototype
.
Propriétés
Intl.ListFormat.prototype.constructor
- Définit la fonction qui crée le prototype d'un objet.
Méthodes
Intl.ListFormat.prototype.format()
- Renvoie une chaîne de caractères mise en forme selon la langue voulue et qui représente les éléments de la liste.
Exemples
Utiliser format()
Dans l'exemple qui suit, on voit comment créer un formateur de liste pour l'anglais.
const list = ['Motorcycle', 'Bus', 'Car']; console.log(new Intl.ListFormat('en-GB', { style: 'long', type: 'conjunction' }).format(list)); // > Motorcycle, Bus and Car console.log(new Intl.ListFormat('en-GB', { style: 'short', type: 'disjunction' }).format(list)); // > Motorcycle, Bus or Car console.log(new Intl.ListFormat('en-GB', { style: 'narrow', type: 'unit' }).format(list)); // > Motorcycle Bus Car
Utiliser formatToParts()
Dans l'exemple qui suit, on voit comment créer un formateur de liste, renvoyant les fragments, pour l'anglais
const list = ['Motorcycle', 'Bus', 'Car']; console.log(new Intl.ListFormat('en-GB', { style: 'long', type: 'conjunction' }).formatToParts(list)); // > [ { "type": "element", "value": "Motorcycle" }, { "type": "literal", "value": ", " }, { "type": "element", "value": "Bus" }, { "type": "literal", "value": ", and " }, { "type": "element", "value": "Car" } ];
Spécifications
Spécification | État | Commentaires |
---|---|---|
Proposition pour Intl.ListFormat |
Proposition de niveau 3 |
Compatibilité des navigateurs
Ordinateur | Mobile | Serveur | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ListFormat | Chrome Support complet 72 | Edge Aucun support Non | Firefox Aucun support Non | IE Aucun support Non | Opera Support complet 60 | Safari Aucun support Non | WebView Android Support complet 72 | Chrome Android Support complet 72 | Firefox Android Aucun support Non | Opera Android ? | Safari iOS Aucun support Non | Samsung Internet Android Aucun support Non | nodejs Aucun support Non |
format | Chrome Support complet 72 | Edge Aucun support Non | Firefox Aucun support Non | IE Aucun support Non | Opera Support complet 60 | Safari Aucun support Non | WebView Android Support complet 72 | Chrome Android Support complet 72 | Firefox Android Aucun support Non | Opera Android ? | Safari iOS Aucun support Non | Samsung Internet Android Aucun support Non | nodejs Aucun support Non |
formatToParts | Chrome Support complet 72 | Edge Aucun support Non | Firefox Aucun support Non | IE Aucun support Non | Opera Support complet 60 | Safari Aucun support Non | WebView Android Support complet 72 | Chrome Android Support complet 72 | Firefox Android Aucun support Non | Opera Android ? | Safari iOS Aucun support Non | Samsung Internet Android Aucun support Non | nodejs Aucun support Non |
prototype | Chrome Support complet 72 | Edge Aucun support Non | Firefox Aucun support Non | IE Aucun support Non | Opera Support complet 60 | Safari Aucun support Non | WebView Android Support complet 72 | Chrome Android Support complet 72 | Firefox Android Aucun support Non | Opera Android ? | Safari iOS Aucun support Non | Samsung Internet Android Aucun support Non | nodejs Aucun support Non |
resolvedOptions | Chrome Support complet 72 | Edge Aucun support Non | Firefox Aucun support Non | IE Aucun support Non | Opera Support complet 60 | Safari Aucun support Non | WebView Android Support complet 72 | Chrome Android Support complet 72 | Firefox Android Aucun support Non | Opera Android ? | Safari iOS Aucun support Non | Samsung Internet Android Aucun support Non | nodejs Aucun support Non |
supportedLocalesOf | Chrome Support complet 72 | Edge Aucun support Non | Firefox Aucun support Non | IE Aucun support Non | Opera Support complet 60 | Safari Aucun support Non | WebView Android Support complet 72 | Chrome Android Support complet 72 | Firefox Android Aucun support Non | Opera Android ? | Safari iOS Aucun support Non | Samsung Internet Android Aucun support Non | nodejs Aucun support Non |
Légende
- Support complet
- Support complet
- Aucun support
- Aucun support
- Compatibilité inconnue
- Compatibilité inconnue
- Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
- Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Voir aussi
- Introduction : 'The ECMAScript Internationalisation API
- Constructeurs
- Méthodes