Intl.PluralRules
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
Installation
- npm
- yarn
npm i @formatjs/intl-pluralrules
yarn add @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}`)
}