String Table Manager

String Table Manager - это программа для извлечения всех текстов из проекта и экспортирования их в текстовую таблицу для дальнейшей локализации игры. Она также изменяет файлы игры и сценарии, переписывая строки в локализованной форме.

К примеру, следующая строка в сценарии:

this.Talk("Здравствуйте, мисс.");

изменится следующим образом:

this.Talk("/str0003/Здравствуйте, мисс.");

А сгенерированная текстовая таблица будет содержать извлечённый текст:

str0003 Здравствуйте, мисс.

За более детальной информацией по переводу проекта на другие языки обратитесь к главе Локализация.

 

Быстрое руководство пользователя

Запустите программу и заполните поля «Проект» (Project file) и «Текстовая таблица» (String table). В первом поле укажите путь к файлу проекта (.wpr), во втором - к текстовой таблице. Вы можете указать как существующую текстовую таблицу, так и нет. В последнем случае будет создан новый файл.

Также Вы можете указать опцию «Сделать резервную копию старых файлов» (Backup old files). Рекомендуется всегда включать её. (Внимание: если Ваш проект в этот момент открыт в программе Project Manager, следует закрыть его, иначе String Table Manager не сможет сохранить локализованное название игры в файл 'default.game'.)

Далее нажмите кнопку «Сканировать» (Scan project). String Table Manager извлечёт все строки из проекта и содержимое оригинальной текстовой таблицы (если она есть). Затем он попытается удалить из полученных данных все строки, которые не требуется переводить (названия событий, внутренние имена предметов, названия файлов и т. д.)

После того, как сканирование будет закончено, нажмите кнопку «Редактировать строки» (Manage strings). Откроется новое окно, в котором слева будут находится все локализованные строки, а справа - проигнорированные. Если слева всё-таки попадутся строки, которые не требуется переводить, Вы можете переместить их в список справа. Сделайте щелчок правой кнопкой мыши на строчке и выберите команду «Игнорировать» (Ignore item) или «Всегда игнорировать» (Always ignore item). Команда «Всегда игнорировать» добавит выбранную строчку в глобальный список, так что при следующем сканировании проекта эта строчка будет проигнорирована автоматически.
Подобным образом Вы можете переместить любую строку из правого списка в левый с помощью команды «Отменить игнорирование» (Unignore item).

В левом списке Вы можете выбрать несколько строк, отметив флажок рядом с каждой из них. Чтобы выбрать несколько строк одновременно, отметьте первую из них, затем удерживая клавишу Shift щёлкните на последней. Подобным образом Вы можете снять выделение, удерживая сочетание клавиш Ctrl+Shift.

Также Вы можете воспользоваться командами из подменю «Выделение» (Selection), чтобы выбрать все/отменить выделение всех строк (Select all/Select none), инвертировать выделение (Invert selection) или выбрать только те строки, которым не был присвоен уникальный идентификатор (Select items with no ID).


Убедитесь, что левый список содержит только те строки, которые требуется перевести. Теперь Вы можете присвоить каждой строке уникальный идентификатор (ID). Вероятно, Вы захотите выбрать сразу несколько строк для этого.
Выберите одну или несколько строк, щёлкните на ней правой кнопкой мыши и выберите команду «Присвоить ID...» (Assign string ID...). Теперь Вам нужно выбрать префикс для ID. Вы можете выбрать любое слово, например, str. Вы можете выбрать один префикс для всех строк в игре или же задавать разные префиксы, в зависимости от контекста строк (например, в зависимости от того, какой персонаж произносит эту строчку).

Введите префикс и нажмите OK (в диалоговом окне будут предложены все префиксы, которые уже используюся в Вашем проекте). Теперь String Table Manager присвоит введённый префикс всем выбранным строкам и добавит к нему порядковый номер для каждой из строк, составив таким образом уникальный идентификатор.

Далее нажмите кнопку «Закрыть» (Close) - Вы вернётесь в главное окно. Здесь Вы можете сохранить сделанные Вами изменения нажав кнопку «Сохранить изменения» (Save changes). Эта команда добавит новые строки в конец текстовой таблицы и отформатирует строки в файлах проекта (см. об этом выше).


Вы можете повторять этот процесс сколько угодно раз, по мере добавления новых данных в игру. String Table Manager будет извлекать только вновь добавленные строки, у которых ещё нет ID.

String Table Manager требует установки Microsoft .NET Framework 2.0.