iOS多语言设置,使用指定语言
通常使用多语言在Resource里配置Localizable文件,添加需要的语言即可。
使用String的扩展方法如下:
如果需要占位符,%d表示数字,%@表示字符串,用localizedWithArgs方法
func localized() -> String {
return NSLocalizedString(self, comment: "")
}
func localizedWithArgs(_ args: CVarArg...) -> String {
let localizedString = localized()
return String(format: localizedString, arguments: args)
}
如果使用了多语言配置文件有中英文,但是暂时只需要支持一种语言如中文,就需要在中文和英文里放两份相同文案,很麻烦。解决方法是新建一个多语言文件如zh.strings,然后在NSLocalizedString方法的tableName参数引用它。这样只用一份多语言文件,不管手机系统语言是什么,都使用它。
func localized() -> String {
return NSLocalizedString(self, tableName: "zh", bundle: Bundle.main, value: "", comment: "")
}
func localizedWithArgs(_ args: CVarArg...) -> String {
let localizedString = localized()
return String(format: localizedString, arguments: args)
}