在我的应用中,我使用基本本地化的本地化。我有Main.storyboard(Base),Main.storyboard(德语),Main.storyboard(法语)和Main.storyboard(英语)。
对于要显示的部分内容,我使用Localizable.strings(Base),Localizable.strings(英文),Localizable.strings(德语)和Localizable.strings(法语)进行了Localizable-stings。
我加载包含3种语言文本的XML文件。
如果设备没有这些语言,将使用英语。
如果设备具有en-EN,则全部为英文。
如果该设备具有de-DE,则所有设备均为德语。
如果设备具有fr-FR,则使用Main.storyboard(法语)的内容和XML的法语文本,但不使用Localizable.strings(法语)的内容。而是使用Localizable.strings(Base)。
我通过使用Localizable.strings(德语)的内容替换Localizable.strings(法语)的完整内容而未成功进行测试 - 因此Localizable.strings(French)文件中没有错误。
我该怎么办?如何检测出错的位置?
[编辑] 我查了一下" for fun"几个iOS版本:
iOS 8.1 - 8.4将正确显示所有语言。使用iOS 9.2(模拟器和真实设备)运行时会出现问题。对此有任何了解吗?
答案 0 :(得分:0)
发现我的“逻辑错误”。
本地化采用基础和3种语言(英语,法语和德语)。基地=英语。在目标 - >信息我将“本地化本地开发区域”设置为法国。显然,这定义了何时使用localizable.strings(Base)。在我的情况下,如果设备设置为法国/法国,则使用Base-localization(英文版)。将“本地化原生开发区域”改为英语(英国)解决了这个问题。