/****************************************************************************/ ЧаВо - Часто задаваемые вопросы. /****************************************************************************/ ---------------- Вопросы для всех ------------------------------------------ 1.1) Сейчас "Правда" переводит с английского на русский. Есть ли (будет ли) русско-английский переводчик (переводчик с других языков)? "Правда" написана так, что к ней можно приделать перевод с любого языка на любой. Чтобы построить переводчик с произвольного языка, нужно решить две проблеммы: а) нужны словари (в формате "Правды"), б) нужно описание грамматики (файл lang.txt). Один язык - это примерно один человеко-год работы. 1.2) Когда появится GUI? "Правда" - это программа, переводящая текст в текст. Более того, все обьекты, с которыми она работает являются 100% текстовыми. Поэтому для нее естественным является "Текст-юзер-интерфейс". В ближайшее время так и останется. Это однако не означает, что "Текст-юзер-интерфейс" не будет улучшаться. "Правда" специально написана так, чтобы к ядру можно было бы прикрутить любой интерфейс. Каталог face - содержит исходники интерфейса, каталог trans - ядро перевода. С удовольствием отдам задачу интерфейса какому-нибудь талантливому программисту и сосредоточусь на ядре. 1.3) Любой ли человек может установить и научиться пользоваться "Правдой"? Любой при условии, что он может прочесть, понять и исполнить инструкцию. У 90% юниксоидов это получается с первой попытки, или после однократной консультации. То есть некоторый, не очень высокий "ценз пряморукости" присутствует. 1.4) Почему название такое ("Правда")? Чтобы название ассоциировалось и запоминалось. Опять же, хотелось, чтобы была какая-то ассоциация с моей предыдущей прпулярной программой ("Слово"). ----------- вопросы, касающиеся качества перевода -------------------------- 2.1) Что означает слово #фигня# в переводе? Слово #фигня# означает, что программа не смогла разобраться в грамматической структуре фразы. В этом случае программа дает простой подстрочный перевод. Слово #фиг# означает, что структура фразы понятна не до конца. Что может, программа переводит связно, дальше - снова подстрочник. Жду предложений, как более "прилично" обозначить эти две ситуации. 2.2) "Naked conductor runs along the roof" - и как это будет выглядеть в профессиональном переводе на русский? Тонкий юмор ситуации в том, что это ДВУСМЫСЛЕННАЯ фраза. Первый смысл - "Голый кондуктор бежит по крыше". Второй смысл - "Неэкранированный провод проходит по крыше". И тот и другой перевод - правильный. Если человек не всегда понимает какой перевод правильный, то и программа не сможет этого понять. Программа лишь дает (по клавише F9 ) список возможных вариантов перевода. Пока от нее "неправильно" хотеть большего. 2.3) "Дважды ударьте по пуговице" (dobleclick the button) Ну... а что программа должна делать, если в английском слово "button" означает и "пуговица" и "кнопка"? Сейчас программа по умолчанию дает перевод, который первым указан в словаре. В принципе "Правда" имеет окно последовательного ручного выбора вариантов перевода (есть на скриншоте). В принципе, прежде чем смеяться, посмотрите, нет ли в потрохах правильного варианта (часто бывает). 2.4) Кто-нибудь использовал в качестве входного языка искусственные языки типа эсперанто? Не упростится ли задача благодаря их регулярной (по слухам) структуре. Я думаю, что упростится. Но чтобы узнать это наверняка, надо попробовать. Сейчас среди разработчиков есть человек, который занимается переводом с эсперанто. ---------------- Вопросы участников проекта -------------------------------- 3.1) Как принять участие в проекте "Правда"? Обязательно ли для этого иметь лингвистическое (компьютерное) образование? Для этого надо написать по адресу prawda@newmail.ru . Сейчас проекту "Правда" нужны участники двух типов - программисты и лингвисты. Одни знают "как" делать, другие знают "что" делать. Для успешного развития проекта нужно, чтобы эти две категории людей наладили эффективную совместную работу. Специалистом в обеих областях сразу быть не обязательно. ---------------- Вопросы задаваемые программистами ------------------------- 4.1) А почему у вас не используется... "Правда" - это проект, в котором поставлена очень большая задача, и в то же время ресурсы экстремально ограничены. По-этому мы используем не то что "можно использовать", а то "без чего нельзя обойтись". В этой связи хочу напомнить историю о том, как американцы потратили больше миллиона долларов, на то, чтобы изобрести авторучку для невесомости, а русские просто взяли в космос карандаш. 4,1.2 ) А почему у вас не используется CVS? Потому же, почему в современных телевизорах нет сетевого трансформатора, - эти задачи (в наших условиях) лучше решаются другими способами. 4.1.3 ) А почему у вас не используется automake/autoconf ? Не то, чтобы я был принципиальным противником этих тулзов... Просто мне кажется, что в данном случае это "из пушки по воробьям". Все-таки сейчас используется только Xlib и ncurses. 4.1.4 ) А почему у вас не используется библиотека Qt ? Во-первых, я считаю, что "текст-юзер-интерфейс" более соответсвующим решаемой задаче. А во-вторых, Qt - это "Микрософт в мире ЮНИКС". То есть это удобная библиотека для создания интерфейсов. Но у нее слишком часто выходят новые версии, и при этом изменяется набор функций. Поскольку мы пишем программу не на год и даже не на десятилетие, мы должны выбрать другой инструмент. Более надежный, более "неизменный", более кроссплатформенный. (А на работе я Qt использую - очень приятные впечатления.) 4.2) Будет ли оптимизация использования памяти (Сейчас "Правда" жрет 100М)? Наверное, этим надо будет заняться, но не сейчас, а позже. Сейчас многие вещи запрограммированы самым простым способом из всех возможных. Это связано с тем, что у этого проекта очень большая научная часть, а делают его всего два (с половиной) человека. 4.3) Почему нет программы-конвертера словарей в формат "Правды". Файл mhistory.tar.bz2 содержит историю конвертирования словаря Мюллера в формат "Правды". Это очень непростая работа, которая заняла у меня примерно полгода. Эту работу пока невозможно поручить компьютеру. 4.4) Почему не используется принципы Нейросети? Нейросети - это очень давно появившаяся идея. Я о них слышал еще в начале 80-х. До сих пор они не дали пригодных к использованию результатов. Вероятно, эта идея плохо ложится на фон-Неймановскую архитектуру. Во всяком случае я не представляю, как это можно запрограммировать с помощью g++. 4.5) Наверное было бы правильным рассказать о проекте "Правда" в конференции языковедов, лингвистов. Как ни странно (на самом деле это закономерно), в нашей стране очень хорошие лигвисты. Они даже читают linux.org.ru . Сейчас в проекте на одного программиста приходится один лингвист. Мне кажется, что это оптимальное соотношение.