NSLocalizedString 问题
Posted
技术标签:
【中文标题】NSLocalizedString 问题【英文标题】:NSLocalizedString Problem 【发布时间】:2010-11-28 13:50:33 【问题描述】:我有:
-(IBAction)about
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"About", @"Title of AlertView")
message:@"App name \n© My name \n2010"
delegate:self
cancelButtonTitle:NSLocalizedString(@"Back", @"Cancel Button Title")
otherButtonTitles:nil];
[alert show];
[alert release];
在 Localizable.strings 中:
/* Title of AlertView */
"About" = "Über";
/* Cancel Button Title */
"Back" = "Zurück";
我的问题:当语言是德语时,它是德语,但是当我将语言更改为英语时,警报视图仍然是德语
怎么了?
【问题讨论】:
【参考方案1】:如果您使用 xCode 4,您将面临这样的问题。尝试下一步:
-
从设备中删除应用程序
选择项目树根节点获取项目属性
选择“构建阶段”选项卡
点击“添加构建阶段”并选择“复制文件”
在“复制文件”视图中选择“资源”
添加 Localizable.strings 文件
为项目执行“清理”
“构建并运行”
【讨论】:
完美,但我还需要一步,我需要将 InfoPlist 重命名为 Localizable :) @ademar111190 您的评论应该添加到上面的答案中。谢谢。 @Sha 好建议。我现在就去做!【参考方案2】:使 Localizable.strings 文件可本地化(单击它,按 cmd+i 并按下“使文件可本地化”按钮)并向其中添加德语和英语本地化。然后将德文本地化写入文件的德文版本,英文版本如下:
/* Title of AlertView */
"About" = "About";
/* Cancel Button Title */
"Back" = "Back";
【讨论】:
你确定你有 2 个看起来像这样的文件吗? grab.by/grabs/9de2f9e8f874eb23249a57acd5e74497.png 确保使用新的本地化您有一个“(Base)”文件和一个“(以上是关于NSLocalizedString 问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 NSLocalizedString 或 .xib 进行本地化
Objective C 中的 NSLocalizedString
变量 NSString anos 与 NSLocalizedString Xcode 一起使用
NSLocalizedString 有时会加载字符串,但并非总是如此