在我的iphone应用程序中使用英语,西班牙语,俄语和中文本地化。本地化适用于所有本地化字符串。但 UILocalizedIndexedCollation 对中文不起作用。当我将设备语言更改为英语,西班牙语和俄语时,表索引正确显示。但是当我将设备语言设置为中文时,我会用英语来表示表索引,同时本地化的字符串是中文本身。
[[UILocalizedIndexedCollation currentCollation] sectionIndexTitles]
上面的代码返回一个用于中文本地化的英文字母数组,同时返回其他三种语言(英语,西班牙语和俄语)的正确字符数组。
我使用以下.lproj文件进行本地化
任何人都可以帮我找到问题。
感谢。
答案 0 :(得分:4)
Apple http://developer.apple.com/library/ios/#qa/qa1739/_index.html#//apple_ref/doc/uid/DTS40011151
UILocalizedIndexedCollation使用的本地化数据 运行时将基于您的应用程序的本地化 捆绑使用。如果您的应用程序仅支持英语,那么 device设置为使用繁体中文,UILocalizedIndexedCollation 只会显示英文版块标题并将行排序到“A”中 通过“Z”和“#”部分,即使UILocalizedIndexedCollation 能够提供繁体中文部分标题和排序 将数据划分到这些部分。
要解决此问题,您的应用程序包必须正确声明支持 对于您希望UILocalizedIndexedCollation支持的语言。您 可以通过添加本地化来为应用程序包添加本地化 适当的.lproj文件夹,或指定支持的本地化 在您的应用程序的info.plist中的CFBundleLocalizations键中 文件。请注意,前一种方法是首选,因为它更容易 维护是否需要将本地化资源添加到您的应用程序中 将来