Хорошая инициатива!
Сценарии хранятся в папках маршрутов:
- Код: Выделить всё
railworks\Content\Routes\ПАПКА_МАРШРУТА\Scenarios\ПАПКА_СЦЕНАРИЯ\
Непосредственно сам сценарий описан в файле Scenario.bin который имеет бинарный формат. Нужно его конвертировать в текстовый формат XML, а после внесения изменений конвертировать обратно, в BIN.
Для этого нам понадобится утилита serz.exe, которая лежит в папке игры. Пользоваться ей нужно через командную строку, либо создать соответствующие BAT-файлы.
- Код: Выделить всё
serz Scenario.bin
Эта команда конвертирует BIN в XML (рядом с файлом BIN появится такойже XML).
- Код: Выделить всё
serz Scenario.xml
А эта наоборот, из XML в BIN.
Получив XML-файл, открывай его текстовым редактором (лучше всего с подсветкой синтаксиса, например Edit Plus 3).
И ищешь в нем такую строку
- Код: Выделить всё
<Localisation-cUserLocalisedString>
Она предшествует всем блокам, в которых собраны тексты сообщений для пользователя. Причем изначально заложена многоязыковая поддержка.
Можно например найти такое:
- Код: Выделить всё
<cStopAtDestinations d:id="972122408">
<ActivationLevel d:type="sInt16">0</ActivationLevel>
<TriggeredText>
<Localisation-cUserLocalisedString>
<English d:type="cDeltaString">Well done driver. You arrived at Reading Triangle on time. Good work.</English>
<French d:type="cDeltaString"></French>
<Italian d:type="cDeltaString"></Italian>
<German d:type="cDeltaString"></German>
<Spanish d:type="cDeltaString"></Spanish>
<Dutch d:type="cDeltaString"></Dutch>
<Polish d:type="cDeltaString"></Polish>
<Russian d:type="cDeltaString"></Russian>
<Other/>
<Key d:type="cDeltaString">d6062db4-973a-4804-93fe-e74c9ca49b53</Key>
</Localisation-cUserLocalisedString>
</TriggeredText>
<UntriggeredText>
<Localisation-cUserLocalisedString>
<English d:type="cDeltaString">Sorry driver, you didn't complete this task successfully or to time. </English>
<French d:type="cDeltaString"></French>
<Italian d:type="cDeltaString"></Italian>
<German d:type="cDeltaString"></German>
<Spanish d:type="cDeltaString"></Spanish>
<Dutch d:type="cDeltaString"></Dutch>
<Polish d:type="cDeltaString"></Polish>
<Russian d:type="cDeltaString"></Russian>
<Other/>
<Key d:type="cDeltaString">86aec6f9-a9ab-48e2-b05a-68898be63906</Key>
</Localisation-cUserLocalisedString>
</UntriggeredText>
..........................................
Как видно, здесь можно сделать перевод сценария сразу на несколько языков. Отображаться в игре будет тот язык, который включен в настройках игры перед запуском (там же, где настраивается разрешение монитора и т.п.).
Особое внимание обращаю на то, что спец.символы должны заменяться на их текстовые коды:
Ряд символов в языке XML зарезервирован и должен представляться специальным образом:
< - левая угловая скобка ("<")
> - правая угловая скобка (">")
& - амперсант ("&")
" - двойная кавычка (") в значениях атрибутов
' - одинарная кавычка (') в значениях атрибутов
При желании можно пользоваться числовой кодировкой символов в стандарте Unicode. При этом символ может быть задан своим десятичным кодом (&#код;) или шестнадцатеричным кодом (&#xкод;). Например © представляет символ авторского права ©, а А – русскую букву А. Как мы увидим в дальнейшем, XML гораздо богаче, чем HTML, в использовании подобных конструкций, поскольку позволяет осуществлять подстановку в текст документов любых символьных выражений.
Я бы рекомендовал пользоваться именно стандартными возможностями игры: не писать русский перевод поверх английского, а писать его в соответствующем теге Russian.После того как в XML-внесены необходимые изменения, конвертируем его обратно в BIN. При запуске игры не лишним будет
очистить кэш: на вкладке
Tools & Docs стартового окна нажать кнопку
Clear Cache до запуска самой игры (потом эта кнопка будет уже не активна).
И еще важно: не забывай делать резервные копии. В первую очередь стандартных файлов игры.
И еще важно: модифицированные стандартные файлы игры будут восстановлены при очередном обновлении через Steam, так что если сценарий стандартный - изменения могут быть утеряны. Тут могу посоветовать разве что скопировать всю папку сценария, переименовать ее, и вносить изменения уже в копированном сценарии (заодно изменив его имя в XML, можно добавить приставку
"RU " перед именем).