本帖最后由 bmwmj 于 2011-2-27 22:23 编辑
# V1 k8 |9 S2 F7 X$ e. N9 Q0 b: @8 d
playfirst SDK游戏汉化技术从头跟我学
1 {9 n- D/ f- l8 v& g. R前言
5 |9 C# S9 R6 _. M' G9 _这只是我个人的一些使用经验,不一定全面。但保证是看了就会。
: m6 X3 ~& `3 ]( J只要你用心的看,我相信不用问别人,你就已经可以流畅的完成汉化任务了。
; _( c( a6 c; E E& Z1 P
. ]7 P9 `7 u# d5 d/ U. Y一.准备工作, n9 Z% p+ Y- }8 i; ]/ i
1 C/ n- c% F' `( }; g- |1.下载游戏(这个不解释了)
& v, Z8 n& J# d. {: E% j
. O: R6 N$ A, x2.下载必备软件(字体制作工具-解包打包工具)
5 p! r; }4 ^' H( v& w' `
+ Q$ ~+ P7 s2 H1 u6 O3 q I下载
4 T( M! y* B; _5 p3 N" t' B% o8 N$ V4 \) s6 F A
下载
+ @5 \+ c% z3 X# F' i' n x x/ r* y* `* N- ]$ g, L8 n
注:但凡这类软件都需要你的电脑里装有Net Framework和VC+类运行环境,这些软件你得自己去网上搜索下载,本人在此不再过多解释这类缺少运行环境或相应dll文件所带来的问题。- X( i0 Y/ D0 O: E( U4 F' E6 Z
i8 p1 ~2 ]; M6 n+ D( C3 q
3.制作字体(推荐使用方正系列字体)
9 ^0 E, h" n, V6 u; @' P打开字体制作工具Playmate Font Maker,在选择框里点选Allencn(其它不必选,有这一个足矣),然后在上面的下拉框中找到你想使用的字体,(中文字体请自己去下载然后安装到C:\WINDOWS\Fonts目录),好了,最后一步点上面的那个图标制作mvec字体。( y \* K1 r0 d$ _5 X
这里放一个我个人最喜欢的已经制作好的mvec文件,字体是方正准圆
s% K) g1 C$ l; V8 ]8 d6 y+ x; T8 m! L4 S
下载
8 o9 Z0 h7 u1 q& h+ U! C) w" z- B
% k# |# n* l, q5 P4 D4 c4 f4.解包文件
* _! m [8 N8 c/ |4 B7 @通常情况下,playfirst SDK开发的游戏一般只有一个assets.pfp包文件,但也不排除有个别游戏是每个目录都单独有pfp包。, E3 l' ]' R! L2 A& O( K- b
使用解包打包工具,选择解包器,然后上面选择包文件,下面是解压地址,完全解压后,把解出来的assets目录复制到游戏安装路径,替换同名的文件夹。然后建立一个备份目录,把assets.pfp剪切到这里留着当备份。
$ h& m U, r. J5 c7 c/ v7 |6 F' A9 P, X$ U w0 f! h H
5.替换字体
( V; U, ?8 D5 p7 S找到font目录(有些游戏字体不一定就在这个文件夹),里面该是一个或者一堆后缀为mvec的文件,把刚才制作的好的字体文件重命名为和这些字体相同的名字,然后覆盖它们(注意是全部)。
# T6 t7 ]1 S5 H, L6 Z4 x, ^scgame编写的PlayFirst字库群替换工具5 c$ ?' b% g. d- ?
地址https://www.chinaavg.com/forum-v ... ight-PlayFirst.html
4 j: R! [; ^8 u' h& f) Y: |* m5 D2 P, A" Y' r/ r. A4 A' S X
二.汉化分析
' l8 L( P( C9 p8 P) g
7 W/ |: r, Q$ ~) E X1.字幕文件构成$ D% Q! D) w$ I$ ]
playfirst SDK开发的游戏字幕一般都是strings开头的xml文件,其它的例如flash动画或是制作人名单有可能是用txt文件
m4 z- V/ X! V$ E% R! M
8 b/ p( h# i& h0 l2.字体文件定义
) D) j1 `: A/ k" M% a! K在assets目录下的某些文件夹里会有很多lua文件,这是游戏脚本文件,大多数时候我们连看都不用看,只有在游戏中出现了字体过大或者过小时才需要找到对应的脚本文件来修改。
, t4 p: c0 W+ c% g. P4 W
- H# `8 @& K% S( A: v3.字幕编码了解
7 U5 T! q% v6 r K: h2 J& }9 F推荐新人使用工具Notepad++(自己去网上搜索下载)有经验人士使用下面的xml编辑器,playfirst SDK的游戏字幕基本都是utf-8编码格式,这在xml文件头部一般都有注明,在Notepad++里打开xml或者txt文件,点击上面的格式按钮可以看到字幕文件的编码格式,如果显示的是ANSI格式,请手动选择utf-8格式,然后保存,这样汉化才能正常显示。: n( }, u3 ?- z) B+ z' C6 w; d
增加一款xml编辑器,怎么使用不多解释/ P. h# W% I) p4 t: T* E1 t
/ T% Y5 j. A8 G% P4 N" T/ k4 ]0 M
- {& U& U- M$ S$ F3 V" v. n& P4.初步汉化测试
8 |0 Q! m8 @5 S2 G D3 p9 J7 e% [playfirst SDK开发的游戏字幕文件具有特定的程序格式排列,一般为如下格式:
3 K0 u! n# C1 s F" [, A+ \! z" Q6 H: L( Z: J
<Cell ss:StyleID="s21"><Data ss:Type="String">str_lincoln_as_detergenthidden</Data></Cell>
- j* y6 _/ m' M" e( |<Cell ss:StyleID="s21"><Data ss:Type="String">Detergent hidden</Data></Cell>* m1 v0 }" f3 C# f2 S* A. ]/ D
8 q8 M3 b v, o7 K9 V7 P; I7 z第一行是字幕对应的程序或者图片名字,这个不用管,我们要做的是汉化第二行里的Detergent hidden这个词组。8 \- p: t3 g& E! \9 N
部分游戏的字幕文件可能有好几种语言,所以格式可能有三行甚至四行,但对于我们来说,基本上只有一行需要汉化,所以初步汉化测试的目的就在于此,鉴别汉化的正确与否。
& K4 d) H, W z: _2 I' N(极特殊的情况下可能需要汉化多行,这个问题要在测试中才能发现。)( H( y+ S6 b. A) D( T
. |1 C4 ]- T, J: j$ i
5 E. v7 N) S# y# u0 E
5.代码区分7 h% T/ z/ B. S5 L' f, @( J
在需要汉化的字幕中,可能经常会出现一些代码,这些代码具有特殊用途,千万不要把它也给汉化了,目前常见的代码如下(换行【<br>】文字加粗【<bold>加粗</bold>】调用程序【%1% %2% %3%】加引号【"加引号"】字体颜色【<outline color=\"000000\" size=0>字体颜色</outline>】字体大小【<font size=\"22\">字体大小</font>】字体居中【<center>字体居中</center>】字体倾斜【<i>字体倾斜</i>】)其中调用程序不要更改,而换行代码,你可以根据你自己的需要来挪动它的位置,因为汉化完的中文字有时候比英文多有时候少,这个代码放到哪里,你自己试着来,改多了就有经验了。以上代码均是在非专门文本工具上的显示结果,老鸟不必对此过于纠结,因为专门的xml编辑器里这些代码可不是这个样子。% s2 W8 A# _& u+ G9 B- c) M! N
2 Y* Y. u d2 Y* F. O9 d
6.开始汉化
: o' B$ T; a4 K# M( E. t我建议先玩游戏后汉化,玩一段汉一段,因为这样除了能让你能更好的了解剧情外,
5 d: b6 K) S# q( J$ |还能让你知道那些词组或语句是需要你翻译的,而哪些又是不能翻译的,这里我放一个我汉化的传奇之书字幕文件,大家可以看到,这里面有些地方看起来可以汉化,实则是不能动的。
2 U0 c+ A& d5 O7 F2 `当然这种情况也不多,大多数xml文件基本上是全部都能汉化而无需顾忌什么的。关键是你自己敢于尝试,而出现了问题也要先立足于自身去寻找问题所在,而不是一出了问题就先想着找人解决。0 U( N* D% m. M
& Q; L K4 u1 r3 y+ P下载
1 i# E6 R& D+ y5 l5 O$ b8 r$ t& L+ A. V/ K7 G0 w6 Z1 Y2 ?% P
7.汉化补丁制作' O" u5 N2 _) _* X
将所有你修改过的文件单独放置到一个空文件夹内(注意:如果你修改过的文件本身就是属于某个文件夹,那么复制的时候必须要保留原文件夹得结构,例如font/abc.mvec,那个font文件夹也必须复制一份),接下来用打包解包器选择这个文件夹,然后保存到任意位置,最后把打包好的assets.pfp改名为assets_p1.pfp,这样一个完整的补丁包就做好了。+ g; v& v% \0 W6 @4 t" H
3 `' o1 p4 I6 o6 @7 ]4 L( Q+ k7 e三.汉化中的问题
+ _4 R& h% M4 m; C4 R8 D# c2 m6 O9 U* ]* K8 }
1.当打开xml文件时,发现所有的文字都集中在一起而不是一行一行的怎么办?用excel打开一次这个xml文件,然后再另存。如果用excel都打不开这个文件,那就说明这个文件里有些地方并不符合格式要求,而要查找问题就难了,但这种情况并不影响汉化。2 L7 Z5 p+ X9 [$ p j- m
1 r# Y3 ~" G7 }3 [1 ^9 D* U! n2.汉化完发现进不去游戏,或者一到刚汉化完的地方游戏就报错怎么办?仔细检查你刚才汉化过的地方,有没有误删除各类代码符号,有没有汉化了不该汉化的字幕文件。7 J1 _2 Z- r6 Y& s/ I9 D( d
" U: d3 c6 y7 V0 f: l7 H6 O3.有些地方出现#####字样是怎么回事?这个情况有三种可能,1.字体文件里没有这几个字(这种情况发生的概率现在几乎为0了)。2.这处字幕对应的文件名字(大小写)或者是指定位置不正确,仔细检查字幕所对应的文件或者图片名做修正。3.是xml里缺少相应的字幕。可能游戏的版本是beta版的,解决办法是找到正式版或试玩版,在strings.xml里找到相应的字幕块贴到有问题的strings.xml里面去即可。或者是在正式版或试玩版的strings.xml的基础上,把其他字幕贴过来。+ ^/ G/ h) Z$ W4 t; l
+ L g2 d9 g# }0 _
4.标点符号的应用
( N. L" E( T' W1 `有一篇hongrui78写的文章大家可以看一下,
9 ~. r( M6 V# l: y* V# q地址https://www.chinaavg.com/forum-v ... t-%B1%EA%B5%E3.html
5 N% `* T* ]% x! ~9 f% X关于里面提到的中文标点,我打包的字体制作里面都有了。
5 Z$ @. E. m% n# K* ?, G4 T2 j( x/ [$ a
4 c! ?7 R0 B q8 q' X
四.其它技术文章
( y. `, O4 `0 W3 V) t' _* q# ]! z" v4 n- @1 w) Y
1.游戏有的时候会调用一种default.mvec字体。
. L! d$ p! J+ r' W5 p- ^& ?) V: O 这种字体的调用是隐含在exe文件里面的,如果游戏发生原因不明的死机的话,
9 }9 A' ^, \" o, I- t) k 可以在fonts目录下追加这个default.mvec字体试试看,也许就能解决问题。
* H, L B! l( x( f& d) i
& N% \) y2 J3 @; e, T2.有时需要换行的中文字幕会引起死机。
& z9 i+ }, m8 i) |2 Y* b 解决办法是在每行的最后加上1个半角空格。* u+ g. N9 v5 f! Z4 p( Q( }8 @
) Y9 F, V% _" I# [+ F3.歪歪乐写的一个小工具,可以在mvec字库里加上半角空格(不推荐无经验人士使用)7 x9 q9 n: ]+ O( i
下载
6 h- v) v# l* `- m& r* p3 @) ^5 v7 _) z$ t1 Z6 U$ ]9 m
4.ramonatulip编写的PlayFirst类小游戏汉化详解& y; y6 R8 Q+ @4 p3 }
地址https://www.chinaavg.com/forum-v ... ight-PlayFirst.html7 @0 A% x# r8 o8 X" v& J) f+ ?
& S* h0 j$ f- B
五.参考资料
@0 `3 z5 d0 R% U
6 a3 W" `; e) ~6 ]; X* K+ ?关于PlayfirstSDK小游戏汉化的6个重要补充注意点
! D* s2 S9 ^( n! M6 z- Ahttps://www.chinaavg.com/forum-v ... ight-PlayFirst.html
5 }" D4 l: o8 c, S" R* R% E. r; u; N8 }
好消息!120多个Playfirst休闲小游戏汉化实现+ k7 _ s2 a0 L' m+ P
https://www.chinaavg.com/forum-v ... ight-PlayFirst.html+ ^: D4 ]. |, }1 s* L4 `
7 g# H! }$ C7 YPlayfirst 及各类小游戏汉化问题汇总4 K/ s, M3 S/ B# Y
https://www.chinaavg.com/forum-v ... ight-PlayFirst.html, x R# K0 m, b9 d9 @$ s2 v" m7 I
* ]/ j @ B) F) H8 R+ w
注意,如有疑问可以回帖,但不保证能及时回复解决,因为本人时间和能力有限。
) Y# V8 G- b1 x- M1 J# r" r0 h------------------------------------------------------------------
: `0 O K* w( A/ T* c$ }更新记录
E, f) r$ h+ J2 k+ s; C% EV1.1增加了几条字幕控制代码
* q+ u9 d6 m, ]# E; Q' r& dV1.2增加了关于制作类软件无法使用的问题,增加了一款xml编辑器. ]- j- }* u5 ]6 v/ `& |6 L
V1.3增加了汉化补丁制作教程 |