RimWorld

RimWorld

Not enough ratings
Translation Tools
By crtdgd
   
Award
Favorite
Favorited
Unfavorite
Описание
Полезные инструменты для переводчиков модов RimWorld.
Инструменты
GetText

Инструмент для получения текста из модов.

Инструмент автоматически создает папку для перевода, с заполненным About файлом и модифицированным превью.

Чтобы скрипт модифицировал превью мода, корректировал размер и добавлял стикер, дополнительно нужно установить программу ImageMagick и создать стикер для превью.

По умолчанию ImageMagick устанавливается и обновляется автоматически, для отключения данной опции нужно поменять настройку "Install ImageMagick". Устанавливается независимо от ручной установки в отдельную папку. Для удаления программы нужно удалить папку “%UserProfile%\scoop”.

Ручная установка ImageMagick
https://imagemagick.org/script/download.php#windows

Стикер должен иметь название sticker.png и находится в папке User. Размер превью мода подстраивается под размер фона стикера, рекомендуемый размер фона - 640х360.

Как создать стикер
  1. Установить Paint.NET
    https://www.getpaint.net/download.html

  2. Запустить программу, поменять размер изображения на 640х360: "Изображение" => "Изменить размер"

  3. Выбрать инструмент "Волшебная палочка", нажать на изображение, нажать клавишу DELETE - фон станет прозрачным

  4. Найти подходящий стикер, открыть его в новой вкладке в Paint.NET, уменьшить размер стикера, чтобы он помещался на изображение. Высота моего стикера равна 120 - это треть от изображения.

  5. Выбрать инструмент "Выбор области", выделить стикер, нажать "CTRL + C", вставить стикер на изображение с прозрачным фоном, разместить в нужном месте. Чтобы четко попадать в пиксели нужно менять масштаб "CTRL + колесиком мыши" и перемещать изображение стрелочками на клавиатуре.

CreateLoads

Один перевод может содержать текст для нескольких модов, например, для оригинального мода и для измененной версии или для мода и его дополнений.

Для указания игре какие папки нужно загружать при наличии определенных модов используется файл LoadFolders.xml, будет загружен текст только для тех модов, которые активны у пользователя. Без использования данного файла текст загружается полностью и если при этом отсутствует мод для которого сделан перевод, то в журнале отладки появятся желтые ошибки - это не критично, но лучше чтобы ошибок не было. Плюс это ускоряет загрузку игры, т.к она не будет загружать то, что не нужно.

CreatePack

Инструмент для создания пака переводов, который также использует файл LoadFolders. Поддерживает переводы созданные с помощью предыдущего инструмента.

Файлы в папке Languages должны иметь уникальное название для каждого перевода, для этого можно использовать инструмент EditFormat.

GetData

Инструмент для получения объема переведенного текста - количества строк и слов, а также другой полезной информации. Краткая информация выводится автоматически при первом запуске программы за день.

Статистика это интересно, особенно если переводов много.

GetTranslations

Инструмент для получения ваших переводов из папки с модами.

Пригодится, если вы утратили файлы переводов и их нужно скачать из Мастерской, чтобы при этом название папки перевода соответствовало названию перевода.

EditFormat

GetText создает папку перевода в таком формате “{префикс} {упрощенное название мода - только английские символы и цифры}”, создает текстовые файлы в таком формате “{тип текста}_{упрощенное название папки без префикса и пробелов}”. Если файлов несколько, они будут пронумерованы.

Данный скрипт создает копию ваших переводов и приводит к данному формату.
Аддон
CheckChanges

Данный инструмент сравнивает текст модов и текст переводов, и находит новые и старые строки.

CreatePreview

Инструмент для обновления превью переводов. Берет превью из модов, накладывает стикер, создает папки с превью. Если перевод относится к нескольким модам, то будет выбран мод который идет первым в LoadAfter.

Если в папке мода отсутствует превью, например оно есть только в Мастерской, то вы можете скачать его и поместить в папку User\ModsPreview\”{id мода} - {название мода}”. Название мода необязательно, оно добавляется для удобства. Превью в данный папке имеет выше приоритет чем превью в папке мода, это также можно использовать для переопределения логики "выбрать мод который идет первым в LoadAfter".


CreateModIcon

Инструмент для обновления иконок переводов.

Upload

Инструмент для обновления переводов в Мастерской.

Для загрузки в Мастерскую используется официальный инструмент SteamCMD. Для использования требуются ваш Steam логин и пароль. Для безопасности, ваш логин и пароль нигде не сохраняются, поэтому их каждый раз нужно вводить заново. Если у вас активен Guard, то при первом запуске нужно будет ввести проверочный код который придет на почту.

Чтобы обновить описание перевода, добавьте файл с описанием "Description.txt" в папку перевода. В папку User можно добавить файлы "Translation_PreDescription.txt" и "Translation_PostDescription.txt", которые добавят к описанию префикс и постфикс, например, префиксом могут быть теги, а постфиксом ссылки автора. Еще в папку User можно добавить файл “Translation_Description.txt”, который будет использован если отсутствует файл "Description.txt", т.е это описание по умолчанию.

Название и описание мода обновляется только для английского языка, если у мода есть описание на дополнительным языке, то описание для него нужно обновлять вручную. Описание на английском языке применяется ко всем языкам - по этой причине не нужно добавлять дополнительные языки, кроме этого, такое описание нельзя будет убрать.

Данный инструмент не используется для первичной загрузки в Мастерскую, т.к в таком случае не будут созданы теги мода. Первую загрузку мода нужно делать через игру, если нужно обновить теги это также нужно делать через игру. Все остальное удобнее делать через Upload, т.к инструмент обновляет сразу все переводы.

После использования инструмента нужно заново войти в Steam, т.к одновременно можно быть авторизованным только в одном месте, возможно это работает только с Guard.
Настройки
Если настройка может иметь несколько значений, например несколько папок, то их нужно отделить запятой.

Настройка
Описание
RimWorldFolder

ModsFolders

TranslationsFolder
Путь до папки с игрой.

Путь до папок с модами. [может быть несколько значений]

Путь до папки с переводами.
SourceLanguage

TargetLanguage
Язык с которого будет делаться перевод.

Язык на который будет делаться перевод
AuthorName
Ваш никнейм.
PrefixForTranslationName

PrefixForTranslationPackageID

PrefixForTranslationFolderName
Префикс для названия перевода.

Префикс для PackageID переводов.

Префикс для папок переводов. Это нужно для группировки переводов, например, если вы перенесли их в папку Mods, чтобы они не смешивались с другими модами.
GameVersions

CurrentVersion

IgnoreOldVersions
Версии игры которые нужно указать в About.xml и в LoadFolders.xml. [может быть несколько значений]

Путь до файла с текущей версией игры. Можно указать версию вручную.

Игнорировать старые версии игры при получении текста. Будут игнорироваться версии которые находятся позади CurrentVersion в GameVersions.
AddModsListToPackDescriptionFile

RimWorldModsFolder

CopyPacksToRimWolrdModsFolder
Добавить список модов из пака в файл с описанием пака.

Путь до папки с локальными модами.

Копировать паки из папки Result в папку с локальными модами.
InstallImageMagick

TranslationPreviewBrightness
Автоматическая установка и обновление программы ImageMagick.

Множитель осветленности превью.
Upload folder

OpenVisibility

UpdateTitle

UploadWithoutPreviewInFiles
Папка для переводов которые нужно обновить. Структура папки Upload может быть любой, моды в ней будут определены автоматически если в них есть файл About.xml.

Открывать видимость мода.

Обновлять название мода. Вы можете настроить название мода в Мастерской отдельно от названия мода в игре, в таком случае отключите данную опцию, чтобы название не перезаписалось.

Обновлять мод без превью в файлах мода, превью будет добавлено только на страницу в Мастерской, оно не будет отображаться в игре. Это снижает вес мода, превью относительно текста весит много.

Дополнительные настройки

Файлы, которые можно добавить в папку User
- Translation_ModIcon.png

Файлы которые можно добавить в папку пака
- Pack_Preview.png
- Pack_ModIcon.png
- Pack_PublishedFileId.txt
- Pack_Description.txt

Структура проекта

Структура главной папки TranslationsFolder может быть любой, папки в ней будут определены автоматически по следующим правилам:

Если в папке есть файл \About\About.xml и если есть папка \Languages либо папка \LoadFolders, то это папка перевода.

Если в папке есть файл \Pack_About.txt, то это папка пака переводов.

Пример структуры:

TranslationsFolder
- Pack1
- - Group1
- - - Translation1
- - - Translation2
- - - Translation3
- - Group2
- - - Translation1
- - - Translation2
- - - Translation3
- Pack2
- - Translation1
- - Translation2
- - Translation3
- {any user files}
Использование
Общее
- создать коллекцию с переводами
- создать коллекцию с переведенными модами

GetText
  1. Подписаться на нужные моды, подождать пока они установятся/обновятся

  2. Копировать ID модов. ID мода - это последние цифры в адресе страницы.

  3. Вставить ID модов в поле “Mods ID”. Если модов несколько то их нужно добавить через пробел. Можно добавить только одно слово "all", в таком случае текст будет извлечен из всех модов.

  4. Запустить скрипт

CreateLoads
  1. Создать папку LoadFolders в папке перевода

  2. Поместить в папку LoadFolders папки которые нужно загружать при наличии определенных модов

  3. Создать в каждой папке файл PackageID.txt, добавить в него ID модов. Если ID несколько, то каждый нужно указать в отдельной строке.

  4. Запустить скрипт

  5. Копировать с заменой папки с LoadFolders.xml в папки с переводами

CreatePack
  1. Создать файл Pack_About.txt в папке пака, добавить в данный файл название и packageid пака
    name {Название пака} packageid {PackageID пака}

  2. Поместить в папку пака папки с переводами. Удобнее добавить все переводы в одну папку затем данную папку добавить в папку пака.

  3. Запустить скрипт

GetTranslations
  1. Подписаться на переводы, подождать пока они установятся

  2. Запустить скрипт

CheckChanges
  1. Подписаться на переведенные моды, подождать пока они установятся/обновятся

  2. Запустить скрипт

CreatePreview
  1. Добавить sticker.png в папку User

  2. Подписаться на переведенные моды, подождать пока они установятся/обновятся

  3. Запустить скрипт

  4. Копировать с заменой папки с превью в папки с переводами

CreateModIcon
  1. Добавить ModIcon.png в папку User

  2. Запустить скрипт

  3. Копировать с заменой папки с иконками в папки с переводами

Upload
  1. Перенести в папку Upload переводы которые нужно обновить

  2. Ввести ваш Steam логин и пароль в соответствующие поля

  3. Запустить скрипт
Общее
Как установить

Discord => Открыть канал #translations-tools => Скачать и распаковать архив в удобное место

Как обновить

Скачать новый архив, поместить в папку Translation Tools, запустить программу.

Особенности

Оригинальная программа не влияет на ваши файлы, все что она делает это копирует файлы, получает данные из файлов, создает новые файлы на основе полученных данных.

Один из скриптов аддона использует ваш Steam логин и пароль, которые безопасно указывать в оригинальной программе.

Условия использования

Данная программа задокументированная, ее запрещено редактировать и публиковать.

План

- скрипт для редактирования about.xml
- полная поддержка definjected
- кеширование оригинального текста для отслеживания изменений
- автоматическая проверка изменений по расписанию
- при извлечении текста к нему добавляется авто переведенная копия, которую можно использовать в качестве подсказки; или использовать как готовый машинный перевод
- поддержка, оптимизация, реализация ваших идей