开宗明义:在此推荐一下插件小王子【许彦峰】的一个多语言自动翻译的插件,支持新增key、删除key、合并多语言目录等功能,
以下为商店地址:
https://store.cocos.com/app/detail/6828
或者直接在dashboard中搜索关键词:多语言 即可
说一下我司关于多语言的情况,客户端有2名都存在可能要修改多语言的情况,但是我这边才是打包机所在,同事修改的文本都需要同步到我这边,但是又不想直接同步没完成的功能编写的代码,但又需要在测试环境看到临时修改的功能和多语言文本,所以就需要让同事能直接负责他自己的多语言文本即可。(我司目前是使用专门的EN.ts文件来负责本地调试运行时的多语言文本显示,线上环境是读取一整个语言包json文件中的值显示的,多语言文本是excel编辑后导出json的。我就需要频繁的更新excel文件和json文件,比较耽误编程的工作,因此想把这个部分的工作分离出来。)
以下开始食用:
1.插件打开后主界面,先打开放置多语言文件的目录,再点击创建多语言文件,即可
插件默认创建24种语种的json文件,不需要的语种文件可以直接删除,不影响后续使用
语种son文件对应的字段和语种名称在game.ts中已经写明
2.接下来新增一个key值,先确定一个基准语种(我选的是EN英文,新增语种种选的是zh简体中文),输入key和文本,再点击新增即可
3.有时候某些key的文本不需要可以直接在插件面板删除相应的key即可,多个key都要删除的都点一下就行,会自动把所有语种种的相关字段都删除的
4.初步录入一个语种的key和文本之后可以直接点翻译,就能将文本通过api适配到所有语种(语种越多耗时越长)
如下图显示:
5.但是使用翻译毕竟会有翻译不达意的地方可以使用【强制重新翻译key】的功能,同样是选择key即可,会自动进入选择文本框的
6.有的时候我们需要把别的项目的多语言目录导入到当前项目中,则可以使用【同步】功能,
选择另一个项目的多语言目录,我这里是手动新增了2个key来表示差异的字段
差异字段被识别出来了:

以下是运行时的测试图:



补充一下,附件中的demo项目的这个报错是因为动态加载json文件会晚于多语言组件加载完成,所以会报错,实际项目中一般都会把多语言文件提前加载的,不会有这种错误。
demo项目源码:i18nDemo.zip (1.1 MB)











