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.