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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Не подскажете, почему может происходить искажение при использовании стандартного символа ударения, если слово обрамлено тегом [t]? В оригинале слово "ударение" смотрится при выводе как
     
     
     
    В лингво компилируется без подобных искажений (но там, кажется, происходит применение другого шрифта).

    Всего записей: 968 | Зарегистр. 19-06-2006 | Отправлено: 20:20 24-02-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramix
    Ударение тут не при чём, это работает кусок кода, помеченный как "If we're inside the transcription, do old-encoding conversion". Именно там и конвертируется буковка "у".

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

    Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 20:57 24-02-2017
    ramix



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

    Всего записей: 968 | Зарегистр. 19-06-2006 | Отправлено: 21:14 24-02-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramix
    Нет, судя по всему, это перевод из специфической кодировки шрифта транскрипции Лингво в обычный юникод. Сами взгляните, что тут во что конвертируется.

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

    Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 21:41 24-02-2017
    ramix



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Понятно, подстройка под шрифт "NewtonPhonetABBYY.ttf". Будем иметь в виду.

    Всего записей: 968 | Зарегистр. 19-06-2006 | Отправлено: 21:53 24-02-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Обнаружил что не работает скрипт (для использования Bing Translator-а) с  GD QT5
     
    Ошибка:
    XMLHttpRequest cannot load httрs://api.cognitive.microsoft.com/sts/v1.0/issueToken?Subscription-Key=XXXXXXXXXXXXX Cross origin requests are not supported.
     
    С GD QT4 такой проблемы нет.
     
    Как я понимаю, webkit, который используется в GD QT5 теперь разрешает делать AJAX запросы только к ресурсам с IP, который совпадает с IP происхождения веб-страницы в которой находится javascript код.
     
    Правильно?
     

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 12:57 26-02-2017 | Исправлено: andreyefgs, 13:00 26-02-2017
    Abs62



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

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

    Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 14:14 26-02-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    same-origin policy restriction
     
    Мне в связи с этим вспомнилось, что кажется где-то прошлой зимой после обновления webkit-а (на Android-е) перестали работать наши с Romul81 хаки для мобильного GD, которые позволяли использовать внешние ресурсы (скрипты, css-файлы). Наверное прикрутили очередную гайку.

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нашел рабочий workaround против CORS ограничений.
     
    Раньше было:
     

    Код:
     
    $.ajax({
        type: 'GET',
        url: "http://api.microsofttranslator.com/v2/http.svc/Translate?appid=Bearer " + token + "&text=" + encodeURIComponent(txt) + '&from=' + frm + '&to=' + to,
        dataType: 'text'
      }).done(function(data) {... }).fail(function(){... });
     

     
    Теперь приходится везде только так делать:
     

    Код:
     
    function BingTranslate(txt, from, to, token)
    {
     
        $("#Translate").remove();
        var el = document.createElement("script");
        el.id = "Translate";
        el.src = 'http://api.microsofttranslator.com/V2/Ajax.svc/Translate';  
        el.src += '?appid=Bearer ' + token;  
        el.src += '&text=' + encodeURIComponent(txt);  
        el.src += '&from=' + from;  
        el.src += '&to=' + to;  
        el.src += '&oncomplete=onBingTranslateComplete';  
        document.getElementsByTagName('head')[0].appendChild (el);
        
    }
     
    function onBingTranslateComplete(result)
    {
    //...    
    }
     

     
    Т.е. похоже в webkit-е теперь единственная возможность клиенту получить какие-то данные с других ресурсов - это создавать новый элемент <script> и передать со ссылкой callback функцию.
     
    _______________________________
     
    Переписал скрипт: gd_tools_v1_0_1.zip
     
    Работает с qt4 и qt5
    Не работает только с древней версией у которой нет колонки "As Link", т.е. ссылка грузится в iframe (если я правильно понял)
     
    ЗЫ
    Относительные пути GD портит, приходится так делать:
    <script type="text/javascript" src="<?php echo $path?>/files/jquery-3.1.1.min.js"></script>
    Т.е. менять на полные.

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 01:08 27-02-2017 | Исправлено: andreyefgs, 08:51 27-02-2017
    Romul81



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

    Цитата:
    ...после обновления webkit-а (на Android-е)...

    Просто чтоб уточнить. Системный webview на Android-е вплоть до версии 4.3 включительно, действительно, был основан на webkit и был необновляемым. Начиная с версии 4.4 этот компонент стал обновляемым и полностью перешёл на хром т.е., строго говоря, его движок - это уже не webkit, а blink, пусть и основанный на ядре webkit - WebCore. С 2013-го года уже накопилось достаточно много существенных отличий между этими движками. В целом, blink более наворочен и перспективен. Основные преимущества - улучшенная многозадачность/асинхронность и расширяемость.
     
    Разработчики Qt, кстати, тоже сосредоточили усилия на своей реализации blink - WebEngine. Поддержка webkit у них явно не в приоритете. Поэтому, рано или поздно, GD Desktop-у тоже придётся переходить на этот движок (очень надеюсь, что найдутся мотивированные на это программисты).
     
    Возвращаясь к ситуации с хаками. Речь шла о том, что инлайн скрипт из webview мог подключить внешний скрипт, считав абсолютный путь к нему из свойства "content" подключенного внешнего CSS (в данном случае article-style.css). Как ни крути, скрипт получал доступ к файловой системе, а это уязвимость. Нюанс в том, что даже на стоковом webview Android 5.0.1 хак ещё работал. Залатали в одном из позже прилетевших обновлений.

    Всего записей: 1326 | Зарегистр. 03-03-2008 | Отправлено: 01:08 27-02-2017
    andreyefgs



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

    Цитата:
    Возвращаясь к ситуации с хаками.

    Ок, спасибо, что напомнили и просветили.
     

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



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

    Цитата:
    Относительные пути GD портит, приходится так делать:

    А если сначала попробовать подгрузить по CDN?
    Сервисы:
    https://code.jquery.com/
    https://cdnjs.com/libraries/jquery/
    http://www.jsdelivr.com/projects/jquery
     
    Подключать так:

    Код:
     
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="<?php echo $path?>/files/jquery-3.1.1.min.js"><\/script>')</script>

     
    P.S. Во второй строке после "или" нужно поэкспериментировать.
     
    Добавлено:
    Развивая тему браузерных движков подготовил страницу с комбинированными тестами на соответствие стандарту HTML5.  
     
    Результат для пяти браузеров:
     
    1. QtWeb 3.8.5 - Qt 4.8.5 (AppleWebKit/534.34)
    2. Otter 0.9.12 - Qt 5.7.1 (AppleWebKit/602.1)
    3. Otter 0.9.10 weekly113 (qtwebengine) - Qt 5.6.0 (QtWebEngine/5.6.0) - примерно соответствует 45-му Хрому.
    4. Актуальный Chrome 52 (Blink)
    5. Актуальный Safari 10.0 (AppleWebKit)
     
     

    Всего записей: 1326 | Зарегистр. 03-03-2008 | Отправлено: 02:38 27-02-2017 | Исправлено: Romul81, 02:40 27-02-2017
    andreyefgs



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

    Цитата:
    А если сначала попробовать подгрузить по CDN?  

     
    Надо на сервере менять относительные пути на полные.
    Или и прописывать полный путь к файлам сервера в переменную javascript кода.
     
     
    Пример:

    Код:
    <?php
    $path = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);
    ?>
    <?php echo "var path = '" . $path . "';"?>
     

    Иначе уже в GD добыть этот путь не будет никакой возможности.
    Но про это лучше на электронной ветке, здесь это наверное оффтоп
     
     
    По поводу ссылок в Dictionaries/Websites с которыми распространяется GD
     

    Код:
     
    https://www.google.com/dictionary?aq=f&langpair=en|en&q=%GDWORD%&hl=en
    https://www.urbandictionary.com/define.php?term=%GDWORD%
    https://multitran.ru/c/m.exe?CL=1&l1=1&s=%GD1251%
    http://lingvopro.abbyyonline.com/en/Search/en-ru/%GDWORD%
    http://michaelis.uol.com.br/moderno/ingles/index.php?lingua=portugues-ingles&palavra=%GDISO1%
     

     
     
    1)Google En-En (Oxford):
    Если мне не изменяет память, вроде гугл много лет назад прикрыл свой словарный сервис.
     
    С галкой "As Link":
       
     
    Без:
    Query error: Error transferring https://www.google.com/dictionary?aq=f&langpair=en%7Cen&q=bitter&hl=en - server replied: Not Found
     
    _______________________________
     
    2)Urban Dictionary:
     
    Работает, но из-за рекламы контент в таком виде неюзабельный, если только оставить ссылку для примера.
     
    _______________________________
     
     
    3)Мультиран:
     
    С галкой "As Link":
    Query error: Error transferring https://multitran.ru/c/m.exe?CL=1&l1=1&s=bitter - server replied: Not Found
     
    Без:
    HTTP Error 404. The requested resource is not found.
     
    _______________________________
     
     
    4)Lingvo (En-Ru):
     
    С сайтом Лингвы вообще песец.
     
    При подключении (с галкой или без) GD падает сразу и постоянно.
     
    Не иначе как борьба с конкурентом.
     
    _______________________________
     
     
    5)Michaelis (Pt-En):
     
    Без галки в "As Link" ошибка:
    Query error: Protocol "" is unknown
     
    С галкой - грузится одна и та же страничка без словарного контента
     
    _______________________________
     
     
    Других ссылок нет, тестировал c 1.5.0-RC2-50-g2fe314a-dirty
     
    В общем, надо подобрать что-нибудь другое, а которые сейчас имеются удалить все кроме Urban-а
     
     
     

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

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

    Цитата:
    По поводу ссылок в Dictionaries/Websites с которыми распространяется GD

    http://www.multitran.ru/c/m.exe?l1=1&l2=2&s=%GDWORD%
    http://www.multitran.com/m.exe?l1=1&l2=2&s=%GDWORD%
    https://www.lingvolive.com/en-us/translate/ru-en/%GDWORD%
    http://www.thefreedictionary.com/%GDWORD%
     
    PS: Меня другое больше беспокоит: о бедных кореистах замолвить слово хочу. В период "Sturm und Drang" начала 2000-х русскоязычному комьюнити не хватило мощи оцифровать, по примеру БКРС и БЯРС, большой корейско-русский словарь (малочисленность комьюнити, наполненность северо-корейским и проч.). Теперь они остались совсем без доступных русских словарей. Из приличных - только онлайновый Naver: http://m.rudic.naver.com/ . Но и он как назло в GD не запускается! Никак его хотя бы хитровывернуто подключить нельзя?

    Всего записей: 275 | Зарегистр. 07-06-2005 | Отправлено: 23:58 01-03-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ArtS21
     
    Мультиран работает, они только интерфейс изменили.
    Старую ссылку (multitran.ru/c/m.exe?CL=1&l1=1&s=%GD1251%), с которой распространяется GD надо изменить  
     
    Теперь для (En-Ru) надо:
    _http://www.multitran.com/m.exe?l1=1&l2=1&s=%GDWORD%
    Пример:
    http://www.multitran.com/m.exe?l1=1&l2=2&s=dog
     
    Корейский:
     
    Korean => English:
    _http://www.multitran.com/m.exe?l1=39&l2=1&s=%GDWORD%
    Пример:
    http://www.multitran.com/m.exe?l1=39&l2=1&s=%EC%9C%A0%ED%8B%B8%EB%A6%AC%ED%8B%B0
    _____________________
     
    Korean => Russian:
    _http://www.multitran.com/m.exe?l1=39&l2=1&s=%GDWORD%
    Пример:
    http://www.multitran.com/m.exe?l1=39&l2=2&s=%EC%9C%A0%ED%8B%B8%EB%A6%AC%ED%8B%B0
     

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 17:58 02-03-2017 | Исправлено: andreyefgs, 17:59 02-03-2017
    ArtS21

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

    Цитата:
    Мультиран работает, они только интерфейс изменили. ... Корейский:  

    Мультитран-то работает, только корейского в нем: раз-два и обчелся.
     
    Но, спасибо, я не знал, что хоть какой-то корейский в Мультитране есть.
     
    PS: А с Naver в GD значит никак? Жаль, хороший словарь, хотелось его иметь в единой оболочке GD...

    Всего записей: 275 | Зарегистр. 07-06-2005 | Отправлено: 00:37 03-03-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ArtS21
    У меня не получилось
    Javascript код этого Naver-а не работает в GD
    GD (webkit) не позволяет "Cross origin requests"
    Naver не может скачать необходимые данные из инета.  

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Запускаю индексацию словарей (словарей много, 697 файлов, есть большие) на ноутбуке со средними характеристиками и установленной Windows 7 x86.
    Версия GoldenDict - 1.5.0 (RC2-36, Qt 4.8.6 и Qt 5.6.2) и даже 1.0.1-763, которая стояла раньше и работала с этими же словарями.
    Проиндексирует какое-то время, а потом крашится, упоминая Visual C++
    Обновил драйвера, NET Framework, установил последний RuntimePack с Visual C++ - результата нет.
    В чем может быть дело?

    Всего записей: 5 | Зарегистр. 02-09-2005 | Отправлено: 12:20 03-03-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shortcut
    Запустите GD с ключом "--log-to-file" и посмотрите, что там будет в логе.

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

    Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 12:36 03-03-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