希望通过以下的归类和总结,使大家对汉化方法的大分类有一个清晰的认识。
6 g0 k3 f6 K9 y- b i: [
! V4 z s8 e5 `8 _6 e! q& Q
6 |) m9 A" |% A/ k1.傻瓜式汉化法 u2 P/ L+ v2 B* U
(1)纯翻译汉化法
) C" r/ ]: @8 ^+ B 这种汉化方法最简单,前提是游戏的字幕是用双字节或UTF-8编码保存的,也就是我们所说的U码游戏。- r6 G4 X+ l: \ }
只要翻译西文字幕,仍然用原来的U码保存,即可实现汉化。8 \! F' h# p3 @
论坛上发布的汉化补丁中有相当一部分就是属于这一种的。
5 X( l; s0 [ R$ I I6 ~# X
u3 n( [0 B, t; t(2)纯PS汉化法
) w w- v: q O6 o6 e 这种汉化方法也是最简单的,常见于小游戏,前提是游戏的字幕都是用图片的形式来保存的。& |* e/ r# Q8 Y. W
把图片PS为中文的即可实现汉化。& t) S2 p) `- X) p9 [ X; w" i3 u% h
* b8 `( B* B8 M. R2.源代码级汉化法8 p) F' l' q3 \7 V3 e6 Z8 Q% x" P# s
一般来说,只有原游戏开发公司才会使用这种方法汉化,因为只有他们有源代码。
, H Y" \) Z4 Z L5 n 据我所知, 即使是代理公司做汉化,也不会得到源代码,而是得到一些资源文件,汉化以后由开发公司整合到游戏中去。民间汉化基本没有使用这种方法的。不过,下面说的基于模拟器的汉化法是一个例外。
# X9 D+ F$ }, h
$ M$ s6 Q# i2 M# {, ~. j; W3.基于模拟器的汉化法
. }2 |, X$ U$ K6 S 这是源代码级汉化法的一个特例。拿scummvm模拟器举例来说,scummvm小组向游戏的原作者取得了某些游戏的源代码以及使用和修改许可,在此基础上,我们再做一些修改,即可实现汉化。3 z" a e f# ?! B- [
疾速天龙和断剑系列的汉化实现就是一个很好的例子。 p' x" A! N# _
' D5 l% e: {! u. r
4.API HOOK 汉化法9 J8 s8 q3 x5 G7 B" V# V
通过HOOK某些关键的windows API函数,比如extTextout.Textout, MultiByteToWideChar等.修改其中的关键参数来实现改变文字编码,单字节转双字节的功能,从而实现汉化。
; e& m$ ^/ o- q0 U% o 用这个汉化法的游戏不少,如南希系列,午夜夺命等。4 u- D8 `# d' t
/ ?0 |7 q S% @9 s7 h, q
5.内挂式汉化法
% D5 g8 n9 c- [ 向游戏的进程内注入一个DLL,把游戏显示字幕的各种参数传递给这个DLL,从而使游戏显示出中文字的汉化方法。通常要结合汇编级的调试和修改,算是难度比较高的一种汉化方法。. V7 {$ E9 Q2 \. W; _" f' G9 G
疯人院的汉化就是一个经典的例子。0 N1 ~! D% X( A* I2 f/ e
" ?4 o+ G# T2 t+ t6.汇编级补丁代码汉化法
9 M5 G4 m( {* R; \! y 这个方法是汉化一些图片字库游戏的比较正统的汉化方法。* P+ [1 B8 [# O( U6 {
在汇编级增加中文的码表,以及单字节到双字节的转换代码,再增加中文字库等等,即可实现汉化。 O O M$ \; i- o* K
基本上图片字库游戏都会使用这种汉化方法,包括很多图片字库的小游戏。
/ y5 ?/ c( f8 n& m 比如那个虚拟村民3的汉化示例里就用了这种汉化方法。
' Y6 W: o: P N+ g0 |. e& i2 W
0 S2 B9 S& r( Z0 M7.特定游戏引擎汉化法& @- f/ y( C$ E3 r7 t3 K
这个很好理解,某个游戏引擎一旦有一个游戏研究出汉化方法以后,采用相同游戏引擎开发的游戏就都可以用这套方法来汉化。典型的例子是WME游戏引擎。
7 y! U- _- Q7 C& n: | J
2 G/ b0 T1 I% X3 F" d" G8.基于日文版,韩文版游戏的汉化法
7 h6 W- P+ b% m t/ j# V2 i 为什么游戏机游戏的汉化这么多?答案很简单,因为游戏机游戏有很多日文版。/ {- @9 B! R9 a8 t) D+ V
日文版是双字节的,汉化起来相当容易,只要处理好字符边界检查问题即可。7 U1 T; s* P; q s
PC日文版 AVG不多,举个例子就是赛博利亚1吧。5 Z$ I6 {$ I# y
& O* ^9 a2 `( l1 }, |9.新型汉化法1 x* U9 i6 d+ U: p' L! k
(1)代理DLL汉化法
- z& A* d; Z& F; T(2)纵向点阵模版汉化法
8 J; P, J$ h5 Y. p# U* H6 w) {# p9 F(3)化木成林汉化法, s$ E) I6 U* \6 Z
" r! F8 b [! o
汉化方法正在不断地进化之中,各种新的汉化方法不断地被发明出来。
9 H- _4 P7 S3 v+ E, t 以上是我发明的几种新型汉化法,具体我就不详细说了。. }0 P B7 ?: j! C! K+ a
只想告诉大家几句话,法无定法,一切皆有可能。
2 s% G% Y) V" E4 Z0 ~( o6 H6 f 既要充分借鉴和学习前人的汉化经验,又要在前人经验的基础上不断创新。
" A+ e- J2 w. U+ _3 b# ? 并不是说前人说做不到的事就一定做不到的。0 D% F# z2 s( L9 D8 N
' M' k( Y6 N) T6 C9 s# F/ N* o
10.基于特定游戏的特定汉化法
5 Z, h6 q& {4 ?3 G/ ^8 H+ P2 B对于一些特定游戏,有时候我们会结合游戏的情况想出一些特别的汉化方法。
- Y x$ f4 S* r, q4 ]6 W6 Q/ Z
) v9 @3 L5 ?6 [$ P- H11.综合汉化法
1 j5 S/ I7 L- }) x; [一般来说,很多游戏的汉化都不止使用了一种汉化方法,往往是多种汉化方法的综合运用。 |