在自定义tableview单元格中本地化按钮和标签[swift]

时间:2015-02-07 11:08:12

标签: ios uitableview swift localization nslocalizedstring

我有自定义单元格的tableview。 每个都由几个对象组成:按钮和文本。 我在按钮内容的本地化方面存在一些问题。 我有我的.strings文件,其中定义了键和翻译文本,例如

START="Start";

调用

cell.startButton.setTitle(NSLocalizedString("START", comment: ""), forState: .Normal)

因此,我没有'开始'作为文本按钮而是'开始',为什么?当然,文本没有本地化,因为我总是读“START”。

编辑: 我准备了一个测试应用程序,显示相同的行为。 下载链接为HERE 有人可以帮忙吗?

EDIT2: 我发现必须调用字符串文件的错误:'Localizable.strings'我不知道......

1 个答案:

答案 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)