quasiyoke

PieceOfDictionary

English version

If your Russian reading skills aren't so good still, you're able to use English version

Англо-русский словарь для стареньких J2ME телефонов. Имеет предиктивный ввод слов (вроде T9) с цифровой клавиатуры.

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

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

Нарекаю связку конвертер-мидлет PieceOfDictionary.

Именно «кусок словаря»—это не ошибка.

Возможности

  • вводить английские слова с помощью виртуальной qwerty-клавиатуры на телефонах с тачскрином (должно работать и с хардварным qwerty),
  • переключать языки интерфейса в «Опциях» и менять полноэкранный и нормальный режимы долгим тапом до опупения,
  • пользоваться предиктивным вводом текста на телефонах с цифровой клавиатурой,
  • просматривать историю введённых слов, нажимая Вправо-Влево или делая соответствующие жесты пальцем на экране.

Словари—лучшие кандидаты на реализацию предиктивного ввода разработчиком программы; странно, что я такого не видел в чужих программах.

Если по поводу нанесения английских букв на цифровые клавиши есть какая-то всеобщая договорённость, то русские часто (например, на «телефонах Fly») размещены с отклонениями от чаще встречающегося абвг | деёжз | ийкл | мноп | рсту | фхцч | шщъы | ьэюя, поэтому в настройках программы предиктивный ввод текста отлично настраивается.

Меню выбора направления перевода просто нет—как видите, слова из различных направлений расположились вперемешку. Оно, в самом деле, не нужно: только запустив программу можно сразу нажимать на кнопочки и ждать (все минусы предиктивного ввода присутствуют), пока (не) появится желаемое слово.

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

Словарные статьи сортируются в следующем порядке:

  1. количество непробельных символов в ключах к статьям,
  2. ISO 639-2 тэги языков ключей (eng, rus)—по алфавиту,
  3. ключи—по алфавиту.

Параметры, с которыми PieceOfDictionary запускается в первый раз, задаются в файле parameters.xml. Изначально предусматривалось, что программа может иметь любое количество любых словарей. В XML-файлах хранятся и переводы на различные языки. Для мобильных устройств XML, возможно, не оптимальный вариант хранения информации, но альтернативы вроде INI-подобного формата показались мне неприятными. Для работы с XML я использовал kXML.

В MIDP 2.0 не входят средства для чтения из файла подлинного UTF-8, ни в одном из классов не реализована функция seek как таковая и это не говоря уже о том, что максимальный размер читаемого файла во многих JVM ограничен. Поэтому было написано семейство классов со странным названием EasyReadingFile, которые позволяют работать с этим подвидом Unicode и даже делать seek по «колонии» файлов, составляющих один большой «файл», который не каждый телефон смог бы прочесть.

В дальнейшем можно было бы создать сайт, скрипты которого добавляли бы в JAR-архив нужные файлы и редактировали бы «parameters.xml» в соответствии с пожеланиями пользователей.

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

Рекомендую обладателям телефонов с цифровыми клавишами, поскольку реализован предиктивный ввод текста (что-то вроде T9 или iTAP исключительно по словам, имеющимся в словаре).

Скачать PieceOfDictionary

PieceOfDictionary.jar 0.0.1 (1,3 МиБ)

Исходники (1,3 МиБ)

Смотрите, пользуйтесь, изменяйте, но просто обозначьте где-то, пожалуйста, моё изначальное авторство.

Программа изначально была выложена на 4pda.ru, где не пользовалась особой популярностью.