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

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

Світ переповнений різними ринками та культурами, і щоб отримати максимальний прибуток ™, сьогодні ігри випускаються на декількох мовах. Тому різномовний текст повинен підтримуватися в будь-якому сучасному ігровому движку.

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

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

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

Примітка

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

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

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

Попередження

За замовчуванням Microsoft Excel завжди буде зберігати файли CSV з кодуванням ANSI, а не UTF-8. Не існує вбудованого способу уникнути цього, але існують способи обходу, які описано тут.

Ми рекомендуємо замість цього використовувати `LibreOffice<https://www.libreoffice.org/>`__, або Google Sheets.

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

Ключі <мова1> <мова2> <моваN>
КЛЮЧ1 текст текст текст
КЛЮЧ2 текст текст текст
КЛЮЧN текст текст текст

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

Ключі en es ja
ПРИВІТАТИ Hello, friend! Hola, amigo! こんにちは
ЗАПИТАТИ How are you? Cómo está? 元気ですか
ПРОЩАННЯ Goodbye Adiós さようなら
ЦИТАТА "Hello" said the man. "Hola" 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 (Переімпортувати) після будь-яких змін цих параметрів.