评论 6

Rico_Se7en 1年前

汉化本质上无非是文件替换  单纯的内核文件替换除非是VAC这种检测到就封号的  否则与正盗版无关随便你搞  另外现在官方中文已经逐渐形成了风潮  有了开发者的支持  其实只需要提供中文文本与字库即可  会省不少心力

风之石 [作者] 1年前

是的现在好多了,steam上的创意工坊让很多开发者都考虑到了接口的制作,让做汉化的情况好了很多。特别是有些游戏一开始就考虑好了本地化问题,那真是直接按照格式把中文文本写成文件,放到指定文件夹就好。

和谐小小 1年前

大体上没错,稍微有些不准确,比如说程序语言的中英文与否和字符的中英文与否毫无关系。字符的显示有两个路子,一个是调用对应字体,查询某个字对应的形状,并把它构造成图形显示出来,这个时候如果只有英文的字体文件,中文字即使翻译了也显示不出来,由于各家程序未必写的规范,也不一定是基于什么引擎,如何让它使用更多字体和不同字体就是个问题。第二个是字符图,因为字符终究是要构造成图形显示出来的,这个答主说过了,其实只是相当于把第一个路子的前几步提前做好了,为了节省空间一般游戏都是只生成它游戏里用到过的字符,有些只有26个字母十个阿拉伯数字几个标点,如何把几千个汉字放进去并让游戏能根据字查询到图形是个难点。
也补充一下,有些游戏的汉化是勾住directX的某些函数,在恰当的时候调用dx把中文字符显示上去(就像是有些游戏外挂在画面上显示其他玩家人名一样),是修改游戏本体很困难时会采用的一种方法。一般会视情况有不同程度的效率损失。

风之石 [作者] 1年前

其实程序语言的中英文与否和字符的中英文在少数情况下是有关系的,因为有的代码中直接根据情况输出中文或者给变量赋值中文,但是在编译过程中由于开发环境设置或者编程者指定了的编码格式与你替换过去的中文编码不一致,就会出现乱码。还有的代码中只支持unicode形式的中文,那么你直接把"hello"替换成"你好"就会出现乱码,而需要替换为"\u4f60\u597d"才能正常在游戏中显示为中文。我曾经在个人补充完善某个游戏的汉化时就遇到过这个问题(补充别人的汉化补丁漏翻的自己使用)。

时轨 1年前

也许有一个小的但是影响理解的文字错误,第四段的“1、”后的“直接把代码写在代码的字里行间”,是不是第一个“代码”应该改成“文本”才对?如若原文如此,多有打扰还望谅解。

风之石 [作者] 1年前

额,确实你说的对,我就是一口气打完就发出来的,没有检查过有没有错误。希望没有更多的错误或者错别字什么的。。

登录奶牛关账号即可参与讨论