NSLocalizedString没有获得密钥的值

问题描述 投票:0回答:2

我有2个本地化的字符串文件,一个用于罗马尼亚语,一个用于英语。在这两个文件中我都有这一行:

英语:

"invalidSum" = "Invalid amount"

罗马尼亚:

"invalidSum" = "Suma invalida"

我在这样的警告中使用此消息:

  let titleAlert = NSLocalizedString("invalidSum", comment: "")

    let sumAlert = UIAlertController(title: titleAlert, message: nil, preferredStyle: .alert)
    sumAlert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
    present(sumAlert, animated: true, completion: nil)
    }

但是,每当警报显示时,我都会收到消息“invalidSum”,而不是“无效金额”用于英语本地化,而“Suma invalida”用于罗马尼亚语本地化。我究竟做错了什么?

ios swift nslocalizedstring
2个回答
1
投票

可本地化文件的名称应为“Localizable.strings”。


1
投票

将Localized.string文件重命名为Localizable.strings。而已。


0
投票

解决了它

我的问题是我在Main.strings文件中创建了这些新字符串(当你在Project Info中选择新语言时,Xcode会自动为你创建这些文件。

我不得不创建2个名为“Localizable.strings”的新Strings文件,并将其本地化为一个用于英语,一个用于罗马尼亚语。我将我写入Main.strings的字符串复制到Localizable.strings,现在它就像魅力一样。

© www.soinside.com 2019 - 2024. All rights reserved.