如何实现本地化
第一步 创建一个bundle 文件
第二步 创建需要的支持的语言文件(以简体中文为例)
- 里面的文件名字必须为 Localizable.strings
文件里面写的内容 为 key + 本地值,如下
"name" = "酷走天涯";
"sex" = "25";
"city" = "上海";
第三步 .写个全局方法获取本地文件
class func os_localizedStringForKey(_ key:String,defaultValue:String,bundleName:String)->String{
let bundlePath = Bundle.main.path(forResource: bundleName, ofType: "bundle")
var language = NSLocale.preferredLanguages.count > 0 ? NSLocale.preferredLanguages[0] : "en"
let bundle = Bundle(path: bundlePath!)!
if !bundle.localizations.contains(language){
language = language.components(separatedBy: "-")[0]
}
if let bundlePath = bundle.path(forResource: language, ofType: "lproj"){
if let bundle = Bundle(path: bundlePath){
return bundle.localizedString(forKey: key, value: defaultValue, table: nil)
}
}
return defaultValue
}
}
第四步 调用
localizedStringForKey("name", defaultValue: "xj",bundleName:"bundle")
酷走天涯
- 第五步 切换手机的语言进行测试
这个就不说了,都会吧!