iOS 多语言开发

237 阅读1分钟

Swift 多语言开发

项目添加多语言

  • 参考链接
  • 注意点:多语言文件翻译之后需要按key value 格式
    • 翻译前 key 先填好,value中占位符先填好;避免翻译后需要改多份
    • 占位符:字符:%@ 整数:%d
    • 可以用某些工具,将翻译表格导出符合 iOS .string格式的文件

image.png

image.png

  • 通过参考链接方式添加项目支持的多语言,切系统语言也会把App切成对应的语言资源【没有做APP内语言切换逻辑的情况下】,iOS系统会将app切到对应语言资源bundle

App内语言切换

  • 原理:根据路径获取对应的语言资源bundle,将该bundle应用为Bundle.main,重设rootVC
  • 需要多语言显示的字符,需要重写方法,如下,举个例子:显示字符时text= class.localValue("key")
```/// 重定义bundle localize

    **public** **func** localValue(str:String) -> String{

            bundle.localizedString(forKey: str, value: **nil**, table: "Localizable")

    }