Mac OS 如何确定要使用哪个 localization.strings 文件?
我有一个包含受支持语言列表的 XCode 项目。默认情况下,当您单击本地化组信息窗口上的“添加本地化”时,XCode 仅列出 4 种默认语言。我只是按照一个示例项目添加了本地化,混合了完整的语言名称,有些使用了我认为是 ISO 639-1 表示法的本地化。奇怪的是:
我为简体中文添加了一个本地化名称“zh_CN”(只是模仿现有项目)。当项目编译时,它有.app/Contents/Resources/zh_CN.lproj/Localizable.strings。我将系统语言更改为简体中文并运行该应用程序。瞧,它可以工作并获得简体中文 Localized.strings。
但是,如果我使用 NSLocale 的 API,我会得到“zh -汉斯”。 “zh_CN”字符串已加载,但 NSLocale 返回“zh-Hans”。
当使用简体中文作为语言环境时,Mac OS 如何确定使用“zh_CN”字符串?有没有API可以知道当前系统语言将使用“zh_CN”?
I have and XCode project with a list of supported languages. By default, XCode only lists 4 default languages when you click on "Add Localization" on the Localized Group info window. I just followed a sample project and added Localizations in a mix of full language names and some using the what I think is ISO 639-1 notation. What is weird is this:
I added a localization name "zh_CN" (just imitated the existing project) for Simplified Chinese. When the project is compiled, it has the .app/Contents/Resources/zh_CN.lproj/Localizable.strings. I change the system's language to Simiplified Chinese and run the app. Voila, it works and gets the Simplified Chinese Localizable.strings.
However, if I use NSLocale's API, I get "zh-Hans". "zh_CN" strings were loaded yet NSLocale returns "zh-Hans".
How does the Mac OS determine to use the "zh_CN" strings when using Simplified Chinese as the locale? Is there an API to know that the current system language will use the "zh_CN"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
zh_CN
是表示简体中文
的旧方法。现在最好改用“zh-Hans”。 (为了支持iOS和OSX的旧版本,我认为Apple仍然会支持旧样式名称,例如
zh_cn
。(本文档“语言和区域设置” 解释了一切:D)
zh_CN
is a old way to indicateSimiplified Chinese
.and now it's better to use "zh-Hans" instead. (in order to support old vernon of iOS and OSX, I think Apple will still support old style names like
zh_cn
.(this document "Language and Locale Designations" explains everything :D)