我在Viewcontroller.m上有这个代码,在Xcode上:
NSString *language = NSLocalizedString(@"es", @"language");
NSString *connector = NSLocalizedString(@"de", @"connector to link words");
这篇关于“Localizable.strings(英文)”的文章:
"language" = "en";
"connector to link words" = "of";
问题在于,我在iOs Simulator上更改了每种语言,我总是得到第一个值,即Viewcontroller.m的值,而不是获取字符串值。 有谁知道什么是错的?非常感谢你!
更新
我有这个:
NSString *language = NSLocalizedString(@"es", @"language");
NSString *connector = NSLocalizedString(@"de", @"connector to link words");
但它仍然不起作用!!为什么???? 它只显示关键值!!在我的字符串中:
"es" = "en";
"de" = "of";
在英文文件上,以及西班牙文件:
"es" = "es";
"de" = "de";
解: 我想我已经做好了一切,所以问题必须在iOs模拟器中。如果有人可以利用这一点,我的解决方案是在上级任务栏中单击项目图像中的编辑方案,并在“选项”选项卡(在运行部分)中将“西班牙语”设置为我的语言默认情况下。 无论如何,谢谢大家。
答案 0 :(得分:2)
NSLocalizedString的语法如下所示。
NSString * NSLocalizedString(
NSString *key,
NSString *comment
)
key
文件中应使用.strings
。对于不同的语言,密钥的值将是不同的。
因此,当您运行时,密钥将替换为您设置的语言.strings
文件中提供的值。
请查看此tutorial以获取更多解释。
答案 1 :(得分:0)
语法是NSLocalizedString(key,comment)
这篇关于“Localizable.strings(英文)”的文章:
“language”=“en”; “连接词链接词”=“of”;
所以“语言”是关键,“en”是值
所以
NSString *language = NSLocalizedString(@"language", @"");
NSString *connector = NSLocalizedString(@"connector to link words",@"");