【问题标题】:Localize buttons and label in custom tableview cell [swift]在自定义表格视图单元格中本地化按钮和标签 [swift]
【发布时间】:2015-02-07 22:42:27
【问题描述】:

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

START="Start";

打电话

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

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

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

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

【问题讨论】:

    标签: ios uitableview swift localization nslocalizedstring


    【解决方案1】:

    字符串文件的正确语法是:

    "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)
    

    【讨论】:

    • 抱歉,这只是一个复制和粘贴错误,因为我检查了日志中是否存在相同的问题,并且确实存在。不幸的是,没有任何改变。感谢您的扩展提示,如果我的本地化有效,我会使用它......
    • 项目中是否包含字符串文件?
    • @Nicholas 查看更新的答案 - 也许我发现了错误
    • 是的!我有 START="Start" 的“Localization.strings”;在里面
    • 我准备了一个测试应用,你能检查一下吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 2018-09-22
    • 1970-01-01
    • 1970-01-01
    • 2014-02-01
    • 1970-01-01
    相关资源
    最近更新 更多