UILocalizedIndexedCollat​​ion不显示中文字符

时间:2012-07-16 16:59:16

标签: objective-c ios localization

在我的iphone应用程序中使用英语,西班牙语,俄语和中文本地化。本地化适用于所有本地化字符串。但 UILocalizedIndexedCollat​​ion 对中文不起作用。当我将设备语言更改为英语,西班牙语和俄语时,表索引正确显示。但是当我将设备语言设置为中文时,我会用英语来表示表索引,同时本地化的字符串是中文本身。

[[UILocalizedIndexedCollation currentCollation] sectionIndexTitles]

上面的代码返回一个用于中文本地化的英文字母数组,同时返回其他三种语言(英语,西班牙语和俄语)的正确字符数组。

我使用以下.lproj文件进行本地化

  1. 英语 - en.lproj
  2. 西班牙语 - es.lproj
  3. 俄语 - ru.lproj
  4. 中文 - zh_Hans.lproj
  5. 任何人都可以帮我找到问题。

    感谢。

1 个答案:

答案 0 :(得分:4)

Apple http://developer.apple.com/library/ios/#qa/qa1739/_index.html#//apple_ref/doc/uid/DTS40011151

  

UILocalizedIndexedCollat​​ion使用的本地化数据   运行时将基于您的应用程序的本地化   捆绑使用。如果您的应用程序仅支持英语,那么   device设置为使用繁体中文,UILocalizedIndexedCollat​​ion   只会显示英文版块标题并将行排序到“A”中   通过“Z”和“#”部分,即使UILocalizedIndexedCollat​​ion   能够提供繁体中文部分标题和排序   将数据划分到这些部分。

     

要解决此问题,您的应用程序包必须正确声明支持   对于您希望UILocalizedIndexedCollat​​ion支持的语言。您   可以通过添加本地化来为应用程序包添加本地化   适当的.lproj文件夹,或指定支持的本地化   在您的应用程序的info.plist中的CFBundleLocalizations键中   文件。请注意,前一种方法是首选,因为它更容易   维护是否需要将本地化资源添加到您的应用程序中   将来