Kapitel 2. Brug af KBabel

Oversætter: Erik Kjær Pedersen

Indholdsfortegnelse

Indledning
Editor
Flere KBabel-egenskaber
Avanceret oversættelse
Navigation i PO-fil
Smart redigering
Automatisk oversættelse
Efterprøv din oversættelse
Stavekontrol af oversættelsen
Oversættelse af XML, HTML, ...
Vis forskellen
Flertalsformer

Indledning

Sædvanligvis skrives programbeskeder og dokumentation på engelsk. Ved brug af et sæt omgivelser lavet af værktøjer og biblioteker er det imidlertid muligt at få dine foretrukne programmer, at tale dit indfødte ikke-engelske sprog. Denne tilpasningsprocessen til et bestemt sprog kaldes lokalisering. Lokaliseringsprocessen inkluderer at oversætte programmets brugerflade og dokumentation til de forskellige sprog, som brugerne har brug for og, i visse lande og områder at få inddata og uddata til at tilpasse sig til bestemte konventioner. KBabel er et værktøj, der hjælper dig i lokaliseringsprocessen med at få et programs brugerflade til at tale mange sprog.

Hvert program der er forberedt til internationalisering, gør en eller flere besked-katalog-filer tilgængelige for oversættelse. Endelsen for disse filer er .pot. POT er en forkortelse for “Portable Object Template” (overførbar objekt skabelon).

Hver oversætter tager en kopi af en af disse POT-skabeloner og giver sig til at udfylde de blanke felter: hver besked bliver oversat til det ønskede sprog. Filen der indeholder den oversatte tekst refereres til som en PO-fil (Portable Object).

Når alle meddelelser er blevet oversat så kompileres PO-filen til et maskindlæsbart binært format, som er kendt som en MO-fil (Machine Object, maskinobjekt). Disse filer, som opbevares med filendelsen .mo, fungerer som en database for at minimere tiden det tager for programmet at slå hver oversat meddelelse op.

Et spørgsmål trænger sig på: behøver jeg at vide hvad der findes inde i en PO-fil selvom jeg har KBabel? Svaret er, uden tvivl, ja. Der findes situationer hvor en meddelelsemappe kan være fejlagtig, og skal rettes i hånden. De fleste af disse problemer er de hadede CVS- eller SVN-konflikter som opstår når en oversættelsesproces koordineres med et versionshåndteringssystem såsom CVS eller Subversion (SVN). KBabel kan ikke hjælpe dig særlig meget hvis et sådant problem opstår, så en teksteditor og en vis kundskab om PO-filer behøves. Lad os se hvordan en PO-fil er opbygget.

PO-filer består af par af beskeder—en msgid og en msgstr. msgid er tekst på engelsk og msgstr er teksten oversat til det aktuelle sprog. Teksten der følger med hver msgid og msgstr er indelukket i C-lignende dobbelt-citationstegn Et eksempel taget fra en PO-fil for Noatun, er msgid "Open a Playlist"

Tomme linjer og linjer der begynder med # bliver ignorerede. Linjer der starter med et # repræsenterer kommentarer og er en nyttig måde at give en bemærkning med detaljer om filen som denne besked skal bruges i og, i tilfælde af programmørerne, til at sørge for ekstra kommentarer der kan hjælpe med oversættelsen. KBabel viser disse kommentarlinjer for hver besked.

I mange tilfælde er det første msgid-msgstr par i PO-filen en falsk indgang (der optræder som PO-fil overskrift) der indeholder forskellige oplysninger om de oversatte PO-fil, såsom programmets navn, oversættelsesdato, oversætternavn og så videre.

En nyttig funktion kaldes flertalsformer. Engelsk bruger kun en entals- og en flertalsform af substantiver, f.eks. “1 file” og “10 files”. Det gør at mange udviklere tror at verden er så enkel, og at de kan bruge meddelelser såsom “Do you want to delete %1 file(s)?”, hvor %1 angiver antal filer som skal fjernes. Men dette er i grunden fejlagtigt. For oversættelse til slovakisk behøves tre forskellige former for meddelelsen. Dette antal er forskelligt for forskellige sprog og selvom det er det samme, som f.eks. for tjekkisk hvor tre former også bruges, så kan reglerne for at vælge formen som skal bruges være meget forskellige. Flertalsformer i PO-filer er til for at hjælpe til med det.

Bemærk

KDE-udviklerne har valgt en anden implementering af flertalsformer end GNU gettext, og introducerede sit eget format for at håndtere dem. Det planlægges at bruge GNU-gettext flertalsformer i KDE version 4.