在Swift 3中设置语言失败
在Swift 3中设置语言失败
先生,
我正在尝试创建一个多语言支持的应用程序。我使用缩写诸如zh-Hant,en,jp作为用户默认保存的语言代码,并更改应用程序的语言。以文本字段的占位符为例,如果我点击集合视图中的项目,文本字段的占位符文本将会改变。然而,我无法做到这一点。模拟器的默认语言是英语。
以下是我正在进行中的工作:
本地化文件:日本(jp)
"User Email"; = "ユーザーメール";
设置文本方法
let lcode : String = self.langList[indexPath.item].code
print("You selected cell #\(indexPath.item) and code : \(lcode)")
UserDefaults.standard.setValue(lcode, forKey: "lang")
txtUsername.placeholder = "User Email".localized(lang: lcode)
字符串扩展
extension String {
func localized(lang:String) ->String {
if let path = Bundle.main.path(forResource: lang, ofType: "lproj") {
if let bundle = Bundle(path: path) {
return NSLocalizedString(self, tableName: nil, bundle: bundle, value: "", comment: "")
}
}
return "";
}