support i18n
V8 implémente facultativement la spécification ECMAScript 402. L'API est activée par défaut, mais peut être désactivée au moment de la compilation.
Prérequis
L'implémentation i18n ajoute une dépendance à ICU. Depuis la version 7.2, V8 nécessite au moins la version 63 d'ICU. La dépendance exacte est spécifiée dans le fichier DEPS
de V8.
Exécutez la commande suivante pour télécharger une version appropriée d'ICU dans third_party/icu
:
gclient sync
Voir “rester à jour” pour de plus amples détails.
Téléchargement alternatif d'ICU
Vous pouvez télécharger les sources ICU à un autre emplacement et définir la variable gyp icu_gyp_path
pour pointer vers le fichier icu.gyp
.
ICU dans le système
Enfin, vous pouvez compiler V8 contre une version d'ICU installée dans votre système. Pour ce faire, spécifiez la variable GYP use_system_icu=1
. Si vous avez également activé want_separate_host_toolset
, l'ICU inclus est toujours compilé pour générer le snapshot V8, mais l'ICU du système est utilisé uniquement pour l'architecture cible.
Intégrer V8
Si vous intégrez V8 dans votre application, mais que votre application elle-même n'utilise pas ICU, vous devez initialiser ICU avant d'appeler V8 en exécutant :
v8::V8::InitializeICU();
Il est sûr d'invoker cette méthode si ICU n'a pas été compilé, dans ce cas elle ne fait rien.
Compiler sans support i18n
Pour compiler V8 sans support i18n, utilisez gn args
pour définir v8_enable_i18n_support = false
avant de compiler.