Як я локалізував Pillars of Eternity українською, частина 0: Готуюся


Трохи про те, як я до цього дійшов, і технічний бік справи.



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


Технічна сторона

Фанатські виправлення локалізацій Pillars of Etertity почали з’являтися вже в перші місяці після виходу гри, бо якість тих, які потрапили у реліз, виявилася нижчою, ніж очікували гравці. Мав можливість пересвідчитися. Спробував тоді пограти російською і враження ця локалізація залишила поганенькі: неоковирні з погляду стилю тексти, втрачена фонетика штучних мов у грі (про них, думаю, варто буде написати окремо), неузгодженість написання імен і багато іншого вже на першій локації. Імовірно, розробники замовляли локалізацію на кілька мов гуртом у якогось одного підрядника, бо пам’ятаю що були гілки з виправленнями щонайменше для італійської та німецької мови. Були спроби додавати виправлення від спільноти у гру, але їх було багато і з’являлися вони доволі часто. Отож, приблизно через рік після релізу разом з оновленням 3.0 Obsidian випустили офіційний «локнабір» разом з інструментом, що конвертував ресурси гри у таблицю Excel з коментарями, і дали спільноті карт-бланш на створення локалізаційних модифікацій.

Спочатку треба з’ясувати, чи можливо взагалі локалізувати гру.
Оскільки починав я задовго до оновлення 3.0, першим кроком стало колупання в ресурсах гри. Як виявилося, тексти лежать на видноті в XML-файлах *.stringtable — саме тому спільнота гравців і мала змогу почати виправляти переклади так рано.

Запис кожного рядка має доволі простий формат:
де: <Entry> — теґ-«обгортка» рядка; <ID> — номер рядка, за яким його шукає гра; <DefaultText> — ігровий текст; <FemaleText> — ігровий текст для головного персонажа жіночої статі. Використовується лише, якщо для жіночої статі рядок має різнитися (зміна дієслів і звертань за родом тощо). Є парним, як і всі інші теґи, але якщо тексту нема, має вигляд <FemaleText />.

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

Інструментарій має відповідати визначеним потребам проекту.
Отже, потрібно було зібрати певний інструментарій, що дав би змогу:

  • порівняно швидко відновлювати переклад,
  • виключити випадкову зміну теґів,
  • мати глосарій, що був би завжди перед очима,
  • враховувати внесені розробниками зміни й мінімізувати їхню можливу шкоду для проекту,
  • витратити на це мінімум грошей (або не витрачати їх зовсім).

Менше витрат, більше користі

З наведених вище міркувань зупинився на такій зв’язці:

  • Notepad++ для маніпуляцій власне в XML-файлах. Функція пошуку й заміни у всіх відкритих файлах заощаджує купу часу.
  • Okapi Rainbow для обробки XML-файлів перед перекладом. Чудовий інструмент для конвертування будь-якого файлу з текстом в універсальний формат XLIFF, з яким можна працювати в будь-яких програмах або сервісах для автоматизації перекладу.
  • OmegaT власне для перекладу. Ця програма не намагається лізти «поперед батька в пекло», має добру документацію, безкоштовна й водночас перекриває більшу частину функціоналу платних конкурентів. Важливо розуміти, що пам’ять перекладів у цьому конкретному випадку потрібна не лише для забезпечення однорідності, а здебільшого для швидкого відновлення в разі, якщо після додавання нового ігрового тексту щось піде не так. До того ж, тут є інтеграція з Language Tool і можливості для командної роботи завдяки можливостям спільної роботи над проектами через системи контролю версій SVN і Git.
  • WinMerge для відстеження змін у разі оновлення тексту. У цій програмі можна відкрити два файли поряд, подивитися, які саме зміни були внесені в найновішому, і, за необхідності, об’єднати ті файли в один.
Десь такий в мене склався «pipeline».
Навіть із мінімальним процесом перекладається куди легше. Втім, згодом почав буксувати — забракло навичок організації такої роботи, а також додаткових очей і рук: десь потрібна була допомога з редагуванням і тестуванням, десь життя взяло своє чи мене зжерла робота. Далі була справа техніки: зробити максимально однорідним вміст файлів, скласти фільтр для них у Rainbow, вивантажити все необхідне в проект для OmegaT — і можна перекладати. Повернути перекладені файли у вихідний формат — теж справа кількох хвилин.

Навіщо це мені?

Свого часу фанатів від рольових ігор на рушії Infinity. У таких іграх читати доводиться десь стільки ж, скільки власне грати, а там проходження там на десятки годин. Можна сказати, я вивчив із ними англійську: Baldur’s Gate, Icewind Dale і Planescape: Torment були чудово написані на час виходу та й зараз не пасуть задніх. Прикро що ці «твори» українською стають доступні лише через десять років після виходу.
Одна з перших комп’ютерних рольових ігор, з якою я познайомився — Baldur's Gate. На знятку «осучаснене» перевидання. Розробники Pillars of Eternity багато в чому брали натхнення з неї та інших, збудованими на її рушії.

Отже, побачивши, що Джош Сойєр, який брав участь у розробленні серії Icewind Dale, задумав «відродити жанр», зрозумів, що треба брати відпустку тижні на два та відкривати для себе новий світ. Коли у 2015 році Pillars of Eternity побачила світ, я поринув у неї одразу й повністю. Світ виявився смачний: у достатній мірі виписана історія в ньому поєднується з цікавим набором рас і навіть штучними мовами. Класно, епічно, як у знайомих із дитинства іграх Black Isle. І гра повністю виправдала сподівання, хоча розв’язка і виявилася дещо змазаною.

Як щось робите, знайте навіщо.
Тоді мені страшенно не сподобалася локалізація російською. Спробував із нею допомогти, але далі того, щоби відредагувати першу локацію діло не пішло через брак часу. Але світ так сподобався, що згодом вирішив навчити цю гру говорити українською.

Я хочу:

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

Теперішній стан проекту

Наразі я попросив додати локалізацію Pillars of Eternity на сервері української локалізаційної спільноти в Discord як свій проект, відкопав стару пам’ять перекладів і глосарій та взявся відновлювати роботу, паралельно редагуючи старий текст. На це, імовірно, піде десь місяць. Наступний крок — планування подальшої роботи. А доти — на прикладі цієї гри розбиратиму цікаві проблеми, що виникають під час роботи над такими проектами.

Pillars of Eternity це багато тексту. Без доповнення — 780 610 слів, 60 годин ігрового вмісту. Обидва доповнення загалом десь іще стільки ж. Роботи попереду багато, буде цікаво. Зробив відкриту дошку на Trello, де можна подивитися актуальну інформацію про стан проекту.











Коментарі

Цього місяця найбільше читали