2008. augusztus 27., szerda

Kommandó

Ma felcsaptam kommandósnak. Na nem olyannak, mint amilyen a világ a témában készült legjobb filmje után akartam lenni, csak amolyan mindennapinak.
Egerről tudni kell, hogy ugyan nincs errefelé sok bringaút, de azok egész jó állapotban vannak, mondhatni majdnem tökéletesek. Voltak. Most már tökéletesek:

huncut akácbokor
jólnevelt akácbokor

2008. augusztus 26., kedd

Újra itt :)

Nos, régóta nem blogoltam pedig nem csak nyaralással telt az augusztus :).

Az történt, hogy Sianis mester rendbe szedte a csomagleírások generálását, most már végre odanyomja megjegyzésben, hogy melyik csomagokhoz tartozik adott sztring, ehhez egy meglehetősen eldugott repót kellett megtalálni és módosítani a tartalmát, plusz az intltool gyengeségét is meg kellett peccselni, mert hát miért is működne minden pöccre?
A tatarozási munkák során Sianis összehaverkodott mvo-val, ami remélhetőleg nem más, mint dö bigining of a bjutiful frencsip :).
Ezekkel megnyílt az út az egyesített csomagleírás-fordítási projekt felé, már csak némi importálást-exportálást, satöbbit kell fejleszteni... de ez még hosszú út, rövid távon van más.

Ez pedig az Intrepid, ami egyre közeledik, az app-install alkalmazás meg még mindig nem beszél magyarul. Tehát kellett egy remek kis program, ami a korábbiakhoz hasonlóan készít egy listát az ott előforduló csomagleírásokról, némiképp persze szebben és ha már szépség, akkor minimum megkérdezi a launchpadot hogy ugyan le kell-e fordítani az adott sztringet.
A program elkészült, a keresztségben a Nightmonkey nevet kapta és remekül működik, nagyságrendileg 0 hibával :). Szép html oldalakat generál, ami ugyan nem túl dinamikus meg webkettes meg futuretech, ellenben működik. Ezeken remekül látszik hogy hol tartunk az app-install által megjelenített csomagok leírásaival - nagyjából ugyanott, ahol a múltkori fordítóhétvégén abbahagytuk, még rengeteg a tennivaló, ideje magasabb sebességre kapcsolni :).

A teendők nyilvántartására visszatértünk a wiki, mint módszer használatához, mégpedig az ubuntu.com-on levőhöz. Utólag nézve, ostobaság volt egyéni módszerekkel kísérletezni (azt hiszem iwiwen alapítok egy ájhétwebkettő klubot :P), mikor volt járt út is.

A következő lépés az lenne, hogy a csomaglistát is lefordíthatóvá tegyük, ez másnak is szemet szúrt már, erre mondtam anno hogy meglehetős feladat. Nos, jelentem a pot-fájl generálás nem is olyan nagy kunszt, rávenni a zilletékeselvtársakat, hogy beépítsék a csomagba, nos... meglátjuk, hétvégéig erre teszek egy kísérletet.

Augusztusban egy érdekes információval is gazdagabbak lehettek a szemfüles launchpad-olvasók, mégpedig azzal, hogy lehetséges csak a billentyűzetről is navigálni a launchpad fordítások között - magamfajta, billentyűzethez gyógyult figuráknak ez megváltás.

Közben hamarosan jön a Gnome 2.24, ennek fordítását is rendbe kéne szedni, de ezzel valszeg nem lesz gond.

Ja és valami konferencia is lesz, gyertek amíg van hely, itt kétszer is nekifutok majd az észosztásnak, remélem sikerül képet adni arról, hogy mi folyik a színfalak mögött, ami miatt ez az egész egy kicsit döcögősen, de azért működik :).

2008. július 31., csütörtök

Génkezelt méreggel

"Én mán eztet nem hiszem el" rovatunkban ma:

2008. július 20., vasárnap

2008. július 8., kedd

Új igazgató a GNOME alapítványnál

Olvasom (az előzetes tervvel ellentétben nem Isztambulból - bocs mindenki :( ), hogy a GNOME szert tett egy új igazgatóra, akinek igen sok feladata lesz, főleg a felmerülő lehetőségek kiaknázásában, de remélhetőleg sok másban is. Amikor olvastam Luis Villa bejegyzését a témában, hirtelen eszembe jutott hogy újra kéne nézni az újdonsült főnökasszony tavalyi GUADEC-es keynoteját, és meg kell állapítanom hogy jól járt vele az alapítvány. A videót egyébként ajánlom mindenkinek, aki főnökként nyílt forrást fejlesztet, valamint aki alkalmazottként akar ezzel foglalkozni :).

2008. július 2., szerda

Damned lies reloaded

Azt írja a gnome.org rendszerek gazdája, hogy jön az ürge #sysadmin csatornára és:

saned: hello. I'm wondering whether http://l10n.gnome.org/ has been defaced...
saned: it says "Damned Lies about GNOME"
saned: is it some kind of joke?
Azt hiszem mégis igaza volt Atyának, ez egy elég rossz belsős vicc :)

2008. június 25., szerda

Egyesített csomagleírás-fordító projekt

A múltkor András felvetette, hogy teljesen felesleges ugyanazoknak a csomagoknak sokféle leírást írni és fordítani, de főleg fordítani mivel erre kevesen vagyunk :). Aztán elgondolkoztam ezen, hogy lenne jó megoldani. Van ugye jelenleg 3 (? a Debiannal mi van?) olyan disztrib, amelyik tud/szokott/akar (utóbbi vagyunk mi ;)) ezzel foglalkozni, a suse és a fedora már ért is el eredményeket, de sokkal hatékonyabb lenne ha összedolgoznánk. Az ugye tény, hogy a disztribek nagyrészt ugyanazokból a forráscsomagokból építkeznek, és kevéssé meglepő módon a csomagok leírásai sem térnek el nagyon, így egy felhasználó akármelyikből kb ugyanannyi információhoz juthat. Lenne tehát értelme azt mondani, hogy vesszük egy adott disztrib meglévő fordításait, és mindenhova máshova azt másoljuk, a felhasználónak nem tűnne fel úgyse.

Az ötlet a következő: a meglévő csomagleírások mennyisége alapján azt mondjuk, hogy a suse fordításait vesszük át, aztán ahol ez hiányos ott a fedoráét, majd az ubuntuét. A hiányzó sztringek persze mindből bekerülnek, aztán aki ráér nekiáll, és nem számoljuk hogy jaj most a redhatnak fordítunk :). Lényeg, hogy egy adatbázisba betoljuk a fordítandó és fordított cuccot az egyes disztrókból, majd kiszedjük a lefordítottnak nyilvánított sztringeket, de a fordítás már egységes lesz, függetlenül az eredeti szóhasználattól stb.

Megvalósítás: na ez a nehéz rész. Kell egy adatbázis, amiben tároljuk a csomagok leírásait, meg valamilyen egyedi azonosítóját, ami elsődleges kulcs lesz. A legnagyobb probléma a csomagnevek egymásnak megfeleltetése lesz, mert ehhez nincs sok segítség a po fájlokban. Azaz, az Ubuntus verzióban konkrétan nincs (trükközéssel állítható elő csak), a Fedorás a bináris csomagok fájlneveit és a csomagnevet is tartalmazza, és a Suse csak a csomagnevet. Plusz, az Ubuntu bekezdésenként külön üzenetbe szedi a hosszú leírásaokat, niiiiice :). Ezzel lesz tehát a legtöbb baj.

A lényeg azonban, hogy ha a forráscsomagokhoz (targéza) társítanánk a leírásokat, akkor a csomagdarabolások miatt lenne nehéz párosítani, ha a bináris csomagokhoz társítanánk, akkor meg az átnevezések miatt. Így valami öszvér megoldást kellene keresni. Az ötlet a következő:
-Vegyük a suses csomagleírásokat, mert mennyiségre azt hiszem abból van a legtöbb, és induljunk ki ezekből, azaz ezeket másoljuk máshova.
-Vegyük fel az adatbázisunkba a csomagneveket, illetve az ezekhez tartozó rövid/hosszú leírásokat, fordítással együtt.
-Vegyük fel a Fedorás és Ubuntus fájlokat, a fordítások mellé tegyük oda a csomagneveket, majd próbáljunk hasonló nevű csomagokat keresni a Suses táblában. Házi feladat értelmes algoritmust találni :). Ha találunk akkor örülünk, ha nem, akkor vagy az algoritmus a buta és van ugyanolyan forrásból épülő, azonos szerepű csomag Suse alatt, akkor manuálisan létrehozunk egy társítást, vagy tényleg nincs még olyan csomag, akkor felvesszük a Suse-táblába, amit ezentúl Egységes fordítások táblának nevezünk :).
-A közös rész ez lesz, ezt fogja minden disztribúció fordítócsapata fordítani, illetve a saját dolgai közül hozzápárosítani a szerinte megfelelőt.
Természetesen ebben nyilván kell tartani azt is, hogy melyik disztribúcióban szerepel az adott leírás, azaz melyik fájlba érdemes exportálni.

Nézzünk egy konkrét példát, mert ez a fenti még nekem se világos teljesen :).
Van az alacarte nevű kis menüszerkesztő programka. Ehhez tartozik a Suse po-fájljában a következő:
#: alacarte (63049) summary
msgid "Menu editor for GNOME"
msgstr "GNOME menüszerkesztő"

#: alacarte (63050) description
msgid "Alacarte is a simple freedesktop.org compliant menu editor for GNOME
that lets you change your menus, simply and quickly. Just click and type to
edit, add, and delete any menu entry."
msgstr ""
"Az Alacarte egy, a freedesktop.org előírásainak megfelelő egyszerű\n"
"menüszerkesztő a GNOME-hoz, amely lehetőséget ad a menük gyors,\n"
"egyszerű módosítására. Csak kattintson és gépeljen bármely menüelem\n"
"szerkesztéséhez, hozzáadásához, eltávolításához."
Remek akkor ezt felírjuk az Egységes fordítások táblába:
név: alacarte|rövid leírás: msgid "...", msgstr "..."| hosszú leírás: msgid "...", msgstr "..."| használja: suse
Nézzük a Fedorát:
#. alacarte{DESCRIPTION}
#: alacarte-0.10.0-1.fc6.noarch.rpm alacarte-0.11.3-4.fc8.noarch.rpm
msgid ""
"Alacarte is a menu editor for GNOME that lets you get things done,\n"
"simply and quickly.\n"
"\n"
"Just click and type to edit, add, and delete any menu entry."
msgstr ""
#. alacarte{SUMMARY}
#: alacarte-0.10.0-1.fc6.noarch.rpm alacarte-0.11.3-4.fc8.noarch.rpm
msgid "Simple menu editor for GNOME"
msgstr "Egyszerű menü szerkesztő GNOME-hoz

Fel is írjuk a Fedora táblába:
név: alacarte (a csomagnévvel nem foglalkozunk)| rövid leírás: msgid "...", msgstr "..."| hosszú leírás:
msgid "...", msgstr "..."

Ezután megnézzük, hogy az Egységes fordítások táblában van-e valami hasonló? Nos van, és ennek felettébb örülünk.
Felírjuk az Egységes fordítások táblába, hogy: "...használja: suse, fedora."

Hasonlóképpen járunk el Ubuntu meg amit akarunk esetén is, módosítjuk a bejegyzést, ha van találat, ha meg nincs akkor felvesszük új bejegyzésként.
Némiképp bonyolítja a helyzetet, hogy az Ubuntu nem ad meg csomagneveket, de ezt túléljük :).
Illetve, a leírásdarabolás problémája is ott van, ezzel nem tudom mit lehet kezdeni. Lehet, hogy
automatán kellene darabolni a fordításokat exportkor? Esetleg tökönrúgni a fejlesztőket?

Ezután jönnek a fordítók és egy okos webes felületen vagy keresnek hasonló nevű csomagokat, vagy fogják és lefordítják a leírást.

Az igazán érdekes rész az export, amikor is megmutatkozik ennek az egész hajcihőnek a haszna:
Jön az egyszeri Ubuntus fordító, és kér egy po-fájlt. Ekkor az adatbázis leválogatja neki azokat, ahol a használja mezőben szerepel az Ubuntu, az adott csomag eredeti leírását kiszedi az ubuntus táblából, majd hozzácsapja a Suseból származó fordítást, azaz valahogy így fog kinézni:

msgid "easy GNOME menu editing tool"
msgstr "GNOME menüszerkesztő"

msgid "Alacarte is an easy-to-use menu editor for GNOME that can add and edit
new entries and menus. It works with the freedesktop.org menu
specification and should work with any desktop environment that uses"
the spec."
msgstr ""
"Az Alacarte egy, a freedesktop.org előírásainak megfelelő egyszerű\n"
"menüszerkesztő a GNOME-hoz, amely lehetőséget ad a menük gyors,\n"
"egyszerű módosítására. Csak kattintson és gépeljen bármely menüelem\n"
"szerkesztéséhez, hozzáadásához, eltávolításához."

Ezután a kapott fájl mehet az adott disztribúció svn-jébe vagy amije épp van.
Egyszerűnek hangzik, nem? Kinek van kedve megvalósítani? :)