使用乌克兰语的iOS本地化文件不起作用

时间:2018-09-04 06:47:34

标签: ios swift localization

我对本地化应用程序有疑问。因此,我将使用3种语言:

  1. 英语
  2. 俄语
  3. 乌克兰语

然后我创建本地化文件:

enter image description here

然后我将此文件翻译为Ukrainian

    /* Class = "UIButton"; normalTitle = "Start"; ObjectID = "nAo-pY-eyH"; */
"nAo-pY-eyH.normalTitle" = "Старт";

/* Class = "UILabel"; text = "year"; ObjectID = "qiX-mI-YVI"; */
"qiX-mI-YVI.text" = "Рік";

/* Class = "UIButton"; normalTitle = "START TESTING"; ObjectID = "rHr-P9-7MM"; */
"rHr-P9-7MM.normalTitle" = "ПОЧАТИ ТЕСТУВАННЯ";

/* Class = "UILabel"; text = "Detail"; ObjectID = "tNb-3z-yWj"; */
"tNb-3z-yWj.text" = "Деталі";

/* Class = "UITextField"; placeholder = "E-mail"; ObjectID = "tbQ-Wo-JMl"; */
"tbQ-Wo-JMl.placeholder" = "E-mail";

/* Class = "UIButton"; normalTitle = "Sign In"; ObjectID = "v54-H1-c5F"; */
"v54-H1-c5F.normalTitle" = "Вхід";

在设备设置中,我选择了区域Ukraine和语言Ukrainian

这是我在控制台中打印的:

enter image description here

代码:

let langCode = Locale.current.languageCode
    let regionCode = Locale.current.regionCode
    let language = "\(langCode!)-\(regionCode!)"
    print(language)
    let preferredLanguage = Locale.preferredLanguages[0] as String
    print (preferredLanguage)

但是我仍然没有得到结果,并且我的应用程序没有翻译,因为Russian lang在正常工作。

我真的试图找到解决方案。

1 个答案:

答案 0 :(得分:1)

从您的评论(localizable.strings被正确翻译)中,我们可以看到问题通常不是翻译成uk-UA,而是故事板字符串文件。

将这些文件弄乱很容易,因此您需要检查其格式是否正确。有时,编译器会有所帮助,而有时则无济于事。

我发现调试此问题的最简单方法是从文件中删除除第一个翻译之外的所有翻译,检查其是否正常运行,然后逐步重新添加更多翻译,直到找到问题为止。

例如,所以从

开始
"nAo-pY-eyH.normalTitle" = "Старт";

检查按钮是否正确翻译,然后从那里继续操作。