Foundation-NSLocale

如何实现本地化

第一步 创建一个bundle 文件

Foundation-NSLocale_第1张图片
创建一个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")

酷走天涯

  • 第五步 切换手机的语言进行测试

这个就不说了,都会吧!


你可能感兴趣的:(Foundation-NSLocale)