关于iOS本地化

在以下文档中: http : //developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPInternational/Articles/LanguageDesignations.html

这是提到的

在iOS中,捆绑接口在查找本地化资源时不会考虑方言或脚本信息; 只考虑语言指示符码。 因此,如果您的项目包含语言和区域指示符的特定于语言的项目目录,那么这些目录将被忽略。 Mac OS X中的软件包接口在语言特定的项目目录中支持区域指示符。

我不太明白这一点。 这是否意味着.lproj目录的名称不能包含任何区域代码?
但至less我知道iOS接受zh_TW.lproj,zh_CN.lproj。 那么en_GB.lproj和en-GB_GB.lproj呢? 或者只知道en.lproj?

这只是意味着iOS只支持两位数的语言代码(例如en.lproj,es.lproj等)。 而Mac OS X将支持格式Language_Region(例如en_GB,en_US等)。

我认为这个信息已经过时了。 在进行iOS更改时,他们不得更新Mac开发文档。

在创buildLocalizable.strings或Project.plist文件时,您将根据语言或语言方言创build一个。 只要创build你需要的。

如果你使用Xcode 4,当Localizable.strings或者Project.plist文件被选中时,一定要显示“Utilities”(View – > Utilities – > Show Utilities)。 它将有一个本地化部分,使添加这些很容易。

更新:从iOS 8开始,您现在可以在iOS中使用任何语言或地区。

Apophenia是正确的。 尽pipeiOS有30种语言可以识别为.lproj文件夹,但它不会接受任何区域代码,因此告诉它fr-CA不会让你加拿大法语,而是简单地使用你的法语或英语string。 这个规则的唯一例外是中文,简体中文应该是zh-Hans ,繁体中文应该是zh-Hant

您应始终使用该语言的双字母代码(en.lproj,fr.lproj,es.lproj,de.lproj等)。

iOS和iTunes在这里有一个完整的(和更新的)当前支持的语言和语言代码列表:

http://www.ibabbleon.com/iOS-Language-Codes-ISO-639.html

请注意,iTunes App Store具有不同的支持语言列表,这使得链接到上面的图表非常方便!