Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » GoldenDict (часть 2)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущее обсуждение: Часть 1




 
Актуальная версия 1.5.0:
Windоws Qt 4.8.6 или Qt 5.12.3, последний EXE-файл: 1.5.0-18-g59363bc9.
Плагин dsengine.dll для Qt 5.6-based версии на Windows XP: dsengine_5.6.1_for_XP.7z
как собрать актуальный рабочий комплект для windows (без словарей)
MacOSX 1.5.0-18-g59363bc9 Intel; архив прежних версий: на github (09.2012–04.2019), на sourceforge (06.2016–04.2019)
 
Расширенная настройка интерфейса
 
GoldenDict — новая словарная программа, обладающая следующими особенностями:  
 
  • Графический интерфейс на основе табов, для создания которого использована библиотека Qt;
  • Интеграция с html-движком WebKit для корректного представления материалов в html-формате;
  • Поддержка подключения словарей в форматах: Babylon (.bgl/.gls), StarDict (.ifo/.dict./.idx/.syn), Dictd (.index/.dict), ABBYY Lingvo (.dsl тексты и аудиоматериалы .lsa/.dat, .lsd - только в Android), XDXF, AARD, SLOB, ZIM, MDX/MDD, EPWING;
  • Система морфологии, которая находит основы слов при поиске, улучшая его результаты, а также дает рекомендации по правильному написанию слов. Используются обычные словари Hunspell/Myspell;
  • Поддержка индексации звуковых файлов в директориях, формируя из них словари аудио-произношений;
  • Поддержка отправки запросов в Wikipedia, Wiktionary и другие MediaWiki сайты;
  • Режим работы в роли глобальной для всего десктопа всплывающей подсказки, позволяющий выводить информацию для выделенного или помещенного в буфер обмена слова из любого текста внешней программы;
  • Для загрузки доступна версия, имеющая в комплекте набор англо-русско-английских словарей, словарей морфологии и примеры произношения слов на английском языке.  
     
    Программа позиционируется как функциональная замена StarDict, поддерживающая большее количество форматов файлов и более качественное их отображение. Программа умышленно не вводит собственного формата файлов, ставя вместо этого задачу наиболее полно поддержать все популярные существующие.
     
    Официальные Early Access билды для Windоws :: для MacOSX :: для Linux.
    Официальные Development билды для Windоws.
    Официальный форум поддержки GoldenDict.
    Официальный баг-трэкер.
     
    Параллельные топики:
    GoldenDict - New Level - Разработка новых форматов словарей для GD: DSLGD, HTMLGD; подключение речевых движков; режим закладок; варианты полнотекстового поиска.
     
    Как сжимать словари в формат .dz для использования в GoldenDict :: DictZip 1.12.1 (latest) :: Оболочка DictUI
     
    Ссылки на готовые сборки
     
    Ссылки на словари для GoldenDict

  • Всего записей: 38814 | Зарегистр. 26-02-2002 | Отправлено: 11:50 23-02-2017 | Исправлено: yozhic, 22:10 16-03-2024
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki
    wiktionary_ru_all_10_2014.zim у меня нет, а с wiktionary_ru_all_2017-01.zim я искажений не наблюдаю. Попробуйте в инспекторе выяснить правило CSS, которое сдвигает границы, а потом найти его в самом CSS и посмотреть, что с ним не так.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6079 | Зарегистр. 22-10-2005 | Отправлено: 12:40 08-10-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите что надо поправить чтобы проигрывался звуковой файл?
     
    Имеется статья в GLS словаре:
     

    Код:
    test1
    test <sound><audio src="res/11000205_1.mp3" id="11000205_1"></audio><img src="res/speaker.gif" style="cursor: pointer;" onclick="this.parentNode.firstChild.play()"></sound>
     
     
     
    Звуковой файл находится в папке res
     
    Тестовый словарик в архиве:
    http://sendfile.su/1369448
     
    Контролы не нужны, нужно чтобы по клику по картинке проигрывался звуковой файл.
     
    В инспекторе видно что рабочий адрес получила только картинка, которая, кстати, отображается.
    Можно конечно javascript-ом своровать адрес у картинки и использовать его (начальную часть) для звукового файла.
    Но прежде чем так извращаться решил спросить может есть нормальный способ.
     

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 01:05 15-10-2017 | Исправлено: andreyefgs, 10:17 15-10-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs
    В GLS звуки не поддерживаются. Из офлайновых форматов, ЕМНИМС, они поддерживаются только в DSL, MDX, Epwing и XDXF.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6079 | Зарегистр. 22-10-2005 | Отправлено: 01:53 15-10-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Вариант с программной правкой адреса:
     

    Код:
    test1
    test <script>function playAudio(img, audio, mp3){img = img.replace(/speaker\.gif$/, "");audio.src = img + mp3;audio.play();}</script><sound><audio src=""></audio><img src="res/speaker.gif" style="cursor: pointer;" onclick="playAudio(this.src, this.parentNode.firstChild, '11000205_1.mp3')"></sound>
     

     
    Инспектор:
       
     
    Не работает:
    bres://fafde81262e119bd7017f36064f219d1/res/11000205_1.mp3
     
    Другой вариант:
     

    Код:
    test2
    test <script>function playAudio(img, audio, mp3){img = img.replace(/bres:\/\/(.*)speaker\.gif$/, "gdau://$1");audio.src = img + mp3;audio.play();}</script><sound><audio src=""></audio><img src="res/speaker.gif" style="cursor: pointer;" onclick="playAudio(this.src, this.parentNode.firstChild, '11000205_1.mp3')"></sound>
     

     
       
     
    Тоже не работает:
    gdau://fafde81262e119bd7017f36064f219d1/res/11000205_1.mp3
     
    Внимание! gdau, а не bres
     
    Если кликнуть по этой ссылке в инспекторе, то выводится: An error occurred trying to load the resource.
     
    А так проигрывается:
     

    Код:
    test3
    test <sound><audio src="http://static.ordnet.dk/mp3/11000/11000205_1.mp3"></audio><img src="res/speaker.gif" style="cursor: pointer;" onclick="this.parentNode.firstChild.play()"></sound>
     

     
    Так получается что частично поддерживается.
    А почему локальные не проигрываются?
    Есть ли перспектива придумать пока какой-то js-хак-костыль чтобы это делать или это невозможно?
     
    ЗЫ
    Запрос фичи:
    <audio src="res/file.mp3"></audio>
     
     
    ЗЗЫ
    Тестовый словарик:
    http://sendfile.su/1369503

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 10:16 15-10-2017 | Исправлено: andreyefgs, 10:19 15-10-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs

    Цитата:
    Так получается что частично поддерживается.
    А почему локальные не проигрываются?

    Потому что на тег "sound" откликается штатный плеер из Qt WebKit, который не знает протоколов типа "gdau" или "bres".

    Цитата:
    Есть ли перспектива придумать пока какой-то js-хак-костыль чтобы это делать или это невозможно?

    Посмотрите, во что превращаются ссылки на звуки в том же DSL.

    Цитата:
    ЗЫ
    Запрос фичи:
    <audio src="res/file.mp3"></audio>  

    А в какой формат сможет сконвертироваться gls с таким кодом? Ведь он же по своему изначальному предназначению исходник, сырец, как и dsl.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6079 | Зарегистр. 22-10-2005 | Отправлено: 13:50 15-10-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Разобрался
    Вот такой вариант в GLS работает
     

    Код:
    test4
    test <span class="dsl_s_wav"><a href="gdau://fafde81262e119bd7017f36064f219d1/res/11000205_1.mp3"><img src="res/speaker.gif" style="cursor: pointer;"></a></span>  
     

     
    Но придётся js-костыль использовать, чтобы вытаскивать gdau://fafde81262e119bd7017f36064f219d1/ из ссылки на картинку и править ссылки на mp3
     
    Иначе, если оставить res/11000205_1.mp3 то в итоге получается:
    <a href="bword:res/11000205_1.mp3"></a>
     
     
    ЗЫ

    Цитата:
    А в какой формат сможет сконвертироваться gls с таким кодом? Ведь он же по своему изначальному предназначению исходник, сырец, как и dsl.

     
    Я gls-ы конвертирую в стардикт формат

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 15:09 15-10-2017 | Исправлено: andreyefgs, 15:34 15-10-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs

    Цитата:
    Заменил на span, но это ничего не изменило. Файлы не проигрываюся.

    Потому что у вас стоит тег <audio src="...">, а не <a href="gdau://...">, который перехватывается GD. Кстати, обратите внимание, там ещё и скрипт имеется - он для работы кнопки на панели инструментов.

    Цитата:
    Но после конвертирования в стардикт локальные файлы тоже не проигрываются

    А сам стардикт умеет такое проигрывать?

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

    Посмотрим.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6079 | Зарегистр. 22-10-2005 | Отправлено: 15:42 15-10-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Пока так работает
     

    Код:
    test
    <script>function playAudio(a,mp3){a.href = a.firstChild.src.replace(/bres:\/\/(.*)speaker\.gif$/, "gdau://$1") +  mp3;    a.click();}</script>test <span class="dsl_s_wav"><a href="javascript:void(0);" onclick="playAudio(this,'11000205_1.mp3')"><img src="res/speaker.gif" style="cursor: pointer;"></a></span>  
     

     
    Тоже самое с \n и отступами:

    Код:
    test
    <script>
    function playAudio(a,mp3)
        {
            a.href = a.firstChild.src.replace(/bres:\/\/(.*)speaker\.gif$/, "gdau://$1") +  mp3;
            a.click();
        }
    </script>
     
    test
    <span class="dsl_s_wav">
        <a href="javascript:void(0);" onclick="playAudio(this,'11000205_1.mp3')">
            <img src="res/speaker.gif" style="cursor: pointer;">
        </a>
    </span>  
     

     

    Цитата:
    Посмотрим.

    Если будете делать фичу, то делайте как вам виднее
    Моё предложение:
    1) <audio src="res/file.mp3"></audio> => <audio src="gdau://xxxxxxxx/res/file.mp3"></audio>
     
    2) Или можно сделать так, чтобы GD обрабатывал специальный тег
    Например менял, скажем, <gd_sound src="file.mp3"></gd_sound> на  
     

    Код:
    <span class="dsl_s_wav"><a href="gdau://xxxx/file.mp3"><img src="qrcx://localhost/icons/playsound.png" border="0" align="absmiddle" alt="Play"></a></span>

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 16:39 15-10-2017 | Исправлено: andreyefgs, 16:40 15-10-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs

    Цитата:
    Моё предложение:
    1) <audio src="res/file.mp3"></audio> => <audio src="gdau://xxxxxxxx/res/file.mp3"></audio>

    Так не заработает же. Тег <audio> WebKit сам схватит обрабатывать, вы уже убедились. Есть же стандартный <a href>.
     


    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6079 | Зарегистр. 22-10-2005 | Отправлено: 17:07 15-10-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Ни разу не использовал звуковые файлы c GD, не пришлось, даже с DSL словарями
    Поэтому извиняюсь за глупый вопрос
    Вроде читал, что звуковые файлы можно архивировать с помощью dictzip
    Но это только для DSL будет работать?
    У меня будет 87205 файлов
     

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 18:01 15-10-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs
    Ресурсы можно пихать в простой zip. Называться для gls он должен как основной файл словаря с добавкой ".gls.files.zip". Для Strardict - просто "res.zip". Только имейте в виду, что папки внутри zip не поддерживаются.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6079 | Зарегистр. 22-10-2005 | Отправлено: 18:30 15-10-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs
    Пробуйте - goldendict-1.5.0-RC2-193-g3f22104(EXE only).7z.
    Обрабатываются теги вида <audio src="res/file.mp3"> со ссылками на локальные файлы в GLS. Тег с сетевыми  ссылками типа <audio src="http://..."> останется нетронутым.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6079 | Зарегистр. 22-10-2005 | Отправлено: 18:53 16-10-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Спасибо, работает
    ЗЫ
    А есть ли какая-нибудь возможность заменить дефолтную иконку qrcx://localhost/icons/playsound.png
    Просто интересуюсь, это не просьба
    Я могу и javascript-ом заменить, но может это возможно и лучше делать через css
     

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 20:14 16-10-2017 | Исправлено: andreyefgs, 21:10 16-10-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs

    Цитата:
    А есть ли какая-нибудь возможность заменить дефолтную иконку qrcx://localhost/icons/playsound.png

    Ну, что-нибудь вроде:

    Код:
    .gls_wav img
    {
      display:none;
    }
     
    .gls_wav a:after
    {
      content:url('file:///speaker.gif');
      display: inline;
    }

    Путь в url('file:///...') отсчитывается от домашней папки GD (это я про article-style.css).
     
    Хотя для GLS можно просто пихать картинку в <audio>, типа - "<audio src="res/11000205_1.mp3"><img src="res/speaker.gif"></audio>". Если GD найдёт там тег <img>, он свою иконку добавлять не будет.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6079 | Зарегистр. 22-10-2005 | Отправлено: 21:10 16-10-2017 | Исправлено: Abs62, 21:18 16-10-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Устраивает: <audio src="11000205_1.mp3"><img src="res/speaker.gif"></audio>
    Ибо это изменение нужно только для конкретного словаря, хочется иметь аутентичный вид

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 21:51 16-10-2017 | Исправлено: andreyefgs, 21:54 16-10-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs
    Ну, в принципе то же самое можно проделать, добавив локальный css с тем же содержимым (только ссылку надо писать без "file:///") к этому словарю. Но тут уж как удобнее.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6079 | Зарегистр. 22-10-2005 | Отправлено: 22:04 16-10-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Вот рабочий метод:
     
    Содержание файла test.css:

    Код:
    .gls_wav img{display:none;}
    .gls_wav a:after{content:url('res/speaker.gif'); display: inline;}  
     

     
    test.css лежит в одной папке с gls-файлом
    speaker.gif - в папке res
    test.gls.files.zip с  11000205_1.mp3 рядом с gls-файлом
     
    Содержание test.gls:

    Код:
    test
    <link rel="stylesheet" href="test.css" type="text/css">test <audio src="11000205_1.mp3"></audio>
     

     
    Звуковой файл проигрывается и кастомная иконка отображается
    При этом в статьях других gls-словарей иконка остаётся дефолтной (и это правильно)

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 22:31 16-10-2017
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    andreyefgs
     
    Спасибо!
     
    Вот бы ещё кто запилил какой-нибудь FreeDict для андроид на основе кода десктопного GD (размечтался )
    Нет у текущего GD mob поддержки HTML-форматов с ресурсами, увы

    Всего записей: 1326 | Зарегистр. 03-03-2008 | Отправлено: 23:15 16-10-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs
    goldendict-1.5.0-RC2-194-g9ae92bf(EXE only).7z - те же правки для формата Stardict(h).

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6079 | Зарегистр. 22-10-2005 | Отправлено: 18:23 17-10-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Спасибо, работает
     
    ЗЫ
    Пример для тех, кто захочет использовать:
     
    Файлы словаря:

    Код:
    res.zip
    test.dict.dz
    test.idx
    test.ifo

    ___________
     
    В архиве res.zip:

    Код:
    test.css
    speaker.gif
    11000205_1.mp3

    ___________
     
    Содержание test.css:

    Код:
    .sdict_h_wav img{display:none;}
    .sdict_h_wav a:after{content:url('speaker.gif'); display: inline;}  

    ___________
     
    Содержание  gsl-исходника который был конвертирован в формат стардикт:

    Код:
    ### Glossary title:Test (Ru-Ru)
    ### Author:нет
    ### Description:нет
    ### Source language:Russian
    ### Target language:Russian
    ### Glossary section:
     
    test
    <link rel="stylesheet" href="test.css" type="text/css">test <audio src="11000205_1.mp3"></audio>
     
     

     

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 21:49 17-10-2017 | Исправлено: andreyefgs, 08:52 18-10-2017
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

    Компьютерный форум Ru.Board » Компьютеры » Программы » GoldenDict (часть 2)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru