我制作了一个本地化为两种语言(英语和丹麦语,默认为英语)的 ios 应用程序。
我制作了一个带有两个子文件 en 和 da 的 Localizable.strings。
一切都应该正确,我看到从字符串文件中加载英文文本很好。但丹麦人没有。
我试图通过下面的代码检查首选语言,它是丹麦语。
[[NSLocale preferredLanguages] objectAtIndex:0];
我试过清理 + 删除和重建,但没有运气。
我知道 Localizable.strings 文件正在工作,因为它正在获取英文文本。我知道它通过上面的代码行看到了丹麦本地化。我错过了什么?
只是添加几个例子:
来自EN:
"YesButton" = "Done";
"NoButton" = "Not yet!";
"NextButton" = "Next";
"BackButton" = "Back";
"EditButton" = "Edit";
"DoneButton" = "Done";
和丹麦人:
"YesButton" = "Færdig";
"NoButton" = "Ikke endnu!";
"NextButton" = "Næste";
"BackButton" = "Tilbage";
"EditButton" = "Redigér";
"DoneButton" = "Færdig";
获取文本的代码是:
[yesButton setTitle:NSLocalizedString(@"YesButton", nil) forState:UIControlStateNormal];
即使preferredLang是da(丹麦语),它也会返回“Done”!
希望有人有想法?:)
提前致谢。
编辑:::
实际的丹麦-丹麦本地化出了点问题。我不知道苹果是否更新了它或他们做了什么,但它从被称为“丹麦-丹麦”变成了“丹麦”。在制作了全新的丹麦语本地化并删除了旧的本地化后,它起作用了!疯狂的事情。让你摸不着头脑!