aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/global_objects/intl
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/web/javascript/reference/global_objects/intl')
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/collator/compare/index.html103
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/collator/index.html179
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/collator/resolvedoptions/index.html99
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/collator/supportedlocalesof/index.html99
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/datetimeformat/format/index.html127
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formatrange/index.html83
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formatrangetoparts/index.html74
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html167
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/datetimeformat/index.html298
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/datetimeformat/resolvedoptions/index.html106
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/datetimeformat/supportedlocalesof/index.html99
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html74
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/index.html164
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/listformat/format/index.html69
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/listformat/formattoparts/index.html91
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/listformat/index.html154
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/listformat/resolvedoptions/index.html83
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/listformat/supportedlocalesof/index.html89
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/basename/index.html76
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/calendar/index.html157
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/casefirst/index.html95
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/collation/index.html168
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/hourcycle/index.html96
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/index.html75
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/language/index.html70
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/maximize/index.html79
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/minimize/index.html81
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/numberingsystem/index.html426
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/numeric/index.html70
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/region/index.html72
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/script/index.html69
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/locale/tostring/index.html70
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/numberformat/format/index.html98
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/numberformat/formattoparts/index.html153
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/numberformat/index.html204
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/numberformat/resolvedoptions/index.html113
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/numberformat/supportedlocalesof/index.html99
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/pluralrules/index.html161
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/pluralrules/resolvedoptions/index.html96
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/pluralrules/select/index.html80
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/pluralrules/supportedlocalesof/index.html85
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/format/index.html104
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/formattoparts/index.html87
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/index.html163
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/resolvedoptions/index.html102
-rw-r--r--files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/supportedlocalesof/index.html89
46 files changed, 5396 insertions, 0 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/intl/collator/compare/index.html b/files/fr/web/javascript/reference/global_objects/intl/collator/compare/index.html
new file mode 100644
index 0000000000..fc52e74a28
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/collator/compare/index.html
@@ -0,0 +1,103 @@
+---
+title: Intl.Collator.prototype.compare
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare
+tags:
+ - Collator
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - Prototype
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Collator/compare
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <code><strong>Intl.Collator.prototype.compare()</strong></code> compare deux chaînes de caractères en tenant compte des options spécifiées pour la locale et l'ordre de tri dans l'objet {{jsxref("Collator")}}.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-collator-prototype-compare.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">collator.compare(chaine1, chaine2)</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>chaine1</code></dt>
+ <dt><code>chaine2</code></dt>
+ <dd>Les chaînes de caractères à comparer.</dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<p>L'accesseur <code>compare</code> renvoie un nombre qui indique le résultat de la comparaison entre <code>chaine1</code> et <code>chaine2</code> selon l'ordre de tri de l'objet {{jsxref("Collator")}} : la valeur obtenue sera négative si <code>chaine1</code> précède <code>chaine2</code>, positive si <code>chaine1</code> succède à <code>chaine2</code>, nulle si les deux chaînes sont considérées égales.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utiliser_compare_pour_trier_un_tableau">Utiliser <code>compare()</code> pour trier un tableau</h3>
+
+<p>Dans cet exemple, on utilise la fonction de l'accesseur <code>compare</code> pour trier des tableaux. On observe que la fonction est liée à l'objet <code>Collator</code>, on peut donc directement la passer à la méthode {{jsxref("Array.prototype.sort()")}}.</p>
+
+<pre class="brush: js">var a = ["Offenbach", "Österreich", "Odenwald"];
+var collator = new Intl.Collator("de-u-co-phonebk");
+a.sort(collator.compare);
+console.log(a.join(", "));
+// → "Odenwald, Österreich, Offenbach"</pre>
+
+<h3 id="Utiliser_compare_pour_chercher_dans_un_tableau">Utiliser <code>compare()</code> pour chercher dans un tableau</h3>
+
+<p>Ici, on utilise la fonction de l'accesseur <code>compare</code> pour trouver les chaînes égales à une chaîne donnée parmi un tableau :</p>
+
+<pre class="brush: js">var a = ["Congrès", "congres", "Assemblée", "poisson"];
+var collator = new Intl.Collator("fr", {usage: "search", sensitivity: "base"});
+var s = "congres";
+var matches = a.filter(function (v) {
+ return collator.compare(v, s) === 0;
+});
+console.log(matches.join(", "));
+// → "Congrès, congres"</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-10.3.2', 'Intl.Collator.prototype.compare')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-10.3.2', 'Intl.Collator.prototype.compare')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-Intl.Collator.prototype.compare', 'Intl.Collator.prototype.compare')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.Collator.compare")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Collator", "Intl.Collator")}}</li>
+ <li>{{jsxref("String.prototype.localeCompare()")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/collator/index.html b/files/fr/web/javascript/reference/global_objects/intl/collator/index.html
new file mode 100644
index 0000000000..41b0ba44b2
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/collator/index.html
@@ -0,0 +1,179 @@
+---
+title: Intl.Collator
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator
+tags:
+ - Collator
+ - Constructeur
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Collator
+---
+<div>{{JSRef}}</div>
+
+<p>L'objet <strong><code>Intl.Collator</code></strong> est un constructeur de « collecteurs », des objets permettant de comparer des chaînes de caractères en tenant compte de la locale.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-collator.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">new Intl.Collator([<em>locales</em> [, <em>options</em>]])</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code></dt>
+ <dd>
+ <p>Une chaîne de caractères avec une balise de langue BCP 47 ou un tableau qui contient des chaînes dans ce format. Pour plus d'informations sur le format et l'interprétation de l'argument <code>locales</code>, voir la page {{jsxref("Objets_globaux/Intl", "Intl", "#Choix_de_la_locale")}}. Pour ce constructeur, les clés d'extensions Unicode suivantes sont acceptées :</p>
+
+ <dl>
+ <dt><code>co</code></dt>
+ <dd>Les variantes dans les méthodes de regroupement (« collation ») des chaînes de caractères. Les valeurs autorisées pour cette clé sont : <code>"big5han", "dict", "direct", "ducet", "gb2312", "phonebk", "phonetic", "pinyin", "reformed", "searchjl", "stroke", "trad", "unihan"</code>. Les valeurs <code>"standard"</code> et <code>"search"</code> sont ignorées. Elles sont remplacées par la propriété <code>usage</code> de l'argument <code>options</code> (voir ci-après).</dd>
+ <dt><code>kn</code></dt>
+ <dd>Indique si on ordonne les nombres (par exemple : "1" &lt; "2" &lt; "10"). Les valeurs possibles sont <code>"true"</code> et <code>"false"</code>. Cette option est également disponible via une propriété de l'objet <code>options</code>. Si l'extension Unicode et la propriété de l'objet <code>options</code> sont définies, ce sera cette dernière qui sera prise en compte.</dd>
+ <dt><code>kf</code></dt>
+ <dd>Indique si on ordonne les majuscules avant les minuscules ou l'inverse. Les valeurs possibles sont <code>"upper"</code>, <code>"lower"</code>, ou <code>"false"</code> (on utilise alors l'ordre par défaut de la locale). Cette option est également disponible via une propriété de l'objet <code>options</code>. Si l'extension Unicode et la propriété de l'objet <code>options</code> sont définies, ce sera cette dernière qui sera prise en compte.</dd>
+ </dl>
+ </dd>
+ <dt><code>options</code></dt>
+ <dd>
+ <p>Un objet qui disposent des propriétés suivantes :</p>
+
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>L'algorithme de correspondance à utiliser pour les locales. Les valeurs possibles sont <code>"lookup"</code> et <code>"best fit"</code>. La valeur par défaut est "best fit". Voir la {{jsxref("Objets_globaux/Intl", "Intl", "#Choix_de_la_locale")}} pour plus d'informations à ce sujet.</dd>
+ <dt><code>usage</code></dt>
+ <dd>Indique l'usage de le comparaison : le tri ou la recherche de chaînes correspondantes. Les valeurs possibles sont "sort" pour le tri et "search" pour la recherche. La valeur par défaut est "sort".</dd>
+ <dt><code>sensitivity</code></dt>
+ <dd>Indique les différences entre les chaînes de caractères qui font qu'une chaîne est considérée différente d'une autre. Les valeurs possibles sont :
+ <ul>
+ <li><code>"base"</code> : Seules les chaînes dont les lettres de base sont différentes sont considérées inégales. Par exemple : a ≠ b, a = á, a = A.</li>
+ <li><code>"accent"</code> : Seules les chaînes de caractères dont les lettres de bases ou les accents ou les autres marques diacritiques diffèrent sont considérées inégales. Par exemple : a ≠ b, a ≠ á, a = A.</li>
+ <li><code>"case"</code> : Seules les chaines dont les lettres de base ou la casse sont diffèrent sont considérées comme inégales. Par exemple : a ≠ b, a = á, a ≠ A.</li>
+ <li><code>"variant"</code> : Les chaînes qui diffèrent par leurs caractères de base, leurs accents et autres marques diacritiques, la casse sont considérées comme inégales. D'autres différences peuvent également être prises en compte. Par exemple : a ≠ b, a ≠ á, a ≠ A.</li>
+ </ul>
+
+ <p>La valeur par défaut est <code>"variant"</code> si on utilise la comparaison pour du tri (usage=<code>"sort"</code>). Pour l'utilisation <code>"search"</code> (recherche), la valeur par défaut dépend de la locale.</p>
+ </dd>
+ <dt><code>ignorePunctuation</code></dt>
+ <dd>Indique si la ponctuation doit être ignorée. Les valeurs possibles sont <code>true</code> et <code>false</code>. La valeur par défaut est <code>false</code>.</dd>
+ <dt><code>numeric</code></dt>
+ <dd>Indique si on ordonne les nombres (par exemple : "1" &lt; "2" &lt; "10"). Les valeurs possibles sont <code>true</code> et <code>false</code>. La valeur par défaut est <code>false</code>. Si l'extension Unicode correspondante et la propriété de l'objet <code>options</code> sont définies, ce sera cette dernière qui sera prise en compte.</dd>
+ <dt><code>caseFirst</code></dt>
+ <dd>Indique si on ordonne les majuscules avant les minuscules ou l'inverse. Les valeurs possibles sont <code>"upper"</code>, <code>"lower"</code>, ou <code>"false"</code> (on utilise alors l'ordre par défaut de la locale), la valeur par défaut est <code>"false"</code>. Si l'extension Unicode correspondante et la propriété de l'objet <code>options</code> sont définies, ce sera cette dernière qui sera prise en compte.</dd>
+ </dl>
+ </dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<p>L'objet <code>Intl.Collator</code> possède les propriétés et méthodes suivantes :</p>
+
+<h3 id="Propriétés">Propriétés</h3>
+
+<dl>
+ <dt>{{jsxref("Collator.prototype", "Intl.Collator.prototype")}}</dt>
+ <dd>Permet d'ajouter des propriétés à toutes les instances.</dd>
+</dl>
+
+<h3 id="Méthodes">Méthodes</h3>
+
+<dl>
+ <dt>{{jsxref("Collator.supportedLocalesOf", "Intl.Collator.supportedLocalesOf()")}}</dt>
+ <dd>Renvoie un tableau qui contient les locales supportées pour lesquelles il n'est pas nécessaire de revenir à la locale par défaut de l'environnement.</dd>
+</dl>
+
+<h2 id="Instances_de_Collator">Instances de <code>Collator</code></h2>
+
+<h3 id="Propriétés_2">Propriétés</h3>
+
+<p>Les instances de <code>Collator</code> héritent des propriétés suivantes grâce à leur prototype :</p>
+
+<div>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Collator/prototype','Propriétés')}}</div>
+
+<h3 id="Méthodes_2">Méthodes</h3>
+
+<div>
+<p>Les instances de <code>Collator</code> héritent des méthodes suivantes grâce à leur prototype :</p>
+{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Collator/prototype','Méthodes')}}</div>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utiliser_Collator">Utiliser <code>Collator</code></h3>
+
+<p>L'exemple qui suit illustre les différents résultats qu'on peut obtenir :</p>
+
+<pre class="brush: js">console.log(new Intl.Collator().compare('a', 'c')); // → une valeur négative
+console.log(new Intl.Collator().compare('c', 'a')); // → une valeur positive
+console.log(new Intl.Collator().compare('a', 'a')); // → 0
+</pre>
+
+<p>Les résultats indiqués sont génériques et en pratique peuvent varier entre les navigateurs et les versions des navigateurs. En effet les valeurs obtenues dépendent de l'implémentation. Les spécifications indiquent uniquement le signe (positif ou négatif) du résultat.</p>
+
+<h3 id="Utiliser_locales">Utiliser <code>locales</code></h3>
+
+<p>Les résultats fournis par {{jsxref("Collator.prototype.compare()")}} varient selon les locales. Afin d'obtenir le bon ordre lexicographique dans votre application, il est nécessaire de spécifier la locale de l'utilisateur (et éventuellement des locales pour des cas de replis) en utilisant l'argument <code>locales</code> :</p>
+
+<pre class="brush: js">// en allemand, 'ä' est équivalent à 'a' pour le tri
+console.log(new Intl.Collator("de").compare("ä", "z"));
+// → une valeur négative
+
+// en suédois, 'ä' arrive après 'z'
+console.log(new Intl.Collator("sv").compare("ä", "z"));
+// → une valeur positive
+</pre>
+
+<h3 id="Utiliser_options">Utiliser <code>options</code></h3>
+
+<p>Les résultats fournis par {{jsxref("Collator.prototype.compare()")}} peuvent être adaptés grâce à l'argument <code>options</code> :</p>
+
+<pre class="brush: js">// en allemand, 'ä' est composé de la lettre de base 'a'
+console.log(new Intl.Collator("de", {sensitivity: "base"}).compare("ä", "a"));
+// → 0
+
+// en suédois, 'ä' et 'a' sont distincts en termes de base
+console.log(new Intl.Collator("sv", {sensitivity: "base"}).compare("ä", "a"));
+// → une valeur positive
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-10.1', 'Intl.Collator')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-10.1', 'Intl.Collator')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#collator-objects', 'Intl.Collator')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.Collator")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<p>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Intl','Voir_aussi')}}</p>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/collator/resolvedoptions/index.html b/files/fr/web/javascript/reference/global_objects/intl/collator/resolvedoptions/index.html
new file mode 100644
index 0000000000..5bd0ecd34d
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/collator/resolvedoptions/index.html
@@ -0,0 +1,99 @@
+---
+title: Intl.Collator.prototype.resolvedOptions()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator/resolvedOptions
+tags:
+ - Collator
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - Prototype
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator/resolvedOptions
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Collator/resolvedOptions
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <code><strong>Intl.Collator.prototype.resolvedOptions()</strong></code> renvoie un nouvel objet dont les propriétés reflètent les options de locale et de collation calculées à l'initialisation de l'objet {{jsxref("Collator")}}.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-collator-prototype-resolvedoptions.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">collator.resolvedOptions()</pre>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un nouvel objet dont les propriétés reflètent les options de locale et de collations calculées lors de l'initialisation de l'objet {{jsxref("Collator")}}.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>L'objet renvoyé par cette méthode contient les propriétés suivantes :</p>
+
+<dl>
+ <dt><code>locale</code></dt>
+ <dd>La balise de langue BCP 47 qui est réellement utilisée. Si des extensions Unicode étaient fournies avec la balise d'origine et sont supportées pour la locale utilisée, les paires de clés-valeurs seront incluses dans <code>locale</code>.</dd>
+ <dt><code>usage</code></dt>
+ <dt><code>sensitivity</code></dt>
+ <dt><code>ignorePunctuation</code></dt>
+ <dd>Les valeurs demandées pour ces propriétés via l'argument <code>options</code> ou celles utilisées par défaut.</dd>
+ <dt><code>collation</code></dt>
+ <dd>La valeur demandée pour l'extension Unicode <code>"co"</code> si elle est supportée par la locale utilisée, sinon <code>"default"</code>.</dd>
+ <dt><code>numeric</code></dt>
+ <dt><code>caseFirst</code></dt>
+ <dd>Les valeurs demandées pour ces propriétés via l'argument <code>options</code> ou l'utilisation des extensions Unicode <code>"kn"</code> et <code>"kf"</code> ou les valeurs par défaut. Si l'implémentation utilisée ne supporte pas ces propriétés, elles sont omises.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js">var de = new Intl.Collator('de', { sensitivity: 'base' })
+var usedOptions = de.resolvedOptions();
+
+usedOptions.locale; // "de"
+usedOptions.usage; // "sort"
+usedOptions.sensitivity; // "base"
+usedOptions.ignorePunctuation; // false
+usedOptions.collation; // "default"
+usedOptions.numeric; // false</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-10.3.3', 'Intl.Collator.prototype.resolvedOptions')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-10.3.3', 'Intl.Collator.prototype.resolvedOptions')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-Intl.Collator.prototype.resolvedOptions', 'Intl.Collator.prototype.resolvedOptions')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.Collator.resolvedOptions")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Collator", "Intl.Collator")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/collator/supportedlocalesof/index.html b/files/fr/web/javascript/reference/global_objects/intl/collator/supportedlocalesof/index.html
new file mode 100644
index 0000000000..d2c92c9060
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/collator/supportedlocalesof/index.html
@@ -0,0 +1,99 @@
+---
+title: Intl.Collator.supportedLocalesOf()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator/supportedLocalesOf
+tags:
+ - Collator
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator/supportedLocalesOf
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Collator/supportedLocalesOf
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <code><strong>Intl.Collator.supportedLocalesOf()</strong></code> renvoie, parmi les locales fournies, un tableau contenant les locales supportées et qui ne nécessitent pas d'utiliser la locale par défaut de l'environnement.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-collator-prototype-supportedlocalesof.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">Intl.Collator.supportedLocalesOf(locales [, options])</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code></dt>
+ <dd>Une chaîne de caractères qui est une balise de langue BCP 47 ou bien un tableau de telles chaînes. Pour plus d'informations concernant la forme générale de l'argument <code>locales</code>, voir la page {{jsxref("Objets_globaux/Intl", "Intl", "#L'identification_et_le_choix_de_la_locale")}}.</dd>
+ <dt><code>options</code>{{optional_inline}}</dt>
+ <dd>
+ <p>Paramètre facultatif. Un objet qui peut posséder les propriétés suivantes :</p>
+
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>
+ <p>L'algorithme utilisé pour la correspondance entre chaînes de caractères. Les valeurs possibles sont <code>"lookup"</code> et <code>"best fit"</code>. La valeur par défaut est <code>"best fit"</code>. Pour plus d'informations, voir la page {{jsxref("Objets_globaux/Intl", "Intl", "#Choix_de_la_locale")}}.</p>
+ </dd>
+ </dl>
+ </dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un tableau de chaînes de caractères qui représente un sous-ensemble des balises de langues qui sont prises en charge pour la collation sans qu'il faille utiliser la locale par défaut de l'environnement d'exécution.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Cette méthode renvoie un tableau qui est un sous-ensemble des balises de locales fournies avec l'argument <code>locales</code>. Les balises renvoyées sont celles supportées par l'environnement navigateur en termes de collation (comparaison) et qui ne nécessitent pas d'utiliser la locale par défaut.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Si on dispose d'un environnement (un navigateur par exemple) qui supporte la comparaison de chaînes dans les locales indonésienne, allemande mais pas balinaise,  <code>supportedLocalesOf</code> renvoie les balises pour l'indonésien et l'allemand quand bien même la collation avec pinyin n'est pas utilisée avec l'indonésien et qu'il n'existe pas une version spécifique de l'allemand pour l'Indonésie. On illustre ici l'algorithme <code>"lookup"</code>. SI on utilisait <code>"best fit"</code> pour trouver les locales correspondantes, on aurait pu avoir une balise supplémentaire pour le balinais en plus car la plupart des balinais comprennent l'indonésien.</p>
+
+<pre class="brush: js">var locales = ["ban", "id-u-co-pinyin", "de-ID"];
+var options = {localeMatcher: "lookup"};
+console.log(Intl.Collator.supportedLocalesOf(locales, options).join(", "));
+// → "id-u-co-pinyin, de-ID"</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-10.2.2', 'Intl.Collator.supportedLocalesOf')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-10.2.2', 'Intl.Collator.supportedLocalesOf')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-Intl.Collator.supportedLocalesOf', 'Intl.Collator.supportedLocalesOf')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.Collator.supportedLocalesOf")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Collator", "Intl.Collator")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/format/index.html b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/format/index.html
new file mode 100644
index 0000000000..98dd9c5d28
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/format/index.html
@@ -0,0 +1,127 @@
+---
+title: Intl.DateTimeFormat.prototype.format
+slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Propriété
+ - Prototype
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/DateTimeFormat/format
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <strong><code>Intl.DateTimeFormat.prototype.format()</code></strong> est un accesseur formate une date selon les options de locale et de format de l'objet {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-datetimeformat-prototype-format.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><var>dateTimeFormat</var>.format(<var>date</var>)</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>date</code></dt>
+ <dd>La date à formater.</dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<p>L'accesseur <code>format</code> permet de formater une date en une chaîne de caractères en fonction des options de locale et de format définies pour l'objet {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utiliser_format">Utiliser <code>format</code></h3>
+
+<p>On peut utiliser la fonction renvoyée par l'accesseur <code>format</code> pour formater une date. Par exemple selon la locale serbe :</p>
+
+<pre class="brush: js">var options = {weekday: "long", year: "numeric", month: "long", day: "numeric"};
+var dateTimeFormat = new Intl.DateTimeFormat("sr-RS", options);
+console.log(dateTimeFormat.format(new Date()));
+// → "недеља, 7. април 2013."</pre>
+
+<h3 id="Utiliser_format_avec_map">Utiliser <code>format</code> avec <code>map()</code></h3>
+
+<p>On peut également utiliser la fonction renvoyée par l'accesseur <code>format</code> pour formater toutes les dates d'un tableau. On observe que la fonction est liée à l'objet <code>DateTimeFormat</code> dont elle provient, on peut donc la passer directement à {{jsxref("Array.prototype.map()")}}.</p>
+
+<pre class="brush: js">var a = [new Date(2012, 08), new Date(2012, 11), new Date(2012, 03)];
+var options = {year: "numeric", month: "long"};
+var dateTimeFormat = new Intl.DateTimeFormat("pt-BR", options);
+var formatted = a.map(dateTimeFormat.format);
+console.log(formatted.join("; "));
+// → "setembro de 2012; dezembro de 2012; abril de 2012"</pre>
+
+<h3 id="Comparaison_des_dates_formatées_et_des_valeurs_statiques">Comparaison des dates formatées et des valeurs statiques</h3>
+
+<p>La plupart du temps, le format renvoyé par <code>format()</code> est cohérent. Toutefois, cela peut évoluer à l'avenir et n'est pas garanti pour l'ensemble des langues (de telles variations sont souhaitables et permises par la spécification). Ainsi, IE et Edge ajoutent des caractères de contrôle bidirectionnels autour des dates afin que le texte produit ait une directionalité cohérente avec le texte avec lequel elles seront concaténées.</p>
+
+<p>Aussi, mieux vaut ne pas comparer un résultat fourni par <code>format()</code> avec une valeur statique :</p>
+
+<pre class="brush: js; example-bad">let d = new Date("2019-01-01T00:00:00.000000Z");
+let formattedDate = Intl.DateTimeFormat(undefined, {
+ year: 'numeric',
+ month: 'numeric',
+ day: 'numeric',
+ hour: 'numeric',
+ minute: 'numeric',
+ second: 'numeric'
+}).format(d);
+
+"1.1.2019, 01:00:00" === formattedDate;
+// true pour Firefox et les autres
+// false pour IE et Edge
+</pre>
+
+<div class="blockIndicator note">
+<p><strong>Note :</strong> Voir aussi ce fil <a href="https://stackoverflow.com/questions/25574963/ies-tolocalestring-has-strange-characters-in-results">StackOverflow</a> pour plus de détails et d'exemples.</p>
+</div>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-12.3.2', 'Intl.DateTimeFormat.format')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-12.3.2', 'Intl.DateTimeFormat.format')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-Intl.DateTimeFormat.prototype.format', 'Intl.DateTimeFormat.format')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.DateTimeFormat.format")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}</li>
+ <li>{{jsxref("Date.prototype.toLocaleString")}}</li>
+ <li>{{jsxref("Date.prototype.toLocaleDateString")}}</li>
+ <li>{{jsxref("Date.prototype.toLocaleTimeString")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formatrange/index.html b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formatrange/index.html
new file mode 100644
index 0000000000..dea880a09f
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formatrange/index.html
@@ -0,0 +1,83 @@
+---
+title: Intl.DateTimeFormat.prototype.formatRange()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatRange
+tags:
+ - Internationalisation
+ - Intl
+ - Méthode
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatRange
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/DateTimeFormat/formatRange
+---
+<p>{{JSRef}}</p>
+
+<p>La méthode <strong><code>Intl.DateTimeFormat.prototype.formatRange()</code></strong> permet de formater un intervalle de dates de la façon la plus concise en fonction de la <strong><code>locale</code></strong> et des <code><strong>options</strong></code> fournies lors de l'initialisation de l'objet {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-datetimeformat-prototype-formatrange.html")}}</div>
+
+<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuer à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre><code>Intl.DateTimeFormat.prototype.formatRange(<var>dateDébut, dateFin</var>)</code></pre>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utilisation_simple_de_formatRange">Utilisation simple de <code>formatRange()</code></h3>
+
+<p>Cette méthode reçoit comme arguments deux objets {{jsxref("Date")}} et renvoie l'intervalle de la façon la plus concise possible (selon les options fournies lors de l'instanciation du formateur <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat">Intl.DateTimeFormat</a></code>).</p>
+
+<pre class="brush: js">let date1 = new Date(Date.UTC(2007, 0, 10, 10, 0, 0));
+let date2 = new Date(Date.UTC(2007, 0, 10, 11, 0, 0));
+let date3 = new Date(Date.UTC(2007, 0, 20, 10, 0, 0));
+// &gt; 'Wed, 10 Jan 2007 10:00:00 GMT'
+// &gt; 'Wed, 10 Jan 2007 11:00:00 GMT'
+// &gt; 'Sat, 20 Jan 2007 10:00:00 GMT'
+
+let fmt1 = new Intl.DateTimeFormat("en", {
+ year: '2-digit',
+ month: 'numeric',
+ day: 'numeric',
+ hour: 'numeric',
+ minute: 'numeric'
+});
+console.log(fmt1.format(date1));
+console.log(fmt1.formatRange(date1, date2));
+console.log(fmt1.formatRange(date1, date3));
+// &gt; '1/10/07, 10:00 AM'
+// &gt; '1/10/07, 10:00 – 11:00 AM'
+// &gt; '1/10/07, 10:00 AM – 1/20/07, 10:00 AM'
+
+let fmt2 = new Intl.DateTimeFormat("en", {
+ year: 'numeric',
+ month: 'short',
+ day: 'numeric'
+});
+console.log(fmt2.format(date1));
+console.log(fmt2.formatRange(date1, date2));
+console.log(fmt2.formatRange(date1, date3));
+// &gt; 'Jan 10, 2007'
+// &gt; 'Jan 10, 2007'
+// &gt; 'Jan 10 – 20, 2007'
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td><code><a href="https://rawgit.com/fabalbon/proposal-intl-DateTimeFormat-formatRange/master/out/#datetimeformat-objects">Intl.DateTimeFormat.prototype.formatRange</a></code></td>
+ <td>Brouillon de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<p>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Intl', 'Voir_aussi')}}</p>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formatrangetoparts/index.html b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formatrangetoparts/index.html
new file mode 100644
index 0000000000..be501dcaed
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formatrangetoparts/index.html
@@ -0,0 +1,74 @@
+---
+title: Intl.DateTimeFormat.prototype.formatRangeToParts()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatRangeToParts
+tags:
+ - Internationalization
+ - JavaScript
+ - Localization
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatRangeToParts
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/DateTimeFormat/formatRangeToParts
+---
+<p>{{JSRef}}</p>
+
+<p>La fonction <strong><code>Intl.DateTimeFormat.prototype.formatRangeToParts()</code></strong> permet, selon la locale utilisée, de représenter chaque élément de l'intervalle de dates via <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/prototype">DateTimeFormat</a></code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre><code>Intl.DateTimeFormat.prototype.formatRangeToParts(<var>dateDebut, dateFin</var>)</code></pre>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Usage_basique_de_formatRangeToParts">Usage basique de <code>formatRangeToParts</code></h3>
+
+<p>Cette fonction reçoit deux <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Dates</a> et retourne un <a href="/en-US/docs/Glossary/array">Array</a> d'objets contenant les élements qui représentent chaque partie de l'intervalle de date formatée, selon la locale utilisée.</p>
+
+<pre class="brush: js">let date1 = new Date(Date.UTC(2007, 0, 10, 10, 0, 0));
+let date2 = new Date(Date.UTC(2007, 0, 10, 11, 0, 0));
+// &gt; 'Wed, 10 Jan 2007 10:00:00 GMT'
+// &gt; 'Wed, 10 Jan 2007 11:00:00 GMT'
+
+let fmt = new Intl.DateTimeFormat("en", {
+ hour: 'numeric',
+ minute: 'numeric'
+});
+
+console.log(fmt.formatRange(date1, date2));
+// &gt; '10:00 – 11:00 AM'
+
+fmt.formatRangeToParts(date1, date2);
+// retourne la valeur:
+// [
+// { type: 'hour', value: '10', source: "startRange" },
+// { type: 'literal', value: ':', source: "startRange" },
+// { type: 'minute', value: '00', source: "startRange" },
+// { type: 'literal', value: ' – ', source: "shared" },
+// { type: 'hour', value: '11', source: "endRange" },
+// { type: 'literal', value: ':', source: "endRange" },
+// { type: 'minute', value: '00', source: "endRange" },
+// { type: 'literal', value: ' ', source: "shared" },
+// { type: 'dayPeriod', value: 'AM', source: "shared" }
+// ]</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td><a href="https://rawgit.com/fabalbon/proposal-intl-DateTimeFormat-formatRange/master/out/#datetimeformat-objects">Intl.DateTimeFormat.prototype.formatRange</a></td>
+ <td>Stage 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+
+
+<p>{{Compat("javascript.builtins.Intl.DateTimeFormat.formatRangeToParts")}}</p>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html
new file mode 100644
index 0000000000..801f809192
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html
@@ -0,0 +1,167 @@
+---
+title: Intl.DateTimeFormat.prototype.formatToParts()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts
+tags:
+ - DateTimeFormat
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - Prototype
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/DateTimeFormat/formatToParts
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <strong><code>Intl.DateTimeFormat.prototype.formatToParts()</code></strong> permet de mettre en forme des chaînes de caractères avec des informations temporelles selon la locale utilisée.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">Intl.DateTimeFormat.prototype.formatToParts(date)</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>date</code> {{optional_inline}}</dt>
+ <dd>La date qu'on souhaite mettre en forme.</dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un tableau ({{jsxref("Array")}}) d'objets qui contiennent les composants de la date mis en forme.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>La méthode <code>formatToParts()</code> est utile lorsqu'on souhaite mettre en forme des dates de façon personnalisée. Elle renvoie un tableau d'objets qui contiennent les fragments spécifiques à la locale, à partir desquels on peut construire des chaînes tout en conservant les parties spécifique à la locale. La structure de l'objet renvoyé par la méthode est semblable à celle-ci :</p>
+
+<pre class="brush: js">[
+ { type: "day", value: "17" },
+ { type: "weekday", value "Monday" }
+]</pre>
+
+<p>Les types possibles sont :</p>
+
+<dl>
+ <dt><code>day</code></dt>
+ <dd>La chaîne utilisée pour désigner le jour, par exemple <code>"17"</code>.</dd>
+ <dt><code>dayPeriod</code></dt>
+ <dd>La chaîne utilisée pour désigner le moment de la journée, par exemple <code>"AM"</code> (qui désigne la matinée, avant midi) ou <code>"PM"</code> (qui désigne l'après-midi).</dd>
+ <dt><code>era</code></dt>
+ <dd>La chaîne utilisée pour l'ère (par exemple <code>"BC"</code> ou <code>"AD"</code>).</dd>
+ <dt><code>hour</code></dt>
+ <dd>La chaîne utilisée pour l'heure (par exemple <code>"3"</code> or <code>"03"</code>).</dd>
+ <dt><code>literal</code></dt>
+ <dd>La chaîne utilisée pour séparée le jour de l'heure (par exemple <code>"</code> <code>:</code> <code>,</code> <code>/</code> <code>"</code>).</dd>
+ <dt><code>minute</code></dt>
+ <dd>La chaîne utilisée pour les minutes (par exemple <code>"00"</code>).</dd>
+ <dt><code>month</code></dt>
+ <dd>La chaîne utilisée pour le mois (par exemple <code>"12"</code>).</dd>
+ <dt><code>second</code></dt>
+ <dd>La chaîne utilisée pour les secondes (par exemple <code>"02"</code>).</dd>
+ <dt><code>timeZoneName</code></dt>
+ <dd>La chaîne utilisée pour désigner le fuseau horaire (par exemple <code>"UTC"</code>).</dd>
+ <dt><code>weekday</code></dt>
+ <dd>La chaîne de caractères utilisée pour le jour de la semaine, par exemple <code>"M"</code>, <code>"Monday"</code> ou <code>"Montag"</code>.</dd>
+ <dt><code>year</code></dt>
+ <dd>La chaîne utilisée pour désigner l'année (par exemple <code>"2012"</code> ou <code>"96"</code>).</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p><code>DateTimeFormat</code> produit des chaînes localisées opaques qui ne peuvent pas être manipulées directement :</p>
+
+<pre class="brush: js">var date = Date.UTC(2012, 11, 17, 3, 0, 42);
+
+var formatter = new Intl.DateTimeFormat("en-us", {
+ weekday: 'long',
+ year: 'numeric',
+ month: 'numeric',
+ day: 'numeric',
+ hour: 'numeric',
+ minute: 'numeric',
+ second: 'numeric',
+ hour12: true,
+ timeZone: "UTC"
+});
+
+formatter.format(date);
+// "Monday, 12/17/2012, 3:00:42 AM"
+</pre>
+
+<p>Cependant, pour de nombreuses interfaces utilisateur, on peut vouloir personnaliser la mise en forme de cette chaîne de caractères. La méthode <code>formatToParts</code> permet une mise en forme dans le souci de la locale en manipulant les différentes composantes :</p>
+
+<pre class="brush: js">formatter.formatToParts(date);
+
+// return value:
+[
+ { type: 'weekday', value: 'Monday' },
+ { type: 'separator', value: ', ' },
+ { type: 'month', value: '12' },
+ { type: 'literal', value: '/' },
+ { type: 'day', value: '17' },
+ { type: 'literal', value: '/' },
+ { type: 'year', value: '2012' },
+ { type: 'literal', value: ', ' },
+ { type: 'hour', value: '3' },
+ { type: 'literal', value: ':' },
+ { type: 'minute', value: '00' },
+ { type: 'literal', value: ':' },
+ { type: 'second', value: '42' },
+ { type: 'literal', value: ' ' },
+ { type: 'dayPeriod', value: 'AM' }
+]
+</pre>
+
+<p>L'information étant décomposée, on peut alors la mettre en forme et la recomposée de façon adaptée :</p>
+
+<pre class="brush: js">var dateString = formatter.formatToParts(date).map(({type, value}) =&gt; {
+ switch (type) {
+ case 'dayPeriod': return `&lt;strong&gt;${value}&lt;/strong&gt;`;
+ default : return value;
+ }
+}).reduce((string, part) =&gt; string + part);
+
+console.log(formatter.format(date));
+// "Monday, 12/17/2012, 3:00:42 AM"
+
+console.log(dateString);
+// "Monday, 12/17/2012, 3:00:42 &lt;strong&gt;AM&lt;/strong&gt;"</pre>
+
+<h2 id="Prothèse_démulation_polyfill">Prothèse d'émulation (<em>polyfill</em>)</h2>
+
+<p>Une prothèse de cette fonctionnalité est disponible sur le dépôt décrivant <a href="https://github.com/zbraniecki/proposal-intl-formatToParts">la proposition de fonctionnalité</a>.</p>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-Intl.DateTimeFormat.prototype.formatToParts', 'Intl.DateTimeFormat.prototype.formatToParts')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.DateTimeFormat.formatToParts")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}</li>
+ <li>{{jsxref("DateTimeFormat.format", "Intl.DateTimeFormat.prototype.format")}}</li>
+ <li>{{jsxref("Date.prototype.toLocaleString()")}}</li>
+ <li>{{jsxref("Date.prototype.toLocaleDateString()")}}</li>
+ <li>{{jsxref("Date.prototype.toLocaleTimeString()")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/index.html b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/index.html
new file mode 100644
index 0000000000..a9cd6e528d
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/index.html
@@ -0,0 +1,298 @@
+---
+title: Intl.DateTimeFormat
+slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/DateTimeFormat
+---
+<div>{{JSRef}}</div>
+
+<p>L'objet <strong><code>Intl.DateTimeFormat</code></strong> est un constructeur d'objets permettant de formatter des dates et des heures selon une langue.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-datetimeformat.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">new Intl.DateTimeFormat([<var>locales</var>[, <var>options</var>]])
+Intl.DateTimeFormat.call(<var>this</var>[, <var>locales</var>[, <var>options</var>]])</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code>{{optional_inline}}</dt>
+ <dd>
+ <p>Ce paramètre optionnel est une chaine de caractères avec un identifiant de langue BCP 47, ou un tableau de ce type de chaine de caractères. Pour utiliser la locale par défaut du navigateur, on pourra omettre cet argument (ou passer la valeur <code>undefined</code>). Pour le format général et l'interprétation de l'argument <code>locales</code>, voir la page {{jsxref("Objets_globaux/Intl","Intl","#L'identification_et_le_choix_de_la_locale")}}. Les clefs d'extensions Unicode suivantes sont autorisées :</p>
+
+ <dl>
+ <dt>nu</dt>
+ <dd>Système de numérotation. Les valeurs possibles incluent : <code>"arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt"</code>.</dd>
+ <dt>ca</dt>
+ <dd>Calendrier. Les valeurs possibles incluent : <code>"buddhist", "chinese", "coptic", "ethiopia", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamicc", "iso8601", "japanese", "persian", "roc"</code>.</dd>
+ <dt><code>hc</code></dt>
+ <dd>Le type de cycle horaire à utiliser. Les valeurs possibles sont <code>"h11"</code>, <code>"h12"</code>, <code>"h23"</code>, <code>"h24"</code>.</dd>
+ </dl>
+ </dd>
+ <dt><code>options</code></dt>
+ <dd>
+ <p>Un objet avec certaines ou toutes les propriétés suivantes :</p>
+
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>L'algorithme de correspondance à utiliser pour la locale. Les valeurs possibles sont <code>"lookup"</code> et <code>"best fit"</code> ; le défaut est <code>"best fit"</code>. Pour des informations sur cette option, voir la page {{jsxref("Objets_globaux/Intl","Intl","##Choix_de_la_locale")}}</dd>
+ <dt><code>timeZone</code></dt>
+ <dd>Le fuseau horaire à utiliser. La seule valeur que doivent reconnaitre les implémentations est "UTC" ; la valeur par défaut est le fuseau horaire du moteur JavaScript. Les implémentations peuvent aussi reconnaitre les noms de fuseau horaire de la <a href="https://www.iana.org/time-zones">base de données IANA de fuseaux horaires</a>, tel que <code>"Asia/Shanghai"</code>, <code>"Asia/Kolkata"</code>, <code>"America/New_York"</code>.</dd>
+ <dt><code>hour12</code></dt>
+ <dd>S'il faut utiliser le format horaire sur 12 heures (au lieu de celui-ci sur 24 heures). Les valeurs possibles sont <code>true</code> et <code>false</code> ; la valeur par défaut dépend de la locale. Cette option surcharge l'étiquette <code>hc</code> et/ou l'option <code>hourCycle</code>.</dd>
+ <dt><code>hourCycle</code></dt>
+ <dd>Le cycle horaire à utiliser. Les valeurs possibles sont <code>"h11"</code>, <code>"h12"</code>, <code>"h23"</code>, <code>"h24"</code>. Cette option surcharge l'étiquette <code>hc</code> mais sera remplacée par <code>hour12</code> si cette dernière est présente.</dd>
+ <dt><code>formatMatcher</code></dt>
+ <dd>L'algorithme de correspondance à utiliser pour le formattage. Les valeurs possibles sont <code>"basic"</code> et <code>"best fit"</code> ; par défaut <code>"best fit"</code>. Voir les paragraphes suivants pour des informations concernant l'usage de cette propriété.</dd>
+ </dl>
+
+ <p>Les propriétés suivantes décrivent les composants date-heure à utiliser pour le formattage de la sortie.  Les implémentations ont pour obligation de supporter au minimum les ensembles suivants :</p>
+
+ <ul>
+ <li><code>weekday, year, month, day, hour, minute, second</code></li>
+ <li><code>weekday, year, month, day</code></li>
+ <li><code>year, month, day</code></li>
+ <li><code>year, month</code></li>
+ <li><code>month, day</code></li>
+ <li><code>hour, minute, second</code></li>
+ <li><code>hour, minute</code></li>
+ </ul>
+
+ <p>Les implémentations peuvent supporter d'autres sous-ensembles, et les demandes seront évaluées face à toutes les combinaisons de sous-ensembles disponibles pour trouver la meilleure correspondance. Deux algorithmes sont disponibles pour cette évaluation et choisis par la propriété <code>formatMatcher</code> : un <a href="https://www.ecma-international.org/ecma-402/1.0/#BasicFormatMatcher">algorithme "basic" complètement spécifié</a> et un algorithme <code>"best fit"</code> dépendant de l'implémentation.</p>
+
+ <dl>
+ <dt><code>weekday</code></dt>
+ <dd>La représentation du jour de la semaine. Les valeurs possibles sont :
+ <ul>
+ <li><code>"long"</code> (par exemple <code>Thursday</code>)</li>
+ <li><code>"short"</code> (par exemple <code>Thu</code>)</li>
+ <li><code>"narrow"</code> (par exemple <code>T</code>). Deux jours de la semaines pourront partager la même représentation dans certaines locales (par exemple, en anglais <code>Tuesday</code> sera également représenté avec <code>T</code> en notation étroite).</li>
+ </ul>
+ </dd>
+ <dt><code>era</code></dt>
+ <dd>La représentation de l'ère. Les valeurs possibles sont :
+ <ul>
+ <li><code>"long"</code> (par exemple <code>Anno Domini</code>)</li>
+ <li><code>"short"</code> (par exemple <code>AD</code>)</li>
+ <li><code>"narrow"</code> (par exemple <code>A</code>)</li>
+ </ul>
+ </dd>
+ <dt><code>year</code></dt>
+ <dd>La représentation de l'année. Les valeurs possibles sont :
+ <ul>
+ <li><code>"numeric"</code> (par exemple <code>2012</code>)</li>
+ <li><code>"2-digit"</code> (par exemple <code>12</code>)</li>
+ </ul>
+ </dd>
+ <dt><code>month</code></dt>
+ <dd>La représentation du mois. Les valeurs possibles sont :
+ <ul>
+ <li><code>"numeric"</code> (par exemple <code>2</code>)</li>
+ <li><code>"2-digit"</code> (par exemple <code>02</code>)</li>
+ <li><code>"long"</code> (par exemple <code>March</code>)</li>
+ <li><code>"short"</code> (par exemple <code>Mar</code>)</li>
+ <li><code>"narrow"</code> (par exemple <code>M</code>). Dans certaines locales, deux mois pourront partager la même représentation avec le style étroit (par exemple, <code>May</code> en anglais, sera également représenté avec <code>M</code>).</li>
+ </ul>
+ </dd>
+ <dt><code>day</code></dt>
+ <dd>La représentation du jour. Les valeurs possibles sont :
+ <ul>
+ <li><code>"numeric"</code> (par exemple <code>1</code>)</li>
+ <li><code>"2-digit"</code> (par exemple <code>01</code>)</li>
+ </ul>
+ </dd>
+ <dt><code>hour</code></dt>
+ <dd>La représentation de l'heure. Les valeurs possibles sont :
+ <ul>
+ <li><code>"numeric"</code> (par exemple <code>1</code>)</li>
+ <li><code>"2-digit"</code> (par exemple <code>01</code>)</li>
+ </ul>
+ </dd>
+ <dt><code>minute</code></dt>
+ <dd>La représentation des minutes. Les valeurs possibles sont :
+ <ul>
+ <li><code>"numeric"</code> (par exemple <code>1</code>)</li>
+ <li><code>"2-digit"</code> (par exemple <code>01</code>)</li>
+ </ul>
+ </dd>
+ <dt><code>second</code></dt>
+ <dd>La représentation des secondes. Les valeurs possibles sont :
+ <ul>
+ <li><code>"numeric"</code> (par exemple <code>1</code>)</li>
+ <li><code>"2-digit"</code> (par exemple <code>01</code>)</li>
+ </ul>
+ </dd>
+ <dt><code>timeZoneName</code></dt>
+ <dd>La représentation du fuseau horaire. Les valeurs possibles sont :
+ <ul>
+ <li><code>"long"</code> (par exemple <code>British Summer Time</code>)</li>
+ <li><code>"short"</code> (par exemple <code>GMT+1</code>)</li>
+ </ul>
+ </dd>
+ </dl>
+
+ <p class="noinclude">La valeur par défaut pour chaque composante est {{jsxref("undefined")}}, mais si toutes les composantes valent <code>undefined</code>, alors <code>year</code>, <code>month</code>, et <code>day</code> seront considérés comme <code>"numeric"</code>.</p>
+ </dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<h3 id="Propriétés">Propriétés</h3>
+
+<dl>
+ <dt>{{jsxref("DateTimeFormat.prototype", "Intl.DateTimeFormat.prototype")}}</dt>
+ <dd>Permet l'ajout de propriétés à tous les objets.</dd>
+</dl>
+
+<h3 id="Méthodes">Méthodes</h3>
+
+<dl>
+ <dt>{{jsxref("DateTimeFormat.supportedLocalesOf", "Intl.DateTimeFormat.supportedLocalesOf()")}}</dt>
+ <dd>Renvoie un tableau contenant les locales supportées parmis les locales fournies, sans qu'il soit nécessaire de recourir à la locale par défaut de l'implémentation.</dd>
+</dl>
+
+<h2 id="Instances_de_DateTimeFormat">Instances de<code> DateTimeFormat</code></h2>
+
+<h3 id="Propriétés_2">Propriétés</h3>
+
+<p>Les instances de<code> DateTimeFormat()</code> héritent des propriétés suivantes depuis leur prototype :</p>
+
+<div>{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/DateTimeFormat/prototype','Properties')}}</div>
+
+<h3 id="Méthodes_2">Méthodes</h3>
+
+<div>
+<p>Les instances de<code> DateTimeFormat()</code> héritent des propriétés suivantes depuis leur prototype :</p>
+{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/DateTimeFormat/prototype','Méthodes')}}</div>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utiliser_DateTimeFormat">Utiliser <code>DateTimeFormat()</code></h3>
+
+<p>Dans une utilisation basique sans préciser de locale, <code>DateTimeFormat()</code> utilise la locale et les options par défaut</p>
+
+<pre class="brush:js">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+
+// DateTimeFormat sans arguments dépend de l'implémentation,
+// la locale par défaut, et le fuseau horaire par défaut
+console.log(new Intl.DateTimeFormat().format(date));
+// → "20/12/2012" avec une locale fr-Fr et un fuseau horaire CEST</pre>
+
+<h3 id="Utiliser_locales">Utiliser <code>locales</code></h3>
+
+<p>Cet exemple montre quelques variations de formattage pour les dates et les heures localisées. Afin d'obtenir le langage utilisé au sein de l'interface utilisateur de votre application, vérifiez de bien fournir ce langage (et éventuellement des locales de recours) en utilisant l'argument <code>locales</code> :</p>
+
+<pre class="brush: js">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+
+// les formats qui suivent se basent sur le
+// fuseau horaire CEST
+
+// l'anglais américain utilise l'ordre mois-jour-année
+console.log(new Intl.DateTimeFormat("en-US").format(date));
+// → "12/20/2012"
+
+// l'anglais britannique utilise l'ordre jour-mois-année
+console.log(new Intl.DateTimeFormat("en-GB").format(date));
+// → "20/12/2012"
+
+// le coréen utilise l'ordre année-mois-jour
+console.log(new Intl.DateTimeFormat("ko-KR").format(date));
+// → "2012. 12. 20."
+
+// l'arabe, dans la plupart des pays arabophones, utilise les chiffres arabes
+console.log(new Intl.DateTimeFormat("ar-EG").format(date));
+// → "<span dir="rtl">٢٠‏/١٢‏/٢٠١٢</span>"
+
+// en ce qui concerne le japonais, les applications peuvent
+// souhaiter utiliser le calendrier japonais
+// pour lequel 2012 était l'année 24 de l'ère Heisei
+console.log(new Intl.DateTimeFormat("ja-JP-u-ca-japanese").format(date));
+// → "24/12/20"
+
+// quand un langage non support est demandé (ex : le balinais)
+// il est possible de fournir un langage de recours (ici l'indonésien)
+console.log(new Intl.DateTimeFormat(["ban", "id"]).format(date));
+// → "20/12/2012"
+</pre>
+
+<h3 id="Utiliser_options">Utiliser <code>options</code></h3>
+
+<p>Les formats de la date et de l'heure peuvent être personnalisés en utilisant l'argument <code>options</code> :</p>
+
+<pre class="brush: js">var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+
+// fournir le jour de la semaine avec une date longue
+var options = {weekday: "long", year: "numeric", month: "long", day: "numeric"};
+console.log(new Intl.DateTimeFormat("de-DE", options).format(date));
+// → "Donnerstag, 20. Dezember 2012"
+
+// une application peut vouloir utiliser UTC et le rendre visible
+options.timeZone = "UTC";
+options.timeZoneName = "short";
+console.log(new Intl.DateTimeFormat("en-US", options).format(date));
+// → "Thursday, December 20, 2012, GMT"
+
+// parfois, vous voulez être précis
+options = {hour: "numeric", minute: "numeric", second: "numeric",
+ timeZoneName: "short"};
+console.log(new Intl.DateTimeFormat("en-AU", options).format(date));
+// → "2:00:00 pm AEDT"
+
+// parfois, même les USA ont besoin d'afficher une heure sur 24h
+options = {year: "numeric", month: "numeric", day: "numeric",
+ hour: "numeric", minute: "numeric", second: "numeric",
+ hour12: false};
+console.log(new Intl.DateTimeFormat("en-US", options));
+// → "12/19/2012, 19:00:00"
+
+// pour utiliser la locale par défaut du navigateur :
+console.log(new Intl.DateTimeFormat('default', options).format(date));
+// → "12/19/2012, 19:00:00" (peut varier selon la locale du navigateur)
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-12.1', 'Intl.DateTimeFormat')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Première définition.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-12.1', 'Intl.DateTimeFormat')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#datetimeformat-objects', 'Intl.DateTimeFormat')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.DateTimeFormat")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<div>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Intl', 'Voir_aussi')}}</div>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/resolvedoptions/index.html b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/resolvedoptions/index.html
new file mode 100644
index 0000000000..e8c39428e7
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/resolvedoptions/index.html
@@ -0,0 +1,106 @@
+---
+title: Intl.DateTimeFormat.prototype.resolvedOptions()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - Prototype
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/DateTimeFormat/resolvedOptions
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <code><strong>Intl.DateTimeFormat.prototype.resolvedOptions()</strong></code> renvoie un nouvel objet dont les propriétés reflètent les options de format et de locale pour les heures et dates, calculées pendant l'initialisation de l'objet {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-datetimeformat-prototype-resolvedoptions.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><var>dateTimeFormat</var>.resolvedOptions()</pre>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un nouvel objet dont les propriétés reflètent les options de format et de locale pour les heures et dates, calculées pendant l'initialisation de l'objet {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}</p>
+
+<h2 id="Description">Description</h2>
+
+<p>La valeur renvoyée par cette méthode contient les propriétés suivantes :</p>
+
+<dl>
+ <dt><code>locale</code></dt>
+ <dd>La balise de langue BCP 47 qui est réellement utilisée. Si des extensions Unicode étaient fournies avec la balise d'origine et sont supportées pour la locale utilisée, les paires de clés-valeurs seront incluses dans <code>locale</code>.</dd>
+ <dt><code>calendar</code></dt>
+ <dd>Le calendrier utilisé (ex. <code>"gregory"</code> pour le calendrier grégorien).</dd>
+ <dt><code>numberingSystem</code></dt>
+ <dd>Les valeurs demandées pour les extensions Unicode <code>"ca"</code> et <code>"nu"</code> ou leurs valeurs par défaut.</dd>
+ <dt><code>timeZone</code></dt>
+ <dd>La valeur fournie par l'argument <code>options</code> pour cette propriété ou {{jsxref("undefined")}} (qui représente le fuseau horaire de l'environnement) si aucune valeur n'a été fournie. Les applications ne doivent pas s'appuyer sur ce dernier cas. En effet, de futures versions pourraient renvoyer une chaîne de caractères représentant le fuseau horaire de l'environnement et non pas <code>undefined</code>.</dd>
+ <dt><code>hour12</code></dt>
+ <dd>La valeur fournie pour cette propriété dans l'argument <code>options</code>.</dd>
+ <dt><code>weekday</code></dt>
+ <dt><code>era</code></dt>
+ <dt><code>year</code></dt>
+ <dt><code>month</code></dt>
+ <dt><code>day</code></dt>
+ <dt><code>hour</code></dt>
+ <dt><code>minute</code></dt>
+ <dt><code>second</code></dt>
+ <dt><code>timeZoneName</code></dt>
+ <dd>Les valeurs qui correspondent entre les propriétés de l'argument <code>options</code> et les combinaisons disponibles dans l'environnement pour les formats de date et d'heure pour la locale. Certaines de ces propriétés peuvent ne pas être présentes, cela indique que les composants indiqués ne seront pas représentés.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js">var germanFakeRegion = new Intl.DateTimeFormat("de-XX", { timeZone: "UTC" });
+var usedOptions = germanFakeRegion.resolvedOptions();
+
+usedOptions.locale; // "de"
+usedOptions.calendar; // "gregory"
+usedOptions.numberingSystem; // "latn"
+usedOptions.timeZone; // "UTC"
+usedOptions.month; // "numeric"</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-12.3.3', 'Intl.DateTimeFormat.prototype.resolvedOptions')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-Intl.DateTimeFormat.prototype.resolvedOptions', 'Intl.DateTimeFormat.prototype.resolvedOptions')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-Intl.DateTimeFormat.prototype.resolvedOptions', 'Intl.DateTimeFormat.prototype.resolvedOptions')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.DateTimeFormat.resolvedOptions")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/supportedlocalesof/index.html b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/supportedlocalesof/index.html
new file mode 100644
index 0000000000..049a40020a
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/datetimeformat/supportedlocalesof/index.html
@@ -0,0 +1,99 @@
+---
+title: Intl.DateTimeFormat.supportedLocalesOf()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/supportedLocalesOf
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - Prototype
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/supportedLocalesOf
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/DateTimeFormat/supportedLocalesOf
+---
+<div>{{JSRef}}</div>
+
+<p>À partir d'une locale ou d'un tableau de locales <code><strong>Intl.DateTimeFormat.supportedLocalesOf()</strong></code> renvoie un tableau qui contient les locales supportées pour le formatage des dates et des heures qui ne nécessitent pas d'avoir recours à la locale par défaut de l'environnement.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-datetimeformat-prototype-supportedlocalesof.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">Intl.DateTimeFormat.supportedLocalesOf(<var>locales</var>[, <var>options</var>])</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code></dt>
+ <dd>Un chaîne de caractères au format d'une balise de langue BCP 47 ou bien un tableau de telles chaînes. Pour plus d'informations sur le format de l'argument <code>locales</code>, voir la page {{jsxref("Intl", "Intl", "#L'identification_et_le_choix_de_la_locale")}}.</dd>
+ <dt><code>options</code></dt>
+ <dd>
+ <p>Paramètre optionnel, un objet pouvant avoir la propriété suivante :</p>
+
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>L'algorithme de correspondance entre locales à utiliser. Les valeurs possibles sont "lookup" et "best fit". Pour plus d'informations sur ce sujet, voir la page {{jsxref("Intl", "Intl", "#Choix_de_la_locale")}}.</dd>
+ </dl>
+ </dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un tableau de chaînes de caractères qui représente un sous-ensemble des balises de langue qui sont prises en charge pour la mise en forme de l'heure et de la date sans qu'il soit nécessaire d'utiliser la locale par défaut de l'environnement d'exécution.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Renvoie un tableau qui est un sous-ensemble de <code>locales</code>. Les balises de langues renvoyées sont celles supportées par l'environnement pour le formatage des heures et des dates. Ces balises sont déterminées en fonction de l'algorithme de correspondances de locale et des locales utilisées. Le tableau résultant fournit les locales qui permettent de ne pas avoir à utiliser la locale par défaut.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<h3 id="Utiliser_supportedLocalesOf">Utiliser <code>supportedLocalesOf</code></h3>
+
+<p>Si on dispose d'un environnement qui supporte les locales indonésienne et allemande mais pas balinaise pour le formatage des dates et des heures,  <code>supportedLocalesOf</code> renverra les balises BCP 47 pour l'indonésien et l'allemand (bien que la collation pinyin ne soit pas pertinente pour les dates ni pour l'indonésien et qu'il soit peu probable qu'une variante indonésienne existe pour l'allemand). Pour l'exemple, on l'utilise l'algorithme <code>"lookup"</code>. Si on utilisait <code>"best fit"</code>, on pourrait considérer que l'indonésien est adéquat pour la locale balinaise (sachant que la plupart des balinais comprend l'indonésien) et donc également renvoyer la balise balinaise.</p>
+
+<pre class="brush: js">var locales = ["ban", "id-u-co-pinyin", "de-ID"];
+var options = {localeMatcher: "lookup"};
+console.log(Intl.DateTimeFormat.supportedLocalesOf(locales, options).join(", "));
+// → "id-u-co-pinyin, de-ID"</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-12.2.2', 'Intl.DateTimeFormat.supportedLocalesOf')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-12.2.2', 'Intl.DateTimeFormat.supportedLocalesOf')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-Intl.DateTimeFormat.supportedLocalesOf', 'Intl.DateTimeFormat.supportedLocalesOf')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.DateTimeFormat.supportedLocalesOf")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html b/files/fr/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html
new file mode 100644
index 0000000000..b9d6a9e1e3
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html
@@ -0,0 +1,74 @@
+---
+title: Intl.getCanonicalLocales()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/getCanonicalLocales
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/getCanonicalLocales
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/getCanonicalLocales
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <strong><code>Intl.getCanonicalLocales()</code></strong> renvoie un tableau contenant les noms canoniques des locales. Les doublons seront fusionnés et les éléments passés en arguments doivent être des étiquettes de langues valides.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-getcanonicallocales.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">Intl.getCanonicalLocales(locales)</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code></dt>
+ <dd>Une liste de chaînes ({{jsxref("String")}}) dont on veut obtenir les noms canoniques pour les locales correspondantes.</dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un tableau qui contient les noms canoniques des locales.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js">Intl.getCanonicalLocales("EN-US"); // ["en-US"]
+Intl.getCanonicalLocales(["EN-US", "Fr"]); // ["en-US", "fr"]
+
+Intl.getCanonicalLocales("EN_US");
+// RangeError:'EN_US' is not a structurally valid language tag
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-intl.getcanonicallocales', 'Intl.getCanonicalLocales')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.getCanonicalLocales")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("NumberFormat.supportedLocalesOf", "Intl.NumberFormat.supportedLocalesOf()")}}</li>
+ <li>{{jsxref("DateTimeFormat.supportedLocalesOf", "Intl.DateTimeFormat.supportedLocalesOf()")}}</li>
+ <li>{{jsxref("Collator.supportedLocalesOf", "Intl.Collator.supportedLocalesOf()")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/index.html b/files/fr/web/javascript/reference/global_objects/intl/index.html
new file mode 100644
index 0000000000..4eb7a2d81c
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/index.html
@@ -0,0 +1,164 @@
+---
+title: Intl
+slug: Web/JavaScript/Reference/Global_Objects/Intl
+tags:
+ - Espace de noms
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl
+---
+<div>{{JSRef}}</div>
+
+<p class="summary">L'objet <strong><code>Intl</code></strong> est l'espace de noms pour l'API d'Internationalisation d'ECMAScript. Elle fournit des outils de comparaison de chaînes de caractères, de formatage des nombres, de dates et de l'heure selon les langues. <code>Intl</code> donne accès à plusieurs constructeurs et fonctionnalités communs aux constructeurs destinés à l'internationalion et à d'autres fonctions dépendantes des langues.</p>
+
+<h2 id="Propriétés_constructrices">Propriétés constructrices</h2>
+
+<dl>
+ <dt>{{jsxref("Objets_globaux/Collator", "Intl.Collator")}}</dt>
+ <dd>Le constructeur pour les ordonnanceurs (<em>collators</em> en anglais) et les objets qui permettent la comparaison de chaînes de caractères selon les règles spécifiques d'une langue.</dd>
+ <dt>{{jsxref("Objets_globaux/DateTimeFormat", "Intl.DateTimeFormat")}}</dt>
+ <dd>Le constructeur pour les objets qui permettent le formatage des dates et de l'heure selon les règles spécifiques d'une langue.</dd>
+ <dt>{{jsxref("Global_Objects/Intl/DisplayNames/DisplayNames", "Intl.DisplayNames()")}}</dt>
+ <dd>Le constructeur pour les objets qui permettent de fournir des traductions constantes de noms de langues, régions et systèmes d'écriture.</dd>
+ <dt>{{jsxref("Objets_globaux/ListFormat", "Intl.ListFormat")}}</dt>
+ <dd>Le constructeur pour les objets qui permettent le formatage des listes selon les règles spécifiques d'une langue.</dd>
+ <dt>{{jsxref("Global_Objects/Intl/Locale/Locale", "Intl.Locale()")}}</dt>
+ <dd>Le constructeur pour les objets qui représentent un identifiant de langue Unicode.</dd>
+ <dt>{{jsxref("Objets_globaux/NumberFormat", "Intl.NumberFormat")}}</dt>
+ <dd>Le constructeur pour les objets qui permettent le formatage des nombres selon les règles spécifiques d'une langue.</dd>
+ <dt>{{jsxref("Objets_globaux/PluralRules","Intl.PluralRules")}}</dt>
+ <dd>Le constructeur pour les objets qui permettent le formatage prenant en compte le pluriel et les règles de pluriel spécifiques d'une langue.</dd>
+ <dt>{{jsxref("Objets_globaux/RelativeTimeFormat","Intl.RelativeTimeFormat")}}</dt>
+ <dd>Le constructeur pour les objets qui permettent le formatage d'intervalles de temps spécifiques d'une langue.</dd>
+</dl>
+
+<h2 id="Méthodes_statiques">Méthodes statiques</h2>
+
+<dl>
+ <dt>{{jsxref("Intl.getCanonicalLocales()")}}</dt>
+ <dd>Méthode renvoyant les noms canoniques des locales.</dd>
+</dl>
+
+<h2 id="Identification_et_choix_de_la_locale">Identification et choix de la locale</h2>
+
+<p>Les constructeurs d'internationalisation, ainsi que plusieurs autres méthodes spécifiques à une langue dans d'autres constructeurs (voir ci-dessous {{anch("See_also", "Voir aussi")}}), utilisent un schéma commun pour identifier les locales et déterminer celle qu'ils utiliseront effectivement : ils acceptent tous les arguments <code>locales</code> et <code>options</code>, et ils négocient les locales demandées face aux locales qu'ils supportent, en utilisant un algorithme spécifié dans la propriété <code>options.localeMatcher</code>.</p>
+
+<h3 id="Argument_locales">Argument <code>locales</code></h3>
+
+<p>L'argument <code>locales</code> peut être soit une chaîne de caractères comportant une <a href="http://tools.ietf.org/html/rfc5646">balise de langue BCP 47</a>, soit un tableau de telles balises. Si l'argument n'est pas fourni ou est indéfini, la locale par défaut de l'environnement d'exécution est utilisée.</p>
+
+<p>Une balise de langue BCP 47 définit un langage et contient au minimum un code de langue principale. Dans sa forme la plus fréquente, elle peut contenir, dans l'ordre : un code de langue, un code de script et un code de pays ou de région, tous séparés par des tirets. Bien que la balise ne soit sensible à la casse, il est recommandé d'utiliser des initiales majuscules pour le code de script, des majuscules pour les codes de pays et de région, et des minuscules pour tout le reste.</p>
+
+<p>Exemples :</p>
+
+<ul>
+ <li><code>"hi"</code> : Hindi (langue principale).</li>
+ <li><code>"de-AT"</code> : Allemand tel qu'utilisé en Autriche (langue principale avec un code pays).</li>
+ <li><code>"zh-Hans-CN"</code> : Le chinois écrit en caractères simplifiés tel qu'utilisé en Chine (langue principale avec des codes de script et de pays).</li>
+</ul>
+
+<p>Les sous balises identifiant les langues, les scripts, les pays (régions) et les variantes (rarement utilisées) dans les balises de langue BCP 47 peuvent être trouvées dans le <a href="http://www.iana.org/assignments/language-subtag-registry">registre IANA des Sous balises de Langues</a></p>
+
+<p>La BCP 47 permet également des extensions. Les fonctions d'internalisation de JavaScript utilisent l'extension "u" (Unicode), qui peut utilisée pour demander une personnalisation supplémentaire des objets {{jsxref("Collator")}}, {{jsxref("NumberFormat")}}, ou {{jsxref("DateTimeFormat")}}. Exemples :</p>
+
+<ul>
+ <li><code>"de-DE-u-co-phonebk"</code> : utiliser la variante annuaire de l'ordre de tri allemand, qui décompose les voyelles infléchies (à umlaut) en paires de caractères : ä → ae, ö → oe, ü → ue.</li>
+ <li><code>"th-TH-u-nu-thai"</code> : utiliser les chiffres thaïs (๐, ๑, ๒, ๓, ๔, ๕, ๖, ๗, ๘, ๙) dans le formatage des nombres.</li>
+ <li><code>"ja-JP-u-ca-japanese"</code> : utiliser le calendrier japonais dans le formatage des dates et des heures, de sorte que 2013 soit exprimé comme l'an 25 de l'ère Heisei, ou 平成25.</li>
+ <li><code>"en-GB-u-ca-islamic"</code> : utiliser l'anglais britannique avec le calendrier islamique (Hijri), où la date grégorienne 14 octobre 2017 est la date de l'ère de l'Hégire 24 Muharram,1439.</li>
+</ul>
+
+<h3 id="Négociation_de_la_locale">Négociation de la locale</h3>
+
+<p>L'argument <code>locales</code>, après retrait de toutes les extensions Unicode, est interprété comme une requête classée par priorité émanant de l'application. L'environnement d'exécution le compare aux locales dont il dispose et choisit la meilleure disponible. Il existe deux algorithmes d'association : l'apparieur "lookup" suit l'algorithme Lookup spécifié dans <a href="http://tools.ietf.org/html/rfc4647#section-3.4">BCP 47</a>; l'apparieur "meilleure correspondance" laisse l'environnement d'exécution fournir une locale qui est au moins aussi, mais possiblement mieux, adaptée à la demande que le résultat de l'algorithme Lookup. Si l'application ne fournit pas d'argument <code>locales</code> ou que l'environnement d'exécution ne dispose pas d'une locale qui corresponde à la requête, alors la locale par défaut de l'environnement d'exécution est utilisée. L'apparieur peut être choisi en utilisant une propriété de l'argument <code>options</code> (voir ci-dessous).</p>
+
+<p>Si la balise de la langue choisie comporte une sous chaîne d'extension Unicode, cette extension est maintenant utilisée pour personnaliser l'objet construit ou le comportement de la fonction. Chaque constructeur ou fonction ne supporte qu'un sous-ensemble des clés définies pour le extension Unicode, et les valeurs supportées dépendent souvent de la balise de langue. Par exemple, la clé "co" (collation) n'est supportée que par le constructeur {{jsxref("Collator")}}, et sa valeur "phonebk" n'est supportée que pour l'allemand.</p>
+
+<h3 id="Argument_options">Argument <code>options</code></h3>
+
+<p>L'argument <code>options</code> doit être un objet ayant des propriétés qui varient suivant qu'il s'agit des constructeurs ou des fonctions. Si l'argument <code>options</code> n'est pas fourni ou est indéfini, des valeurs par défaut seront utilisées pour toutes les propriétés.</p>
+
+<p>Une propriété est supportée par tous les constructeurs et toutes les fonctions fondés sur les locales : la propriété <code>localeMatcher</code>, dont la valeur doit être la chaîne <code>"lookup"</code> ou <code>"best fit"</code>, et qui sélectionne l'un des algorithmes d'appariement décrits ci-dessus.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Formater_des_dates_et_nombres">Formater des dates et nombres</h3>
+
+<p>Vous pouvez utiliser Intl pour formater des dates et nombres dans un format qui est conventionnel pour une langue et une région spécifiques :</p>
+
+<pre class="brush: js notranslate">const compte = 26254.39;
+const date = new Date("2012-05-24");
+
+function afficher (langue) {
+ console.log(
+ `${new Intl.DateTimeFormat(langue).format(date)} ${new Intl.NumberFormat(langue).format(compte)}`
+ );
+}
+
+afficher("en-US");
+// résultat attendu : 5/24/2012 26,254.39
+
+afficher("de-DE");
+// résultat attendu : 24.5.2012 26.254,39</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-8', 'Intl')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-8', 'Intl')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#intl-object', 'Intl')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td>Ajout de <code>Intl.getCanonicalLocales</code> dans la 4e édition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à vous renseigner sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une pull request.</div>
+
+<p>{{Compat("javascript.builtins.Intl")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>Introduction : <a href="http://norbertlindenberg.com/2012/12/ecmascript-internationalization-api/index.html">'The ECMAScript Internationalisation API</a></li>
+ <li>Constructeurs
+ <ul>
+ <li>{{jsxref("Collator", "Intl.Collator")}}</li>
+ <li>{{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}</li>
+ <li>{{jsxref("ListFormat", "Intl.ListFormat")}}</li>
+ <li>{{jsxref("NumberFormat", "Intl.NumberFormat")}}</li>
+ <li>{{jsxref("PluralRules", "Intl.PluralRules")}}</li>
+ <li>{{jsxref("RelativeTimeFormat", "Intl.RelativeTimeFormat")}}</li>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+ </ul>
+ </li>
+ <li>Méthodes
+ <ul>
+ <li>{{jsxref("String.prototype.localeCompare()")}}</li>
+ <li>{{jsxref("Number.prototype.toLocaleString()")}}</li>
+ <li>{{jsxref("Date.prototype.toLocaleString()")}}</li>
+ <li>{{jsxref("Date.prototype.toLocaleDateString()")}}</li>
+ <li>{{jsxref("Date.prototype.toLocaleTimeString()")}}</li>
+ </ul>
+ </li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/listformat/format/index.html b/files/fr/web/javascript/reference/global_objects/intl/listformat/format/index.html
new file mode 100644
index 0000000000..21f843b0b5
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/listformat/format/index.html
@@ -0,0 +1,69 @@
+---
+title: Intl​.ListFormat.prototype​.format()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/format
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - ListFormat
+ - Méthode
+ - Prototype
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/format
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/ListFormat/format
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <strong><code>format()</code></strong> renvoie une chaîne de caractères représentant la liste passée en argument, mise en forme selon la langue choisie (lors de la construction de l'objet <code>Intl.ListFormat</code>).</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-listformat.html")}}</div>
+
+<h2 id="Description">Description</h2>
+
+<p>La méthode <strong><code>format()</code></strong> renvoie une chaîne de caractères qui a été formatée en fonction des paramètres fournis à l'objet <code>Intl.ListFormat</code>. Les paramètres <code>locales</code> et <code>options</code> permettent de personnaliser le comportement de <code>format()</code> et de gérer différentes conventions linguistiques au sein d'une application, notamment pour la mise en forme des listes.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><em>listFormat</em>.format([<em>list</em>]);</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><strong><code>list</code></strong></dt>
+ <dd>Un objet itérable (ex. un tableau / {{jsxref("Array")}}).</dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Une chaîne de caractères représentant les éléments de la liste et mise en forme en fonction de la langue souhaitée (grâce au paramètre <code>locales</code> passé au constructeur <code>Intl.ListFormat</code>).</p>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-list-format/#sec-Intl.ListFormat.prototype.format">Proposition pour <code>Intl.ListFormat.prototype.format</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.ListFormat.format")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("ListFormat", "Intl.ListFormat")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/listformat/formattoparts/index.html b/files/fr/web/javascript/reference/global_objects/intl/listformat/formattoparts/index.html
new file mode 100644
index 0000000000..06745f104a
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/listformat/formattoparts/index.html
@@ -0,0 +1,91 @@
+---
+title: Intl​.List​Format​.prototype​.formatToParts()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/formatToParts
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - ListFormat
+ - Méthode
+ - Prototype
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/formatToParts
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/ListFormat/formatToParts
+---
+<div>{{JSRef}}{{Draft}}</div>
+
+<p>La méthode <strong><code>Intl.ListFormat.prototype.formatToParts()</code></strong> renvoie un tableau ({{jsxref("Array")}}) d'objets représentants les différentes composantes de la chaine de caractères qui est le résultat du formatage de la liste (selon les options de locale et de style indiquées).</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">Intl.ListFormat.prototype.formatToParts(<var>list</var>)
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>list</code></dt>
+ <dd>Un tableau ({{jsxref("Array")}}) de valeurs à mettre en forme selon une locale et des options de style.</dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un tableau ({{jsxref("Array")}}) de fragments composants la chaîne de caractères pour la liste formatée.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Alors que la méthode {{jsxref("ListFormat.prototype.format()", "Intl.ListFormat.prototype.format()")}} renvoie une chaîne de caractères avec la liste formatée (en fonction de la locale et des options de style), <code>formatToParts()</code> renvoie un tableau des différentes composantes de cette chaîne.</p>
+
+<p>Chaque élément du tableau résultant possède deux propriétés : <code>type</code> et <code>value</code>. La propriété <code>type</code> pourra valoir <code>"element"</code> (pour indiquer une valeur de la liste) ou <code>"literal"</code> (pour indiquer un élément linguistique). La propriété <code>value</code> fournit quant à elle le contenu du fragment sous forme d'une chaîne de caractères.</p>
+
+<p>Les options de locale et de style utilisées pour le formatage sont fournies lors de la construction de l'instance {{jsxref("ListFormat", "Intl.ListFormat")}}.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js">const fruits = ['Apple', 'Orange', 'Pineapple'];
+const myListFormat = new Intl.ListFormat('en-GB', { style: 'long', type: 'conjunction' });
+
+console.table(myListFormat.formatToParts(fruits));
+// [
+// { "type": "element", "value": "Apple" },
+// { "type": "literal", "value": ", " },
+// { "type": "element", "value": "Orange" },
+// { "type": "literal", "value": ", and " },
+// { "type": "element", "value": "Pineapple" }
+// ]
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-list-format/#sec-Intl.ListFormat.prototype.formatToParts"><code>Intl.ListFormat.prototype.formatToParts</code> proposal</a></td>
+ <td>Stage 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.ListFormat.formatToParts")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("ListFormat", "Intl.ListFormat")}}</li>
+ <li>{{jsxref("ListFormat.prototype.format()", "Intl.ListFormat.prototype.format()")}}</li>
+ <li>{{jsxref("RelativeTimeFormat.formatToParts()", "Intl.RelativeTimeFormat.prototype.formatToParts()")}}</li>
+ <li>{{jsxref("NumberFormat.formatToParts()", "Intl.NumberFormat.prototype.formatToParts()")}}</li>
+ <li>{{jsxref("DateTimeFormat.formatToParts()", "Intl.DateTimeFormat.prototype.formatToParts()")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/listformat/index.html b/files/fr/web/javascript/reference/global_objects/intl/listformat/index.html
new file mode 100644
index 0000000000..d927828cd3
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/listformat/index.html
@@ -0,0 +1,154 @@
+---
+title: Intl.ListFormat
+slug: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat
+tags:
+ - Experimental
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - ListFormat
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/ListFormat
+---
+<div>{{JSRef}}</div>
+
+<p>L'objet <strong><code>Intl.ListFormat</code></strong> est un constructeur d'objets qui permettent de formater des listes de façon différente selon la langue utilisée.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-listformat.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntax">Syntax</h2>
+
+<pre class="syntaxbox">new Intl.ListFormat([<var>locales</var>[, <var>options</var>]])
+</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code>{{optional_inline}}</dt>
+ <dd>
+ <p>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 <code>locales</code>, voir la page {{jsxref("Intl","Intl","#L'identification_et_le_choix_de_la_locale")}}.</p>
+ </dd>
+ <dt><code>options</code>{{optional_inline}}</dt>
+ <dd>
+ <p>Paramètre optionnel. Un objet avec certaines ou toutes les propriétés suivantes :</p>
+
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>L'algorithme de correspondance à utiliser pour la locale. Les valeurs possibles sont <code>"lookup"</code> et <code>"best fit"</code> ; le défaut est <code>"best fit"</code>. Pour des informations sur cette option, voir la page {{jsxref("Intl","Intl","##Choix_de_la_locale")}}.</dd>
+ <dt><code>type</code></dt>
+ <dd>Le format de sortie pour le message. Les valeurs possibles sont :
+ <ul>
+ <li><code>"conjunction"</code> : qui concaténera les éléments de la liste avec des <em>et</em>. Cela produira par exemple, en anglais : <code>A, B, and C</code></li>
+ <li><code>"disjunction"</code> : qui concaténera les éléments de la liste avec des <em>ou</em>. Cela produira par exemple, en anglais : <code>A, B, or C</code></li>
+ <li><code>"unit"</code> : qui permet de gérer des listes de valeurs avec des unités. Cela produira par exemple <code>5 livres, 12 onces</code></li>
+ </ul>
+ </dd>
+ <dt><code>style</code></dt>
+ <dd>Le niveau de concision/longueur du message obtenu. Les valeurs possibles sont :
+ <ul>
+ <li><code>"long"</code> : par exemple <code>A, B, and C</code></li>
+ <li><code>"narrow"</code> : cette valeur permet uniquement d'utiliser le type <code>unit</code> et affichera un message concis : par exemple <code>A, B, C</code></li>
+ <li><code>"short"</code> : par exemple <code>A, B, C</code></li>
+ </ul>
+ </dd>
+ </dl>
+ </dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<h3 id="Propriétés">Propriétés</h3>
+
+<dl>
+ <dt>{{jsxref("ListFormat.prototype", "Intl.ListFormat.prototype")}}</dt>
+ <dd>Cette propriété permet d'ajouter des propriétés à l'ensemble des objets de ce type.</dd>
+</dl>
+
+<h3 id="Méthodes">Méthodes</h3>
+
+<dl>
+ <dt>{{jsxref("ListFormat.supportedLocalesOf", "Intl.ListFormat.supportedLocalesOf()")}}</dt>
+ <dd>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.</dd>
+</dl>
+
+<h2 id="Instances_de_Intl.ListFormat">Instances de <code>Intl.ListFormat</code></h2>
+
+<p>Toutes les instances de <code>Intl.ListFormat</code> héritent de <code>Intl.ListFormat.prototype</code>.</p>
+
+<h3 id="Propriétés_2">Propriétés</h3>
+
+<dl>
+ <dt><code>Intl.ListFormat.prototype.constructor</code></dt>
+ <dd>Définit la fonction qui crée le prototype d'un objet.</dd>
+</dl>
+
+<h3 id="Méthodes_2">Méthodes</h3>
+
+<dl>
+ <dt>{{jsxref("ListFormat.prototype.format","Intl.ListFormat.prototype.format()")}}</dt>
+ <dd>Renvoie une chaîne de caractères mise en forme selon la langue voulue et qui représente les éléments de la liste.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utiliser_format()">Utiliser <code>format()</code></h3>
+
+<p>Dans l'exemple qui suit, on voit comment créer un formateur de liste pour l'anglais.</p>
+
+<pre class="brush: js">const list = ['Motorcycle', 'Bus', 'Car'];
+
+ console.log(new Intl.ListFormat('en-GB', { style: 'long', type: 'conjunction' }).format(list));
+// &gt; Motorcycle, Bus and Car
+
+ console.log(new Intl.ListFormat('en-GB', { style: 'short', type: 'disjunction' }).format(list));
+// &gt; Motorcycle, Bus or Car
+
+ console.log(new Intl.ListFormat('en-GB', { style: 'narrow', type: 'unit' }).format(list));
+// &gt; Motorcycle Bus Car
+</pre>
+
+<h3 id="Utiliser_formatToParts()">Utiliser <code>formatToParts()</code></h3>
+
+<p>Dans l'exemple qui suit, on voit comment créer un formateur de liste, renvoyant les fragments, pour l'anglais</p>
+
+<pre class="brush: js">const list = ['Motorcycle', 'Bus', 'Car'];
+console.log(new Intl.ListFormat('en-GB', { style: 'long', type: 'conjunction' }).formatToParts(list));
+
+// &gt; [ { "type": "element", "value": "Motorcycle" },
+ { "type": "literal", "value": ", " },
+ { "type": "element", "value": "Bus" },
+ { "type": "literal", "value": ", and " },
+ { "type": "element", "value": "Car" } ];
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-list-format/#listformat-objects">Proposition pour <code>Intl.ListFormat</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.ListFormat")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<div>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Intl', 'Voir_aussi')}}</div>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/listformat/resolvedoptions/index.html b/files/fr/web/javascript/reference/global_objects/intl/listformat/resolvedoptions/index.html
new file mode 100644
index 0000000000..d5844e63ca
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/listformat/resolvedoptions/index.html
@@ -0,0 +1,83 @@
+---
+title: Intl​.List​Format​.prototype​.resolvedOptions()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/resolvedOptions
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - ListFormat
+ - Méthode
+ - Prototype
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/resolvedOptions
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/ListFormat/resolvedOptions
+---
+<div>{{JSRef}}{{Draft}}</div>
+
+<p>La méthode  <code><strong>Intl.ListFormat.prototype.resolvedOptions()</strong></code> renvoie un nouvel objet dont les propriétés reflètent les options de locale et de style calculées à l'initialisation de l'objet {{jsxref("ListFormat")}}.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><var>listFormat</var>.resolvedOptions()</pre>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un nouvel objet dont les propriétés reflètent les options de locale et de style calculées lors de l'initialisation de l'objet {{jsxref("ListFormat")}}.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>L'objet renvoyé par <code>resolvedOptions()</code> possède les propriétés suivantes :</p>
+
+<dl>
+ <dt><code>locale</code></dt>
+ <dd>La balise de langue BCP 47 qui est réellement utilisée. Si des extensions Unicode étaient fournies avec la balise d'origine et sont supportées pour la locale utilisée, les paires de clés-valeurs seront incluses dans <code>locale</code>.</dd>
+ <dt><code>style</code></dt>
+ <dd>La valeur fournie au constructeur via l'argument <code>options</code> ou la valeur utilisée par défaut (<code>"long"</code>). Cette propriété peut valoir <code>"long"</code>, <code>"short"</code> ou <code>"narrow"</code>.</dd>
+ <dt><code>type</code></dt>
+ <dd>La valeur fournie au constructeur via l'argument <code>options</code> ou la valeur par défaut (<code>"conjunction"</code>). Cette propriété peut valoir <code>"conjunction"</code>, <code>"disjunction"</code> ou <code>"unit"</code>.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js">const deListFormatter = new Intl.ListFormat("de-DE", { style: "short" });
+
+const usedOptions = de.resolvedOptions();
+console.log(usedOptions.locale); // "de-DE"
+console.log(usedOptions.style); // "short"
+console.log(usedOptions.type); // "conjunction" (la valeur par défaut)
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-list-format/#sec-Intl.ListFormat.prototype.resolvedOptions">Proposition pour <code>Intl.ListFormat.prototype.resolvedOptions()</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.ListFormat.resolvedOptions")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("ListFormat", "Intl.ListFormat")}}</li>
+ <li>{{jsxref("NumberFormat.prototype.resolvedOptions()", "Intl.NumberFormat.prototype.resolvedOptions()")}}</li>
+ <li>{{jsxref("Collator.prototype.resolvedOptions()", "Intl.Collator.prototype.resolvedOptions()")}}</li>
+ <li>{{jsxref("DateTimeFormat.prototype.resolvedOptions()", "Intl.DateTimeFormat.prototype.resolvedOptions()")}}</li>
+ <li>{{jsxref("PluralRules.prototype.resolvedOptions()", "Intl.PluralRules.prototype.resolvedOptions()")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/listformat/supportedlocalesof/index.html b/files/fr/web/javascript/reference/global_objects/intl/listformat/supportedlocalesof/index.html
new file mode 100644
index 0000000000..7191b9c04c
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/listformat/supportedlocalesof/index.html
@@ -0,0 +1,89 @@
+---
+title: Intl.ListFormat.supportedLocalesOf()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/supportedLocalesOf
+tags:
+ - Intl
+ - JavaScript
+ - ListFormat
+ - Méthode
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat/supportedLocalesOf
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/ListFormat/supportedLocalesOf
+---
+<div>{{JSRef}}</div>
+
+<p>The <strong><code>Intl.ListFormat.supportedLocalesOf()</code></strong> renvoie, parmi les locales fournies, un tableau contenant les locales supportées pour le formatage des listes et qui ne nécessitent pas d'utiliser la locale par défaut de l'environnement.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre>Intl.ListFormat.supportedLocalesOf(<var>locales</var>[, <var>options</var>])</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code></dt>
+ <dd>Une chaîne de caractères qui est une balise de langue BCP 47 ou bien un tableau de telles chaînes. Pour plus d'informations concernant la forme générale de l'argument <code>locales</code>, voir la page {{jsxref("Objets_globaux/Intl", "Intl", "#L'identification_et_le_choix_de_la_locale")}}.</dd>
+ <dt><code>options</code>{{optional_inline}}</dt>
+ <dd>
+ <p>Paramètre facultatif. Un objet qui peut posséder les propriétés suivantes :</p>
+
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>
+ <p>L'algorithme utilisé pour la correspondance entre chaînes de caractères. Les valeurs possibles sont <code>"lookup"</code> et <code>"best fit"</code>. La valeur par défaut est <code>"best fit"</code>. Pour plus d'informations, voir la page {{jsxref("Objets_globaux/Intl", "Intl", "#Choix_de_la_locale")}}.</p>
+ </dd>
+ </dl>
+ </dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un tableau de chaînes de caractères qui représente un sous-ensemble des balises de langues qui sont prises en charge pour le formatage des listes sans qu'il faille utiliser la locale par défaut de l'environnement d'exécution.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Cette méthode renvoie un tableau qui est un sous-ensemble des balises de locales fournies avec l'argument <code>locales</code>. Les balises renvoyées sont celles supportées par l'environnement navigateur en termes de formatage des listes et qui ne nécessitent pas d'utiliser la locale par défaut.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utiliser_supportedLocalesOf">Utiliser <code>supportedLocalesOf</code></h3>
+
+<p>Si on dispose d'un environnement (un navigateur par exemple) qui supporte le formatage des listes dans les locales indonésienne, allemande mais pas balinaise,  <code>supportedLocalesOf</code> renvoie les balises pour l'indonésien et l'allemand quand bien même le formatage des listes pinyin n'est pas utilisée avec l'indonésien et qu'il n'existe pas une version spécifique de l'allemand pour l'Indonésie. On illustre ici l'algorithme <code>"lookup"</code>. SI on utilisait <code>"best fit"</code> pour trouver les locales correspondantes, on aurait pu avoir une balise supplémentaire pour le balinais en plus car la plupart des balinais comprennent l'indonésien.</p>
+
+<pre class="brush: js">const locales = ['ban', 'id-u-co-pinyin', 'de-ID'];
+const options = { localeMatcher: 'lookup' };
+console.log(Intl.ListFormat.supportedLocalesOf(locales, options).join(', '));
+// → "id-u-co-pinyin, de-ID"
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-list-format/#sec-Intl.ListFormat.supportedLocalesOf">Proposition pour <code>Intl.ListFormat.supportedLocalesOf</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.ListFormat.supportedLocalesOf")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("ListFormat", "Intl.ListFormat")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/basename/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/basename/index.html
new file mode 100644
index 0000000000..4b0ae5eeb4
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/basename/index.html
@@ -0,0 +1,76 @@
+---
+title: Intl.Locale.prototype.baseName
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/baseName
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Propriété
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/baseName
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/baseName
+---
+<div>{{JSRef}}</div>
+
+<p>La propriété <strong><code>Intl.Locale.prototype.baseName</code></strong> renvoie un extrait de la chaîne de caractères représentant l'objet <code>Locale</code>. Cet extrait contient les informations essentielles à propos de l'objet <code>Locale</code>.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Un objet <code>Intl.Locale</code> représente une locale ainsi que des options qui lui sont associées. La propriété <code>baseName</code> renvoie des informations essentielles quant à la locale sous la forme d'une chaîne de caractères. Cette chaîne est un extrait de la représentation textuelle complète de l'objet <code>Locale</code>. Cet extrait contient notamment la langue, le script utilisé ainsi que la région (s'ils sont disponibles).</p>
+
+<p>Si on utilise <a href="https://www.unicode.org/reports/tr35/#Identifiers">la grammaire Unicode</a>, <code>baseName</code> renvoie la sous-séquence <code>language ["-" script] ["-" region] *("-" variant)</code>.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Exemple_simple">Exemple simple</h3>
+
+<pre class="brush: js">let myLoc = new Intl.Locale("fr-Latn-CA"); // Sets locale to Candanian French
+console.log(myLoc.toString()); // Prints out "fr-Latn-CA-u-ca-gregory"
+console.log(myLoc.baseName); // Prints out "fr-Latn-CA"</pre>
+
+<h3 id="Exemple_avec_certaines_options">Exemple avec certaines options</h3>
+
+<pre class="brush: js">// Sets language to Japanese, region to Japan,
+
+// calendar to Gregorian, hour cycle to 24 hours
+let japan = new Intl.Locale("ja-JP-u-ca-gregory-hc-24");
+console.log(japan.toString()); // Prints out "ja-JP-u-ca-gregory-hc-h24"
+console.log(japan.baseName); // Prints out "ja-JP"</pre>
+
+<h3 id="Exemple_avec_options_qui_surchargent">Exemple avec options qui surchargent</h3>
+
+<pre class="brush: js">// Input string indicates language as Dutch and region as Belgium,
+
+// but options object overrides the region and sets it to the Netherlands
+let dutch = new Intl.Locale("nl-Latn-BE", {region: "NL"});
+
+console.log(dutch.baseName); // Prints out "nl-Latn-NL"</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.baseName">Proposition pour <code>Intl.Locale.prototype.baseName</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<div>{{Compat("javascript.builtins.Intl.Locale.baseName")}}</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/calendar/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/calendar/index.html
new file mode 100644
index 0000000000..80a31592d2
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/calendar/index.html
@@ -0,0 +1,157 @@
+---
+title: Intl.Locale.prototype.calendar
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/calendar
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Locale
+ - Propriété
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/calendar
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/calendar
+---
+<div>{{JSRef}}</div>
+
+<p>La propriété <strong><code>Intl.Locale.prototype.calendar</code></strong> est une propriété (via un accesseur) qui renvoie le type de calendrier utilisé par l'instance de <code>Locale</code>.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>La propriété <code>calendar</code> renvoie la partie de la locale qui indique le calendrier utilisé. Bien que la plupart des régions utilise le calendrier grégorien, il existe différents calendriers utilisés. Le tableau qui suit indique les clés Unicode pour les différents calendriers ainsi qu'une description.</p>
+
+<table class="standard-table">
+ <caption>Clés Unicode pour les calendriers</caption>
+ <thead>
+ <tr>
+ <th scope="col">Clé Unicode</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>buddhist</code></td>
+ <td>Calendrier bouddhiste</td>
+ </tr>
+ <tr>
+ <td><code>chinese</code></td>
+ <td>Calendrier chinois traditionnel</td>
+ </tr>
+ <tr>
+ <td><code>coptic</code></td>
+ <td>Calendrier copte</td>
+ </tr>
+ <tr>
+ <td><code>dangi</code></td>
+ <td>Calendrier coréen traditionnel</td>
+ </tr>
+ <tr>
+ <td><code>ethioaa</code></td>
+ <td>Calendrier éthiopique, Amete Alem (an 0 situé environ à  5493 ans avant notre ère)</td>
+ </tr>
+ <tr>
+ <td><code>ethiopic</code></td>
+ <td>Calendrier éthiopique, Amete Mihret (an 0 situé environ à 8 ans de notre ère)</td>
+ </tr>
+ <tr>
+ <td><code>gregory</code></td>
+ <td>Calendrier grégorien</td>
+ </tr>
+ <tr>
+ <td><code>hebrew</code></td>
+ <td>Calendrier traditionnel hébreux</td>
+ </tr>
+ <tr>
+ <td><code>indian</code></td>
+ <td>Calendrier indien</td>
+ </tr>
+ <tr>
+ <td><code>islamic</code></td>
+ <td>Calendrier islamique</td>
+ </tr>
+ <tr>
+ <td><code>islamic-umalqura</code></td>
+ <td>Calendrier islamique, Umm al-Qura</td>
+ </tr>
+ <tr>
+ <td><code>islamic-tbla</code></td>
+ <td>Calendrier islamique tabulaire (années intercalaires [2,5,7,10,13,16,18,21,24,26,29] - origine des temps astronomique)</td>
+ </tr>
+ <tr>
+ <td><code>islamic-civil</code></td>
+ <td>Calendrier islamique tabulaire (années intercalaires [2,5,7,10,13,16,18,21,24,26,29] - origine des temps civile)</td>
+ </tr>
+ <tr>
+ <td><code>islamic-rgsa</code></td>
+ <td>Calendrier islamique vu de l'Arabie saoudite</td>
+ </tr>
+ <tr>
+ <td><code>iso8601</code></td>
+ <td>Calendrier ISO (calendrier grégorien utilisant la numérotation des semaines ISO 8601)</td>
+ </tr>
+ <tr>
+ <td><code>japanese</code></td>
+ <td>Calendrier japonais impérial</td>
+ </tr>
+ <tr>
+ <td><code>persian</code></td>
+ <td>Calendrier perse</td>
+ </tr>
+ <tr>
+ <td><code>roc</code></td>
+ <td>Calendrier de la République de Chine</td>
+ </tr>
+ <tr>
+ <td>
+ <div class="blockIndicator warning">La clé  <code>islamicc</code> est désormais dépréciée et il faut utiliser <code>islamic-civil</code> à la place.</div>
+
+ <p><code>islamicc</code></p>
+ </td>
+ <td>Calendrier arabe civil (algorithmique)</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Indiquer_le_calendrier_via_la_chaîne_de_définition_de_la_locale">Indiquer le calendrier via la chaîne de définition de la locale</h3>
+
+<p>Les calendriers font partie des « clés d'extension ». Ces clés permettent d'ajouter des informations supplémentaires aux locales et sont ajoutées via l'extension <code>-u</code>. Ainsi, on peut indiquer le calendrier utilisé via la chaîne de locale passée comme argument au constructeur {{jsxref("Locale", "Intl.Locale")}}. Pour ce faire, on ajoutera d'abord <code>-u</code> à la chaîne « courte » de la locale puis <code>-ca</code> afin d'indiquer qu'on précise le calendrier et enfin la chaîne représentant la clé du calendrier.</p>
+
+<pre class="brush: js">let frBuddhist = new Intl.Locale("fr-FR-u-ca-buddhist");
+console.log(frBuddhist.calendar); // affiche "buddhist" dans la console</pre>
+
+<h3 id="Spécifier_un_calendrier_grâce_à_un_objet_de_configuration">Spécifier un calendrier grâce à un objet de configuration</h3>
+
+<p>Le constructeur {{jsxref("Locale", "Intl.Locale")}} peut utiliser un argument optionnel qui est un objet permettant de configurer la locale via différentes extensions dont les calendriers. En utilisant la propriété <code>calendar</code> de cet objet, on définit le calendrier qui sera utilisé :</p>
+
+<pre class="brush: js">let frBuddhist = new Intl.Locale("fr-FR", {calendar: "buddhist"});
+console.log(frBuddhist.calendar); // affiche "buddhist" dans la console
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.calendar">Proposition pour <code>Intl.Locale.prototype.calendar</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+ <li><a href="https://www.unicode.org/reports/tr35/#UnicodeCalendarIdentifier">Identifiants Unicode pour les calendriers</a></li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/casefirst/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/casefirst/index.html
new file mode 100644
index 0000000000..a0831d2457
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/casefirst/index.html
@@ -0,0 +1,95 @@
+---
+title: Intl.Locale.prototype.caseFirst
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/caseFirst
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Locale
+ - Propriété
+ - Reference
+ - Unicode
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/caseFirst
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/caseFirst
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary">La propriété <strong><code>Intl.Locale.prototype.caseFirst</code></strong> est une propriété (via un accesseur) qui renvoie si la casse est prise en compte par la locale pour ses règles de collation (celles qui permettent d'ordonner des chaînes de caractères entre elles).</span></p>
+
+<h2 id="Description">Description</h2>
+
+<p>Les règles de collation des locales sont utilisées afin de déterminer la façon dont les chaînes sont ordonnées pour cette locale. Certaines locales utilisent la casse (minuscule ou majuscule) dans ce processus de collation. Cette règle peut être exprimée via la propriété <code>caseFirst</code> d'une instance <code>Locale</code>.</p>
+
+<p>Cette propriété peut avoir une des 3 valeurs suivantes :</p>
+
+<table class="standard-table">
+ <caption>Valeurs pour <code>caseFirst</code></caption>
+ <thead>
+ <tr>
+ <th scope="col">Valeur</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>upper</code></td>
+ <td>Les majuscules devraient être triées avant les minuscules.</td>
+ </tr>
+ <tr>
+ <td><code>lower</code></td>
+ <td>Les minuscules devraient être triées avant les majuscules.</td>
+ </tr>
+ <tr>
+ <td><code>false</code></td>
+ <td>La casse n'a pas d'importance pour le tri des chaînes.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Définir_caseFirst_grâce_à_la_chaîne_de_description_de_la_locale">Définir <code>caseFirst</code> grâce à la chaîne de description de la locale</h3>
+
+<p>Le constructeur <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale" title="The Intl.Locale constructor is a standard built-in property of the Intl object."><code>Intl.Locale</code></a> prend comme premier argument une chaîne de caractères qui décrit la locale. On peut allonger cette chaîne avec certaines valeurs afin de l'affiner.</p>
+
+<p>Dans la <a href="https://www.unicode.org/reports/tr35/">spécification Unicode sur les clés des extensions</a>, <code>caseFirst</code> correspond à la clé<code> kf</code>. <code>kf</code>. Il est possible d'ajouter des extensions à la chaîne identifiant la locale en la concaténant à <code>-u</code> puis en concaténant la clé de l'extension qu'on souhaite préciser (ici <code>-kf</code>) puis en ajoutant enfin la valeur pour cette extension (ici <code>upper</code>) :</p>
+
+<pre class="brush: js">let caseFirstStr = new Intl.Locale("fr-Latn-FR-u-kf-upper");
+console.log(caseFirstStr.caseFirst); // Prints "upper"</pre>
+
+<h3 id="Définir_caseFirst_via_lobjet_de_configuration">Définir <code>caseFirst</code> via l'objet de configuration</h3>
+
+<p>Le constructeur <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale" title="The Intl.Locale constructor is a standard built-in property of the Intl object."><code>Intl.Locale</code></a> permet d'utiliser un objet de configuration comme deuxième argument. Les propriétés de cet objet seront autant d'extensions Unicode à utiliser pour la locale. Ici, on peut utiliser un objet avec la propriété <code>caseFirst</code> pour indiquer l'impact de la casse sur la collation de cette locale :</p>
+
+<pre class="brush: js">let caseFirstObj= new Intl.Locale("en-Latn-US", {caseFirst: "lower"});
+console.log(us12hour.caseFirst); // affichera "lower" dans la console.</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.caseFirst">Proposition pour <code>Intl.Locale</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<div>{{Compat("javascript.builtins.Intl.Locale.caseFirst")}}</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+ <li><a href="https://github.com/unicode-org/cldr/blob/master/common/bcp47/collation.xml#L49">Spécification Unicode pour la collation selon la casse</a></li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/collation/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/collation/index.html
new file mode 100644
index 0000000000..522406adc5
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/collation/index.html
@@ -0,0 +1,168 @@
+---
+title: Intl.Locale.prototype.collation
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/collation
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Locale
+ - Propriété
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/collation
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/collation
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary">La propriété <strong><code>Intl.Locale.prototype.collation</code></strong> est une propriété (à laquelle on accède via un accesseur) qui renvoie le <a href="https://www.unicode.org/reports/tr35/tr35-collation.html#CLDR_Collation">type de collation</a> pour l'instance de <code>Locale</code> 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.</span></p>
+
+<h2 id="Description">Description</h2>
+
+<p>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.</p>
+
+<p>Voici un tableau listant les types de collation possibles tels que définis dans <a href="https://github.com/unicode-org/cldr/blob/2dd06669d833823e26872f249aa304bc9d9d2a90/common/bcp47/collation.xml">la spécification Unicode sur la collation</a>.</p>
+
+<table class="standard-table">
+ <caption>Les différents types de collation</caption>
+ <thead>
+ <tr>
+ <th scope="col">Type de collation</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>big5han</code></td>
+ <td>Ordre pinyin pour l'alphabet latin et ordre big5 pour les caractères CJK (utilisés en chinois)</td>
+ </tr>
+ <tr>
+ <td><code>compat</code></td>
+ <td>Une version précédente de l'ordre, utilisée à des fins de compatibilité</td>
+ </tr>
+ <tr>
+ <td><code>dict</code></td>
+ <td>Ordre à la façon d'un dictionnaire (comme utilisé en cingalais)</td>
+ </tr>
+ <tr>
+ <td>
+ <div class="blockIndicator warning">
+ <p>Le type <code>direct</code> a été déprécié et ne doit pas être utilisé.</p>
+ </div>
+
+ <p><code>direct</code></p>
+ </td>
+ <td>Ordre des points de code binaires (utilisé en hindoux)</td>
+ </tr>
+ <tr>
+ <td><code>ducet</code></td>
+ <td>La collation Unicode par défaut pour les éléments d'un tableau</td>
+ </tr>
+ <tr>
+ <td><code>emoji</code></td>
+ <td>L'ordre recommandé pour les émojis</td>
+ </tr>
+ <tr>
+ <td><code>eor</code></td>
+ <td>Règles d'ordre européennes</td>
+ </tr>
+ <tr>
+ <td><code>gb2312</code></td>
+ <td>Ordre pinyin pour l'alphabet latin et ordre gb2312han pour les caractères CJK (utilisés en chinois)</td>
+ </tr>
+ <tr>
+ <td><code>phonebk</code></td>
+ <td>Ordre à la façon d'un annuaire (tel qu'en allemand)</td>
+ </tr>
+ <tr>
+ <td><code>phonetic</code></td>
+ <td>Ordre phonétique, basé sur la prononciation</td>
+ </tr>
+ <tr>
+ <td><code>pinyin</code></td>
+ <td>Ordre pinyin pour les caractères de l'alphabet latin et les caractères CJK (utilisés en chniois)</td>
+ </tr>
+ <tr>
+ <td><code>reformed</code></td>
+ <td>Ordre réformé (tel qu'en suédois)</td>
+ </tr>
+ <tr>
+ <td><code>search</code></td>
+ <td>Collation spéciale pour les chaînes de caractères utilisées pour des recherches</td>
+ </tr>
+ <tr>
+ <td><code>searchjl</code></td>
+ <td>Collation spéciale pour la recherche des consonnes initiales en coréen</td>
+ </tr>
+ <tr>
+ <td><code>standard</code></td>
+ <td>L'ordre par défaut pour chaque langue</td>
+ </tr>
+ <tr>
+ <td><code>stroke</code></td>
+ <td>Ordre pinyin pour l'alphabet latin et ordre de dessin (<em>stroke</em>) pour les caractères CJK (utilisés en chinois)</td>
+ </tr>
+ <tr>
+ <td><code>trad</code></td>
+ <td>Ordre traditionnel (tel qu'en espagnol)</td>
+ </tr>
+ <tr>
+ <td><code>unihan</code></td>
+ <td>Ordre pinyin pour l'alphabet latin et ordre Unihan radical pour les caractères CJK (utilisés en chinois)</td>
+ </tr>
+ <tr>
+ <td><code>zhuyin</code></td>
+ <td>
+ <p>Ordre pinyin pour l'alphabet latin, ordre zhuyin pour les caractères Bopomofo et CJK (utilisés en chinois)</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>À l'instar des autres étiquettes, le type de collation peut être défini pour l'objet {{jsxref("Locale", "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.</p>
+
+<h3 id="Définir_le_type_de_collation_via_la_chaîne_décrivant_la_locale">Définir le type de collation via la chaîne décrivant la locale</h3>
+
+<p>Le premier argument passé à <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale" title="The Intl.Locale constructor is a standard built-in property of the Intl object."><code>Intl.Locale</code></a> 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 <code>-u</code> afin d'indiquer qu'on définit une extension. On ajoutera ensuite la clé identifiant cette extension, ici <code>-co</code> pour la collation. Enfin, on ajoutera la valeur souhaitée pour cette extension (dans cet exemple, <code>-emoji</code>) :</p>
+
+<pre class="brush: js">let stringColl = new Intl.Locale("en-Latn-US-u-co-emoji");
+console.log(stringColl.collation); // Affichera "emoji" dans la console
+</pre>
+
+<h3 id="Définir_le_type_de_collation_via_lobjet_de_configuration">Définir le type de collation via l'objet de configuration</h3>
+
+<p>Le constructeur <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale" title="The Intl.Locale constructor is a standard built-in property of the Intl object."><code>Intl.Locale</code></a> 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é <code>collation</code> sur cet objet avec une des valeurs indiquées ci-avant :</p>
+
+<pre class="brush: js">let configColl = new Intl.Locale("en-Latn-US", {collation: "emoji"});
+console.log(configColl.collation); // Affichera "emoji" dans la console</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.collation">Proposition pour <code>Intl.Locale.prototype.collation</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.Locale.collation")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/hourcycle/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/hourcycle/index.html
new file mode 100644
index 0000000000..0c3a50348a
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/hourcycle/index.html
@@ -0,0 +1,96 @@
+---
+title: Intl.Locale.prototype.hourCycle
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Locale
+ - Propriété
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/hourCycle
+---
+<div>{{JSRef}}</div>
+
+<p>La propriété <strong><code>Intl.Locale.prototype.hourCycle</code></strong> est une propriété accessible via un accesseur qui renvoie la convention pour le format des heures utilisée par la locale courante.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Il existe deux types de conventions pour la représentation des heures : sur douze heures d'une part et sur vingt-quatre heures d'autre part. La propriété <code>hourCycle</code> permet aux développeurs de connaître la représentation utilisée par une locale donnée. À l'instar des autres données fournies par les instances de <code>Locale</code>, <code>hourCycle</code> représente une <a href="https://www.unicode.org/reports/tr35/#u_Extension">extension Unicode</a> qui permet d'affiner le comportement d'une locale. Les valeurs de cette propriété/extension peuvent être :</p>
+
+<table class="standard-table">
+ <caption>Valeurs possibles pour l'extension <code>hourCycle</code></caption>
+ <thead>
+ <tr>
+ <th scope="col">Clé</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>h12</code></td>
+ <td>Système horaire sur les heures 1 à 12 (correspond à la notation "h" pour les motifs de recherche). L'horloge est sur douze heures et minuit commence à 12:00 AM.</td>
+ </tr>
+ <tr>
+ <td><code>h23</code></td>
+ <td>Système horaire sur les heures 0 à 23 (correspond à la notation "H" pour les motifs de recherche). L'horloge est sur vingt-quatre heures et minuit commence à 0:00.</td>
+ </tr>
+ <tr>
+ <td><code>h11</code></td>
+ <td>Système horaire sur les heures 0 à 11 (correspond à la notation "K" pour les motifs de recherche). L'horloge est sur douze heures et minuit commence à 0:00 AM.</td>
+ </tr>
+ <tr>
+ <td><code>h24</code></td>
+ <td>Système horaire sur les heures 1 à 24 (correspond à la notation "K" pour les motifs de recherche). L'horloge est sur vingt-quatre heures et minuit commence à 24:00.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Définir_le_format_horaire_grâce_à_la_chaîne_décrivant_la_locale">Définir le format horaire grâce à la chaîne décrivant la locale</h3>
+
+<p>Il est possible de préciser la valeur d'une extension Unicode dans la chaîne de caractères représentant la locale. Pour indiquer l'extension, on ajoutera le suffixe <code>-u</code> qui indique une clé d'extension à venir, ensuite on ajoutera la clé de l'extension en question (ici <code>-hc</code>) et enfin on ajoutera la valeur souhaitée pour cette extension.</p>
+
+<pre class="brush: js">let fr24hour = new Intl.Locale("fr-FR-u-hc-h23");
+console.log(fr24hour.hourCycle); // Affichera "h23" dans la console</pre>
+
+<h3 id="Définir_le_format_horaire_grâce_à_un_objet_de_configuration">Définir le format horaire grâce à un objet de configuration</h3>
+
+<p>Le constructeur <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale" title="The Intl.Locale constructor is a standard built-in property of the Intl object."><code>Intl.Locale</code></a> permet d'utiliser un objet de configuration comme deuxième argument. Les propriétés de cet objet permettent de définir différentes extensions, y compris celle pour le format horaire. Pour cela, on indiquera la propriété <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">hourCycle</span></font> sur l'objet de configuration avec la valeur souhaitée et on passera cet objet au constructeur.</p>
+
+<pre class="brush: js">let us12hour = new Intl.Locale("en-US-u-hc-h12");
+console.log(us12hour.hourCycle); // Affichera "h12" dans la console</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.hourCycle">Proposition pour <code>Intl.Locale</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<div>{{Compat("javascript.builtins.Intl.Locale.hourCycle")}}</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+ <li><a href="https://www.unicode.org/reports/tr35/#UnicodeHourCycleIdentifier">Spécification pour l'extension Unicode des cycles horaires</a></li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/index.html
new file mode 100644
index 0000000000..5da11e2aa3
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/index.html
@@ -0,0 +1,75 @@
+---
+title: Intl.Locale
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale
+tags:
+ - Constructeur
+ - Intl
+ - JavaScript
+ - Méthode
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale
+---
+<div>{{JSRef}}{{SeeCompatTable}}</div>
+
+<p>Le constructeur <strong><code>Intl.Locale</code></strong> est une propriété native de l'objet <code>Intl</code> représentant l'identifiant d'une locale Unicode.</p>
+
+<p>{{EmbedInteractiveExample("pages/js/intl-locale.html")}}</p>
+
+<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuer à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">new Intl.Locale([<var>tag</var>[, <var>options</var>]])</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>tag</code></dt>
+ <dd>La chaîne de caractère représentant l'identifiant d'une locale Unicode.</dd>
+ <dt><code>options</code></dt>
+ <dd>Un objet contenant la configuration pour la locale. Les clés (noms des propriétés) de cet objets sont des balises Unicode et les valeurs de ces propriétés doivent être des valeurs de balises Unicode valides.</dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<p>L'objet <code>Intl.locale</code> a été conçu afin de manipuler des locales Unicode. Les locales Unicode sont représentées par une chaîne de caractères qu'on appelle « identifiant de locale ». L'identifant de locale se compose d'un identifiant de langue et d'extensions. Les identifiants de langue sont la composante principale d'une locale et contiennent une langue, un système d'écriture et des extensions régionales. Les informations complémentaires sont stockées via les extensions. Ces extensions peuvent fournir des informations quant au type de calendrier utilisé, le format d'heure utilisé ou la numération utilisée.</p>
+
+<p>L'objet <code>Intl.Locale</code> possède les propriétés et méthodes suivantes.</p>
+
+<h3 id="Propriétés">Propriétés</h3>
+
+<dl>
+ <dt>{{jsxref("Locale.prototype","Intl.Locale.prototype")}}</dt>
+ <dd>Le prototype pour le constructeur <code>Locale</code>.</dd>
+</dl>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#locale-objects">Proposition pour <code>Intl.Locale</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.Locale")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li><a href="https://github.com/zbraniecki/Intl.js/tree/intllocale">La prothèse d'émulation (<em>polyfill</em>) pour <code>Intl.Locale</code></a></li>
+ <li><a href="https://www.unicode.org/reports/tr35/#Canonical_Unicode_Locale_Identifiers">La spécification Unicode pour les identifiants de locale</a></li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/language/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/language/index.html
new file mode 100644
index 0000000000..c1f01f5503
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/language/index.html
@@ -0,0 +1,70 @@
+---
+title: Intl.Locale.prototype.language
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/language
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Locale
+ - Propriété
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/language
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/language
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary">La propriété <strong><code>Intl.Locale.prototype.language</code></strong> est une propriété fournie via un accesseur qui renvoie la langue associée à la locale.</span></p>
+
+<h2 id="Description">Description</h2>
+
+<p>La langue est l'une des caractéristiques majeurs d'une locale. La spécification Unicode indique que l'identifiant de la langue d'une locale est composée de l'identifiant canonique de la langue et de l'identifiant de la réponse (on pourra ainsi distinguer l'anglais britannique de l'anglais américain). Toutefois, la propriété <code>language</code> de {{jsxref("Locale", "Locale")}} renvoie uniquement la composante relative à la langue.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Indiquer_la_langue_via_la_chaîne_décrivant_la_locale">Indiquer la langue via la chaîne décrivant la locale</h3>
+
+<p>Afin de pouvoir représenter une locale Unicode correctement, une chaîne doit commencer par un identifiant de langue. Le principal argument du constructeur {{jsxref("Locale", "Locale")}} doit être un identifiant valide et doit donc contenir la composante liée à la langue.</p>
+
+<pre class="brush: js">let langStr = new Intl.Locale("en-Latn-US");
+
+console.log(langStr.language); // Affichera "en" dans la console</pre>
+
+<h3 id="Surcharger_la_langue_via_lobjet_de_configuration">Surcharger la langue via l'objet de configuration</h3>
+
+<p>Bien que la composante de la langue doive être indiquée dans le premier paramètre, le constructeur {{jsxref("Locale", "Locale")}} prend comme deuxième argument un objet de configuration qui permet de surcharger cette composante.</p>
+
+<pre class="brush: js">let langObj = new Intl.Locale("en-Latn-US", {language: "es"});
+
+console.log(langObj.language); // Affichera "es" dans la console</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.language">Proposition pour <code>Intl.Locale.prototype.language</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<div>{{Compat("javascript.builtins.Intl.Locale.language")}}</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Locale")}}</li>
+ <li><a href="https://www.unicode.org/reports/tr35/#unicode_language_subtag_validity">Spécification des extensions Unicode</a></li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/maximize/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/maximize/index.html
new file mode 100644
index 0000000000..d218d368c9
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/maximize/index.html
@@ -0,0 +1,79 @@
+---
+title: Intl.Locale.prototype.maximize()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/maximize
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/maximize
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/maximize
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary">La méthode <strong><code>Intl.Locale.prototype.maximize()</code></strong> permet d'obtenir les valeurs les plus vraisemblantes pour la langue, le script et la région de la locale en fonction des valeurs existantes.</span></p>
+
+<p>{{EmbedInteractiveExample("pages/js/intl-locale-prototype-maximize.html")}}</p>
+
+<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuer à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><code><em>locale</em>.maximize()</code></pre>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Une instance {{jsxref("Locale", "Locale")}} dont la propriété <code>baseName</code> renvoie le résultat de l'algorithme de <a href="https://www.unicode.org/reports/tr35/#Likely_Subtags">vraisemblance des composantes</a> lancé sur <code><em>{{jsxref("Locale/baseName", "locale.baseName")}}</em></code>.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Il est parfois utile d'identifier les composantes les plus probables d'une locale en fonction d'un identifiant incomplet. Cette méthode utilise un algorithme qui permet de déduire les composantes restantes les plus probables. Par exemple, si on fournit la langue <code>"en"</code>, l'algorithme renverra <code>"en-Latn-US"</code>, car l'anglais ne s'écrit qu'avec l'alphabet latin et est le plus largement parlé aux États-Unis. La méthode <code>maximize()</code> n'opère que sur les composantes principales (langue, script, région) et pas sur les extensions éventuellement indiquées après <code>"-u"</code> (dont <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale/hourCycle" title="The Intl.Locale.prototype.hourCycle property is an accessor property that returns the time keeping format convention used by the locale."><code>Locale.hourCycle</code></a>, <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale/calendar" title="The Intl.Locale.prototype.calendar property is an accessor property which returns the type of calendar used in the Locale."><code>Locale.calendar</code></a> et <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale/numeric" title="The Intl.Locale.prototype.numeric property is an accessor property that returns whether the locale has special collation handling for numeric characters."><code>Locale.numeric</code></a> entre autres).</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js">let maLocale = new Intl.Locale("fr", {hourCycle: "h24", calendar: "gregory"});
+console.log(maLocale.baseName); // Affiche "fr"
+console.log(maLocale.toString()); // Affiche "fr-u-ca-gregory-hc-h24"
+let maLocMaximized = maLocale.maximize();
+
+// Affiche "fr-Latn-FR". Les composantes "Latn" et "FR" ont été ajoutées
+// car le français ne s'écrit qu'avec l'alphabet latin et est plus probablement parlé en France.
+console.log(maLocMaximized.baseName);
+
+// Affiche "fr-Latn-FR-u-ca-gregory-hc-h24".
+// On notera que les extensions (après "-u") restent inchangées.
+console.log(myLocMaximized.toString()); </pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.maximize">Proposition pour <code>Intl.Locale.prototype.maximize()</code></a></td>
+ <td></td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.Locale.maximize")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+ <li>{{jsxref("Locale/baseName", "Locale.baseName")}}</li>
+ <li><a href="https://www.unicode.org/reports/tr35/#Likely_Subtags">Spécification Unicode sur la vraisemblance entre composantes</a></li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/minimize/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/minimize/index.html
new file mode 100644
index 0000000000..8d0b242ed3
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/minimize/index.html
@@ -0,0 +1,81 @@
+---
+title: Intl.Locale.prototype.minimize()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/minimize
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Locale
+ - Méthode
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/minimize
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/minimize
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary">La méthode <strong><code>Intl.Locale.prototype.minimize()</code></strong> tente de retirer les informations qui auraient pu être ajoutée à une locale lors d'un appel à {{jsxref("Locale/maximize", "Locale.maximize()")}}. </span></p>
+
+<p>{{EmbedInteractiveExample("pages/js/intl-locale-prototype-minimize.html")}}</p>
+
+<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuer à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><code><em>locale</em>.minimize()</code></pre>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Une instance {{jsxref("Locale", "Locale")}} dont la propriété <code>baseName</code> renvoie le résultat de l'exécution de <a href="https://www.unicode.org/reports/tr35/#Likely_Subtags">l'algorithme de suppression des composantes probables</a> sur <code><em>locale.baseName</em></code>. </p>
+
+<h2 id="Description">Description</h2>
+
+<p>Cette méthode effectue l'opération inverse de {{jsxref("Locale/maximize", "maximize()")}}, en retirant les fragments de langue/script ou de région qui sont superflus. Ainsi, <code>"en-Latn"</code> pourra être minimisé en <code>"en"</code> car l'anglais s'écrit uniquement à l'aide de l'alphabet latin.</p>
+
+<p><code>minimize()</code> ne modifie pas les éventuelles extensions décrites dans la chaîne de locale (après le <code>"-u"</code>) ou via l'objet de configuration (elle ne modifie donc pas les valeurs de {{jsxref("Locale/hourCycle", "Locale.hourCycle")}}, {{jsxref("Locale/calendar", "Locale.calendar")}} et {{jsxref("Locale/numeric", "Locale.numeric")}}).</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js">let maLocale = new Intl.Locale("fr-Latn-FR", {hourCycle: "h24", calendar: "gregory"});
+console.log(maLocale.baseName); // Affiche "fr-Latn-FR"
+console.log(maLocale.toString()); // Affiche "fr-Latn-FR-u-ca-gregory-hc-h24"
+let maLocMinimized = maLocale.minimize();
+
+console.log(maLocMinimized.baseName);
+// Affiche "fr" car le français est écrit uniquement avec l'alphabet latin et
+// parlé le plus largement en France
+
+console.log(maLocMinimized.toString());
+// Affiche "fr-u-ca-gregory-hc-h24". On voit ici que les extensions
+// (décrites après "-u") restent inchangées.</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.minimize">Proposition pour <code>Intl.Locale.prototype.minimize()</code></a></td>
+ <td></td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.Locale.minimize")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+ <li>{{jsxref("Locale/baseName", "Intl.Locale.baseName")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/numberingsystem/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/numberingsystem/index.html
new file mode 100644
index 0000000000..6db6e1e9e8
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/numberingsystem/index.html
@@ -0,0 +1,426 @@
+---
+title: Intl.Locale.prototype.numberingSystem
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/numberingSystem
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Locale
+ - Propriété
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/numberingSystem
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/numberingSystem
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary">La propriété <strong><code>Intl.Locale.prototype.numberingSystem</code></strong> est une propriété fournie par un accesseur qui renvoie le <a href="https://en.wikipedia.org/wiki/Numeral_system">système de numération</a> utilisée par la locale.</span></p>
+
+<h2 id="Description">Description</h2>
+
+<p>Un système de numération est un système qui permet d'exprimer les nombres. La propriété <code>numberingSystem</code> permet de connaître le système de numérati Unicode. A table of the standard Unicode numeral systems can be seen belowon de la locale. Les valeurs qui peuvent être fournies par cette propriété sont standardisées par Unicode.</p>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th>Valeur</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><code>adlm</code></td>
+ <td>Chiffres adlams</td>
+ </tr>
+ <tr>
+ <td><code>ahom</code></td>
+ <td>Chiffres ahoms</td>
+ </tr>
+ <tr>
+ <td><code>arab</code></td>
+ <td>Chiffres arabes</td>
+ </tr>
+ <tr>
+ <td><code>arabext</code></td>
+ <td>Chiffres arabes étendus</td>
+ </tr>
+ <tr>
+ <td><code>armn</code></td>
+ <td>Numération arménienne majuscule (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>armnlow</code></td>
+ <td>Numération arménienne minuscule (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>bali</code></td>
+ <td>Chiffres balinais</td>
+ </tr>
+ <tr>
+ <td><code>beng</code></td>
+ <td>Chiffres bengalis</td>
+ </tr>
+ <tr>
+ <td><code>bhks</code></td>
+ <td>Chiffres bhaiksuki</td>
+ </tr>
+ <tr>
+ <td><code>brah</code></td>
+ <td>Chiffres brahmis</td>
+ </tr>
+ <tr>
+ <td><code>cakm</code></td>
+ <td>Chiffres chakmas</td>
+ </tr>
+ <tr>
+ <td><code>cham</code></td>
+ <td>Chiffres chams</td>
+ </tr>
+ <tr>
+ <td><code>cyrl</code></td>
+ <td>Numération cyrillique (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>deva</code></td>
+ <td>Chiffres devanagaris</td>
+ </tr>
+ <tr>
+ <td><code>ethi</code></td>
+ <td>Numération éthiopienne (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>finance</code></td>
+ <td>Numération financière (peut être algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>fullwide</code></td>
+ <td>Chiffres à pleine chasse</td>
+ </tr>
+ <tr>
+ <td><code>geor</code></td>
+ <td>Numération géorgienne (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>gong</code></td>
+ <td>Chiffres Gunjala Gondis</td>
+ </tr>
+ <tr>
+ <td><code>gonm</code></td>
+ <td>Chiffres Masaram Gondis</td>
+ </tr>
+ <tr>
+ <td><code>grek</code></td>
+ <td>Numération greque majuscule (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>greklow</code></td>
+ <td>Numération greque minuscule (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>gujr</code></td>
+ <td>Chiffres Gujaratis</td>
+ </tr>
+ <tr>
+ <td><code>guru</code></td>
+ <td>Chiffres Gurmukhis</td>
+ </tr>
+ <tr>
+ <td><code>hanidays</code></td>
+ <td>Numération du jour du mois avec caractère Han (utilisée avec les calendriers lunaires ou traditionnels)</td>
+ </tr>
+ <tr>
+ <td><code>hanidec</code></td>
+ <td>Système décimal positionnel utilisant les idéographes des nombres chinois comme chiffres</td>
+ </tr>
+ <tr>
+ <td><code>hans</code></td>
+ <td>Numération chinoise simplifiée (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>hansfin</code></td>
+ <td>Numération chinoise simplifiée financière (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>hant</code></td>
+ <td>Numération chinoise traditionnelle (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>hantfin</code></td>
+ <td>Numération chinoise traditionnelle financière (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>hebr</code></td>
+ <td>Numération hébraïque (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>hmng</code></td>
+ <td>Chiffres Pahawh Hmongs</td>
+ </tr>
+ <tr>
+ <td><code>hmnp</code></td>
+ <td>Chiffres Nyiakeng Puachue Hmongs</td>
+ </tr>
+ <tr>
+ <td><code>java</code></td>
+ <td>Chiffres javanais</td>
+ </tr>
+ <tr>
+ <td><code>jpan</code></td>
+ <td>Numération japonaise (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>jpanfin</code></td>
+ <td>Numération japonaise financière (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>jpanyear</code></td>
+ <td>Numération basée sur la première année Gannen du calendrier japonais</td>
+ </tr>
+ <tr>
+ <td><code>kali</code></td>
+ <td>Chiffres Kayah Lis</td>
+ </tr>
+ <tr>
+ <td><code>khmr</code></td>
+ <td>Chiffres Khmers</td>
+ </tr>
+ <tr>
+ <td><code>knda</code></td>
+ <td>Chiffres Kannadas</td>
+ </tr>
+ <tr>
+ <td><code>lana</code></td>
+ <td>Chiffres Tai Tham Hora séculiers</td>
+ </tr>
+ <tr>
+ <td><code>lanatham</code></td>
+ <td>Chiffres Tai Tham Tham ecclésiastiques</td>
+ </tr>
+ <tr>
+ <td><code>laoo</code></td>
+ <td>Chiffres laotien</td>
+ </tr>
+ <tr>
+ <td><code>latn</code></td>
+ <td>Chiffres latins</td>
+ </tr>
+ <tr>
+ <td><code>lepc</code></td>
+ <td>Chiffres Lepchas</td>
+ </tr>
+ <tr>
+ <td><code>limb</code></td>
+ <td>Chiffres Limbus</td>
+ </tr>
+ <tr>
+ <td><code>mathbold</code></td>
+ <td>Chiffres mathématiques en gras</td>
+ </tr>
+ <tr>
+ <td><code>mathdbl</code></td>
+ <td>Chiffres mathématiques barrés en double</td>
+ </tr>
+ <tr>
+ <td><code>mathmono</code></td>
+ <td>Chiffres mathématiques à chasse fixe</td>
+ </tr>
+ <tr>
+ <td><code>mathsanb</code></td>
+ <td>Chiffres mathématiques en gras sans empattements</td>
+ </tr>
+ <tr>
+ <td><code>mathsans</code></td>
+ <td>Chiffres mathématiques sans empattements</td>
+ </tr>
+ <tr>
+ <td><code>mlym</code></td>
+ <td>Chiffres Malayalams</td>
+ </tr>
+ <tr>
+ <td><code>modi</code></td>
+ <td>Chiffres Modis</td>
+ </tr>
+ <tr>
+ <td><code>mong</code></td>
+ <td>Chiffres mongols</td>
+ </tr>
+ <tr>
+ <td><code>mroo</code></td>
+ <td>Chiffres Mros</td>
+ </tr>
+ <tr>
+ <td><code>mtei</code></td>
+ <td>Chiffres Meetei Mayeks</td>
+ </tr>
+ <tr>
+ <td><code>mymr</code></td>
+ <td>Chiffres Myanmars</td>
+ </tr>
+ <tr>
+ <td><code>mymrshan</code></td>
+ <td>Chiffres Myanmar Shans</td>
+ </tr>
+ <tr>
+ <td><code>mymrtlng</code></td>
+ <td>Chiffres Myanmar Tai Laings</td>
+ </tr>
+ <tr>
+ <td><code>native</code></td>
+ <td>Chiffres natifs</td>
+ </tr>
+ <tr>
+ <td><code>newa</code></td>
+ <td>Chiffres Newas</td>
+ </tr>
+ <tr>
+ <td><code>nkoo</code></td>
+ <td>Chiffres N'Kos</td>
+ </tr>
+ <tr>
+ <td><code>olck</code></td>
+ <td>Chiffres Ol Chikis</td>
+ </tr>
+ <tr>
+ <td><code>orya</code></td>
+ <td>Chiffres Oriyas</td>
+ </tr>
+ <tr>
+ <td><code>osma</code></td>
+ <td>Chiffres Osmanyas</td>
+ </tr>
+ <tr>
+ <td><code>rohg</code></td>
+ <td>Chiffres Hanifi Rohingyas</td>
+ </tr>
+ <tr>
+ <td><code>roman</code></td>
+ <td>Numération romaine majuscule (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>romanlow</code></td>
+ <td>Numération romaine minuscule (algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>saur</code></td>
+ <td>Chiffres Saurashtras</td>
+ </tr>
+ <tr>
+ <td><code>shrd</code></td>
+ <td>Chiffres Sharadas</td>
+ </tr>
+ <tr>
+ <td><code>sind</code></td>
+ <td>Chiffres Khudawadis</td>
+ </tr>
+ <tr>
+ <td><code>sinh</code></td>
+ <td>Chiffres Sinhala Liths</td>
+ </tr>
+ <tr>
+ <td><code>sora</code></td>
+ <td>Chiffres Sora_Sompengs</td>
+ </tr>
+ <tr>
+ <td><code>sund</code></td>
+ <td>Chiffres soudanais</td>
+ </tr>
+ <tr>
+ <td><code>takr</code></td>
+ <td>Chiffres Takris</td>
+ </tr>
+ <tr>
+ <td><code>talu</code></td>
+ <td>Chiffres New Tai Lues</td>
+ </tr>
+ <tr>
+ <td><code>taml</code></td>
+ <td>Numération tamoule (algorithmique=</td>
+ </tr>
+ <tr>
+ <td><code>tamldec</code></td>
+ <td>Chiffres tamouls décimaux modernes</td>
+ </tr>
+ <tr>
+ <td><code>telu</code></td>
+ <td>Chiffres Telugus</td>
+ </tr>
+ <tr>
+ <td><code>thai</code></td>
+ <td>Chiffres thaïs</td>
+ </tr>
+ <tr>
+ <td><code>tirh</code></td>
+ <td>Chiffres Tirhutas</td>
+ </tr>
+ <tr>
+ <td><code>tibt</code></td>
+ <td>Chiffres tibétains</td>
+ </tr>
+ <tr>
+ <td><code>traditio</code></td>
+ <td>Numération traditionnelle (peut être algorithmique)</td>
+ </tr>
+ <tr>
+ <td><code>vaii</code></td>
+ <td>Chiffres Vais</td>
+ </tr>
+ <tr>
+ <td><code>wara</code></td>
+ <td>Chiffres Warang Citis</td>
+ </tr>
+ <tr>
+ <td><code>wcho</code></td>
+ <td>Chiffres Wanchos</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Définir_la_valeur_de_numberingSystem_grâce_à_la_chaîne_décrivant_la_locale">Définir la valeur de <code>numberingSystem</code> grâce à la chaîne décrivant la locale</h3>
+
+<p>D'après <a href="https://www.unicode.org/reports/tr35/" rel="noopener">la spécification Unicode sur les chaînes décrivant les locales</a>, l'extension décrivant le système de numération est indiquée par la clé <code>nu</code>.</p>
+
+<p>Le constructeur <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale">Intl.locale</a></code> prend comme premier argument une chaîne de caractères décrivant la locale. Aussi, on peut indiquer le système de numération après les composantes principales de la chaîne de caractères en lui ajoutant un <code>"-u"</code> (indiquant la présence d'une extension), suivi d'un <code>"-nu"</code> (indiquant que l'extension qui sera indiquée décrit le système de numération, suivi de la valeur voulue pour le système de numération.</p>
+
+<pre class="brush: js">let numberingSystemViaStr = new Intl.Locale("fr-Latn-FR-u-nu-mong");
+console.log(numberingSystemStr.numberingSystem);
+// affichera "mong" dans la console</pre>
+
+<h3 id="Définir_la_valeur_de_numberingSystem_grâce_à_un_objet_de_configuration">Définir la valeur de <code>numberingSystem</code> grâce à un objet de configuration</h3>
+
+<p>Le constructeur <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale" title="The Intl.Locale constructor is a standard built-in property of the Intl object."><code>Intl.Locale</code></a> possède un deuxième argument, optionnel, qui est un objet permettant de configurer la locale. Les propriétés de cet objet sont utilisées comme extensions pour la locale ; les clés des propriétés sont les noms des extensions et leurs valeurs sont celles utilisées pour chaque extension. On peut donc utiliser la propriété <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">numberingSystem</span></font> sur cet objet afin de définir le système de numération à utiliser pour cette locale.</p>
+
+<pre class="brush: js">let numberingSystemViaObj= new Intl.Locale("en-Latn-US", {numberingSystem: "latn"});
+console.log(us12hour.numberingSystem);
+// affichera "latn" dans la console
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.numberingSystem">Proposition pour <code>Intl.Locale</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<div>{{Compat("javascript.builtins.Intl.Locale.numberingSystem")}}</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+ <li><a href="https://github.com/unicode-org/cldr/blob/master/common/supplemental/numberingSystems.xml">Détails sur les systèmes de numération dans le standard Unicode</a></li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/numeric/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/numeric/index.html
new file mode 100644
index 0000000000..58c40bec94
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/numeric/index.html
@@ -0,0 +1,70 @@
+---
+title: Intl.Locale.prototype.numeric
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/numeric
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Locale
+ - Propriété
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/numeric
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/numeric
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary">La propriété <strong><code>Intl.Locale.prototype.numeric</code></strong> est une propriété fournie par un accesseur et qui indique si la locale possède une collation spécifique pour les caractères numériques (la collation étant la méthode qui permet d'ordonner des chaînes de caractères entre elles).</span></p>
+
+<h2 id="Description">Description</h2>
+
+<p>À l'instar de {{jsxref("Locale.caseFirst", "Intl.Locale.caseFirst")}}, <code>numeric</code> représente une modification des règles de collation utilisée par la locale. <code>numeric</code> est un booléen (<code>true</code> ou <code>false</code>). Lorsque cette propriété vaut <code>false</code>, il n'y a pas de gestion particulière des chiffres et si cette propriété vaut <code>true</code>, cela indique que les caractères numériques sont pris en compte lors de la collation des chaînes. Ainsi, les séquences de chiffres décimaux seront comparés comme des nombres. Ainsi, la chaîne de caractères <code>"A-21"</code> sera considérée inférieure à <code>"A-123"</code>.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Définir_numeric_grâce_à_la_chaîne_de_description_de_la_locale">Définir <code>numeric</code> grâce à la chaîne de description de la locale</h3>
+
+<p>Selon <a href="https://www.unicode.org/reports/tr35/" rel="noopener">la spécification Unicode sur les chaînes de caractères décrivant les locales</a>, les valeurs de <code>numeric</code> sont associées à la clé <code>kn</code>. Pour utiliser cette clé dans la chaîne de description de la locale (le premier argument de <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale" title="The Intl.Locale constructor is a standard built-in property of the Intl object."><code>Intl.Locale</code></a>), après la chaîne de base, on pourra ajouter un suffixe avec <code>"-u"</code> afin d'indiquer la présence d'une extension, puis <code>"-kn"</code> afin de préciser l'extension en question et enfin la valeur souhaitée pour cette extension. Si on veut que <code>numeric</code> soit <code>true</code>, il suffit d'ajouter la clé <code>kn</code>. Pour indiquer la valeur <code>false</code>, il faudra explicitement ajouter <code>"-false"</code>.</p>
+
+<pre class="brush: js">let numericViaStr = new Intl.Locale("fr-Latn-FR-u-kn-false");
+console.log(numericStr.numeric);
+// Affichera "false" dans la console</pre>
+
+<h3 id="Définir_numeric_via_lobjet_de_configuration_de_linstance">Définir <code>numeric</code> via l'objet de configuration de l'instance</h3>
+
+<p>Le constructeur <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Locale" title="The Intl.Locale constructor is a standard built-in property of the Intl object."><code>Intl.Locale</code></a> possède un deuxième argument, optionnel, qui est un objet permettant de configurer la locale. Les propriétés de cet objet sont utilisées comme extensions pour la locale ; les clés des propriétés sont les noms des extensions et leurs valeurs sont celles utilisées pour chaque extension. On peut donc utiliser la propriété <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">numeric</span></font> sur cet objet afin de définir le système de numération à utiliser pour cette locale.</p>
+
+<pre class="brush: js">let numericViaObj= new Intl.Locale("en-Latn-US", {numeric: true});
+console.log(us12hour.numeric);
+// Affichera "true" dans la console
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.numeric">Proposition pour <code>Intl.Locale</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<div>{{Compat("javascript.builtins.Intl.Locale.numeric")}}</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/region/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/region/index.html
new file mode 100644
index 0000000000..7d45c56749
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/region/index.html
@@ -0,0 +1,72 @@
+---
+title: Intl.Locale.prototype.region
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/region
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Locale
+ - Propriété
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/region
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/region
+---
+<div>{{JSRef}}</div>
+
+<p>La propriété <strong><code>Intl.Locale.prototype.region</code></strong> est fournie par un accesseur qui renvoie la région du monde (il s'agit généralement d'un pays) associée à la locale courante.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>La région est un fragment majeur de l'identifiant de la locale car il situe la locale dans une zone donnée du monde. Connaître la région associée à la locale est crucial pour identifier les différences entre les locales. Ainsi, on parle anglais aux États-Unis et au Royaume-Uni mais il existe certaines différences d'orthographe entre ces pays. Connaître la région d'une locale peut permettre aux développeurs d'adapter leurs sites et applications selon la région depuis laquelle ils sont consultés.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Définir_la_région_avec_la_chaîne_de_caractères_décrivant_la_locale">Définir la région avec la chaîne de caractères décrivant la locale</h3>
+
+<p>La région est la troisième composante d'une chaîne représentant un identifiant de langue Unicode. Cette chaîne de caractères est généralement passée au constructeur {{jsxref("Locale", "Locale")}}.</p>
+
+<pre class="brush: js">let regionStr = new Intl.Locale("en-Latn-US");
+
+console.log(regionStr.region);
+// Affichera "US" dans la console</pre>
+
+<h3 id="Définir_la_région_via_lobjet_de_configuration_du_constructeur">Définir la région via l'objet de configuration du constructeur</h3>
+
+<p>Le constructeur {{jsxref("Locale", "Locale")}} prend comme second argument un objet de paramétrage dont chacune des propriétés permet de définir une extension ou une composante de la locale.</p>
+
+<pre class="brush: js">let regionObj = new Intl.Locale("fr-Latn", {region: "FR"});
+
+console.log(regionObj.region);
+// Affichera "FR" dans la console</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.region">Proposition pour <code>Intl.Locale.prototype.region</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<div>{{Compat("javascript.builtins.Intl.Locale.region")}}</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+ <li><a href="https://www.unicode.org/cldr/charts/latest/supplemental/territory_containment_un_m_49.html">Tableau Unicode des régions</a></li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/script/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/script/index.html
new file mode 100644
index 0000000000..835855c116
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/script/index.html
@@ -0,0 +1,69 @@
+---
+title: Intl.Locale.prototype.script
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/script
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Propriété
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/script
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/script
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary">La propriété <strong><code>Intl.Locale.prototype.script</code></strong> est fournie via un accesseur et renvoie le script utilisé pour l'écriture d'une langue donnée pour la locale courante.</span></p>
+
+<h2 id="Description">Description</h2>
+
+<p>Un script, ou système d'écriture, est l'une des caractéristiques fondamentales d'une locale. Il décrit l'ensemble des symboles (ou glyphes) qui sont utilisés pour écrire dans une langue donnée. Ainsi, le script associé à l'anglais est l'alphabet latin, le script associé au coréen est le Hangul. Dans la plupart des cas, indiquer le script n'est pas strictement nécessaire car une langue ne s'écrit que dans un script donné. Il existe toutefois des exceptions et il est préférable d'indique le script afin d'avoir un identifiant de langue Unicode complet.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Définir_le_script_via_la_chaîne_de_description_de_la_locale">Définir le script via la chaîne de description de la locale</h3>
+
+<p>Le script correspond à la deuxième partie d'un identifiant de langue Unicode valide. On peut donc le définir en passant un tel identifiant au constructeur {{jsxref("Locale", "Locale")}}. Toutefois, cette composante n'est pas obligatoire pour créer une instance de <code>Locale</code>.</p>
+
+<pre class="brush: js">let scriptStr = new Intl.Locale("en-Latn-US");
+
+console.log(scriptStr.script); // Affichera "Latn" dans la console</pre>
+
+<h3 id="Définir_le_script_grâce_à_lobjet_de_configuration_du_constructeur">Définir le script grâce à l'objet de configuration du constructeur</h3>
+
+<p>Le constructeur {{jsxref("Locale", "Locale")}} permet d'utiliser un objet de configuration dont les propriétés définiront les caractéristiques de la locale :</p>
+
+<pre class="brush: js">let scriptObj = new Intl.Locale("fr-FR", {script: "Latn"});
+
+console.log(scriptObj.script); // Affichera "Latn" dans la console</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.script">Proposition pour <code>Intl.Locale.prototype.script</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<div>{{Compat("javascript.builtins.Intl.Locale.script")}}</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+ <li><a href="https://www.unicode.org/reports/tr35/#unicode_script_subtag_validity">Spécification Unicode pour la composante script</a></li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/locale/tostring/index.html b/files/fr/web/javascript/reference/global_objects/intl/locale/tostring/index.html
new file mode 100644
index 0000000000..afcd6c7300
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/locale/tostring/index.html
@@ -0,0 +1,70 @@
+---
+title: Intl.Locale.prototype.toString()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/Locale/toString
+tags:
+ - Intl
+ - JavaScript
+ - Locale
+ - Méthode
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Locale/toString
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/Locale/toString
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary">La méthode <strong><code>Intl.Locale.prototype.toString()</code></strong> renvoie <a href="https://www.unicode.org/reports/tr35/#Unicode_locale_identifier">l'identifiant de locale complet</a> pour la locale courante.</span></p>
+
+<p>{{EmbedInteractiveExample("pages/js/intl-locale-prototype-tostring.html")}}</p>
+
+<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuer à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><code><em>locale</em>.toString()</code></pre>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>La chaîne de caractères représentant l'identifiant complet de la locale.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Une instance de <code>Locale</code> est une représentation JavaScript d'une locale au sens Unicode. Les informations décrivant une locale donnée (la langue, le système d'écriture, le type de calendrier, etc.) peuvent être encodées en une chaîne de caractères qui est l'identifiant de la locale. Lorsqu'on appelle la méthode <code>toString()</code> sur une instance de <code>Locale</code>, on obtiendra l'identifiant complet de la locale.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js">let maLocale = new Intl.Locale("fr-Latn-FR", {hourCycle: "h24", calendar: "gregory"});
+console.log(maLocale.baseName); // Affiche "fr-Latn-FR"
+console.log(maLocale.toString()); // Affiche "fr-Latn-FR-u-ca-gregory-hc-h24"
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-locale/#sec-Intl.Locale.prototype.toString">Proposition pour <code>Intl.Locale.prototype.toString()</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.Locale.toString")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("Locale", "Intl.Locale")}}</li>
+ <li>{{jsxref("Locale/baseName", "Intl.Locale.baseName")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/numberformat/format/index.html b/files/fr/web/javascript/reference/global_objects/intl/numberformat/format/index.html
new file mode 100644
index 0000000000..86ba29b3de
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/numberformat/format/index.html
@@ -0,0 +1,98 @@
+---
+title: Intl.NumberFormat.prototype.format
+slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/format
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - NumberFormat
+ - Propriété
+ - Prototype
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/format
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/NumberFormat/format
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <code><strong>Intl.NumberFormat.prototype.format()</strong></code> formate un nombre en fonction des options de locales et de formats définis dans l'objet {{jsxref("NumberFormat", "Intl.NumberFormat")}} correspondant.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-numberformat-prototype-format.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><var>numberFormat</var>.format(<var>nombre</var>)</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>nombre</code></dt>
+ <dd>Le nombre qu'on souhaite formater.</dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<p>La fonction d'accesseur <code>format</code> permet de formater un nombre donné en une chaîne de caractères selon les options de locale et de format de l'objet {{jsxref("NumberFormat", "Intl.NumberFormat")}}.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utiliser_format">Utiliser <code>format()</code></h3>
+
+<p>On peut utiliser la fonction renvoyée par <code>format</code> pour formater une valeur monétaire selon la locale russe :</p>
+
+<pre class="brush: js">var options = {style: "currency", currency: "RUB"};
+var numberFormat = new Intl.NumberFormat("ru-RU", options);
+console.log(numberFormat.format(654321.987));
+// → "654 321,99 руб."</pre>
+
+<h3 id="Utiliser_format_avec_map">Utiliser <code>format()</code> avec <code>map()</code></h3>
+
+<p>On peut également utiliser la fonction <code>format</code> pour formater les nombres contenus dans un tableau. On notera que la fonction est liée à l'objet <code>NumberFormat</code> dont elle provient, on peut donc directement l'utiliser avec {{jsxref("Array.prototype.map")}}.</p>
+
+<pre class="brush: js">var a = [123456.789, 987654.321, 456789.123];
+var numberFormat = new Intl.NumberFormat("es-ES");
+var formatted = a.map(numberFormat.format);
+console.log(formatted.join("; "));
+// → "123.456,789; 987.654,321; 456.789,123"</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-11.3.2', 'Intl.NumberFormat.prototype.format')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-11.3.2', 'Intl.NumberFormat.prototype.format')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-Intl.NumberFormat.prototype.format', 'Intl.NumberFormat.prototype.format')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.NumberFormat.format")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("NumberFormat", "Intl.NumberFormat")}}</li>
+ <li>{{jsxref("Number.prototype.toLocaleString()")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/numberformat/formattoparts/index.html b/files/fr/web/javascript/reference/global_objects/intl/numberformat/formattoparts/index.html
new file mode 100644
index 0000000000..a29562ba52
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/numberformat/formattoparts/index.html
@@ -0,0 +1,153 @@
+---
+title: Intl.NumberFormat.prototype.formatToParts()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - NumberFormat
+ - Prototype
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/NumberFormat/formatToParts
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <strong><code>Intl.Numberformat.prototype.formatToParts()</code></strong> permet de produire des fragments de chaînes à partir d'un nombre pour le mettre en forme avec des formateurs <code>NumberTimeFormat</code>.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">Intl.NumberFormat.prototype.formatToParts(nombre)</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>nombre</code> {{optional_inline}}</dt>
+ <dd>Le nombre qu'on souhaite mettre en forme.</dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un tableau {{jsxref("Array")}} contenant des objets correspondants aux différents fragments du nombres.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>La méthode <code>formatToParts()</code> est peut être utilisée lorsqu'on met en forme des chaînes de caractères représentant des valeurs numériques. Cette méthode renvoie un tableau ({{jsxref("Array")}}) d'objets qui sont les différents fragments spécifiques aux locales et qui permettent de construire des chaînes dans un format spécifiques tout en conservant les parties liées à la locale. <code>formatToParts()</code> renvoie une structure analogue à :</p>
+
+<pre class="brush: js">[
+ { type: "integer", value: "3" }
+ { type: "group", value: "." }
+ { type: "integer", value: "500" }
+]</pre>
+
+<p>Les valeurs possibles pour l'attribut <code>type</code> sont :</p>
+
+<dl>
+ <dt><code>currency</code></dt>
+ <dd>Le suffixe associé à la devise. Ce peut être le symbole "$", "€" ou bien le nom de la devise "Dollar", "Euro" selon la façon dont <code>currencyDisplay</code>  est indiquée.</dd>
+ <dt><code>decimal</code></dt>
+ <dd>Le séparateur décimal utilisé (".").</dd>
+ <dt><code>fraction</code></dt>
+ <dd>La partie fractionnaire du nombre.</dd>
+ <dt><code>group</code></dt>
+ <dd>La chaîne de caractères utilisée pour indiquer un groupe (",").</dd>
+ <dt><code>infinity</code></dt>
+ <dd>La chaîne de caractères qui représente la valeur {{jsxref("Infinity")}} ("∞").</dd>
+ <dt><code>integer</code></dt>
+ <dd>La partie entière du nombre.</dd>
+ <dt><code>literal</code></dt>
+ <dd>Toute chaîne de caractères littérale ou blanc utilisée dans le nombre mis en forme.</dd>
+ <dt><code>minusSign</code></dt>
+ <dd>La chaîne de caractères utilisée pour le signe moins ("-").</dd>
+ <dt><code>nan</code></dt>
+ <dd>La chaîne de caractères utilisée pour représenter la valeur {{jsxref("NaN")}} ("NaN").</dd>
+ <dt><code>plusSign</code></dt>
+ <dd>La chaîne de caractères utilisée pour le signe plus ("+").</dd>
+</dl>
+
+<dl>
+ <dt><code>percentSign</code></dt>
+ <dd>La châine de caractères utilisée pour le symbole pourcent ("%").</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p><code>NumberFormat</code> produit une chaîne localisée opaque qui ne peut pas être manipulée directement :</p>
+
+<pre class="brush: js">var number = 3500;
+
+var formatter = new Intl.NumberFormat('de-DE', {
+ style: 'currency',
+ currency: 'EUR'
+});
+
+formatter.format(number);
+// "3.500,00 €"
+</pre>
+
+<p>Toutefois, pour certaines applications, on souhaite adapter la mise en forme de cette chaîne de caractères. La méthode <code>formatToParts</code> permet d'obtenir cette flexibilité tout en conservant les différents fragments produits par <code>NumberFormat</code> :</p>
+
+<pre class="brush: js">formatter.formatToParts(number);
+
+// return value:
+[
+ { type: "integer", value: "3" }
+ { type: "group", value: "." }
+ { type: "integer", value: "500" }
+ { type: "decimal", value: "," }
+ { type: "fraction", value: "00" }
+ { type: "literal", value: " " }
+ { type: "currency", value: "€" }
+]
+</pre>
+
+<p>Maintenant que la chaîne est décomposée, on peut la réassembler d'une façon spécifique. On peut, par exemple utiliser {{jsxref("Array.prototype.map()")}}, <a href="/fr/docs/Web/JavaScript/Reference/Fonctions/Fonctions_fléchées">une fonction fléchée</a>, une <a href="/fr/docs/Web/JavaScript/Reference/Instructions/switch">instruction <code>switch</code></a>, <a href="/fr/docs/Web/JavaScript/Reference/Littéraux_gabarits">des littéraux de gabarits</a> et {{jsxref("Array.prototype.reduce()")}}.</p>
+
+<pre class="brush: js">var numberString = formatter.formatToParts(number).map(({type, value}) =&gt; {
+ switch (type) {
+ case 'currency': return `&lt;strong&gt;${value}&lt;/strong&gt;`;
+ default : return value;
+ }
+}).reduce((string, part) =&gt; string + part);
+</pre>
+
+<p>Grâce à cette fonction, on pourra mettre en gras le suffixe associé à la devise :</p>
+
+<pre class="brush: js">console.log(numberString);
+// "3.500,00 &lt;strong&gt;€&lt;/strong&gt;"</pre>
+
+<h2 id="Prothèse_démulation_polyfill">Prothèse d'émulation (<em>polyfill</em>)</h2>
+
+<p>Une prothèse pour cette fonctionnalité est disponible <a href="https://github.com/zbraniecki/proposal-intl-formatToParts">dans le dépôt associé à la proposition</a>.</p>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-Intl.NumberFormat.prototype.formatToParts', 'Intl.NumberFormat.prototype.formatToParts')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.NumberFormat.formatToParts")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("NumberFormat", "Intl.NumberFormat")}}</li>
+ <li>{{jsxref("NumberFormat.format", "Intl.NumberFormat.prototype.format")}}</li>
+ <li>Formater des dates : {{jsxref("DateTimeFormat.formatToParts", "Intl.DateTimeFormat.prototype.formatToParts()")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/numberformat/index.html b/files/fr/web/javascript/reference/global_objects/intl/numberformat/index.html
new file mode 100644
index 0000000000..2a834de5e0
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/numberformat/index.html
@@ -0,0 +1,204 @@
+---
+title: Intl.NumberFormat
+slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/NumberFormat
+---
+<div>{{JSRef}}</div>
+
+<p>L'objet <strong><code>Intl.NumberFormat</code></strong> est un constructeur permettant de créer des objets pour formater des nombres en fonction de la locale.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-numberformat.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">new Intl.NumberFormat([<var>locales</var>[, <var>options</var>]])
+Intl.NumberFormat.call(<var>this</var>[, <var>locales</var>[, <var>options</var>]])</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code></dt>
+ <dd>
+ <p>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 <code>locales</code>, voir la page {{jsxref("Intl","Intl","#L'identification_et_le_choix_de_la_locale")}}. Les clefs d'extensions Unicode suivantes sont autorisées :</p>
+
+ <dl>
+ <dt>nu</dt>
+ <dd>Le système numérique à utiliser. Parmi les valeurs possibles, on a : <code>"arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".</code></dd>
+ </dl>
+ </dd>
+ <dt><code>options</code></dt>
+ <dd>
+ <p>Paramètre optionnel. Un objet avec certaines ou toutes les propriétés suivantes :</p>
+
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>L'algorithme de correspondance à utiliser pour la locale. Les valeurs possibles sont <code>"lookup"</code> et <code>"best fit"</code> ; le défaut est <code>"best fit"</code>. Pour des informations sur cette option, voir la page {{jsxref("Intl","Intl","##Choix_de_la_locale")}}.</dd>
+ </dl>
+ </dd>
+ <dd>
+ <dl>
+ <dt><code>style</code></dt>
+ <dd>Le style de formatage. Les valeurs possibles sont <code>"decimal"</code> pour l'affichage de nombres simple, <code>"currency"</code> pour un affichage en fonction de la devise et <code>"percent"</code> pour afficher des pourcentages. La valeur par défaut est <code>"decimal"</code>.</dd>
+ <dt><code>currency</code></dt>
+ <dd>La devise à utiliser pour le formatage. Les valeurs possibles sont les codes ISO 4217 pour les devises, tels que <code>"USD"</code> pour le dollar américain, <code>"EUR"</code> pour l'euro, ou <code>"CNY"</code> pour le yuan chinois. Voir la page listant <a href="http://www.currency-iso.org/en/home/tables/table-a1.html">les codes actuels pour les devises et les fonds</a> (en anglais). Il n'y a pas de valeur par défaut. Si le style choisi avec l'option <code>style</code> est "currency", la propriété <code>currency</code> doit être définie.</dd>
+ <dt><code>currencyDisplay</code></dt>
+ <dd>La façon d'afficher la devise dans le format courant. Les valeurs possibles sont <code>"symbol"</code> qui permet d'utiliser un symbole localisé comme '€', <code>"code"</code> qui affichera le code ISO de la devise (voir ci-avant), <code>"name"</code>  affichera un nom localisé pour la devise comme <code>"dollar"</code>. La valeur par défaut est <code>"symbol"</code>.</dd>
+ <dt><code>useGrouping</code></dt>
+ <dd>Cette option indique si on doit utiliser des séparateurs de groupes (comme les séparateurs de milliers ou autres comme lakhs et crores). Les valeurs possibles sont <code>true</code> et <code>false</code>. La valeur par défaut <code>true</code>.</dd>
+ </dl>
+
+ <p>Les propriétés suivantes peuvent être classées en deux groupes. Dans le premier on aura <code>minimumIntegerDigits</code>, <code>minimumFractionDigits</code>, <code>maximumFractionDigits</code> et dans le second on aura <code>minimumSignificantDigits</code> et <code>maximumSignificantDigits</code>. S'il existe une option définie pour le second groupe, les options du premier groupe seront ignorées.</p>
+
+ <dl>
+ <dt><code>minimumIntegerDigits</code></dt>
+ <dd>Le nombre minimal de chiffres à utiliser pour la partie entière. Les valeurs possibles sont comprises entre 1 to 21. La valeur par défaut est 1.</dd>
+ <dt><code>minimumFractionDigits</code></dt>
+ <dd>Le nombre minimal de chiffres à utiliser pour la partie fractionnaire. Les valeurs possibles sont comprises entre 0 et 20. Pour les formats <code>"decimal"</code> et <code>"percent"</code>, la valeur par défaut est 0. La valeur par défaut pour le formatage monétaire (<code>"currency"</code>) correspond au nombre de chiffres défini par <a href="https://www.currency-iso.org/en/home/tables/table-a1.html">la liste de codes de devises ISO 4217</a>, si cette valeur n'est pas définie dans cette liste, on aura 2 chiffres.</dd>
+ <dt><code>maximumFractionDigits</code></dt>
+ <dd>Le nombre maximal de chiffres à utiliser pour représenter la partie fractionnaire. Les valeurs possibles sont comprises entre 0 et 20. Pour le format <code>"decimal"</code>, la valeur par défaut est le maximum entre 3 et <code>minimumFractionDigits</code>. Pour le format monétaire (<code>"currency"</code>), la valeur par défaut est le maximum entre  <code>minimumFractionDigits</code> et le nombre de chiffres prévus par la liste <a href="https://www.currency-iso.org/en/home/tables/table-a1.html">ISO 4217 des codes de devises</a> (ou 2 si cette information n'est pas disponible dans cette liste). Pour le format en pourcent, la valeur par défaut est le maximum entre <code>minimumFractionDigits</code> et 0.</dd>
+ <dt><code>minimumSignificantDigits</code></dt>
+ <dd>Le nombre minimal de chiffres significatifs à utiliser. Les valeurs possibles sont comprises entre 1 et 21. La valeur par défaut est 1.</dd>
+ <dt><code>maximumSignificantDigits</code></dt>
+ <dd>Le nombre maximal de chiffres significatifs à utiliser. Les valeurs possibles sont comprises entre 1 et 21. La valeur par défaut est <code>minimumSignificantDigits</code>.</dd>
+ </dl>
+ </dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<h3 id="Propriétés">Propriétés</h3>
+
+<dl>
+ <dt>{{jsxref("NumberFormat.prototype", "Intl.NumberFormat.prototype")}}</dt>
+ <dd>Permet d'ajouter des propriétés à toutes les instances.</dd>
+</dl>
+
+<h3 id="Méthodes">Méthodes</h3>
+
+<dl>
+ <dt>{{jsxref("NumberFormat.supportedLocalesOf", "Intl.NumberFormat.supportedLocalesOf()")}}</dt>
+ <dd>Renvoie un tableau des locales supportées parmi les locales données afin d'éviter d'utiliser la locale par défaut de l'environnement.</dd>
+</dl>
+
+<h2 id="Instances_de_NumberFormat">Instances de <code>NumberFormat</code></h2>
+
+<h3 id="Propriétés_2">Propriétés</h3>
+
+<p>Les instances de <code>NumberFormat</code> héritent des propriétés suivantes grâce à leur prototype :</p>
+
+<div>{{page('fr/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat/prototype','Properties')}}</div>
+
+<h3 id="Méthods">Méthods</h3>
+
+<div>
+<p>Les instances de <code>NumberFormat</code> héritent des méthodes suivantes grâce à leur prototype :</p>
+{{page('fr/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat/prototype','Methods')}}</div>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Usage_simple">Usage simple</h3>
+
+<p>Sans aucune spécification, le résultat sera une chaîne de caractères avec la locale et les options par défaut :</p>
+
+<pre class="brush: js">var nombre = 3500;
+
+console.log(new Intl.NumberFormat().format(nombre));
+// → "3 500" pour la locale fr
+</pre>
+
+<h3 id="Utiliser_locales">Utiliser <code>locales</code></h3>
+
+<p>Cet exemple illustre les variations possibles des formats numériques localisés. Si vous souhaitez que votre application utilise le format de la locale de l'utilisateur, assurez vous de l'indiquer via l'argument <code>locales</code> (voire avec d'autres locales de secours) :</p>
+
+<pre class="brush: js">var nombre = 123456.789;
+
+// L'allemand utilise la virgule comme séparateur décimal
+// et un point pour indiquer les milliers
+console.log(new Intl.NumberFormat("de-DE").format(nombre));
+// → 123.456,789
+
+// Dans la plupart des pays arabophones, on utilise les
+// chiffres arabo-hindîs
+console.log(new Intl.NumberFormat("ar-EG").format(nombre));
+// → ١٢٣٤٥٦٫٧٨٩
+
+// L'indien utilise des séparateurs pour les milliers,
+//les lakhs et les crores
+console.log(new Intl.NumberFormat("en-IN").format(nombre));
+// → 1,23,456.789
+
+// La clé d'extension nu indique une l'utilisation d'un système numérique
+// par exemple le système chinois
+console.log(new Intl.NumberFormat("zh-Hans-CN-u-nu-hanidec").format(nombre));
+// → 一二三,四五六.七八九
+
+// Lorsqu'une locale n'est pas supportée (par exemple le balinais)
+// on peut inclure une locale de secours (ici l'indonésien)
+console.log(new Intl.NumberFormat(["ban", "id"]).format(nombre));
+// → 123.456,789
+</pre>
+
+<h3 id="Utiliser_options">Utiliser <code>options</code></h3>
+
+<p>Les résultats fournis par <code>toLocaleString</code> peuvent être paramétrés grâce à l'argument <code>options</code> :</p>
+
+<pre class="brush: js">var nombre = 123456.789;
+
+// on affiche une devise avec le style "currency"
+console.log(new Intl.NumberFormat("de-DE", {style: "currency", currency: "EUR"}).format(nombre));
+// → 123.456,79 €
+
+// Le yen japonais n'a pas de centimes
+console.log(new Intl.NumberFormat("ja-JP", {style: "currency", currency: "JPY"}).format(nombre))
+// → ¥123,457
+
+// On se limite ici à trois chiffres significatifs
+console.log(new Intl.NumberFormat("en-IN", {maximumSignificantDigits: 3}).format(nombre));
+// → 1,23,000
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-11.1', 'Intl.NumberFormat')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-11.1', 'Intl.NumberFormat')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#numberformat-objects', 'Intl.NumberFormat')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+
+
+<p>{{Compat("javascript.builtins.Intl.NumberFormat")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<p>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Intl','Voir_aussi')}}</p>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/numberformat/resolvedoptions/index.html b/files/fr/web/javascript/reference/global_objects/intl/numberformat/resolvedoptions/index.html
new file mode 100644
index 0000000000..0a1666e69f
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/numberformat/resolvedoptions/index.html
@@ -0,0 +1,113 @@
+---
+title: Intl.NumberFormat.prototype.resolvedOptions()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/resolvedOptions
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - NumberFormat
+ - Prototype
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/resolvedOptions
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/NumberFormat/resolvedOptions
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <code><strong>Intl.NumberFormat.prototype.resolvedOptions()</strong></code> renvoie un nouvel objet dont les propriétés correspondent aux options de locales et de format calculées à l'initialisation de l'objet {{jsxref("NumberFormat", "Intl.NumberFormat")}}.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-numberformat-prototype-resolvedoptions.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><var>numberFormat</var>.resolvedOptions()</pre>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un objet dont les propriétés correspondent aux options de locale et de format calculées lors de l'initialisation de l'objet {{jsxref("NumberFormat", "Intl.NumberFormat")}}.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Cette méthode renvoie un objet composé des propriétés suivantes :</p>
+
+<dl>
+ <dt><code>locale</code></dt>
+ <dd>La balise de langue BCP 47 qui est utilisée. Si des extensions Unicode avaient été rajoutées à la balise BCP 47 demandée, les paires de clés-valeurs qui ont été demandées et qui sont supportées sont inscrites dans <code>locale</code>.</dd>
+ <dt><code>numberingSystem</code></dt>
+ <dd>La valeur requise via l'extension Unicode <code>"nu"</code> ou celle qui est utilisée par défaut.</dd>
+ <dt><code>style</code></dt>
+ <dt><code>useGrouping</code></dt>
+ <dd>Les valeurs fournies pour ces propriétés via l'argument <code>options</code> ou bien les valeurs par défaut.</dd>
+ <dt><code>currency</code></dt>
+ <dt><code>currencyDisplay</code></dt>
+ <dd>Les valeurs fournies pour ces propriétés via l'argument <code>options</code> ou bien les valeurs par défaut. Ces valeurs sont présentes uniquement si <code>style</code> vaut <code>"currency"</code>.</dd>
+</dl>
+
+<p>Un seul des deux groupes suivants est inclus dans les propriétés :</p>
+
+<dl>
+ <dt><code>minimumIntegerDigits</code></dt>
+ <dt><code>minimumFractionDigits</code></dt>
+ <dt><code>maximumFractionDigits</code></dt>
+ <dd>Les valeurs fournies pour ces propriétés via l'argument <code>options</code> ou bien les valeurs par défaut. Ces propriétés ne sont présentes que si <code>minimumSignificantDigits</code> ou <code>maximumSignificantDigits</code> n'ont pas été fournies à l'argument <code>options</code>.</dd>
+ <dt><code>minimumSignificantDigits</code></dt>
+ <dt><code>maximumSignificantDigits</code></dt>
+ <dd>Les valeurs fournies pour ces propriétés via l'argument <code>options</code> ou bien les valeurs par défaut. Ces propriétés sont présentes si au moins une d'entre elles a été fournie via l'argument <code>options</code>.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utiliser_la_méthode_resolvedOptions">Utiliser la méthode <code>resolvedOptions()</code></h3>
+
+<pre class="brush: js">var de = new Intl.NumberFormat('de-DE');
+var usedOptions = de.resolvedOptions();
+
+usedOptions.locale; // "de-DE"
+usedOptions.numberingSystem; // "latn"
+usedOption.style; // "decimal"
+usedOptions.minimumIntegerDigits; // 1
+usedOptions.minimumFractionDigits; // 0
+usedOptions.maximumFractionDigits; // 3
+usedOptions.useGrouping; // true</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-11.3.3', 'Intl.NumberFormat.prototype.resolvedOptions')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-11.3.3', 'Intl.NumberFormat.prototype.resolvedOptions')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-Intl.NumberFormat.prototype.resolvedOptions', 'Intl.NumberFormat.prototype.resolvedOptions')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.NumberFormat.resolvedOptions")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("NumberFormat", "Intl.NumberFormat")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/numberformat/supportedlocalesof/index.html b/files/fr/web/javascript/reference/global_objects/intl/numberformat/supportedlocalesof/index.html
new file mode 100644
index 0000000000..55c4f67b83
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/numberformat/supportedlocalesof/index.html
@@ -0,0 +1,99 @@
+---
+title: Intl.NumberFormat.supportedLocalesOf()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/supportedLocalesOf
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - NumberFormat
+ - Reference
+ - i18n
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/supportedLocalesOf
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/NumberFormat/supportedLocalesOf
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <code><strong>Intl.NumberFormat.supportedLocalesOf()</strong></code> renvoie un tableau de locales supportées parmi les locales fournies en argument afin d'éviter d'utiliser celle par défaut de l'environnement.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-numberformat-prototype-supportedlocalesof.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">Intl.NumberFormat.supportedLocalesOf(<var>locales</var>[, <var>options</var>])</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code></dt>
+ <dd>Une chaîne de caractères qui est une balise BCP 47 ou un tableau composé de telles chaînes. Pour plus d'informations sur la forme générale de l'argument <code>locales</code>, voir la page {{jsxref("Intl","Intl","#L'identification_et_le_choix_de_la_locale")}}.</dd>
+ <dt><code>options</code></dt>
+ <dd>
+ <p>Un objet qui peut avoir la propriété suivante :</p>
+
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>L'algorithme de correspondance des locales à utiliser. Les valeurs possibles sont "lookup" et "best fit". La valeur par défaut est "best fit". Pour plus d'informations,, voir la page {{jsxref("Intl","Intl","#Choix_de_la_locale")}}.</dd>
+ </dl>
+ </dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un tableau de chaînes de caractères représentant un sous-ensemble des balises de langues qui sont prises en charge pour la mise en forme des nombres sans qu'il soit nécessaire d'utiliser la locale par défaut de l'environnement d'exécution.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Cette méthode renvoie un tableau de locales supportées parmi les locales fournies en argument afin d'éviter d'utiliser celle par défaut de l'environnement. Les locales renvoyées sont celles considérées comme équivalentes aux locales fournies avec l'algorithme indiqué.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utiliser_supportedLocalesOf">Utiliser <code>supportedLocalesOf()</code></h3>
+
+<p>Si on dispose d'un environnement qui supporte les locales indonésienne et allemande mais pas balinaise pour le formatage des dates et des heures, <code>supportedLocalesOf</code> renverra les balises BCP 47 pour l'indonésien et l'allemand (bien que la collation pinyin ne soit pas pertinente pour les nombres ni pour l'indonésien et qu'il soit peu probable qu'une variante indonésienne existe pour l'allemand). Pour l'exemple, on l'utilise l'algorithme <code>"lookup"</code>. Si on utilisait <code>"best fit"</code>, on pourrait considérer que l'indonésien est adéquat pour la locale balinaise (sachant que la plupart des balinais comprend l'indonésien) et donc également renvoyer la balise balinaise.</p>
+
+<pre class="brush: js">var locales = ["ban", "id-u-co-pinyin", "de-ID"];
+var options = {localeMatcher: "lookup"};
+console.log(Intl.NumberFormat.supportedLocalesOf(locales, options).join(", "));
+// → "id-u-co-pinyin, de-ID"</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-11.2.2', 'Intl.NumberFormat.supportedLocalesOf')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Définition initiale</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 2.0', '#sec-11.2.2', 'Intl.NumberFormat.supportedLocalesOf')}}</td>
+ <td>{{Spec2('ES Int 2.0')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int Draft', '#sec-Intl.NumberFormat.supportedLocalesOf', 'Intl.NumberFormat.supportedLocalesOf')}}</td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.NumberFormat.supportedLocalesOf")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("NumberFormat", "Intl.NumberFormat")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/pluralrules/index.html b/files/fr/web/javascript/reference/global_objects/intl/pluralrules/index.html
new file mode 100644
index 0000000000..b8ad591a74
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/pluralrules/index.html
@@ -0,0 +1,161 @@
+---
+title: Intl.PluralRules
+slug: Web/JavaScript/Reference/Global_Objects/Intl/PluralRules
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - PluralRules
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/PluralRules
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/PluralRules
+---
+<div>{{JSRef}}</div>
+
+<p>L'objet <strong><code>Intl.PluralRules</code></strong> est un constructeur d'objets qui permettent de mettre en forme des chaînes de caractères en fonction des règles de nombre (pluriel) d'une langue donnée.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><code>new Intl.PluralRules([<var>locales</var>[, <var>options</var>]])
+</code></pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code></dt>
+ <dd>
+ <p>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 <code>locales</code>, voir la page {{jsxref("Objets_globaux/Intl","Intl","#L'identification_et_le_choix_de_la_locale")}}.</p>
+ </dd>
+ <dt><code>options</code> {{optional_inline}}</dt>
+ <dd>
+ <p>Optionnel, un objet possédant tout ou partie des propriétés suivantes :</p>
+
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>L'algorithme de correspondance à utiliser pour la locale. Les valeurs possibles sont <code>"lookup"</code> et <code>"best fit"</code> ; le défaut est <code>"best fit"</code>. Pour des informations sur cette option, voir la page {{jsxref("Objets_globaux/Intl","Intl","##Choix_de_la_locale")}}</dd>
+ <dt><code>type</code></dt>
+ <dd>Le type de numérotation à utiliser. Les valeurs possibles sont :
+ <ul>
+ <li><code>"cardinal"</code> pour les nombres cardinaux (la quantité de telle ou telle chose). Cette valeur est la valeur par défaut.</li>
+ <li><code>"ordinal"</code> pour les nombres ordinaux (l'ordre relatif de différentes choses « premier », « deuxième », « troisième »).</li>
+ </ul>
+ </dd>
+ </dl>
+ </dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<h3 id="Propriétés">Propriétés</h3>
+
+<dl>
+ <dt>{{jsxref("PluralRules.prototype", "Intl.PluralRules.prototype")}}</dt>
+ <dd>Cette propriété permet d'ajouter des propriétés aux objets <code>Intl.PluralRules</code>.</dd>
+</dl>
+
+<h3 id="Méthodes">Méthodes</h3>
+
+<dl>
+ <dt>{{jsxref("PluralRules.supportedLocalesOf", "Intl.PluralRules.supportedLocalesOf()")}}</dt>
+ <dd>Cette méthode renvoie un tableau contenant les locales prises en charge sans que le moteur ait à utiliser la locale par défaut du système d'exécution.</dd>
+</dl>
+
+<h2 id="Instances_de_PluralRules">Instances de <code>PluralRules</code></h2>
+
+<h3 id="Propriétés_2">Propriétés</h3>
+
+<p>Les instances de <code>PluralRules</code> héritent des propriétés suivantes de par leur prototype :</p>
+
+<div>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/PluralRules/prototype', 'Propriétés')}}</div>
+
+<h3 id="Méthodes_2">Méthodes</h3>
+
+<p>Les instances de <code>PluralRules</code> héritent des méthodes suivantes de par leur prototype :</p>
+
+<div>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/PluralRules/prototype', 'Méthodes')}}</div>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Exemple_simple">Exemple simple</h3>
+
+<p>Sans indiquer de locale, une chaîne formatée dans la locale par défaut et avec les options par défaut est renvoyée. On peut ainsi différencier entre le singulier et le pluriel (par exemple "chien" et "chiens").</p>
+
+<pre class="brush: js">var pr = new Intl.PluralRules();
+
+pr.select(0);
+// → 'one' si utilisée avec une locale anglais américain
+
+pr.select(1);
+// → 'one' si utilisée avec une locale anglais américain
+
+pr.select(2);
+// → 'other' si utilisée avec une locale anglais américain
+</pre>
+
+<h3 id="Utiliser_locales">Utiliser <code>locales</code></h3>
+
+<p>Dans cet exemple, on voit l'impact de la locale sur les règles de nombre. Afin de respecter la langue de l'utilisateur dans votre application, assurez vous d'indiquer cette langue (et éventuellement une langue de secours) grâce à l'argument <code>locales</code> :</p>
+
+<pre class="brush: js">// L'arabe possède plusieurs règles
+// de nombre
+
+new Intl.PluralRules('ar-EG').select(0);
+// → 'zero'
+new Intl.PluralRules('ar-EG').select(1);
+// → 'one'
+new Intl.PluralRules('ar-EG').select(2);
+// → 'two'
+new Intl.PluralRules('ar-EG').select(6);
+// → 'few'
+new Intl.PluralRules('ar-EG').select(18);
+// → 'many'
+</pre>
+
+<h3 id="Utiliser_options">Utiliser <code>options</code></h3>
+
+<p>Les résultats obtenus peuvent être adaptés grâce à l'argument <code>options</code>. Celui-ci possède une propriété appelée <code>type</code> qui peut valoir <code>ordinal</code>. Cela peut être utile afin de déterminer la forme d'un indicateur ordinal (par exemple, "1<sup>er</sup>", "2<sup>e</sup>", etc.).</p>
+
+<pre class="brush: js">var pr = new Intl.PluralRules('en-US', { type: 'ordinal' });
+
+pr.select(0);
+// → 'other'
+pr.select(1);
+// → 'one'
+pr.select(2);
+// → 'two'
+pr.select(3);
+// → 'few'
+pr.select(4);
+// → 'other'
+pr.select(42);
+// → 'two'
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td><a href="https://tc39.es/ecma402/#sec-intl-pluralrules-constructor">Proposition pour le constructeur <code>Intl.PluralRules</code></a></td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div>
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.PluralRules")}}</p>
+</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<div>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Intl', 'Voir_aussi')}}</div>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/pluralrules/resolvedoptions/index.html b/files/fr/web/javascript/reference/global_objects/intl/pluralrules/resolvedoptions/index.html
new file mode 100644
index 0000000000..3a3ddfbfda
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/pluralrules/resolvedoptions/index.html
@@ -0,0 +1,96 @@
+---
+title: Intl.PluralRules.prototype.resolvedOptions()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/PluralRules/resolvedOptions
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - PluralRules
+ - Prototype
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/PluralRules/resolvedOptions
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/PluralRules/resolvedOptions
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <strong><code>Intl.PluralRules.prototype.resolvedOptions()</code></strong> renvoie un nouvel objet dont les propriétés reflètent la locale et les options de formatage relatives aux règles de nombre calculées lors de l'initialisation de l'objet {{jsxref("PluralRules")}}.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><code><var>pluralRule</var>.resolvedOptions()</code></pre>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un nouvel objet dont les propriétés reflètent la locale et les options de formatage relatives aux règles de nombre calculées lors de l'initialisation de l'objet {{jsxref("PluralRules")}}.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>L'objet produit possède les propriétés suivantes :</p>
+
+<dl>
+ <dt><code>locale</code></dt>
+ <dd>La balise de langue BCP 47 pour la locale réellement utilisée. Si une extension Unicode a été demandée dans la balise de langue BCP 47 ayant menée à cette locale, les paires clé/valeur qui ont été demandées et qui sont prises en charge dans cette locale sont incluses dans l'objet <code>locale</code>.</dd>
+ <dt><code>pluralCategories</code></dt>
+ <dd>Un tableau {{jsxref("Array")}} des règles de nombre utilisée pour la langue donnée.</dd>
+ <dt><code>type</code></dt>
+ <dd>Le type de règle utilisée (<code>cardinal</code> ou <code>ordinal</code>).</dd>
+</dl>
+
+<p>Seul l'un de ces deux groupes de propriétés est inclus :</p>
+
+<dl>
+ <dt><code>minimumIntegerDigits</code></dt>
+ <dt><code>minimumFractionDigits</code></dt>
+ <dt><code>maximumFractionDigits</code></dt>
+ <dd>Les valeurs fournies pour ces propriétés via l'argument <code>options</code> ou les valeurs par défaut. Ces propriétés sont uniquement présentes si aucunes des propriétés <code>minimumSignificantDigits</code> ou <code>maximumSignificantDigits</code> n'a été fournie dans l'argument <code>options</code>.</dd>
+ <dt><code>minimumSignificantDigits</code></dt>
+ <dt><code>maximumSignificantDigits</code></dt>
+ <dd>Les valeurs fournies par ces propriétés via l'argument <code>options</code> ou les valeurs par défaut. Ces propriétés sont uniquement présentes si au moins l'une d'entre elles a été fournie dans l'argument <code>options</code>.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utiliser_resolvedOptions">Utiliser <code>resolvedOptions()</code></h3>
+
+<pre class="brush: js">var de = new Intl.PluralRules('de-DE');
+var usedOptions = de.resolvedOptions();
+
+usedOptions.locale; // "de-DE"
+usedOptions.maximumFractionDigits; // 3
+usedOptions.minimumFractionDigits; // 0
+usedOptions.minimumIntegerDigits; // 1
+usedOptions.pluralCategories; // Array [ "one", "other" ]
+usedOptions.type; // "cardinal"
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td><a href="https://rawgit.com/caridy/intl-plural-rules-spec/master/index.html">Brouillon pour les règles de nombre avec <code>Intl</code></a></td>
+ <td>Brouillon</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div>
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.PluralRules.resolvedOptions")}}</p>
+</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("PluralRules", "Intl.PluralRules")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/pluralrules/select/index.html b/files/fr/web/javascript/reference/global_objects/intl/pluralrules/select/index.html
new file mode 100644
index 0000000000..d04dc42435
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/pluralrules/select/index.html
@@ -0,0 +1,80 @@
+---
+title: Intl.PluralRules.select()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/PluralRules/select
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - PluralRules
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/PluralRules/select
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/PluralRules/select
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <strong><code>Intl.PluralRules.prototype.select</code></strong> renvoie une chaîne de caractères qui indique la règle de nombre utilisée pour le formatage relatif à la locale.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><code><var>pluralRule</var>.select(<var>nombre</var>)</code></pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>nombre</code></dt>
+ <dd>Le nombre pour lequel on souhaite obtenir la règle de nombre associée.</dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<p>Cette fonction permet de sélectionner une règle de nombre en fonction de la locale et des options de formatage choisies via un objet {{jsxref("PluralRules")}}.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js"> new Intl.PluralRules('ar-EG').select(0);
+// → 'zero'
+
+new Intl.PluralRules('ar-EG').select(1);
+// → 'one'
+
+new Intl.PluralRules('ar-EG').select(2);
+// → 'two'
+
+new Intl.PluralRules('ar-EG').select(6);
+// → 'few'
+
+new Intl.PluralRules('ar-EG').select(18);
+// → 'many'
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td><a href="https://rawgit.com/caridy/intl-plural-rules-spec/master/index.html">Brouillon pour les règles de nombre avec Intl</a></td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div>
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.PluralRules.select")}}</p>
+</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("PluralRules", "Intl.PluralRules")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/pluralrules/supportedlocalesof/index.html b/files/fr/web/javascript/reference/global_objects/intl/pluralrules/supportedlocalesof/index.html
new file mode 100644
index 0000000000..0fa8543958
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/pluralrules/supportedlocalesof/index.html
@@ -0,0 +1,85 @@
+---
+title: Intl.PluralRules.supportedLocalesOf()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/PluralRules/supportedLocalesOf
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - PluralRules
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/PluralRules/supportedLocalesOf
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/PluralRules/supportedLocalesOf
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <strong><code>Intl.PluralRules.supportedLocalesOf()</code></strong> renvoie un tableau contenant les locales prises en charge, parmi celles passées en argument, pour les règles de nombre (sans avoir à utiliser la locale par défaut du système d'exécution).</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><code>Intl.PluralRules.supportedLocalesOf(<var>locales</var>[, <var>options</var>])</code></pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code></dt>
+ <dd>Une chaîne de caractères représentant une balise de langue BCP 47 ou bien un tableau de telles chaînes. Pour la forme générale de l'argument <code>locales</code>, se référer à la page {{jsxref("Intl", "Intl", "#Identification_et_choix_de_la_locale", 1)}}.</dd>
+ <dt><code>options</code> {{optional_inline}}</dt>
+ <dd>
+ <p>Optionnel. Un objet pouvant contenir la propriété suivante :</p>
+
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>L'algorithme de correspondance à utiliser pour la locale. Les valeurs possibles sont <code>"lookup"</code> et <code>"best fit"</code> ; le défaut est <code>"best fit"</code>. Pour des informations sur cette option, voir la page {{jsxref("Objets_globaux/Intl","Intl","##Choix_de_la_locale")}}.</dd>
+ </dl>
+ </dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un tableau de chaînes de caractères représentant le sous-ensemble de balises de langues prises en charge pour le formatage avec les règles de nombre (sans qu'il soit nécssaire d'utiliser la locale par défaut du système d'exploitation).</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Cette méthode renvoie un tableau contenant un sous-ensemble des balises de langue fournies dans l'argument <code>locales</code>. Les balises de langue sont celles qui sont prises en charge par l'environnement pour le formatage avec les règles de nombre et pour lesquelles la locale respecte l'algorithme de correspondance indiqué. Les locales de ce tableau évitent d'avoir à utiliser la locale du système d'exécution par défaut.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p>Dans l'hypothèse où on utilise un système prenant en charge l'indonésien, l'allemand mais pas le balinais pour le formatage avec les règles de nombre, <code>supportedLocalesOf</code> renvoie les balises de langue indonésienne et allemande inchangées bien que la collation <code>pinyin</code> ne soit pas pertinente ni utilisée avec l'indonésien (et qu'il est peu probable qu'une variante indonésienne pour l'allemand soit prise en charge). On notera que l'algorithme de correspondance <code>"lookup"</code> est utilisé ici. L'algorithme <code>"best fit"</code> aurait pu déterminer que l'indonésien aurait pu remplacer le balinais car la plupart des personnes parlant le balinais comprend également l'indonésien, la fonction aurait alors pu remplacer la balise de langue balinaise.</p>
+
+<pre class="brush: js">var locales = ['ban', 'id-u-co-pinyin', 'de-ID'];
+var options = { localeMatcher: 'lookup' };
+console.log(Intl.PluralRules.supportedLocalesOf(locales, options).join(', '));
+// → "id-u-co-pinyin, de-ID"
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td><a href="https://rawgit.com/caridy/intl-plural-rules-spec/master/index.html">Brouillon pour les règles de nombre avec <code>Intl</code></a></td>
+ <td>{{Spec2('ES Int Draft')}}</td>
+ <td>Définition initiale.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div>
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.PluralRules.supportedLocalesOf")}}</p>
+</div>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("PluralRules", "Intl.PluralRules")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/format/index.html b/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/format/index.html
new file mode 100644
index 0000000000..61d6e1673b
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/format/index.html
@@ -0,0 +1,104 @@
+---
+title: Intl.RelativeTimeFormat.prototype.format()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/format
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/format
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/RelativeTimeFormat/format
+---
+<div>{{JSRef}}</div>
+
+<div>La méthode <strong><code>Intl.RelativeTimeFormat.prototype.format()</code></strong> permet de formater une valeur avec une unité selon des options de locale et de formatage stockées dans l'objet {{jsxref("RelativeTimeFormat")}}.</div>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-relativetimeformat-prototype-format.html")}}</div>
+
+<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuer à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="brush: js"><code>RelativeTimeFormat.format(valeur, unite)</code></pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>valeur</code></dt>
+ <dd>Une valeur numérique qu'on souhaite utiliser pour exprimer un temps relatif dans un message internationalisé.</dd>
+</dl>
+
+<dl>
+ <dt><code>unite</code></dt>
+ <dd>L'unité à utiliser pour le message internationalisé exprimant le temps relatif. Les valeurs possibles pour cet argument sont <code>"year"</code> (année), <code>"quarter"</code> (trimestre), <code>"month"</code> (mois), <code>"week"</code> (semaine), <code>"day"</code> (jour), <code>"hour"</code> (heure), <code>"minute"</code> (minute), <code>"second"</code> (secondes). Les formes plurielles sont également autorisées.</dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<p>La fonction renvoyée par l'accesseur <code>format</code> permet de formater une valeur et une unité en une chaîne de caractères en prenant en compte la locale et les options de formatage associées à l'objet {{jsxref("RelativeTimeFormat", "Intl.RelativeTimeFormat")}} utilisé.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utilisation_simple_de_format">Utilisation simple de <code>format</code></h3>
+
+<p>L'exemple suivant illustre comment créer un outil de formatage pour les valeurs de temps relatifs en anglais.</p>
+
+<pre class="brush: js">// On crée un outil de formatage pour les valeurs exprimant
+// les temps relatifs en anglais, avec les valeurs par défaut
+// utilisées explicitement.
+const rtf = new Intl.RelativeTimeFormat("en", {
+ localeMatcher: "best fit", // autre valeur possible : "lookup"
+ numeric: "always", // autre valeur possible : "auto"
+ style: "long", // autres valeurs possibles : "short" ou "narrow"
+});
+
+// Formatage d'une valeur relative négative.
+rtf.format(-1, "day");
+// &gt; "1 day ago"
+
+// Formatage d'une valeur relative positive.
+rtf.format(1, "day");
+// &gt; "in 1 day"</pre>
+
+<h3 id="Utiliser_loption_auto">Utiliser l'option <code>auto</code></h3>
+
+<p>Si on passe l'option <code>numeric:auto</code>, c'est la chaîne de caractères <code>yesterday</code> ou <code>tomorrow</code> qui sera produite (en anglais) plutôt que <code>1 day ago</code> ou <code>in 1 day</code>. Cela permet de n'avoir pas nécessairement une valeur numérique en résultat.</p>
+
+<pre class="brush: js">// On crée un formateur en anglais avec l'option
+// numeric: "auto".
+const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
+
+// Formatage d'une valeur relative négative.
+rtf.format(-1, "day");
+// &gt; "yesterday"
+
+// Formatage d'une valeur relative positive.
+rtf.format(1, "day");
+// &gt; "tomorrow"
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-relative-time/#sec-Intl.RelativeTimeFormat.prototype.format">Proposition pour <code>Intl.RelativeTime</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.RelativeTimeFormat.format")}}</p>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/formattoparts/index.html b/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/formattoparts/index.html
new file mode 100644
index 0000000000..f7c8fe4e50
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/formattoparts/index.html
@@ -0,0 +1,87 @@
+---
+title: Intl.RelativeTimeFormat.prototype.formatToParts()
+slug: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/formatToParts
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/formatToParts
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/RelativeTimeFormat/formatToParts
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <strong><code>Intl.RelativeTimeFormat.prototype.formatToParts()</code></strong> est une méthode analogue à <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Intl.RelativeTimeFormat/format">format()</a></code> qui renvoie un tableau d'objets contenant les différentes parties représentant le message internationalisé pour le temps relatif.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-relativetimeformat-prototype-formattoparts.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="brush: js"><code>RelativeTimeFormat.formatToParts(valeur, unite)</code></pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>valeur</code></dt>
+ <dd>Une valeur numérique qu'on souhaite formater pour un message internationalisé exprimant un temps relatif.</dd>
+</dl>
+
+<dl>
+ <dt><code>unite</code></dt>
+ <dd>L'unité à utiliser pour le message internationalisé exprimant le temps relatif. Les valeurs possibles pour cet argument sont <code>"year"</code> (année), <code>"quarter"</code> (trimestre), <code>"month"</code> (mois), <code>"week"</code> (semaine), <code>"day"</code> (jour), <code>"hour"</code> (heure), <code>"minute"</code> (minute), <code>"second"</code> (secondes). Les formes plurielles sont également autorisées.</dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un tableau ({{jsxref("Array")}}) d'objets contenant les fragments composant la chaîne de caractères localisée et mise en forme pour exprimer le temps relatif.</p>
+
+<h2 id="Description">Description</h2>
+
+<div>La méthode <code>Intl.RelativeTimeFormat.prototype.formatToParts()</code> est une méthode analogue à la méthode <code>format()</code> mais renvoie un tableau d'objets représentant chacun une partie du message internationalisé. Ces objets ont deux propriétés : <code>type</code> et <code>value</code>. Si un des composants provient de <code>NumberFormat</code>, il aura une propriété <code>unit</code> indiquant l'unité utilisée pour le formatage.</div>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js">const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
+
+// Format relative time using the day unit.
+rtf.formatToParts(-1, "day");
+// &gt; [{ type: "literal", value: "yesterday"}]
+
+rtf.formatToParts(100, "day");
+// &gt; [{ type: "literal", value: "in " },
+ { type: "integer", value: "100", unit: "day" },
+ { type: "literal", value: " days" }]</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécifications</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-relative-time/#sec-Intl.RelativeTimeFormat.prototype.formatToParts">Proposition pour <code>Intl.RelativeTime</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.RelativeTimeFormat.formatToParts")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("RelativeTimeFormat", "Intl.RelativeTimeFormat")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/index.html b/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/index.html
new file mode 100644
index 0000000000..92ebdc9d8d
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/index.html
@@ -0,0 +1,163 @@
+---
+title: Intl.RelativeTimeFormat
+slug: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat
+tags:
+ - Constructeur
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Reference
+translation_of: Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat
+original_slug: Web/JavaScript/Reference/Objets_globaux/Intl/RelativeTimeFormat
+---
+<div>{{JSRef}}</div>
+
+<p>L'objet <strong><code>Intl.RelativeTimeFormat</code></strong> est un constructeur fournissant des objets pour mettre en forme des données temporelles relatives en respectant le format des locales.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-relativetimeformat.html")}}</div>
+
+<p class="hidden">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 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre>new Intl.RelativeTimeFormat([<var>locales</var>[, <var>options</var>]])</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code></dt>
+ <dd>
+ <p>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 <code>locales</code>, voir la page {{jsxref("Objets_globaux/Intl","Intl","#L'identification_et_le_choix_de_la_locale")}}.</p>
+ </dd>
+ <dt><code>options</code> {{optional_inline}}</dt>
+ <dd>
+ <p>Optionnel, un objet possédant tout ou partie des propriétés suivantes :</p>
+ </dd>
+ <dd>
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>L'algorithme de correspondance à utiliser pour la locale. Les valeurs possibles sont <code>"lookup"</code> et <code>"best fit"</code> ; le défaut est <code>"best fit"</code>. Pour des informations sur cette option, voir la page {{jsxref("Objets_globaux/Intl","Intl","##Choix_de_la_locale")}}.</dd>
+ <dt><code>numeric</code></dt>
+ <dd>Le format du message de sortie. Les valeurs possibles sont <code>"always"</code> (par exemple <code>1 day ago</code>) ou  <code>"auto"</code> (par exemple <code>yesterday</code>). <code>"auto"</code> permet de ne pas toujours avoir de valeurs numériques dans le message produit.</dd>
+ </dl>
+
+ <dl>
+ <dt><code>style</code></dt>
+ <dd>La longueur du message internationalisé. Les valeurs possibles sont : <code>"long"</code> (la valeur par défaut) (par exemple : <code>in 1 month</code>), <code>"short"</code> (par exemple : <code>in 1 mo.</code>) ou  <code>"narrow"</code> (par exemple : <code>in 1 mo.</code>). Le style <code>narrow</code> peut être semblable au style <code>short</code> pour certaines locales.</dd>
+ </dl>
+ </dd>
+</dl>
+
+<h2 id="Description">Description</h2>
+
+<h3 id="Propriétés">Propriétés</h3>
+
+<dl>
+ <dt>{{jsxref("RelativeTimeFormat.prototype", "Intl.RelativeTimeFormat.prototype")}}</dt>
+ <dd>Cette propriété permet d'ajouter des propriétés à l'ensemble des instances.</dd>
+</dl>
+
+<h3 id="Méthodes">Méthodes</h3>
+
+<dl>
+ <dt>{{jsxref("RelativeTimeFormat.supportedLocalesOf", "Intl.RelativeTimeFormat.supportedLocalesOf()")}}</dt>
+ <dd>Cette méthode renvoie un tableau des locales, parmi celles passées en argument, qui sont pris en charge pour le formatage internationalisé des temps relatifs sans qu'il y ait besoin d'utiliser la locale par défaut de l'environnement d'exécution.</dd>
+</dl>
+
+<h2 id="Les_instances_de_RelativeTimeFormat">Les instances de <code>RelativeTimeFormat</code></h2>
+
+<h3 id="Propriétés_2">Propriétés</h3>
+
+<p>Les instances de RelativeTimeFormat héritent des propriétés suivantes grâce à leur prototype :</p>
+
+<p>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Intl.RelativeTimeFormat/prototype', 'Propriétés')}}</p>
+
+<h3 id="Méthodes_2">Méthodes</h3>
+
+<p>Les instances de <code>RelativeTimeFormat</code> héritent des méthodes suivantes grâce à leur prototype :</p>
+
+<p>{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/Intl.RelativeTimeFormat/prototype', 'Méthodes')}}</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Utiliser_format">Utiliser <code>format()</code></h3>
+
+<p>L'exemple suivant illustre comment créer un formateur de temps relatif en anglais :</p>
+
+<pre class="brush: js">// On crée un formateur en anglais en utilisant explicitement
+// les valeurs par défaut.
+const rtf = new Intl.RelativeTimeFormat("en", {
+ localeMatcher: "best fit", // autre valeur possible : "lookup"
+ numeric: "always", // autre valeur possible : "auto"
+ style: "long", // autre valeur possible : "short" ou "narrow"
+});
+
+// On formate un temps relatif avec une valeur négative (-1).
+rtf.format(-1, "day");
+// &gt; "1 day ago"
+
+// On formate un temps relatif avec une valeur positive (1).
+rtf.format(1, "day");
+// &gt; "in 1 day"</pre>
+
+<h3 id="Utiliser_loption_auto">Utiliser l'option <code>auto</code></h3>
+
+<p>Si l'option <code>numeric:auto</code> est passée, on aura la chaîne de caractères <code>yesterday</code> ou <code>tomorrow</code> plutôt que <code>1 day ago</code> ou <code>in 1 day</code>. De cette façon, on peut ne pas avoir de valeur numérique dans la valeur produite.</p>
+
+<pre class="brush: js">// On crée un formateur en anglais avec l'option
+// numeric: "auto".
+const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
+
+// On formate un temps relatif avec une valeur négative (-1).
+rtf.format(-1, "day");
+// &gt; "yesterday"
+
+// On formate un temps relatif avec une valeur positive (1).
+rtf.format(1, "day");
+// &gt; "tomorrow"
+</pre>
+
+<h3 id="Utiliser_formatToParts">Utiliser <code>formatToParts()</code></h3>
+
+<p>L'exemple suivant illustre comment créer un formateur de temps relatif qui renvoie les différents fragments pour exprimer le temps relatif internationalisé.</p>
+
+<pre class="brush: js">const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
+
+// On crée un temps relatif exprimé en jour.
+rtf.formatToParts(-1, "day");
+// &gt; [{ type: "literal", value: "yesterday"}]
+
+rtf.formatToParts(100, "day");
+// &gt; [{ type: "literal", value: "in " },
+ { type: "integer", value: "100", unit: "day" },
+ { type: "literal", value: " days" }]
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Etat</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ <td><a href="https://tc39.es/proposal-intl-relative-time/#sec-intl-relativetimeformat-constructor">Proposition pour le constructeur <code>Intl.RelativeTimeFormat</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une <em>pull request</em>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.RelativeTimeFormat")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li><a href="https://developers.google.com/web/updates/2018/10/intl-relativetimeformat">L'API <code>Intl.RelativeTimeFormat</code>, un billet de Mathias Bynens (en anglais)</a></li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/resolvedoptions/index.html b/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/resolvedoptions/index.html
new file mode 100644
index 0000000000..023a9c3e8d
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/resolvedoptions/index.html
@@ -0,0 +1,102 @@
+---
+title: Intl.RelativeTimeFormat.prototype.resolvedOptions()
+slug: >-
+ Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/resolvedOptions
+tags:
+ - Internationalization
+ - Intl
+ - JavaScript
+ - Méthode
+ - Prototype
+ - Reference
+ - i18n
+translation_of: >-
+ Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/resolvedOptions
+original_slug: >-
+ Web/JavaScript/Reference/Objets_globaux/Intl/RelativeTimeFormat/resolvedOptions
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <strong><code>Intl.RelativeTimeFormat.prototype.resolvedOptions()</code></strong> renvoie un nouvel objet dont les propriétés reflètent les options de format et de locale pour les valeurs temporelles relatives, calculées pendant l'initialisation de l'objet {{jsxref("RelativeTimeFormat")}}.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-relativetimeformat-prototype-resolvedoptions.html")}}</div>
+
+<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuer à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox"><var>relativeTimeFormat</var>.resolvedOptions()</pre>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un nouvel objet dont les propriétés reflètent les options de locale et de formatage calculées lors de l'initialisation de l'objet {{jsxref("RelativeTimeFormat")}}.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>L'objet renvoyé par cette méthode possèdera les propriétés suivantes :</p>
+
+<dl>
+ <dt><code>locale</code></dt>
+ <dd>La balise de langue BCP 47 qui est réellement utilisée. Si des extensions Unicode étaient fournies avec la balise d'origine et sont supportées pour la locale utilisée, les paires de clés-valeurs seront incluses dans <code>locale</code>.</dd>
+ <dt><code>style</code></dt>
+ <dd>La longueur du message internationalisé. Les valeurs possibles sont :
+ <ul>
+ <li><code>"long"</code> : la valeur par défaut, peu concise (par exemple <code>in 1 month</code>)</li>
+ <li><code>"short"</code> : une valeur plus courte (par exemple <code>in 1 mo.</code>),</li>
+ <li><code>"narrow"</code> : une valeur encore plus courte (pouvant être ambigüe selon les locales) (par exemple <code>in 1 mo.</code>). Les styles <code>narrow</code> et <code>short</code> peuvent être similaires voire identiques pour certaines locales.</li>
+ </ul>
+ </dd>
+ <dt><code>numeric</code></dt>
+ <dd>Le format du message produit. Les valeurs possibles sont :
+ <ul>
+ <li><code>"always"</code> : la valeur par défaut (par exemple  <code>1 day ago</code>),</li>
+ <li><code>"auto"</code> : cette valeur indique qu'il n'est pas nécessaire d'utiliser de valeur numérique dans le message produit (par exemple <code>yesterday</code>).</li>
+ </ul>
+ </dd>
+ <dt><code>numberingSystem</code></dt>
+ <dd>La valeur demandée pour la clé d'extension Unicode <code>"nu"</code> ou la valeur remplie par défaut.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</h2>
+
+<pre class="brush: js">var de = new Intl.RelativeTimeFormat('de-DE');
+var usedOptions = de.resolvedOptions();
+
+usedOptions.locale; // "de-DE"
+usedOptions.style; // "long"
+usedOptions.numeric; // "always"
+usedOptions.numberingSystem; // "latn"
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ <tr>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-relative-time/#sec-intl.relativetimeformat.prototype.resolvedoptions">Proposition pour <code>Intl.RelativeTime</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.RelativeTimeFormat.resolvedOptions")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("RelativeTimeFormat", "Intl.RelativeTimeFormat")}}</li>
+</ul>
diff --git a/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/supportedlocalesof/index.html b/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/supportedlocalesof/index.html
new file mode 100644
index 0000000000..49419b74c9
--- /dev/null
+++ b/files/fr/web/javascript/reference/global_objects/intl/relativetimeformat/supportedlocalesof/index.html
@@ -0,0 +1,89 @@
+---
+title: Intl.RelativeTimeFormat.supportedLocalesOf()
+slug: >-
+ Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/supportedLocalesOf
+tags:
+ - Internationalisation
+ - Intl
+ - JavaScript
+ - Méthode
+ - Reference
+translation_of: >-
+ Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/supportedLocalesOf
+original_slug: >-
+ Web/JavaScript/Reference/Objets_globaux/Intl/RelativeTimeFormat/supportedLocalesOf
+---
+<div>{{JSRef}}</div>
+
+<p>La méthode <strong><code>Intl.RelativeTimeFormat.supportedLocalesOf()</code></strong> renvoie un tableau contenant l'ensemble des locales, parmi celles fournies en argument, qui sont prises en charge pour le formatage internationalisé du temps relatif, sans avoir à utiliser la locale par défaut de l'environnement d'exécution.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/intl-relativetimeformat-prototype-supportedlocalesof.html")}}</div>
+
+<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuer à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre>Intl.RelativeTimeFormat.supportedLocalesOf(<var>locales</var>[, <var>options</var>])</pre>
+
+<h3 id="Paramètres">Paramètres</h3>
+
+<dl>
+ <dt><code>locales</code></dt>
+ <dd>Un chaîne de caractères au format d'une balise de langue BCP 47 ou bien un tableau de telles chaînes. Pour plus d'informations sur le format de l'argument <code>locales</code>, voir la page {{jsxref("Intl", "Intl", "#L'identification_et_le_choix_de_la_locale")}}.</dd>
+ <dt><code>options</code></dt>
+ <dd>
+ <p>Paramètre optionnel, un objet pouvant avoir la propriété suivante :</p>
+
+ <dl>
+ <dt><code>localeMatcher</code></dt>
+ <dd>L'algorithme de correspondance entre locales à utiliser. Les valeurs possibles sont "lookup" et "best fit". Pour plus d'informations sur ce sujet, voir la page {{jsxref("Intl", "Intl", "#Choix_de_la_locale")}}.</dd>
+ </dl>
+ </dd>
+</dl>
+
+<h3 id="Valeur_de_retour">Valeur de retour</h3>
+
+<p>Un tableau de chaînes de caractères qui représente un sous-ensemble des balises de langue qui sont prises en charge pour la mise en forme du temps relatif sans qu'il soit nécessaire d'utiliser la locale par défaut de l'environnement d'exécution.</p>
+
+<h2 id="Description">Description</h2>
+
+<p>Cette méthode renvoie un tableau qui est un sous-ensemble de <code>locales</code>. Les balises de langues renvoyées sont celles supportées par l'environnement pour le formatage des temps relatifs. Ces balises sont déterminées en fonction de l'algorithme de correspondances de locale et des locales utilisées. Le tableau résultant fournit les locales qui permettent de ne pas avoir à utiliser la locale par défaut.</p>
+
+<h2 id="Examples">Examples</h2>
+
+<h3 id="Utiliser_supportedLocalesOf">Utiliser <code>supportedLocalesOf()</code></h3>
+
+<p>Si on dispose d'un environnement qui supporte les locales indonésienne et allemande mais pas balinaise pour le formatage des temps relatifs, <code>supportedLocalesOf</code> renverra les balises BCP 47 pour l'indonésien et l'allemand (bien que la collation pinyin ne soit pas pertinente pour les dates ni pour l'indonésien et qu'il soit peu probable qu'une variante indonésienne existe pour l'allemand). Pour l'exemple, on l'utilise l'algorithme <code>"lookup"</code>. Si on utilisait <code>"best fit"</code>, on pourrait considérer que l'indonésien est adéquat pour la locale balinaise (sachant que la plupart des balinais comprend l'indonésien) et donc également renvoyer la balise balinaise.</p>
+
+<pre>var locales = ['ban', 'id-u-co-pinyin', 'de-ID'];var options = { localeMatcher: 'lookup' };console.log(Intl.RelativeTimeFormat.supportedLocalesOf(locales, options).join(', '));// → "id-u-co-pinyin, de-ID"</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">État</th>
+ <th scope="col">Commentaires</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-intl-relative-time/#sec-Intl.RelativeTimeFormat.supportedLocalesOf">Proposition pour <code>Intl.RelativeTime</code></a></td>
+ <td>Proposition de niveau 3</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
+
+<p>{{Compat("javascript.builtins.Intl.RelativeTimeFormat.supportedLocalesOf")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li>{{jsxref("RelativeTimeFormat", "Intl.RelativeTimeFormat")}}</li>
+</ul>