Prisijungti

GoldenDict papildinys atviršktinei paieškai -paieškai tekste

  • 13 Vas '13

Sveiki,

Žinau, kad čia galėtų atsirasti žmonių, naudojančių tiek GoldenDict, tiek programuojančių Python (pats to nemoku). Gal kas galėtų sukurti tokį papildinį GoldenDict programai, kuris leistų A-B kalbų žodyną panaudoti kaip atvirštinį žodyną, pvz., jei yra anglų-lietuvių, tai kad įvedimo laukelyje įrašyto teksto ieškotų tarp lietuviškų straipnelių, ne tarp angliškų antraštinių žodžių.
Pavyzdžiu galėtų būti šis darbas: lisok3ajr jau sukūrė papildinį DSL formato žodynams. Reiktų panašaus papildinio StarDict tipo žodynams.

Atvirkštinio žodyno funkcija senai veikia StarDict žodyne (reikia prieš žodį įvesti statų brūkšnį „|“). Babiloo programa parašyta python kalba ir palaiko atvirkštinę paiešką StarDict žodynuose. Galbūt Babiloo programos kodu būtų galima pasinaudoti? O gal netgi kas galėtų realizuoti tai ne kaip papildinį, o tiesiog sukurti visą kodą GoldenDict programai?

Balsuokite GoldenDict klaidų/pasiūlymų sistemoje už „full-text search“ („reverse look up for local dictionaries“) funkciją:
https://github.com/goldendict/goldendict/issues/8

Beje, GoldenDict master RPM paketai openSUSE sistemai yra čia

  • 18 Bal '13

Vis tik teko pačiam pažaisti... Šis tas gavosi, bet yra ką tobulinti.

Trūkumai: kažkodėl sugadinamos nuorodos į kitus žodžius

  • 20 Bal '13

Mažumėle atnaujinau failiukus.
Teksto paryškinimui naudojama BeautifulSoup.
Bet galima užkomentuoti BeautifulSoup importavimą ir paryškinimui naudoti ne "highlight_with_bs" funkciją, o "highlight".

Beje, dar reikia ir ketvirto PY failiuko:
https://dl.dropboxusercontent.com/u/233 ... t/utils.py

Išbandyta openSUSE Linux sistemoje su Python 2.7.3.

Su python3 šis tas neveikė, tad kad nebūtų konflikto tarp įdiegtų python 2 ir 3 versijų, vykdymui rašykite python2, o ne tiesiog python:

python2 /kelias/iki/full-text-search.py "%GDWORD%" "kelias/iki/žodyno(bet be .dict galūnės)"
  • 20 Bal '13

Dabar dar išbandžiau Windows sistemoje.
Čia buvo trūkumas tame, kad kiek kitoks jautrumas didžiosioms ir mažosioms raidėms.
Taigi, norėdami išbandyti Windows sistemoje,
pirmiausia turite parsisiųsti GoldenDict versiją, kuri palaiko išorines programas kaip papildinius. Šiandienai naujausia stabili GoldenDict 1.0.1 versija to nepalaiko, reikia siųstis iš https://github.com/goldendict/goldendic ... or-Windows .
Toliau, jei kompiuteryje neįdiegta Python 2.7 (Python 3.x netinka!), minimalią kilnojamą Python sistemą galėsite parsiųsti iš http://www.portablepython.com/ . Šiai dienai paskutinę Python2 versiją 2.7.3.2 galite parsisiųsti iš čia. Diegdami rinkitės minimalų diegimą (jis užims tik ~50MB, o ne ~500MB).

Įdiegti GoldenDict > 1.0.1 ir Python 2.7 nepakanka, dar reikės ir pačio GoldenDict_plugin_for_full-text-search_in_StarDict_dictionaries.zip papildinio. Zip archyvą kur nors išpakuokite. Šiame archyve jau yra ankstesnėje žinutėje minėti 4 .py scenarijai ir „bs4“ aplankas („BeautifulSoup4“ priedas).

Dabar paleiskite GoldenDict.
Pagrindiniame lange nuspauskite klavišą F3.
Pasirinkite kortelę „Progamos“ („Progams“).
Spauskite „Pridėti...“ („Add...“).
Pasirinkite „html“ tipą („Type“).
Ties komandinės eilutės („Command Line“) laukeliu įveskite:

"python.exe" "C:\kelias\iki\full-text-search.py" "%GDWORD%" "C:\kelias\iki\žodyno(bet be .ifo galūnės)"

Pavyzdžiui:

"F:\Portable Python 2.7.3.2\App\python.exe" "F:\GoldenDict\GoldenDict_plugin_for_full-text-search_in_StarDict_dictionaries\full-text-search.py" "%GDWORD%" "F:\GoldenDict\content\dic\LIKIT EKZ 2008\LIKIT EKZ 2008"

Įgalinkite pažymėdami varnele ties eilute („Enabled“).
Ir tiesiog išbandykite žodyną į paieškos laukelį vesdami užklausą, prasidedančią stačiu brūkšniu (simboliu „|“)!
Bet jei norite visada paleisti tokią paeišką, galite komandinėje eilutėje vietoj "%GDWORD%" rašyti "|%GDWORD%" - tada „|“ simbolis visada bus automatiškai perduodamas.

  • 2 Geg '13

Seniai laukiau šitos funkcijos. Ačiū už pastangas.

  • 25 Bal '14

Nuo 2014-04-16 GoldenDIct įtraukė paieškos visuose [straipsnelių] tekstuose („full-text search“) funkciją.
Žr. https://github.com/goldendict/goldendic ... d7825b0b87

Atsakyti