【发布时间】:2015-11-10 05:38:32
【问题描述】:
我无法从 Localizable.strings 文件中获取正确的本地化德语字符串。我的应用设置如下所示
-
Main.storyboard
- Main.storyboard(基础)
- Main.strings(德语) -> 这些字符串翻译正确
-
Localizable.strings
- Localizable.strings(英文)
- 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 上尝试了不同问题的几个答案,例如删除应用程序并执行清理 (shift+cmd+k)、在
Edit Scheme 下设置应用程序语言、...
【问题讨论】:
-
可以分享源代码吗?如果您无法共享原始应用程序,您是否可以尝试创建一个新的虚拟应用程序,该应用程序将包含相同的本地化设置并且也将无法正常工作?这样做的好处(除了其他用户能够测试您的代码之外)是您可能能够确定它无法自行运行的原因
-
查看我的回答。您的 Localisable.strings 文件名称错误
标签: ios objective-c swift localization localizable.strings