i18n 支援
V8 選擇性地實作 ECMAScript 402 規範。此 API 預設啟用,但可以在編譯時關閉。
先決條件 #
i18n 實作新增對 ICU 的相依性。從 v7.2 開始,V8 至少需要 ICU 版本 63。確切的相依性在 V8 的 DEPS
檔案 中指定。
執行以下指令,將適當版本的 ICU 簽出至 third_party/icu
gclient sync
請參閱 “保持最新”,以取得更多詳細資料。
備用 ICU 簽出 #
您可以在不同的位置簽出 ICU 原始程式碼,並定義 gyp 變數 icu_gyp_path
,指向 icu.gyp
檔案。
系統 ICU #
最後但並非最不重要的一點,您可以針對系統中安裝的 ICU 版本編譯 V8。為此,請指定 GYP 變數 use_system_icu=1
。如果您也啟用了 want_separate_host_toolset
,仍會編譯已套件的 ICU 以產生 V8 快照。系統 ICU 僅用於目標架構。
嵌入 V8 #
如果您在應用程式中嵌入 V8,但應用程式本身不使用 ICU,則需要在呼叫 V8 之前執行,初始化 ICU
v8::V8::InitializeICU();
如果 ICU 未編譯,呼叫此方法是安全的,則不會執行任何動作。
在沒有 i18n 支援的情況下編譯 #
若要在沒有 i18n 支援的情況下建置 V8,請使用 gn args
在編譯之前設定 v8_enable_i18n_support = false
。