在swift中

时间:2016-05-19 08:23:35

标签: swift localization uinavigationbar uinavigationitem

我在“属性”检查器中编写导航栏标题。当我切换到其他语言时,我想翻译那个标题。

 self.navigationItem.title = NSLocalizedString("Login", comment: "")

我在override func viewDidLoad()中写它。 我使用导航项目对象ID“S3Z-Mr-Qda”并将其翻译在Main.strings文件中。

/* Class = "UINavigationItem"; text = "Package History"; ObjectID = "S3Z-Mr-Qda"; */

“S3Z-Mr-Qda.text”=“登录”;

但是,它根本没有改变,如何在swift中实现它?

2 个答案:

答案 0 :(得分:2)

您实际上可以使用该方法为标题提供翻译。 你唯一做错的就是设置属性" text"。正如您在代码版本中看到的那样,navigationItem具有标题属性,而不是文本

这样可行:

"S3Z-Mr-Qda.title" = "Login";

答案 1 :(得分:0)

我认为你应该把你的翻译放在一个通用的里面 Localizable.strings文件而不是故事板翻译文件。

然后使用相同的代码加载标题文本:

self.navigationItem.title = NSLocalizedString("Login", comment: "")

查看官方文档以创建此类文件:

https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html