NSLocalizedString问题

Leo*_*eon 4 objective-c nslocalizedstring

我有:

-(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];
}
Run Code Online (Sandbox Code Playgroud)

在Localizable.strings中:

/* Title of AlertView */
"About" = "Über";
/* Cancel Button Title */
"Back" = "Zurück";
Run Code Online (Sandbox Code Playgroud)

我的问题:当语言是德语时它是德语但是当我将语言改为英语时,警报视图仍然是德语

怎么了?

Vic*_*orT 32

如果你使用xCode 4,你将面临这样的问题.尝试下一步:

  1. 从设备中删除应用程序
  2. 选择项目树的根节点以获取项目的属性
  3. 选择"Build Phases"选项卡
  4. 单击"添加构建阶段"并选择"复制文件"
  5. 在"复制文件"视图中选择"资源"
  6. 添加Localizable.strings文件
  7. 对项目执行"清理"
  8. "建立并运行"

  • 完美,但我还需要一步,我需要将InfoPlist重命名为Localizable :) (5认同)

Kno*_*del 9

使Localizable.strings文件可本地化(单击它,按cmd + i并按"Make file localizable"按钮)并向其添加德语和英语本地化.然后将德语本地化写入该文件的德语版本,并保留英文版本如下:

/* Title of AlertView */
"About" = "About";
/* Cancel Button Title */
"Back" = "Back";
Run Code Online (Sandbox Code Playgroud)