冒险解谜游戏中文网 ChinaAVG

标题: 好消息!失忆症:黑暗后裔汉化实现 [打印本页]

作者: shane007    时间: 2010-9-11 07:02
标题: 好消息!失忆症:黑暗后裔汉化实现
研究了一下失忆症:黑暗后裔,很容易就实现了汉化。汉化方法和半影系列是一样的。
. \) l* ]$ Q+ Q+ s, p* R
8 _4 a7 D* d! A) h, G: J! I下面说一下汉化方法 6 S% }$ G- Q5 v* ~) Q1 T6 o

' B0 H' B3 |9 h8 s+ ?字幕文件
0 A& j4 ]- ?% b7 X  E5 R1 j) X2 X  T0 S+ {
游戏的字幕文件是\redist\config和\redist\config\lang_main目录下的一些.lang文件,翻译以后用utf-8编码写入即可。写入以后是无法直
& Z. K4 h" L- S0 g
) j6 \; g+ Q' P- ^接显示的,我们需要做一个小的变换,这需要用一个小工具来完成。 0 K# F* K/ }" U2 C1 G. y1 o

* i0 G- y  T6 ?; r+ m比如说,我们要把游戏的字幕这样转换。uXXXXX中的XXXXX部分是这个汉字的utf-16编码的10进制数值。
; |- c5 G. R9 l' R: D
' R7 Z/ C8 B% T% y转换前   Y, c' e  Y1 z1 w+ {0 G% l8 F. K
<Entry Name="Start Game">开始游戏</Entry>
2 |0 I4 q1 v" n, z0 e$ Q$ Q转换后 ; K; W) n  O$ k: j. Z
<Entry Name="Start Game">[u24320][u22987][u28216][u25103]</Entry>
( W& b1 v! T. {* D+ k; T, s
) {; p& J* y  Q0 G# ?6 b, k0 v: C; Z这个游戏是支持多语言的,所以我们可以仿照这些文件的样式,在原来的基础上追加一种语种:中文。 + }& t3 C) z4 t1 A
我们暂时不考虑如何追加,而是按直接把英语改为中文的来说明。 % d; h+ r# H$ O5 o8 K: i

5 v4 P8 l  E! A$ O字库文件
% \$ H9 `4 o) p' ]% d/ m7 q
0 [. w* ~  D7 l  Y; e& i字库文件在redist\fonts\eng下面,是一个.fnt文件,对应多个.dds文件的形式。 ) |" c$ T# P% l
游戏的字体分为多种,比如主菜单就是对应menu.fnt,menu_0.dds,menu_1.dds。
; E8 a8 n9 m$ \- _9 c1 }我们如果需要增加汉字的话,可以追加一个menu_2.dds的中文图片字库。 9 `8 p. |. V( \# X5 i  r/ e
menu.fnt做相应修改即可。 0 ?) y# d7 r5 I8 g2 c  c
  d# V" s; o( W" r6 H4 s
比如说我们翻译了<Entry Name="Start Game">开始游戏</Entry>
* u/ M  m$ o) I& j' J
. l/ ?2 |) y5 c/ D<Entry Name="Start Game">[u24320][u22987][u28216][u25103]</Entry> " ~" h* u& |& e, D+ ?
0 h8 v# j% w' {6 N; F
我们需要做如下修改 ; X+ _5 I, V7 p3 ]8 I5 c

* P& X" A: G% i2 y我们把在菜单中用到的所有的不重复的字都提取出来,保存在一个文本文件里。
* T9 M7 A2 ]9 ?' n) t" S! c这个工具如下 ; i- S' v) l5 i, M% v/ C: [
https://www.chinaavg.com/read.php?tid=21959 / E! O' R- c1 v4 ~: a
然后用一个工具把这些字生成一个menu_2.dds的中文图片字库。 * R/ O7 T8 ]& i3 C& N* y

% X0 G9 j1 u' ^, {4 ], u对menu.fnt,我们需要做如下修改
7 l# m6 {! Z/ Y7 g, a& S) U* F2 y$ B$ C6 V* I4 m9 H7 A% i

# \( M9 k9 M* v: i5 C( L1 V4 N  <common lineHeight="40" base="33" scaleW="256" scaleH="256" pages="2" packed="0" alphaChnl="0" redChnl="4" greenChnl="4" " A3 P0 f! d2 z6 y$ P
  X4 R' h5 ]$ {# P; p1 i
blueChnl="4"/> $ _2 ]) G- d1 T, G
改为 - ~5 |% s4 B% V  y! m
  <common lineHeight="40" base="33" scaleW="256" scaleH="256" pages="3" packed="0" alphaChnl="0" redChnl="4" greenChnl="4" # N, w/ Q0 B5 t# H" A% R" z5 G$ Q
; E7 I8 I: R# G
blueChnl="4"/> 2 Z4 ?6 a+ ~' c5 Q: a
, s: B' a( w0 B7 H9 Z: D

- ^! @3 h% _+ o4 s; R- \5 ~  <pages>
8 G7 {6 a: k8 F1 U- @    <page id="0" file="menu_0.dds" /> - b$ Y) L4 {, g. H% J8 _- e  M
    <page id="1" file="menu_1.dds" />
+ a) A) o& ^7 j  </pages> 4 f) h' j" E6 U6 v, H( {2 N; i1 G" b$ ?
改为 3 |% r$ `8 Z& C- o1 P
  <pages> 3 i! ]8 d; N6 ^% t) \, e  f
    <page id="0" file="menu_0.dds" /> - `3 e8 F( u0 X# _
    <page id="1" file="menu_1.dds" />
$ c4 q' V& A" T; N8 u6 X$ l3 y1 w% h1 ]    <page id="2" file="menu_2.dds" /> $ g& I; g7 H- n
  </pages> ( ~- W, X) Y0 _
2 ^, _0 y) s7 B

- z$ d3 ]& ]% ]8 J- t/ o  <chars count="190"> : s6 p2 j. u9 ^1 X
改为 ; B+ R) o4 x. u0 E7 B
  <chars count="194">
! \: f. d6 [- d+ s( `" J" ?' N' y  q9 \$ Q7 u. j" o
在字符定义的最后加上 ( B' J" ^# H% [/ Y& I1 g
    <char id="22987" x="31" y="0" width="30" height="29" xoffset="1" yoffset="2" xadvance="32" page="2" chnl="15" /> 2 n& G' h  x, n2 p# B5 M" k
    <char id="24320" x="93" y="0" width="28" height="27" xoffset="2" yoffset="4" xadvance="32" page="2" chnl="15" /> ( f: U  f* {; m/ H; ~6 _
    <char id="25103" x="62" y="0" width="30" height="29" xoffset="1" yoffset="2" xadvance="32" page="2" chnl="15" /> 2 m( Y4 o" q) W" A" f% P
    <char id="28216" x="0" y="0" width="30" height="30" xoffset="1" yoffset="2" xadvance="32" page="2" chnl="15" /> ! E  J, l' j! B8 O

7 V8 o" `+ g) @3 N. B+ I这4行是开始游戏这4个字在图片字库中的位置定义。 ; ?" F/ }, F. E4 B' {' \4 L
在用字体工具生成menu_2.dds的时候,会生成一个.fnt文件,这4行可以从这里面复制。
# j0 U$ C: @) E5 Z当然,字体工具生成的图片名不会是menu_2.dds,而是XXXX_0.dds,这需要我们改名的。 # J- Q( W% a' d/ C. o* o
! v, W  {  {. g: s
字库生成 ( e6 K5 I! [, ^; I* \' k
字库可以用Bitmap Font Generator这个工具生成。 9 P! G+ V, O* t4 a
下载
) y% h1 `. a: A" O$ ~' M) {http://www.angelcode.com/products/bmfont/ ! I/ ^- G' s4 f
5 j9 `0 L/ E/ `3 A6 u1 \1 `$ q: \
字体定义文件要选xml格式,材质要选dds格式,位深度要选32(缺省是8) * i: n1 J3 U, j" U5 a' Q# K* M( p* F* O
大小选256X256,一张图片不够,这个工具会自动生成好多张的。
5 P8 b7 {+ K# L+ ^4 `. f" G( Z如果想把尺寸设大一点应该也是可以的,我没有试验过,其他地方可能要相应修改。 * Q1 p7 a  _! A- g5 a" @6 z7 O

3 ]* _, N5 v& K注意点 ' \( c: G7 I/ o9 m0 L
1.这个游戏使用了多种不同的字体,所以需要把字幕整理一下,整理出哪些字幕是对应哪个字体文件的。
* ^* j) Y! z9 N4 R- l' y3 ~+ d* J! m  这样才能筛选出不重复的汉字来生成字库。 1 E. x9 a( y% _3 g" @2 u
2.需要制作一个工具,把字幕文件里的汉字转换为[u25103]的形式。 8 d& c5 }# D" J$ }; R
  c. l7 \# a$ H7 i, a* N0 h% L/ s
以上就是这个游戏的全部汉化方法。 / \1 w: P1 C! \8 F  b0 R

- I3 {4 x: }9 i[attach]17253[/attach]
作者: 514273668    时间: 2010-9-11 10:14
支持~~   支持   加油哦
作者: miclhang    时间: 2010-9-11 10:32
哇,太好啦~!
作者: sskaizai    时间: 2010-9-11 10:35
又一部牛游戏收入囊中!!!!!!!!
作者: miclhang    时间: 2010-9-11 10:35
额,3DM也接手了~
, _& p5 @: K/ f4 v1 z6 j; |4 |* V. s, H0 [$ _: Z
http://bbs.3dmgame.com/showtopic-1450643.html
作者: potemkin    时间: 2010-9-12 22:56
新人报道!% x  D$ Y6 H' w. U  Z& N
那我来试试这个任务吧, 希望能顺利完成:D
作者: swdgame    时间: 2010-9-14 21:26
报道一枚!
作者: potemkin    时间: 2010-9-15 13:31
标题: utf-16中文转换
完成了~
0 {  a6 P+ Y2 b$ B, E3 x写了一个小工具, 没有界面, 说明和源码在附件里面, 有什么BUG通知我吧
' }8 h( V, ~8 g8 N/ @8 ?# A' ?4 s4 Y: j8 @9 J
补充说明:
2 a. D" |' c: `$ x" U   1. 工具不会自动识别编码格式, 源文件一定要是utf-8的, 否则会出错;
6 P( m8 X5 \/ \9 ?! M3 y9 P   2. 替换时没有考虑文件结构, 所以如果文档中含有注释性质的说明性文字(中文)也会一并被替换掉...
作者: naptid    时间: 2010-9-15 14:15
UltraEdit可以直接进行字码转换,“另存为”——格式选“Unicode-ASCII Escaped”就可以生成类似\\u25103\\的格式,然后将\\\\替换为][即可。
* h* T" W  u0 {/ V% n9 t) h需要注意:字母数字及半角符号等ASCII码,UE不会自动替换,不知失忆症的字幕文件是否也是如此规则。
作者: swdgame    时间: 2010-9-15 16:36
不考虑格式转换器一枚,无界面,无报错提示,纯转换汉字,thank potemkin for unicode info[s:69]
% T- r; n3 D5 f, h
1 L( ^/ O* g$ N* k4 ]- d) Q& F使用时直接将文件拖入cmd框然后按enter就行了。+ P- j! l6 K6 e" D- D" s
转换后会在输入文件目录下建立一个fixed files文件夹,转换后的文件在里面。
3 Q* ?- C- J! H" [! I3 h% M: }: N4 {$ n6 d4 o2 ?* A! u& Z
用了两段别人的代码和mfc,只能保证xp以上系统能正常运行。
作者: shane007    时间: 2010-9-15 17:09
工具收到,多谢以上3位了。工具我会尽快测试的。
作者: wshinru    时间: 2010-9-17 14:29
衝啊~~~加油加油~~[s:67]
作者: potemkin    时间: 2010-9-17 14:51
工具可以用么  有没有什么bug?




欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/) Powered by Discuz! X3.2