next up previous contents
Next: About this document ... Up: Omsetjarhandbok for Skulelinux Previous: Omsetjingsarbeidet   Contents

Subsections


Teknisk bakgrunn

Meir erfarne omsetjarar vil nok ha god nytte av å skjøna korleis omsetjingsfilene er bygde opp. Dette er den «tørre» teorien, som du eigentleg ikkje treng kunna for å hjelpa til med omsetjingane.


Gettext

Gettext er eit svært vanleg format for omsetjing av fri programvare. Alle tekstane i eit program vert lagde i ei malfil (2.1.3) som igjen kan omsetjast til mange språk. Før omsetjinga kan brukast i programmet må den omsette fila kompilerast (2.1.5), men sjølve omsetjingsprosessen er stort sett fri for tekniske vanskar.


Strukturen i ei PO-fil

Ei PO-fil startar oftast med eit par kommentarlinjer, med namn på omsetjarane, kva for program fila høyrer til og liknande. Desse linjene startar med teiknet «#». Kommentarane kan innehalda kva som helst. Du finn eit vanleg døme i kapittel [*].

Før sjølve omsetjinga kjem òg ein del informasjon om fila, som til dømes når ho sist vart endra og kven som sist arbeidde med omsetjinga. Vanlegvis sørgjer omsetjingsprogrammet for å halda denne informasjonen oppdatert.

Resten av fila inneheld sjølve omsetjinga. Den engelske teksten vert kalla «msgid», og den omsette heiter «msgstr». I fila ser det om lag slik ut:

#: main.cpp:21 
msgid "Hello" 
msgstr "Hallo"
Den første linja, som startar med kommentarteiknet, er ein referanse til sjølve programkoden. Denne informasjonen kan vera nyttig dersom du vil undersøkja akkurat kva ein særskild tekst vert brukt til. Vanlegvis treng du ikkje bry deg om denne kommentaren i det heile.

konqueror.po[*] er eit døme på ei PO-fil.Dei rare teikna du ser i staden for æ, ø og å er UTF-8-kodinga for desse teikna. Omsetjingsprogramma handterer desse teikna heilt fint.


Malfiler

Dei engelske originaltekstane ligg i såkalla malfiler som er genererte frå kjeldekoden til programmet. Ei malfil er ganske enkelt ei PO-fil der alle omsetjingane er tomme. Fila har eit namn som sluttar på «.pot», til dømes konqueror.pot.


Oppdatering av omsetjingar

Når eit program kjem i ny versjon, er programtekstane oftast endra. Alt frå nye funksjonar til retting av skrivefeil i originalprogrammet fører til at omsetjinga må oppdaterast. Heldigvis hjelper Gettext oss slik at me ikkje treng gjera alt på nytt.

Ei gammal omsetjing kan automatisk integrerast med ei ny malfil ved hjelp av kommandoen msgmerge:

msgmerge -o ny.po gammal.po ny-malfil.pot
Alle tekstane som er like i den nye og den gamle omsetjinga vert automatisk sette inn i den nye fila. Dei tekstane som er nesten like (kanskje berre ein skrivefeil er retta) vert òg automatisk omsette, men samstundes markerte som «fuzzy», eller uklare. Det tyder at omsetjaren manuelt må kontrollera omsetjinga:

#, fuzzy 
msgid "Hello" 
msgstr "Hallo"
I dette tilfellet kan omsetjaren ganske enkelt fjerna linja med «fuzzy», men andre gonger kan det henda at omsetjinga må endrast. (Automatikken er slett ikkje perfekt, og kan ta fullstendig feil!)

pixie.po[*] er eit døme på ei po-fil som inneheld både uklare og ikkje omsette programtekstar.


Kompilering

PO-filene kan ikkje brukast direkte i det ferdige programmet, men må kompilerast til «MO-filer». Det vert gjort med programmet msgfmt. Når du arbeider med Skulelinux treng du vanlegvis ikkje kompilera filene sjølv. Med jamne mellomrom vert det nemleg laga oppdaterte pakkar frå Skulelinux-CVS. Når omsetjinga er sjekka inn i CVS, kan du difor etter kort tid installera ho automatisk på ei Skulelinux-maskin.


Hjelpefiler


Docbook

Docbook er eit av dei vanlegaste formata for hjelpetekstar, og er brukt av mellom anna KDE. Formatet er XML-basert og kan lett konverterast til andre format, til dømes HTML for vising i ein nettlesar eller PDF for utskrift på papir.

Dersom du kjenner HTML, vil du kjenna att strukturen i eit Docbook-dokument. All tekst ligg innanfor «taggar», til dømes er «<para>Litt tekst.</para>» eit avsnitt (eng. «paragraph») der «<para>» er opningstaggen og «</para>» er avsluttingstaggen. Eit anna døme er «<email>ivar@aasen.no</email>», som er ei e-postadresse.

Som omsetjar treng du ikkje vita kva alle taggane tyder, du treng berre setja om teksten mellom taggane. Sjølve taggane visest aldri i den ferdige hjelpeteksten, og skal vera like på engelsk og norsk.

Eit anna viktig Docbook-element er såkalla «entitetar». Det er plasshaldarar som vert bytte ut med annan tekst i den ferdige teksten. Eit døme er «&konqueror;», som vert bytt ut med programnamnet «Konqueror». Ved alltid å bruka denne entiteten sikrar ein at namnet vert skrive likt alle stader. «&licence;» er ein annan entitet, som vert bytt ut med ein lang lisenstekst. Sidan teksten er lang, sparar dette ein del plass. Dessutan er det svært viktig at lisensen er nett lik overalt. Dersom lisensteksten av ein eller annan grunn skal endrast, treng ein berre endra teksten på ein einaste plass.


Docbook i PO-format

I KDE har ein funne ut at Docbook er eit litt tungt format å jobba med. Det finst ikkje eigne verktøy for omsetjing, så ein er nøydd til å bruka enkle skriveprogram. Dessutan er det vanskeleg å halda filene oppdaterte etter kvart som dei engelske originalfilene vert endra. Løysinga har vorte å konvertera Docbook-filene til PO-format, slik at dei kan behandlast i KBabel.

Ei såkalla poxml-fil er oppdelt i logiske einingar, gjerne eitt avsnitt i kvar programtekst. I KBabel kan ein dra nytte av spesielle funksjonar som automatisk innsetjing av taggar (Ctrl-Alt-N) og diff-modus (3.6).


Filstruktur


KDE

KDE er ein stor programpakke som omfattar alle slags program. Difor er KDE delt inn i ei rekkje modular, med til dømes grafikkprogram, Internett-program, nyttige program og unyttige program. For omsetjarar er dette veldig fint, sidan ein kan konsentrera seg om å setja om berre dei viktigaste delane. Dessutan er det mykje lettare å ha oversikt over 14 små og store modular enn drygt 300 enkeltfiler.


Viktige modular

KDE inneheld mange program som liknar på kvarandre, med til dømes same menyane (Fil, Rediger, Hjelp, ...). Alle dei tekstane som er felles for mange program er samla i ei stor fil, kdelibs.po. Der kan desse setjast om ein gong for alle.

Ei anna sentral fil er desktop.po, som mellom anna inneheld alle programnamna slik me ser dei i K-menyen.

Den viktigaste KDE-modulen er kdebase. Her finn du grunnleggjande KDE-program som Konqueror, Kate (skriveprogram) og kontrollsenteret. Eit par av dei andre viktige modulane er:

kdenetwork
Nettverks-/Internettprogram, til dømes e-postlesaren KMail.
kdeutils
Ein del nyttige små og store program.
koffice
Kontorpakken KOffice, med tekstbehandlingsprogram, rekneark og mykje meir.


Andre program

KDE er ikkje det einaste me jobbar med, sjølv om det kanskje er det prosjektet Skulelinux legg mest arbeid ned i. Skulelinux har vorte eit samleprosjekt for svært mykje av det som går føre seg av omsetjing av fri programvare til norsk. I Skulelinux-CVS finn du katalogen gnome-i18n, der GNOME-omsetjingane ligg. GNOME er ein programpakke som tilsvarar KDE. I katalogen others ligg ein del omsetjingar av enkeltprogram der Skulelinux har ein finger med i spelet.


next up previous contents
Next: About this document ... Up: Omsetjarhandbok for Skulelinux Previous: Omsetjingsarbeidet   Contents
Gaute Hvoslef Kvalnes 2002-05-07