Mac OS如何确定要使用哪个localization.strings文件?

时间:2011-11-09 07:25:14

标签: macos cocoa localization nslocale

我有和XCode项目一起支持的语言列表。默认情况下,当您在“本地化组信息”窗口中单击“添加本地化”时,XCode仅列出4种默认语言。我只是按照一个示例项目,添加了全部语言名称的局部化,有些使用我认为的ISO 639-1表示法。奇怪的是这个:

我为简体中文添加了本地化名称“zh_CN”(只是模仿现有项目)。编译项目时,它具有.app / Contents / Resources / zh_CN.lproj / Localizable.strings。我将系统的语言更改为Simiplified Chinese并运行应用程序。瞧,它工作并获得简体中文Localizable.strings。

但是,如果我使用NSLocale's API,我会得到“zh-Hans”。 “zh_CN”字符串已加载但NSLocale返回“zh-Hans”。

在使用简体中文作为区域设置时,Mac OS如何确定使用“zh_CN”字符串?是否有API知道当前系统语言将使用“zh_CN”?

1 个答案:

答案 0 :(得分:1)

zh_CN是指示Simiplified Chinese的旧方法 现在最好用“zh-Hans”代替。 (为了支持iOS和OSX的旧版本,我认为Apple仍然会支持zh_cn等旧样式名称。

this document "Language and Locale Designations"解释了一切:D)