偽在地化
前言
在開發遊戲時,本地化流程通常會在開發完成後才開始。這意味著在開發階段無法取得翻譯來測試專案是否正確支援國際化。
Godot 提供偽在地化功能,讓你可以測試專案在地區設定變更時的穩定性。偽在地化會模擬本地化過程中可能發生的變化,因此能在開發早期即發現國際化相關問題。
也參考
你可以透過 偽本地化示範專案 來實際體驗偽本地化的運作方式。
啟用與設定偽在地化
啟用偽本地化及相關設定非常簡單,只需在專案設定中勾選選項即可。在專案設定對話框開啟 進階 選項後,這些設定位於 專案 → 專案設定 → 一般 → 國際化 → 偽本地化:
你也可以在執行時透過腳本 切換偽本地化。
偽在地化設定選項
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()