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

Зависимости
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