Імпорт перекладів

Ігри та інтернаціоналізація

Ігрова спільнота не є одномовною чи монокультурною. Вона складається з багатьох різних мов і культур – як і спільнота Godot! Якщо ви хочете дозволити гравцям насолоджуватися грою їхньою мовою, однією з речей, які вам потрібно буде надати, є переклад тексту, який Godot підтримує через інтернаціоналізований текст.

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

Існує два підходи до створення багатомовних мовних ігор та програм. Обидва базуються на системі ключ:значення. Перший полягає у використанні однієї з мов як ключової (зазвичай англійська), а другий - у використанні конкретного ідентифікатора. Перший підхід, ймовірно, простіший для розробки, якщо гра виходить спочатку англійською, а пізніше іншими мовами, але стає повним кошмаром, якщо спробувати працювати з багатьма мовами одночасно.

Загалом, ігри використовують другий підхід і для кожного рядка використовується унікальний ідентифікатор. Це дозволяє переглянути текст під час його перекладу на інші мови. Унікальний ідентифікатор може бути числом, рядком, або рядком з числом (все одно це просто унікальний рядок).

Примітка

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

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

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

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

Ключі

<мова1>

<мова2>

<моваN>

КЛЮЧ1

текст

текст

текст

КЛЮЧ2

текст

текст

текст

КЛЮЧN

текст

текст

текст

Теги «lang» мають представляти мову, яка має бути однією з дійсних локалей, підтримуваних механізмом, або вони мають починатися з підкреслення (_), що означає, що відповідний стовпець є служить як коментар і не буде імпортовано. Теги "KEY" мають бути унікальними та універсально представляти рядок (зазвичай вони написані у верхньому регістрі, щоб відрізнити їх від інших рядків). Ці ключі буде замінено під час виконання на відповідний перекладений рядок. Зауважте, що регістр важливий, «KEY1» і «Key1» будуть різними ключами. Верхня ліва комірка ігнорується, її можна залишити порожньою або мати будь-який вміст. Ось приклад:

Ключі

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.webp

Не забудьте натиснути Reimport (Переімпортувати) після будь-яких змін цих параметрів.