当前位置:  开发笔记 > IOS > 正文

应用程序本地化显示密钥而不是iOS中的值

如何解决《应用程序本地化显示密钥而不是iOS中的值》经验,为你挑选了1个好方法。

我一直在我的应用程序中使用本地化,但由于某种原因,一些字符串(不是所有字符串)都不会翻译,我看到键而不是值.我试图通过这样做来检查应用程序是否找到了本地化文件:

NSString *enPath = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
NSString *hePath = [[NSBundle mainBundle] pathForResource:@"he" ofType:@"lproj"];
NSString *ruPath = [[NSBundle mainBundle] pathForResource:@"ru" ofType:@"lproj"];
NSString *esPath = [[NSBundle mainBundle] pathForResource:@"es" ofType:@"lproj"];
NSString *frPath = [[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"];
NSString *arPath = [[NSBundle mainBundle] pathForResource:@"ar" ofType:@"lproj"];

而且没有一个是零.

我已经检查了本地化文件的名称,Localizable.strings它应该是这样的.还要检查文件中是否存在密钥Localizable.strings,确实存在.

我也尝试过:

空缓存

清洁所有目标

删除派生数据文件夹

重新开始

重置模拟器

转换为UTF-16

删除所有本地化文件并重新创建它们.

也尝试做这个问题的一切.

重要的是要说这不仅仅是模拟器/缓存问题.它也在下载应用程序的设备上显示.(我有企业帐户).

我还能做些什么来识别或解决问题?



1> Yossi Tsafar..:

所以我发现了问题,我想谁为我翻译了这些Localizable.strings文件是个混蛋.在我的字符串文件中的4个位置,有一行如下:

"KEY" ;= "Value"

这行导致某种崩溃,但让编译器出于某种原因成功构建.这就是为什么我无法找到错误,只有当我决定采用不翻译的最后一个Key和Value并将它们移动到Localizable.strings文件的顶部时.然后我能够理解并看到问题出现在文件中间的某个位置,顶部的键和值被翻译得很好.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有