NSLocalizedString、bundle 和 IOS5 的问题
问题是,
首先我们使用 .lproj 文件夹(如 fr.lproj、en.lproj、es.lproj 等)实现本地化。
后来根据其中一位审阅者(内部审阅者不是来自苹果的人)的要求,我们已切换到 iso-639- 2 基于语言代码。
因此,文件夹更改为 fra.lproj、eng.lproj、spa.lproj 等,并添加项目引用以使用新文件。删除旧文件。
重命名文件夹后,所做的更改以及在 localized.strings 文件中添加的新字符串在应用程序中不会受到影响。
经过一番研究,我们发现每种语言的文件夹都包含在应用程序中 ios5 使用 fr.lproj 文件夹内容而不是 fra.lproj 文件夹内容。我们在 IOS 4 中运行了相同的应用程序,该应用程序运行起来就像一个魅力,更新了本地化。
请帮助我找到一种在 ios 5 中优先使用 iso-639-2 语言代码的方法。
谢谢
Problem is
First we implemented localizations with .lproj folders like fr.lproj, en.lproj ,es.lproj etc.
Later as per the request from one of the reviewer (internal reviewer not someone from apple) we have switched to iso-639-2 based language codes.
So, the folders are changed to fra.lproj,eng.lproj,spa.lproj etc and the project references are added to use new files. removed for old files.
After renaming the folders the changes done and new strings added in localizable.strings file are not affected in the app.
After a bit research we found that both the folders for each language are included in the application
and ios5 is using the fr.lproj folder contents and not fra.lproj folder contents. We ran the same app in the IOS 4 and the app works like a charm with updated localizations.
Please help me with a method to prioritize usage of iso-639-2 language codes in ios 5.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
来自 Apple 文档:
(重点是我的)。我不确定为什么它可能在您的其他项目中起作用,但根据文档,本地化目录的名称需要遵循 ISO 639-1(两个字母代码)。
From Apple's documentation:
(emphasis mine). I'm not sure, why it might have worked in other projects of yours, but according to the documentation, the name of the localization directories needs to follow ISO 639-1 (two-letter codes).