我使用swift 3.2来处理多语言应用
对于每个lproj文件和LocalisedString,我创建键值对:
“用户电子邮件”; =“登入电邮”;
可以打印Bundle的路径,但我根本不能使用本地化的字符串。
Containers/Bundle/Application/0C630DFA-2AB8-48AA-9BE2-3FD6524716C1/TaxIRD.app/zh-Hant.lproj
你能告诉我吗?我可以通过用户偏好更改应用语言的方式?
这是我的工作
extension String {
func localized(lang:String , key:String) ->String {
let path = Bundle.main.path(forResource: lang, ofType: "lproj")
print(path ?? "nil path")
let bundle = Bundle(path: path!)
//Bundle.main.lo
return NSLocalizedString(key, comment: "")
}...
ViewController
UserDefaults.standard.setValue(lcode, forKey: "lang")
if lcode == "tw" {
lcode = "zh-Hant"
}else if lcode == "cn" {
lcode = "zh-Hans"
}
答案 0 :(得分:1)
你有一个额外的分号;在"User Email"
之后。当然不是问题吗?将其更改为"User Email" = "登入電郵";