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.