i18n サポート
V8 はオプションとして ECMAScript 402 仕様 を実装しています。API はデフォルトで有効になっていますが、コンパイル時にオフにすることができます。
前提条件 #
i18n 実装は ICU に依存関係を追加します。V8 は v7.2 時点で、少なくとも ICU バージョン 63 が必要です。正確な依存関係は V8 の DEPS
ファイル に記載されています。
適切なバージョンの ICU を third_party/icu
にチェックアウトするには、次のコマンドを実行します。
gclient sync
詳細については、「最新情報を入手する」 を参照してください。
ICU の別のチェックアウト方法 #
別の場所で ICU ソースをチェックアウトでき、icu_gyp
ファイルを指すように gyp 変数 icu_gyp_path
を定義できます。
システムの 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
を設定します。