我正在将我的应用程序翻译成多种语言,故事板的翻译非常好,但我很难将tableView (tableView cell)和相应的viewController的内容本地化。
到目前为止,我已经为2种语言创建了字符串文件Localizable.strings。
FirstViewController包含一个数组,其名称作为UILabel传递给TableViewCell,然后传递给相应的DetailViewController。
TableViewCell:
class UpperTableViewCell: UITableViewCell {
@IBOutlet weak var upperImage: UIImageView!
@IBOutlet weak var upperBodyType: UILabel!
@IBOutlet weak var upperLblName: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}名称标签的objectID在Main.strings中的引用是"BkN-Wi-Ai3.text“= "Label1";
但是,我不知道如何将名称数组和bodyType数组的转换数据转换为TableView中的标签。
谢谢你的建议。
发布于 2019-09-09 18:31:59
尝试使用以下步骤:
使字符串扩展名(Tablename应该是您的.strings文件):
extension String {
func localized(bundle: Bundle = .main, tableName: String = "Localized”) -> String {
return NSLocalizedString(self, tableName: tableName, value: "**\(self)**", comment: "")
}
}在更新您的awakeFromNib之后
override func awakeFromNib() {
super.awakeFromNib()
upperBodyType.text = upperBodyType.text?.localized()
upperLblName.text = upperLblName.text?.localized()
}https://stackoverflow.com/questions/57858468
复制相似问题