两个小程序7 x4 c& H# ]8 \/ b+ B
首先用scansub.exe对TEXTS_EN.DB来扫描。
7 f9 q+ j$ g$ Q- J" J! N把可能是英文的文本都扫描到一个文件TEXTS.TXT里面。 0 c/ T0 o! z# C0 T
每行的格式如下,偏移量,字节数,字幕文本
0 S! z1 n" [1 Z' H+ h6 Y每行之间空2行。7 w2 t' B0 [& R1 z2 o
& \8 }6 y0 W, E
翻译以后,就变为1行英文,1行中文,1行空行。1 w. ^' ^# |4 O6 U% L9 q# I- z
* b, i+ l& v; t- S再用一个trans.exe把那行中文回写回去,并自动补上空格,保持字节数相等。
3 K1 T: {. s8 H) K- W/ t& d4 ]; q+ v4 S& C
几个注意事项:
/ G' D# j" f6 c2 Y, v1、TXTS.txt里每行英文前面有几个乱码字符,其实就是偏移量、字节数的ASCII码用UTF-16显示时产生的问题,无伤大雅。
) H2 \ y' Y; A8 \( y* Q" t& E( ~1 \6 v' ?1 Q _ [- y
2、翻译时在英文下一行进行,千万注意译文中不要加回车符,因为我是用回车来判断输入结束的。' n/ p' g2 B3 X! a
Q4 z# [: ^" z- D
3、最后回写时不在原TEXTS_EN.DB,而是生成一个新文件,TEXTS_CH.DB,现将原文件的数据都复制到新文件里,再进行修改。防止对原文件数据造成破坏。当然放到游戏里的时候还是要把CH改成EN的。 |