-1
我想创建一个多语言支持的应用程序。我使用像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)
字符串exntension
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 "";
}
该应用的语言是在设备上改变的,而不是在应用本身内。如果您想查看本地化的字符串,请在设备的设置中更改语言。 – matt
那么我应该如何在运行时更改应用程序语言? –