Zum Hauptinhalt springen

i18n Unterstützung

V8 implementiert optional die ECMAScript 402-Spezifikation. Die API ist standardmäßig aktiviert, kann jedoch zur Kompilierungszeit deaktiviert werden.

Voraussetzungen​

Die i18n-Implementierung fügt eine Abhängigkeit zu ICU hinzu. Ab Version 7.2 benötigt V8 mindestens ICU Version 63. Die genaue Abhängigkeit ist in V8s DEPS-Datei angegeben.

Führen Sie den folgenden Befehl aus, um eine geeignete Version von ICU in third_party/icu einzuchecken:

gclient sync

Weitere Details finden Sie unter „Up-to-date bleiben“.

Alternatives ICU-Checkout​

Sie können die ICU-Quellen an einem anderen Ort einchecken und die GYP-Variable icu_gyp_path definieren, um auf die Datei icu.gyp zu verweisen.

System-ICU​

Zu guter Letzt können Sie V8 gegen eine auf Ihrem System installierte ICU-Version kompilieren. Geben Sie dazu die GYP-Variable use_system_icu=1 an. Wenn Sie auch want_separate_host_toolset aktiviert haben, wird das mitgelieferte ICU weiterhin kompiliert, um den V8-Snapshot zu generieren. Das System-ICU wird nur für die Zielarchitektur verwendet.

V8 einbetten​

Wenn Sie V8 in Ihre Anwendung einbetten, Ihre Anwendung selbst jedoch kein ICU verwendet, müssen Sie ICU initialisieren, bevor Sie V8 aufrufen, indem Sie folgendes ausführen:

v8::V8::InitializeICU();

Es ist sicher, diese Methode aufzurufen, wenn ICU nicht kompiliert wurde; in diesem Fall tut sie nichts.

Kompilieren ohne i18n-Unterstützung​

Um V8 ohne i18n-Unterstützung zu bauen, setzen Sie gn args, um v8_enable_i18n_support = false vor der Kompilierung festzulegen.