不知道这么早开始做本地化是否是正确的。个人的原因是想至少支持中英双语,往itch上发早期demo希望用英语,但有中文的话更方便在国内的网站上展示,也更方便给朋友试玩,所以就在业余做了两个多月的时候就开始做本地化了。也没有什么经验,目前的感觉是早点做挺好的,分摊一下无聊的本地化任务。(可能也跟游戏类型有关系,模拟经营本身可能就算是文本量偏大的。)
使用的是之前不知道什么时候买的大名鼎鼎的I2插件,确实很不错。目前我的使用场景只是纯文本和字体替换,很快就能上手。大概就是会有下图这样的一个地方管理所有的本地化,然后具体每个使用的地方添加它的I2Localize scirpt,或者在代码里调用LocalizationManager.GetTranslation()还是挺方便的。中文字体的问题,确实比较麻烦,要用字符集然后自己做,之前做过一次被烦死,现在暂时先用着github上别人已经完全做好的,很多人star了所以应该不错,感恩:https://github.com/wy-luke/Unity-TextMeshPro-Chinese-Characters-Set
这个时候我很开心,这不就是像吃饭一样煎蛋吗,然后后来做着做着就发现被我用的另一个UI插件背刺了......
是这样的,因为本人的审美堪忧,之前就买了一个看起来还不错的UI插件,之前做的demo没有弄本地化,所以也没有遇到任何问题,用着还是不错,直到这次......
推测这个UI pack和本地化打架的原因在于,它也有一个全局管理每个组件用的字体和配色的机制,但是目前我也没有需要这个,而且也有些UI不是用的这个。怀疑这个会重新覆盖I2给那些组件设置的字体,然后就显示不出来,可能是开发商没有怎么考虑过本地化吧。
想了一下解决方法,要么就在代码里在开始或者换语言的时候,把这个全局管理的值给改掉,估计应该就可以了,或者是把全局管理给关掉(比如下图的disable ui manager connection,和use custom content)
比较痛苦,算是一个教训吧。它的可移动的UI和tooltip什么的还是挺好用的,但可能我只需要这些比较视觉上的比较轻的功能,暂时不需要很fancy的。
----------------------------------------------------------
关于我业余开发了两个多月的游戏:这是一款以马车运输货物为主题的模拟经营游戏,探索未知的区域,购买更多的马车,跨越危险为客户运送货物并赚取更多资金来扩大商业版图。
暂无关于此日志的评论。