伪本地化

前言

建立游戏时,本地化过程通常在开发完成后开始。这意味着在开发过程中无法使用翻译来测试项目是否正确国际化。

Godot提供伪本地化作为测试项目在区域设定变更时的稳健性的一种方法。伪本地化模拟本地化期间可能发生的变化。这样,任何有关国际化的问题都可以在开发过程的早期就被辨识出来。

参见

You can see how pseudolocalization works in action using the Pseudolocalizaton demo project.

伪本地化的启用和配置

启用伪本地化及其相关配置就像在项目设定中切换复选框一样简单。在项目设定对话方块中启用**进阶**切换后,可以在**项目→项目设定→常规→国际化→伪本地化**中找到这些设定:

../../_images/pseudolocalization_settings.webp

伪本地化也可以是 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_accentsdouble_vowels 属性,然后调用 reload_pseudolocalization() 以反映更改:

  1. ProjectSettings.set_setting("internationalization/pseudolocalization/replace_with_accents", true)
  2. ProjectSettings.set_setting("internationalization/pseudolocalization/double_vowels", true)
  3. TranslationServer.reload_pseudolocalization()