我正在创建两种语言的应用程序:英语和葡萄牙语
我为这些语言创建了Localizable.strings。
当设备的语言是上述语言之一时,应用程序正常工作,但如果语言是另一种语言,则只显示密钥
示例:
Localizable.strings(英文)
“participarbutton”=“加入”;
Localizable.strings(葡萄牙巴西)
“participarbutton”=“participar”;
关于代码:
[btFacaParte setTitle:NSLocalizedString(@“participarbutton”,@“”)forState:UIControlStateNormal]
如果语言是西班牙语,则显示文本“participarbutton”
有办法设置默认文字吗?
答案 0 :(得分:1)
NSLocalizedString函数调用的第一个参数是默认文本。与其他编程语言中的Keys不同,这只是一个String,默认情况下是第一个参数中的实际文本,如果没有可用的翻译字符串那样:
NSLocalizedString(@"This is the default text if no translation is available", @"This is some text to describe the context and information of the string to be translated");
因此,如果您想默认显示英语,您可以在代码中执行以下操作:
[btFacaParte setTitle:NSLocalizedString(@"Join", @"") forState:UIControlStateNormal];
然后在Localizable.strings(英语)
中键将如下所示"Join" = "Join";
在Localizable.strings(葡萄牙语 - 巴西)
"Join" = "Participar";
这样,默认情况下,如果您使用除葡萄牙语 - 巴西之外的任何其他语言,它将显示加入按钮