Overview
這是一篇將 Kenshi 的文件翻譯成中文的指南
感謝與參考資料
首先要感謝 AquariusBlack 的協助和討論,AquariusBlack 更是提供了簡體中文已經翻譯好的檔案作為參照。
[link]
參考
- Guide to Translations – [link]
pot 更新庫
翻譯前,先清除相關的檔案,避免 pot 合併錯誤,包括
- __translations/
- locale/zh_TW/
開啟遊戲,進入編輯模式(Launch Game Editor)
- 到 Translation mode 區塊,勾選 Enable,選擇 New Translation,選擇繁體中文,點擊 DONE
- 這時候會進入 FCS,點擊選單的 Translations,勾選 Export dialogue,點擊 Export
這時候檔案就會產生在 __translations/zh_TW/ 底下,包括
- gamedata.pot
- dialogue/ – 包括近千個 pot 檔案
這時候再把遊戲目錄的 locale/en_GB/LC_MESSAGES/main.pot 也拷貝出來
- locale/en_GB/LC_MESSAGES/main.pot
這樣子更新翻譯所需要的檔案就已經完成了
- __translations/zh_TW/gamedata.pot
- __translations/zh_TW/dialogue/ – 包括近千個 pot 檔案
- locale/en_GB/LC_MESSAGES/main.pot
po 翻譯庫
如果是完全沒翻譯過的檔案,可以直接把 .pot 改成 .po,如果是有翻譯的,就需要合併
- msgmerge -U old.po new.pot
new.pot 是從 __translation/ 裡面新產生的檔案, old.po 是翻譯好的,這時要把 new.pot 新增的翻譯項目合併,產生為 new.po 後,再覆蓋回 old.po
因為合併需要對所有的 pot+po,所以建議使用程序來更新
翻譯完成後
- gamedata.po
- dialogue/ – 包括近千個 po 檔案
- LC_MESSAGES/main.po
接下來需要 Forgotten Construction Set(FCS) 來把檔案匯入,將
- gamedata.po
- dialogue/ – 包括近千個 po 檔案
拷貝回遊戲的 __translation/zh_TW/,使用 Translations 的 Import 將翻譯匯入,會利用 gamedata.po 和 dialogue/ 下的所有 po 檔案,更新 __translation/zh_TW/zh_TW.translation
發布
將 __translation/zh_TW/zh_TW.translation 拷貝到發布目錄
main.pot 需要用指令轉為 main.mo
- msgfmt LC_MESSAGES/main.po -o LC_MESSAGES/main.mo
這時候還有一些檔案是不在 pot 翻譯範圍的,像是小秘訣(tips.txt)
而中文字體也會需要額外加入,檔案要放在 gui/fonts/ 並且編輯該目錄下的 kenshi_fonts.xml
工作坊發布需要遊戲工具協助,而 Kenshi 的功能也是做在 FCS 裡面
開啟遊戲,進入編輯模式(Launch Game Editor)
- 點擊 New mod,輸入名稱,點擊目錄,將上述的檔案結構拷貝到該 mod 目錄下
- 點擊發布取得工作坊編號,這時候就發布完成了
發布目錄規範
到 mods/ 的目錄結構,放這邊可以和 FCS 上傳共用,一般都是放在這
- mod/locale/zh_TW/zh_TW.translation
- mod/locale/zh_TW/LC_MESSAGES/main.mo
- mod/tips.txt
- mod/gui/fonts/kenshi_fonts.xml
- mod/gui/fonts/SourceHanSansTC-Medium.otf
SourceHanSansTC-Medium.otf 為思源黑體 2.0 [link]
程式自動化
建立 po 目錄當作工作目錄: merge.php
- msgmerge po/locale/zhTW/LC_MESSAGES/main.po locale/en_GB/LC_MESSAGES/main.pot
- msgmerge po/locale/zhTW/gamedata.po __translation/zh_TW/gamedata.pot
- loop: msgmerge po/locale/zhTW/dialogue/ __translation/zh_TW/dialogue/
建立 mod 目錄當作發布目錄: release.php
- msgfmt po/locale/zh_TW/LC_MESSAGES/main.po -o mod/locale/zh_TW/LC_MESSAGES/main.mo
- cp __translation/zh_TW/zh_TW.translation mod/locale/zh_TW/zh_TW.translation
- cp po/*.txt mod/
- cp -r gui/ mod/
Github: [link]