两个小程序
$ s3 I: M2 ]9 W6 i& e首先用scansub.exe对TEXTS_EN.DB来扫描。! ^4 n: T7 G" m1 g3 `7 o
把可能是英文的文本都扫描到一个文件TEXTS.TXT里面。
6 Q" `8 x# b. b8 N4 v每行的格式如下,偏移量,字节数,字幕文本
6 m8 I' n4 w C( ]5 y& b. ?. E! D2 _. \每行之间空2行。
, K! Q N$ F1 D" T# Z+ s5 X/ t! `" k' {1 G
翻译以后,就变为1行英文,1行中文,1行空行。( }7 e" U4 K6 {/ p% ^0 B+ w* i
* p2 a3 _- _7 i7 Q& A2 M: R
再用一个trans.exe把那行中文回写回去,并自动补上空格,保持字节数相等。 + G+ m% t9 J4 [ N, L* y
; T% E8 X' K4 ~+ s
几个注意事项:
( o2 i0 u$ U9 V0 d/ x: v& f6 V9 x1、TXTS.txt里每行英文前面有几个乱码字符,其实就是偏移量、字节数的ASCII码用UTF-16显示时产生的问题,无伤大雅。, E3 e* J: s9 W/ ~# ?
3 [1 Z, A& _8 B
2、翻译时在英文下一行进行,千万注意译文中不要加回车符,因为我是用回车来判断输入结束的。
. ^# j1 l: W6 v( i& n; n2 o
. ^' ?; e4 q# M j% Z; ~6 @9 o3、最后回写时不在原TEXTS_EN.DB,而是生成一个新文件,TEXTS_CH.DB,现将原文件的数据都复制到新文件里,再进行修改。防止对原文件数据造成破坏。当然放到游戏里的时候还是要把CH改成EN的。 |