soporte de i18n
V8 implementa opcionalmente la especificación ECMAScript 402. La API está habilitada de forma predeterminada, pero se puede desactivar en el momento de la compilación.
Prerrequisitos
La implementación de i18n agrega una dependencia de ICU. A partir de la versión 7.2, V8 requiere al menos la versión 63 de ICU. La dependencia exacta se especifica en el archivo DEPS
de V8.
Ejecute el siguiente comando para obtener una versión adecuada de ICU en third_party/icu
:
gclient sync
Consulte “mantenerse actualizado” para más detalles.
Alternativa para obtener ICU
Puede obtener las fuentes de ICU en una ubicación diferente y definir la variable gyp icu_gyp_path
para apuntar al archivo icu.gyp
.
ICU del sistema
Por último, pero no menos importante, puede compilar V8 contra una versión de ICU instalada en su sistema. Para hacerlo, especifique la variable GYP use_system_icu=1
. Si también tiene habilitado want_separate_host_toolset
, el ICU empaquetado aún se compila para generar el snapshot de V8. El ICU del sistema solo se usa para la arquitectura de destino.
Incrustar V8
Si incrusta V8 en su aplicación, pero su propia aplicación no usa ICU, necesita inicializar ICU antes de llamar a V8 ejecutando:
v8::V8::InitializeICU();
Es seguro invocar este método si ICU no fue compilado; en ese caso, no hace nada.
Compilar sin soporte de i18n
Para compilar V8 sin soporte de i18n, use gn args
para configurar v8_enable_i18n_support = false
antes de compilar.