Iphone Localizable String与另一种语言

时间:2011-10-09 08:07:19

标签: objective-c xcode cocoa

我正在创建两种语言的应用程序:英语和葡萄牙语

我为这些语言创建了Localizable.strings。

当设备的语言是上述语言之一时,应用程序正常工作,但如果语言是另一种语言,则只显示密钥

示例:

Localizable.strings(英文)

“participarbutton”=“加入”;

Localizable.strings(葡萄牙巴西)

“participarbutton”=“participar”;

关于代码:

[btFacaParte setTitle:NSLocalizedString(@“participarbutton”,@“”)forState:UIControlStateNormal]

如果语言是西班牙语,则显示文本“participarbutton”

有办法设置默认文字吗?

1 个答案:

答案 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";

这样,默认情况下,如果您使用除葡萄牙语 - 巴西之外的任何其他语言,它将显示加入按钮