我编写了一个使用自定义本地化的iOS应用程序(出于各种原因)。它取消定义NSLocalizedString并替换为同名的内联函数,该函数从服务器下载的NSDictionary中提取它的值。
我的问题是这个......一切正常,但是标准的UIKit视图(即UIImagePickerController)没有被国际化,我相信当设备语言改变时它会自动发生吗?
例如,我的完整应用程序显示它的日语版本,但即使设备语言设置为日语,标准控件(搜索栏上的UIImagePickerController和取消按钮也不会显示!)
非常感谢任何帮助:D
修改
我已经尝试删除我对NSLocalizedString的重新定义,但我仍然遇到同样的问题,所以虽然建议我不要重新定义标准的api功能,但它并没有真正帮助我解决我遇到过的问题。
答案 0 :(得分:34)
您是否已将希望支持的语言添加到应用的定义中?在XCode 4中,可以在项目信息页面中找到它(见下文)。
如果设备语言不在应用程序支持的语言列表中,则UIKit视图不会以设备语言显示。这是一件好事,否则在使用标准本地化框架的应用程序中,用户可能会看到不同语言的混合(UIKit视图将使用设备语言,所有其他内容,在设备语言中不可用,将在应用程序的基本语言)。