1. [bug] Использовать морфологические словари из hunspell это прикольно... Но, только вот если выбрать два очень похожих словаря (одновременно), например English (GB) и English (US), и немного пощёлкать по словам, то получаем или segmentation fault, или что-то вроде такого:
- Code: Select all
====reading 16384 bytes
getResource: gdlookup://localhost?word=House Administration Committee&group=7
scheme: gdlookup
host: localhost
====reading 51232 bytes
>>>Sugg: st:house
>>>Sugg: st:house
>>>>>Alt:
>>>>>Alt:
>>>Sugg: st:House
*** glibc detected *** goldendict: invalid fastbin entry (free): 0x00007f6fa01ed8d0 ***
>>>Sugg: st:administration
======= Backtrace: =========
/lib/libc.so.6(+0x71b96)[0x7f6fbc40cb96]
/lib/libc.so.6(+0x7544b)[0x7f6fbc41044b]
/lib/libc.so.6(realloc+0xf9)[0x7f6fbc411ad9]
/usr/lib/libQtCore.so.4(_ZN9QListData7reallocEi+0x26)[0x7f6fbd14c456]
/usr/lib/libQtCore.so.4(_ZN9QListData6appendEi+0x68)[0x7f6fbd14c508]
/usr/lib/libQtCore.so.4(+0x8b4d5)[0x7f6fbd1474d5]
/usr/lib/libQtCore.so.4(_ZNK7QRegExp13capturedTextsEv+0xf8)[0x7f6fbd168268]
/usr/lib/libQtCore.so.4(_ZNK7QRegExp3capEi+0x21)[0x7f6fbd1683e1]
/usr/lib/libQtCore.so.4(_ZN7QRegExp3capEi+0x9)[0x7f6fbd168419]
goldendict[0x50db2e]
goldendict[0x51015d]
/usr/lib/libQtCore.so.4(+0x68b88)[0x7f6fbd124b88]
/usr/lib/libQtCore.so.4(+0x7252e)[0x7f6fbd12e52e]
/lib/libpthread.so.0(+0x6cb0)[0x7f6fbcea5cb0]
/lib/libc.so.6(clone+0x6d)[0x7f6fbc46e95d]
======= Memory map: ========
00400000-005e4000 r-xp 00000000 09:01 2910 /usr/bin/goldendict
007e3000-007e7000 rw-p 001e3000 09:01 2910 /usr/bin/goldendict
007e7000-007e8000 rw-p 00000000 00:00 0
00cba000-01532000 rw-p 00000000 00:00 0 [heap]
7f6f9aa43000-7f6f9aa45000 r-xp 00000000 09:01 1449784 /usr/lib/gconv/ISO8859-1.so
7f6f9aa45000-7f6f9ac44000 ---p 00002000 09:01 1449784 /usr/lib/gconv/ISO8859-1.so
7f6f9ac44000-7f6f9ac45000 r--p 00001000 09:01 1449784 /usr/lib/gconv/ISO8859-1.so
7f6f9ac45000-7f6f9ac46000 rw-p 00002000 09:01 1449784 /usr/lib/gconv/ISO8859-1.so
7f6f9ac46000-7f6f9ae46000 rw-p 00000000 00:00 0
7f6f9ae49000-7f6f9b349000 rw-p 00000000 00:00 0
7f6f9b34d000-7f6f9b755000 rw-p 00000000 00:00 0
7f6f9b755000-7f6f9b7e2000 r--p 00000000 09:01 29556 /usr/share/fonts/TTF/DejaVuSans-BoldOblique.ttf
7f6f9b7e2000-7f6f9b808000 r--p 00000000 09:01 526157 /usr/share/fonts/truetype/microsoft/verdanaz.ttf
7f6f9b808000-7f6f9b895000 r--p 00000000 09:01 29550 /usr/share/fonts/TTF/DejaVuSans-Oblique.ttf
7f6f9b895000-7f6f9b93c000 r--p 00000000 09:01 29566 /usr/share/fonts/TTF/DejaVuSans.ttf
7f6f9b93c000-7f6f9b9d7000 r--p 00000000 09:01 29569 /usr/share/fonts/TTF/DejaVuSans-Bold.ttf
7f6f9b9d7000-7f6f9b9fd000 r--p 00000000 09:01 526156 /usr/share/fonts/truetype/microsoft/verdanai.ttf
7f6f9b9fd000-7f6f9bdfd000 rw-p 00000000 00:00 0
7f6f9be00000-7f6f9c000000 rw-p 00000000 00:00 0
7f6f9c000000-7f6f9c5ad000 rw-p 00000000 00:00 0
7f6f9c5ad000-7f6fa0000000 ---p 00000000 00:00 0
7f6fa0000000-7f6fa0535000 rw-p 00000000 00:00 0
7f6fa0535000-7f6fa4000000 ---p 00000000 00:00 0
7f6fa4000000-7f6fa8000000 rw-p 00000000 00:00 0
7f6fa80d8000-7f6fa80e0000 rw-p 00000000 00:00 0
7f6fa80e4000-7f6fa8275000 rw-p 00000000 00:00 0
7f6fa8275000-7f6fa8297000 r--p 00000000 09:01 526155 /usr/share/fonts/truetype/microsoft/verdanab.ttf
7f6fa8297000-7f6fa8298000 ---p 00000000 00:00 0
7f6fa8298000-7f6fa8a98000 rw-p 00000000 00:00 0
7f6fa8a98000-7f6fa8a99000 ---p 00000000 00:00 0
7f6fa8a99000-7f6fa9299000 rw-p 00000000 00:00 0
7f6fa9299000-7f6fa929a000 ---p 00000000 00:00 0
7f6fa929a000-7f6fa9d01000 rw-p 00000000 00:00 0
7f6fa9d01000-7f6faa124000 rw-p 00000000 00:00 0
7f6faa124000-7f6faa128000 rwxp 00000000 00:00 0
7f6faa128000-7f6faa14f000 r-xp 00000000 09:01 2491636 /usr/lib/qt/plugins/codecs/libqtwcodecs.so
7f6faa14f000-7f6faa34e000 ---p 00027000 09:01 2491636 /usr/lib/qt/plugins/codecs/libqtwcodecs.so
7f6faa34e000-7f6faa34f000 rw-p 00026000 09:01 2491636 /usr/lib/qt/plugins/codecs/libqtwcodecs.so
7f6faa34f000-7f6faa362000 r-xp 00000000 09:01 2491626 /usr/lib/qt/plugins/codecs/libqkrcodecs.so
7f6faa362000-7f6faa561000 ---p 00013000 09:01 2491626 /usr/lib/qt/plugins/codecs/libqkrcodecs.so
7f6faa561000-7f6faa562000 rw-p 00012000 09:01 2491626 /usr/lib/qt/plugins/codecs/libqkrcodecs.so
7f6faa562000-7f6faa58d000 r-xp 00000000 09:01 2491637 /usr/lib/qt/plugins/codecs/libqjpcodecs.so
7f6faa58d000-7f6faa78d000 ---p 0002b000 09:01 2491637 /usr/lib/qt/plugins/codecs/libqjpcodecs.so
7f6faa78d000-7f6faa78f000 rw-p 0002b000 09:01 2491637 /usr/lib/qt/plugins/codecs/libqjpcodecs.so
7f6faa78f000-7f6faa7b2000 r-xp 00000000 09:01 2491625 /usr/lib/qt/plugins/codecs/libqcncodecs.so
7f6faa7b2000-7f6faa9b2000 ---p 00023000 09:01 2491625 /usr/lib/qt/plugins/codecs/libqcncodecs.so
7f6faa9b2000-7f6faa9b3000 rw-p 00023000 09:01 2491625 /usr/lib/qt/plugins/codecs/libqcncodecs.so
7f6faa9b3000-7f6faa9df000 r-xp 00000000 09:01 2491643 /usr/lib/qt/plugins/bearer/libqnmbearer.so
7f6faa9df000-7f6faabdf000 ---p 0002c000 09:01 2491643 /usr/lib/qt/plugins/bearer/libqnmbearer.so
7f6faabdf000-7f6faabe1000 rw-p 0002c000 09:01 2491643 /usr/lib/qt/plugins/bearer/libqnmbearer.so
7f6faabe1000-7f6faabed000 r-xp 00000000 09:01 2491641 /usr/lib/qt/plugins/bearer/libqgenericbearer.so
7f6faabed000-7f6faaded000 ---p 0000c000 09:01 2491641 /usr/lib/qt/plugins/bearer/libqgenericbearer.so
7f6faaded000-7f6faadee000 rw-p 0000c000 09:01 2491641 /usr/lib/qt/plugins/bearer/libqgenericbearer.so
7f6faadee000-7f6faae36000 r-xp 00000000 09:01 2491644 /usr/lib/qt/plugins/bearer/libqconnmanbearer.so
7f6faae36000-7f6fab036000 ---p 00048000 09:01 2491644 /usr/lib/qt/plugins/bearer/libqconnmanbearer.so
7f6fab036000-7f6fab038000 rw-p 00048000 09:01 2491644 /usr/lib/qt/plugins/bearer/libqconnmanbearer.so
7f6fab038000-7f6fab635000 rw-p 00000000 00:00 0
7f6fab680000-7f6fab7a0000 rw-p 00000000 00:00 0
7f6fab82c000-7f6fab830000 rwxp 00000000 00:00 0
7f6fab830000-7f6fab856000 rw-p 00000000 00:00 0
7f6fab856000-7f6fab857000 ---p 00000000 00:00 0
7f6fab857000-7f6fac057000 rw-p 00000000 00:00 0
7f6fac057000-7f6fac0b8000 r-xp 00000000 09:01 37376 /usr/lib/libtiff.so.3.9.4
7f6fac0b8000-7f6fac2b8000 ---p 00061000 09:01 37376 /usr/lib/libtiff.so.3.9.4
7f6fac2b8000-7f6fac2bb000 rw-p 00061000 09:01 37376 /usr/lib/libtiff.so.3.9.4
7f6fac2bb000-7f6fac2c2000 r-xp 00000000 09:01 2492135 /usr/lib/qt/plugins/imageformats/libqtiff.so
7f6fac2c2000-7f6fac4c1000 ---p 00007000 09:01 2492135 /usr/lib/qt/plugins/imageformats/libqtiff.so
7f6fac4c1000-7f6fac4c2000 rw-p 00006000 09:01 2492135 /usr/lib/qt/plugins/imageformats/libqtiff.so
7f6fac4c2000-7f6fac4c7000 r-xp 00000000 09:01 2492387 /usr/lib/qt/plugins/imageformats/libqsvg.so
7f6fac4c7000-7f6fac6c6000 ---p 00005000 09:01 2492387 /usr/lib/qt/plugins/imageformats/libqsvg.so
7f6fac6c6000-7f6fac6c7000 rw-p 00004000 09:01 2492387 /usr/lib/qt/plugins/imageformats/libqsvg.so[1] 3123 abort goldendict
2. [bug] Если добавить какой-нибудь словарь, потом удалить, переименовать его и добавить под новым именем, то потом получаем такую ситуацию - имеем две кнопочки на панели для одного словаря (которые даже работают синхронно). И никаким удалением/добавлением из GUI уже этого не исправить - добавляешь один словарь, а тебе их добавляется два под разными именами. Остается только редактировать недокументированный конфиг. Я понимаю, что хеши у словарей совпадают, но добавить проверочку на такой случай несложно.
3. [unix specific] В словари DSL можно вставлять звуки с помощью тега [s] и goldendict это даже как-то поддерживает - это очень хорошо, но lingvo разрабатывался под ОС, нечувствительную к регистру в ФС - потому им пофигу, в словаре может быть написано заглавными буквами [s]ABC.wav[/s], а сам файл называться строчными буквами abc.wav. Но goldendict в других (нормальных) ОС, ищет с учетом регистра по всем директориям, где есть словари, даже если эти директории совпадают (т.е. если 10 словарей свалены в одну папку, то он будет там пытаться искать 10 раз перед тем как напишет ошибку). Но это неважно, важно то, что файл прослушать нельзя. Единственное решение - использовать zip-архивы, в них поиск оказывается регистронезависимый.
4. [feature request] Goldendict понимает лигвовский формат .lsa - это просто замечательно! Но... как отдельный словарь. Т.е. если ты хочешь почитать лингвовский словарь и послушать звуки которые прописаны там в тегах [s] в то самое время, когда звуки лежат в .lsa, то фиг такое удастся. Надо из .lsa выдрать все файлы, сделать их .wav, запихнуть в архив (см. п.3) и только тогда... Но и тут есть минус - в .wav файлы занимают на порядок больше, чем в .lsa (там они судя по всему сжаты с помощью vorbis).
5. [feature request] В окне управления словарями и группами неплохо бы сделать кнопочки, которыми словари можно вверх/вниз двигать, ну или хотя бы hotkeys типа Ctrl+Up/Ctrl+Down. Когда словарей несколько десятков, очень неудобно их drug'n'drop-ом двигать.
6. [feature request] Кнопочки вкл./выкл. всех словарей из группы (на панели) тоже не помешают. Когда несколько десятков словарей, так и хочется их одним махом все выключить, и включить только нужные.
7. [bug] Кнопочка "Auto groups" глючит неимоверно (на большом количестве разнообразных словарей). Языки вроде определяет нормально, но вот словари в них пихает почти рандомно. Убедится возможно получится вот на таком наборе.
8. [feature request] Когда выделяешь слово и выбираешь lookup из контекстного меню, то перевод появляется, но поле ввода (которое слева) с этим не синхронизируется. Может так и надо, но как по мне это очень неудобно - хочешь поменять немного форму слова - надо его копипастить из статьи в это поле ввода (а потом ещё оказывается, что с ударением оно не понимает, а при копипасте его не убирает...). А если я захочу вернуться, то могу нажать back.
8*. [bug?] Почему-то у меня не работает Ctrl+Ins в карточке... Только Ctrl+C. :(
9. [feature request] Очень плохо, что нельзя просмотреть все слова из словаря. Есть некоторые тематические и небольшие словари, где это очень надо.
10. [cosmetics] Русский перевод первого окна ("Добро пожаловать...") пестрит отсутствием пробелов там, где они нужны... Как-то первое впечатление это портит.
11. [bug] Думаю, что шрифт Tahoma из дефолтного css стоит исключить. По причине отсутствия знака ударения. Да и вообще у всех свои предпочтения - настройки fontconfig-а никто не отменял.
12. [bug] При сохранении карточки в .html ссылки типа "gdau://search/*.wav", "qrcx://localhost/icons/*.png", "gdlookup://localhost/*" думаю стоит убирать... они всё равно не будут работать за пределами приложения. И вообще вы пробовали валидировать это на validator.w3.org? Думаю html стоит привести в соответствие со стандартом.
Ещё не пойму, почему у меня webkit в goldendict кнопочку play (когда она выделена) не просто обводит пунктирной линией, а ещё и перечеркивает такой же горизонтальной линией. Ни chromium, ни konqueror так не делают.
Но это всё незначительные мелочи, а самое главное как по мне:
13. Когда вызываешь всплывающее окно с переводом (Ctrl+C+C), то программа иногда (очень часто) каким-то образом, как бы это выразится, capture весь input с клавиатуры. Т.е. я в своем VM (awesome) не могу не то что на другой "рабочий стол" переключиться, а вообще любой hotkey заюзать. Но это может быть баг и не goldendict.
P.S. Сборка goldendict 1.0.1 из comunity-репозитория ArchLinux x64.
P.P.S. Спасибо за разработку и за то, что дочитали досюда.