如何把手机游戏汉化?

缂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧湱鎲搁悧鍫濈瑲闁稿顑夐弻锝夊箛椤掑倷绮靛銈嗗姌婵倝濡甸崟顖氱疀闁割偅娲橀宥夋⒑閸濆嫭濯奸柛鎾跺枛瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷婵犵數濮烽弫鎼佸磻閻樿绠垫い蹇撴缁躲倕螖閿濆懎鏆為柛銈呰嫰铻栭柨婵嗘噹閺嗘瑧绱掗悩宕囧⒌闁哄被鍔戦幃銈夊磼濞戞﹩浼�闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁撻悩鍐蹭画闂佹寧娲栭崐鎼佸垂閸岀偞鐓熼柕蹇嬪灪閺嗏晠鏌涘Δ浣稿摵闁哄矉缍侀獮瀣晲閸♀晜顥夌紓鍌欑贰閸嬪嫮绮旇ぐ鎺戣摕婵炴垯鍩勯弫鍐煥濠靛棙顥犳い锔哄姂濮婃椽骞愭惔锝冣偓鎺楁煕閻樺磭澧电€殿喖顭锋俊鎼佸Ψ閵忊槅娼旈梻浣瑰劤濞存岸宕戦崟顖f晜闁跨噦鎷�2025/2/4
如何把手机游戏汉化?
如何把手机游戏汉化?

简单的说,汉化的工作就是把游戏中所有的文本都替换成中文的。在一个手机游戏里,修改文本大概存在以下3种形式:

图片字。 就是指所有以图片形式存在的文本,比如游戏的splash,文字背景或特效等等。替换的方法很简单,找个美工做图,然后直接把原图换掉。有很多过去的游戏都是把这些图片不经过任何处理或者只去掉扩展名放到jar里,替换这些很简单;但是为了减容,现在的很多游戏则是把n张图片打包放在一个文件里,要准确的替换这些文件就有些麻烦了。

首先要弄清文件的储存格式。按程序的画法,可以大体分为drawImage和drawRGB两种形式。

drawImage就是直接把图片打包,不破坏任何图片的格式,drawRGB则是以RGB格式保存图片的象素信息。前者比较容易,除了PNG以外,有的手机还支持GIF,JPG等格式,只要保证图片格式正确就可以了。后者稍微麻烦一些,因为形成的RGB象素信息的数组很大,有的还经过压缩,因此准确的替换会比较困难。

写在程序里的字符串。 处理方法也很简单,反编译源文件之后替换相应的字符串就ok了。别问我什么是反编译,这贴里不讲编译原理。再详细的说一下,有2条路,第一就是直接修改class文件。直接把汉字写在源程序里的话,生成的class文件里的汉字字符串应该是标准的utf8编码,一个简单的做法就是自己编译一个写好中文字符串的java文件,再把生成的class文件里面对应的字节copy到原class文件里。第二就是反编译之后生成的java文件,由于扰码的原因,会有地方编译不过,一般是因为反编译后生成的文件有问题。由于扰码工具的不同,存在的问题也不一样。有的地方没有反编译成功,还有的地方使用了伪汇编指令(如goto等),有的构造函数的名称被隐藏。。等等,还有的扰码工具还会故意增加不合理代码来给反编译设置陷阱-__-|| 因此就得进行很麻烦的修改。。。当然改来改去也就是那么几种错误,就是很麻烦。扰码和反编译技术是一魔一道,没有万全之策。总之在没有彻底排除扰码的干扰的时候,不推荐用这种方法。

写在外部数据里的字符串。 如果这个游戏的程序结构好的话,所有的字符串都应该是放在外部的某个文件里的。不知道是哪个文件的话,直接把所有文件都用文本编辑器打开查看就能发现储存字符串的文件。很多游戏都是用readUTF()这个通用函数来读取文件中的数据的。因此确保所用的新字符串都是utf-8编码,由于没有原xml文件来重新生成这个数据文件,可能需要通过替换字符串的16进制编码才能正确的替换原来的字符串。一般的说,uft-8每个字符比Unicode大一个字节,因此替换完成的字符串文件可能会比原来要大一点。如果不是utf8格式,也有可能是unicode或其他格式,但如果程序本身都没有考虑到多字节文本的读入,那么除非修改源代码否则是无法解决的。

到此基本上大功告成,替换这些字符串所带来的jar大小和游戏运行时内存的变化可以忽略不计。最后一步,请确认要运行此程序的手机支持中文:)

总之,没有自带字库真是一件让人高兴的事。拿到一个GBA rom,第一件事就是破解,但拿到一个手机游戏呢?直接解开查看各文件就是了。呵呵,做一个GBA汉化,至少需要破解,翻译,美术,而做一个手机汉化呢,文本量不大,图片不多,一个人足够。还有最重要的一点,国内没有一家GBA游戏制作公司,想玩到中文游戏只能靠fans自己动手,但是手机游戏的游戏正相反,国内的制作公司很多。但尽管如此,大部分的中文游戏仍然是纯粹的垃圾,和国外的大牌公司制作的游戏相比真是不堪一击。有兴趣的同学大可以自己试一试,因此我觉得,本文的意义也不是一点都没有吧

闂傚倸鍊搁崐宄懊归崶顒佸剭妞ゆ劧绠戠粈瀣亜閹烘埈妲归柛瀣ㄥ劜缁绘繈鎮介棃娑楁勃濠电偛鍚嬮悷銉у弲闂侀潧鐗嗛¨鈧紓宥嗙墵閺屾洝绠涚€n亖鍋撻弴鐐寸函闂傚倷鑳剁涵鍫曞礈濠靛棛骞撻柛褎顨呴悞鍨亜閹烘埈妲告繛鍛Ч閺岋紕浠﹂崜褉妲堥梺瀹狀嚙妤犳瓕鐏掗梺闈╁瘜閸欌偓闁稿繑甯″娲嚒閵堝憛锝夋煕閺冣偓椤ㄥ﹤鐣锋导鏉戝唨妞ゆ挾濮寸粊锕傛⒑鐟欏嫬绀冩い鏇嗗懐涓嶆繛鎴炵懀娴滄粓鐓崶銊﹀鞍妞ゃ儻绱曠槐鎺旂磼濡櫣浠哥紓浣虹帛閻╊垶寮幇鏉垮窛妞ゆ梻铏庡Σ娲⒒娴e憡鍟為柟姝屽吹閹广垽宕橀浣镐壕闂傚牊绋忛崑銏⑩偓瑙勬磸閸旀垵顕i崼鏇炵闁绘﹢娼ч獮鈧梻鍌氬€烽懗鑸电仚闂佸搫鐗滈崜娑氱磽閹炬番鍋呴柛鎰╁妿閿涙盯姊虹憴鍕妞ゆ泦鍛焼闁告劦鍠楅崑锝夋煙椤撶喎绗掑┑鈩冨閵囧嫰鏁傜拠鍙夌亪闁剧粯鐗犻弻锝咁潨閳ь剙岣胯缁傛帡鏁傞悾宀€鐦堥梺閫炲苯澧寸€规洜鍏橀、姗€鎮╅悽鍨婵犵數濮伴崹濂稿春閺嶎厼绀夐柡宥庡幖绾惧鏌曟繛鐐珕闁绘挸绻愰埞鎴︽倷閼碱兛铏庨梺閫炲苯澧い銊ワ躬楠炲﹤鈹戠€n亞鐣惧銈庡厴閳ь剙纾粔娲煙椤旇娅嗙紒妤冨枛椤㈡稑顫濋鐔哥槣缂傚倸鍊搁崐鎼佸磹閸濄儳鐭撻悗闈涙憸閻捇鏌i悢绋款棆闁哄棴闄勯妵鍕冀椤愵澀绮跺Δ鐘靛亼閸ㄤ粙寮婚敓鐘茬倞闁宠桨绲块妷鈺傜厵闁惧浚鍋嗙粻鐐存叏婵犲啯銇濋柟顔界矒閸╋繝宕掑☉姘稐闂傚倷绀侀幗婊勬叏閻㈠憡鍤屽Δ锝呭暙閻撴繈鏌熼幑鎰靛殭缂佺媴缍侀弻銊╁即濡も偓娴滈箖寮堕埡鍌滅疄婵﹨娅g划娆撳箰鎼淬垺瀚抽梻浣告啞閸ㄥ綊骞婇幘璺哄疾闂備線娼ч悧鍡浰囨导瀛樺亗婵炴垯鍨洪悡鏇熴亜閹板墎鎮肩紒鐘劜娣囧﹪鎳犻鈧崢瀛樻叏婵犲偆鐓奸柛鈹惧亾濡炪倖宸婚崑鎾搭殰椤忓啫宓嗙€规洜鍘ч埞鎴﹀醇閵壯冪闂傚倸鍊风粈渚€骞夐敓鐘茬婵☆垵銆€閺嬫牠鏌¢崶鈺佇ラ柣顓炴椤潡鎳滈棃娑橆潔闂佺ǹ顑戠紞渚€寮诲☉銏犖ㄩ柟瀛樼箓閺嗙偞绂嶅☉銏$厽閹兼番鍩勯崯蹇涙煕閻樺啿鍝虹€规洘顨呰灒濞撴凹鍨板▓銊ヮ渻閵堝棙纾甸柛瀣尰椤ㄣ儵鎮欓崣澶樻!闂佹寧绋掗崝鏍箯閸涘瓨鎯為柛锔诲幖鐢劎绱撻崒姘偓鎼佸磹妞嬪孩顐介柨鐔哄Т閸ㄥ倻鈧娲栧ú銈夊垂濠靛洢浜滈柡宥庡亜娴犳粓鏌涢妸銉モ偓鍦崲濠靛洨绡€闁稿本鍑规导鈧俊鐐€愰弲鐘诲绩闁秴桅闁告洦鍨扮粻鎶芥煙閹碱厼鐏犲┑顔界〒缁辨挻鎷呴悷鏉款潔濡炪倧绲块…锟�688cp688@163.com

闂傚倸鍊搁崐鐑芥嚄閸洖纾块柣銏⑶归悿鐐節闂堟稒宸濆ù鐘冲哺濮婄粯鎷呴崨濠傛殘濡炪倕绻戦幃鍌氱暦閸洖惟闁靛繆鈧磭妲梻鍌氬€风粈渚€骞夐敓鐘冲剮妞ゆ牜鍋涚壕璇测攽閻樺弶鎼愰柛姘秺閺屻劑鎮ら崒娑橆伓
闂傚倸鍊搁崐鐑芥嚄閸洖纾块柣銏⑶归悿鐐節闂堟稒宸濆ù鐘冲哺濮婄粯鎷呴崨濠傛殘濡炪倕绻戦幃鍌氱暦閸洖惟闁靛繆鈧磭妲梻鍌氬€风粈渚€骞夐敓鐘冲剮妞ゆ牜鍋涚壕璇测攽閻樺弶鎼愰柛姘秺閺屻劑鎮ら崒娑橆伓: