两个小程序' i; S8 T, N9 ?) f( b! \7 l1 i
首先用scansub.exe对TEXTS_EN.DB来扫描。
1 E8 A6 A4 R. F9 w! c把可能是英文的文本都扫描到一个文件TEXTS.TXT里面。 # r1 i; e' i# {7 i; U$ j$ `
每行的格式如下,偏移量,字节数,字幕文本
9 Q& |9 O* \ E3 I( I+ U每行之间空2行。
7 \. N" z- C$ H7 _; J$ ]# Q8 v( M% a0 s8 M/ e+ L
翻译以后,就变为1行英文,1行中文,1行空行。! I/ k$ S" w0 V) w% x9 {& a
0 Q, F+ I6 L6 R& y0 O# m; R- S) q+ o
再用一个trans.exe把那行中文回写回去,并自动补上空格,保持字节数相等。
3 h$ o" S! o4 W; F* K, W; _' |7 S/ h9 ]3 D" i% x* L1 O- U& F; ?
几个注意事项:
) E) C) ^$ Y, ~) z1、TXTS.txt里每行英文前面有几个乱码字符,其实就是偏移量、字节数的ASCII码用UTF-16显示时产生的问题,无伤大雅。" @) K9 k( g& ]2 t9 B$ R4 o) ~7 Y
) C& Q0 D u5 ]. G7 \2、翻译时在英文下一行进行,千万注意译文中不要加回车符,因为我是用回车来判断输入结束的。
2 n; N& M. T) _. ?; X
; E, k" ]- l6 E) d; p5 H* p$ R3、最后回写时不在原TEXTS_EN.DB,而是生成一个新文件,TEXTS_CH.DB,现将原文件的数据都复制到新文件里,再进行修改。防止对原文件数据造成破坏。当然放到游戏里的时候还是要把CH改成EN的。 |