Magyar felület fordítás

A magyar felület fordítási munkái a http://localize.drupal.org által biztosított infrastruktúrán zajlanak.

Ebből a Drupal webhelyek telepítőinek annyit érdemes tudniuk, hogy a magyar fordításokat két módon lehet beszerezni. A Drupal alaprendszer fordítása minden esetben megtalálható a címlapon. Alapvetően ezt ajánljuk mindenkinek, aki szeretné, hogy az adatbázisa a lehető leghatékonyabban legyen kihasználva, felesleges fordítások ne terheljék a rendszerét. Ez alkönyvtár helyesen tartalmazza a szükséges fájlokat, melyet egyszerűen a telepített Drupal forráskódja mellé kell másolni. Azonban ez a csomag viszonylag ritkán frissül. A legfrissebb fordítás beszerezhető közvetlenül a fordítási adatbázisból is, ennek azonban már feltétele egy felhasználói fiók megléte a http://drupal.org webhelyen. Ez sokkal naprakészebb csomagot biztosít, hiszen a fordításunk akár napról-napra is változhat.

A közösség által közzétett modulok esetében is ez a kettősség van jelen. A népszerű, sokak által használt modulok esetén a magyar fordítási fájl általában megtalálható a csomagban. A fejlesztés menetéből következően ez azonban mindig az eggyel korábbi változat fordítása lehet csak, így előfordulhat, hogy nem teljes. Természetesen itt is igaz, hogy a legfrissebb fordítás beszerezhető közvetlenül a fordítási adatbázisból is, amennyiben valaki már lefordította azt.

Részvétel a fordításban

A magyar fordítói csapat levelezőlistát tart fenn, melyen a fordítással kapcsolatos beszélgetések, egyeztetések zajlanak. Előfordul, hogy több lehetőség közül nem a megfelelő fordítást választjuk, vagy nem találjuk meg az alkalmas magyar fordítást egyes angol fordulatokhoz, kifejezésekhez. Szívesen fogadunk új ötleteket, javaslatokat a fordítással kapcsolatban, ehhez semmilyen speciális technikai eszközre nincs szükség, csupán a levelezőlistán kell felvetni a kérdést. Előfordulhat, hogy nem a megfelelő stílust vagy mondatszerkezeteket választjuk bizonyos fordítások során, esetleg nem egységes vagy félreérthető a szóhasználatunk. Az ilyen hibákkal kapcsolatos jelentéseket is szívesen látjuk.

A fordítást természetesen nem csak érdeklődő szemlélőként lehet nézni, hiszen mindig van valamilyen javítandó vagy fordítandó felület. A fordítási munkába való bekapcsolódás iránt érdeklődőknek rendelkezniük kell UTF-8 támogatással bíró szerkesztőprogrammal. Kényelmi szempontok miatt egy Gettext Portable Object szerkesztő (pl. KBabel vagy poEdit) jó választás lehet, de egy teljesen hagyományos szöveges fájlszerkesztő is megteszi, ha UTF-8 támogatással bír.

Mivel a fordításokat a localize.drupal.org kiszolgálón kezeljük, a résztvevőknek felhasználói azonosítóval kell rendelkezniük itt. Egy drupal.org felhasználói regisztrációt követően átlépve a localize.drupal.org oldalra ez a felhasználói azonosító automatikusan létrejön. Ezt követően a ezen az oldalon lehet csatlakozni a csapathoz.

Aki komolyabban szeretne a fordításokkal foglalkozni, az itt igényelhet CVS azonosítót. Ez az azonosító feljogosít arra, hogy bármely modul vagy smink magyar fordítását módosíthassuk (más nyelvi fordításokba is bele lehet írni, de ez nem ajánlott). A Drupal alapcsomag külön projektként jelenik meg.

A magyar fordítást érintő változások figyelése összetett feladat lehet, hiszen sok projekten átívelő módosulásokról lehet szó. Ezért beállítottunk egy automatikus monitoring programot, aminek a segítségével a hírolvasónkban nyomon követhetők a magyar fordításokat érintő változások.

A részvétellel kapcsolatos bármilyen kérdést, javaslatot a fordítói levelezőlistán érdemes feltenni.

Fordítási irányelvek

A különböző kifejezések fordításakor időnként parázs vita alakult ki a helyes nyelvhasználatról, az egyértelműségről, a hagyományokról, és olyan technikai kérdésekről, melyek a Drupal felület fordítását egyszerűbbé tehetik. Úgy gondoltuk, hogy nyelvi döntéseinket, választásainkat érdemes lehet megosztani másokkal is, ezzel talán segítve más honosító projektek munkáját is, amellett, hogy a magyar felülettel ismerkedőknek is támpontokat adhatunk. Ezért az alábbiakban egy magyarázatokkal ellátott szójegyzéket teszünk közzé, jelölve az esetenként
felmerült alternatívákat, és a végső döntésünk okát.

Természetesen nem szeretnénk arra vállalkozni, hogy a magyar fordítás tudományát
újra feltaláljuk, a módszereket saját magunk definiáljuk, de sok esetben találkoztunk olyan kérdésekkel, melyeket máshol nem tárgyalnak. Szerencsére sok forrás van, melyhez fordulhatunk:

Fordítási stílus

Mindenképpen alapkövetelmény volt, hogy vállalati környezetben is jól használható fordítás készüljön, így a tegezés használatát eleve kizártuk. Három lehetőség maradt, a magázás, a személytelen, illetve a magyar könyvekben előszeretettel használt többesszám első személyű megközelítés használata. Végül ezutóbbi kettő mellett döntöttünk, mert úgy ítéltük meg, hogy ez az a megoldás, ami egyenlő távolságra van a magázástól és a tegezéstől, és mindkét igényt megfogalmazó számára elfogadható. Stílusunk tehát elsősorban személytelen, illetve ahol ez nem oldható meg jól, ott többesszám első személyben szól. Ennek érzékeltetésére:

  • Tegező: Biztosan törölni szeretnéd a blokkot?
  • Magázó: Biztosan törölni szeretné a blokkot?
  • Magyar Drupal: Biztosan törölhető a blokk?
  • Tegező: A beállítások oldalon add meg a blokk nevét!
  • Magázó: A beállítások oldalon adja meg a blokk nevét!
  • Magyar Drupal: A beállítások oldalon adható meg a blokk neve.

A megszólítás és a megszemélyesítés elkerülése vonatkozik a felhasználóra és a kiszolgálóra, a programra egyaránt. Néhány helyen nem tudtunk jobbat találni a magázásnál – ezek főleg a felhasználó adataival foglalkozó modulokban fordulhatnak elő.

Más projektek honosításainál szokásos formában meggyűlt a bajunk a névelők használatával, amikor azokat automatikusan elhelyezett tartalmak elé kell illesztenünk. Mivel megítélésünk szerint az „a(z)” típusú névelő használat nem helyes, ezt mindenképpen kerüljük. Sajnos nem minden esetben helyes magyar nyelven a névelő elhagyása, ennél jobbat rendelkezésre álló eszközeinkkel azonban nem tehettünk. Az alábbi példákban a @user helyére a Drupal az oldal előállítása közben helyez be egy értéket:

  • Helytelen: A @user felhasználó törölve lett
  • Helytelen: Az @user felhasználó törölve lett
  • Helytelen: A(z) @user felhasználó törölve lett
  • Magyar Drupal: @user felhasználó törölve lett

Hasonló kérdés a többesszámok használatának problémája, ahol szintén nem tartjuk járhatónak a „felhasználó(k)” típusú fordítást. Ehelyett olyan változatot használunk, amely az adott helyzetben megfelelőbb. Általában a többesszám alkalmazása helyénvalóbb. Például:

  • Helytelen: Bejelentkezett felhasználó(k)
  • Magyar Drupal: Bejelentkezett felhasználók

Dátumformátum

  • Rövid: Y. m. d. H.i azaz 2004. 10. 28. 14.21
  • Közepes: Y. F j. H.i azaz 2004. október 28. 14.21
  • Hosszú: Y. F j., l H.i azaz 2004. október 28., csütörtök 14.21

Ezek csak javaslatok, a magyar nyelv szabályait figyelembe véve más kombinációk is előfordulhatnak. Fontos szempontok:

  • hónap és nap nevek kisbetűsek óra és perc között pontot kell használni, nem kettőspontot
  • számmal írt év, hónap és nap után pontot és térközt kell tenni (kivéve, ha még vesszővel is leválasztjuk az új információt)
  • „év hónap nap” ebben a sorrendben szerepel

Idézőjelek

Idézőjeleknek helyes használata (UTF-8): „idézet”. Kérünk mindenkit a bonyodalmak
elkerülése érdekében ezeket használja!

Hasonlóképpen elvárható a helyes nagykötőjel- illetve gondolatjel-használat (a magyar nyelv félkvirtmínuszt használ ezekre), valamint a kötött (nem törő) szóköz megfelelő alkalmazása is.

Windows

Windows alatt eképpen csalható elő:

  • A kezdő: Alt+0132 -> „
  • A záró: Alt+0148 -> ”

Linux és *BSD

Linux alatt több járható út van, az egyik az Xmodmap alapú billentyű-hozzárendelés, mely az altgr+e kombinációra és az altgr+r kombinációra rakja a két idézőjelet:

  xmodmap -e 'keycode  26 = e E doublelowquotemark'
  xmodmap -e 'keycode  27 = r R rightdoublequotemark'

A másik mód az X Window System rendszerekhez készült magyar billentyűzetkiosztás-fájl felülbírálása.

  1. Töltsd le az xkb-hu.txt fájlt.
  2. Másold be a fájlt az xkb rules könyvtárába „hu” néven (felülírva a régit). Pl. így:
    sudo cp xkb-hu.txt /usr/share/X11/xkb/rules/hu
  3. Érvényesítsd a változásokat. (Ha az X-et újraindítjuk, akkor erre nincs szükség,
    feltéve, hogy a magyar billentyűkiosztás van érvényben.) Pl. így:
    setxkbmap -layout hu -variant nodeadkeys

Építőelemek fordításai

module – modul
Ezesetben nem merült fel más lehetőség, a Drupal funkcionalitását kiegészítő elemeket moduloknak nevezzük.
theme – smink
Ekörül alakult ki a legkomolyabb eszmecsere. Felmerültek még: arculat, téma, stílus, megjelenés, sablon, maszk. A sablon és a stílus a Drupal megjelenítési rendszerének más elemeit jelölik, ezért foglalt szavak. A téma a subject szó fordításaként, illetve a fórum topic (fórum téma) fordításaként már szerepel a Drupalban. Az arculat nem fedi a Drupal által biztosított lehetőségeket, túl merev a testreszabhatósági képességekkel összehasonlítva. A maszk elrejtést szolgál, és nem a felület színesítésére utal. A megjelenés túlságosan is lapos, általános érvényű.
theme engine – sminkmotor
Sablon alapú sminkek készítésére használt függvénygyűjtemények. Az alapcsomagban az xtemplate (Drupal 4.7.0-tól kezdve a phptemplate) sminkmotor található.
template – sablon
Egy adott sminkmotor számára készült HTML előállítására használt sablon.
style – stílus
Egy adott sablonhoz, illetve sminkhez készült CSS, képek és egyéb fájlok gyűjteménye, melyek a smink illetve sablon által adott HTML kódhoz színes megjelenést rendelnek.

Tartalomtípusok fordításai

node – tartalom
A node a Drupal tartalomkezelésének alapegysége, minden típus ezt egészíti ki, ruházza fel újabb lehetőségekkel. A legtöbb esetben sikerült megtartani a „tartalom” fordítást, de ahol nagy koncentrációban fordult elő, ott a „node” elkerülése nem volt lehetséges.
story – írás
A legegyszerűbb, és ebből következően a legsokoldalúbb típus. Nagy ötletelés előzte meg ennek a fordítási változatnak a kiválasztását. Felmerültek még: történet, közlés, közlemény, sztori. Végül a típus általánosságát leginkább kifejező „írás” változatra esett a választás.
page – oldal
Az „oldal” típus segítségével lehet új oldalakat felvenni a webhelyre. Ez gyakorlatilag megegyezik az írás típussal, de különálló léte lehetővé teszi, hogy saját besorolást kaphassanak az ilyen tartalmak. Jellemző, hogy az oldalakon a beküldési információ nem jelenik meg – ez a sminkben állítható.
book page – könyvlap
A közösségi könyv modul tartalomtípusa, a tárolt verziókhoz megjegyzések fűzését teszi lehetővé, és a könyvben elfoglalt hely beállítását biztosítja.
blog post, blog entry – blogbejegyzés
A blog (webnapló) modul tartalomtípusa.
forum topic – fórumtéma
A fórumban egy téma elindítását lehetővé tevő tartalomtípus.

Tartalmak tulajdonságainak fordítása

author – szerző
A tartalom beküldője.
published – közzétett
A webhelyen megjelenő tartalom, az arra jogosult felhasználók megtekinthetik.
unpublished – rejtett
A webhelyre küldött, de még közzé nem tett, vagy korábban már közzétett, de jelenleg rejtett tartalom (a közzétett ellentéte).
sticky – kiemelt, az oldal tetejére
A dátumtól vagy más sorrendezéstől függetlenül az oldalak tetejére emelt tartalom.
CsatolmányMéret
xkb-hu.txt14.16 KB

Fordítási segédlet

A localize.drupal.org webhelyen a Localization Server modul kezeli a fordításokat. Mivel nem mindenki ismeri tüzetesen ennek működését, legyen itt pár szó arról, hogyan lehet valaki hatékony a fordításokban. Először is azt kell tudni, hogy ez a modul önálló karaktersorozatokat kezel. Ebből az következik, hogy ha egy szöveg már előfordult bármelyik modulban, annak egyéb modulokban történő előfordulásait nem tekinti új szövegnek. Tehát egy karaktersorozatnak (pl. „Undo”) pontosan egy fordítása lehet, függetlenül attól, hogy mely modulokban fordul elő. (Ez a Drupal 7 megjelenésével már nem így lesz.)

Tehát, így működik a Localization Server, amikor valaki beküld egy fordítási fájlt:

  • egyesével végigolvassa a beküldött karaktersorozatokat;
  • megnézi, hogy az angol verzió szerepel-e az adatbázisban;
  • ha nem szerepel, akkor a fordítást egyszerűen eldobja;
  • ha szerepel, és a beküldött fordítás megegyezik az aktuális fordítással, akkor nem tesz semmit;
  • ha szerepel, és a beküldött fordítás nem egyezik meg az aktuális fordítással, vagy nincs is még lefordítva az adott karaktersorozat, akkor javaslatként felviszi.

Milyen problémák adódhatnak ebből?

  • Ha a fordítás nem a kérdéses modul legfrissebb változata alapján készült, akkor előfordulhat, hogy a fordítás nagy része felesleges munka volt. Csak a modulok legfrissebb 5-ös, és 6-os változata szerepel a kiszolgálón, illetve az újabb kiadások folyamatosan kerülnek fel.
  • Felesleges ajánlás érkezik, ha a fordító nem friss a fordítottság tekintetében. Egy régebbi modul csomagjában lévő fordítás kiegészítése nem a leghatékonyabb mód, mivel ekkor már esetleg kijavított szövegekre érkezik be ismét a régi (tehát a hibás) ajánlás. A már lefordított szövegekre csak indokolt esetben célszerű új ajánlást beküldeni. Például az „Undo” esetében az aktuális fordítás a „Visszavonás”. Hiába küldi be valaki, hogy szerinte „Visszavon”, „Mégsem”, stb., ezek nagy valószínűséggel el lesznek utasítva.

Miért? Mert mint fentebb szó volt róla, 1 karaktersorozatnak 1 fordítása lehet jelenleg, de ezt rengeteg modul használhatja Például az „Undo” esetében a dokumentáció írásakor:

  • notifications: 6.x-1.1 (2)
  • translation_overview: 6.x-1.4 (2), 6.x-2.0-beta2 (4), 6.x-2.0-beta3 (2),
    6.x-2.0 (2)
  • drupal: 6.9 (4), 6.10 (4), 6.11 (4), 6.12 (4)
  • wysiwyg: 6.x-1.1 (3)

Ha el lenne fogadva az újonnan beküldött szöveg, akkor az a fenti modulok mindegyikében módosulna, és ez nem feltétlenül jelentene jót. Bár volt már rá példa, de elég ritka. Tehát, akkor hogy a leghatékonyabb a fordítás?

  • Ha még nincs, akkor az első lépés a felhasználói profilok létrehozása a drupal.org és a localize.drupal.org webhelyeken, majd csatlakozás a magyar csapathoz, ahogy az a Részvétel a fordításban részben szerepel.
  • A fordítási kiszolgáló export fülén exportálni kell a kérdéses modul legfrissebb (vagy az összes) változatát a „Translation” és az „All in one file” opciók használatával. Még ha a modulhoz soha senki nem küldött be semmit, már biztosan lesz benne néhány - néha nem is kevés - szöveg, amely le van fordítva. Egyrészt ezeket már nem kell lefordítani, másrészt nem kell új javaslatként beküldeni sem, ha csak nem egyértelmű elírásról van szó.
  • A fordítói levelezési listán célszerű bejelenteni egy modul fordításának elkezdését. Ugyanis lehet, hogy valaki már fordítja, így a felesleges munka elkerülhető.
  • Itt jön az érdemi rész, vagyis a maradék szöveg lefordítása a fordítási irányelveknek megfelelően. Célszerű minden szöveget lefordítani, hisz csak akkor éri meg foglalkozni egy modullal, ha az elkészült fordítás közzé is tehető.
  • Az elkészült fordítást importálni kell a fordítási kiszolgáló import fülén.
  • A fordítói levelezési listán be kell jelenteni, hogy a fordítás elkészült. Amint valamelyik adminisztrátor ideje engedi, a fordítás átnézésre, elfogadásra, és közzétételre kerül. Itt kell megjegyezni, hogy amennyiben valaki nagyon jó fordításokat javasol, és ezt nagy mennyiségben, rendszeresen követi el, akkor természetesen rövid időn belül az adminisztrátorok között találhatja magát.