1

Google Web Apps의 국제화 및 현지화 요구 사항에 따라 Google Closure 라이브러리 양식을 사용할 수 있는지 확인하려고합니다. 주제에 대한 자습서를 찾으려고했지만 어떤 것도 찾을 수 없었고 혼자서 시도 할 때 막혀있는 것 같습니다.Google Closure I18n으로 원주민 국가 이름을 얻는 방법은 무엇입니까?

나는 나라의 고유 이름을 얻는 데 관심이 있습니다.

goog.locale 구성 요소를 어떻게 사용해야하는지 잘 모르겠습니다. 예를 들어 goog.locale.getNativeCountryName('EE')은 'Eesti'대신 'EE'를 반환하는 것으로 보입니다.

goog.require('goog.locale'); 
... 
console.log(goog.locale.getNativeCountryName('EE')) // Outputs: 'EE' 

일부 종속성이 누락 되었습니까?

EDIT : EE 대신 et_EE를 사용하면 예상 한 'Eesti'를 얻게된다는 것을 발견했습니다. 그러나 그것은 단지 틀린 것처럼 보입니다. et_EE는 국가 코드가 아닌 로켈 코드이며,이 함수는 분명히 국가 코드를 기대합니다 ... 어쩌면 내가 여전히 잘못하고있는 것일까 요?

+0

당신이뿐만 아니라 템플릿 언어를 사용하고 있습니까? – lennel

+0

각 로케일에 대해 템플릿 버전을 자바 스크립트로 컴파일 한 다음 해당 언어의 버전을 컴파일하십시오. 적어도 이것이 우리가하는 방식입니다. – lennel

+0

템플릿 언어를 사용하고 있지 않습니다. 문제는 현지화 된 언어 및 국가 이름에 대한 데이터를 어디서 얻을 수 있습니까? – ragulka

답변

1

getNativeCountryName()은 국가 코드 (EE)가 아닌 언어 코드 (이 경우 et)를받습니다.

네이티브 언어로 제공 언어 코드의 국가 이름을 반환 값 : API docs 참조.

따라서 :

goog.require('goog.locale'); 
... 
console.log(goog.locale.getNativeCountryName('et')) // Should return 'Eesti' 
+0

그래, 나는 더 신중하게 문서를 읽었어야했다. 그러나 그런 식으로 주어지면, 언어의 국가가 아닌 특정 국가의 고유 이름을 얻으려고했기 때문에이 함수는 저에게 쓸모가 없습니다. – ragulka

+0

자세히 설명하자면, getNativeCountryName은 'countryCode'- "국가 이름을 찾아보기위한 코드"라는 인수 하나를 허용한다고 말하고, 함수 설명은 "제공되는 언어 코드의 국가명을 모국어로 반환합니다 . " – ragulka

+0

@ragulka, 예. 그것은 분명히 문서화 버그입니다. 특정 국가의 기본 이름을 얻으려면 왜'getLocalizedCountryName'을 사용하지 않으시겠습니까? – Shervin