Bre*_*ett 8 localization objective-c nslocalizedstring ios
我在调试我的NSLocalizedString实现时遇到了一些麻烦.应该很简单,但无论我做什么,该函数只返回KEY字符串.
我正在使用XCode 4.5和iOS6,所以我:
File.strings."KEY" = "TestEnglish";到我的英语File.strings"KEY" = "TestSpanish";到我的西班牙语File.stringsNSLog(@"Localization: %@\n", NSLocalizedString(@"KEY", nil));到我的.m文件中.当我运行应用程序时,值"KEY"始终显示在打印中NSLog.
为了更多地进入这个,我也尝试了这个:
NSString *path = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
NSString *str = [[NSBundle bundleWithPath:path] localizedStringForKey:@"KEY" value:@"" table:nil];
NSLog(@"Localization: %@\n", str);
Run Code Online (Sandbox Code Playgroud)
仍然是值"KEY"打印,但是,path是一条有效的道路.
有没有人知道如何调试这个?我觉得我已经阅读了所有的SO问题/答案,但没有一个建议有帮助.
我意识到当它无法匹配键时NSLocalizedString返回KEY字符串,但我不知道如何调试为什么我的应用程序可能与KEY不匹配.
我也删除/清理了十几次应用程序.
小智 10
如果您指定table:nil,NSBundle则将尝试从默认表(中的一个SOMELANG.lproj/Localizable.strings)中获取本地化.如果您在其他地方有本地化,则应使用table:@"File"(或NSLocalizedStringFromTable()以类似方式使用宏)显式指定表:
NSString *value = NSLocalizedStringFromTable(@"key", @"File", nil);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5535 次 |
| 最近记录: |