- Készítsünk szólistát a dokumentumok hibás és ismeretlen szavaiból, kiszűrve az ismétlődőket:
hunspell -l *.odt | sort | uniq >szavak
- Töröljük a javítani kívánt szavakat az állományból egy szövegszerkesztővel.
- Használjuk ezt az ellenőrzött szólistát saját szótárként, így a Hunspell csak a szólistából törölt szavakat fogja felajánlani javításra az interaktív parancssori felületén [az interaktív felülethez a Hunspell fordításánál telepítsük a libncursesw5-dev vagy az ennek megfelelő csomagot, és adjuk meg a --with-ui configure kapcsolót is]:
hunspell -p szavak *.odt
Az ODF-kezelés meglehetősen egyszerű, például a Hunspell nem foglalkozik a dokumentum, illetve szövegrészeinek beállított nyelvével. Ezért ha szeretnénk, hogy például a magyar nyelvű dokumentumban szereplő angol szavak is elfogadásra kerüljenek, adjunk meg angol szótárat (vagy szótárakat) is a Hunspell programnak:
hunspell -d hu_HU,en_US,en_GB példa.odt
Az ODF-kezelés első, kezdetleges változata a sok szerző által írt, CC szabad licenc alatt megjelent ESZSZKK-tankönyvsorozat ellenőrzését szolgálta. A végleges változat a kapcsolódó javításokkal az FSF.hu Alapítvány támogatásával készült el, nem utolsósorban azért, hogy az alapítvány által szervezett konferenciák követő kiadványainak elkészítését is megkönnyítse majd.
- A hozzászóláshoz be kell jelentkezni
- 4233 megtekintés
Hozzászólások
A hírben nem szerepelt, de támogatott formátum az ún. flat ODF is, az egy darab XML állományból álló, a LibreOffice-ban .fodt, .fods stb. kiterjesztéssel elmenthető OpenDocument formátum is, amelynek számos előnye közül a legfontosabb, hogy segítségével lényegesen egyszerűbb új fájlformátumszűrőket fejleszteni a LibreOffice-hoz. Pl. jöhet a standard bemenetről is egy ilyen állomány, a benne lévő, Base64 kódolású képeket tartalmazó <office:binary-data> elemeket egyszerűen átugorja a helyesírás-ellenőrző:
cat példa.fodt | hunspell -l -O
(Bővebben a Visio, CorelDraw, MS Publisher mellé már Keynote és különböző e-book formátumszűrőket is fejlesztő Document Liberation projektről, amelyet a LibreOffice mögött álló Document Foundation indított nemrégiben, mivel ezeket a szűrőket már nemcsak a LibreOffice használja, hanem több más szabad szoftver is.)
- A hozzászóláshoz be kell jelentkezni
Lackó, Lackó!
hunspell -l -O < példa.fodt
De a hunspell-kódért köszönet.
- A hozzászóláshoz be kell jelentkezni
cat-tal több információt tartalmaz a poszt, mert azt is megmutatja, hogy a hunspell akkor is működik, ha az stdinen nem lehet seekelni.
- A hozzászóláshoz be kell jelentkezni
Meggyőztél. De ugye nem baj, ha a hátam borsózik az erőforráspazarlástól? :-)
- A hozzászóláshoz be kell jelentkezni
Úgy rémlett, hogy a cat beépített parancs, mint az echo, de nem. Ettől függetlenül a cső legnagyobb vívmánya ma is az erőforrás-megtakarítás, méghozzá a programozóié. :) Könnyebb bővíteni, vagy egyszerűen csak belenézni, mi van a csőben az adott helyen.
De persze pont az a lényege a mostani fejlesztésének, hogy ne pazaroljuk a rendszer erőforrásait se. Az állományok javítása már nem volna olyan rövid parancssorban, mint a hibás szavak kilistázása a következő módon (bár ennek is megvan az előnye, hogy csak egyszer töltődik be a Hunspell szótár):
for i in *.odt; do unzip -p $i content.xml; done | hunspell -l -O
vagy esetleg
ls *.odt | xargs -I '{}' unzip -p '{}' content.xml | hunspell -l -O
A flat ODF támogatás lényege azon kívül, hogy jól mutat, illetve megkönnyíti a tesztelést, az lehetne egyébként, hogy olyan platformon is átalakítható az ODF flat ODF-fé egyszerűen, ahol csak a LibreOffice elérhető (az unzip/zip/sed, amit a Hunspell használ most a system() rendszerhívással, pedig nem):
soffice --headless --convert-to fodt *.odt
Ha ez nem volna még inkább erőforrás-pazarló. :)
Köszönöm a hozzászólásokat!
- A hozzászóláshoz be kell jelentkezni
Gondolom a latex forráskódhoz is jó még mindig
---
--- A upgond akkor van, ha látszólag minden működik. ---
---
- A hozzászóláshoz be kell jelentkezni
Igen, sőt a fent részletezett saját szótáras munkamenet a LaTeX állományokkal is jobban működik. (A Hunspell most akkor is betölti az alapértelmezett saját szótárat, ha meg van adva külön saját szótár. A régebbi változatok nem töltik be, így a fenti munkamenetben hibásnak jelzik a már korábban az alapértelmezett saját szótárba felvett szavakat.)
- A hozzászóláshoz be kell jelentkezni
Félig-meddig off, de nem tudjátok, hogy a legújabb szótárakat, honnan lehet letölteni? Főleg a magyar helyesírás-ellenőrzéshez kellene...
--
"Trollhammaren sveper igen..."
- A hozzászóláshoz be kell jelentkezni
Pl. a hunspell-hu csomag telepíti a legfrissebb magyar helyesírási szótárat a /usr/share/hunspell alá Linuxokon, ezt a LibreOffice és a parancssori hunspell is használni tudja. Ez elég régi szótár (l. http://magyarispell.sourceforge.net/), megegyezik a régi FSF.hu-s OpenOffice.org szótárcsomagban található helyesírási szótárral (l. http://code.google.com/p/openscope/wiki/DictHuOxt, http://extensions.services.openoffice.org/en/download/4436).
Lesz új kiadás pár hónapon belül, és lehet, hogy hasznos volna ebből külön LibreOffice kiegészítőt is készíteni, hogy pl. az angol LibreOffice-hoz is lehessen Windowson magyar szótárakat telepíteni egyszerűen.
A LibreOffice forráskódjában van némi szótárjavítás (egész friss is, l. itt), ez is letölthető innen:
http://cgit.freedesktop.org/libreoffice/dictionaries/plain/hu_HU/hu_HU…
http://cgit.freedesktop.org/libreoffice/dictionaries/plain/hu_HU/hu_HU…
És a használatához elég csak a fenti keresési útvonalakon elhelyezni, vagy kiadni a parancsot az aktuális könyvtárban:
hunspell -d hu_HU
- A hozzászóláshoz be kell jelentkezni
Hú, köszönöm! Igazából system-wide szótárként használom OS X-en mindenféle online fordítástámogató eszközökhöz, szóval a külön szótárra vadásztam.
--
"Trollhammaren sveper igen..."
- A hozzászóláshoz be kell jelentkezni