我对本地化应用程序有疑问。因此,我将使用3种语言:
然后我创建本地化文件:
然后我将此文件翻译为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
。
这是我在控制台中打印的:
代码:
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在正常工作。
我真的试图找到解决方案。
答案 0 :(得分:1)
从您的评论(localizable.strings
被正确翻译)中,我们可以看到问题通常不是翻译成uk-UA
,而是故事板字符串文件。
将这些文件弄乱很容易,因此您需要检查其格式是否正确。有时,编译器会有所帮助,而有时则无济于事。
我发现调试此问题的最简单方法是从文件中删除除第一个翻译之外的所有翻译,检查其是否正常运行,然后逐步重新添加更多翻译,直到找到问题为止。
例如,所以从
开始"nAo-pY-eyH.normalTitle" = "Старт";
检查按钮是否正确翻译,然后从那里继续操作。