[英]How to localize tableView cells in Swift?
如何在Swift中定位TableView
單元格?
對於一個String變量,它是:
let alertTitle = NSLocalizedString("a", comment: "")
但是,如何為TableView
本地化數組?
let array = ["a", "b", "c", "d", "e"]
您需要像使用alertTitle
一樣分別本地化每個字符串。 如果您不對本地化字符串使用注釋(就像大多數人一樣),則可以使用擴展名簡化本地化
extension String {
var localized: String {
return NSLocalizedString(self, comment: "")
}
}
並用定義數組
let array = ["a".localized, "b".localized, "c".localized, "d".localized, "e".localized]
甚至更短
let let array = ["a", "b", "c", "d", "e"].map({ $0.localized })
使用@sundance的String擴展名:
extension String {
var localized: String {
return NSLocalizedString(self, comment: "")
}
}
我更喜歡使用此擴展名而不是[String]
:
extension Array where Element == String {
var localized: [Element] {
return self.map({ $0.localized })
}
}
然后,您可以使用以下代碼:
let array = ["a", "b", "c", "d", "e"].localized
let array = [NSLocalizedString("a", comment: ""), NSLocalizedString("b", comment: ""), NSLocalizedString("c", comment: ""), NSLocalizedString("d", comment: ""), NSLocalizedString("e", comment: "")]
本地化相關數據組時的某種方式
let arrayLocalized = [string]()
for i in 1...10
{
arrayLocalized.append(NSLocalizedString("a\(i)", comment: ""))
}
本地化文件看起來像這樣
"a1"="first value";
"a2"="second value";
.
.
.
"a10"="last value";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.