Mat*_*yhr 4 xcode localization objective-c localizable.strings ios
我想在我的iPhone应用程序中本地化几个字符串,它对我选择的5种语言起作用.但是,我有一个问题,如果我没有为特定语言定义一个键,我希望它选择英语作为后备,因为我知道我已经用英语定义了每个字符串.事情是,所有键都被翻译并不是很重要,因为即使iPhone设置为西班牙语,也可以显示英语.
例:
于:
"HELLO" = "hello" ;
"PERSON" = "my friend" ;
Run Code Online (Sandbox Code Playgroud)
ES:
"HELLO" = "hola" ;
Run Code Online (Sandbox Code Playgroud)
预期结果:
如果iPhone被设置为英语我想要它说:hello, my friend如果languange设置为西班牙语我想要它说hola, my friend.目前该应用程序将输出hola, PERSON.(我使用NSLocalizedString方法).
可能有一个非常简单的解决方案,但我找不到任何好的解决方案.谢谢您的帮助,
马蒂亚斯
其他答案肯定是正确的,但这不是我想要的.相反,我找到了另一种方法,并编写了一个静态方法,在我的环境中对我来说非常有效,如果有人想要实现相同的东西,我想在这里添加它:
+ (NSString *)localizedStringForKey:(NSString *)key table:(NSString *)table
{
NSString *str = [[NSBundle mainBundle] localizedStringForKey:key value:@"NA" table:table];
if ([str isEqualToString:@"NA"])
{
NSString *enPath = [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
return [[NSBundle bundleWithPath:enPath] localizedStringForKey:key value:@"NA" table:table];
}
return str;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1545 次 |
| 最近记录: |