论坛风格切换切换到宽版
  • 10855阅读
  • 31回复

本人汉化一个小游戏遇到点问题 请教[已解决] [复制链接]

上一主题 下一主题
离线老张

发帖
24
金钱
220
威望
22
只看该作者 20 发表于: 2015-07-06
回 19楼(wanfu) 的帖子
wanfu:提示一下:1、提取后保存,退出非标宏,翻译 Passolo 翻译列表中需要翻译的字串,生成 HCS 目标文件。2、然后选择翻译列表,运行非标宏,按“原长写入”写入菜单写入后,打开过滤显示,选择 .. (2015-07-05 23:32) 

谢谢,汉化这个游戏也挺难的,一个句子分为好几段,一个关卡一个文件,看这个游戏字不多,但需要汉化的文件却很多
离线老张

发帖
24
金钱
220
威望
22
只看该作者 21 发表于: 2015-07-06
回 19楼(wanfu) 的帖子
又来了一个问题,汉化后 游戏里汉化部分显示空白,该怎么以utf8编码写入

离线wanfu

发帖
2734
金钱
12170
威望
1217
只看该作者 22 发表于: 2015-07-06
你提取时如果只选择了 UTF-8 编码,那提取的字串都是 UTF-8 编码,翻译后仍然是 UTF-8。
否则,如果是 ANSI 编码的字串,翻译后默认是翻译列表的语言代码页(简体中文的翻译列表为简体中文),选择翻译字串的代码页为 UTF-8 即可。



离线老张

发帖
24
金钱
220
威望
22
只看该作者 23 发表于: 2015-07-06
回 22楼(wanfu) 的帖子
wanfu:你提取时如果只选择了 UTF-8 编码,那提取的字串都是 UTF-8 编码,翻译后仍然是 UTF-8。否则,如果是 ANSI 编码的字串,翻译后默认是翻译列表的语言代码页(简体中文的翻译列表为简体中文),选 .. (2015-07-06 10:09) 

提取的字串如果只选utf8编码,只提取到已翻译的字串,其它的英文提取不到,所以我选择ansi和utf8两个编码。
还有一个问题,就是我翻译过来已经比原字串长了,但是原长写入后并未截断到,输出信息一直都是截断0
离线wanfu

发帖
2734
金钱
12170
威望
1217
只看该作者 24 发表于: 2015-07-06
1、如果只选utf8编码,只提取到已翻译的字串,其它的英文提取不到。
难道你没有将原始文件和要写入的文件分开?应该将原始文件和目标文件分开,即把原程序放在一个目录,目标程序放在另一个目录。比如原程序在 en 目录下,目标程序放在 zh 目录下,并在提取时选择 en 目录下的文件,把 Passolo 的翻译列表的目标文件设置到 zh 目录。

对英文来说,ANSI 和 UTF-8 都是一样的编码,非标宏都可以提取到。因为你汉化的文件只支持 UTF-8,所以建议你只选择 UTF-8,免得翻译后还要更改翻译的代码页。所以你说提取到已翻译的字串,我就判断你原始文件和目标文件没有分开。

2、原长写入后并未截断到,输出信息一直都是截断。
截断方式有二种,一种是按照原来的长度,超过原来的长度即被截断,另一种是字串后面的 00 字节可以被利用,超出这些可利用的 00 字节后仍然超长的即被截断。最大写入时可以利用这些 00 字节,而原长写入时后面的所有 00 字节都不可用。

未写入前,因为不知道你要采用哪种写入方式,所以默认是按照最大可写地址来判断是否被截断写入。只有在写入后,程序才能正确判断是哪种截断方式。你在原长写入后再过滤显示比较看看就知道了。

另外,截断写入后的字串并不会将字串列表中的翻译也一起截断,只是写入文件中的翻译被截断。所以需要你在写入后再进行过滤,并修改这些被截断的翻译,直至不被截断为止。

还有,经我再三测试,这个程序不需要修改字串前的字串长度标识符,因为修改了反而会出错。所以不要去选定自定义字串类型,如果你已经选定并提取了字串,可以在原始字串的编辑界面中,全选所有字串后,选择字串类型列表中的标准字串,然后保存,不需要重新提取。
离线wanfu

发帖
2734
金钱
12170
威望
1217
只看该作者 25 发表于: 2015-07-07
已专门为此问题升级了非标宏,现在可以很方便的过滤显示二种不同超长类型的超长字串,不再需要先写入再过滤。

离线老张

发帖
24
金钱
220
威望
22
只看该作者 26 发表于: 2015-07-07
回 24楼(wanfu) 的帖子
wanfu:1、如果只选utf8编码,只提取到已翻译的字串,其它的英文提取不到。难道你没有将原始文件和要写入的文件分开?应该将原始文件和目标文件分开,即把原程序放在一个目录,目标程序放在另一 .. (2015-07-06 13:14) 

原来文件是用c32asm翻译了一点的,所以会提取到有中文,换个文件重新提取只选UTF-8编码还是提取不出来任何英文:(
离线老张

发帖
24
金钱
220
威望
22
只看该作者 27 发表于: 2015-07-07
回 25楼(wanfu) 的帖子
wanfu:已专门为此问题升级了非标宏,现在可以很方便的过滤显示二种不同超长类型的超长字串,不再需要先写入再过滤。  (2015-07-07 10:17) 

感谢
离线wanfu

发帖
2734
金钱
12170
威望
1217
只看该作者 28 发表于: 2015-07-07
换个文件重新提取只选UTF-8编码还是提取不出来任何英文?

你提取对话框中的设置不对吧,或者要提取字串的文件中没有字串。请按以下设置:

离线老张

发帖
24
金钱
220
威望
22
只看该作者 29 发表于: 2015-07-07
回 28楼(wanfu) 的帖子
非标宏版本搞错了,一直在使用2013版,原来是非标宏放置目录搞错了,不是程序目录,一直没注意到这点  自己太大意