我正在我的项目中实现本地化,几乎所有的UI都是从情节提要创建的。我正在设置本地化,已经创建了本地化文件,我需要两种语言的阿拉伯语和默认的英语, 问题是我想更改整个应用程序的按钮单击时的语言, 我正在使用此代码:-
func changeLanguageTo(lang: String) {
language = lang
// set language to user defaults
Common.setValue(value: language as AnyObject, key: LANGUAGE_KEY)
// set prefered languages for the app.
UserDefaults.standard.set([lang], forKey: "AppleLanguages")
UserDefaults.standard.synchronize()
// re-set the bundle object based on the new langauge
bundle = Bundle(path: Bundle.main.path(forResource: language == "ar" ? language : "Base", ofType: "lproj")!)
// app direction
if isArabic() {
UIView.appearance().semanticContentAttribute = .forceRightToLeft
} else {
UIView.appearance().semanticContentAttribute = .forceLeftToRight
}
print(language)
}
并拨打
changeLanguageTo(lang: "ar")
它无法正常运行,仅应用从左到右或从右到左更改 内容不会更改为阿拉伯语,首先我只希望更改情节提要主字符串。 有什么解决办法,请告诉我。 谢谢