這篇文章的定位有點困難,大約是針對有點re能力,看過些教程,又沒有實際搞過漢化的人。
裡面沒啥技術性的東西,都是些小經驗。
1)哪些部分要漢化
大約有4個部分,人名、文字、選擇項和章節名。各個遊戲不同,並不一定都有。人名和文字比較顯而易見,選擇項一般來說不會出現在序章中,有時會被忽略(而且選擇這邊很容易出問題,所以第一次至少要測試到第乙個選擇之後)。章節名一般在存檔的時候出現。
什麼不需要漢化的:名、音效名、背景**名,cv名,動畫名、指令碼名,效果名等等。不過也不絕對,自行觀察。
2)程式部分的修改
程式部分主要改3個地方,createfont的charset,sjis的邊界檢查,如函式(isdbcs),enumfontfamilies的charset。
還有就是改系統選單,對話方塊等,一般來說到資源裡面去改,用resscope即可。
3)文字匯出的格式
我還是推薦agemo格式,配合agemoeditor使用。藍山魔導之類的軟體可以用來做測試版本,不要用來做整個遊戲的漢化。
這裡講點編碼的事情,首先要搞清楚unicode和ansi的區別,api後面w和a的區別。
把sjis轉成gb可以使用碼表,也可以使用api函式(multibytetowidechar, widechartomultibyte)。用api的話有個麻煩就是發生問題察覺不到,比如1byte的a5,日文環境中是·,但是轉成unicode再轉gb,最後肯定變成?。還有就是unicode包容sjis,但是gb並不包容sjis,比如♪ (音符)。轉到gb後就沒了。
如果是pc平台,源程式又不是使用unicode,那麼還是轉成gb吧,那些gb中不存在的編碼翻譯看到會刪除掉。如果提供給翻譯的是unicode,那麼這些符號還是會儲存下來,再轉成gb匯入之後,就等著看??吧。
如果不是pc平台,或者是需要製作字型檔的情況,那還不如用unicode。
最後就是要善於使用比較軟體,beyondecompare可以比較sjis-gb,unicode-gb,非常厲害。
4)程式設計方面
注意unsigned和signed的區別。
char ch = 0xff;
printf("%d", ch == 0xff);
上面是老**了,不過一直會和這些東西打交道,所以要注意。
5)關於封包
如果包本來不大,而且裡面的東西基本上都改動了,比如指令碼檔案,那麼就把各個檔案打成包直接給出好了。但如果包很大,而修改的只是少數,比如,這個時候就要有些考慮。如果修改之後的圖比原來的小,那麼原位塞入。如果比原來的圖大,那麼就放到檔案最後,原來的空間就放在那裡不要動。看似是浪費了原來的空間,但保持了這個包大多數地方沒有變化,最後用patch軟體比較原始包和修正後的包就可以生成補丁程式了。
漢化英文遊戲有什麼意義
現在中國普及英文教育.10個年輕人中最多說有1個完全不懂英文.而且現在英語過4級的多了去了.誰看不懂歐美遊戲那麼簡單的英文.日文中國普及了?日本不乏n多精良遊戲.中國100個人中有1個會點日文就了不起了.要漢化就漢化日文的阿.或者說是為了迎合1 10的英文盲?同志 你玩玩fo3試試看好了 過4級的人...
吐槽 漢化文字計算方法
今天 我看見 向日葵 天空鵝卵石 開坑了 大大 問了乙個問題 吐槽 為什麼acg漢化組手裡啥遊戲都有10mb文字,acg漢化組最好能公布一下他們的計算方法。公布以後acg組絕對能統治漢化界。我也該回家種田了 我就說一下我計算方式 文字大體分兩種 一種 比較純的,遊魂 就是屬於這種型別 以下為此指令碼...
吐槽 漢化文字計算方法
今天 我看見 向日葵 天空鵝卵石 開坑了 大大 問了乙個問題 吐槽 為什麼acg漢化組手裡啥遊戲都有10mb文字,acg漢化組最好能公布一下他們的計算方法。公布以後acg組絕對能統治漢化界。我也該回家種田了 我就說一下我計算方式 文字大體分兩種 一種 比較純的,遊魂 就是屬於這種型別 以下為此指令碼...