加载特定文本失败

时间:2017-10-23 12:05:55

标签: ios swift localization

我使用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"
}

1 个答案:

答案 0 :(得分:1)

你有一个额外的分号;在"User Email"之后。当然不是问题吗?将其更改为"User Email" = "登入電郵";