5 месяцев назад История
README.md

TransMod

Плагин для IRC клиента HexChat, переводит входящие сообщения от пользователей на текущий язык в системе, язык определяется автоматически, в чат могут писать по-русски, на английском, японском, китайском и так далее, определением того с какого языка переводить и непосредственно самим переводом занимается внешняя программа, translate-shell, для работы плагина, требуется её установка. Это популярная утилитна доступна в репозиториях мноджества дистрибутивов. Переводятся только сообщения пользователей, служебные сообщения не переводятся. Так же по умолчанию переводится только текущий активный, выбранный чат. При желании можно добавить чат в белый список /TRFW, тогда он будет переводится всегда. Справедливо и обратное, при добавлении в чёрный список /TRFB чат никогда не будет переводится. Можно вернуть чат в автоматический режим, удалив его из списков фильтрации /TRFD

Реализация плагина для XChat

img img

Зависимости

sudo apt install translate-shell hexchat

Сборка

sudo apt install gcc make
make

Продвинутая сборка

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

EXTERN_HEADER=0    # сборка плагина с внешним заголовочным файлом, по умолчанию (0)
ONSTART_ENABLE=1   # плагин включён, по умолчанию (1)
ONE_TAB_ENABLE=1   # плагин переводит только активный чат, по умолчанию (1)
SHOW_PAIRS_MSG=1   # плагин отображает перевод и оригинал, по умолчанию (1)
SHOW_LANG_NAME=1   # плагин отображает название языка оригинала, по умолчанию (1)
DCC_MSG_ENABLE=0   # плагин переводит личные DCC, по умолчанию (0)
TRANSLATE_RULE=":" # плагин по умолчанию сам определяет язык оригинала и системы

Эти параметры, по выбору, можно передать например так:

make SHOW_LANG_NAME=0 TRANSLATE_RULE=":ru"`

Если были изменены параметры по умолчанию, при пересборке и переустановке плагина то чтобы эти новые параметры вступили в силу можно сбросить настройки /TR-RESET так как предыдущие настройки, если они были, перекрывают настройки по умолчанию.

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

apt install hexchat-dev

и выполнить сборку так

make EXTERN_HEADER=1 

Установка и удаление

Локально

make install
make uninstall
  • Плагин $HOME/.config/hexchat/addons
  • Документация $HOME/.local/share/doc/hexchat-transmod

Варианты ручной подгрузки плагина

  • Из меню HexChat->Load Plugin or Script
  • Из чата командой /load transmod.so после make install
  • Из чата командой /load /full/path/to/file/transmod.so без make install

Использование

  • Опционально можно давать комманды плагину из чата
    • /TRH Отобразить справку
    • /TRO В режиме переключателя включить/выключить перевода только текущего чата (по умолчанию включено)
    • /TRT В режиме переключателя включить/выключить плагин
    • /TRD В режиме переключателя включить/выключить перевод DCC (по умолчанию выключено)
    • /TRI В режиме переключателя включить/выключить отображения языка оригинала (по умолчанию выключено)
    • /TRP Включить режим отображения пары сообщений оригинал и перевод (по умолчанию включено)
    • /TRS Включить режим отображения только переведённого сообщения
  • Выбор языка, по умолчанию входящий язык и язык системы определяются автоматически
    • /TRL : Полностью автоматический режим
    • /TRL en: Пытаться переводить с англиского, а автоматически выбранный
    • /TRL :ru Аавтоматически определить язык и перевести на русский
    • /TR-LIST Отобразить короткие имена языков для /TRL команды
    • /TR-RESET Сбросить настройки плагина на значения по умолчанию
  • Фильтрация чатов, по белым и чёрным спискам фильтрации
    • /TRFW Добавить чат в белый список, переводится всегда
    • /TRFB Добавить чат в чёрный списко, никогда не переводится
    • /TRF-LIST Отобразить белые и чёрные списки фильтрации
    • /TRF-RESET-ALL Сбросить белые и чёрные списки фильтрации
    • /TRF-RESET-WHITELIST Сбросить белый список фильтрации
    • /TRF-RESET-BLACKLIST Сбросить чёрный список фильтрации
  • Кнопки управления в графическом интерфейсе
    • /TR-BUTTONS-ADD Добавить кнопки в User List Buttons
    • /TR-BUTTONS-DEL Удалить кнопки из User List Buttons

Настройки выбора языка нужны если, автоматическое определение языка входящих сообщений ошибается, или/и если язык системы определился например неправильно.

На заметку

Если вам нужны более продвинутые настройки перевода то прочитайте man trans.

HexChat позволяет выводить сообщения из чатов в области уведомлений, если вы хотите видеть там и переведённые сообщения тоже, то установите галочку в

  • Настройки->Установки->Уведомления
    •  Сообщения чата (отображать оригинальные сообщения)
    •  Выделенные сообщения (отображать преведённые сообщения)

Зачем

В теме https://www.linux.org.ru/forum/desktop/17949182 пользователю piyavking захотелось такой плагин, а мне стало интересно покопаться и попробовать сделать.

Описание

Плагин автоперевода сообщений для IRC клиента hexchat

Релизы
transmod 0.5.1 2025-05-09
Конвейеры
0 успешных
0 с ошибкой