继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

游戏开发中的多语言处理

游子陈
关注TA
已关注
手记 26
粉丝 3
获赞 2

前言

之前我写过一遍《数据表的使用》的文章,今天继续用文本处理为例讲解一下数据表导出工具的使用和多语言的使用方式。

编写数据表

我们先定义一个UI文本表,写好表头,添加几个测试用对本文,注意类型使用lang。
image.png

使用工具导出

打开build.bat文件,修改数据表和项目路径,双击运行,这时候如果不出问题你的项目下就会出现对应的数据和枚举文件
image.png
image.png
为了减少配置数据的大小,所有数据才用数组形式,所以生成了枚举文件,使用枚举索引对应的数值。
image.png

使用数据

  1. 添加数据到数据管理器,如果不是合并的表需要给一个key,我通常使用文件名。
    image.png

所有的数据都归XlsxDataManager负责管理,不过这个XlsxDataManager可以分模块,如果游戏中数据始终不清理,可以使用一个就行。
image.png
2. 将语言文件添加到语言管理器。
image.png

语言文本管理器的处理方式与creator官方插件i18n处理方式一样,也可以处理文本替换。
image.png
3. 定义一个UI文本管理类
image.png
4. 定义UI文本组件
image.png

  1. 在界面中拖入一个label,挂上UI文本组件,填好我们在数据表中定义的ID
    image.png
  2. 运行查看效果即可
    image.png

如何切换语言?

  1. 执行另一个脚本,这个脚本每次都会添加zh中新添加的字段,不会替换已有字段。
    image.png

  2. 如果不出问题,导出目录会多出一个语言文本,可以拿给负责翻译的人员。
    image.png
    为了测试自己简单翻译一下。

  3. 更改语言为en
    image.png

  4. 运行看效果
    image.png

结语

  1. 此套方案可以用于同时支持多种语言,也可以只支持一种语言,由项目需求而定。
  2. 如果需要替换文本可以直接调用语言管理器的接口使用。

框架维护

  1. 购买框架的很多同学还没有收货,请尽快联系我。
  2. gitlab已建好,购买过的同学我会添加到项目中,可以免费及时更新到新内容。
  3. 感谢支持我的同学们,在学习的过程中指出框架的问题,共同进步。
    image.png
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP