Pseudolocalization (Псевдо-локализация)

Введение

При создании игры процесс локализации обычно начинается после завершения разработки. Это означает, что на этапе разработки переводы недоступны для проверки корректности интернационализации проекта.

Godot предлагает псевдолокализацию как способ проверить устойчивость проекта к изменениям языка. Псевдолокализация имитирует изменения, которые могут произойти во время локализации. Таким образом, любые проблемы, связанные с интернационализацией, можно выявить на ранних этапах разработки.

См. также

Вы можете увидеть, как псевдолокализация работает в действии, используя Pseudolocalizaton demo project.

Включение и настройка псевдолокализации

Включить псевдолокализацию и связанные с ней настройки так же просто, как установить флажок в настройках проекта. Эти настройки можно найти в разделе Project → Project Settings → General → Internationalization → Pseudolocalization, включив переключатель Advanced в диалоговом окне настроек проекта:

../../_images/pseudolocalization_settings.webp

Псевдолокализация также может быть переключается во время выполнения из скрипта.

Конфигурации псевдолокализации

Псевдолокализацию в 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. Это полезно для определения мест, где для правильного отображения отформатированной строки требуются дополнительные аргументы.

Все эти свойства можно переключать по мере необходимости в соответствии с вариантом использования проекта.

Настройка псевдолокализации во время выполнения

Псевдолокализацию можно переключать во время выполнения с помощью свойства pseudolocalization_enabled в TranslationServer. Однако, если требуется конфигурация свойств псевдолокализации во время выполнения, их можно настроить напрямую с помощью 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()