Aller au contenu principal

Intl.PluralRules

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Un polyfill conforme à la spécification pour Intl.PluralRules, entièrement testé par la suite officielle de conformité ECMAScript

npm Version size

Installation

npm i @formatjs/intl-pluralrules

Prérequis

Utilisation

Via polyfill-fastly.io

Vous pouvez utiliser le générateur d'URL polyfill-fastly.io pour créer une balise script de polyfill pour Intl.PluralRules. Par défaut, l'URL générée ne contient aucune donnée de locale. Pour ajouter des données de locale, ajoutez Intl.PluralRules.~locale.<locale> à votre liste de fonctionnalités. Par exemple :

<!-- Polyfill Intl.PluralRules, its dependencies & `en` locale data -->
<script src="https://polyfill-fastly.io/v3/polyfill.min.js?features=Intl.PluralRules,Intl.PluralRules.~locale.en"></script>

Exemple simple

import '@formatjs/intl-pluralrules/polyfill'
import '@formatjs/intl-pluralrules/locale-data/en' // locale-data for en

React Native

Le code de détection conditionnelle du polyfill s'exécute très lentement sur Android et peut ralentir le démarrage de votre application de plusieurs secondes. Comme React Native utilise Hermes qui ne prend pas en charge Intl.PluralRules, importez plutôt /polyfill-force pour des performances bien supérieures :

import '@formatjs/intl-pluralrules/polyfill-force' // instead of /polyfill
import '@formatjs/intl-pluralrules/locale-data/en'

Import dynamique + détection de capacités

import {shouldPolyfill} from '@formatjs/intl-pluralrules/should-polyfill'
async function polyfill(locale: string) {
const unsupportedLocale = shouldPolyfill(locale)
// This locale is supported
if (!unsupportedLocale) {
return
}
// Load the polyfill 1st BEFORE loading data
await import('@formatjs/intl-pluralrules/polyfill-force')
await import(`@formatjs/intl-pluralrules/locale-data/${unsupportedLocale}`)
}