Aard dictionary для android

Aard dictionary для android

Краткое описание:
Просмотр википедии и словарей на устройстве без интернета.

Описание:
На данный момент есть две версии программы:

  • Первая версия программы (Aard dictionary): присутствует на Google Play, а также в варианте для Windows и Linux, поддерживает словари формата *.aar и на данный момент больше не развивается.
  • Вторая версия программы (Aard 2): Google play, поддерживает словари формата *.slob.

Что нового и измененного в Aard 2:
— Новый формат словаря, допускающий большую степень сжатия, а также возможность хранить произвольные типы содержимого.
— Новый интерфейс;
— Закладки и история;
— Пунктуация (точки, тире, пробелы и т.д.) теперь учитываются как наименее важный элемент, поэтому результаты поиска несколько отличаются.
— Изменение приоритета словарей.
— Минимальная версия Android — 4.0.3.

Словари можно хранить и на карте памяти, программа выполняет их поиск при нажатии на кнопку «Обновить» в одном из меню.

Готовые словари в формате SLOB можно скачать на официальной странице и с помощью торрента .
Готовые словари в формате AARD (устаревший формат) можно скачать на официальной странице .
При невозможности скачать словари по вышеприведенным ссылкам писать запрос в теме, зеркало будет по возможности приведено.
Некоторые дополнительные словари, конвертированные из свободных словарей Stardict, можно скачать по ссылке (благодарности Ildar Mulyukov).

Все пожелания и вопросы (желательно на английском языке) по развитию программы можно оставить на форуме программы или на Github-е.

Процесс создания wiki-словаря для Aard 2 делится на два этапа:

  • при помощи инструмента mwscrape обработанные статьи с сайтов на основе MediaWiki скачиваются через web API и сохраняются в базе данных CouchDB для того, чтобы обеспечить возможность дальнейшей автономной обработки.
  • при помощи инструмента mwscrape2slob из базы данных CouchDB, полученной на первом этапе, создается словарь формата slob, который затем используется в приложении.

Все эти операции выполняются под операционной системой (ОС) Linux. Рекомендуемый дистрибутив — Ubuntu 18.04.
Поэтому прежде всего необходимо скачать и установить данную ОС. Для простоты и безопасности работы пользователям, прежде не имевшим дело, с Linux, рекомендую все операции выполнять под виртуальной машиной (например, VirtualBox). Один из примеров установки можно посмотреть здесь.
Кроме того, можно использовать разворачиваемый образ виртуальной машины для программы VirtualBox с предустановленным Ubuntu Linux и набором инструментов для создания словарей (доступен по ссылке ниже). При данном варианте все, что нужно сделать, это установить программу VirtualBox, открыть скачанный образ и работать внутри виртуальной машины.

Все нижеуказанные команды выполняются в режиме командной строки (терминала). Для запуска приложения «Терминал» необходимо нажать на кнопку в верхнем левом углу рабочего стола и в открывшемся поле ввести слово «Терминал» (см. скриншот).

С целью дальнейшего удобства работы рекомендую значок терминала из данного окна поиска перенести на боковую панель рабочего стола, откуда затем его и запускать.
Все команды, запускаемые в терминале и начинающиеся с команды «sudo», требуют ввода пароля администратора компьютера как минимум на время терминального сеанса. Поэтому при новой установке операционной системы запомните данный пароль (или же узнайте его у администратора системы, на которой проводите операции).

Программа mwscrape готова к использованию.

Для сохранения википодобных сайтов в базу CouchDB необходимо использовать следующую команду (приведен пример, для удобства берется мобильная версия сайта, на которой в меньшей степени присутствует дополнительная разметка):

mwscrape -h
usage: mwscrape [-h] [—site-path SITE_PATH] [—site-ext SITE_EXT] [-c COUCH] [—db DB] [—titles TITLES [TITLES . ]] [—start START] [—changes-since CHANGES_SINCE] [—recent-days RECENT_DAYS] [—recent] [—timeout TIMEOUT] [-S] [-r [SESSION ID]] [—sessions-db-name SESSIONS_DB_NAME] [—desc] [—delete-not-found] [site]

позиционные аргументы (требуют строго нахождения на своем месте):
site сайт MediaWiki для сохранения (имя хоста), например, ru.m.wikipedia.org

опциональные (необязательные) аргументы:
-h, —help Показывает справочное сообщение, а затем завершает работу программы
—site-path SITE_PATH Путь к MediaWiki API на данном сайте. По умолчанию: /w/
—site-ext SITE_EXT Расширение у скрипта MediaWiki API на данном сайте. По умолчанию: .php
-c COUCH, —couch COUCH URL-адрес сервера CouchDB. По умолчанию: http://localhost:5984
—db DB Название базы данных CouchDB. Если не указано, название извлекается из имени хоста сайта Mediawiki.
—titles TITLES [TITLES . ] Загружать словарные статьи с данными названиями (заголовками). Если название начинается с символа @, то командой оно принимается за имя файла, содержащего заголовки, по-одному на строку, в кодировке utf8.
—start START Загружать все словарные статьи, начиная с данного названия
—changes-since CHANGES_SINCE Загружать все словарные статьи, изменившиеся с указанного времени. Формат временной отметки — yyyymmddhhmmss. См. также http://www.mediawiki.org/wiki/Timestamp. Часы, минуты и секунды могут не указываться.
—recent-days RECENT_DAYS Количество дней для учета последних изменений
—recent Загружать только изменившиеся недавно статьи
—timeout TIMEOUT Таймаут сетевых соединений. По умолчанию: 30.0 с
-S, —siteinfo-only Получение или обновление информации о сайте, а затем завершение работы программы
-r [SESSION ID], —resume [SESSION ID] Возобновить предыдущую сессию закачки. Зависит от статистики, сохраненной в базе данных mwscrape.
—sessions-db-name SESSIONS_DB_NAME
Название базы данных, в которой сохраняется информация о сессиях. По умолчанию: mwscrape
-desc Запрашивать все страницы в порядке убывания
—delete-not-found Ключ указывает программе удалять из базы уже не существующие страницы

Читайте также:  Кэш память где находится андроид

0.46
Added Polish translation (thank you @Aga-C)
Fixed several rare crashes

0.45
Fixed opening dictionaries from removable SD card on Android 11
Added Aard 2 to selected text menu

0.44
Replace WebView’s built-in broken search box with custom implementation — fixes crash on using «Find in Page» (thank you @qnga)

0.43
Fix icons rendering on Android 7.x

0.42
Added Spanish translation (thank you @sguinetti)

0.41
Hide options menu for missing articles

0.40
Properly resolve links pointing to content in another dictionary identified by dictionary uri
Make project compatible with latest version of Android gradle plugin (3.4)
Bump target SDK version to 26 since this is minimal version for Play Store

0.39
Fixed rare crash on «key up» event in article view

0.38
Added Kabyle translation (thank you @belkacem77)
Added Dutch translation (thank you @Vistaus)
Updated French translation (thank you @poustre)
Fixed several rare crashes
Made dictionary details toggle clickable area bigger

0.37
Long tap now shares external link
Added Brazilian Portuguese translation (thank you @lbschenkel)
Fixed typo in Portuguese translation (thank you @lbschenkel)

0.36
Added Norwegian Bokmål translation (thank @comradekingu)

0.35
Fix dictionary discovery on Android 7

0.34
Fix rare crash caused by use of Fragment’s getTag() in logging statement

0.33
Limit external Wikipedia support to just several languages to work around package manager dying in Android 6.0.1 (and causing app crash) when trying to read large list of activities resulting from inclusion of all languages.

0.32
Added Portuguese (Portugal) translation, thank you @YSmhXQDd6Z

0.31
Fix dictionary discovery on Android 6

0.30
Integrate with Moon+ Reader (via ColorDict intent)
Handle external Wikipedia, Wiktionary and Wikiquote links (when opened from within the app or from other app such as OsmAnd)

0.29
Show input method when opening find dialog

0.28
Added French translation (thank you @cosmopol)
Updated German translation (thank you @cosmopol)

0.26
Downgrade ICU to 52.1 to resolve compatibility issue with multi-volume enwiki-20150620
Fix crash on removing bookmark when browsing bookmarked articles

0.25
Implemented fullscreen mode (Android 4.4+)
Implemented scrolling and switching articles with volume buttons (long press to scroll to bottom/top)
Revised random lookup implementation so that article activity showing random lookup results can be properly restored. Random lookup now selects a random title and displays articles with matching titles instead of a single random article.

0.24
Show regular keyboard instead of full screen in landscape mode

0.23
Tweak permissions for sd card access on Blackberry 10

0.22
Do not exit multiwindow mode on Samsung devices when navigating back to main activity via up navigation («home») button
Do not crash if lookup intent is launched without query
Add new permission to access sd card on Blackberry 10

0.21
Added Sumsung multiwindow mode support
Do not autopaste text containing web urls

0.19
Automatically paste text from clipboard on focusing main activity
Back button returns to previous position on the page after following internal page link such as footnote reference
Similar results from different dictionaries are better grouped in the lookup results

0.18
Implemented ability to override settings and load remote content for a specific article
Implemented «Auto» style for dictionaries — applies light or dark style (if available) to match current UI theme
Improved support for multi-volume dictionaries (shared resources now can be included only in one of the volumes)

0.17
Added dark user interface theme

0.16
Fixed crash on following invalid local links
Fixed crash when dictionary files are deleted
On Android 5 in Bookmarks and History back button didn’t collapse filter action view, closed app instead, now fixed
Nicer «empty» view for unavailable articles (bookmarks/history records referring to removed dictionaries)
Use 127.0.0.1 instead of localhost to avoid name resolution
Updated Italian translation (thank you @bittachi)

0.15
Fixed icon rendering on Kindle Fire
Exclude turned off dictionaries from random lookup
Added user option to use only favorite dictionaries in random lookup
Dictionary discovery progress dialog during disappeared on tap outside the dialog, allowing user to initiate discovery again which caused app crash, now fixed
Back button now cancels dictionary discovery

0.3
Articles with titles starting with dot (e.g. .a) could not be loaded, now fixed
Support loading resources with keys that contain slashes (mimic unix file path)
Revised internal URL structure to not rely on Referer header, eliminate use of redirects that were needed to use it
Fixed crash if app is restored to article view activity instead of main activity

0.2
Smaller APK
Implemented article text size actions (zoom in/zoom out/reset)
List selection checkboxes are now on the right size, switching to selection mode is no longer jumpy
Display dictionary license name, open license url on tap, if dictionary specifies license name and url in dictionary tags
Display dictionary copyright text if specified in tags
Open dictionary source url if specified in tags
Fix item count in dictionary info (previously dictionary key count was displayed instead)

0.1
This is first public release. Here’s what’s new and different from from Aard Dictionary:

New dictionary file format offering better compression and ability to store arbitrary content types
New UI
Bookmarks and history
Punctuation (dots, dashes, space etc) is now treated as least significant differentiator so lookup results are somewhat different
Minimum version of Android required is 4.0.3

Aard 2 for Android is probably going to remain my primary focus for the next few months. I think it’s almost feature complete and will probably be ready for the Play store soon.

After Aard 2 for Android becomes stable I plan to give more attention to converters — port existing code for xdxf and WordNet, maybe add dedicated converters for freely distributable content such as GCIDE, jargon file, freedict.org databases, also maybe add a generic converter to create slob from html directory, which in combination with tools like wget could be used for creating offline website archives.

One aspect of converting Wikipedia projects I still need to investigate in more detail is offline images. However, from what I’ve seen so far offline images are probably not going to happen: they simply take up too much space. For example, enwiki for Kiwix with images is

50Gb zipped. Remote media archive for simplewiki (which is tiny) is 43Gb. There are other issues as well (getting all the images for a given wikipedia project, license/copyright is not clear for many images).

Building up available content is an ongoing effort. We have some great user contributions in this area, keep it coming 🙂 Most Wikipedias with largest user bases are already available. I plan to add a few more, however don’t expect all Wikipedia projects in all languages. It’s too much, not all of it is interesting enough and not all it is of sufficiently good quality.

Some features I consider to add later (Aard 2 for Android):
— Implement «Table of Contents» menu option to easier navigate long articles
— Maybe implement some kind of scrolling aid for long articles
— Improve interwiki links handling — currently mwscrape2slob turns interwiki links into external links, but it should be possible to detect if corresponding wiki dictionary is present locally and load local content instead if so.

Some upcoming improvements for mwscrape2slob:
— Improve math rendering configuration so that app can render math faster.
— Add some options to remove background colors specified with style attribute directly on elements — this prevents proper styling with css, for example «Translation» sections in English Wiktionary is always yellow-ish and can’t be changed with css to make a proper night/dark style
— Fix fragment handling in redirects (this also requires change in mwscrape) — currenly if title A redirects to B#A (section «A» in article with title «B») this is not captured in scraped data and A ends up simply redirecting to B, not B#A.

  1. Скачать последнюю версию программы aard2-web.
  2. Скачать и установить JAVA JRE для своей ОС (Java версии 1.7+).
  3. Открыть командную строку (из папки с программой aard2-web) и запустить следующую команду

java -Dslobber.browse=true -jar aard2-web-0.7 .jar d:\slob\ *.slob

(можно также создать командный файл с данной командой). Не забыть поменять имя файла программы aard2-web (выделено синим . Пока актуально, но в будущем может измениться) и путь к папке со словарями SLOB (выделен красным ).

После выполнения команды открывается браузер по умолчанию с веб-интерфейсом программы (рекомендованные браузеры Firefox и Chrome. На других может не работать нормально: например, замечены проблемы в работе связки Opera + блокировщик рекламы AdGuard)

Я уверен, что есть еще люди, которые застряли на версии Android ниже 4.0, поэтому у меня такой вопрос: действительно необходимо для программы использовать версию не ниже 4.0.3? Возможно ли скомпилировать программу с более низкими требованиями?

При некотором усилии вполне возможно заставить программу работать на Android 2, но у меня нет желания делать это. Данное решение значительно увеличит нагрузку по поиску и тестированию обходных решений для различных заглушек и API, недостающих в Android 2. Я сам не использую устройства с Android 2 уже в течение довольно длительного времени, и c текущим на данный момент использованием Android 2.x в

12% у меня нет мотивации, чтобы тащить этот рояль и дальше. Пора Android 2 уже уйти.

Если Вы желаете поблагодарить автора программы финансово, то отправьте ему подарочную карту Amazon на сумму, которую считаете нужной. Почтовый адрес для отправки: [email protected]

Скачать:
версия Aard 2: 0.46aard2-android-0.46.apk ( 3.14 МБ )
Конвертер XDXF —> SLOB.

версия Aard 2: 0.45aard2-android-0.45.apk ( 3.13 МБ )
версия Aard 2: 0.44aard2-android-0.44.apk ( 3.13 МБ )
версия Aard 2: 0.43aard2-android-0.43.apk ( 3.12 МБ )
версия Aard 2: 0.42aard2-android-0.42.apk ( 3.09 МБ )
версия Aard 2: 0.41aard2-android-0.41.apk ( 3.09 МБ )
Более старые версии программы Aard 2 можно найти в соответствующей ветке на Github.

Последняя версия программы Aard 1.6.11 (более не развивается):aarddict-android-1.6.11-1.apk ( 1.82 МБ )

Сообщение отредактировал sklart — 25.07.21, 22:56

Источник

Читайте также:  Android studio код кнопки
Оцените статью