Localizable.strings(英文)不起作用但InfoPlist.strings(英文)有效吗?

时间:2012-02-16 10:20:23

标签: iphone ios localization

在.m文件中:

UIActionSheet *someSheet = [[UIActionSheet alloc] 
    initWithTitle:NSLocalizedString(@"TITLE", nil)
    delegate:self 
    cancelButtonTitle:@"CANCEL"
    destructiveButtonTitle:nil
    otherButtonTitles:@"option1", @"option2", nil
];

Localizable.strings (English)我设置"TITLE" = "Share";

并在InfoPlist.strings (English)我设置CFBundleDisplayName="AppName123";

然后我将我的iphone的语言转换为另一个尚未本地化的语言(例如日语)。

在跳板中,应用程序的名称已更改为“AppName123”,但在运行时,我看到“TITLE”应该是“共享”。

该应用尚未针对日语本地化,为什么它不使用英语作为默认值?

任何人都可以告诉我什么是错的?谢谢!

4 个答案:

答案 0 :(得分:5)

请尝试此代码

在Localizable.strings文件中

"FirstName" = "XYZ";

在.m文件中

NSString *string = NSLocalizedString(@"FirstName",@"");

NSString *string = NSLocalizedString(@"FirstName",nil);

答案 1 :(得分:2)

以防有人遇到与我类似的问题:

我忘了在两个文件中都使用分号。我将分号放在InfoPlist.strings文件中,忘了将它们放在Localizable.strings文件中。

"Cancel" = "Отмена";
"Connecting ..." = "Подключение ...";

分号必须在那里。别忘了。

答案 2 :(得分:1)

在其中一个项目中我的情况如下: 1)我有localizable.strings(里面有英文,它,fr,de)包含这样的翻译:

/* comment for translation */
"KeyString" = "ValueString";

2)然后我使用LocalizedStrings略有不同,有两个参数,如:

_myString = NSLocalizedString(@"KeyString", @"Comment for translation");

它工作得很好,当我设置其他语言(如擦亮)时,我有英文翻译。

希望有帮助:) F。

答案 3 :(得分:1)

已解决,Simulator -> Erase all.