Up to date
This page is up to date for Godot 4.3.
If you still find outdated information, please open an issue.
匯入翻譯
遊戲與在地化
遊戲社群不是單一語言或單一文化的。它由許多不同的語言和文化組成 - 就像戈多社區一樣!如果您想讓玩家用他們的語言體驗您的遊戲,您需要提供的其中一件事就是文字翻譯,Godot 透過國際化文字支援文字翻譯。
在傳統的桌面與行動端應用程式中,在地化文字通常存放於資源檔 (GNU 的東西則使用 .po 檔)。但,遊戲則會比應用程式用上更多的文字內容,因此,遊戲必須要使用更有效率的方法來處理大量文字內容。
要產生多語言遊戲與應用程式有兩種主要的方法。這兩種都是基於索引鍵/值配對系統的。第一種方式是使用一種語言來當作索引鍵 (通常為英文),而第二種則是使用特定的識別項。第一種方法對於先以英文版發行後才發行其他語言的遊戲來說會比較容易開發,但若用在同時開發多語言的遊戲則完全是個惡夢。
通常來說,遊戲都是用第二種方法,並為各個字串使用一個唯一的 ID。這樣一來即使正在將遊戲內容翻譯為另一個語言,也能同時修改文字。唯一 ID 可以是數字、字串或是有數字的字串 (但總之就是唯一字串就是了)。
備註
如果需要更強大的檔案格式,Godot 還支援讀取寫成 gettext .po 格式的翻譯。詳情請參考 使用 gettext 進行當地語系化 。
翻譯格式
為了有效率地解決翻譯問題,Godot 中有個特別的匯入工具,可以讀取 CSV 檔案。大多數的試算表軟體都支援匯出為 CSV 格式,只需要注意匯出設定即可。翻譯檔 CSV 必須 以無 BOM 的 UTF-8 編碼保存。
CSV 檔案必須使用如下格式:
keys |
<語言1> |
<語言2> |
<語言N> |
|---|---|---|---|
KEY1 |
字串 |
字串 |
字串 |
KEY2 |
字串 |
字串 |
字串 |
KEYN |
字串 |
字串 |
字串 |
The "lang" tags must represent a language, which must be one of the valid locales supported by the engine, or they must start with an underscore (_), which means the related column is served as comment and won't be imported. The "KEY" tags must be unique and represent a string universally (they are usually in uppercase, to differentiate from other strings). These keys will be replaced at runtime by the matching translated string. Note that the case is important, "KEY1" and "Key1" will be different keys. The top-left cell is ignored and can be left empty or having any content. Here's an example:
keys |
en |
es |
ja |
|---|---|---|---|
GREET |
Hello, friend! |
Hola, amigo! |
こんにちは |
ASK |
How are you? |
Cómo está? |
元気ですか |
BYE |
Goodbye |
Adiós |
さようなら |
QUOTE |
"Hello" said the man. |
"Hola" dijo el hombre. |
「こんにちは」男は言いました |
下方為同一個例子,但以逗號分隔純文字檔來顯示,即為以試算表編輯後的結果。編輯純文字檔版本時,請記得要以雙引號來包住有逗號、換行或雙引號的訊息,避免逗號被判斷成分隔字元、避免換行字元變成新的欄位、也避免有雙引號的訊息被另一個雙引號給截斷。或者,也可以在匯入選項中改用逗號以外的其他符號來作為分隔字元。
keys,en,es,ja
GREET,"Hello, friend!","Hola, amigo!",こんにちは
ASK,How are you?,Cómo está?,元気ですか
BYE,Goodbye,Adiós,さようなら
QUOTE,"""Hello"" said the man.","""Hola"" dijo el hombre.",「こんにちは」男は言いました
CSV 匯入工具
Godot 預設會將 CSV 檔案當作翻譯來處理。匯入工具會將 CSV 匯入並與 CSV 檔一起建立壓縮翻譯資源。
匯入時也會在遊戲執行時能載入的翻譯列表中新增一個翻譯,該列表設定於 project.godot 中 (或專案設定)。Godot 也可以執行時動態載入或移除翻譯。
選擇 .csv 檔,並在 匯入 Dock 中設定匯入選項。可以選擇是否壓縮翻譯資源,並選擇解析 CSV 檔用的分隔字元。
更改選項後請記得點擊 重新匯入 。