iOS中的本地化问题

时间:2014-05-01 15:33:37

标签: ios localization

过去两天我一直陷入与本地化有关的神秘问题。 我正在尝试为我的应用添加语言,但在我看来,出现了问题。

为简单起见,我在当前的应用程序中添加了以下行,以查看单词test是否会翻译:

- (void)viewDidLoad
{ [super viewDidLoad];
UILabel *lbl1 = [[UILabel alloc] init];
[lbl1 setFrame:CGRectMake(0,5,100,20)];
lbl1.textColor=[UIColor blackColor];
[self.view addSubview:lbl1];
lbl1.text= NSLocalizedString(@"test", nil);
}

在“项目信息”部分的本地化部分添加语言,然后选中“基于使用的国际化”。除了创建“Localizable.strings”文件并单击Localize以选择语言外,单词test还没有翻译。

BTW,这是Localizable.strings档案:

"test" = "test translated";

我已经干净了,并从我的手机中删除了应用程序并再次构建它,但没有任何改变!

我使用了相同的代码,并通过在xCode上创建一个新项目完成了相同的步骤,令人惊讶的是它进行了翻译!

任何人都知道为什么翻译不会发生在我原来的应用程序中?

2 个答案:

答案 0 :(得分:0)

首先, Base Internationalization 适用于故事板,不适用于NSLocalizedString

其次,该文件应为 Localizable.strings ,而不是 Localization.strings

答案 1 :(得分:0)

最近我很开心。我做了那些事:

1)从模拟器/ iPhone

删除了应用程序

2)清理过的应用程序(产品 - >清洁)

3)删除派生数据(窗口 - >管理器 - >项目(标签) - >(从左侧选择自己的项目) - >点击派生数据右侧的“删除...”

它帮助了我