我有自定义单元格的tableview。 每个都由几个对象组成:按钮和文本。 我在按钮内容的本地化方面存在一些问题。 我有我的.strings文件,其中定义了键和翻译文本,例如
START="Start";
调用
cell.startButton.setTitle(NSLocalizedString("START", comment: ""), forState: .Normal)
因此,我没有'开始'作为文本按钮而是'开始',为什么?当然,文本没有本地化,因为我总是读“START”。
编辑: 我准备了一个测试应用程序,显示相同的行为。 下载链接为HERE 有人可以帮忙吗?
EDIT2: 我发现必须调用字符串文件的错误:'Localizable.strings'我不知道......
答案 0 :(得分:3)
字符串文件的正确语法是:
"id" = "localized message";
在你的情况下,你必须写:
"START" = "Start";
而您省略了标识符中的双引号:
START = "Start"; // This is wrong
附注:如果您正在进行大量本地化,我建议您添加此字符串扩展名:
extension String {
var localized: String {
return NSLocalizedString(self, comment: "")
}
}
然后你可以让本地化变得更简单:
cell.startButton.setTitle("START".localized, forState: .Normal)