Skip to content

pahanix/contra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Console Translator (Консольный переводчик)
==========================================

Переводит слово или фразу через Яндекс.Lingvo или Мультитран в зависисмости от настроек
Направление перевода Eng -> Rus

== Установка

Для запуска необходимы ruby и rubygems
sudo gem install hpricot do_sqlite3 dm-core data_mapper

== Запуск 

ruby dictionary

Или как исполняемый файл
./dictionary 

== Зависимости
rubygems
hpricot
do_sqlite3
dm-core
data_mapper
readline

== Тесты

запускаем autospec

== Troubleshooting

Ubuntu 8.04

ERROR:  Error installing do_sqlite3:
	ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb install do_sqlite3
checking for sqlite3.h... no
*** extconf.rb failed ***

Solution
sudo apt-get install libsqlite3-dev

== Идеи развития

* Собирать статистику по словам и хранить перевод в базе (DataMapper, Sqlite)
* Составлять словарик
* Автодополнение и история запросов (?) 
* Scrubyt для парсинга (?)
* Подсветку слов
* Смена переводчика на лету
* Перевод слова в одном (Яндекс.Lingvo), а фразы в другом (Multitran)
* Добавить Google Translate (для перевода куска текста?)
* Автоопределение языка
* Вынести настройки в .yml
* использовать HAML для отчетов

== History

Версия 0.1.7
* отрефакторен и почищен код
* все зависимости (require) вынесены в boot.rb
* добавлен класс конфига Translator::Config
* добавлены spec.opts (чтобы autospec запускался цветным)
* дополнение фраз вынесена в отдельный метод (completion_proc)
* написаны спеки для console.rb
* пофикшен потенциальный баг в определении слова или фразы, если строка начинается с пробела
* пофикшен баг с дополнением, если слово полностью совпало, но другие варианты еще есть
* вместо net/http используется open-uri (исчезли методы detect_charset и http_request_body для Parser::Base)

Версия 0.1.6
* слова автоматически переводятся в Яндекс.Лингво, а фразы в Мультитране
* изменены namespaces, парсеры теперь в модуле Parser
* отрефакторен базовый парсер Parser::Base
* написаны спеки для парсеров
* welcome message с описанием программы в отдельном файле
* исправлен баг с записью пустого значения перевода, если перевод не найден
* программа не пытается перевести пустой символ
* исправлен баг парсинга перевода от Мультитрана для фраз

Версия 0.1.5
* добавлено автодополнение ранее введенных фраз (через Tab)
* история вынесена в отдельный класс
* автоматическое сохранение истории при выходе (даже через ^C) через Kernel.at_exit { save_history } 

Версия 0.1.4
 * добавлена поддержка readline (возможность редактирования вводимой строки с историей ввода)
 * добавлено сохранение истории в файл .history
 * сортировка и унификация истории в обратном порядке (от последнего к первому)

Версия 0.1.3
 * добавлена возможность выполнять команды (прототип)
 * добавлена команда выхода :exit
 * обработка ошибки подключения к серверу

Версия 0.1.2
 * файл с базой перенесен в папку db/
 * файл с логом перенесен в папку log/
 * Изменен стиль запуска, запускамый файл переименован в dictionary
 * Загрузка компонентов выделена в отдельный boot.rb файл

Версия 0.1.1
 * добавлено кэширование введенных запросов в локальной базе данных (DataMapper, Sqlite)
 * учитывается количество запросов фраз
 * принудительный вывод в $stdout (c flush)

Версия 0.1
 * добавлена простейшая консоль
 * добавлен парсер Яндекс.Lingvo (en->ru)
 * добавлен парсер Multitran (en->ru)

About

Console Translator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages