Можно ли переводить слова через терминал?

Я хотел бы перевести слова с английского языка на язык X через терминал

  • Если это возможно, какие существуют словари?

  • Можно ли использовать онлайн-сервисы, такие как через webxicon.org через терминал?

9 ответов

Решение

Для автономного использования:

Вы можете установить dictd сервер и использовать базу данных словаря Freedict для перевода слов.

Установите dictd:

sudo apt-get install dictd

dictd

Установите базу данных переводов. например. dict-freedict-eng-fra для перевода с английского на французский, dict-freedict-eng-spa для перевода с английского на испанский.

sudo apt-get install dict-freedict-eng-fra
sudo apt-get install dict-freedict-eng-spa

freedictDB

Использование:

Просмотр списка баз данных:

dict -D

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

dict -d fd-eng-spa "how are you?"

snapHowRU

Для онлайн использования:

устанавливать libtranslate-bin с:

sudo apt-get install libtranslate-bin

например. используя онлайн-переводчик Google:

echo "what are you doing" | translate-bin -s google -f en -t fr

onlineGoogleTranslate


Оффлайн словарь английского языка в терминале:

Установка английских словарных баз данных (gcide, wn, devil):

sudo apt-get install dict-gcide
sudo apt-get install dict-wn
sudo apt-get install dict-devil

Установка базы данных английского тезауруса (moby-thesaurus):

sudo apt-get install dict-moby-thesaurus

Использование:

  1. Используя конкретную базу данных (например, WordNet - wn):

    dict -d wn "dictionary"
    
  2. Если вы не укажете базу данных dict, вы получите определения / переводы / тезаурус из всех доступных баз данных. например.

    dict "dictionary"
    

Перевести Shell

Translate Shell (от Google Translate CLI) - это инструмент, который позволяет вам переводить текст из командной строки с помощью Google Translate.

Монтаж

$ wget git.io/trans
$ chmod +x ./trans

Или же

sudo apt install translate-shell

Или же

$ git clone https://github.com/soimort/translate-shell
$ cd translate-shell/
$ make
$ [sudo] make install

использование

Переводить

trans en:de "The quick brown fox jumps over the lazy dog"  # Translate to German (de)
trans es: "Igualdad, fraternidad y libertad"  # From Spanish to your `locale`
trans :fr "Igualdad, fraternidad y libertad"  # From your `locale` to French
trans -b :fr "Igualdad, fraternidad y libertad"  # Same but `-brief`

В качестве словаря: Google Translate можно использовать в качестве словаря при использовании параметра lang from==to или -d

trans -d fr: mot

Дополнительную информацию и некоторые примеры можно найти на официальном сайте

В зависимости от языка, который вы хотите, проверьте Apertium для автономного машинного перевода через терминал. Кажется, что основное внимание уделяется романским языкам (ES, FR, PT, CAT, OCC...), но похоже, что они медленно добавляют различные новые языки.

Для испанского вы должны установить:

sudo apt install apertium apertium-en-es

echo "Hola Mundo." | apertium -a es-en
> Hello world.

Он основан на терминалах, но есть также базовый графический интерфейс: apertium-tolk

Версия в репозитории старше, если вы хотите более новую версию, следуйте инструкциям по установке.

Argos Translate переводит целые предложения с терминала в автономном режиме

https://github.com/argosopentech/argos-translate

      pip -m pip install --user argostranslate

Это загружает около 600 МБ.

Загрузите интересующие модели со страницы: https://drive.google.com/drive/folders/11wxM3Ze7NCgOk_tdtRjwet10DmtvFu3i . Каждая модель является однонаправленной (например, с английского на китайский или с китайского на английский) и имеет размер около 80 МБ.

Откройте графический интерфейс и установите загруженные модели (TODO не удалось найти способ CLI)

      argostranslate

Затем вы переходите в меню «Управление пакетами» и выбираете загруженный файл.

Как только это будет сделано, например, с китайско-английским пакетом, теперь я могу сделать:

      argos-translate-cli --from-lang zh --to-lang en '什么意思?'

и вывод:

      What is meant?

что является полуразумным. Я бы, наверное, перевел это как «Что вы имеете в виду?».

Графический интерфейс также удобен, так как немного удобнее вставлять данные из Интернета в графический интерфейс, а не в терминал:

Пример из практики: письмо Синь Юэ

А теперь более реалистичный тест из: https://github.com/sikaozhe1997/Xin-Yue Вот некоторый контекст . Письмо должно быть на очень правильном и прямом китайском языке.

Я попытался вставить текст в файл, а затем:

      argos-translate-cli --from-lang zh --to-lang en $(cat input.txt)

но это не сработало очень хорошо. Похоже, что в настоящее время у них нет метода ввода данных из файла, но командная строка помечена как «бета», так что дайте им немного послабления.

Так что перевод ниже из графического интерфейса. Я немного исправил форматирование, но текст не изменился.

Китайский оригинал :

在此,我正式向北京大学外国语学院提出以下诉求:

  1. 北京大学学院应公开书面说明越过向 向 施压、凌晨到宿舍强行约谈我、要求我申请信息一事相关资料所 所 依据规章制度,对过程违法 操作 明确 依据 的 规章 , 对 过程 违规明确 并 并 并 并采取措施避免此类事件再次发生。
  2. 北京大学学院应立即停止一切对我家人的施压行为向我已经遭受惊吓的母亲正式并澄清事实,帮助因此事的家庭紧张关系。。。 关系
  3. 北京 大学 学院 必须 公开 书面 保证 此 事 不 会 对 本人 一 事 产生 影响 , 并不 再 就 此 事 干扰 我 的 写作 进程。。
  4. 北京大学外国语学院负责消除此事对本人学业、未来就业和家人的其他一切不良影响。
  5. 北京大学外国语学院应明确就以上诉求进行公开书面回复,给关注此事的大家一个交代。

我 将 通过 法律 手段 进一步 追究 相关 个人 和 单位 责任 一切 权利 , 包括 但 不 限于 向 大学 和 上级 主管 举报 外国语 严重 违反 校纪 的 行为。

北京大学外国语学院14级本科生岳昕

Аргос Перевод :

Здесь я формально выдвигаю следующие претензии к Институту иностранных языков Пекинского университета:

  1. Институт иностранных языков Пекинского университета должен сделать публичное письменное заявление о нормативно-правовой базе, в соответствии с которой я оказывал давление на родителей, входил в дом и просил меня удалить информацию о заявлении о раскрытии информации, а также разъяснить о совершении правонарушений и принять меры во избежание повторения подобных инцидентов.
  2. Институт иностранных языков Пекинского университета должен немедленно прекратить всякое давление на мою семью, официально разъяснив факты матери, которой угрожали, и помогая восстановить напряженность в семье, возникшую в результате событий.
  3. Институт иностранных языков Пекинского университета должен публично и в письменной форме гарантировать, что этот вопрос не повлияет на его выпуск и не будет продолжать мешать процессу написания моей статьи по этому вопросу.
  4. Институт иностранных языков Пекинского университета несет ответственность за устранение любого другого негативного влияния этого вопроса на его собственное образование, будущую работу и семью.
  5. Колледж иностранных языков Пекинского университета должен дать четкий письменный ответ на вышеуказанные претензии и предоставить право голоса всем заинтересованным сторонам.

Я сохраняю за собой все права на дальнейшее привлечение к ответственности соответствующих лиц и подразделений с помощью юридических средств, включая, помимо прочего, сообщение в Пекинский университет и вышестоящие органы о серьезных нарушениях дисциплины иностранных языков.

Колледж иностранных языков Пекинского университета, 14 класс бакалавриат

Ручной (TODO подтвердить) перевод:

Настоящим я официально прошу от Школы иностранных языков Пекинского университета следующее:

  1. Школа иностранных языков Пекинского университета должна официально и публично заявить о правилах, в соответствии с которыми они оказали давление на моего родителя без моего ведома, внезапно взяли интервью у меня в общежитии в час ночи и попросили удалить информацию, связанную с запросом о свободе информации. Укажите незаконные действия и предложите меры, чтобы это больше не повторилось.
  2. Школа иностранных языков Пекинского университета должна немедленно прекратить любые действия по оказанию давления на мою семью, принести официальные извинения и разъяснить факты моей напуганной матери, а также помочь восстановить семейные отношения, обострившиеся после этого инцидента.
  3. Школа иностранных языков Пекинского университета должна дать официальное обещание, что этот инцидент не повлияет на мой выпуск и не помешает моей подготовке к диссертации в будущем.
  4. Школа иностранных языков Пекинского университета несет ответственность за устранение всех других негативных последствий для моей учебы, будущей работы и семьи, вызванных этим инцидентом.
  5. Школе иностранных языков Пекинского университета следует публично дать письменный ответ на вышеуказанные обращения, в качестве разъяснения тем, кого волнует этот вопрос.

Я оставляю за собой право возбуждать судебные иски против связанных лиц и организаций, включая, помимо прочего, сообщение Пекинскому университету и вышестоящим администрациям о серьезных нарушениях Кодекса поведения, допущенных Школой иностранных языков.

Студентка бакалавриата Юэ Синь, выпуск 2018 г. Школы иностранных языков Пекинского университета

Гугл переводчик:

Здесь я формально предъявляю следующие требования к Школе иностранных языков Пекинского университета:

  1. Школа иностранных языков Пекинского университета должна публично объяснить в письменной форме, что я не могу оказать давление на моих родителей, пришла в общежитие, чтобы взять у меня интервью рано утром, и попросила меня удалить соответствующую информацию, связанную с заявлением о раскрытии информации. . Правила и положения должны быть уточнены. Примите меры, чтобы подобные инциденты больше не повторялись.
  2. Школа иностранных языков Пекинского университета должна немедленно прекратить все акты давления на мою семью, принести официальные извинения и разъяснить факты моей напуганной матери, а также помочь снять напряженность в семье, вызванную инцидентом.
  3. Школа иностранных языков Пекинского университета должна публично гарантировать, что этот вопрос не повлияет на мой выпуск и не будет продолжать мешать процессу написания моей диссертации.
  4. Школа иностранных языков Пекинского университета несет ответственность за устранение всех других неблагоприятных последствий этого инцидента для моей учебы, будущей работы и членов семьи.
  5. Школа иностранных языков Пекинского университета должна четко ответить в письменной форме на апелляционную просьбу и дать всем, кого это волнует.

Я оставляю за собой все права на дальнейшее выполнение обязанностей соответствующих лиц и подразделений с помощью юридических средств, включая, помимо прочего, сообщение о серьезных нарушениях школьной дисциплины Школой иностранных языков в Пекинский университет и вышестоящие органы.

Юэ Синь, студентка 14-го курса Школы иностранных языков Пекинского университета.

Итак, мы видим, что Google Translate еще немного лучше. Но в этом проекте есть надежда!

Протестировано на Ubuntu 20.10, argostranslate==1.0.6.

Я написал простую базу переводчиков для командной строки на Google Translate с использованием Python.

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

Это по лицензии MIT.

Предварительные требования: Python2.x для Linux - это все, что нужно, он еще не поддерживает python3, я могу это исправить позже.

Перевести "жизнь" на португальский. Пример ниже: (рысь должна быть установлена)

lynx -source 'http://translate.google.com/translate_t?langpair=en|pt&text='life |awk {'print $852'} | cut -d = -f5 |cut -d ';' -f1 |awk 'NF>0'

Где "en" - английский, а "pt" - португальский

Выход:
"Вид"

Взгляните на ответ, основанный на sdcv здесь (он также имеет словари от "Xlanguage" до "Ylanguage"):

Есть ли автономный словарь командной строки?

Следует также проверить серфинг. После установки вы можете получить значение слова через sr webster difficultWord, Один из способов перевода будет через sr google difficultword in hindi. Возможно, будут и другие варианты перевода.

Я написал простой переводчик командной строки на основе текстовых файлов. Он также воспроизводит аудиофайл, если он существует. У меня уже есть база аудиофайлов, и если я их не нахожу, я загружаю их из базы данных Google.

Существует также интерфейс командной строки для dict.leo.org, который обеспечивает перевод между немецким и английским/испанским/французским/русским/португальским/польским/китайским. В Ubuntu пакет называется libwww-dict-leo-org-perl.

Другие вопросы по тегам