Mam przyjemność ogłosić kolejną, niespodziewaną aktualizację pwn2dict. Jeden z czytelników zgłosił w ostatnim czasie usterkę związaną z sortowaniem haseł, która uniemożliwiała korzystanie z przekonwertowanych słowników w aplikacji koreader na Kindle. Problem istniał od samego początku, ale że w niczym nie przeszkadzał StarDictowi, dopiero teraz wyszedł na światło dzienne. Niemniej poprawka była banalna, więc bug jest już załatany. Przy okazji poprawiłem też inne ostrzeżenie wyświetlane przez stardict-verify, dotyczące spacji na końcu słów. Nowa wersja jest już dostępna do pobrania poniżej.
Przy okazji chciałbym ogłosić przenosiny bloga na adres mzblog.grajpopolsku.pl. Były one wymuszone pewnymi zmianami w konfiguracji serwera. Stare linki przekierowują, rzecz jasna, w odpowiednie miejsce, a żadne treści nie zostały utracone w wyniku migracji. W praktyce jest to jedynie zmiana kosmetyczna.
W każdym razie, oto lista zmian w pwn2dict 2.6:
- Poprawiony porządek sortowania haseł. Teraz jest on w 100% zgodny z oczekiwanym przez StarDicta.
- Skrypt usuwa teraz bezużyteczne spacje, które mogły pojawić się na końcu słów.
Linki:
pwn2dict, Instrukcja obsługi
Po przesiadce na Win10 zmarnowałem kilka h na akrobacje z dll’ami, trybami zgodności, sterownikami itd by uruchomić moją starą wersję 2004 – bez rezultatu. Przekonwertowałem .win na .dict i pod GoldenDict śmiga aż miło.
WIELKIE DZIĘKI !!!!!
Dziękuję za skrypt :) Dzięki niemu mogę korzystać w Linuxie z aktualnego słownika rosyjskiego PWN (legalnie kupionego, żeby nie było…). Jest w tym słowniku (co najmniej) jedna nowość w stosunku do słownika angielskiego PWN (który też mam). Mianowicie rozwijane dodatkowe opisy. W takiej sytuacji po konwersji co prawda cały opis jest dostępny, ale w oryginalnym miejscu ikonki do rozwijania opisu pokazuje się czerwony napis “collapse.bmp” lub nawet (przy pracy kontekstowej z zaznaczonym słowem “[Image:collapse.bmp]”). Gdyby dało się go odfiltrować przy konwersji było by super – np. poprzez zastąpienie go spacją lub jakimś symbolem (to potrafi się pokazywać nie tylko na początku tekstu/akapitu opisu, ale także w środku).
trafiłem na twoją stronę, szukając informacji o konwersji słowników. Tyle że mnie interesuje konwersja w drugą stronę — z formatu kindle (mobi, prc, awz) do formatu np. słownika Babylon, tak bym mógł słownika z kindle używać na desktopie.
Paradoksalnie dziś trudno o porządny słownik na PC-ta a nie na mobilki. Jedyny dostępny sensowny słownik pc-towy to „Wielki multimedialny słownik angielsko-polski polsko-angielski 4 PWN” — wersja sprzed niemal dekady, ponadto kosztująca prawie dwie stówy. Na kindle używam darmowego Bumato i płatnego The Great English-Polish Dictionary ( https://www.amazon.com/Great-English-Polish-Dictionary-million-words-ebook/dp/B00NMOYGM4/ref=sr_1_1?ie=UTF8&qid=1486287597&sr=8-1&keywords=dictionary+polish ).
Ten ostatni jest naprawdę niezły i, biorąc pod uwagę cen około 40 zeta, wart polecenia. Skoro go mam chciałbym móc wykorzystać go na PC z jakimś „silnikiem” oferującym przywołanie okna słownika lub podpowiedź w dymku, by działa z każdym programem typu procesor tekstu, przeglądarka, etc. Czy mógłbyś rozważyć napisanie skryptu pozwalając skonwertować ten słownik do formatu słownika Babylon?!
Niestety, nie mam już tyle czasu, co kiedyś, więc taki projekt nie wchodzi w grę.
Cześć!
A czy miałbyś czas zrobić skrypt pod słownik YDP Collins EN-PL PL-EN?
Istnieje w necie skrypt ydp2dict napisany w C, ale konwertuje on słownik w dosyć brzydki sposób. Nie ma kolorków i są jakieś krzaki.
Projekty, z których mógłbyś skorzystać to https://github.com/wojtekka/libydpdict i https://github.com/wojtekka/ydpdict
Jeśli miałbyś problem ze zdobyciem słownika, mógłbym taki słownik zasponsorować.
Pozdrawiam,
Mateusz
Niestety nie mam obecnie aż tyle czasu na tego typu projekty, więc się tego nie podejmę. ydp2dict używałem swego czasu i mówiąc szczerze, jego wynik działania mi wystarczał. Zamiast przepisywać program do Pythona bardziej sensowne wydaje się poprawienie go.
OK. Dzięki za odpowiedź.
Gdybyś jednak kiedyś miał poprawić ydp2dict.c, to proszę opublikuj to na swoim blogu albo na gitlabie =)
Miłego wieczoru!
Jakby ktoś chciał, deweloper odpowiedzialny za projekt libydpdict napisał dla społeczności kod, który konwertuje słownik YDP Collinsa do stardicta. Aż przyjemnie się patrzy na słownik, który ma kolory, wytłuszczenia, italiki i inne takie.
Żeby przekonwertować słownik, trzeba umieścić pliki dict100.dat dict100.dex dict100.idx dict101.dat dict101.dex dict101.idx w katalogu /usr/local/share/ydpdict
Potem należy skompilować program i uruchomić go dwa razy. Słowniki zapisują się w tym samym folderze roboczym:
git clone https://github.com/wojtekka/libydpdict
cd libydpdict
./autogen.sh
make
cd misc
make check
./ydp2stardict 100
./ydp2stardict 101
O, fajnie. Dzięki za info.
Świetny skrypt, dzięki! PWN-Oxford 2007 (3.0) konwertuje się bez problemu. Fajnie gdyby ze słownikiem Fundacji Kościuszkowskiej dało się zrobić podobnie..
Dzieki za skrypt!
Gdy korzystam z PWN-Oxford (EN_PL) z 2012 r. czasami w GoldeDict mam taki ciąg:
moral fibre GB, moral fiber US
ten oczywiście odnosi się do słowa “moral fiber”. Jakas szansa na poprawkę?
Nie jest to problem techniczny z konwersją. Tak po prostu zredagowano definicje. Osobiście nigdy mi to nie przeszkadzało.
Mój błąd, źle wkleiłem, albo fragment, który wkleił został zinterpretowany jako tag HTML. Chodzi o następująco rzecz: http://i.imgur.com/YLyqMXY.png. (tu wklejam linka:)
Usunięcie znaczników HTML z nazwy hasła mógłbym rozważyć. GB i US raczej bym zostawił, bo to i tak kopia hasła. To jednolinijkowa zmiana.
EDIT: Poprawiony skrypt można pobrać tutaj. Na razie nie podbijam wersji tutaj. Poczekam aż zajdą jeszcze jakieś zmiany.
Dziękuję za szybką reakcję. Chodziło mi tylko o usunięcie znaczników HTML, które poprawiony skrypt całkowicie wyeliminował. GB i US wg mnie powinno zostać — takie jest przecież hasło w oryginale.
Pozdrawiam.
python3 pwn2dict.py -d Tekst/Data/ency.win
Detected Oxford PWN 2003/2004 format…
Reading alphabetical index…
Reading words…
Writing converted data…
Traceback (most recent call last):
File “pwn2dict.py”, line 737, in
src_dict.write_dictd(dest_name)
File “pwn2dict.py”, line 584, in write_dictd
definition = self.read_definition(addr)
File “pwn2dict.py”, line 607, in read_definition
temp = zlib.decompress(word_buffer[first_byte + 1:])
zlib.error: Error -3 while decompressing data: incorrect header check
W czym może być problem?
Prawdopodobnie jest to nieobsługiwana wersja formatu, którą skrypt błędnie rozpoznaje jako 2003/2004. Po nazwie domyślam się, że plik podchodzi z którejś wersji Encyklopedii PWN. Słyszałem o kimś, kto pomyślnie przekonwertował którąś jej wersję za pomocą mojego skryptu, ale nie wiem nic więcej.
Jest to plik z trzypłytowej wersji Encyklopedii PWN z 2005 roku. Na pierwszej płycie są dwa plik ency.win. Jeden w folderze Definicje (ten bez problemu skonwertował się). Drugi w folderze Setup. Z tym są problemy.
Możliwe, że plik jest kompresowany albo po prostu jest to jakaś nieznana mutacja formatu. Tak czy inaczej niewiele mogę poradzić. Obecnie nie rozwijam już skryptu, więc wsparcie dla tej wersji Encyklopedii raczej nie zostanie dodane. Nawiasem mówiąc, Encyklopedia PWN działa zupełnie przypadkiem. Osobiście testowałem skrypt jedynie z różnymi wersjami słowników.
OK, rozumiem.
Witam,
czy jest możliwość podania jakichś żródeł, w których jest opracowany format danych w plikach polang.win i angpol.win. Chciałem dla siebie napisać aplikację na androida korzystającą z tych plików ale nie mogę nic sensownego wygooglać.
Dzięki.
A pwn2dict nie jest wystarczająco czytelny? :) Starałem się nie komplikować kodu, żeby miał także wymiar edukacyjny. Pierwsza wersja skryptu była oparta na nierozwijanym już kpwndict, a potem sukcesywnie dodałem różne wersje formatu obserwując zmiany w nagłówkach plików i dopisując nowe znaczniki do konwersji na Unicode.
Witam,
przesiadłem z Win na Mac. Myślałem, że nie będę miał problemów z instalacją słowników na Mac, a tu porażka :( Mam PWN z 2007 i Słownik Kościuszkowski (obydwa oczywiście na Win). Szukam jakichś możliwości zainstalowania (przyjamniej jednego z nich na Mac’a), trafiłem na Pana stronę. Czy ktoś z Państwa może mi pomóc w instalacji słowników?
Udało się. Dzięki serdeczne za pomoc.
Witam,
Próbuję skonwertować słownik do wykorzystania na Kindlu ale niestety jestem zupełnie zielony w Pythonie. Czy mógłbyć powiedzieć mi gdzie mam wrzucić plik win do przeformatowania na dict? Gdy skopiowałem go w miejsce gdzie jest twój skrypt wyrzuca mi błąd invalid syntax dla nazwy pliku win.
Marcin
Bo pliku nie należy przeciągać do konsoli Pythona, ale na ikonę pwn2dict. Powinny powstać 3 nowe pliki.
Ok. Ruszyło. Wielkie dzięki.
A jak uruchomić skrypt z opcją -t? Przepraszam za takie pytania ale ngdy wcześniej nie pracowałem na Pythonie.
Proponuję tak:
1) Przez Menu Start/Uruchom odpalić cmd
2) Przeciągnąć pwn2dict do okna terminala, żeby wstawić pełną ścieżkę
3) Dopisać po spacji -t
4) Przeciągnąć plik .win do okna, żeby skopiować ścieżkę
To pytanie pojawia się nie po raz pierwszy. Póki co nie mam planów dodawania nowej funkcjonalności do skryptu, ale o ile dobrze pamiętam swego czasu z kpwndict był dołączony skrypt, który wypakowywał audio do plików wav. Osobiście z niego nie korzystałem, więc nie mogę pomóc nic ponad to.
Dzięki za odpowiedź!
Tak. Na mojej płytce (to chyba najdroższe oprogramowanie jakie mam ale warte tego) mam tylko jeden plik wave.pak, natomiast skrypt z kpwndict chyba zakładał istnienie dwu plików. No nic – może kiedyś siądę i pobawię się w reverse engineering – ale nie mam raczej Twoich umiejętności i samozaparcia :)
Dzięki za świetny skrypt!
Hej!
Dzięki Ci drogi Autorze za Twój skrypt!
Co jakiś czas korzystam z Golden Dict gdy oryginalny PWN siada (patrz: http://forum.pclab.pl/topic/938360-PWN-Oxford-Dictionary-Unable-to-open-data-Reinstall-program-aktualizacja-nie-pomogła/)
Zastanawiam się tylko czy jest możliwość wypakowania danych audio. Wtedy już kompletnie można by się odciąć od jednak dość ograniczonego i nie wspieranego programu PWN.
Tak czy inaczej wielkie dzięki!
Pozdrawiam z Trójmiasta!