i18n 지원
V8은 선택적으로 ECMAScript 402 명세를 구현합니다. API는 기본적으로 활성화되어 있지만, 컴파일 시 비활성화할 수 있습니다.
전제 조건
i18n 구현은 ICU에 의존성을 추가합니다. v7.2부터 V8은 최소 ICU 버전 63이 필요합니다. 정확한 의존성은 V8의 DEPS
파일에 명시되어 있습니다.
third_party/icu
에 적절한 ICU 버전을 체크아웃하려면 다음 명령어를 실행하십시오:
gclient sync
“최신 상태 유지”에서 자세한 내용을 확인하십시오.
대체 ICU 체크아웃
다른 위치에 ICU 소스를 체크아웃하고 gyp 변수 icu_gyp_path
를 정의하여 icu.gyp
파일을 가리킬 수 있습니다.
시스템 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
를 설정하십시오.