模组:翻譯模組
跳至導覽
跳至搜尋
← 目錄
基於 SMAPI 的模組可以被翻譯為遊戲支持的任何語言。使用模組時,它們將自動套用為與遊戲設置相同的語言,如果缺少相應語言的翻譯,遊戲會使用模組的默認文本。本頁主要說明了如何提供或請求翻譯。
對於翻譯者
翻譯是如何工作的
如果某個模組支持翻譯,那麼在它的根目錄中會有一個 i18n 文件夾,包含了翻譯文件,您可以在文本編輯器中(如記事本等)打開這些文件。通常情況下,該文件夾內會有一個名為 default.json 的文件(內含默認的英文文本),有時也會包含下面的部分或全部文件:
語言 | 文件名 |
---|---|
中文 | zh.json |
德語 | de.json |
西班牙語 | es.json |
法語 | fr.json |
意大利語 | it.json |
日語 | ja.json |
韓語 | ko.json |
匈牙利語 | hu.json |
葡萄牙語 | pt.json |
俄語 | ru.json |
土耳其語 | tr.json |
Custom | file name matches the language's LanguageCode field |
每個文件包含的文本如下所示:
{
"translation-key": "简单的可翻译文本",
"translation-key-2": "包含一个 {{token}} 令牌的可翻译文本"
}
第一部分 (在 :
之前的部分) 是翻譯的唯一鍵。這是模組識別翻譯的方式,因此請不要更改它。
第二部分 (在 :
之後的部分) 是翻譯文本。有時會包含一些令牌,像這樣:{{token}}
,模組在運行時將用不同的文本替換,所以不要修改單詞左右兩邊的 {{
以及 }}
。例如:"You have {{count}} gold"
, 玩家實際上在遊戲中會看到類似於 You have 500 gold
的文本。
如何翻譯模組
- 正常安裝模組。
- 打開它的 i18n 文件夾(如果你需要的語言文件尚不存在,只需複製 default.json 文件並將它重命名為你需要的語言)。
- 編輯所需要的翻譯文本 (參閱上方的 翻譯是如何工作的)。
- 啟動遊戲並選擇你的語言,模組現在應該顯示為你翻譯後的相應語言。
- 將編輯後的文件發送給模組作者,以便他們可以將其添加到正式版本中。
提示:
- 如果在遊戲中看到亂碼,請嘗試使用 UTF-8 編碼保存翻譯文件。
- 可以在不重新啟動遊戲的情況下測試遊戲中的翻譯更改。在 SMAPI 控制台中輸入
reload_i18n
然後按下回車來重新加載所有翻譯(如果模組內部緩存了翻譯,則可能無法更新)。
如何提供模組翻譯
你可以隨時提供翻譯。別有壓力,無論做出了多少貢獻,我們都會非常感謝你的工作!
這是標準流程:
- 在 GitHub 上創建一個賬戶。
- 查看未完成的翻譯請求。如果僅查看你需要的語言,點擊「標籤 Label」下拉菜單並為其選擇
needs:相应语言
標籤便可。 - 單擊一個請求以查看詳細信息(包括模組的功能,在何處下載以及需要什麼翻譯)。
- 安裝模組並參閱上一章節進行翻譯。
- 複製你翻譯好的文本,然後將其粘貼到 GitHub 請求的注釋中。(如果你很熟悉 GitHub 的操作,也可以在模組作者的倉庫中創建拉取請求。)
就是這樣!模組的作者會將你的翻譯添加到模組中,並會在下個版本的模組中添加你翻譯的語言。
提示:
- 如果一個模組有很多內容需要翻譯,可以只翻譯其中的一小部分。以後也許會有其他人翻譯剩下的內容。
對於模組開發者
使用翻譯
有關使用翻譯的幫助,請參閱 模組:製作指南/APIs/Translation
請求翻譯
- 在開始前:
- 你的模組必須在一個公開的開源平台上,例如 GitHub。
這對其他人查看請求列表非常重要,可以讓他們:(a) 檢查模組翻譯的當前狀態,以使其保持最新進度;(b) 必要時回答譯者的問題;(c) 如果你長時間未回複議題且議題被關閉,其他人可以創建拉取請求來提交翻譯。 - 如果你有部分翻譯,請將所有缺少的翻譯複製到所有翻譯文件中,並標記為
// TODO
。(這樣,翻譯人員只需查看指定語言的文件,而無需將其與 default.json 比較) - 確保你會及時查看請求,並且有時間回復問題!如果你在 72 小時內未處理問題,你的請求將被關閉。
- default.json 文件必須是英文的。如果你主要使用的語言不是英語,並且在將模組翻譯為英語時需要幫助,我們可以幫你!只要選擇
needs: English copyediting
作為標籤即可。
- 你的模組必須在一個公開的開源平台上,例如 GitHub。
- 添加以下信息來創建請求:
字段 輸入的內容 標題 需要要翻譯的模組名稱和版本。 標籤 選擇 'needs:' 所需翻譯的標籤(不要添加「完成」標籤,該標籤僅用於已完成的請求)。 描述 提供以下信息: - 模組的簡要摘要,並附上模組主頁的鏈接。
- 開源代碼的鏈接。
- 如果你需要翻譯尚未發布的版本,請附上下載該版本模組的鏈接(可以將其直接附在請求上)。
- 如有需要,請說明顯示文本的位置,或附上屏幕截圖等。
這裡有一個請求示例以供參考
- 及時檢查你的通知,這樣在有人提交翻譯或是提出問題時才能收到提醒!