希望通过以下的归类和总结,使大家对汉化方法的大分类有一个清晰的认识。
/ D3 q+ N _8 S$ L8 c G* H2 {- q: r0 }7 B( D
, V8 d- z* k4 J, Q, C1.傻瓜式汉化法4 W, d1 x B$ O8 a- [
(1)纯翻译汉化法1 w0 w3 K$ }9 j4 d
这种汉化方法最简单,前提是游戏的字幕是用双字节或UTF-8编码保存的,也就是我们所说的U码游戏。
9 G7 O6 k K9 Y' {0 ]7 ~& p- \ 只要翻译西文字幕,仍然用原来的U码保存,即可实现汉化。5 b7 L! O+ A V1 k6 ^
论坛上发布的汉化补丁中有相当一部分就是属于这一种的。
- N1 u7 B# ], v8 R' p, b" p0 p
7 V! t5 V' J% p! E" H+ e; ](2)纯PS汉化法
& _0 r/ @: X% t0 M! |( ` 这种汉化方法也是最简单的,常见于小游戏,前提是游戏的字幕都是用图片的形式来保存的。
6 @* h4 u6 k' n! C! n; b* {& y 把图片PS为中文的即可实现汉化。. E8 q9 y; z2 N8 b% P' U' i$ {% G9 O
1 ?/ l z1 n! F3 n2.源代码级汉化法
/ R: W& V1 O) e" Z" }" k* U+ M 一般来说,只有原游戏开发公司才会使用这种方法汉化,因为只有他们有源代码。
5 J6 E: N' v3 Y8 G3 Q/ o3 V 据我所知, 即使是代理公司做汉化,也不会得到源代码,而是得到一些资源文件,汉化以后由开发公司整合到游戏中去。民间汉化基本没有使用这种方法的。不过,下面说的基于模拟器的汉化法是一个例外。+ c. r8 x! s/ x: u5 I
6 V0 @& X8 f. ^2 }4 b# e: T Q3.基于模拟器的汉化法
: `( C1 X, Q! f 这是源代码级汉化法的一个特例。拿scummvm模拟器举例来说,scummvm小组向游戏的原作者取得了某些游戏的源代码以及使用和修改许可,在此基础上,我们再做一些修改,即可实现汉化。0 I& T/ \ f# r) w, C9 `2 g: @
疾速天龙和断剑系列的汉化实现就是一个很好的例子。 f* P! H$ T8 r% v, l
[% y) ^0 }, S7 i, t6 h( d' q4.API HOOK 汉化法 }- t0 R8 G9 x9 s; T# L
通过HOOK某些关键的windows API函数,比如extTextout.Textout, MultiByteToWideChar等.修改其中的关键参数来实现改变文字编码,单字节转双字节的功能,从而实现汉化。/ x9 M5 o" g1 i
用这个汉化法的游戏不少,如南希系列,午夜夺命等。
3 J5 q/ s+ M% i7 e
4 _% j7 Q. P2 U7 x' C; ]5.内挂式汉化法9 ~, F. p x- V v: w d& m
向游戏的进程内注入一个DLL,把游戏显示字幕的各种参数传递给这个DLL,从而使游戏显示出中文字的汉化方法。通常要结合汇编级的调试和修改,算是难度比较高的一种汉化方法。" w0 R: A, {6 Q6 c/ y! d
疯人院的汉化就是一个经典的例子。
+ w- }/ X9 F" a; ^1 X O d9 T* k# e9 H. {5 U6 ? m/ q
6.汇编级补丁代码汉化法
4 y' p1 ?8 R4 u( }6 i 这个方法是汉化一些图片字库游戏的比较正统的汉化方法。
+ H, |! L$ n- q7 b/ H. }& ? 在汇编级增加中文的码表,以及单字节到双字节的转换代码,再增加中文字库等等,即可实现汉化。
3 E9 ^0 a/ g# H- I4 L! }5 [5 B 基本上图片字库游戏都会使用这种汉化方法,包括很多图片字库的小游戏。
) V7 e, p3 O. D 比如那个虚拟村民3的汉化示例里就用了这种汉化方法。; w- e; q5 [5 x: L! y5 M2 ?: h; k
8 g+ x+ b$ `' [4 J% \% e( Q2 w
7.特定游戏引擎汉化法
3 p6 ^6 X9 v8 A& r ~. _+ k/ B# I 这个很好理解,某个游戏引擎一旦有一个游戏研究出汉化方法以后,采用相同游戏引擎开发的游戏就都可以用这套方法来汉化。典型的例子是WME游戏引擎。 ?. i: P+ p' J# }& b! x, t
' ^2 ^7 b0 C9 |7 W. ^1 V# @3 `' g- I: n8.基于日文版,韩文版游戏的汉化法 K$ u3 ]" E4 R4 V0 J* ~7 p
为什么游戏机游戏的汉化这么多?答案很简单,因为游戏机游戏有很多日文版。" R+ ]# Q1 c& y
日文版是双字节的,汉化起来相当容易,只要处理好字符边界检查问题即可。' J- @5 Z' G' Q1 l
PC日文版 AVG不多,举个例子就是赛博利亚1吧。6 ?+ s. h0 l$ }$ c% ~9 a6 f
- R3 Q% ?) w8 E/ l- T
9.新型汉化法
9 M: _' h, a: T8 G) i(1)代理DLL汉化法" c+ z) Y1 C5 j# s
(2)纵向点阵模版汉化法
7 N: _( J# {0 X* W3 l0 ?% O" r3 P(3)化木成林汉化法
+ W# a, c @. @
1 ]) t7 w$ u) r" U 汉化方法正在不断地进化之中,各种新的汉化方法不断地被发明出来。/ U" y% [2 h$ N6 s' d2 o# m: F
以上是我发明的几种新型汉化法,具体我就不详细说了。
9 ]6 ` U1 m O& Q0 d! @% f 只想告诉大家几句话,法无定法,一切皆有可能。2 Z$ {8 g# k, ~/ Q3 N
既要充分借鉴和学习前人的汉化经验,又要在前人经验的基础上不断创新。2 r/ d) g, S5 s% f5 R' R! k
并不是说前人说做不到的事就一定做不到的。/ i9 z' F4 n! O' Q# K
) n' W) {; {3 [$ O
10.基于特定游戏的特定汉化法/ Q- z4 `* n' x( M# |/ j
对于一些特定游戏,有时候我们会结合游戏的情况想出一些特别的汉化方法。" k& m5 L) e7 ?$ e3 Q4 g
- ^1 X7 o' e4 Q+ ^, J11.综合汉化法: i7 O0 P: [: r" j7 ?) ^9 O$ S/ [; u
一般来说,很多游戏的汉化都不止使用了一种汉化方法,往往是多种汉化方法的综合运用。 |