使用 main.strings 文件中的现有字符串作为另一个元素的文本

Using existing string from main.strings file for another element's text

我在情节提要中添加了一个标签(假设为 'newLabel')并为其添加了文本(假设为 'Share')。我什至对情节提要中的所有语言进行了本地化检查,但文本仍然没有添加到 Main.strings(en) 文件中,因此没有得到翻译。

但是我的 main.strings(en) 文件已经包含我为另一个标签添加的文本 'Share'(比如说 'oldLabel')并且该文本已本地化并出现在 main.strings 其他语言的文件。

有没有一种方法可以让我从 main.strings 文件访问该字符串并通过代码将其分配给标签的文本 属性?

旧标签在 main.strings(en) 文件中的文本:

我想知道在代码中是否可以实现类似下面的内容?

newLabel.text = nuq-zS-uwp.text

如果是,那么如何在代码中访问 nuq-zS-uwp.text?

您可以通过调用 NSLocalizedString 在代码中访问本地化字符串,例如

let localizedShareString = NSLocalizedString("nuq-zS-uwp.text",
    value:"SHARE", 
    comment: "Share string")

只要您的情节提要中的本地化字符串文件保持相同的密钥,并且在运行时位于应用程序包中,这就可以工作。

但是,我怀疑那些自动生成的字符串键名称是脆弱的并且可能会发生变化。

在我的公司,我们通常会忽略 Storyboard 中的字符串,并将它们替换为我们使用 NSLocalizedString() 在代码中查找的字符串。