游戏开发中的多语言处理

Posted cgw0827

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了游戏开发中的多语言处理相关的知识,希望对你有一定的参考价值。

前言

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

编写数据表

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

使用工具导出

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

使用数据

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

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

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

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

如何切换语言?

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

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

  3. 更改语言为en
    技术图片

  4. 运行看效果
    技术图片

结语

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

浏览更多内容,请关注微信公众号《微笑游戏》
技术图片

框架维护

  1. 购买框架的很多同学还没有收货,请尽快联系我。
  2. gitlab已建好,购买过的同学我会添加到项目中,可以免费及时更新到新内容。
  3. 感谢支持我的同学们,在学习的过程中指出框架的问题,共同进步。
    技术图片

欢迎扫码关注公众号《微笑游戏》,浏览更多内容。
























以上是关于游戏开发中的多语言处理的主要内容,如果未能解决你的问题,请参考以下文章

UE4 C++ 配置多语言游戏

在WinForm应用程序中快速实现多语言的处理--开发框架模块的整合

IOS多语言切换4-framework中的语言切换和资源使用

Unity多语言(基于ET框架)

Unity 本地化(多语言)插件Localization

iOS-多语言版本的开发(一)(转载)