2011-11-09 2 views
0

지원되는 언어 목록이있는 XCode 프로젝트가 있습니다. 기본적으로 XCode는 현지화 된 그룹 정보 창에서 "지역화 추가"를 클릭 할 때 4 가지 기본 언어 만 나열합니다. 필자는 샘플 프로젝트를 따라하고 전체 언어 이름을 혼합하여 현지화를 추가했으며 일부는 ISO 639-1 표기법을 사용하여 일부를 추가했습니다. 이상한 점은 다음과 같습니다.Mac OS는 사용하려는 localization.strings 파일을 어떻게 결정합니까?

간체 한자의 현지화 이름 "zh_CN"(기존 프로젝트를 모방 한 것)을 추가했습니다. 프로젝트가 컴파일되면 .app/Contents/Resources/zh_CN.lproj/Localizable.strings이 있습니다. 시스템 언어를 Simplified Chinese로 변경하고 앱을 실행합니다. Voila, 그것은 작동하고 간결체 한자 지방화 할 수있는 .strings를 얻는다.

그러나 NSLocale's API을 사용하면 "zh-Hans"가 표시됩니다. "zh_CN"문자열이로드되었습니다. NSLocale은 "zh-Hans"를 반환합니다.

중국어 (간체)를 로켈로 사용할 때 "zh_CN"문자열 사용을 Mac OS가 어떻게 결정합니까? 현재 시스템 언어가 "zh_CN"을 사용한다는 것을 알기위한 API가 있습니까?

답변

1

zh_CNSimiplified Chinese을 나타내는 오래된 방법입니다.
이제 "zh-Hans"를 대신 사용하는 것이 좋습니다. (iOS 및 OSX의 오래된 버논을 지원하기 위해, 나는 애플이 여전히 zh_cn처럼 오래된 스타일의 이름을 지원합니다 생각

(this document "Language and Locale Designations" 모든 것을 설명합니다. D)

+0

는 당신이 참조하는 것을 표준 아십니까 모든 이들을 나열 ? – radj

+1

BCP 47 사양 – xhan