Piece Of Dictionary | Англо-русский, русско-английский оффлайн словарь.



Реп: (0)
Piece Of Dictionary
Версия: 0.0.1
Последнее обновление программы/игры в шапке: 13.07.2013

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

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


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

Прикрепленное изображение
Скриншот немного прокрученной вниз выдачи по запросу "235".

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

Прикрепленное изображение
Скриншот начала выдачи по запросу "bel" с виртуальной клавиатуры.

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

Словарные статьи сортируются в следующем порядке:
  • Количество непробельных символов в ключах к статьям.
  • ISO 639-2 тэги языков ключей ("eng", "rus") – по алфавиту.
  • Ключи – по алфавиту.

Параметры, с которыми PieceOfDictionary запускается в первый раз, задаются в файле "parameters.xml". Изначально предусматривалось, что программа может иметь любое количество любых словарей. В XML-файлах хранятся и переводы на различные языки. Для мобильных устройств XML, возможно, не оптимальный вариант хранения информации, но альтернативы вроде INI-подобного формата показались мне неприятными. Для работы с XML я использовал kXML.
В MIDP 2.0 не входят средства для чтения из файла подлинного UTF-8, ни в одном из классов не реализована функция seek как таковая и это не говоря уже о том, что максимальный размер читаемого файла во многих JVM ограничен. Поэтому было написано семейство классов со странным названием "EasyReadingFile", которые позволяют работать с этим подвидом Unicode и даже делать seek по "колонии" файлов, составляющих один большой "файл", который не каждый телефон смог бы прочесть.
В дальнейшем можно было бы создать сайт, скрипты которого добавляли бы в JAR-архив нужные файлы и редактировали бы "parameters.xml" в соответствии с пожеланиями пользователей.

Прикрепленное изображение
Возможный интерфейс загрузки PieceOfDictionary-сборки с сайта.

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

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

Прикрепленное изображение

Скачать:
PieceOfDictionary 0.0.1: Прикрепленный файлPieceOfDictionary.jar ( 1.36 МБ )


Исходники словаря: Прикрепленный файлPieceOfDictionary.zip ( 1.36 МБ )

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

Тему эту я поднял из моей пропащей статьи в песочнице Хабра.

Минусы
Минусы концепции вообще
  • У оффлайн словарей не может быть серьёзного применения. Достаточно солидную словарную базу телефон хранить не может (проблема, скорее, на настоящий момент в том, чтобы её на телефон доставить), а может брать её из Интернета. Я от этого отказался: не всегда у меня есть денежки на счету (а готовые решения, между прочим, есть).
  • Платформа находится в непонятном состоянии: с одной стороны некоторые экземпляры уже поддерживают свежий MIDP 3.0 (например), покупатели уже давно покупают новенькие дешёвые телефончики с тачскринами, а с другой эти телефоны всё чаще имеют операционную систему, в которой место Java у ведра.

Минусы реализации (почему 0.0.1)
Вообще:
  • На данный момент формат неоптимален – всё знаем, но лень одолевает.

Конвертера:
  • Конвертер писался достаточно небрежно и, в частности, загружает в ОЗУ всю словарную базу перед записью её на диск.

Мидлета:
  • Дергается и скачет всё при прокрутке пальцем.
  • Единственный альтернативный перевод программы – английский просто ужасен (как и, наверное, все идентификаторы и английские строковые константы в исходниках) по вине моей настырности и нежелания иметь дела с иностранным языком.
  • Ввод русских слов виртуальной клавиатурой невозможен. Вводятся только буквы с 'т' по 'я' включительно. Что за песня? (JVM — Esmertec Jbed 20081013.2.1)



Сообщение отредактировал viRUS_966 - 12.07.13, 21:14
Причина редактирования: Оформление



Реп: (0)
Вижу, кто-то уже скачал. Буду рад любым отзывам, комментариям и сообщениям о проблемах.



Реп: (12)
Asus M530w c эмулятором JBed3dMod_RU_FIX:
программа запустилась, но ввод сло с этой йцукен- клавы не понимает :(



Реп: (0)
Недавно, кстати, попробовал установить мидлет на некоторый современный Sony Ericsson — так на нём программа вовсе не работает, хотя при написании испытывалось всё это на SE W200 и работает даже на эмуляторе из WTK2. Владельцам вышедших вместе с W200 Sony Ericsson (у них, кажется, идентичные прошивки), а также обладателям Windows Mobile с эмулятором Esmertec обещаю приличную работу программы. Остальной народ пусть тоже пробует, дабы ругать меня бесчестно. Начался учебный год и надеюсь, что потребность в словарике под рукой много у кого возросла.



Реп: (0)
Ссылка на скачивание этого файла, как вижу уже устарела...



Реп: (228)
Luchar,
все качается нормально. Скорее вы что-то не так делаете.


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 15.04.24, 06:10