前往
大廳
主題

M&B2|MOD自行漢化或其他漢化相關說明

Longmen365 | 2023-05-11 10:19:34 | 巴幣 0 | 人氣 425

Q1. 如何自行漢化
Q2. 繁體中文遊戲如何使用簡體中文漢化


前言:
  若只是要在地化自己一個人用,我想應該是不會有人會管那麼多,但如果要推廣或分享給別人,就先問問模組作者再進行。另外本人並非專精這類程式語法編寫,只能分享個人嘗試摸索後的心得,如有錯誤還請不吝提出更正。

A1.
  凡能在地化的MOD,一般會在模組安裝路徑內找到Languages資料夾,比如說以steam版為例,我們可以在安裝騎砍2的地方找到該資料夾:

..\SteamLibrary\steamapps\common\Mount & Blade II Bannerlord\Modules\MOD模組\ModuleData\Languages

  進入Languages資料夾後,通常我們會找到模組預設語言的設定檔,比如說:sta_strings.xml,一般來說,大部分模組的功能、描述、對白,都可以在這個文件內設定,有些內容龐大的事件模組則會有多個相關的xml檔案,而大抵來說,如果是單一作者,一般會適當地將所有內容連動到Languages內的所有語言文件,但凡經過多人更新或體量繁雜的,我們就會發現連動並不理想,於是就需要探索其他地方的文件內容進行漢化,但這就比較複雜了,在此暫且不提。

  sta_strings.xml檔案可以用筆記本打開,打開後我們先另存個新檔如TC_sta_strings.xml,之後進入內容編輯:
---
  <tags>
    <tag language="English"/>
  </tags>
---
可以改成
---
<tags>
    <tag language="繁體中文"/>
</tags>
---
  不過基本上沒有改也都讀得到,主要是導引遊戲去讀這些檔的地方要改,後面再提。接著我們就可以針對內容來進行中文化,一般來說要中文化的內容都會是 text="abcdefghijklmnopqrstuvwxyz" 中 " "內的文字:
---
    <string id="EX" text="I have a plan..."/>
---
中文編輯
---
<string id="EX" text="我有個計劃..."/>
---
  實作上,我們只要逐步搜尋TEXT然後依序將所有" "內的文字改成中文即可,至於內容量多或少就視模組而定。

  當我們將內容都中文化後儲存,此時在Languages資料夾中就會有原本的文件sta_strings.xml與中文化後的文件TC_sta_strings.xml,接著我們就必須設定一個language_data.xml檔案來導引遊戲去讀中文化後的檔案。這部分我們在Q2的回答部分一起提。



A2
  我們在使用其他熱心網友漢化文件時,會發現大部分都是簡體中文,這時候如果我們的遊戲是繁體中文,通常是讀不到這些漢化檔的,主要關鍵就是上述提到language_data.xml檔案設定的問題,若要在繁體遊戲下讀取簡體中文的漢化,則我們必須打開language_data.xml編輯,將其中LanguageData的部分設定為繁體中文,一般有兩種狀況:

---1
<LanguageData id="简体中文">
  <LanguageFile xml_path="中文化檔案路徑" />
---1
修改為
---1e
<LanguageData id="繁體中文">
  <LanguageFile xml_path="中文化檔案路徑" />
---1e
或者遇到這種:
---2
<LanguageData id="简体中文" name="简体中文" 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這部分的內容修改為繁體中文相關內容後,我們就能以繁體中文遊戲去載入這些熱心網友漢化的簡體版本。

  而如果我們是自行漢化一些MOD內容,則也必須要自行設定這個language_data.xml檔案,我們將設定方法說明如下:

1. 在Languages資料夾中新增一個資料夾如TC
2. 將我們剛剛中文化的文件如:TC_sta_strings.xml放入TC資料夾內。
3. 引用或新增一個language_data.xml檔案或自行編寫內容如下:(重點是中文化檔案路徑LanguageFile xml_path要設定正確
---
<?xml version="1.0" encoding="utf-8"?>
<LanguageData id="繁體中文">
  <LanguageFile xml_path="TC/
TC_sta_strings.xml" />
</LanguageData>
---
4. 將language_data.xml放入TC資料夾中

  一般來說只要做完上述動作後,就可以套用我們自行中文化的內容,大部分都可正常運作,筆者自行摸索十數個MOD漢化過程中只有Autotrader這個模組無法順利完成,只能使用其預設的簡體中文漢化,推測應該是模組內有一些允許在地化的機制設定吧,可能模組內其實還能設定相關在地化開放或有所限制的樣子。



  大致上就是這樣,至於那種比較複雜的內容,大抵上就是點開MOD內的內容一個一個找查,尋找看看哪些內容是沒有連動到Languages資料夾內的文件,在針對那些內容內的text = "abcde"的部分一個一個修改,這種通常都很雜,就不再多提,有心的話可以在自己摸索一番。

  以上,個人摸索心得,僅供參考。

創作回應

荒耶一葦
Autotrader現在按照你的步驟可以順利中文化了, 感謝分享
2024-03-08 16:32:39
Longmen365
太久沒玩了,我突然看不懂當時自己在寫甚麼..,你能看懂也是辛苦了! XD
2024-03-08 16:36:11

相關創作

更多創作