Skip to content

Машинный перевод модов с небольшими правками. Основан на программе-переводчике https://github.com/Kazbek/StarSectorLocalizer

Notifications You must be signed in to change notification settings

WhitePulsar/StarSectorLocalizer-Machine-MODS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

StarSectorLocalizer-Machine-MODS (Машинный перевод Модов)

#На текущий момент (08.04.2023) переводчик не умеет обрабатывать символ комментариев # в json файлах, по этому если будете испльзовать словари отсюда, то в исходных файлах (те которые будете переводить) нужно удалить все комментарии. Это не касается jar.

Название Мода Краткое описание Версия мода Состояние перевода Проверка работоспособности
Industrial Evolution 3.2.c txt, json, csv ≈95%, jar ≈98%? Игра запускается =)
Fleet Journal 1.06 txt, json, csv ≈95%, jar ≈0% Игра запускается =)
Mayasuran Navy 9.0.0 txt, json, csv ≈95%, jar ≈0% Игра запускается =)
Nexerelin 0.10.6d txt, json, csv ≈95%, jar ≈0% Игра запускается =)

*(Зачёркнутые надо в словари превратить, сами файлы переведённые имеются)

Как переводить файлы?

На данный момент патчер может автоматичечки переводить файлы нескольких типов, а именно: txt, csv, json, jar. Все файлы переводов должны находиться в той же папке (по иерархии относительно корня игры), что и файл они переводят. В зависимости от типа файла и обработчика к его названию добавляется постфикс, а какой именно описано в каждом отдельном случае далее. Также учитывайте, что все ключи переводов чувствительны к регистру.

Перевод txt файлов

Самыми простыми для переводя являются txt файлы. Для этого требуется в оригинальный файл на новую строку добавить [###StarSectorLocalization###], а со следующей строки поместить перевод. Важно сохранить исходный текст в оригинале, т.к. патчер сравнивает его с тем, что найдёт в файле игры, и в случае обновления текста в новых версиях игры, можно будет уведомить о необходимости корректировки перевода. В точности разделителем между оригинальным текстом и переводом является строка вида "\r\n[###StarSectorLocalization###]\r\n", код обработки txt файлов можно найти здесь.

Постфикс к названию файла: .translation.txt

Пример перевода txt файла: ссылка

Перевод json файлов

Для перевода json файла потребуется создать json файл - словарь, который будет содержать пары "ключ - значение", где в качестве ключа буднт выступать оригинальный текст, а в качестве значений перевод. Во время подготовки имеет смысл создать полный список фраз к переводу, а затем уже переводить. В таком случае в качестве перевода можно будет указывать значение null, которое будет игнорироваться при переводе. Либо его можно использовать, когда Вы точно не уверены как правильно перевести ту или иную фразу.

Постфикс к названию файла: .translation.json

Пример перевода json файла: ссылка

Перевод jar файлов

На данный момент основная часть пользовательского интерфейса заключена в jar файлах. Создание перевода для них ничем не отличается по виду от json файлов, требуется создать такие же пары "ключ - значение", однако, найти фразы для перевода несколько сложнее. Поэтому были заранее подготовлены для файла-шаблона для перевода (сейчас это необходимо только для двух файлов), где непереведенный текст имеет значение null.

Переводы для starfarer.api.jar и starfarer_obf.jar

Во время перевода jar файлов происходит их базовый анализ, чтобы предотвратить переименование названия переменных и параметров (например, строковая константа "ship" иногда является параметром используемым в динамическом вызове, а не текстом интерфейса), но это блокирует перевод фразы во всём классе целиком, из-за чего могут оставаться непереведенные места даже если фраза указана в словаре.

Перевод csv файлов

При переводе csv файлов создаётся json файл в котоом указывается перечень столбцов, которые требуется переводить (в элементе "TranslatedColumns"), и переводы "ключ - значение" (в элементе "Translations").

Постфикс к названию файла: .translation.json

Пример перевода json файла: ссылка

Прочие файлы

Если в папке с переводами содержится файл называющийся в точности как оригинальный, то он просто его перезапишет. Так, в частности, работает локализация шрифтов.

Локализация шрифтов

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

Локализованные шрифты находятся здесь ссылка.

About

Машинный перевод модов с небольшими правками. Основан на программе-переводчике https://github.com/Kazbek/StarSectorLocalizer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published