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 を設定します。