Додавання української як окремої мови в ігри на Unreal Engine 4–5

Ідея повноцінного додавання української мови в ігри на рушії Unreal Engine з'явилась у мене доволі спонтанно. Моя подруга захотіла перекладати гру й звернулась до мене, щоб я забезпечив технічну частину.

«Було б добре, якби українська була окремою мовою, а не просто заміняла англійську», — сказала вона.

Це стало викликом — і вже за годину мені вдалося додати українську мову як окрему опцію через зміну внутрішніх файлів рушія. Я навіть зміг винести її на перше місце в списку мов. Після цього я почав досліджувати інші ігри на Unreal Engine, вивчаючи структуру їхніх файлів та перевіряючи, чи можу додати українську мову офіційно неофіційним шляхом.

Одразу попереджу: не всі ігри дозволяють так просто додати українську як окрему мову. Деколи достатньо створити нову теку uk — і все працює. Інколи ж доводиться копирсатися в глибоких системних файлах рушія. А бувають випадки, коли це здається неможливим (думаю, можливо, просто доведеться редагувати зашифровані скрипти в .exe файлі).

З 19 протестованих ігор у 7 реалізація пройшла успішно, решта потребують складніших змін або взагалі не підтримують таку модифікацію:

https://res.cloudinary.com/kutok/image/fetch/s--qmvlARCc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_1500/https://kutok.s3.amazonaws.com/uploads/articles/xjhbadvxvvb4qrofbevu.png

У цій статті я поділюся одним із перевірених способів додавання української мови як окремої комірки в мовному меню гри — на прикладі The Thaumaturge.

Розглянемо відео детальніше. Нам потрібно змінити кожен файл .locmeta наступним чином:

.locmeta до і після


NativeCulture — код мови локалізації, який використовується за замовчуванням при першому запуску гри.
CompiledCultures — масив кодів мов локалізацій, яких гра вже містить.

Для модифікації потрібно:

  • Тека мови за замовчуванням.

  • Файл .locmeta.

  • Програма LocRes Builder для конвертації .locmeta в .json.

Змінюємо наступним чином:

https://res.cloudinary.com/kutok/image/fetch/s--XOy4F5Ri--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_1500/https://kutok.s3.amazonaws.com/uploads/articles/oob79vi4z4j0ab2v6mm1.png
  • Повертаємо "pl", до масиву CompiledCultures (local_languages).

  • У NativeCulture (main_language) прописуємо наш код uk.

  • Так як ми замінили мову за замовчуванням, перейменовуємо pl.json на uk.json (в іншому випадку новий .locmeta не згенерується).

  • Перетягуємо locmeta.json на .bat файл програми і отримуємо у теці out готовий .locmeta, який в свою чергу пакуємо в .pak.

Цей спосіб не є універсальним для всіх ігор, але він дає чітке розуміння, як працює одна з систем локалізації в Unreal Engine і як її можна обійти.

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

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Галицький Розбишака
Галицький Розбишака@hikaro

Автор та технік локалізацій

490Прочитань
0Автори
4Читачі
Підтримати
На Друкарні з 10 липня

Більше від автора

  • Mass Effect: технічна готовність до української локалізації

    Mass Effect — одна з найвідоміших RPG-серій у світі. Її епічна історія, глибокі персонажі та розгалужені гілки вибору створили цілу армію фанатів. Та попри численні спроби спільноти перекласти гру українською, жодна з них не була доведена до кінця.

    Теми цього довгочиту:

    Mass Effect

Вам також сподобається

Коментарі (2)

Вау, дуже крута стаття. Дяка

Вам також сподобається