2015-02-07 78 views
0

我有一个自定义单元格的tableview。 每个都由几个对象组成:按钮和文本。 我有一些问题本地化按钮的内容。 我有我的.strings与定义键和翻译文本文件,例如在自定义tableview单元格中定位按钮和标签[swift]

START="Start"; 

调用

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

因此而不是“开始”文本按钮的我“START”,为什么呢?当然,由于我总是阅读“开始”,因此文本并未本地化。

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

EDIT2: 我发现错误的字符串文件必须叫:“Localizable.strings”我不知道......

回答

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) 
+0

对不起,这是只是一个复制和粘贴错误,因为我检查了是否同一个问题是在日志中,它是。不幸的是,没有任何变化感谢您的扩展提示,我将使用它,如果我的本地化工作.... – Nicholas 2015-02-07 11:13:55

+0

字符串文件是否包含在项目中? – Antonio 2015-02-07 11:14:37

+0

@Nicholas看到更新的答案 - 也许我发现了错误 – Antonio 2015-02-07 11:16:40

相关问题