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 також підтримує завантаження перекладів, написаних у форматі .po. Докладніше дивіться Локалізація за допомогою gettext.

Формат перекладу

Щоб забезпечити ефективну підтримку перекладів, у Godot є спеціальний імпортер, який може читати файли CSV. Більшість редакторів електронних таблиць можуть експортувати в цей формат, тому єдиною вимогою є те, щоб файли мали спеціальне розташування. Файли CSV повинні зберігатися з кодуванням UTF-8 без позначки порядку байтів.

Файли CSV повинні бути відформатовані таким чином:

Ключі

<мова1>

<мова2>

<моваN>

КЛЮЧ1

текст

текст

текст

КЛЮЧ2

текст

текст

текст

КЛЮЧN

текст

текст

текст

Теги "мова" повинні представляти мову, яка повинна бути одним з дійсних локалів, підтримуваних движком. Теги "КЛЮЧ" повинні бути унікальними і представляти собою всі тексти (вони зазвичай пишуться великими літерами, щоб відрізнятись від інших рядків). Ці ключі будуть замінені під час виконання відповідним перекладеним рядком. Зауважте, що "КЛЮЧ1" і "Kлюч1" будуть різними ключами. Верхня ліва комірка ігнорується і її можна залишити порожньою, або дати будь-який вміст. Ось приклад:

Ключі

en

es

ja

ПРИВІТАТИ

Привіт, друже!

Привіт, аміго!

Добрий день

ЗАПИТАТИ

Як ти?

Як справи?

Як справи

ПРОЩАННЯ

Прощавай

Адіос

до побачення

ЦИТАТА

"Привіт", - сказав чоловік.

«Привіт», — сказав чоловік.

«Привіт», — сказав чоловік

Той самий зразок наведено нижче, як звичайний текстовий файл, розділений комами, який повинен бути результатом редагування вищевказаної таблиці. Редагуючи звичайну текстову версію, обов'язково огортайте подвійними лапками будь-яке повідомлення, що містить коми, розриви рядків, або подвійні лапки, щоб коми не розбиралися як роздільники, розриви рядків не створювали нових записів, а подвійні лапки не розглядалися, як огортаючі символи. Не забудьте загорнути подвійні лапки, які може містити повідомлення, ще однією парою подвійних лапок. Також, ви можете вибрати інший роздільник, замість кома, у параметрах імпорту.

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 (Переімпортувати) після будь-яких змін цих параметрів.