- Ссылка на ресурс
- https://enginehub.org/worldguard
- Поддерживаемые версии
- 1.21
- 26
You must be logged in to see this link. - форк WorldGuard'а, позволяющий свободно переводить плагин на своё усмотрение. Для перевода доступна большая часть строк плагина. Строки логирования и различный дебаг были опущены (чтобы я не сошёл с ума ещё и их править).
Проект пылился у меня на полке несколько лет. Решил оживить, потому что альтернатив так и не появилось.
Непосредственно перевод на русский, включённый в архив, делался в том числе с помощью нейросетей - для перевода кучи однотипных сообщений. Копия файлов перевода хранится на You must be logged in to see this link. (может быть немного свежее, чем в архиве). Для перевода с нуля можете посмотреть инструкцию ниже. Код плагина был написан вручную.
Процесс перевода
При запуске плагин автоматически создаёт два файла в папке./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 вшить практически невозможно без переписывания всего плагина.
Чисто технически, некоторые пункты можно оформить посредством различных трюков с рефлексией, но это значительно повысит комплексность проекта, чему я буду не очень рад.