Перейти к основному содержимому

поддержка i18n

V8 опционально реализует спецификацию ECMAScript 402. API включено по умолчанию, но может быть отключено на этапе компиляции.

Требования

Реализация i18n добавляет зависимость от ICU. Начиная с версии v7.2, V8 требует как минимум ICU версии 63. Точная зависимость указана в файле DEPS V8.

Выполните следующую команду, чтобы проверить подходящую версию ICU в third_party/icu:

gclient sync

Подробнее см. в разделе “обновление”.

Альтернативная проверка ICU

Вы можете проверить исходные коды ICU в другом месте и определить переменную gyp icu_gyp_path, указывающую на файл icu.gyp.

Системный ICU

И наконец, вы можете скомпилировать V8 с использованием версии ICU, установленной в вашей системе. Для этого укажите переменную GYP use_system_icu=1. Если также включена опция want_separate_host_toolset, встроенный ICU всё равно будет скомпилирован для генерации снимка состояния V8. Системный ICU используется только для целевой архитектуры.

Встраивание V8

Если вы встраиваете V8 в своё приложение, но само приложение не использует ICU, вам нужно инициализировать ICU перед вызовом V8, выполнив:

v8::V8::InitializeICU();

Этот метод безопасен для вызова, если ICU не был скомпилирован, в этом случае он ничего не делает.

Компиляция без поддержки i18n

Чтобы собрать V8 без поддержки i18n, используйте gn args, чтобы установить v8_enable_i18n_support = false перед компиляцией.