关于iOS本地化

5
在以下文档中: http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPInternational/Articles/LanguageDesignations.html 提到了:在iOS中,当查找本地化资源时,捆绑界面不考虑方言或脚本信息;只考虑语言标识代码。因此,如果您的项目包括具有语言和区域标识符的特定于语言的项目目录,则这些目录将被忽略。Mac OS X中的捆绑接口支持具有特定于语言的项目目录中的区域标识符。
我不太理解这个含义。这是指.lproj目录的名称不能包含任何区域代码吗?但至少我知道iOS接受 zh_TW.lproj, zh_CN.lproj。en_GB.lproj和en-GB_GB.lproj呢?还是它只知道en.lproj?
3个回答

2
这意味着iOS仅支持两位数字的语言代码(例如en.lproj,es.lproj等)。而Mac OS X将支持格式为“语言_地区”的代码(例如en_GB,en_US等)。

1

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

Apophenia是正确的。尽管iOS有30种语言可识别为.lproj文件夹,但它不接受任何地区代码,因此告诉它fr-CA将无法获得法语加拿大,而只会使用您的法语或英语字符串。唯一的例外是中文,应该使用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应用商店支持的语言列表不同,因此上面链接的图表非常方便!

这是意味着在iOS中,您不能为比如说法国(法语)和加拿大(法语)提供不同的本地化?这在iOS 7+中仍然是正确的吗? - pkamb
从iOS 8和Xcode 6开始,苹果允许iOS应用程序使用任何语言和地区。http://ibabbleon.com/copywriter-translator/2014/06/new-xcode-6-localization-ios-y… - Localizer

1

我认为那些信息已经过时了。当 iOS 发生变化时,他们可能没有更新 Mac 开发文档。

在创建 Localizable.strings 或 Project.plist 文件时,您需要为每种语言或语言方言创建一个文件。只需创建所需的文件即可。

如果您使用的是 Xcode 4,请确保在选择 Localizable.strings 或 Project.plist 文件时显示“实用程序”(视图 -> 实用程序 -> 显示实用程序)。它将有一个本地化部分,使添加这些内容变得容易。


2
很遗憾,我认为那些信息并不完全过时。尝试使用Xcode 4创建一个方言,比如葡萄牙语-巴西语,在pt-BR下生成了一个Localizable.strings文件,但是将其更改为Settings->General->International->Language->Portuguese和International->Region->Brazil并不能生效,导致字符串要么默认为英语,要么是纯葡萄牙语。 - Apophenia Overload

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接