17 день
Утренней звезды
ElderScrolls.Net

Перевод плагинов для Skyrim с помощью Skyrim String Localizer

Автор: TERAB1T

Введение

Cо времен Fallout 3, последней игры, созданной Bethesda Game Studios, произошли существенные изменения в хранении текстовых ресурсов игры. Если ранее весь текст хранился в файлах с расширениями ESP или ESM (то есть в самом теле плагина или мастер-файла), то теперь наряду с «вшиванием» текста в файл плагина появился новый способ хранения текстовой информации — во внешних файлах STRINGS (string (англ.) — строка). Это позволило создавать моды, поддерживающие не один, а сразу несколько языков. На каждый поддерживаемый язык должно существовать по три файла STRINGS, расположенных в папке \Steam\steamapps\common\skyrim\Data\Strings. Скорее всего, сейчас в этой папке у вас находятся шесть стандартных файлов:

  • Skyrim_Russian.STRINGS
  • Skyrim_Russian.ILSTRINGS
  • Skyrim_Russian.DLSTRINGS
  • Update_Russian.STRINGS
  • Update_Russian.ILSTRINGS
  • Update_Russian.DLSTRINGS

Конструкция имен этих файлов следующая:

[Название_плагина]_[Язык].[Расширение]

Разберем для примера файл Update_Russian.STRINGS. По названию мы можем определить, что это один из трех файлов с текстом для находящегося по пути \Steam\steamapps\common\skyrim\Data (стандартная папка для хранения плагинов) файла Update.esm, и создан он для русской версии игры.

Как я уже упомянул, для каждого плагина должно быть по три файла STRINGS со следующими расширениями:

  • *.STRINGS – названия предметов, имена, общие фразы;
  • *.DLSTRINGS – тексты книг и записи в журнале заданий;
  • *.ILSTRINGS – диалоги.

Перевод самой игры находится в файлах Skyrim_[Язык].[Расширение], эти три файла мы будем называть стандартными.

От теории перейдем к практике.

Перевод пользовательских модификаций

Для перевода плагинов мы будем использовать программу Skyrim String Localizer (Автор: MaboroshiDaikon). Прежде чем приступить непосредственно к переводу, необходимо скачать архивы с самой программой (файл Skyrim String Localizer) и с русификацией к ней (файл Skyrim String Localizer Russian Translation Addon) и распаковать оба архива в одну директорию. Далее следует скачать оттуда же файл с названием Skyrim_STRINGS files for various languages (файлы Skyrim_STRINGS для разных языков) и распаковать его в папку \Steam\steamapps\common\skyrim\Data\Strings. Теперь приступим непосредственно к переводу.

Для примера мы будем переводить модификацию Dragon Falls Manor. Ниже будут описаны шаги перевода; комментарии к ним будут выделены серым цветом.

  • Запускаем программу и видим главное окно:

plug-tr-1

  • Cтавим галку напротив строки Перезаписать кодовую страницу (на скриншоте выше под номером 1) и в выпадающем списке справа выбираем 1251 (Кириллица) (2).
    Этот шаг обязателен после каждого запуска программы, так как в случае невыполнения вышеописанных действий могут возникнуть проблемы с кодировкой.
  • Нажимаем кнопку с папкой справа от поля Файл ESP: (3) и выбираем нужный плагин для перевода (файл с расширением ESP), в нашем случае dragon falls manor.esp.
  • Нажимаем кнопку с папкой справа от поля Файл STRINGS: (4) и выбираем стандартный (Skyrim_*.STRINGS) файл STRINGS c текстом на языке, с которого будем переводить плагин. Так как мы переводим плагин с английского, это будет файл Skyrim_English.STRINGS.
  • Нажимаем кнопку Обработка (5).

    После нажатия кнопки Обработка (5) программа ищет в файле плагина текстовые строки и сравнивает их со всеми строками в указанном в поле Файл STRINGS: (4) файлом STRINGS (напоминаю, что в нашем случае это Skyrim_English.STRINGS). Если в файле STRINGS находится идентичная строка, то автоматически берется ее идентификатор и вписывается в поле ID (10) в программе. Если же идентичной строки нет, то поле ID остается пустым с нулевым идентификатором. Делается это все для автоматизации перевода. Например, в плагине существует строка «Private Letter». Такое же название существует и в оригинальной игре, и уже переведено нашими локализаторами, поэтому нет смысла переводить его повторно. Поэтому программа запоминает ID этого «Private Letter» из английского файла STRINGS (Skyrim_English.STRINGS), а потом после некоторых манипуляций, о которых ниже, по этому идентификатору ищет строку в русском файле STRINGS (Skyrim_Russian.STRINGS), где эта строка уже переведена («Личное письмо»), и вставляет в поле Текст уже русский аналог строки.

В главном поле программы (6) появилась таблица со строками, нуждающимися в переводе:

plug-tr-2

Сделаем краткое отступление и разберем содержание колонок таблицы подробнее:

FormID (7) и EDID (8) – уникальные идентификаторы записей, назначаемые в Creation Kit.
Тип (9) – типы записей.
ID (10) – уникальные идентификаторы строк, использующиеся как средство определения в файлах STRINGS.

Текст (11) – текст, который нужно будет переводить.

Как видно на скриншоте выше, некоторые строки белые, а некоторые выделены оранжевым. Также можно заметить, что у оранжевых строк в столбце ID (10) стоят нули. Вернемся к процессу перевода.

  • Нажимаем кнопку Создать ID (12).
    После этого действия всем оранжевым строкам присваивается собственные ID.
  • Нажимаем кнопку Записать ESP + STRINGS (13).
    В программах, используемых для создания плагинов, по умолчанию текст «вшивается» в файл плагина, а файлы STRINGS не создаются. Нажав кнопку Записать ESP + STRINGS (13), вы выдрали текстовые строки из плагина и записали их во внешние файлы STRINGS. Файлы создались для английской версии Skyrim, так как в поле Файл STRINGS: (4) выбран английский стандартный файл STRINGS (Skyrim_English.STRINGS). Найти созданные файлы можно в папке \Steam\steamapps\common\skyrim\Data\Strings. У данного плагина это файлы dragon falls manor_English.DLSTRINGS, dragon falls manor_English.ILSTRINGS и dragon falls manor_English.STRINGS.
  • Снова нажимаем кнопку с папкой справа от поля Файл STRINGS: (4), но теперь выбираем не английский, а русский файл STRINGS (Skyrim_Russian.STRINGS).
  • Нажимаем кнопку Обработка (5).
  • Появится окно, предупреждающее о том, что некоторые строки в файле Skyrim_Russian.STRINGS найдены не были (из-за того, что в плагине есть строки, которых в оригинальной игре не было; они были отмечены оранжевым). Нажимаем «Да» и выбираем один из созданных ранее файлов STRINGS нашего плагина (в данном случае это dragon falls manor_English.STRINGS).

    Если все прошло успешно, то строки, изначально присутствовавшие в оригинальной игре, автоматически переведутся на русский. Строки, которых в игре не было (изначально выделенные оранжевым), выделятся зеленым цветом и останутся на английском.

  • Переводим зеленые строки в каждой вкладке (STRINGS, DLSTRINGS, ILSTRINGS).
    Примечание. Так как в DLSTRINGS зачастую находятся тексты книг, их следует переводить несколько иначе. Большинство книг состоят из более чем одной строки, но в таблице в программе они записываются в одну строку. Чтобы перевести книги, не потеряв переносы строк, следует выделить нужную строку в таблице и нажать кнопку F2, после чего откроется окно расширенного редактирования:

plug-tr-3

  • После перевода всех нужных строк необходимо нажать кнопку Записать текст в ESP (14), что «вошьет» ваш перевод обратно в файл плагина.
  • Программа предложит удалить файлы STRINGS плагина и, так как они больше вам не нужны, можете нажимать кнопку «Да». Все, плагин переведен.

Если вы все же встретили английские строки в игре, то, скорее всего, они находятся в скриптах мода, но это встречается крайне редко, и это тема для отдельной статьи.

Дополнительные функции программы

  • Перевод плагина можно сохранить в отдельный файл с расширением SSLXLTN. Для этого нужно выбрать пункт Сохранить перевод (16)из меню Файл (15). Рекомендуется это делать после каждого перевода, чтобы при обновлении плагина автором не переводить все с чистого листа, а загрузить свой старый перевод и доперевести только новые строки. Для загрузки ранее сохраненного перевода следует выбрать пункт Загрузить перевод (17)из меню Файл (15).

plug-tr-4

  • В программе доступны функции поиска и замены. Для доступа к этому меню следует нажать Ctrl+F или выбрать пункт Поиск (19)из меню Правка (18).

plug-tr-5

  • Строки текста можно экспортировать в файлы с расширением CSV для внешнего редактирования. Для этого надо выбрать пункт Экспортировать STRINGS в CSV (21)в меню Инструменты (20), а затем выбрать необходимые файлы STRINGS для экспорта. Чтобы импортировать текст из CSV-файлов, необходимо выбрать пункт Импортировать STRINGS из CSV (22) из меню Инструменты (20)

plug-tr-6

  • При нажатии на кнопку STRINGS (23) появится меню со строками перевода оригинальной игры с функцией поиска. Удобно использовать эту возможность для поиска перевода различных игровых терминов и специфических названий.

plug-tr-7

  • Программа может создавать мультиязычные моды. Для этого после нажатия кнопки Записать ESP + STRINGS (13) и перевода на первый язык надо нажать кнопку Записать файлы STRINGS (24) (что создаст файлы STRINGS для текущего языка), после чего выбрать файл STRINGS для следующего языка, перевести мод на этом язык, снова нажать Записать файлы STRINGS (24) и так далее для всех требуемых языков. В конце перевода кнопку Записать текст в ESP (14) нажимать не надо, в противном случае мод перестанет быть мультиязычным. Распространять такие моды следует в комплекте со файлами STRINGS этого плагина для разных языков.

plug-tr-8

Заключение

Скачать перевод плагина Dragon Falls Manor и других плагинов можно в специальной теме у нас на форуме. Свои замечания и предложения оставляйте в той же теме форума или в комментариях ниже. Удачных переводов!

Ссылки:

  • http://www.nexusmods.com/skyrim/mods/2889/ — Skyrim String Localizer (для работы программы требуется установленный .NET Framework 4). Программа все еще на стадии разработки, поэтому не ленитесь почаще заходить на страницу загрузки, чтобы всегда иметь самую последнюю версию.
  • http://www.nexusmods.com/skyrim/mods/10901/ — Dragon Falls Manor — плагин, использовавшийся в качестве примера в статье.
Просмотров: 12735

Комментарии

Добавить комментарий

Или

© 2000—2017 ElderScrolls.Net. Частичная перепечатка материалов сайта возможна только с указанием ссылки на источник.
Торговые марки The Elder Scrolls, Skyrim, Dragonborn, Hearthfire, Dawnguard, Oblivion, Shivering Isles, Knights of the Nine, Morrowind, Tribunal, Bloodmoon, Daggerfall, Redguard, Battlespire, Arena принадлежат ZeniMax Media Inc. [30.5MB | 58 | 2,611sec]