Очередные задачи советской власти
Ниже перечислены задачи, которые хотелось бы сделать в ближайшее время.
Если Вы хотите принять участие в разработке, напишите об этом в список рассылки.
Чтобы не было дублирования работ и чтобы мы могли более
подробно описать задачу, желательно писать письмо до того, как Вы начнёте
программировать.
Задачи самые разнообразные, как с точки зрения сложности, так и с точки зрения "направления образования". Вообще в проекте "Правда" могут проявить себя люди следующих специальностей:
-
Программисты (я думаю, тут не надо пояснений)
-
Лингвисты (тут наверное тоже)
-
"Технические писатели". Все-таки документация должна быть хорошей и
легко читаемой.
-
"Профессиональные читатели интернета". Звучит смешно, но очень глупо
повторять сделанную кем-то работу. Читатели интернета ОЧЕНЬ экономят
время разработчиков.
-
Пользователи (в данном случае переводчики). Все-таки мы хотим знать
"что надо" сделать.
Исправление ошибок
Если Вы используете "Правду" и обнаружили какую-то ошибку, пишите сюда
prawda@newmail.ru. Это, конечно, не гарантирует, что ошибка будет тут же
исправлена, но сильно повышает вероятность :-).
Словари
Словари - это очень скучная работа, но она позволяет "сразу" (то есть не
дожидаясь выхода очередного релиза попасть на скрижали истории.
Как бы не был хорош Мюллер, он не содержит специальной профессиональной
лексики. У нас имеется несколько спец-словарей в формате Мовы (ну то есть
в текстовом формате), которые желательно перевести в формат "Правды".
Работы по переводу компьютерного словаря (engcom) начались и ведутся Николем Шафоростовым.
Ядро
- Перевод технических текстов
Мы предполагаем, что "Правда" быстрее всего будет использоваться для перевода UNIX-манов (и другой документации, в т.ч. и на Эсперанто - есть и такая). При всех достоинствах формализованного языка манов, в нём часто встречаются названия программ, имена файлов и другие слова, которых нет ни в одном словаре, и вряд ли будут. Нужны идеи и алгоритмы как осуществлять перевод в таких случаях.
- Догадаться по окончанию
Часто бывает, что в тексте содержится незнакомое слово, но по окончанию можно было бы догадаться, что это за часть речи и даже в какой форме стоит это слово. "глукая куздра" например. Человек обычно догадывается, нужно чтобы и программа могла. Смысл это не позволяет понять, но грамматическая структура фразы становится понятной.
- Догадаться по приставке и суффиксу
Часто бывает, что в тексте содержится незнакомое слово, а программа знает родственное слово. Например "студент" - "студентка". Надо бы и такие вещи сделать.
Интерфейс
- Unicode
Наконец назрела задача перевода с языков отличных от английского. Помимо всего прочего это означает, что мы должны работать со всякими "экзотическими буквами" - крышечками, ударениями, умляутами... Нужен творческий человек, способный справиться с этой задачей.
- Настройка цветов и других параметров
Вроде бы фигня, но сейчас "Правда" имет только один вариант расцветки интерфейса, один текстовый шрифт, один вариант горячих клавиш и т.п. Нужно чтобы все эти параметры настраивались.
- Shift-статус в терминале
Стыдно признаться, но я до сих пор не знаю как корректно отловить нажатие комбинаций Shift+F1 в xterm, rxvt и тому подобным эмуляторах терминала. По этой причине не все кнопки работают в терминальной версии программы. Может быть найдется добрый человек, который решит эту проблему?
- Shift-статус в терминале
Назрела необходимость приделать к программе нормальный Clipboard, чтобы была возможность вставить кусок текста из/в произвольной программы. Задачка не очень простая - сделать это надо на голой Xlib. Ау умельцы!
Исследование грамматики
- Сравнение двух грамматик
Нужна некая тулзовина, которая помогает определить, а не ухудшился ли перевод после внесения очередного изменения. Задача предельно творческая. По-этому если Вы подадите хотя-бы идею того, как это можно запрограммировать, то уже сильно нам поможете,
- Обнаружение циклов
Описание грамматики - это тоже программа. И как и всякая программа, оно
может зациклиться. Нужна тулзовина, которая будет по формальным признакам
определять места зацикливаний (а не когда петух клюнет).
- Обнаружение дублирования
Описание грамматики может быть сделано неоптимально (например, может быть два и более описания одного и того же). Когда описание иерархическое (а оно всегда иерархическое) увидеть такие случаи бывает очень непросто. При работе программы такие дублирования приводят к экспоненциальному росту потребляемой памяти. Нужен какой-то инструмент, который бы показывал такие случаи.
- Машинная систематизация естественных текстов
Допустим у нас есть большой текст - "Война и мир" (неважно на каком языке). Нужно как-то определить, какую часть фраз может распознать наша программа. А нераспознанные фразы нужно как-то систематизировать.
Оформление программы
- Вверсии используемых библиотек
Сейчас у нас имеется "постыдная ситуация". В некоторых дистрибутивах Линукс программа поставленная из rpm-пакета тут же делает SegFault. Происходит это по банальной причине - несоответствие версий библиотеки glibc (той, с которой компоновалась программа, и той, что присутствует на машине пользователя). Найдется ли добрый человек, который сможет это поправить, пока я "витаю в эмпиреях"?