我做了一个本地化为两种语言(英语和丹麦语,英语为默认)的ios应用程序。
我用两个子文件en和da制作了Localizable.strings。
一切都应该正确,我看到英文文本加载罚款字符串文件。但丹麦人不。ios可本地化的字符串不工作
我试图通过下面的代码检查首选语言,它是丹麦语。
[[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(丹麦语),它也会返回“完成” !
希望有人有一个想法? :)
在此先感谢。
编辑:::
实际的丹麦 - 丹麦本地化出了问题。我不知道苹果是否更新了它或者它做了什么,但是它从被称为“丹麦 - 丹麦”变为“丹麦”。 做了一个全新的丹麦语本地化并删除了它的旧版本!疯狂的事情。让你挠头!
您是否在英文和丹麦文件中使用相同的密钥? – sixthcent
是的,当然......关键是当然是相同的,不同的文字。 –
你确定你正在获得英文版本,而不是简单的默认文本? –