Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Импорт переводов

Игры и интернационализация

The gaming community isn't monolingual or monocultural. It's made up of many different languages and cultures - just like the Godot community! If you want to allow players to experience your game in their language, one of things you'll need to provide is text translations, which Godot supports via internationalized text.

В обычных настольных или мобильных приложениях интернационализированный текст обычно находится в файлах ресурсов (или файлах .po для материалов GNU). Однако игры могут использовать на несколько порядков больше текста, чем приложения, поэтому они должны поддерживать эффективные методы работы с большим количеством многоязычного текста.

Есть два подхода к созданию многоязычных игр и приложений. Оба основаны на системе "ключ:значение". Первый - использовать в качестве ключа один из языков (обычно английский), второй - использовать определенный идентификатор. Первый подход, вероятно, проще для разработки, если игра сначала выпускается на английском, а затем на других языках, но полный кошмар при одновременной работе со многими языками.

Как правило, в играх используется второй подход, и для каждой строки используется уникальный идентификатор. Это позволяет вам редактировать текст во время его перевода на другие языки. Уникальный идентификатор может быть числом, строкой или строкой с числом (в любом случае это просто уникальная строка).

Примечание

Если вам нужен более мощный формат файла, Godot также поддерживает загрузку переводов, написанных в формате gettext .po. Смотрите для подробностей Локализация с помощью gettext.

Translation format (формат перевода)

Чтобы завершить картину и обеспечить эффективную поддержку переводов, Godot имеет специальный импортер, который может читать файлы CSV. Большинство редакторов электронных таблиц могут экспортировать в этот формат, поэтому единственное требование - файлы должны иметь особое расположение. Файлы CSV должны сохраняться в кодировке UTF-8 `без отметки порядка байтов <https://en.wikipedia.org/wiki/Byte_order_mark> `__.

Файлы CSV должны быть отформатированы следующим образом:

ключи

<lang1>

<lang2>

<langN>

KEY1

string

string

string

KEY2

string

string

string

KEYN

string

string

string

Теги "lang" должны представлять язык, который должен быть одним из действительных локалей, поддерживаемых движком. Теги "KEY" должны быть уникальными и универсально представлять строку (обычно они пишутся в верхнем регистре, чтобы отличать их от других строк). Эти ключи будут заменены во время выполнения соответствующей переведенной строкой. Обратите внимание, что регистр важен, "KEY1" и "Key1" будут разными ключами. Левая верхняя ячейка игнорируется и может быть оставлена пустой или с любым содержимым. Вот пример:

ключи

en

es

ja

GREET

Hello, friеnd!

Hola, amigо!

こんにちは (Привет)

ASK

Как ваши дела?

Cómo está (Как дела)?

元気ですか (Как поживаешь?)

BYE

Goodbye (Прощай)

Adiós (Прощай)

さようなら

QUOTE (ЦИТАТА)

"Hellо" said the man.

"Hоla" dijo el hombre.

「こんにちは」男は言いました («Привет», — сказав человек)

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

keys,en,es,ja
GREET,"Hello, friend!","Hola, amigo!",こんにちは
ASK,How are you?,Cómo está?,元気ですか
BYE,Goodbye,Adiós,さようなら
QUOTE,"""Hello"" said the man.","""Hola"" dijo el hombre.",「こんにちは」男は言いました

Импортёр CSV

По умолчанию Godot обрабатывает файлы CSV как переводы. Он импортирует их и сгенерирует рядом с собой один или несколько сжатых файлов ресурсов перевода.

Импорт также добавит перевод в список переводов, загружаемых при запуске игры, указанный в project.godot (или в настройках проекта). Godot также позволяет загружать и удалять переводы во время выполнения.

Выберите файл ``.csv``и перейдите в панель Импорт, чтобы определить параметры импорта. Вы можете переключить сжатие импортированных переводов и выбрать разделитель, который будет использоваться при синтаксическом анализе файла CSV.

../../_images/import_csv.png

Не забудьте нажать Reimport после любого изменения этих параметров.