05 января 2018

Translate Shell - перевод на любой язык из командной строки

В настоящий момент проблем с переводчиками языков для компьютерных и мобильных систем практически нет. В любой операционной системе существуют, как графические программы для переводов на любой язык, так и встраиваемые переводчики, например, в браузеры, где переводы слова, абзаца или всего сайта можно делать на лету.
Но в этой статье мне хотелось бы рассказать о терминальном переводчике -  Translate Shell.

Translate Shell (ранее Google Translate CLI) - это переводчик командной строки, работающий на Google Translate (по умолчанию), а также Bing Translator , Yandex.Translate , DeepL Translator и Apertium. Это дает вам легкий доступ к одному из этих механизмов перевода в вашем терминале.
Translate Shell использует интерактивный перевод любого текста или отдельного слова с иностранного на ваш родной язык, установленный в системе по умолчанию, а также имеется возможность перевода в вашего родного на любой другой язык.

Установка Translate Shell

Инструмент командной строки Translate Shell доступен во многих дистрибутивах Linux. Установить его можно в системы под управлением .deb-пакетов (Ubuntu, Linux Mint, Deepin и пр.), выполнив в терминале следующую команду:

sudo apt install translate-shell

Либо загрузить и установить пакет с официального сайта загрузки https://pkgs.org/download/translate-shell

После того как Translate Shell установлен, откроем терминал и приступим к переводам.

Как я упоминал в начале статьи, интерактивный перевод иностранного слова, текста в терминале осуществляется на языке системы. Пример:
Предположим нам нужно перевести слово dog на наш родной язык, т.е. язык системы. Для этого достаточно ввести в терминале tans и через пробел искомое слово, в данном случае dog. Должна получиться следующая команда:

trans dog

После выполнения команды в терминале (нажатия клавиши Enter), мы  получаем перевод с подробным описанием данного слова и возможными вариантам перевода:


Таким образом можно переводить несколько слов одной командой и даже с разных языков. Пример:

trans dog hund perro


Я намеренно ввёл в команду три слова собака на разных языках:

dog - английский
hund - немецкий
perro - испанский

Как видно в терминале после выполненной команды, переводчик Translate Shell сам определил языки и сделал перевод каждого слова с пояснениями.

Другой пример.
Предположим, напротив, вам нужно перевести слово/слова с вашего родного языка на какой-то другой, к примеру английский. Для примера я взял слово курица. Для этого в терминальной команде после trans необходимо указать язык, на который вы хотите перевести :en - английский и само слово - курица. Команда должна выглядеть следующим образом:

trans :en курица


После выполнения данной команды, слово курица переводится на английский, как chicken и предлагается ещё ряд определений данного слова.

Для определения кодов языков, введите в терминале  trans -R или trans -T для просмотра справочной таблицы.


Если вы хотите перевести слово/слова без дополнительный пояснений, то после команды trans необходимо ввести операнд -brief или -b и само слово/слова.

 trans -brief dog hund perro

trans -b chicken


Помимо перевода слов, Translate Shel умеет делать перевод предложений, абзацев, текстовых файлов и даже сайтов.

Перевод предложений.

Для перевода предложений необходимо после trans ввести искомое предложение обрамлённое кавычками (одинарными - ' или двойными - ", главное чтобы они были одинаковые с обеих сторон). Пример:

trans 'Hello, world!'

trans "Hello, world!"


Также нужно обрамлять кавычками абзацы для перевода.

Перевести текстовый файл

Чтобы перевести текстовый файл, нужно чтобы он был сохранён в вашем файловом менеджере, а затем нужно указать путь к файлу, который хотите перевести. Для примера я сделал следующую заготовку файла trans.txt на испанском языке:


И составил команду на перевод файла:

trans file:///home/vladimir/trans.txt

Вот что получилось после выполнения команды.


Перевести веб-страницу

Чтобы перевести веб-страницу, в качестве аргумента может использоваться схема URI http (s). Для примера я использовал сайт http://www.omgubuntu.co.uk/

trans http://www.omgubuntu.co.uk/

После выполнения данной команды откроется искомая страница в браузере с переводом в translate.google.com.

P.S. Для дополнительных опций вы можете использовать помощь руководства trans в терминале:

man trans

А также можете узнать больше об этом инструменте на домашней странице проекта Translate Shell.

  P.S. Если у вас появились вопросы по данной статье, обсудить их можно на нашем форуме:
http://compizomania.54672.x6.nabble.com/Translate-Shell-td5892.html

Удачи.