【发布时间】:2015-12-01 16:15:49
【问题描述】:
我是 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()
}
}
我已经尝试了上面的代码,但这可能会变得非常乏味。请帮忙,我真的卡住了!
【问题讨论】:
标签: swift nsstring swift2 nsuserdefaults swift2.1