Transformer - веб-сервер для перевода текста

Назначение

Это переводчик текста, работающий как http-сервер.

Он позволяет подключаться с помощью обычного веб-браузера, вводить запросы на веб-странице и видеть результат перевода опять-таки как веб-страницу. Также на его основе можно создавать гаджеты для боковой панели.

англо-русский перевод слов и словосочетаний
гаджет для боковой панели, взаимодействующий с сервером перевода
взаимодействие с сервером переводов через веб-браузер - англо-русский переводчик для слов и словосочетаний
гаджет для боковой панели, взаимодействующий с сервером переводов через XMLHttpRequest


Он основан на том же исходном коде, что и Экранный Переводчик, и использует те же самые словарные модули.

Реализация

Это консольная утилита, написанная на C++, компилирующаяся и работающая под 32 и 64-битными версиями Windows и Linux.

Серверный код основан на библиотеке Mongoose - HTTP сервере с открытым исходным текстом.

Параметры командной строки

Ряд важных для работы сервера параметров указывается в командной строке при его запуске.

Указание на текстовый файл для сохранения результатов перевода в пакетном (не серверном) варианте исполнения:

-o путь_к_файлу

Запуск в режиме HTTP сервера с привязкой к указанному ip и порту:

-server ip port

Задание имени сценария трансформации, для перевода обычно надо указать "translate", хотя разработчик модуля перевода может задать и другое имя сценария:

-transform имя_сценария

Задание языка входных текстов, необходимое для правильной сегментации текста; без такого указания сервер будет тратить время на предварительное распознавание языка для каждой поступающей фразы, хотя и сможет переводить с нескольких языков, если разработчик модуля перевода предусмотрел такой режим:

-language имя_языка

Задание формата результатов, в которых они возвращаются клиенту; допустимы форматы txt, html, xml, html0 (без тегов <html> и <body>):

-yield_format формат

Указание на путь к каталогу с файлами словаря, обычно это путь к каталогу с файлом dictionary.xml:

-dictdir путь_к_каталогу_словаря

Использовать для взаимодействия с веб-клиентом метод POST вместо GET.

-post

Запретить предзагрузку словарных модулей при старте программы, то есть реализовать ленивую загрузку при поступлении первого запроса на перевод:

-preload-

Включить фильтр переводов на основе базы N-грамм:

-ngrams

Писать журнал работы сервера в указанный лог-файл:

-logfile имя_файла

Использовать указанный pid-файл для блокировки повторного запуска сервера

-pidfile имя_файла

Использовать HTML-файл для выдачи клиенту в качестве веб-формы ввода запроса, что позволяет кастомизировать сервер перевода под конкретную задачу:

-htmlfile путь_к_файлу

Задать параметр и его значение, передаваемые в сценарий перевода:

-param параметр значение

Дистрибутив

Исполнимые модули под Windows и Linux (платформы 32/64) со скриптами поддержки входит в состав SDK Грамматического Словаря.

Примеры запуска

В подкаталоге ...\scripts\translation в дистрибутиве SDK есть несколько командных файлов для запуска сервера переводов:

server-en.cmd - англо-русский переводчик с минималистской веб-формой для ввода запроса в браузере

server.cmd и server.sh - японско-русский переводчик (варианты для Windows и Linux соответственно), веб-форма позволяет задавать тематику (теги)

Проверка и добавление переводов

Для отладки переводчика, в частности для просмотра присутствующих в тезаурусе переводов и пошаговой отладки правил трансформации можно использовать следующие утилиты в составе SDK Грамматического Словаря:

lexicon - поиск словарных статей в лексиконе, поиск связанный словарных и фразовых статей в тезаурусе, поиск данных в базе N-грамм

syntax - пошаговый интерактивный консольный отладчик сценариев трансформации

Дополнительные материалы

Настольный Переводчик

Редактор Словаря Переводов

  © Козиев Илья 2019
изменено 18-Sep-10