两个小程序, O3 |" c9 V; A7 u! N8 j5 x; L
首先用scansub.exe对TEXTS_EN.DB来扫描。
; V: h+ _& S6 J, h' D* R$ l把可能是英文的文本都扫描到一个文件TEXTS.TXT里面。
$ C( [8 `' J# m0 _每行的格式如下,偏移量,字节数,字幕文本0 ?2 x! K6 k, E$ J9 F t% @
每行之间空2行。% w/ C' a0 }9 ?1 x1 t4 h. h- `& j
* E0 \# ], q5 H9 v
翻译以后,就变为1行英文,1行中文,1行空行。! Z* m3 W0 j: O& l7 s
; J1 K4 \( F `3 V, Q9 T& m2 _7 _, ~
再用一个trans.exe把那行中文回写回去,并自动补上空格,保持字节数相等。
1 i5 D' Q* z1 o
w6 Z9 B4 A0 V1 r T几个注意事项:
l6 Y$ U$ ^! q, q( D1、TXTS.txt里每行英文前面有几个乱码字符,其实就是偏移量、字节数的ASCII码用UTF-16显示时产生的问题,无伤大雅。
1 T- ]) q3 W$ m6 z' U: m
: {7 a3 L( q4 s; [" n, C- D2、翻译时在英文下一行进行,千万注意译文中不要加回车符,因为我是用回车来判断输入结束的。3 N; b" D& h8 U. |7 {+ m4 Z \
/ g$ p j/ ~ v5 j6 ^, |/ a
3、最后回写时不在原TEXTS_EN.DB,而是生成一个新文件,TEXTS_CH.DB,现将原文件的数据都复制到新文件里,再进行修改。防止对原文件数据造成破坏。当然放到游戏里的时候还是要把CH改成EN的。 |