Как переводить моды RimWorld?
Введение
Он рассчитан на новичков и объясняет самые простые и минимальные способы локализации - от копирования файлов до загрузки готового перевода.
Важно: этот гайд не является универсальным решением на все случаи жизни. У каждого мода может быть своя структура и особенности, поэтому где-то придется действовать иначе. Здесь я собрал базовые методы, которые помогут быстро начать переводить и разбираться в процессе.
Раздел 1: Где хранятся файлы модов?
Файлы модов хранятся по пути:
Steam\steamapps\workshop\content\294100
В этой папке находятся все моды, скачанные из Steam Workshop для RimWorld.
Чтобы быстро открыть папку нужного мода:
- Запустите RimWorld;
- Перейдите в меню Моды;
- Выберите нужный мод;
- Нажмите Расширенные настройки;
- Кликните Открыть папку.
После этого откроется директория с оригинальными файлами выбранного мода.
Внутри обязательно будет папка About, а также папки с файлами строк, где хранятся названия предметов, событий, рецептов и других элементов игры.
💡 Примечание: все эти файлы переводятся одинаково, независимо от того, содержат ли они предметы, события или рецепты.
Раздел 2: Как создать свой мод (для перевода)?
Заходим в директорию Rimworld. Сделать это можно через библиотеку Steam:
- Кликаем ПКМ по игре в библиотеке;
- Нажимаем “Свойства”;
- Переходим в “Установленные файлы”;
- Затем “Обзор”
Для корректной работы игры необходимо создать определенные папки и файлы (названия должны быть точными, иначе при запуске возникает ошибка).
- Создаем папку About
- Создаем папку Languages
Внутри них:
- В папке Languages создайте папку с названием языка. Для русского — Russian.
- В папке About создайте файл About.xml.
💡 Чтобы правильно сохранить файл как .xml:
В проводнике включите отображение расширений файлов:
В Windows 10/11: Вид → Показать → Расширения имен файлов.
Теперь можно переименовать файл с About.txt на About.xml.
Для обложки (превью) используйте изображение Preview.png.
- Обязательно название: Preview.png.
- Размер файла — не более 2 Мб.
- Рекомендуемое разрешение: 1600×900.
Дополнительно можно добавить иконку мода — файл modicon.png (64×64 px). Эта иконка будет отображаться в списке модов в игре.
<name> - Укажите название вашего мода (на английском), например "ModTranslationRUS";
<author> - Укажите ваш никнейм;
<li> - Укажите поддерживаемые версии, например 1.6;
<packageId> - Укажите ID, например "nickname.modrus";
<description> - Укажите описание вашего мода.
Раздел 3: Как редактировать строки?
В папке Languages создайте папки DefInjected, Keyed, Strings.
P.S. В основном используются папки DefInjected и Keyed.
DefInjected - в этой папке хранятся переводы ВСЕХ предметов, описаний, событий и т.д.
Keyed - в этой папке хранятся строки для перевода интерфейса и т.д.
Создавайте эти папки только в том случае, если они присутствуют в оригинальном моде!
Например: В оригинальном (переводимом) моде .xml файлы находятся по пути:
“D:\Steam\steamapps\workshop\content\294100\код мода\1.6\Defs”
Возьмем в пример один мод: в папке Defs у него хранятся другие, со следующими названиями: AbilityDef, DamageDef, ResearchProjectDef, ResearchTabDef и т.д.
В этих папках хранятся .xml файлы, описывающие предметы, события и т.д, а также подпапки, разделяющие .xml файлы на категории (исключительно для удобства).
Чтобы создать папки с правильными названиями (это важно) нужно открыть один из .xml файлов и посмотреть начало кода.
После <Defs> идёт строка <AbilityDef>, это и есть название папки, в которой должен хранится ваш .xml файл с переводом.
Таким образом, необходимо скопировать файл AbilityDefs.xml в папку вашего мода с именем AbilityDef. После этого мы получаем путь (только пример):
D:\Steam\steamapps\common\RimWorld\Mods\SuperModRUS\Languages\Russian\DefInjected\AbilityDef\AbilityDefs.xml
Чтобы перевод работал, нужно изменить структуру кода. Это сложно, но есть простой способ, о котором расскажу чуть позже.
РЕКОМЕНДУЮ работать в бесплатном Notepad++
ВАЖНО: Переводить можно только:
<label> - Название
<description> - Описание
Ничего другого переводить не нужно!
Создаем код:
* В шапке всегда кодировка: <?xml version="1.0" encoding="utf-8" ?>
* Код начинается с <LanguageData> и заканчивается </LanguageData>
Теперь нужно прописать теги и закрыть их соответственно через “/”. Пишем так:
Переводим так каждую строку.
Раздел 4: Важная информация
- Создайте папку с названием вашего мода-перевода в директории RimWorld/mods.
- Внутри неё создайте папки About и Languages.
- В папке About добавьте файл About.xml и отредактируйте его, а также добавьте Preview.png.
- В папке Languages создайте папку Russian (или любую другую, например, Czech).
- Откройте папку с оригинальным модом, который вы переводите, и найдите папку с файлами .xml (в разных модах она может называться по-разному, чаще всего это название версии, например 1.6).
- В папке Russian вашего мода создайте директории DefInjected (обязательно) и Keyed (только если такая папка есть в оригинальном моде).
- В папке DefInjected создайте подпапки с названиями, к которым обращается код из файлов оригинального мода (чаще всего названия почти совпадают).
- По очереди проверяйте каждый .xml файл из папок оригинального мода и создавайте соответствующие подпапки в вашем DefInjected.
- Копируйте (для удобства) или создавайте .xml файлы с теми же названиями, что и в оригинальном моде. Копируйте только в соответствующие файлу папки!
- Для удобства откройте два .xml файла одновременно: один — в вашем моде (скопированный), другой — из оригинального мода.
- Следуя инструкции, расписывайте теги и переводите текст, не забывая про кодировку в шапке файлов, затем сохраняйте изменения.
- В некоторых модах файлы .xml могут быть заменены на .txt. Но так как игра может читать .txt тоже, то мод работает корректно. Но в моде-переводе все файлы обязательно должны быть с расширением .xml, иначе будут ошибки в игре.
- Структуры некоторых модов могут быть сложными, например в одной папке могут храниться несколько файлов .xml, которым нужны разные папки. Будьте внимательны и создавайте папки, соответствующие коду каждого .xml файла!
- В модах может быть адаптация под другие моды или DLC, такая папка называется Patches. Её не нужно переводить, так как она содержит .xml файлы, которые лишь адаптируют мод под DLС а не вносят новые предметы, названия и т.д.
Раздел 5: Пример создания мода локализации
- В фильтрах выберем Mod и версию 1.6
- Далее в сортировке подбираем нужный нам мод
P.S. Выбирайте моды для которых ещё нет перевода, например самые новые или трендовые.
Для примера мод sbzFridge:
https://steamcommunity.com/sharedfiles/filedetails/?id=3486264784
Заходим в две директории
- В папку с ориг. модом
- В папку Mods игры RimWorld
В Mods создаем папку с названием "sbzFridgeRUS", в ней: About и Languages.
Редактируем файлы как в руководстве.
В моде [sbz]Fridge все файлы хранятся в директории 1.6. Структура такая:
Выбираем папку 1.6, её структура:
В Defs хранятся подпапки, а в них файлы. В нашей папке DefInjected создаем соответствующие папки: в файле ThingCategory.xml код следующий:
В файле Buildings_Fridge.xml код довольно громоздкий, т.к. в нем описаны все свойства и механики предметов, поэтому часть кода:
Он обращается к папке ThingDef, создаем её в DefInjected. Так же копируем и меняем код на следующий (файл большой, так что только часть):
Так как мод маленький, то на этом вся работа заканчивается.
Раздел 6: Как протестировать и выложить мод в Мастерскую?
Когда вы закончили работу с переводом и проверили всю структуру вашего мода, можно запускать игру.
ВАЖНО: Включите режим разработчика в настройках игры!
- В менеджере модов переносим все моды в "Активные" (ваш мод должен быть ниже в списке чем оригинальный), сохраняем и перезапускаем игру.
- Заходим в Dev мир. Такая настройка появится после включения режима разработчика. Это тестовый мир, который быстро загружается и нужен для проверки.
- Включаем "Режим Бога" (вверху есть кнопки Dev, режим бога в самом конце) и тестируем перевод.
- В Разделе 5 я переводил мод [sbz]Fridge, этот мод добавляет холодильники. Режим бога позволяет построить что угодно. Холодильники это раздел "Температура".
Попробуйте перевести этот мод самостоятельно и проверить его работоспособность!
Режим Бога позволяет заспавнить нужные предметы, события и т.д.
- Выберите ваш мод > Расширенные настройки > Загрузить в Мастерскую Steam
- Мод соберётся и откроется окно Steam.
Далее прописывайте описание, видимость, настройки и т.д.
Теперь ваш мод можно скачать из Мастерской.
Если вы хотите обновить мод (если вышла новая версия ориг. мода), то:
- После публикации вашего мода в папке с ним в Mods (директории игры) в папке About появится файл PublishedFileId - это ID вашего мода в мастерской, он нужен для обновлений.
- Теперь, если вы обновили мод, вместо "Загрузить в Мастерскую Steam" будет "Обновить в Мастерской Steam", а далее всё как раньше.
Раздел 7: Программа для генерации XML файлов
XML_Generator 2.0[drive.google.com] - авторское консольное приложение на языке C++, которое автоматически преобразует все .xml файлы в код <LanguageData>.
Я создал эту программу для упрощения процесса создания модов-переводов для игры RimWorld. Она абсолютно бесплатна и скачать её может каждый нуждающийся. Программа будет дорабатываться и улучшаться.
Перейдя по кликабельной ссылке, указанной выше, вы можете скачать .exe файл и прилагающиеся к нему файлы:
Программа запускается через .exe.
Необходимо ознакомиться с файлов README.txt - это инструкция по использованию.
Для тех, кто боится запускать сторонние .exe файлы я прикрепил текстовый и xml документ с исходным кодом на C++ для VisualStudio.
P.S. Для тех кто выбрал копировать исходник в свой проект VS: если программа выдает ошибки, это значит, что она требует другого стандарта языка, а именно ISO C++ 17 (/std:c++ 17).
Если вы создали проект и не можете выполнить отладку:
Зайдите в свойства проекта > C/C++ > Язык > Стандарт языка C++ > Стандарт ISO C++ 17.
После применения программа будет работать корректно.
После запуска программа потребует путь к папке с исходниками, то есть с оригинальными .xml файлами. В руководстве рассказано где найти эти файлы.
Затем нужно вписать конечный путь, в котором программа создаст папку "XMLsLGD". В эту папку программа закинет те .xml файлы, которые находились по первому пути. Эти файлы уже готовы, их осталось только перевести и закинуть в нужные папки (см. Раздел 3).
Плюсы:
- Цикличность — программа не выключается после первого использования.
- Скорость — файлы создаются мгновенно.
- Удобство — нужно указать только два пути, больше ничего делать не надо.
- Универсальность — программа работает с любым .xml и .txt кодом.
- Корректность — программа преобразует .txt в .xml, чтобы файлы корректно работали в вашем моде.
Минусы:
А минусов я пока не нашел 😄
Если вы сможете найти их, или выявить какие-либо ошибки в программе, то сообщите об этом в комментариях.
Заключение
Надеюсь это руководство поможет вам начать переводить моды для RimWorld на ваш язык. Используйте его, чтобы создавать контент для личного пользования или делитесь вашими работами в мастерской!
⠀⠀⠀⠀⠀⠀⠀⠀⠀Если вы неравнодушны к моей работе, то оцените её по достоинству!
⠀⠀⠀Оставляйте комментарии с замечаниями и разумной критикой по данному руководству.
⠀Пишите комментарий с подробным описанием проблемы, а я отвечу вам как можно быстрее!
This guide was created by its original author on the Steam Community. Are you the author and want it removed? Request removal.