Yos*_*far 17 localization objective-c localizable.strings nslocalizedstring ios
我一直在我的应用程序中使用本地化,但由于某种原因,一些字符串(不是所有字符串)都不会翻译,我看到键而不是值.我试图通过这样做来检查应用程序是否找到了本地化文件:
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"];
Run Code Online (Sandbox Code Playgroud)
而且没有一个是零.
我已经检查了本地化文件的名称,Localizable.strings它应该是这样的.还要检查文件中是否存在密钥Localizable.strings,确实存在.
我也尝试过:
也尝试做这个问题的一切.
重要的是要说这不仅仅是模拟器/缓存问题.它也在下载应用程序的设备上显示.(我有企业帐户).
我还能做些什么来识别或解决问题?
所以我发现了问题,我想谁为我翻译了这些Localizable.strings文件是个混蛋.在我的字符串文件中的4个位置,有一行如下:
"KEY" ;= "Value"
Run Code Online (Sandbox Code Playgroud)
这行导致某种崩溃,但让编译器出于某种原因成功构建.这就是为什么我无法找到错误,只有当我决定采用不翻译的最后一个Key和Value并将它们移动到Localizable.strings文件的顶部时.然后我能够理解并看到问题出现在文件中间的某个位置,顶部的键和值被翻译得很好.
| 归档时间: |
|
| 查看次数: |
1109 次 |
| 最近记录: |