UITableViewSection footerTitle未进行本地化

时间:2015-07-06 14:16:30

标签: ios uitableview localization

我在我的iOS 8项目中添加了丹麦语本地化。我想本地化静态[value, value, value] 的页眉和页脚,我面临的问题是标题是本地化的,但是页脚总是有来自Main.strings(英文)文件的字符串。这些值是通过Interface Builder设置的。我在设备和模拟器上测试过这个。

Main.strings(英文)

UITableViewSection

Main.strings(丹麦语)

/* Class = "UITableViewSection"; footerTitle = "..."; ObjectID = "cHU-BB-3aF"; */
"cHU-BB-3aF.footerTitle" = "Footer Title";

/* Class = "UITableViewSection"; headerTitle = "Payment Details"; ObjectID = "cHU-BB-3aF"; */
"cHU-BB-3aF.headerTitle" = "Header Title";

1 个答案:

答案 0 :(得分:1)

您可以在代码中设置页脚标题,然后使用NSLocalizedString代替。要在代码中设置页脚标题,您应该实现tableView:viewForFooterInSection:。所以,它看起来像这样:

override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
  let footerLabel = UILabel(frame: CGRect.zeroRect)
  footerLabel.text = NSLocalizedString("Your title for footer", comment: "Comment for footer")
  footerLabel.sizeToFit()
  return footerLabel
}

然后,您可以使用Terminal中的genstrings命令创建Localizable.strings文件:

  1. 打开终端并cd到包含项目的文件夹
  2. 输入以下命令:genstrings *.swift -o en.lproj
  3. 将Localizable.strings文件添加到项目中
  4. 您可以通过在Project导航器中选择Localizable.strings文件,选择“实用程序”中的“文件检查器”,然后选中“丹麦语”来为丹麦语添加Localizable.strings文件的本地化。