伪本地化
前言
建立游戏时,本地化过程通常在开发完成后开始。这意味着在开发过程中无法使用翻译来测试项目是否正确国际化。
Godot提供伪本地化作为测试项目在区域设定变更时的稳健性的一种方法。伪本地化模拟本地化期间可能发生的变化。这样,任何有关国际化的问题都可以在开发过程的早期就被辨识出来。
参见
You can see how pseudolocalization works in action using the Pseudolocalizaton demo project.
伪本地化的启用和配置
启用伪本地化及其相关配置就像在项目设定中切换复选框一样简单。在项目设定对话方块中启用**进阶**切换后,可以在**项目→项目设定→常规→国际化→伪本地化**中找到这些设定:
伪本地化也可以是 toggled at runtime from a script。
伪本地化配置
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”。这对于识别需要更多参数才能正确显示格式化字串的位置很有用。
All of these properties can be toggled as needed according to the project’s use case.
运行时配置伪本地化
可以在运行时使用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()