Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
偽在地化
前言
在開發遊戲時,本地化流程通常會在開發完成後才開始。這意味著在開發階段無法取得翻譯來測試專案是否正確支援國際化。
Godot 提供偽在地化功能,讓你可以測試專案在地區設定變更時的穩定性。偽在地化會模擬本地化過程中可能發生的變化,因此能在開發早期即發現國際化相關問題。
也參考
你可以透過 偽本地化示範專案 來實際體驗偽本地化的運作方式。
啟用與設定偽在地化
Enabling pseudolocalization and the configurations related to it is as simple as toggling a checkbox in the project settings. These settings can be found in after enabling the toggle in the project settings dialog:
你也可以在執行時透過腳本 切換偽本地化。
偽在地化設定選項
Godot 的偽本地化功能可以依照專案需求進行調整。下列是可於專案設定中調整的偽本地化屬性:
replace_with_accents:將字串中的所有字元替換為有重音符號的變體。例如 "The quick brown fox jumped over the lazy dog" 會變成 "Ŧh̀é q́üíćḱ ḅŕôŵή f́ôx́ ǰüm̀ṕéd́ ôṽéŕ ŧh̀é łáźý d́ôǵ"。這可以幫助你找出未翻譯的字串(這些字串不會有重音),也能用來檢查專案所用字型是否缺少必要字元。double_vowels:將字串中的所有母音重複一次。這是模擬本地化時文字長度膨脹的常用方式,可以用來檢查文字是否會溢出元件(如按鈕)。fake_bidi:模擬雙向文字(右至左文字顯示)。這有助於在開發階段檢查支援從右至左語系(如阿拉伯文、希伯來文)時,介面是否會產生版面問題。override:用星號(*)取代字串中的所有字元。這可用來快速標示出未經本地化的文字。expansion_ratio:當僅僅重複母音還不足以模擬文字膨脹時,可用此設定。它會在字串前後填入底線(_),並依指定比率擴充字串長度。例如設定0.3會使字串長度增加 30%,一般情況下已足夠測試。prefix和suffix:可分別指定字串的前綴與後綴,用來包住文字。skip_placeholders:跳過像%s、%f這類格式化字串的佔位符。這有助於發現格式化字串缺少必要參數而導致顯示異常的地方。
以上這些屬性都可以依專案需求自由啟用或關閉。
執行時設定偽在地化
可以在執行時透過 TranslationServer 的 pseudolocalization_enabled 屬性切換偽本地化。不過,若需要在執行時調整偽本地化屬性,也可直接使用 ProjectSettings.set_setting(property, value) 進行設定,然後呼叫 TranslationServer.reload_pseudolocalization() 重新解析並載入偽本地化設定。以下程式碼片段會啟用 replace_with_accents 與 double_vowels 屬性,接著呼叫 reload_pseudolocalization() 讓變更生效:
ProjectSettings.set_setting("internationalization/pseudolocalization/replace_with_accents", true)
ProjectSettings.set_setting("internationalization/pseudolocalization/double_vowels", true)
TranslationServer.reload_pseudolocalization()