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

» GoldenDict

Автор: Abs62
Дата сообщения: 17.03.2016 19:33
Romul81

Цитата:
P.S. Когда ожидаются новые официальные ночные билды?

Думаю, где-нибудь ближе к концу следующей недели. Вот соберу Qt 5.6, погоняю, а там и выложить можно будет.
Автор: Romul81
Дата сообщения: 17.03.2016 22:52
Abs62

Цитата:
Вот соберу Qt 5.6

так там же Chromium 45. Прощай MinGW, здравствуй VC?
Если так, это будет очень серьезным апдейтом...

Цитата:
With 5.6, Qt WebKit and Qt Quick 1 will no longer be supported and are dropped from the release. The source code for these modules will still be available. You can continue to compile and use these modules, but we will not be supporting them any longer.

Или всё же будете компилировать с WebKit под MinGW?..
Автор: Abs62
Дата сообщения: 18.03.2016 00:08
Romul81
Именно с WebKit. При ближайшем рассмотрении WebEngine выяснилось, что он не стыкуется с QNetworkAccessManager, а именно на такой связке весь GD и построен - все запросы к словарям идут через свой менеджер. Убери её, и всё развалится. Так что будем сидеть на WebKit, как минимум пока не сделают нормальную интеграцию для WebEngine. Если, конечно, они вообще её делать собираются.
Автор: Romul81
Дата сообщения: 18.03.2016 00:23
Abs62
Ну раз так, и ладно. WebKit сам по себе не плох — всё необходимое поддерживается. А с импортом шрифтов может какое другое решение найдется.. Надо потестировать ещё.

Добавлено:
З.ы. Кстати, помню, экспериментировал ранее с подгрузкой шрифтов на более ранних билдах Qt5 через article-style.css — всё прекрасно работало. Причём в разных вариантах — с абсолютными/относительными путями и по base64. Непонятно, что там сломалось...
Автор: Abs62
Дата сообщения: 18.03.2016 10:19
Romul81

Цитата:
З.ы. Кстати, помню, экспериментировал ранее с подгрузкой шрифтов на более ранних билдах Qt5 через article-style.css — всё прекрасно работало. Причём в разных вариантах — с абсолютными/относительными путями и по base64.

Да? А мне почему-то вспоминается, что проблема всплыла в первых же версиях Qt5. Хотя голову на отсечение не дам.
Автор: Romul81
Дата сообщения: 18.03.2016 11:15
Abs62
Я тоже "зуб давать" не буду - год назад дело было. Но, судя по тому, что писал тогда - таки всё работало на Qt5.
Автор: Abs62
Дата сообщения: 18.03.2016 12:12
Romul81
Так можете проверить - на sourceforge.net лежат сборки, начиная с Qt 5.3.1. Ставите портативно, дабы не было лишних переиндексаций, и проверяете. Если где-то работает, заодно и увидим, в какой момент сломалось.
Автор: Romul81
Дата сообщения: 18.03.2016 12:14
Abs62

ОК. На выходных займусь тестами..
Автор: CAEman2
Дата сообщения: 19.03.2016 19:44
anion23

Цитата:
вы так и не закончили свою мысль, что же "лучше было бы"

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

Цитата:
2015г. статистика:
Какую ОС вы имели в виду?

Это статистика продаж ОС, а не использования (к тому же, судя по наличию Виндоус >"7" - ещё и с учётом некоторых, а конкретно - от Майкрософт мобильных платформ). Например, открытая Linux (в данном случае я имею в виду десктопную GNU, но не мобильную Android, которая обычно поставляется вместе с устройствами, а не отдельно) в абсолютном большинстве своём не покупается (т.е. её поддержка + проприетарные модули некоторых спец. дистр-ов), а просто скачивается и устанавливается, зачастую вмест(о|е) купленной ранее с комп-ом Виндоус (с которой выгоднее продавать комп-ы ввиду завышения стоимости и, соответственно, суммы от процентов прибыли, а также последующего калыма от доведения и поддержки её в рабочем состоянии).
Реальная же статистика использования (по крайней мере, когда цена не имеет практического значения и делается осознанный выбор, так как выбирающий в этом точно уж разбирается):
Это "proof link": http://www.top500.org/statistics/list/ (выберите "Operation System Family"). Давно я туда не заглядывал: Виндоуса уже и след простыл (хотя в июне ещё было по одному комп-у с учётом "mixed"). А это сравнительная динамика использования:
http://www.top500.org/statistics/details/osfam/1
http://www.top500.org/statistics/details/osfam/2 + http://www.top500.org/statistics/details/osfam/7 (будем считать, что во всех "mixed" присутствовала Виндоус).

Догадались какую ОС я имел в виду?
Автор: Romul81
Дата сообщения: 19.03.2016 19:48
Abs62

В общем, по результатам тестов сообщаю.

Импорт шрифтов через article-style.css. Удалось найти тестовый словарь, о котором говорилось в этом сообщении. Перезалил - GoldenDict_font_test.rar, специально ничего не изменив. Правда, тест заточен в большей степени на Fallback, но интересующий нас функционал (импорт шрифтов) тоже присутствует. Как тогда, так и сейчас импорт работает как в Qt4, так и в Qt5. Fallback - безупречен в Qt5 и "кривой" в Qt4.

Импорт шрифтов для Stardict через custom-style.css и файлы *.ttf из подпапки res. Работает только и исключительно на GoldenDict-1.5.0-RC-523-g8388cd8(EXE only). На Qt5, как Вы и отмечали ранее - ни в какую не хочет. Подготовил тестовый словарь на основе уже знакомого Вам Aurelio - AurelioFontTest.zip.

Тут странность в том, как мне кажется, что сам по себе импорт шрифтов в WebKit на Qt5 возможен, что убедительно доказывает тестовая конфигурация из GoldenDict_font_test.rar, тогда как то же самое для папки res не работает... Наверное, только Вы можете разобраться, почему так происходит...

Добавлено:
Да забаньте кто-нибудь уже тролля за очевидный флуд! Ожидать, что самоубъётся - дело безнадёжное.
Автор: Abs62
Дата сообщения: 19.03.2016 21:49
Romul81
Хм. А если проделать через article-style.css всё, что делается через custom-style.css, оно работает?
Автор: Romul81
Дата сообщения: 19.03.2016 22:12
Abs62
Так по сути то на то и выходит — ttf-файлы переносятся в portable/fonts, в article-style.css прописываются импорт и правила для классов — по аналогии с тем, что происходит в GoldenDict_font_test.rar. Будет работать — уверен на 99%, т.к. принцип не меняется.

Добавлено:
Хотя, для полной уверенности чуть позже протестирую.

Добавлено:
Ха! А вот и не работает! Точнее, работают только те шрифты, которые установлены в системе (в данном случае Wingdings и Symbol). А остальные не хотят.

На GoldenDict-1.5.0-RC-442-g83397ce_(QT_486)(Abs62) тот же самый article-style.css работает без проблем. Отображаются все шрифты, как установленные в системе, так и лежащие локально.

На Qt5 заметил ещё, что если прописать пути неправильно, то возникает большая задержка при отображении карточки и в консоль выводится ошибка о ненахождении ресурса. Т.е. при нормальных путях программа, как бы видит эти шрифты, и вроде как импортирует. Но.. не отображает.

Чёт я не въеду никак. Почему тогда конфигурация из GoldenDict_font_test.rar работает, и шрифты отображаются? Ни один из них не установлен в систему...

Добавлено:
P.S. В Mdict тоже не всё гладко со шрифтами:




Но здесь, видимо, проблема с путями.
Автор: Abs62
Дата сообщения: 20.03.2016 00:01
Romul81

Цитата:
Т.е. при нормальных путях программа, как бы видит эти шрифты, и вроде как импортирует. Но.. не отображает.

Угу. Как бы видит и как бы даже грузит, но в логе вылетает ошибка "fontEngine: AddFontMemResourceEx failed".

Цитата:
Но здесь, видимо, проблема с путями.

"gdlookup" - это протокол для слов, для ресурсов должен быть "bres".
Автор: Romul81
Дата сообщения: 20.03.2016 00:12
Abs62

Цитата:
"gdlookup" - это протокол для слов, для ресурсов должен быть "bres".

А это ресурсы, лежащие в mdd (js+css+ttf)

Добавлено:

Цитата:
но в логе вылетает ошибка "fontEngine: AddFontMemResourceEx failed"

Хотя, через раз, всё-таки импортирует (как в случае с тестом fallback). Почему-то...
В любом случае, похоже, проблема действительно в WebKit. Может он woff хочет?.. Или ещё чего..
Автор: Krestkz
Дата сообщения: 27.03.2016 13:30
Добрый День

Имеется 2 словаря (Oxford Advanced Learner Dictionary 9th, Cambridge Advanced Learner Dictionary 4th) в формате *.dsl.

Словари взяты с ftp сервера, доступ к которому получен здесь - http://forum.ru-board.com/topic.cgi?forum=93&topic=3774&start=0

Нужно их перевести в формат
Цитата:
StarDict (.ifo/.dict./.idx/.syn)


Может кто-нибудь помочь с этим?
Автор: andreyefgs
Дата сообщения: 28.03.2016 19:28
Krestkz
https://github.com/ilius/pyglossary
Автор: Abs62
Дата сообщения: 31.03.2016 19:12
Romul81

Цитата:
Хотя, через раз, всё-таки импортирует (как в случае с тестом fallback). Почему-то...
В любом случае, похоже, проблема действительно в WebKit. Может он woff хочет?.. Или ещё чего..

Проблему я в конце концов нашёл и разработчикам отрепортил. Может даже починят, потому как она не в WebKit, а в механизмах самого Qt.
А шрифты действительно грузятся избирательно. Юникодные отрабатываются нормально, а на символьных возникает затык.
Автор: Romul81
Дата сообщения: 31.03.2016 21:14
Abs62

Ага, сам пару дней назад пришёл к таким же выводам, но побоялся писать из-за сбоя на форуме.
Косяк где-то в qwindowsfontdatabase.cpp. Там же присутствует и проверка на юникод.

Тут другое дело. На счёт якорных ссылок. После перехода по ним пропадает заголовок вкладки. Просто, становится пустым. Для Mdict и Stardict. Повторяется как на qt5, так и на qt4 под Linux (сборка из крайних исходников). Видимо потому, что якорь сам по себе - пустая ссылка типа <a name="..."></a>.
Не знаю, откуда берётся заголовок вкладки, но может его переориентировать на переменную из которой берётся стринг "word" для Request URL. После перехода по якорной ссылке он остаётся корректным.

Ну и чтоб два раза не вставать. langcoder где-то не так отрабатывает (Mdict и Stardict). Не хочет воспринимать пары, прописанные в Bookname. Напр. Pol-Pol, Spa-Spa. Помогает только если обозвать файл типа *_pl_pl.ifo - тогда подхватывает пару. И трёхбуквенные обозначения тоже, вроде не хочет воспринимать.
Автор: oRDoSS
Дата сообщения: 31.03.2016 22:00
Abs62
Есть вопросы по ресурсам словарей в десктопной версии (если важно - под Windows., хотя с учетом кроссплатформенности...)
Сначала немного информации.
Если взять готовые словари из Lingvo с озвучкой - например UniversalRuDe.lsd и взять аудиофайлы SoundDe.lsa, то при попытке проиграть файл программа в нижнем углу выводит ошибку с красным воскл. знаком - требуемый ресурс не найден. Файл SoundDe.lsa проиндексирован, висит как подключенный словарь, но в поле о словаре содержится 0 слов. Файлы из Lingvo X6. (хм, не очень понятно написал... завтра доберусь до компа - напишу подробнее). В общем, аудио не работает

Ситуация осложняется тем, что нужны испанский, итальянский, немецкий и французский с озвучкой, в английском обошелся бы DOCE. Единственное, где нашел готовое в оффлайн с озвучкой - лингво. Но... Я разобрал *.lsd, посмотреть что там и как. Гипотетически, можно было бы решить вопрос путем распаковкии sound*.lsa в набор отдельных аудиофайлов, но при распаковке *.lsa аудиофайлы поименовываются по исходному слову. Т.е распакованный аудиофайл с произношением, к примеру, "name" имеет название "name.wav", а в самом словаре стоит ссылка на него вида {s}"0181776.wav"{/s}. Печально, в общем, что такой вариант не прошел.
Собственно, сами вопросы. Если на них уже отвечали - просто скажите где глянуть, в вики ничего не нашлось.
1. Можно ли отдельно прикрутить поименованные файлы вида "name.wav", чтобы при открытии карточки с любым словарем в самой карточке была иконка "озвучить"? Заранее проиндексировать, составить базу и подсовывать в выдающуюся карточку словаря на лету, при этом не отображая в на "полке" аудио как отдельный словарь.
И можно ли в десктопной версии сделать несколько полок? С возможностью расставить словари руками и размещением по периметру окна (также как сейчас одна-единственная полка "клеится", можно было бы до 4 полок клеить - сверху, снизу, справа и слева). Просто удобно когда словарей много, я бы у себя разбил полки по направлениям перевода типа "EnRuEn", сделал на полке общий переключатель "включить/выключить все словари на этой полке" и не лазил бы в выпадающий список направлений. Кто-то наверняка разбил бы на группы по другому принципу, но все равно - иметь возможность быстрого вкл/выкл группы и группировки без использования узкого выпадающего списка было бы удобно, как мне кажется.

А еще хотел узнать - умеет ли GoldenDict вместо wav использовать mp3 или ogg? А лучше всего - какой-нибудь *7zip. А то аудио после распаковки мало того что в ~9.000 файлов, так еще и почти гигабайт занимает - а в SoundDE.lsa было всего ~70 мбайт. Ради интереса попробовал упаковать эти 9K файлов в Zip-архив. В Winrar на настройках по умолчанию если сжимать, со словарем 32К - получается ~600Мбайт. Вообще, для такого надо бы нормальный контейнер с хорошим сжатием, не дело 9.000 файлов россыпью держать.

Автор: Abs62
Дата сообщения: 31.03.2016 23:16
Romul81

Цитата:
Тут другое дело. На счёт якорных ссылок. После перехода по ним пропадает заголовок вкладки. Просто, становится пустым. Для Mdict и Stardict. Повторяется как на qt5, так и на qt4 под Linux (сборка из крайних исходников).

Хм. А у меня на Qt4 не пропадает. На Qt5 пропадает, да. Будем посмотреть.
А если в качестве якоря использовать не <a>, а что-нибудь другое?

oRDoSS

Цитата:
Файл SoundDe.lsa проиндексирован, висит как подключенный словарь, но в поле о словаре содержится 0 слов.

Значит, что-то с ним не то. Количество слов отражает количество найденных звуков.

Цитата:
1. Можно ли отдельно прикрутить поименованные файлы вида "name.wav", чтобы при открытии карточки с любым словарем в самой карточке была иконка "озвучить"? Заранее проиндексировать, составить базу и подсовывать в выдающуюся карточку словаря на лету, при этом не отображая в на "полке" аудио как отдельный словарь.

Нельзя. Если в статье ссылка есть - покажет, а на нет и суда нет.

Цитата:
И можно ли в десктопной версии сделать несколько полок? С возможностью расставить словари руками и размещением по периметру окна (также как сейчас одна-единственная полка "клеится", можно было бы до 4 полок клеить - сверху, снизу, справа и слева).

Если кто-нибудь этим займётся. Геморроя там изрядно будет.

Цитата:
А еще хотел узнать - умеет ли GoldenDict вместо wav использовать mp3 или ogg?

Умеет. И mp3, и ogg - у него плеер на базе ffmpeg.
А разрозненные звуковые файлы можно запаковать в zip и сменить расширение на zips. С таким файлом GD работает так же, как с lsa.
Автор: Romul81
Дата сообщения: 31.03.2016 23:59
oRDoSS

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


Цитата:
...В общем, аудио не работает.

Попробуйте взять файлы .lsa из более ранних версий Лингво - x3, например. Разница там минимальная. А в английском, так вообще, качество аудио хуже (в новых), т.к. добавили амер. вариант.

Цитата:
Гипотетически, можно было бы решить вопрос путем распаковкии sound*.lsa в набор отдельных аудиофайлов,...
Можно. Все эти проблемы легко решаемы. Самый простой метод -
- Распаковать в wav lsa и соотв-й lsd в dsl.
- Из wav сделать wavemp3 (прибавка в размере по сравнению с оригинальным lsa максимум 30% при полном сохранении качества) --> упаковать в zip.
- Из dsl выкинуть всё содержимое, оставить только заголовки с [no]*.wav[/no]
- Создать полку, поставив его первым в списке. Ресурс будет доступен по кнопке аудио из панели в т.ч. (кстати, на полки можно вешать горячие клавиши).
- Было б неплохо иметь возможность идентифицировать класс словаря, чтоб вешать на него правило display:none , но данная возможность отсутствует...

З.Ы. Вместо dsl можно ещё сделать stradict-x, поддерживающий ресурсы.

Добавлено:
Abs62

Цитата:
А разрозненные звуковые файлы можно запаковать в zip и сменить расширение на zips. С таким файлом GD работает так же, как с lsa.

А как он относится к non-ANSI именам файлов в zip-utf8?

Добавлено:
З.з.ы.
Цитата:
- Было б неплохо иметь возможность идентифицировать класс словаря, чтоб вешать на него правило display:none , но данная возможность отсутствует...

Хотя... можно посмотреть ID в инспекторе и уже потом к нему привязать соответствующее правило в article-style.css.
Автор: Abs62
Дата сообщения: 01.04.2016 00:14
Romul81

Цитата:
А как он относится к non-ANSII именам файлов в zip-utf8?

А не помню. Проверить надо.
Автор: Romul81
Дата сообщения: 01.04.2016 00:18

Цитата:
А если в качестве якоря использовать не <a>, а что-нибудь другое?

Дак не по стандарту же.. Для Mdict всё четко прописано. А для Stardict-h и не заявлялось. Для Stardict-x конструкция следующая:

Код: [no]<kref type="spv" idref="35fo86fdr">traveler</kref>[/no]
Автор: Abs62
Дата сообщения: 01.04.2016 01:19
Romul81

Цитата:
Ну и чтоб два раза не вставать. langcoder где-то не так отрабатывает (Mdict и Stardict). Не хочет воспринимать пары, прописанные в Bookname. Напр. Pol-Pol, Spa-Spa. Помогает только если обозвать файл типа *_pl_pl.ifo - тогда подхватывает пару. И трёхбуквенные обозначения тоже, вроде не хочет воспринимать.

Двухбуквенные пары принимает. Вот с трёхбуквенными косяк, да. Поправлю.
Автор: oRDoSS
Дата сообщения: 01.04.2016 10:02
Abs62
Спасибо за ответы. Не ожидал что с такой оперативностью ответят. Жаль, что реализация "полок" такая трудоемкая. С аудио я еще попробую повоевать, если не получится - в конце концов поставлю лингво - озвучка нужна, альтернативы нет.
Про воспроизведение аудио - ситуация понятна. Скажите, а если zip в виде *zips* читает, может и 7zip прикрутить можно? Хотя с учетом поддержки mp3 и waveMp3 - можно zip использовать как контейнер...


Цитата:
Файл SoundDe.lsa проиндексирован, висит как подключенный словарь, но в поле о словаре содержится 0 слов. Файлы из Lingvo X6. (хм, не очень понятно написал... завтра доберусь до компа - напишу подробнее). В общем, аудио не работает

Я идиот. В словаре RuDe идут ссылки на аудио из SoundRu.lsa. Аудио работает нормально. Разобрался наконец.

Romul81
И вам огромная благодарность, многие ньюансы стали понятнее.
Где можно почитать про переделку в "stradict-x" с ресурсами?
Автор: Romul81
Дата сообщения: 01.04.2016 10:19
oRDoSS

Ну как бы почитать особо негде. Могу посоветовать для начала конвертнуть какой-нибудь DSL с ресурсами в Stardict с помощью утилиты makedict, лежащей в шапке этой темы. Потом разобрать с помощью pyglossary, к примеру (ссылка выше), и посмотреть, как оно там внутри устроено. Ну а далее можно по такому же типу делать GLS исходники и компилировать в Stardict sametypesequence=x (директивы такого типа). Мобильный GD тоже понимает этот формат. Преимущество такого Stardict перед DSL - возможность использовать функционал синонимов (подгружаются соотв. заголовки из других словарей). Если синонимов нет, то и заморачиваться не стоит - DSL вполне подойдёт.
Автор: oRDoSS
Дата сообщения: 01.04.2016 11:22
Я пока нашел обходное решение для аудио. Сам словарь упаковываю в *.dsl.dz, аудио пережимаю в mp3 и закидываю в zip. Zip потом переименовываю в *.dsl.dz.files - и вуаля - на полке нет кучи значков аудио, а сама озвучка работает.
Но есть косяки. Утилита lsd2dsl именует аудио "как есть", в результате наблюдается такая, например, картина:

Наверное, излишне говорить, что поименованные таким образом файлы не воспроизводятся в программе, т.к их название отличается от оригинального.
Что характерно, в винде можно переименовать руками, например в abk&#252;rzen (abk''urzen)- и название файла сохраняется нормально.
Автор: Romul81
Дата сообщения: 01.04.2016 11:38
oRDoSS

1. В региональных параметрах системы выставьте "немецкий" для неюникод программ.
2. Перезагрузитесь и повторите распаковку lsa.
3. После переконвертирования в mp3 заархивируйте в zip-utf8.
4. Верните региональные параметры на место.
5. Протестируйте.
Автор: oRDoSS
Дата сообщения: 01.04.2016 11:50
Romul81
Пробовал уже. Все останавливается на пункте 2. Выставил Немецкий (Германия), перезагрузился, заново распаковал - при распаковке все одно "крякозябры", теперь другие - дробь 3/4 в одном символе и прочее. Резюмируя - смена языка для не-юникода не помогает.
Предполагаю, что надо тормошить автора конвентера. Получается, что LSA с аудио других языков, отличными от русского или английского (а не дай б-г, есть еще и китайская озвучка) нормально не конвентируется.
Автор: Romul81
Дата сообщения: 01.04.2016 11:53
oRDoSS
А как эти файлы прописаны в теге [no][s][/no] в dsl? Что находится на месте не-ANSI символов?

З.Ы. Данная тема в этом топике - оффтоп. Предлагаю перенести дальнейшее обсуждение в эту тему.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156

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


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