Suporte a i18n
O V8 implementa opcionalmente a especificação ECMAScript 402. A API está habilitada por padrão, mas pode ser desativada no tempo de compilação.
Pré-requisitos
A implementação de i18n adiciona uma dependência ao ICU. A partir da versão v7.2, o V8 requer pelo menos a versão 63 do ICU. A dependência exata está especificada no arquivo DEPS
do V8.
Execute o seguinte comando para verificar uma versão adequada do ICU em third_party/icu
:
gclient sync
Veja “mantendo-se atualizado” para mais detalhes.
Checkout alternativo do ICU
Você pode fazer checkout das fontes do ICU em um local diferente e definir a variável icu_gyp_path
no gyp para apontar para o arquivo icu.gyp
.
ICU do sistema
Por último, mas não menos importante, você pode compilar o V8 contra uma versão do ICU instalada em seu sistema. Para fazer isso, especifique a variável GYP use_system_icu=1
. Se você também tiver want_separate_host_toolset
habilitado, o ICU incorporado ainda será compilado para gerar o snapshot do V8. O ICU do sistema é usado apenas para a arquitetura de destino.
Incorporando o V8
Se você incorporar o V8 em sua aplicação, mas sua aplicação em si não usar o ICU, será necessário inicializar o ICU antes de chamar o V8 executando:
v8::V8::InitializeICU();
É seguro invocar este método se o ICU não foi compilado, então ele não faz nada.
Compilando sem suporte a i18n
Para compilar o V8 sem suporte a i18n, use gn args
para definir v8_enable_i18n_support = false
antes de compilar.