【发布时间】:2017-11-19 11:07:09
【问题描述】:
我有 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”,而不是英语本地化的“Invalid amount”和罗马尼亚语本地化的“Suma invalida”。我做错了什么?
【问题讨论】:
-
字符串文件中每个键/值对的末尾应该有一个分号。
-
你确定你设置了 Localizable.strings 对吗?它们是为期望的目标指定的吗?相关:stackoverflow.com/questions/35732333/…
-
@MartinR 我认为缺少分号会导致“无法读取数据,因为它的格式不正确”编译时错误,至少这是发生的情况就我而言...
-
我添加了分号,但它仍然无法正常工作。当我在 Project Info 中选择一种新语言时,这些字符串文件是手动创建的。它创造了我 Main.strings(英语)和 Main.strings(罗马尼亚语)。这就是我放置自定义警报消息的地方。
-
@AhmadF 好的,localizable.strings 没有设置好。现在要回答我的问题
标签: ios swift nslocalizedstring