两个小程序( r Q3 Q1 H) H# i4 ^
首先用scansub.exe对TEXTS_EN.DB来扫描。
+ O' H: c& q; l& b5 o! R1 P把可能是英文的文本都扫描到一个文件TEXTS.TXT里面。 ! j5 G$ R% b) F# m q6 j( ]! ^5 w
每行的格式如下,偏移量,字节数,字幕文本5 w- O0 R8 s3 O3 s" w
每行之间空2行。
/ l" r0 ^* w( E* {, t
: U0 K9 y# i Z2 [翻译以后,就变为1行英文,1行中文,1行空行。
: S+ r" _' G$ ^5 p 4 q. P$ O( G9 ~6 O' N! u8 O
再用一个trans.exe把那行中文回写回去,并自动补上空格,保持字节数相等。
" V) |& |( r3 W5 j" @& f3 A+ j2 @! Y& n6 {
几个注意事项:8 k3 S3 K1 u! {8 |
1、TXTS.txt里每行英文前面有几个乱码字符,其实就是偏移量、字节数的ASCII码用UTF-16显示时产生的问题,无伤大雅。
$ c6 \8 B! ], q% ~6 H
: ^3 h- z( q- I2、翻译时在英文下一行进行,千万注意译文中不要加回车符,因为我是用回车来判断输入结束的。) O) }* Q# b8 b5 d' j& i
2 S, j" E+ b1 k+ H
3、最后回写时不在原TEXTS_EN.DB,而是生成一个新文件,TEXTS_CH.DB,现将原文件的数据都复制到新文件里,再进行修改。防止对原文件数据造成破坏。当然放到游戏里的时候还是要把CH改成EN的。 |