游戏实现多语言版本(国际化)

自从换了项目组之后一直都很忙,没什么时间写博客了,目前这个项目是自己挑的,希望多花点时间,把它做好。
因为项目还没有对外公开,关于项目就不透露信息,只能说一些实现方式。


到新项目之后第一个着手做的就是多语言版本,也就是国际化。
多语言的实现最基本的实现方式就是根据id去读语言配置,不同的语言新建一个语言配置表。
细分下来,分了如下三个部分:


一 UI
UI是指在UI编辑器中的一些文字,比如最常用的按钮上面的文字,标签上面的提示等等。
我的做法是:
1 根据UI文件名和空间名,配置对应的语言ID;
2 然后在根据ID去读对应的文字;
3 在界面创建完成之后将控件中的内容设置成2中读取到的文字。


二 配置表
配置表主要是指道具表,装备表等,其中含有的一些文字,如装备名称,装备名称等。
这个也可以用上面类似的方法实现,在需要多语言的项目配ID,然后就根据ID再去读文字。
但策划认为这样不直观,我们换了另一种方式。
1 在配表中需要做多语言的相中加一个标记,如*;
2 读表时如果是中文版本就直接取对应的值;
3 如果是其它语言则将取出来的中文作为key,然后去语言表中取值。


个人觉得这种做法不好,这样不仅让多语言的流程不同意,而且在其它语言中,必须有中文在里面。
另外还可能导致key重复,因为在同样的中文,在不同的语言中可能翻译不一样,比如成功,可能是success,也可能是successful,另外动词还有不同时态。
所以不推荐上面这种做法。


三 错误信息
错误信息就是客户端队用户操作的一些提示,如角色名不能为空,或者服务端返回的一些信息,如登陆成功或者密码错误等。
这种处理就是配置一个错误码表,在交互的过程中都使用错误码,在最终显示的时候再去读表就可以了。

 

因为现在的多语言并没有实际的做起来,只是把框架做了,具体效果还未知,如果将来有改动再来更新。

 

换乘有点时间,找了个咖啡厅,把这个发了。

 

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值