我无法从Localizable.strings文件中获取正确的本地化德语字符串。我的应用设置看起来像这样
Main.storyboard
Localizable.strings
在应用内部,我试图获得像这样的字符串
NSString *item = NSLocalizedString(@"Group expenses", @"Menu item");
Localizable.strings(德语)文件如下所示
/* Menu item */
"Group expenses" = "Gruppenausgaben";
当我在item
之后设置断点时,我总是返回英文字符串,但是资源的路径似乎是正确的NSString *path = [[NSBundle mainBundle] pathForResource:[[NSLocale preferredLanguages] objectAtIndex:0] ofType:@"lproj"];
给了我:/data/Containers/Bundle/Application/5E3ED6BF-71E1-4C60-9EDA-610C9A32B8EF/MyApp.app/de.lproj
我也已经对字符串文件进行了本地化
它也包含在Copy Bundle Resources
中我在stackoverflow上尝试了几个不同问题的答案,比如删除app并执行干净(shift + cmd + k),在
Edit Scheme
下设置应用程序语言,...
答案 0 :(得分:11)
好的,我想我知道你的错误的原因。 Parse在添加Localizable.strings方面存在问题,如文档here所示。这已在其框架的1.8.1版本中修复:
V1.8.1 - 2015年8月19日
...
修正:通过CocoaPods使用并集成为静态库时覆盖本地化。
...
您还可以查看this问题。
所以,只需确保使用最新版本的框架,所有这些都应该有效:)
答案 1 :(得分:0)
之前我遇到过同样的问题,你可以尝试一些方法:
确保将德语设置为iOS设备系统语言。
在Xcode中运行此应用,然后停止。手动从iOS设备启动应用程序。 (首次使用Xcode启动将使用基本语言,我不知道为什么)
查看是否有效
答案 2 :(得分:0)
曾经有一个类似的问题让我伤脑筋,对xx.strings文件进行搜索,发现我有一个血腥文件的旧副本把我搞砸了。
find ./ -name "xx.strings" -print
仔细检查您的字符串文件是否正确
plutil -lint xx.strings