你的游戏没有这个怎么能够顺利出海?

点击上方亿元程序员+关注和★星标

引言

哈喽大家好 ,不知道小伙伴们最近有没有发现,如今的游戏出海,已经不是从前的粗放买量靠堆砌素材喂算法了,现在都在拼长线运营或者AI了。

其中 Supercell的《荒野乱斗》就是最好的例子,上线五年了,如今成功逆袭。

笔者想起,八年前就已经参与过游戏的多语言版本了,那时候的主流是港台(繁体)、东南亚(英文)、韩国(韩文)。

除去 接入对应的SDK外,最为深刻的就是翻译和本地化,那时候不需要很高端的操作,就是把游戏内所有的中文整理出来,给到专门负责翻译的人,完成后导回到游戏即可。

其中 最头疼的就是英文,两个字能变10多个字母,很容易导致超框,以上的处理有个"国际化"的简称,叫i18n

言归正传 ,今天我们就来聊聊i18n

什么是i18n?

先简单科普一下

i18n是国际化的简称,来源是英文单词internationalization的首末字符in18为单词中间的字符数。

在资讯领域 ,国际化(i18n)可以让产品无需做大的改变,就能够满足不同语言和地区的需要。

i18n的优势是什么?

对程序来说,在不修改内部代码的情况下,就能根据不同语言及地区切换相应的语言界面。

正如笔者引言所说,把文本交给翻译人员,回来后原路返回即可。

最开始就制定严格的规范,所有的文本都需要通过i18n,这样能够减少后期提取文本和导回文本的麻烦操作。

一起来看个例子

既然 i18n如此重要,那么我们一起来看看它在Cocos游戏开发中如何使用。

1.安装插件

首先Store找到i18n多语言化插件,选择添加到项目即可。

添加 完成之后,就可以在资源管理器看到插件对应的脚本,分别对应数据、Label管理和Sprite管理。

2.添加语言

首先 通过菜单扩展->I18n Setting打开本地化控制面板。

简单 添加8个语言,从下到上分别为中文、俄语、韩语、日语、法语、西班牙语、英语和德语(首字母排序)。

为什么8个?因为可以和别人说你"精通"八国语言(你好,世界)。

编辑完成 后,插件会自动在resources\i18n目录生成对应的Ts配置文件。

3.编辑中文

zh.ts中添加你好,世界,作为示例。

4.翻译其他7种语言

完成的所有中文内容,交给专业的翻译人员进行翻译,获得其余7种语言,我们这里简单示例就找搭子就行。

还是非常靠谱的。

5.LocalizedLabel组件

插件 生成的LocalizedLabel组件,就是对Label的简单封装,根据key和语言配置获取对应的文本。

直接 挂到Label组件上,配置对应的文本的key即可。

6.效果演示

我们通过点击本地化编辑面板中不同语言的"小眼睛",即可完成语言的切换,并且看到切换语言后的效果。

上面只是编辑器演示,实际需要修改默认语言,可以在脚本中修改。

7.进阶

如果 一个包体内有多种语言,想要支持动态切换语言,可以通过import * as i18n from 'db://i18n/LanguageData';导入i18n,并通过i18n.init('en');进行语言切换,最后通过i18n.updateSceneRenderers();刷新即可。

此外LocalizedSprite组件也是同理,对Sprite的简单封装。

结语

当然了,并非所有的项目都需要使用这套插件,国际化的逻辑还是简单的,一般公司项目都有自己的技术积累,有自己的实现。

其实最主要是一个规范的问题,通过语言包的限制,避免文本到处都是。但是也使得配置表比较难以配置,这个需要小伙伴们自己权衡了。

你们使用的是什么方案?

我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。

AD:笔者线上的小游戏《打螺丝闯关》《贪吃蛇掌机经典》《重力迷宫球》《填色之旅》《方块掌机经典》大家可以自行点击搜索体验。

实不相瞒,想要个爱心 !请把该文章分享给你觉得有需要的其他小伙伴。谢谢!

推荐专栏:

知识付费专栏

你知道和不知道的微信小游戏常用API整理,赶紧收藏用起来~

100个Cocos实例

8年主程手把手打造Cocos独立游戏开发框架

和8年游戏主程一起学习设计模式

从零开始开发贪吃蛇小游戏到上线系列

点击下方灰色按钮+关注。

相关推荐
m0_4711996318 分钟前
【vue】通俗详解package-lock文件的作用
前端·javascript·vue.js
GIS之路42 分钟前
GDAL 读取KML数据
前端
今天不要写bug1 小时前
vue项目基于vue-cropper实现图片裁剪与图片压缩
前端·javascript·vue.js·typescript
用户47949283569151 小时前
记住这张时间线图,你再也不会乱用 useEffect / useLayoutEffect
前端·react.js
咬人喵喵2 小时前
14 类圣诞核心 SVG 交互方案拆解(附案例 + 资源)
开发语言·前端·javascript
问君能有几多愁~2 小时前
C++ 日志实现
java·前端·c++
咬人喵喵2 小时前
CSS 盒子模型:万物皆是盒子
前端·css
2401_860319522 小时前
DevUI组件库实战:从入门到企业级应用的深度探索,如何快速应用各种组件
前端·前端框架
韩曙亮2 小时前
【Web APIs】元素滚动 scroll 系列属性 ② ( 右侧固定侧边栏 )
前端·javascript·bom·window·web apis·pageyoffset