Q1. 如何自行漢化
Q2. 繁體中文遊戲如何使用簡(jiǎn)體中文漢化
前言:
若只是要在地化自己一個(gè)人用,我想應(yīng)該是不會(huì)有人會(huì)管那麼多,但如果要推廣或分享給別人,就先問(wèn)問(wèn)模組作者再進(jìn)行。另外本人並非專精這類程式語(yǔ)法編寫(xiě),只能分享個(gè)人嘗試摸索後的心得,如有錯(cuò)誤還請(qǐng)不吝提出更正。
A1.
凡能在地化的MOD,一般會(huì)在模組安裝路徑內(nèi)找到Languages資料夾,比如說(shuō)以steam版為例,我們可以在安裝騎砍2的地方找到該資料夾:
..\SteamLibrary\steamapps\common\Mount & Blade II Bannerlord\Modules\MOD模組\ModuleData\Languages
進(jìn)入Languages資料夾後,通常我們會(huì)找到模組預(yù)設(shè)語(yǔ)言的設(shè)定檔,比如說(shuō):sta_strings.xml,一般來(lái)說(shuō),大部分模組的功能、描述、對(duì)白,都可以在這個(gè)文件內(nèi)設(shè)定,有些內(nèi)容龐大的事件模組則會(huì)有多個(gè)相關(guān)的xml檔案,而大抵來(lái)說(shuō),如果是單一作者,一般會(huì)適當(dāng)?shù)貙⑺袃?nèi)容連動(dòng)到Languages內(nèi)的所有語(yǔ)言文件,但凡經(jīng)過(guò)多人更新或體量繁雜的,我們就會(huì)發(fā)現(xiàn)連動(dòng)並不理想,於是就需要探索其他地方的文件內(nèi)容進(jìn)行漢化,但這就比較複雜了,在此暫且不提。
sta_strings.xml檔案可以用筆記本打開(kāi),打開(kāi)後我們先另存?zhèn)€新檔如TC_sta_strings.xml,之後進(jìn)入內(nèi)容編輯:
---<tags>
<tag language="English"/>
</tags>---可以改成---<tags>
<tag language="繁體中文"/>
</tags>---
不過(guò)基本上沒(méi)有改也都讀得到,主要是導(dǎo)引遊戲去讀這些檔的地方要改,後面再提。接著我們就可以針對(duì)內(nèi)容來(lái)進(jìn)行中文化,一般來(lái)說(shuō)要中文化的內(nèi)容都會(huì)是 text="abcdefghijklmnopqrstuvwxyz" 中 " "內(nèi)的文字:
---<string id="EX" text="I have a plan..."/>---中文編輯---<string id="EX" text="我有個(gè)計(jì)劃..."/>---
實(shí)作上,我們只要逐步搜尋TEXT然後依序?qū)⑺?quot; "內(nèi)的文字改成中文即可,至於內(nèi)容量多或少就視模組而定。
當(dāng)我們將內(nèi)容都中文化後儲(chǔ)存,此時(shí)在Languages資料夾中就會(huì)有原本的文件sta_strings.xml與中文化後的文件TC_sta_strings.xml,接著我們就必須設(shè)定一個(gè)language_data.xml檔案來(lái)導(dǎo)引遊戲去讀中文化後的檔案。這部分我們?cè)赒2的回答部分一起提。
A2
我們?cè)谑褂闷渌麩嵝木W(wǎng)友漢化文件時(shí),會(huì)發(fā)現(xiàn)大部分都是簡(jiǎn)體中文,這時(shí)候如果我們的遊戲是繁體中文,通常是讀不到這些漢化檔的,主要關(guān)鍵就是上述提到language_data.xml檔案設(shè)定的問(wèn)題,若要在繁體遊戲下讀取簡(jiǎn)體中文的漢化,則我們必須打開(kāi)language_data.xml編輯,將其中LanguageData的部分設(shè)定為繁體中文,一般有兩種狀況:
---1<LanguageData id="簡(jiǎn)體中文">
<LanguageFile xml_path="中文化檔案路徑" />---1修改為---1e<LanguageData id="繁體中文">
<LanguageFile xml_path="中文化檔案路徑" />---1e或者遇到這種:---2<LanguageData id="簡(jiǎn)體中文" name="簡(jiǎn)體中文" subtitle_extension="zh-HANS" supported_iso="zh-HANS,zh,zho,chi,zh-tw,zh-sg,zh-hk" under_development="false">
<LanguageFile xml_path="中文化檔案路徑" />---2修改為---2e<LanguageData id="繁體中文" name="繁體中文" subtitle_extension="zh-HANT" supported_iso="zh-HANT,zh-tw,zh-hk" under_development="false">
<LanguageFile xml_path="中文化檔案路徑" />---2e
正常狀況下,只要修改LanguageData id這部分的內(nèi)容修改為繁體中文相關(guān)內(nèi)容後,我們就能以繁體中文遊戲去載入這些熱心網(wǎng)友漢化的簡(jiǎn)體版本。
而如果我們是自行漢化一些MOD內(nèi)容,則也必須要自行設(shè)定這個(gè)language_data.xml檔案,我們將設(shè)定方法說(shuō)明如下:
1. 在Languages資料夾中新增一個(gè)資料夾如TC2. 將我們剛剛中文化的文件如:TC_sta_strings.xml放入TC資料夾內(nèi)。3. 引用或新增一個(gè)language_data.xml檔案或自行編寫(xiě)內(nèi)容如下:(重點(diǎn)是中文化檔案路徑LanguageFile xml_path要設(shè)定正確)---<?xml version="1.0" encoding="utf-8"?>
<LanguageData id="繁體中文">
<LanguageFile xml_path="TC/TC_sta_strings.xml" />
</LanguageData>---4. 將language_data.xml放入TC資料夾中
一般來(lái)說(shuō)只要做完上述動(dòng)作後,就可以套用我們自行中文化的內(nèi)容,大部分都可正常運(yùn)作,筆者自行摸索十?dāng)?shù)個(gè)MOD漢化過(guò)程中只有Autotrader這個(gè)模組無(wú)法順利完成,只能使用其預(yù)設(shè)的簡(jiǎn)體中文漢化,推測(cè)應(yīng)該是模組內(nèi)有一些允許在地化的機(jī)制設(shè)定吧,可能模組內(nèi)其實(shí)還能設(shè)定相關(guān)在地化開(kāi)放或有所限制的樣子。
大致上就是這樣,至於那種比較複雜的內(nèi)容,大抵上就是點(diǎn)開(kāi)MOD內(nèi)的內(nèi)容一個(gè)一個(gè)找查,尋找看看哪些內(nèi)容是沒(méi)有連動(dòng)到Languages資料夾內(nèi)的文件,在針對(duì)那些內(nèi)容內(nèi)的text = "abcde"的部分一個(gè)一個(gè)修改,這種通常都很雜,就不再多提,有心的話可以在自己摸索一番。
以上,個(gè)人摸索心得,僅供參考。