两个小程序
/ ` [6 i, j% L, P) U" A首先用scansub.exe对TEXTS_EN.DB来扫描。7 l; T: ~1 X9 d2 @6 |$ q; k
把可能是英文的文本都扫描到一个文件TEXTS.TXT里面。
3 ~& |3 X q+ g2 O2 Q% L1 [$ ?) S9 g每行的格式如下,偏移量,字节数,字幕文本
( x& G* s/ [ i6 j每行之间空2行。
1 j R' Q; K/ E1 ?9 B( t F7 R% t8 ?
% ]; }; x* c; c, k. A+ \: ]翻译以后,就变为1行英文,1行中文,1行空行。2 A: N! |! ~5 W
C1 O0 s# L/ m1 o9 f1 M再用一个trans.exe把那行中文回写回去,并自动补上空格,保持字节数相等。
1 ^ g0 q! x. i1 O# H) l) e' o) E$ {: Q
几个注意事项:6 z3 Y" N8 W$ H/ J- h2 Z
1、TXTS.txt里每行英文前面有几个乱码字符,其实就是偏移量、字节数的ASCII码用UTF-16显示时产生的问题,无伤大雅。
$ Z' `! ]* _! ~' B" w/ F+ e4 n- ?7 q5 \( t8 D
2、翻译时在英文下一行进行,千万注意译文中不要加回车符,因为我是用回车来判断输入结束的。
$ a6 R" l% y) m7 f7 f9 e# w7 T' p$ X% r4 c; a/ i% G
3、最后回写时不在原TEXTS_EN.DB,而是生成一个新文件,TEXTS_CH.DB,现将原文件的数据都复制到新文件里,再进行修改。防止对原文件数据造成破坏。当然放到游戏里的时候还是要把CH改成EN的。 |