Как изменить время выполнения языка приложения в swift (из приложения) без изменения языка устройства, iOS - PullRequest
1 голос
/ 08 февраля 2020

Нужно ли делать @IBOutlets для всех меток в тамошних контроллерах (как показано в примере), чтобы назначить там ключ, соответствующий языковой строке, или есть какое-то лучшее возможное решение, которое может быть принято, любой ответ будет полезен Спасибо

@IBOutlet weak var languageChangeLabel: UiLabel!

languageChangeLabel.text = .localized("keyForLabel", language: languageCode)
// key is form .Strings files, language codes like "zh" for Chinese and "ar" for arabic (language localization
code) 

// and extension is 


 extension String {
    public static func localized(_ key: String, language: String? = nil) -> String {
        let language = language ?? Locale.preferredLanguages.first?.components(separatedBy: "-").first ?? "en"
        guard let path = Bundle.main.path(forResource: language, ofType: "lproj"), let bundle = Bundle(path: path) else {
            return Bundle.main.localizedString(forKey: key, value: nil, table: "Localizeable")
        }
        return bundle.localizedString(forKey: key, value: nil, table: "Localizeable")
    }
}


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...