希望通过以下的归类和总结,使大家对汉化方法的大分类有一个清晰的认识。; M/ H* z4 G/ _ n% D: Z( w e
) F; Q: @) d2 e' z+ l0 U; B& G' N: {- h$ p" W! e5 ~7 Q
1.傻瓜式汉化法' G/ z) B0 s I3 f( S( T; c
(1)纯翻译汉化法
1 V: B9 J; L( r; Z) g 这种汉化方法最简单,前提是游戏的字幕是用双字节或UTF-8编码保存的,也就是我们所说的U码游戏。
% e$ }' }- z* V9 A9 j 只要翻译西文字幕,仍然用原来的U码保存,即可实现汉化。
- O$ T P% O6 S& A0 [. d7 l. } 论坛上发布的汉化补丁中有相当一部分就是属于这一种的。( x4 R7 y+ ^1 E9 T1 R
3 [) \7 C. s; m5 i% G
(2)纯PS汉化法
. M3 J7 \! H- t) W1 _# i 这种汉化方法也是最简单的,常见于小游戏,前提是游戏的字幕都是用图片的形式来保存的。
( p9 o& V; s x9 u! v% T! x 把图片PS为中文的即可实现汉化。+ S/ N! U! ~- m
2 @" U5 h8 L8 Q7 f$ t+ g2.源代码级汉化法
- y! B4 g' y. p" [2 q 一般来说,只有原游戏开发公司才会使用这种方法汉化,因为只有他们有源代码。/ I+ M& K! @5 V' G& |* g! J
据我所知, 即使是代理公司做汉化,也不会得到源代码,而是得到一些资源文件,汉化以后由开发公司整合到游戏中去。民间汉化基本没有使用这种方法的。不过,下面说的基于模拟器的汉化法是一个例外。
4 @/ Z- S6 v* n
9 T3 y9 ^' f5 q6 ^: o3.基于模拟器的汉化法
5 s$ k- P* \4 r4 z3 Y' o 这是源代码级汉化法的一个特例。拿scummvm模拟器举例来说,scummvm小组向游戏的原作者取得了某些游戏的源代码以及使用和修改许可,在此基础上,我们再做一些修改,即可实现汉化。5 Y9 J1 N. |* ^6 K( t- Q$ r& X
疾速天龙和断剑系列的汉化实现就是一个很好的例子。# O9 [. j. S. s: p! {
! K4 `% s3 B; S3 e1 N4.API HOOK 汉化法( m$ ? N& U( ]9 @& o
通过HOOK某些关键的windows API函数,比如extTextout.Textout, MultiByteToWideChar等.修改其中的关键参数来实现改变文字编码,单字节转双字节的功能,从而实现汉化。
4 }. t% K) b/ @ 用这个汉化法的游戏不少,如南希系列,午夜夺命等。# K+ E( t7 O/ L& A/ G
3 e7 Y! E! I5 e: m. v, x5.内挂式汉化法+ o4 a! x3 a, f4 J
向游戏的进程内注入一个DLL,把游戏显示字幕的各种参数传递给这个DLL,从而使游戏显示出中文字的汉化方法。通常要结合汇编级的调试和修改,算是难度比较高的一种汉化方法。$ j& F/ k! z* e
疯人院的汉化就是一个经典的例子。3 D. x& ~0 Z* g) {4 }' Z- \2 t
3 C5 `( p! H' b% h: t! `1 [# B
6.汇编级补丁代码汉化法
* l9 B4 \5 N" N) v 这个方法是汉化一些图片字库游戏的比较正统的汉化方法。# p8 U. R: s' G# h1 E a( l, O
在汇编级增加中文的码表,以及单字节到双字节的转换代码,再增加中文字库等等,即可实现汉化。
2 p' R$ z# a" M" j y) c t 基本上图片字库游戏都会使用这种汉化方法,包括很多图片字库的小游戏。9 d- }8 {$ y/ z+ B+ [& {6 U* I
比如那个虚拟村民3的汉化示例里就用了这种汉化方法。
" Y, s, V; c7 V7 d' f7 i% x' l8 C3 G8 r9 \/ I4 T1 I
7.特定游戏引擎汉化法' F! P2 R# a% p& T& p& Q
这个很好理解,某个游戏引擎一旦有一个游戏研究出汉化方法以后,采用相同游戏引擎开发的游戏就都可以用这套方法来汉化。典型的例子是WME游戏引擎。: q" r# Q& u. L- Q# ~( d- k( G
- O5 e6 U& R! B8.基于日文版,韩文版游戏的汉化法
4 I4 W' C8 Y: `0 I. d- Y* T/ k F 为什么游戏机游戏的汉化这么多?答案很简单,因为游戏机游戏有很多日文版。1 T4 Q$ E& [' v( h
日文版是双字节的,汉化起来相当容易,只要处理好字符边界检查问题即可。7 _, U8 J% W- v* M0 S
PC日文版 AVG不多,举个例子就是赛博利亚1吧。
3 c' P) e* d; K+ {. c
2 x6 \' \7 c! R6 `9.新型汉化法5 j: N" T! p: ?9 f6 L. r, t
(1)代理DLL汉化法
" ~' [' w. A. O1 V3 I6 T, v4 A(2)纵向点阵模版汉化法
! F5 z3 v( y+ \4 L. X1 X: m2 \. T- T(3)化木成林汉化法
* _' I G( |; S8 C2 I0 j5 Z2 z: y( s
4 q( b- m2 \1 ]2 X/ Y& [" g 汉化方法正在不断地进化之中,各种新的汉化方法不断地被发明出来。
. {9 j& d: l0 e, |3 U& Q1 |9 G; N 以上是我发明的几种新型汉化法,具体我就不详细说了。
$ `, g7 m, ]/ `$ @: i 只想告诉大家几句话,法无定法,一切皆有可能。
# F8 p D* B* @8 Z- ^' ~- k @. n: T 既要充分借鉴和学习前人的汉化经验,又要在前人经验的基础上不断创新。3 K+ a% d2 \1 H: r
并不是说前人说做不到的事就一定做不到的。6 H! `& K! p8 ]% @
' G# ]* H2 N. ^9 c* Q
10.基于特定游戏的特定汉化法
' q4 y$ |! g4 T9 H对于一些特定游戏,有时候我们会结合游戏的情况想出一些特别的汉化方法。/ [/ p1 g& C, u& ?6 ~2 g* L
6 l+ e5 @1 \8 O11.综合汉化法# m) |. Y0 X# _/ _
一般来说,很多游戏的汉化都不止使用了一种汉化方法,往往是多种汉化方法的综合运用。 |