Pular para o conteúdo principal

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.