我是iOS的新手,我知道这是一个非常常见的问题,但我找不到适合我的查询的答案。
我已将文字添加到应用中的控件上,如此
let productDescriptionCell = tableView.dequeueReusableCellWithIdentifier("textDescriptionCell") as! TextDescriptionCell
productDescriptionCell.labelForCell.text = "Description"
productDescriptionCell.labelForCell.sizeToFit()
productDescriptionCell.labelForCell.adjustsFontSizeToFitWidth = true
与上面的“描述”文字类似。
我希望在我的应用中有一个按钮,让用户可以动态更改语言。我发现以下代码是最相关的,但这需要重新启动应用程序。
userDefaults.setObject(["\(cc)"], forKey: "AppleLanguages")
userDefaults.synchronize()
另外,我的故事板控制器中有硬编码的文本,我也希望这些也是本地化的。我怎样才能做到这一点?
泰语和英语是我需要本地化的语言
productTitleCell.textFieldForCell.placeholder = SpecProvider.spec.localizedTuv(createLocalizedString("en", tuvEnglish: "Enter Title", tuvThai: "ป้อนชื่อ"))
func localizedTuv(localizedString: LocalizedString) -> String {
var locale = LocaleSelectionService.sharedInstance.getCachedLocale()
if locale.isEmpty {
locale = ""
}
switch(locale) {
case "en": return localizedString.getTuvEnglish()
case "th": return localizedString.getTuvThai()
default: return localizedString.getTuvEnglish()
}
}
我已经尝试了上面的代码,但这可能会非常繁琐。请帮忙,我真的被卡住了!
答案 0 :(得分:0)
您必须创建字符串文件,并为要支持的每种语言添加标签。完成此操作后,您可以使用NSLocalizedString
作为ViewController中使用的文本。
这是一个教程http://www.raywenderlich.com/64401/internationalization-tutorial-for-ios-2014