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