我有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"罗马尼亚语本地化。我做错了什么?
答案 0 :(得分:1)
可本地化文件的名称应为“ Localizable.strings”。
答案 1 :(得分:0)
解决了
我的问题是我在Main.strings文件中创建了这些新字符串(当你在Project Info中选择新语言时,Xcode会自动为你创建这些文件。
我必须创建2个名为" Localizable.strings"的新字符串文件。并将其本地化为英语,一本为罗马尼亚语。我将我写入Main.strings
的字符串复制到Localizable.strings
,现在它就像魅力一样。
答案 2 :(得分:0)
将Localized.string文件重命名为Localizable.strings。就是这样。
答案 3 :(得分:0)
就我而言,问题是格式不正确。 该问题不会立即出现,而只会在下一次构建清理(或类似的tms)之后出现。 因此,我发现文件末尾的行未翻译,但从头开始的行已翻译。 而且我发现其中的一行看起来像
= "some value";
也就是说,根本就没有钥匙。而且构建过程没有错误。但是下面的所有行都没有翻译。