iOS本地化,应用程序中的语言更改

时间:2018-01-23 14:39:02

标签: ios iphone swift localization

// 嘿,我的本地化问题。 使用2种语言在应用程序上工作,您可以使用简单的按钮在登录屏幕上更改应用程序中的语言,当我在故事板中创建它时,它都可以工作,但是我没有找到解决方案的localalized字符串。 // 这是你如何改变语言,它与故事板元素一起使用 //

fileprivate extension LoginViewController {

    @IBAction func changeLanguage(_ sender: UIButton) {
        if sender == currentBtn { return }
        currentBtn?.backgroundColor = nil
        switch sender {
        case gbBtn:
            Locale.updateLanguage(code: "en")
        case rsBtn:
            Locale.updateLanguage(code: "sr")
            default:
            break
        }
        currentBtn = sender
        currentBtn?.backgroundColor = .white
    }
}

//这不起作用

@IBAction func alertAction(_ sender: Any) {
    let alert = UIAlertController(title: NSLocalizedString("pera", comment: ""), message: NSLocalizedString("toma", comment: ""), preferredStyle: UIAlertControllerStyle.alert)
    alert.addAction(UIAlertAction(title: "stisni", style: UIAlertActionStyle.default, handler: nil))
    self.present(alert, animated: true, completion: nil)
}

我创建了一些字符串文件,我把这个键放在哪里但没有任何反应,编译器在我运行时向我显示键。

1 个答案:

答案 0 :(得分:0)

一种解决方案可能是覆盖苹果语言。

UserDefaults.standard.set(["en"], forKey: "AppleLanguages")
UserDefaults.standard.synchronize()

然后你必须重新加载每个标签文本。