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 с ошибкой