在.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”应该是“共享”。
该应用尚未针对日语本地化,为什么它不使用英语作为默认值?
任何人都可以告诉我什么是错的?谢谢!
答案 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.