LINUX.ORG.RU

| translate en ru


0

0

Помогите пожалста найти переводчик (en-ru) со следущими требованиями:
1. консольный, мне не нужны ГУИшные прибамбасы
2. мог переводить целиком текст, а не только слова по отдельности
3. мог читать текст из stdin, чтобы можно было запускать через конвеер (|). Причем, чтобы не писал ничего лишнего, если я ему даю "hello, world", то он должен в stdout выдать "привет, мир", ничего больше.
4. маленький
5. простой
6. желательно с раздельными словарями, чтобы можно было подключать при необходимости нужные словари по заданной тематике
7. дословного перевода хватит, мне не нужно чтобы он там полчаса переводил текст и давал ему литературный вид, я человек, поэтому пойму и переводы типа "Я ходить в магазин чтобы покупать пиво".

По-моему это самый "обычный" переводчик в стиле unix-way, но по непонятным причинам я не могу найти такого... Единственное, что нашел, это sdcv, но он не удовлетворяет п.2 и п.3, к тому же очень бесит длинные выводы с множеством бысмысленной инфы:
---
$ sdcv hello
Найдено 1 слов, похожих на hello.
-->dictd_www.mova.org_sokrat_enru
-->hello

hello
привет
---


Ответ на: комментарий от vene4ka

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

paxac
() автор топика
Ответ на: комментарий от paxac

на руби написалась за 5 минут:

#!/usr/bin/ruby

dict = Hash.new

File.open('en-ru.dic').each { |l|
  a, b = l.chomp.split(':')
  dict[a] = b
}

STDIN.each { |l|
  print l.downcase.gsub(/[a-zA-Z]+/) { |w|
    dict.has_key?(w) ? dict[w] : w
  }
}

Словарик стащил с какого-то виндовсного переводчика.

paxac
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.