Unity国际化 多语言设置(二)

这篇写一下多语言的另一种做法,相比16年的文章(好久啊~~~)在配置的时候更方便,以前的做法应该是每种语言单独一个文件,这样比较容易出错,现在把所有语言都方法Excel中。如下图,配置起来更简单。(这个版本不支持图片多语言切换!!!有需要再单独弄个表做)

Unity国际化 多语言设置(二)_第1张图片

因为还有一个打包加载的东西,代码就不再贴出来了,总结一下思路。现在的做法,在打包的时候就将这个文件拆成单个文件了,每种语言一个AssetBundle。

打包也好,Xml也好,根据自己项目更新做吧。每种语言单独存在一个字典中,键是ID,值就是现实的多语言。

写一个新类,继承UGUI中的Text类,添加新字段m_key,和SetText(string key)方法。在Localization中找到key的值,并赋值给Text。

Localization中缓存一个字典,当前语言的字典。并提供一个方法取值。

再增加一个FontSet类,提供切换多语言的接口,切换的时候去加载对应语言的AssetBundle文件,解析后替换给Localization中的字典。

刷新方法,在调用FontSet的切换接口后,刷新设置页面或没关闭的页面,其他已关闭页面的可以再Text类中Awake()中做。再打开的时候就会更新好了

你可能感兴趣的:(Unity)