UG4L19——多国语言
UG4L19——多国语言
本章代码关键字
1 | XML //这是FairyGUI自带的XML类,可以读取多国语言相关的XML文本 |
FairyGUI的多国语言解决方案
先拼界面,再翻译,把界面上的所有文字导出到一个文件,然后把这个文件提交翻译,运行时动态载入翻译好的文件
生成语言文件
菜单栏 ——> 工具 ——> 字符串导入与导出
-
不导出已标记为发布时清空的内容
例如文本,设置了发布时清空,如果这里勾选了,那么这个文本就不会出现在语言文件里
-
如果导出目标文件已存在,与目标文件合并(覆盖)
比如现在导出内容中包含1个id为x1的字符串值为a
而目标文件也存在一个id为x1的字符串,值为b,
则导出的结果文件里,x1的值为b
导出的文件包含了在UI上出现的所有文字(排除了纯阿拉伯数字),其中
- name是唯一ID,不能修改
- mz是控件名称,主要用于提示,
没有实际用处,删了也不影响 - 我们只需要在xml文件中修改显示内容即可
使用多国语言
菜单栏——>项目设置——>多国语言——>点击加号——>选择语言xml文件
添加后我们可以在工具栏进行语言切换,只在预览时生效,如果预览时改变文件内容,点击刷新键即可刷新
Unity中的使用
注意:语言文件要在创建UI前载入,不支持实时切换语言文件
如果要在游戏中切换语言,那只能先销毁所有UI,卸载所有包
-
自行加载语言文件中的
string
(最好将语言文件导入到工程内)1
string fileContext = Resources.Load<TextAsset>("English").text;
-
通过FairyGUI工具类中的XML
1
2string fileContext = Resources.Load<TextAsset>("English").text;
XML xml = new XML(fileContext); -
设置载入好的数据,再显示面板
1
2
3
4
5string fileContext = Resources.Load<TextAsset>("English").text;
XML xml = new XML(fileContext);
UIPackage.SetStringsSource(xml);
//显示面板前就要加载好语言文件
UIManager.Instance.ShowPanel<TeachPanel>("teach");
显示效果:
将编辑器中的文字全部替换
如果你想分成两个FGUI工程来管理两种语言,可以将现有工程复制一个,然后从外部导入翻译好的语言文件
注意:导入文本会修改掉工程中原有的所有文本内容,需要谨慎操作,一般都是复制原有工程进行操作
关于多国语言的制作总结
分支+多国语言
- 分支控制图片的多国匹配
- 多国语言控制文本的多国匹配
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!