2012-07-16 52 views
2

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

[[UILocalizedIndexedCollation currentCollation] sectionIndexTitles]

上面的代码返回中国本土化英文字母组成的数组,而它返回的其他三种语言(英语,西班牙语和俄语),正确的字符数组。

荫使用下面的.lproj文件本地化

  1. 英语 - en.lproj
  2. 西班牙 - es.lproj
  3. 俄罗斯 - ru.lproj
  4. 中国 - zh_Hans.lproj

任何人都可以帮我找到问题。

谢谢。

回答

4

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

是UILocalizedIndexedCollat​​ion使用在 运行时的定位数据将根据您的应用程序 捆绑使用的定位。如果您的应用程序仅支持英语,并且 设备设置为使用繁体中文,则UILocalizedIndexedCollat​​ion 将仅显示英文部分标题,并通过“Z”和“#”部分将行分类到“A” 中,即使UILocalizedIndexedCollat​​ion 能够提供繁体中文版块标题并将 行数据排序到这些部分。

要解决这个问题,您的应用程序包必须正确声明支持您想要UILocalizedIndexedCollat​​ion支持的语言的支持 。您可以通过在您的应用程序的info.plist文件中添加 合适的.lproj文件夹或在您的应用程序的Info.plist 文件中的CFBundleLocalizations键中指定支持的本地化 来向本应用程序包添加本地化。需要注意的是,前者是更可取的,因为它更容易 保持如果本地化资源需要在未来

+0

不知道要添加到您的应用程序 如果你帮助提问者或没有,但链接到苹果文档正是我所寻找的信息,谢谢。 – JosephH 2012-07-23 19:49:57

相关问题