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

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

引言

哈喽大家好 ,不知道小伙伴们最近有没有发现,如今的游戏出海,已经不是从前的粗放买量靠堆砌素材喂算法了,现在都在拼长线运营或者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年游戏主程一起学习设计模式

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

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

相关推荐
UXbot2 小时前
UI设计工具推荐合集
前端·人工智能·ui
敲敲了个代码3 小时前
如何优化批量图片上传?队列机制+分片处理+断点续传三连击!(附源码)
前端·javascript·学习·职场和发展·node.js
@AfeiyuO3 小时前
Vue 引入全局样式scss
前端·vue·scss
光影少年3 小时前
flex布局和grid布局区别,实现两边固定布局中间自适应
前端·css3·web·ai编程
全栈测试笔记3 小时前
异步函数与异步生成器
linux·服务器·前端·数据库·python
EndingCoder4 小时前
配置 tsconfig.json:高级选项
linux·前端·ubuntu·typescript·json
木风小助理4 小时前
JavaStreamAPI的性能审视,优雅语法背后的隐形成本与优化实践
java·前端·数据库
white-persist5 小时前
轻松抓包微信小程序:Proxifier+Burp Suite教程
前端·网络·安全·网络安全·微信小程序·小程序·notepad++
敲敲了个代码6 小时前
多标签页强提醒不重复打扰:从“弹框轰炸”到“共享待处理队列”的实战
java·前端·javascript·面试·架构
不想上班只想要钱6 小时前
动态类名在 <swiper-slide 的复制项中没有起作用的解决方法
前端·vue.js