valós cimke alapú gettext

Egy ideje már gondolkodom, hogyan lehetne 0 erőforrástöbblettel megoldani azt, hogy ténylegesen címkék kerüljenek a msgid-k helyére. Erre egyébként azért van szükség, hogy feloldható legyen a szavak más kontextusban való másként fordítása, pl: Search Keresés Kereső (amire a domain tökéletes lenne, csak hát ahhoz többet kéne programozni…).
Ha a problémát onnan közelítjük meg, hogy a gettext-be kéne beépíteni egy nyelvi fallback mechanizmust akkor szerintem soha nem lenne meg, viszont ha a po fájlok generálásakor és a sablongeneráláskor változtatunk az eddig bevett szokáson akkor talán szélesebb körben is nagyobb elfogadásra találna a megoldás. (működő kódok, minták és promó tömkelegével)
Az ötlet a következő:

  • msgidben csak A-Z\_\- karakterek szerepelhetnének
  • a programban meg kéne adni az initltools számára egy fallback nyelvet (pl en_US). Esetleg a fejlécben egy plusz mező.
  • sablon generálásakor létrejön az üres fájl amit a fejlesztő feltölt a felületen megjelenő nyelvi szövegekkel
  • Új nyelv hozzáadásakor a fallback nyelv msgid-k alapján a fallback nyelvből feltölti az új nyelv msgstr-jeit, hogy a felületen a fordítatlan szövegek helyén angol szöveg jelenjen meg.

Ehhez a megoldáshoz még a felületet fordító programokat se kéne módosítani. (persze pár funkciót be kéne építeni)
Megoldatlan probléma a fallback nyelvben a msgstr módosításakor hogyan vezetjük át a többi nyelvbe, hogy módosult a szöveg (msgid elévülés). Esetleg a megjegyzésben el lehetne helyezni egy időbélyeget, melyeket összevetve lehetne kilistázni azokat amik módosultak.

Működő kódok, shell scriptek hamarosan…

kubuntu nyelvi őr kerestetik

Hup-ra is elküldetett Gábor által az ubuntu-s “Melyik program fordítása készüljön el a hardy-ig?” kezdeményesés, és felvetették -jogosan- hogy a Kubuntu szegény elég elhanyagolt.
Ez azért van, mert a jelenlegi honosításra szakosodott csapat leginkább Gnome központú, és egyik alapvetés, hogy aki a fordítást, karbantartást vállalja, az aktív felhasználója legyen az adott felületnek/programnak.
Ezért úgy gondoltam összeszedem hogy milyen teljesíthető “követelményeknek” kell megfelelni ahhoz, hogy valaki segíthessen a kubuntu fordítását kiadásról kiadásra rendben tartani.

  • Van rááldozható szabadideje a tesztelésre!!!
  • Használja a mindennapjaiban a KDE-t. Fontos, hiszen így ismeri minden részletét, és tudja mik azok a részek amiknek a fordítottsága hajlamosak kiadásról kiadásra, visszaesni.
  • Legyen olyan gépe ami képes egyszerre kielégítő sebességben futtatni két operációs rendszert valamilyen (virtualbox) virtualizációs megoldással. Ez fontos, de manapság már nem teljesíthetetlen követelmény. Gyorsabb a tesztelés és telepítés, könnyebb képernyőképeket készíteni és azon nyomban lehet küldeni is a megfelelő helyre.
  • Következő feltételek olyanok melyeknek való megfelelés, nem kötelező, viszont nagyfokú önállóságot biztosít a problémák megoldásához, teszteléshez, fordításhoz.
  • Ismeri a kde program szintű felépítését, és tudja azt hogy mely részek milyen szoftverkomponenst tartalmaznak. Illetve ezt visszafele is, mely szoftver mely részben található. Eligazodik valamelyest a kde svn repozitjában és tudja, hogy mit hol keressen.
  • Ismeri a forráscsomag beszerzést, és abból ki tudja szedni a po fájlokat fordítás céljából.
  • Launchpadon vagy kbabelen keresztül le tudja fordítani a hiányzó részeket és azokat be tudja küldeni az illetékes szerveknek.
  • Meg tud felelni néhány alapszabálynak és terminológiának.

Az első három pont fontos és szükséges alapfeltétele annak, hogy tesztelni tudjon az illető. A többi viszont megtanulható akkor, ha van egy kis programozói véna. A kezdeti eligazodást tudja segíteni a jelenlegi csapat és az openscope tömörülés. Szóval szerintem nem teljesíthetetlen a dolog.

vlc és a gettext esete

Egy ideje napi debian buildeket használok és egészen meg vagyok elégedve a vlc-vel. Egy dolog tűnt fel (esetenkéni elszállástól eltekintve), hogy angol volt, de ezzel nem sokat foglalkoztam, hiszen angolul is megértem a felületet, akkor meg minek vesződjek. A hivatalos kiadással majd helyrejön, vagy ha nagyon kell majd megoldom.
Nos a buildeket most javasoltam Kelemen Gábornak is, aki a honosítással foglalkozik. Így rögtön ki is derült, hogy miért nem fordult a felület.
Mert kikapcsolták.
Az ok igen prózai:
– hibás a dgettext glibcéstűl együtt. A hiba nagyjából “annyi”, hogy glibc 2.6 és 2.7-es verziójában nem thread-safe. Így segfaultot okoz ha más threadból akarunk hozzáférni az adott memóriaterülethez.

A szál amiben ez olvasható.

Ez azért roppant kínos, mert a vlc 0.9.0-es verziója januárban érkezne, a jelenlegi changelog szerint ez a hiba nem nagyon zavarja a fejlesztőket, így a kiadás megtörténik hiba nélkül vagy azzal együtt. Abban az esetben ha a program adott verziója nem honosítható szerintem az ubuntu fejlesztői nem fognak verziót lépni az oprendszerben és más nagyobb terjesztés sem fogja meglépni a frissítést, vagyis marad a 0.8.9 amíg a hiba nem javul lib szinten.
A jelenleg folyamatban lévő 100%-os honosítást tehát ehhez lenne célszerű elkészíteni. Ha a libben valami csoda folytán javítják a hibát kiadás előtt, akkor fennáll az esély arra hogy a 0.9.0 megy ki félig honosított felülettel.
Érdekes dolgok ezek…

szerk: a javítás megvanaz upstreamben. Holnap (ma) levadászom a javítást és csinálok egy deb-et belőle, hogy folytatódhasson a 0.9.0 honosítása.

Hírek az ubuntu háza tájáról

Néhány dolog ami mostantában történt:

  • Másfél nap hackolás után sikerült magyar nyelvű dokumentációt készíteni. Ez a rész mindig is problémás pont volt az ubuntu-doksi csapat számára hiszen a nagy erőfeszítéssel lefordított dapper dokumentáció is valamikor fél évvel utána készült csak el… Ráadásul a lp robotnak hála a doksi buildet kiegészítettem egy rosettából exportálással is, így mindig az aktuális állapotot fogom tudni elkészíteni (gyorsabb hibajavítás, mindig aktuális doksi stb). Hamarosan átvariálom a template-t (xsl) és igazítom az ubuntu arculatához.*
  • Ma frissítettem a robotot a 0.02a verzióra. Változások: get_packages metódust felváltotta a get_translations metódus. Utóbbi kezeli a lapozót és valamivel szebb a kódja mint az előzőek (getelementsbytagname-re épít, így hibatűrőbb), implementáltam a mailbox figyelést, így most már szabadon lehet exportálni bármit a rosettából, get_new_uploads metódus a csomag feltöltéseket hivatott leszedni és megjeleníteni**. A friss változat letölthető az előző linkről.
  • Ez ugyan, nem szervesen ubuntu téma de azért megemlítem: újra lesz szoftverhonosító hétvége, melynek programja a gnome user guide fordítása lesz. Ez két dologban érint engem: 1, megyek 2, valahogy ötvözni kell a régi, András által lefordított doksit a jelenlegivel és csomagot kell tudni készíteni belőle. Gábor kapcsolódó bejelentései első és végleges.
  • Gábor utánajárása és rugdosása hatására végre magyar a magyar mirror (http://hu.archive.ubuntu.com) . Köszönet érte az fsn-nek!
  • Lesz ubuntu póló, amit a polo kukac ubuntu pont hu címen lehet rendelni! Részletek: http://ubuntu.hu/polo

Egyenlőre ennyi.

* a következő amiben meg fogom kerülni az eredeti ubuntu kiadást az a ddtp lesz. Ott is valami elképesztő nagy töketlenkedés van. Aztán a deb csomagok majd a világuralom következik 🙂
** ezt egy következő elég izgalmas munkámhoz kellett elkészíteni. Részletek hamarosan!

lp robot

Örömömre szolgál bejelenteni a -gyors keresztségben- Launchpad robot névre keresztelt eszköz, első publikus alfa verzióját (v0.01a).

A program segítséget nyújt abban, hogy a rosettából a po fájlokat lementsük egy adott forráscsomag esetén.

Futtatásához php 5.2 cli szükséges. Program jelenleg csak azokat a fájlokat tudja letölteni amiket a rosetta azonnal kiad letöltésre. Amikhez levelet küld azokat jelenleg nem lehet letölteni.

További tervek:

  • leveleken keresztül küldött fájlok letöltése
  • po import
  • fordítás statisztika (amit ez a verzió is tud)
  • teljes rosetta indexelés
  • és még sok más…

Forrás: http://workshop.connor.hu/ubuntu/lp_robot.phps
Használata: http://workshop.connor.hu/ubuntu/lp_robot_example.phps

fordítási segészótár költözés

A fordítási segédszótár, amit egy éve a szoftver honosító konferencián találtunk ki, hogy legyen, immáron új cím alatt érhető el.
A költözésnek két oka volt:

  • Egy másik munkám kapcsán kifejlesztett és a mandolin project keretében felhasznált keretrendszerre átültetett oldal kódja átláthatóbb, karbantartása sokkal egyszerűbb, további bővítés várhatóan sokkal gyorsabban megy majd.
  • A kezdetekben megalkotott adatbázist most rendesen megcsináltam, így képes megjegyzések és végtelen számú fordítás fogadására. Bár a front-end ezt még nem támogatja.

A mandolin projectről hamarosan részletesebben is írni szándékozom, hiszen a munka halad és vannak már kézzel fogható eredmények, így publikálásra alkalmasnak találom.
A segédszótárhoz hamarosan elkészül a firefox környezeti menübe épülő keresési felület is. (gyak. a sztaki szótárat forkolom)
További fejlesztések várhatóak a munkával kapcsolatban.

adept_notifier BROKEN TRANS. hibajavítás

Az adept_notifier gyorstippjében edgy óta hiba van. Ezt javítani nem igazán lehet, mert a rosettában is van hiba amin keresztül fordítunk.

Hibáról kép itt:
http://ubuntu.hu/hibabejelentes/adept

helyes mo file:
http://workshop.connor.hu/ubuntu/translation/edgy/adept_notifier.mo
helyes po file:
http://workshop.connor.hu/ubuntu/translation/edgy/adept_notifier.po

telepítés:
sudo wget http://workshop.connor.hu/ubuntu/translation/edgy/adept_notifier.mo -O /usr/share/locale-langpack/hu/LC_MESSAGES/adept_notifier.mo

ubuntu lokalizáció, s egyebek

Hamarosan megjelenik az ubuntu újabb verziója a feisty, és az elmúlt hét végén lezárásra kerültek a felhasználók által látható szövegek. Így nagyjából egy hónap áll rendelkezésre a fordítások elvégésére. A nagy hajtás egyik eredménye, hogy több javítást végeztem el a rosettát molesztáló scriptcsomagon is (valami nevet kéne már neki adni). Az alaptáblázatból készült egy kivonat ami a csomag helyzetének jobb átláthatóságát hivatott szolgálni (az alaptábla túl sok adatot tartalmaz), ezt feltettük a jelenlegi wiki alapú ubuntu.hu -t majdan leváltó drupal alapú béta oldalra.
A lokalizációs sprint miatt jövünk össze e hónap végén egy nagy fordító hétvégére, ezúttal személyesen, ami a Novelléknél kerül megrendezésre (hupon volt róla hír). Talán hely már nincs, de akinek van kedve az bekapcsolódhat hiszen a kommunikáció közös csatornája a freenode-os #ubuntu-hu irc csatorna lesz.
Addig lesz még pár tennivaló, a teljesség igénye nélkül:

  • a már régóta húzódó fordítói segédszótárat hadrendbe kell állítani és befejezni az elmaradt funkciókat
  • dapper dokumentációját megnézni, hogy hogyan kell deb csomagból elkészíteni. Erre azért van szükség, mert nagyrészt a dokumentációkat fogjuk fordítani és ha valamely asztali környezet dokumentációja elkészült, abból html oldalakat fogunk készíteni (leginkább ön ellenőrzés végett).
  • Valami egyszerű nyilvántartó rendszert készíteni amivel szépen fel lehet osztani a csomagok fordítandó szövegeit, szépen vizualizálandó, hogy éppen ki mit csinál.

Szóval munka van bőven és addig is aktívan fordítgatni kell a programokat.

Mai egyik örömteli eredménye az, hogy a feistyben az amarok, 7 szövegrész híján 100%-os fordítottságot ért el, így ebben a verzióban egy régi álmom válik valóra, kedvenc szoftverem teljesen magyarul fog megjelenni! Hogy ez megvalósulhatott hatalmas köszönet Bíró Árpád-nak aki lefordította a programot.
Új célokat keresve, a digiKam-hoz fogtam hozzá, mert szegény igen elhanyagolt lett az utóbbi időben. Pedig tudásra egy nagyszerű programnak tűnik. Éppen kapóra jön mert most kezdtem el fényképezni és a frissen készített fotók lementésében, rendszerezésében, alakításában nyújt segítséget. Pár óra munkával közel 50%-osra sikerült felhozni. Feisty+1-ben talán már teljesen magyar lesz ez is.

Továbbá embereket keresünk a jelenleg béta oldal tartalommal való feltöltésére is ami annyit jelent, hogy wikiből az arra alkalmas és hasznos hogyan-okat és írásokat kell áttölteni a drupalba. Amit kell átírni és úgy áttölteni. További információt nálam vagy süveg kollégánál lehet kapni, leginkább a fent említett.