希望通过以下的归类和总结,使大家对汉化方法的大分类有一个清晰的认识。. c2 w; u7 F+ }8 @
3 J/ o; t7 E: N: B* h3 C8 l! ^& @
2 H5 o- a! @, z4 Y* o6 f$ m+ n1.傻瓜式汉化法
& ~; p8 v m S(1)纯翻译汉化法
# N; v; C# D W$ r8 ` 这种汉化方法最简单,前提是游戏的字幕是用双字节或UTF-8编码保存的,也就是我们所说的U码游戏。
' S8 N M0 g4 F1 x7 ` 只要翻译西文字幕,仍然用原来的U码保存,即可实现汉化。
* E: q/ W5 ^; X4 K2 O8 K 论坛上发布的汉化补丁中有相当一部分就是属于这一种的。
6 S/ B6 U$ q6 x9 E( O. n! l3 r5 Z1 [6 j* a+ ~ O8 E; ?
(2)纯PS汉化法! [0 L7 j2 m0 L! h5 @+ d7 ^
这种汉化方法也是最简单的,常见于小游戏,前提是游戏的字幕都是用图片的形式来保存的。3 _- G/ K$ d6 l, c% R9 ?
把图片PS为中文的即可实现汉化。& V: S, a" @8 p( C
. q J1 s- m5 Y+ o, Q2.源代码级汉化法8 h8 n. D) ~( _. w! Z k9 A
一般来说,只有原游戏开发公司才会使用这种方法汉化,因为只有他们有源代码。
$ q6 P6 u+ e8 V+ m, A 据我所知, 即使是代理公司做汉化,也不会得到源代码,而是得到一些资源文件,汉化以后由开发公司整合到游戏中去。民间汉化基本没有使用这种方法的。不过,下面说的基于模拟器的汉化法是一个例外。
' |! J4 q8 Y ~2 H" ]4 f
! X# F+ W# l$ ]" p8 _3.基于模拟器的汉化法
* y' C8 U) D9 f k' m, m( d5 P" @ 这是源代码级汉化法的一个特例。拿scummvm模拟器举例来说,scummvm小组向游戏的原作者取得了某些游戏的源代码以及使用和修改许可,在此基础上,我们再做一些修改,即可实现汉化。
+ D+ Q% W9 I7 W6 T f 疾速天龙和断剑系列的汉化实现就是一个很好的例子。
- `1 m9 W: x( W% s' D) M* J' h6 i
4.API HOOK 汉化法1 ]2 a7 ^, X% M% y4 I
通过HOOK某些关键的windows API函数,比如extTextout.Textout, MultiByteToWideChar等.修改其中的关键参数来实现改变文字编码,单字节转双字节的功能,从而实现汉化。! |' Q9 s2 D6 u9 j
用这个汉化法的游戏不少,如南希系列,午夜夺命等。7 M/ U* S' t: A' p- |
. G; P' }% N% P4 q$ u
5.内挂式汉化法
N; G- |& G) h0 c- ]" {: o; m# r, Z3 { 向游戏的进程内注入一个DLL,把游戏显示字幕的各种参数传递给这个DLL,从而使游戏显示出中文字的汉化方法。通常要结合汇编级的调试和修改,算是难度比较高的一种汉化方法。4 Z5 O5 q. t! l. _
疯人院的汉化就是一个经典的例子。* J1 @) y; S: o. q8 B1 ^! n: G/ `
: y, c% @9 Y# b* Q; Z Z
6.汇编级补丁代码汉化法
9 o \- E7 z5 l5 `* ]! e2 V 这个方法是汉化一些图片字库游戏的比较正统的汉化方法。
( F3 e" S \7 c0 w0 [3 B+ d 在汇编级增加中文的码表,以及单字节到双字节的转换代码,再增加中文字库等等,即可实现汉化。: e$ t( s' I1 z
基本上图片字库游戏都会使用这种汉化方法,包括很多图片字库的小游戏。
% L7 |# ^9 h4 G- ]9 m 比如那个虚拟村民3的汉化示例里就用了这种汉化方法。# j9 y7 r" J1 C# M8 o
( k g: x( A! G! w$ C7 f7.特定游戏引擎汉化法
7 _: I0 W, g# N6 C 这个很好理解,某个游戏引擎一旦有一个游戏研究出汉化方法以后,采用相同游戏引擎开发的游戏就都可以用这套方法来汉化。典型的例子是WME游戏引擎。# u5 z$ L% ?0 G B2 o+ x- j4 d" y; ]
! a3 R- U8 q! p" T0 O9 c8.基于日文版,韩文版游戏的汉化法
6 W; h, u! y6 z6 C 为什么游戏机游戏的汉化这么多?答案很简单,因为游戏机游戏有很多日文版。
3 ~# Z& m( [$ Z! [/ |0 r 日文版是双字节的,汉化起来相当容易,只要处理好字符边界检查问题即可。! Y0 B: q9 w+ u0 G) ]4 ~" `* B* m
PC日文版 AVG不多,举个例子就是赛博利亚1吧。2 N3 o/ _8 A) | E8 L
& p% x# A0 s ^6 p9.新型汉化法8 t2 z T% x$ q( v- o1 d% }
(1)代理DLL汉化法
9 R" x- T- |$ r(2)纵向点阵模版汉化法& J2 L0 g( n3 {8 b6 f, ?& j) f/ R0 H
(3)化木成林汉化法
0 c, e5 e+ a' g* \# `
' H- a( K) ` W% p9 [4 V. t+ ] 汉化方法正在不断地进化之中,各种新的汉化方法不断地被发明出来。9 I4 `# x: l( `# p. H+ v/ l
以上是我发明的几种新型汉化法,具体我就不详细说了。/ C2 P4 J7 y. @
只想告诉大家几句话,法无定法,一切皆有可能。
]0 Z7 C* b2 M2 ?: D 既要充分借鉴和学习前人的汉化经验,又要在前人经验的基础上不断创新。
4 H' P7 w1 x7 ~7 u8 l8 H! E 并不是说前人说做不到的事就一定做不到的。2 z6 _7 X/ J' |& w s9 t
! }0 q5 e' N: S# d( b. C
10.基于特定游戏的特定汉化法
- `* F0 b; P9 g对于一些特定游戏,有时候我们会结合游戏的情况想出一些特别的汉化方法。7 V# r3 T# b/ H; U
, Y6 W4 a6 k, `: v2 a3 Z
11.综合汉化法5 m8 d4 {$ G5 ]4 d& }. z/ j0 N( S
一般来说,很多游戏的汉化都不止使用了一种汉化方法,往往是多种汉化方法的综合运用。 |