Ru-Board.club
← Вернуться в раздел «Программы»

» GoldenDict

Автор: BKSRU
Дата сообщения: 09.04.2014 16:09
GoldenDict + DSLGD v6.26_UI Revolution Экспериментальная сборка на основе последней сборки 1.5RC291 + последние изменения.
- Download: http://rghost.ru/53914605
New:
Full-Text Search - оптимизация работы логики.
Повышена скорость работы поиска за счет исключения повторных обходов...
Диалоговое окно предупреждения - в случае пустой строки полнотекстового поиска.- Окно не клонируется в случае повторного нажатия на кнопку поиска.
- В случае выбора поиска из контекстного меню словаря, словарь будет выбран в списке.
- В случае запуска окна выбора словарей иконкой лупы, чекбоксы будут сохранять свой статус до запуска поиска через контекстное меню конкретного словаря или до закрытия GoldenDict.

Как понимаем реальная скорость поиска не повысится, но физически это ощутим.
Логика следующая:
- В случае если строка поиска не меняется, при установке в окне выбора словарей новых чекбоксов, поиск будет произведен только среди вновь выбранных словарей. Предварительной очистки истории не произойдет, новые карточки будут добавлены к уже имеющимся.
- Обход всех словарей при поиске будет произведен в случаях (так же история предварительно очистится и будут добавлены только новые результаты поиска):
* Очистки истории
* Изменении строки поиска
* Изменении Спинбокса количества слов
* Переключения режимов RegExp/Wildcard/Enumeration

Логика усложняется и уследить за ее поведением несколько сложнее. Не стесняемся если, что не так, можно и сообщить.

Дополнительная информация об экспериментальной сборке:
http://forum.ru-board.com/topic.cgi?forum=5&topic=45338&start=120#1

Автор: anion23
Дата сообщения: 10.04.2014 09:43
BKSRU
Сейчас окно не клонируется, но по нажатию на кнопку поиска повторный поиск не запускается. Запускается только по нажатию кнопки ОК в открытом окне настроек, а это не очень удобно.
Автор: BKSRU
Дата сообщения: 10.04.2014 11:37
anion23
Пробуйте(exe-файл): http://rghost.ru/53940776
Поиск работает при нажатии на кнопку поиска (лупы), так же как кнопка OK в окне выбора словарей. Если окно выбора словарей закрыто, предварительно оно будет открыто (для того, что бы убедиться, что кнопка лупы не была нажата случайно). После этого кнопка лупы будет работать так же как и кнопка OK.

Запутаться сейчас не сложно. Весь ли функционал работает?
Автор: anion23
Дата сообщения: 10.04.2014 13:15
BKSRU

Цитата:
Пробуйте(exe-файл): http://rghost.ru/53940776

Работает нормально. Так уже намного лучше, спасибо!
Автор: BKSRU
Дата сообщения: 13.04.2014 11:46
GoldenDict + DSLGD v6.26_UI Revolution на основе последней сборки 1.5RC293 + последние изменения.
- Download: http://rghost.ru/54059016
Исправлена ошибка. Теперь список словарей формируется вновь после изменений на полке словарей.
Автор: BKSRU
Дата сообщения: 13.04.2014 16:48
GoldenDict + DSLGD v6.26_UI Revolution на основе последней сборки 1.5RC293_1 + последние изменения.
- Download: http://rghost.ru/54071257
Подправил: при изменении состояния словарей в группе, сохраняется статус чекбоксов в окне выбора словарей для полнотекстового поиска.
Статус чекбоксов сбрасывается при:
- Выборе полнотекстового поиска из контекстного меню иконки словаря. В этом случае галочка (чекбокс) будет установлена на выбранном словаре.
- Перезапуске GoldenDict.

Дополнительные сведения об экспериментальной сборке: http://forum.ru-board.com/topic.cgi?forum=5&topic=45338&start=120#1

Логика усложняется. Так, что тестируем и не стесняемся, сообщаем об не адекватном поведении...

Добавлено:
Официальная сборка 1.5.0-RC-293-g75ed194
Автор: yozhic
Дата сообщения: 14.04.2014 11:05
Не знаю писали уже об этом или нет, поиском по офф-форуму, по-крайней мере, не нашёл.

О файлах аббревиатур. В Лингво схема работы с ними такая: существует один единый файл аббревиатур общий для всех словарей по данному языковому направлению. Если к отдельному словарю прилагается свой файл аббревиатур, Лингво смотрит расшифровку в нём. А если свой файл аббревиатур не прилагается, то смотрит в общем, едином для всех файле аббревиатур. На мой взгляд, хорошо придумано. Может быть стоит и в ГД такое сделать?

Кроме того, сейчас в Лингво словарях, подключённых к ГД, пометы не расшифровываются, потому что предполагается общий для всех источник. Можно конечно дублировать для всех словарей один и тот же файл abrv ...
Автор: BKSRU
Дата сообщения: 14.04.2014 16:01
GoldenDict + DSLGD v6.26_UI Revolution на основе последней сборки 1.5RC293_2 + последние изменения.
- Download: http://rghost.ru/54115548
New: В контекстном меню иконки полнотекстового поиска (лупы) добавлен пункт оперативного включения/выключения областей сокрытия.


Собственно, этот пункт уже давно присутствовал и присутствует в контекстном меню иконки сканирования. Однако, не был доделан, срабатывал после перезапуска. Сейчас все как надо. Склоняюсь к тому, что для этой опции необходима своя кнопка на тулбаре.

Дополнительная информация об экспериментальной сборке: http://forum.ru-board.com/topic.cgi?forum=5&topic=45338&start=120#1

anion23
Устраивает такой подход?
Автор: Abs62
Дата сообщения: 14.04.2014 17:46
yozhic

Цитата:
О файлах аббревиатур. В Лингво схема работы с ними такая: существует один единый файл аббревиатур общий для всех словарей по данному языковому направлению. Если к отдельному словарю прилагается свой файл аббревиатур, Лингво смотрит расшифровку в нём. А если свой файл аббревиатур не прилагается, то смотрит в общем, едином для всех файле аббревиатур. На мой взгляд, хорошо придумано. Может быть стоит и в ГД такое сделать?

В GD нет понятия "языковое направление", там есть группы словарей, куда могут включаться словари разных направлений перевода.

Цитата:
Можно конечно дублировать для всех словарей один и тот же файл abrv ...

Сдаётся мне, это самое простое и надёжное решение.
Автор: BKSRU
Дата сообщения: 15.04.2014 15:14
Экспериментальный вариант для любителей потестировать.
GoldenDict + DSLGD v6.26_UI Revolution на основе последней сборки 1.5RC293_3
- Download: http://rghost.ru/54160662
В этой версии все, что введете в строку полнотекстового поиска автоматом будет доступно для круговой навигации поиска с подсветкой по всему журналу.
Сама по себе фишка уникальна и на взгляд проста. Однако, может сулить многое. Это, что то среднее между обычной подсветкой и полнотекстовым поиском.
Возможно, рациональность такого подхода позволит осуществить универсальный всеформатный поиск. Ведь достаточно вывести глоссарий и автостопить навигацию (перескакивать) на первую карточку соответствующую фильтру. А рациональность и скорость в том и заключается, что нам не надо предварительно искать все карточки разом. Мы просто ищем их последовательно, кэшируя в буфере. Ну в общем как вариант может быть и осуществим...
Хотя на полке недели две уже пылится вариант с индексом со скоростью поиска на порядок выше. Который в общем то тоже может быть универсальным.

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


Добавлено:
Пожалуй одна из двух фишек в чем еще GD отстает от конкурентов - это подстрочный перевод. Было бы не плохо доделать перевод буфера. У конкурентов автозахват выделенного. Для GD приходится использовать костыль, например расширение AutoCopy в Firefox. Наверное не плохо было бы для GD сделать возможность автокопирования буфера с последующим переводом и желательно с белым списком куда включать те приложения в которых не работает перевод по наведению.
Сканирование и перевод буфера обмена, все таки, это разные режимы и было бы более удобно для пользователя сделать их независимыми.
В том же QTranslate это не плохо организованно.

Напомню:
В экспериментальной сборке режим автоперевода буфера обмена включается в контекстном меню кнопки сканирования, галочкой на пункте "For Text Selection".
Для официальной сборки находим в конфиг файле строку и меняем 0 на 1:
<trackClipboardChanges>1</trackClipboardChanges>
Автор: esperantisto
Дата сообщения: 15.04.2014 17:29
Rhymes (http://rifmovnik.ru) - онлайн-словарь и офлайновая программа-словарь.
Объединяет словарь парадигм (форм слов) (! этого так не хватает GoldenDict) (156 000 слов, 4,5 млн. словоформ), толковый русский словарь (110 000 слов) и другие словари.
Автор: AKRAV
Дата сообщения: 16.04.2014 09:48
Для тех кто пропустил.

Early Access Builds for Windows
1.5.0-RC-293-g75ed194

Date: 12 April 2014

Download (7z)
Download (zip)
Download (installer)

This is a FULL distribution of Goldendict, with all required files, libraries and localizations. Includes QT 4.8.5 libs.

Detailed lists of changes is here.
Most interesting changes (since the previous EA build):

BGL: Fix "width" attribute handling (issue #462)
Fix history saving while system shutdown
Fix dictionary headwords dialog calling from dictionaries list if filter string is not empty
Add proxy authentication dialog
Add system proxy choose in preferences
Win-specific: Fix initialization
Win-specific: ScanPopup: Don't use unsupported word retrieving methods for GD own windows
Adjust back/forward buttons icon for right-to-left window layout
Show description for DictD dictionaries
Fix case of non-ASCII symbols in path for sound directories
Turn off dynamic sorting in headwords dialog (it is a little faster in some cases)
Fix search for escaped wildcard symbols in the input line
Escape wildcard symbols when headword is transferred to the input line from dictionary headwords dialog
Win-specific: ScanPopup: Fix GD main window scanning under Win7+
Win-specific: ScanPopup: Fix RTL strings scanning
Update Russian translation (by Abs62)
Add Persian translation by Noori
Updated French translation: headwords section (by VirtualTam)
Update lt_LT.ts (by embar-)
Автор: Abs62
Дата сообщения: 16.04.2014 20:09
На попробовать - очень экспериментальная версия с полнотекстовым поиском - GoldenDict-FTS.7z - 1.18 MB.

Вызов диалога поиска - Ctrl+Shift+F или через главное меню.
В поиске могут участвовать словари всех локальных форматов (ну, кроме зуковых и морфологии, ясен пень).

Режимы поиска:
Whole words - точное совпадение слов. Самый быстрый, с бинарным поиском по индексу.
Plain text - частичное совпадение (слова могут быть частями более длинных слов).
Wildcards и RegExp - шаблоны и регекспы, само собой.

Индексация идёт в фоновом режиме, в два захода. На первом индексируются небольшие словари, до 150000 статей, на втором все остальные.
В индексе учитываются слова от 4 символов и длиннее, поэтому для поиска по индексу нужны слова не короче. Для режимов "Whole words" и "Plain text" наличие хотя бы одного такого слова в запросе обязательно, для остальных весьма желательно. Потому как иначе пойдёт поиск полным перебором словарей, а при мало-мальски солидных их размерах это занятие не для слабонервных.
Если индекса для словаря ещё нет, опять же пойдёт поиск полным перебором, так что рекомендую дождаться, пока искомый словарь проиндексируется.

Словари для полнотекстового поиска берутся те же, что и для обычного, с полки. Заглушенные так же в поиске не участвуют.

Ещё раз напоминаю - версия экспериментальная, возможны глюки.
Автор: ramix
Дата сообщения: 17.04.2014 00:55
Abs62
Спасибо! Пробуем...

1) Пока идет дополнительная индексация, возникает вопрос - за счет чего получается такой компактный FTS-индекс - почти в четыре раза меньше, чем индекс заголовков?

2) Относительно формата DSL - учитываются при FTS-индексации теги [trn] и [!trs] или нет?

3) А что насчёт подсветки найденных слов? Будет возможность выбора варианта?
Автор: Abs62
Дата сообщения: 17.04.2014 06:32
ramix

Цитата:
1) Пока идет дополнительная индексация, возникает вопрос - за счет чего получается такой компактный FTS-индекс - почти в четыре раза меньше, чем индекс заголовков?

Всяко бывает. Бывает в разы меньше, бывает в разы больше. Зависит от количества статей и словарного разнообразия в них.

Цитата:
2) Относительно формата DSL - учитываются при FTS-индексации теги [trn] и [!trs] или нет?

[!trs] учитывается, [trn] нет.

Цитата:
3) А что насчёт подсветки найденных слов? Будет возможность выбора варианта?

Насчёт подсветки будем думать. Не так там всё просто.
Автор: anion23
Дата сообщения: 17.04.2014 09:23
Abs62
У меня
Цитата:
очень экспериментальная версия с полнотекстовым поиском

падает при попытке пересканировать словари по ctrl+F5 (Win xp sp2 64).
Автор: anion23
Дата сообщения: 17.04.2014 11:27

Цитата:
Abs62
У меня
Цитата:
очень экспериментальная версия с полнотекстовым поиском

падает при попытке пересканировать словари по ctrl+F5 (Win xp sp2 64).

Насколько я понял, при первой загрузке запускается фоновая FTS индексация словарей, и при нажатии ctrl+F5 происходит конфликт процессов...
Автор: ramix
Дата сообщения: 17.04.2014 14:17

Цитата:
падает при попытке пересканировать словари по ctrl+F5

Попробовал - у меня тоже вылетела при Ctrl+F5.
Автор: ramix
Дата сообщения: 17.04.2014 17:31
Для информации по FTS-индексации:

* FTS-индексация тысячи словарей (включая супергиганты типа МТ, Urban, Wiki и пр.) занимает около 6 часов (в фоновом режиме).
* При этом, если индекс заголовков составлял 1 ГБ, то к нему добавляется 1,2 ГБ FTS-индекса.
* Поиск слова "dictionary" по в/у словарям (5690 встречаемостей) занял пару минут.

Прим. GoldenDict и индекс на SSD; сами словари на HDD.

Добавлено:
Abs62
1) В окно найденного заголовки попадают с тегами ударений (очищенными от фигурных скобок); смотрится, как будто квадратным скобкам навязана экранизация.
2) Вопрос по подкарточкам: здесь.
Автор: Abs62
Дата сообщения: 17.04.2014 17:54
anion23
ramix
Падения починил. Добавил вкладку настройки полнотекстового поиска в диалог "Параметры" - можно отключать поиск для отдельных типов словарей и/или в зависимости от количества статей в словаре.
GoldenDict-FTS2.7z - 1.18 MB

Цитата:
* FTS-индексация тысячи словарей (включая супергиганты типа МТ, Urban, Wiki и пр.) занимает около 6 часов (в фоновом режиме).

MT с точки зрения FTS совсем не супергигант - статей много, но они короткие и с ограниченным набором слов. Вот Urban и Wiki - это да, это серьёзно.

Цитата:
В окно найденного заголовки попадают с тегами ударений (очищенными от фигурных скобок); смотрится, как будто квадратным скобкам навязана экранизация.

Пример можно?
Насчёт подкарточек посмотрю.
Автор: BKSRU
Дата сообщения: 17.04.2014 19:18
del (да что ж это такое сегодня )
Автор: ramix
Дата сообщения: 17.04.2014 19:50
Abs62

Цитата:
Пример можно?

http://rghost.ru/54310623/image.png

Добавлено:
Abs62

+
GoldenDict чего-то прицепился к словарю "Wiktionary (En)" (файл En-En_Wiktionary-20110604-2.html.aar) и раз за разом домогается его повторной FTS-индексации, хотя, я проверил - файл не модифицировался.

Может, это случайность, но на всякий случай возьмите это на заметку.
Автор: Abs62
Дата сообщения: 17.04.2014 21:07
ramix
С ударениями и подкарточками вроде разобрался - GoldenDict-FTS3.7z - 1.18 MB.

Цитата:
GoldenDict чего-то прицепился к словарю "Wiktionary (En)" (файл En-En_Wiktionary-20110604-2.html.aar) и раз за разом домогается его повторной FTS-индексации, хотя, я проверил - файл не модифицировался.

Запустите с ключом "--log-to-file" и посмотрите в логе, не вылетает ли индексация с ошибкой.
Автор: ramix
Дата сообщения: 17.04.2014 23:28
Abs62

Цитата:
Запустите с ключом "--log-to-file" и посмотрите в логе, не вылетает ли индексация с ошибкой.


Оный написал:

Debug: Aard: Building the full-text index for dictionary: Wiktionary (En)

Warning: Aard: Failed building full-text search index for "Wiktionary (En)", reason: Failed to compress a chunk

Warning: QTextHtmlParser::applyAttributes: Unknown color name 'c_default_color'
Warning: QTextHtmlParser::applyAttributes: Unknown color name 'c_default_color'
Warning: Warning: no corresponding opening tag for closing tag "m" found.
Warning: Warning: no corresponding opening tag for closing tag "m" found.
Warning: QTextHtmlParser::applyAttributes: Unknown color name 'c_default_color'
Warning: QTextHtmlParser::applyAttributes: Unknown color name 'c_default_color'
Warning: QTextHtmlParser::applyAttributes: Unknown color name 'c_default_color'

и так 43 раза повторил последнюю строчку...

Добавлено:
Для информации:
* Если слово или словосочетание редкое, то в режиме "Whole words" ищет не более нескольких секунд.
* Если слово или словосочетание очень распространенное, то ищет примерно со скоростью 5000 совпадений/минуту. С одной стороны, долго, ну а с другой, какой смысл получать список в тысячи заголовков, так что можно сделать вывод, что в данном режиме скорость приемлемая.

Добавлено:
Abs62
Достал меня онлайновый МТ (который неведомо как включился на экспериментальной версии) своими затираниями результатов поиска. Попробовал выключить его снятием птички, а он положил GD:

И после закрытия окна настроек так и остался торчать - экран после ошибки не обновился.
Автор: Abs62
Дата сообщения: 18.04.2014 00:04
ramix

Цитата:
Warning: Aard: Failed building full-text search index for "Wiktionary (En)", reason: Failed to compress a chunk

Таки да, облом индексирования.
Попробуйтё ещё эту версию - GoldenDict-FTS4.7z - 1.19 MB. По идее она должна немного меньше памяти расходовать, на убойных словарях вроде Wiki это может оказаться существенно.
Автор: ramix
Дата сообщения: 18.04.2014 01:13
Abs62

Цитата:
Попробуйтё ещё эту версию - GoldenDict-FTS4.7z - 1.19 MB.

Спасибо, прошло без ошибок.

1) Такое впечатление, что во время FTS-поиска GD интенсивно обращается к самим словарям, а не только FTS-индексу. Интересно, для чего и не отнимает ли это лишние ресурсы?

2) Что значат многочисленные строки типа "Warning: Warning: no corresponding opening tag for closing tag "m2" found." или "Warning: Warning: no corresponding opening tag for closing tag "p]" found."?

Автор: Abs62
Дата сообщения: 18.04.2014 06:47
ramix

Цитата:
1) Такое впечатление, что во время FTS-поиска GD интенсивно обращается к самим словарям, а не только FTS-индексу. Интересно, для чего и не отнимает ли это лишние ресурсы?

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

Цитата:
2) Что значат многочисленные строки типа "Warning: Warning: no corresponding opening tag for closing tag "m2" found." или "Warning: Warning: no corresponding opening tag for closing tag "p]" found."?

Это значит ругань парсера DSL на несоответствие открывающих и закрывающих тегов в тексте статьи. В первом случае наверно тег [/m2] вместо [/m] в конце строки, а во втором надо по тексту статьи смотреть. Возможно, лишняя скобка, вроде [/p]].
Автор: BKSRU
Дата сообщения: 18.04.2014 08:44
Код действительно сырой. У меня на 50% без индекса работает быстрее - то, что проверял (есть исключения как мультитран) (речь о сжатых словарях, конечно DSL), при том, что явно не самый эффективный способ обхода, по существу двойная работа. Ну а с индексом скорость гораздо выше (собственных же результатов) на порядок (10-20 раз).

По поводу подсветки. Особой сложности нет. Могу выслать свой код для примера, если не зазорно. Может, что поможет.
Автор: Abs62
Дата сообщения: 18.04.2014 09:23
BKSRU

Цитата:
Код действительно сырой. У меня на 50% без индекса работает быстрее - то, что проверял (есть исключения как мультитран) (речь о сжатых словарях, конечно DSL), при том, что явно не самый эффективный способ обхода, по существу двойная работа. Ну а с индексом скорость гораздо выше (собственных же результатов) на порядок (10-20 раз).

Поиск без индекса - это для мазохистов.
Можете сделать лучше - сделайте, какие проблемы. Я код не прячу, сейчас последние правки лежат здесь, буде не обнаружится критичных багов, переедут в основной репозиторий.

Цитата:
По поводу подсветки. Особой сложности нет. Могу выслать свой код для примера, если не зазорно. Может, что поможет.

Высылайте, посмотрим. А насчёт особой сложности - не обратили внимания, что в вашем варианте штатный поиск по странице умирает в мучительных судорогах?
Автор: ramix
Дата сообщения: 18.04.2014 09:55
Abs62

Цитата:
Принцип поиска простой - сначала по индексу ищутся статьи, в которые входят все имеющиеся в запросе слова, а потом по тексту найденных статей ищется подходящее под запрос их сочетание.

Я правильно понял, что в данной системе поиска, даже если мы ищем одно слово, то всё равно происходит обращение GD к самим словарям?
(Как я заметил, обращение к словарям идет в первой половине поиска, а во второй GD там что-то внутри себя перелопачивает, интенсивно нагружая уже не диск, а процессор.)

Добавлено:
А что если подсветку организовать, так сказать, штатными средствами - щелчок по заголовку карточки в окне со списком найденных автоматически запустит штатный "поиск на странице (Ctrl+F)" с автоподстановкой искомого слова и включением подсветки всех найденных результатов?

Добавлено:

Цитата:
В первом случае наверно тег [/m2] вместо [/m]

Но тега [/m2] в DSL нет, только [/m]


Цитата:
а во втором надо по тексту статьи смотреть

Если бы парсер был так любезен сообщить, про какую статью и словарь идет речь... На самом деле, ошибки с незакрытыми [/m] должны исчисляться десятками тысяч, а тут таких ошибок просто десятки.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156

Предыдущая тема: Total video converter 3.14 ошибка конвертации


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.