Плагин Перевод WGTranslator [7.0.18+gh71]

WGTranslator
Краткое описание:
Форк WorldGuard с возможностью собственного перевода
2
68
Для версий
  1. 26.✘
Java
  1. Java 21
Исходный код
https://github.com/imDaniX/WGTranslator
Зависимости
WorldEdit

WorldGuard 7.0.18 | Minecraft26.1 - 26.2

WGTr big text


Описание​


WGTranslator - форк WorldGuard'а, позволяющий свободно переводить плагин на своё усмотрение без использования InJarTranslator и подобных инструментов - всё делается посредством старых-добрых конфигов. Для перевода доступно большинство строк плагина. Строки логирования и различный дебаг были опущены (чтобы я не сошёл с ума ещё и их править).

Проект пылился у меня на полке несколько лет. Решил оживить, потому что альтернатив так и не появилось.

Чтоб было на что опереться, в архив добавлен собственный перевод на русском. Для перевода однотипных сообщений использовалась нейросеть. Копия файлов перевода хранится на GitHub Gist - там может быть немного свежее, чем в архиве. Для перевода с нуля смотрите инструкцию ниже.


Процесс перевода​


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

При запуске плагин автоматически создаст два файла в папке ./plugins/WorldGuard:
  • translator.yml - в него записываются все основные переводимые строки плагина;
  • translator-commands.yml - здесь располагаются описания и примеры использования команд плагина.
После редактирования требуется прописать команду /wgtranslator (право wgtranslator.reload) - она перезагрузит строки из файла translator.yml. Некоторые строки могут потребовать перезагрузки сервера из-за особенностей работы WG.


Сложности перевода​


В список строк, требующих перезагрузки сервера, входит файл translator-commands.yml целиком - команды регистрируются при запуске плагина посредством устаревшей системы WorldEdit'а и не могут так легко быть изменены позже. Из-за упомянутой же системы, некоторые строки и вовсе не могут быть переведены. Например, строка "Too few arguments." при вводе /rg f отправляется самим WorldEdit'ом.

Может показаться, что ключи в файле translator.yml разбросаны в случайном порядке. В какой-то мере так и есть - они образовывались исходя из кода WorldGuard'а, и только местами собраны во что-то логичное.

Некоторые блоки текста по-странному состоят из нескольких строк. Это не моя прихоть - WorldGuard сам собирает такие куски текста во что-то цельное. Всё из-за его кривой интеграции с adventure. Ещё и версия adventure используется очень старая, из-за чего тот же MiniMessage вшить практически невозможно без переписывания фундаментальной работы плагина.

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

Автор

imDaniX
ВерхНиз