我希望在我的应用程序中同时支持繁体中文和简体中文,但无法使应用程序使用语言区域对(例如es-AR,es-MX,es-ES)。
在Mac Dev Library的国际化编程主题中,在语言和区域设置指定下,我发现以下内容:
重要提示:在iOS中,捆绑接口在查找本地化资源时不会考虑方言或脚本信息;只考虑语言指示符代码。因此,如果您的项目包含具有语言和区域指示符的特定于语言的项目目录,则会忽略这些目录。 OS X中的bundle接口支持特定于语言的项目目录中的区域指定符。
link to Internationalization Programming Topics
所以,我认为我不能支持两种版本的中文。
这是对的吗?苹果似乎无法为此提供机制,这似乎很奇怪。
答案 0 :(得分:2)
如果我使用以下本地化结构:
...project/Resources/Locales/en.lproj/Localizable.strings
...project/Resources/Locales/es-MX.lproj/Localizable.strings
...project/Resources/Locales/es-AR.lproj/Localizable.strings
...project/Resources/Locales/es-ES.lproj/Localizable.strings
并将Localizable.strings拖到我的项目中,它会显示区域变体可用,但iOS会忽略它们 - 这就是苹果文档中描述的内容。将设备设置为西班牙语将默认为英语。
我需要提供默认的西班牙语本地化:
...project/Resources/Locales/es.lproj/Localizable.strings
所以,对于中国变种:
...project/Resources/Locales/zh-Hans-CN.lproj/Localizable.strings
...project/Resources/Locales/zh-Hant-TW.lproj/Localizable.strings
该应用不会区分不同的区域。
但是,如果我使用以下内容:
...project/Resources/Locales/zh-Hans.lproj/Localizable.strings
...project/Resources/Locales/zh-Hant.lproj/Localizable.strings
该应用可以区分简体中文和繁体中文。似乎zh-Hant和zh-Hans被视为不同的语言,而不是区域变体。将CN和TW附加到它们会导致它们成为区域变体并被iOS忽略。
答案 1 :(得分:0)
我不确定您在使用Mac OS时所说的内容,但至少我在iOS(iPhone和iPad)上的应用程序已本地化为简体中文和繁体中文。
这是在应用程序的“项目”部分和字符串上。
这就是你在谈论的吗?