Журнал LinuxFormat - перейти на главную

LXF77:Программы для перевода

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(Новая: __TOC__ = Prawda ли в Linux можно переводить? = ''Член команды переводчиков LXF '''Александр Бикмеев''' готов подели...)

Версия 06:14, 18 марта 2008

Содержание


Prawda ли в Linux можно переводить?

Член команды переводчиков LXF Александр Бикмеев готов поделиться с вами своими наблюдениями.

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

Существует два подхода к переводу текстов: ручной перевод при помощи обычного или электронного словаря и автоматический перевод при помощи программы-переводчика. Первый предполагает знакомство с языком оригинала, второй – хорошее знание предметной области текста. Как-то Промт перевел мне слово “digg” (кирка) как стоматологический экскаватор, и если бы я не знал, что речь идет о геологе из игры Settlers, то ничего бы не понял. Именно из-за таких «шуток» электронных переводчиков, многие знающие язык люди предпочитают пользоваться словарями.

Для ОС Windows существует огромное количество программ как первого, так и второго типа, но в Linux ситуация иная. В связи с этим в форумах часто встречается мнение: «Поставь wine, на него Promt, и будь счастлив». Однако мы пойдем другим путем и посмотрим на открытые приложения, работающие в Linux без эмуляции.

Prawda есть!

В настоящее время в распоряжении русскоязычных пользователей имеется всего одна программа-переводчик. Это консольная Prawda (анисимов Д. В., http://www.prawda.newmail.ru). При помощи версии 0.4.0 можно перевести тексты с английского и эсперанто на русский. Обратный перевод пока не реализован. В программе используется словарь мюллера (англ.-рус.) и словарь Бокарева (эсперанто).

Внеший вид программы вполне стандартен и, пожалуй, вызовет ностальгические чувства у ветеранов DOS. Верхнее окно хранит исходный текст, нижнее – перевод. Поскольку программа консольная, то все возможности Prawda сосредоточены в текстовом меню, а также доступны по функциональным клавишам.

Программа может показаться неудобной в использовании. К тому же она способна переводить только такие простые предложения, как «You are speaking very well». Кроме того, при переводе не сохраняется форматирование исходного текста. Для того, чтобы сохранить форматирование, необходимо залезть поглубже в меню, вызвать специальный режим, вручную указать границы фраз и абзацев, на что способен не каждый. Кроме того, программа весьма нестабильна при работе с большими или специализированными текстами. Например, при попытке перевода инструкции по установке приложения она «вылетает» без каких-либо объяснений.

Однако, критика – дело хорошее только тогда, когда есть с чем сравнивать. Это единственная программа электронного перевода и само ее наличие внушает оптимизм. Не смотря на ее практически полную бесполезность для рядового пользователя, она может оказаться интересной для разработчиков. Дело в том, что с программой поставляются не только исходные тексты, но и достаточно подробное описание базовой идеи и внутреннего устройства. Более того, автор приглашает всех желающих поучаствовать в разработке. Так что если взяться сообща, то может быть, и выйдет что-то стоящее.

Стоит отметить, что на западе существует несколько систем машинного перевода для Linux. Это бесплатная система OpenLogos, способная осуществлять перевод между английским, французским, немецким, итальянским, португальским и испанским языками и базирующаяся на PostgreSQL, а также коммерческая система Terus (www.terus.co.il), способная осуществлять перевод с иврита на русский и обратно. На форумах нередко встречаются заявления, что кто-то взялся за портирование Promt на Linux, однако результатов пока не видно.

Мюллер и все, все, все...

Пользователи Linux в россии (да и во всем мире), в основном, более-менее знакомы с английским языком, и потому программы-переводчики с их проблемами им не особо нужны. Однако, эта группа людей остро нуждается в электронных словарях. И здесь Linux, наверное, впереди планеты всей.

В сети существует огромное количество словарей для различных языков. Как и любой файл данных, они имеют некоторый внутренний формат. Наиболее известны следующие форматы и языки разметки электронных словарей: Mova, XDXF, Dict, Ding и DSL. Соответственно можно найти огромное количество программ, способных читать и использовать словари каждого формата. В Linux особо распространены четыре первых разновидности. DSL – это общедоступный язык для описания словарей, разработанный компанией ABBYY (http://www.abbyy.ru) для системы Lingvo. На сайте www.lingvoDA.ru можно найти множество созданных энтузиастами специализированных словарей, написанных «на DSL». Перед использованием словаря, сохраненного в формате DSL, его необходимо скомпилировать в закрытое внутреннее представление при помощи программы Dslcomp, входящей в состав Lingvo 6 и выше. Поскольку «фирменные» словари Lingvo распространяются в уже откомпилированном виде, воспользоваться ими из-под Linux не удастся. Побродив по сети, можно найти огромное количество других специализированных словарей, а также «стандартный набор»: словарь мюллера, Даля, Королева и др.

Словари в формате Mova, а также ссылки на ресурсы со словарями и программами, можно взять на сайтах http://mueller-dic.chat.ru/ и http://www.mova.org. Словари в формате DICT на сайте www.dict.org. Словари в формате XDXF, а так-же единственную программу для работу с ними, которую мне удалось найти, можно взять на сайте atla.sourceforge.net/ru/.

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

Первой программой, появившейся на моем компьютере была Qlingvo (http://sanches.boom.ru). Это электронный словарь, способный открывать словари в формате Mova. Интерфейс Qlingvo достаточно прост и напоминает Lingvo для Windows. Это окно с панелью инструментов, прокручиваемым списком слов из открытого словаря и строкой ввода текста для поиска. Поиск производится автоматически по мере ввода слова. таким образом, достаточно набрать несколько букв и слово будет найдено. Имеющаяся на сайте версия 0.24 способна показывать транскрипцию, воспроизводить звук, то есть произношение слов, а также конвертировать словари из формата Dict в формат Mova и объединять несколько словарей в один. Последняя функция как нельзя кстати, поскольку Qlingvo может открыть и использовать только один словарь. Если необходимо найти перевод в другом словаре, то словари легко переключаются, однако проще объединить несколько словарей в один большой и подключать только его. Словари в формате Mova просто копируются в каталог для хранения словарей и становятся доступны из программы без дополнительных действий. Qlingvo не идеален, но является, на мой взгляд, прекрасным электронным словарем.

Затем был установлен словарь-переводчик КSocrat (http://ksocrat.linux.kiev.ua), использующий словари от одноименного приложения Windows. Словари можно поместить в произвольный каталог, а затем подключить любой из них в настройках программы. Одновременно можно подключить только два словаря: один англо-русский и один русско-английский. Таким образом, KSocrat может осуществлять перевод в обе стороны, автоматически определять направление перевода, а также переводить текст буфере обмена. Однако, это не автоматический переводчик, хотя такое мнение иногда встречается. KSocrat разбивает фразу на отдельные слова и выдает их перевод, а пользователь должен сам составить из них конечный текст. У данной программы есть существенные недостатки. Например, если слово не найдено в словаре, то оно просто пропускается без каких-либо сообщений. Это относится даже к словам в другом падеже, например, перевод слова сад выводится, а саду – нет. Обнаружена еще и такая ошибка: при вводе достаточно большой строки, которая затем помещается в историю, ширина окна программы автоматически увеличивается до размера наибольшей строки. Избавиться от этого можно, только очистив историю переводов и перезапустив программу. Что самое неприятное, программа не обновляется с 2004 года, поэтому надеяться на скорое исправление недочетов не приходится. Пользоваться данным приложением для перевода больших текстов трудно, но можно, когда нужно получить подстрочник для одной фразы.

Далее была запущена программа Atlantida (http://sourceforge.net/projects/atla), работающая со словарями в Формате XDXF. Программа написана на Java, представляет собой один файл и для работы требует Java 2 Runtime Environment (JRE или j2re) от Sun Microsystems версии 1.5.0_01 или новее. По заявлению разработчика, программа далека от завершения и в ней еще не реализовано множество задумок, но на данном этапе она способна воспроизводить звук, то есть произношение слов, а также подключать и использовать одновременно множество словарей. При первом запуске программа просит указать каталог, в котором располагаются словари. К сожалению, все мои старания подключить хотя бы один словарь и запустить программу не увенчались успехом. Программа проглатывала имя директории и, повисев немного для приличия в панели задач, исчезала без какого-либо эффекта. Поэтому дать хоть какую-то оценку данной программе я не могу.

Затем настал черед StarDict (http://stardict.sourceforge.net). Это международный электронный словарь для GNOME, созданный на основе GTK+ и работающий со словарями в формате, немного отличающимся от Dict. Начиная с версии 2.4.5 он устойчиво работает и с KDE. Существует также его консольная версия под названием SDCV (http://sdcv.sourceforge.net) и сборка под Windows. Следует отметить, что этот словарь входит в такие известные дис- трибутивы как Mandriva, AltLinux, ASPLinux. Это самый мощный электронный словарь под Linux, который я использовал.

Вот некоторые его возможности:

  • Поиск по шаблону. Пользователь может вводить слова, содержащие «*» и «?», как шаблоны. «*» соответствует любому, возможно пустому, множеству символов, «?» соответствует любому непустому символу. После нажатия ввода, слова, соответствующие шаблону, будут отображены в списке вариантов перевода.
  • Нечеткий запрос. Если вы не можете вспомнить точное написание слова, то можно воспользоваться «нечетким запросом». Он использует левенштайновский алгоритм для подсчета похожести двух слов, и выдает слова, которые лучше всего введенному запросу. Для использования этой возможности запрос должен начинаться с «/».
  • Сканирование (перевод) выделенного. После запуска программы, она сворачивается в трей. затем, при работе с текс-

том пользователь выделяет мышкой слово, и тут же (или после нажатия настраиваемой клавиши) во всплывающем окне появляется перевод.

  • Управление словарями. Пользователь может выключать ненужные словари, а также устанавливать порядок их использования при запросе. Но при этом после каждого изменения требуется перезапуск программы.
  • Произношение. Если скачать специальный звуковой словарь, то можно не только увидеть перевод слова, но и услышать его произношение.

Однако у словаря есть и недостатки:

  • В StarDict нельзя просмотреть весь список слов, как в Lingvo или Qlingvo. В окне отображается только небольшой набор слов (около 20), близких по написанию к введенному шаблону.
  • Я не нашел ни словаря, ни какого-либо упоминания об отображении транскрипции в StarDict.
  • Словари размещаются в одной директории, путь к которой пользователь изменить не может.

И все же, учитывая большое число словарей StarDict для разных языков, его возможности, простоту установки самого приложения и словарей, а также скорость работы, можно сказать, что StarDict является лучшим электронным словарем для Linux. Существует также клон StarDict – WiseDict (http://wise.sf.net/), ранее называвшийся stardict-ed. В нем имеется возможность компиляции DSL-словарей и XDXF-словарей в формат StarDict. К моменту, когда писалась статья было доступна версия 0.0.4.

Последним на моем компьютере появился словарь Multitran (http://www.multitran.ru/). Поскольку разработка словаря велась Станиславом Иевлевым из AltLinux, то найти его можно также и в репозитории Sisyphus. Установить его было не просто, но помог http://www.linuxforum.ru/. Интерфейс очень прост – строка ввода, рядом с которой находятся кнопки выбора направления перевода, строка, отображающая переводимое в настоящий момент и окно с текстом перевода. Этот словарь является первым портом windows-словаря на Linux. В настоящее время доступна версия 0.0.1. Несмотря на столь раннюю версию, словарь стабилен и весьма порадовал своими возможностями.

Linux-версия MultiTran поддерживает перевод между английским и русским языками. Если вводится фраза, то MultiTran может разбить ее на составляющие и поместить во вторую строку окна, причем если слово в данной форме не найдено, MultiTran предлагает для перевода другие формы слова. Не распознанные слова в этой строке отображаются без подчеркивания, а распознанные - подчеркиваются. В скобках могут быть указаны различные однокоренные слова или слова в другом падеже/склонении. Для перевода необходимо щелкнуть на любом из вариантов. В окне с текстом перевода отображается перевод для всех форм слова, которые были указаны в скобках, и при этом часто выдается огромное количество вариантов и синонимов. Для знающих язык это весьма полезно, а для людей слабо знакомых с английским – неудобно. Поиск осуществляется не так быстро, как хотелось бы и паузы могут достигать нескольких секунд. Следует также отметить, что все слова должны быть набраны в нижнем регистре – буквы в верхнем регистре MultiTran не распознает.

Может показаться, что недостатков очень много, но достоинства также неоспоримы. Особенно хочется отметить науч но-техническую направленность словарей MultiTran’а. И поэтому я бы поставил этот электронный словарь на второе место после StarDict.

Кроме рассмотренных программ, существует еще множество приложений для работы со словарями. Если вы откроете указанные в статье сайты, то сможете найти ссылки еще десятка на два электронных словарей, многие из которых являются скриптами. Кроме того, можно найти on-line электронные словари и on-line системы машинного перевода. Но, как следует из названия, они работают только при наличии соединения с Интернетом, что для российского пользователя не всегда приемлемо. Таким образом, инструментов для ручного перевода много, но программпереводчиков для российского линуксоида нет. Может быть, разработчикам все-таки стоит подумать над адаптацией имеющихся продуктов или созданием новых?

Персональные инструменты
купить
подписаться
Яндекс.Метрика