Az i18n egy nemzetköziesítési rendszer, amit egy alkalmazás, vagy projekt nemzetköziesített változatához szoktak ajánlani. Az alkalmazásokkal ugyanis az a baj, hogy csak azt a nyelvet támogatják, amelyiken megírták őket; ez észrevehető a cimkéken, a menükben és több helyen is a program használata közben. A nemzetköziesítés célja, hogy alkalmazásokat és könyvtár-funkciókat biztosítson a felhasználók anyanyelvén; így az eredeti nyelv nem gátolja többé a felhasználót az alkalmazás kihasználásában, és kényelmesebbé is teszi azt.
A KDE-nek, mint az egyik legkorszerűbb asztali környezetnek, számos célja közül az egyik legfontosabb az, hogy a felhasználóknak alkalmazásokat biztosítson anyanyelvükön. Valamint, hogy egyszerűbbé tegye a fejlesztők számára azt, hogy alkalmazásaikat bármelyik támogatott nyelven terjeszteni tudják.
Technikailag ez már megvalósult az KDE File System Standard-al, amely lokális támogatást nyújt a nyelveknek a
dokumentációs terminológiában, és elősegíti az alkalmazások nemzetköziesítését a KLocale
KDE-mag könyvtár használatával. Ez az osztály
felel minden nyelvi megjelenésért, amely beállításra kerül a KDE Control Centerben.
A fejlesztőnek mindössze két dolgot kell ismernie ahhoz, hogy alkalmazása kihasználja ezt a tulajdonságot:
cdx
kapp.h// -ot, ha valahol látható szöveg van az alkalmazásában, pl. a forrás állományokban szerepel a
QLabels.kapp.h
által biztosított i18n()
makróval, hogy a fordítás lehetővé váljonkapp.h
által biztosított klocale
makrót. Tulajdonképpen ez minden, amire a kód írása közben figyelnie kell. Tartsa még szem előtt azt is, hogy a KConfig
által használt configurációs szövegrészeket nem kell nemzetköziesítenie,
mert egyrészről ez nem lényeges, másrészről pedig ezek nem olvasnak be értékeket.
A KDevelop megkönnyíti a fejlesztők életét azzal, hogy anyanyelvi támogatást nyújt alkalmazásaikhoz. Amikor
új KDE projektet hoz létre, akkor a projekt főkönyvtárába bekerül egy po
nevű könyvtár. A programgenerálás befejeztével
ide kerül az ön által létrehozott <application>.pot állomány. A .pot állomány ekkora már minden olyan szövegrészt tartalmaz, amelyet az i18n() makróval állítottak be, így
önnek már csak a saját kódját kell beírnia a makró használatával. Időről időre, végre kell hajtania egy
"Projekt"->"Üzenetek készítése és beágyazása"-t, ami magától frissíti .pot állományt a megfelelő makrók segítségével.
Egy nyelv, projekthez való hozzáadásához válassza a "Projekt"->"Fordítási állomány hozzáadása"-t, ami megnyitja a nyelvválasztás dialógust. Válassza ki a
kívánt nyelvet és nyomjon OK-t. Ezzel a megfelelő <lang>.po állomány bekerül a po
könyvtárba. Ezután kezdje el
lefordítani a .po állományt úgy, hogy kiválasztja azt a po könyvtárból a Real File Viewer-ben, vagy az LFV-ből a "Fordítások" útvonalon. Ha telepítette a
KTranslator -t, akkor az megnyitja az állományt a "Kellékek" ablakban, egyébként pedig szövegállományként a fejléc/forrás
ablakban lesz szerkeszthető.
A KTranslator folyamatosan kutatja a már létező fordításokat az ön helyi KDE installációjában, így nagymértékben megkönnyíti a munkát,
mert a meglevő fordítások így felhasználhatók.
A kézzel történő szerkesztéshez néhány példa:
#: kscribble.cpp:619
msgid "Opens an existing document"
msgstr ""
A fentiek azt mutatják, hogy a szövegrészlet a kscribble.cpp
állomány 619. sorából lett kinyerve. A msgid
és a msgstr
függelékek,
amelyek információt hordoznak a fordításhoz; a msgstr
fogja a lefordított szövegrészt tartalmazni. Figyelnie kell még a ESCAPE szekvenciákra,
mint a \n vagy \t, melyeknek szintén bele kell kerülnie a fordításba. Egy német fordítás tehát így nézne ki:
#: kscribble.cpp:619
msgid "Opens an existing document"
msgstr "Öffnet ein existierendes Dokument"
Ez minden, amire a fordításnál figyelnie kell; miután elkészült, mentse el az állományt. A make, po könyvtárban történő furttatásakor, az üzenetállományok feldolgozásra kerülnek, és hiba jelentkezhet, amennyiben a szövegrészeket nem fordította elég következetesen; pl. ESCAPE szekvenciák hiányoznak. Ha ez történik, akkor javítsa ki a hibát és győződjön meg arról, hogy a make hiba nélkül fut.
Ezen kívül legyen óvatos a szövegrészeken belül található '&' jel fordításával. Az '&' jel utáni betűk az ALT-al együtt használva gyorsbillentyűk s, amelyek segítik a menüsorhoz való hozzáférést, vagy az előreugró elemek megjelenését, hogy a keyboard focus gyorsabban válthasson át a kiválasztott elemre. Ha ugyanaz a gyosbillentyű ugyanazon a keyboard focus területen tűnik fel (ami egyszer lehet a főelem, másszor egy dialógus), akkor az első elem után a többit már nem érhetjük el ugyanazzal a gyosbillentyűvel . Így még az is a fordítón múlik, hogy hogyan lesz használható az alkalmazás a fordított nyelven. Arra sincsen semmiféle biztosíték, hogy az eredeti betű megtalálható a fordításban, így a fordítónak nagyon óvatosan kell ezt a problémát kezelnie, és a lefordított alkalmazás tesztelésével kell meggyőződnie arról, hogy hibák bioztosan ne forduljanak elő.
A KDE Csoport számos olyan kapcsolatot biztosít a fejlesztőknek, amelyek a KDE projekten belül végeznek fordításokat. Ezek nyelvek szerint vannak csoportokba szervezve. A jelenlegi listát és információt arról, hogy kik végzik a fordításokat a http://www.kde.org címen találja meg.
Az alábbi lista az 1999. március 6-án aktuális kapcsolatfelvételi címeket tartalmazza. Amennyiben csatlakozni szeretne valamelyik csoporthoz, írjon közvetlenül annak koordinátorához levelet.
A KDE fordítását Juraj Bednar mailto:bednar@rak.isternet.sk és Matthias Elter me@kde.org koordinálja.
Jelentkezhet a KDE nemzetköziesítési levelezési listájára, ha a kde-i18n-doc@kde.org -ra, ha küld egy levelelet a kde-i18n-doc-request@kde.org címre, a tárgyhoz beírva a "subscribe" szót.
Mielőtt nekikezdene a fordításnak, lépjen kapcsolatba a megfelelő fordító csoporttal annak érdekében, hogy kétszeri munkavégzés elkerülhető legyen.
team coordinators: Jań-Mai DRAPIER jdrapier@club-internet.fr website: http://perso.club-internet.fr/jdrapier
team coordinators: Sebastiŕ Pla sastia@redestb.es
team coordinators: Miroslav Flídr flidr@kky.zcu.cz
team coordinators: Erik Kjćr Pedersen erik@binghamton.edu
team coordinators: Thomas Diehl th.diehl@gmx.net website: http://www.dtp-service.com/kde/de/ mailing list: send a mail with 'subscribe' in the subject line to: kde-i18n-de-request@kde.org Webforum for discussions and user feedback: http://www.dtp-service.com/discus_d
team coordinators: Theodore J. Soldatos theodore@eexi.gr
team coordinators: Wolfram Diestel diestel@rzaix340.rz-uni-leipzig.de
team coordinators: Boris Wesslowski, Alonso Lara Boris@Wesslowski.com website: http://members.xoom.com/keko5/ mailing list: send a mail with 'subscribe' in the subject line to kde-es@kde.org
team coordinators: Hasso C. Tepper hasso@ewsound.estnet.ee
team coordinators: Kim Enkovaara kim.enkovaara@iki.fi
team coordinators: Francois-Xavier Duranceau Francois-Xavier.Duranceau@loria.fr website: http://www.loria.fr/~durancea/kde/wip-apps.html mailing list: send an empty mail to: kde-traduc-fr-subscribe@egroups.com
team coordinators: Erez Nir erez-n@actcom.co.il
team coordinators: Vladimir Vuksan vuksan@veus.hr
team coordinators: Marcell Lengyel miketkf@yahoo.com website: http://sophia.jpte.hu/~kde
team coordinators: Logi Ragnarsson, logir@imf.au.dk Thorarinn R. Einarsson, thori@mindspring.com Bjarni R. Einarsson, bre@netverjar.is Hrafnkell Eiriksson, hkelle@rhi.hi.is Gudmundur Erlingsson, gudmuner@lexis.hi.is Richard Allen ra@hp.is
team coordinators: Andrea Rizzi rizzi@kde.org
team coordinators: LinuxKorea Co. kde@linuxkorea.co.kr
team coordinators: Sasha Konecni sasha@msi-uk.com
team coordinators: flidr@CyberGate.zcu.cz flidr@CyberGate.zcu.cz
team coordinators: Hans Petter Bieker zerium@webindex.no
team coordinators: Piotr Roszatycki dexter@fnet.pl
team coordinators: Pedro Morais pmmm@camoes.rnl.ist.utl.pt
team coordinators: Elvis Pfützenreuter epx@netville.com.br
team coordinators: Paul Ionescu ipaul@romsys.ro
team coordinators: Denis Y. Pershin dyp@inetlab.com
team coordinators: Juraj Bednar bednar@isternet.sk mailling list: send a mail with 'subscribe' in the subject line to: sk-i18n@rak.isternet.sk
team coordinators: blazzupancic@hotmail.com blazzupancic@hotmail.com
team coordinators: Anders Widell d95-awi@nada.kth.se
team coordinators: Gorkem Cetin gorkem@linux.org.tr
team coordinators: Wang Jian larkw@263.net
team coordinators: Chou Yeh-Jyi ycchou@ccca.nctu.edu.tw