Oversættelse af Debians websider

For at gøre oversætternes arbejde så let som muligt, genereres siderne lidt anderledes end mange af dem du måske er vant til. Websiderne genereres faktisk ved hjælp af kildekode indeholdende wml-kommandoer. Der er separate mapper til hvert sprog.

Hvis du planlægger at begynde på en helt ny oversættelse af Debians websted, så se afsnittet om at starte på en ny oversættelse.

Oversættelse af individuelle sider

Vi bruger WML til adskillelse af en sides specifikke indhold og de elementer som er fælles for mange sider. Dette betyder at man skal redigere visse WML-filer fremfor HTML-sider. Brug CVS til at hente den aktuelle kildekode. Du skal hente mindst to mapper, webwml/english/ og webwml/<sprog>/.

For at oversætte en enkelt side fra engelsk til dit sprog, skal den originale .wml-fil oversættes og placeres i det andet sprogs mappe. Den relative sti og navnet skal være det samme som i mappen english så linkene fortsat vil fungere.

Oversættelses-headere

Det anbefales også kraftigt at oversætteren føjer yderligere en linie til headerne efter den sidste #use-kommando, for at registrere det nøjagtige versionsnummer på den originale fil, som blev oversat, så vil opdateringer være nemmere). Linien ser således ud: #use wml::debian::translation-check translation="x.y"

Nogle oversætterhold anvender også denne linie til at angive den officielle oversætter af hver side. På den måde vil man automatisk modtage e-mails, når den engelske udgave af en side man vedligeholder er blevet opdateret og hvor oversættelsen nu skal opdateres. Til det formål tilføjes blot oversætterens navn som vedligeholder, sidst på #use-linien, så den kommer til at ligne denne: #use wml::debian::translation-check translation="x.y" maintainer="dit navn". copypage.pl gør dette automatisk, hvis du opsætter miljøvariablen DWWW_MAINT eller anvender kommandolinjeparameteret -m.

Man kan også fortælle robotten, hvem man er, hvor ofte man ønsker at modtage automatiske e-mails og deres indhold. Til det formål kan du (eller din koordinator) redigere filen webwml/language/international/sprog/translator.db.pl i CVS. Syntaksen skulle være til at forstå og man kan det franske oversætterholds fil som udgangspunkt, hvis den ikke findes i ens eget sprog endnu. Robotten kan sende flere forskellige former for oplysninger og for hver af dem, kan man angive hvor ofte det skal sendes. De forskellige oplysninger er:

Dernæst, for hver af dem, kan værdierne være: 0 (nyere), 1 (månedlig), 2 (ugentlig) or 3 (daglig).

Et eksempel:

                'Martin Quinson' => {
                        email       => 'martin.quinson@tuxfamily.org',
                        summary     => 3,
                        logs        => 3,
                        diff        => 3,
                        tdiff       => 0,
                        file        => 0
                },

Header'en på websiderne kan nemt fremstilles ved hjælp af skriptet copypage.pl i webwmls root-mappe. Skriptet kopierer siden til dens rette placering, opretter mapper og makefiler om nødvendigt, samt tilføjer automatisk den nødvendige header. Du får en advarsel, hvis en kopieret side allerede findes i arkivet, uanset om det er fordi siden er blevet fjernet (fordi den var for gammel) eller fordi nogen allerede har commit'et en oversættelse og din lokale kopi af arkivet ikke er ajourført.

For at begynde at anvende copypage.pl skal du først opsætte filen language.conf, som skriptet anvender til at afgøre hvilket sprog du oversætter til. Filen behøver kun at indeholde en linje med sprogets navn. Du kan også opsætte sproget ved at anvende miljøvariablen DWWW_LANG og anvende miljøvariablen DWWW_MAINT til at angive dit navn, så det vil blive føjet til header'en på wml-filer genereret som oversættelsens vedligeholder. Der er også anden funktionalitet tilgængelig i skriptet, bare kør det uden parametre for at få hjælp.

Når du har kørt for eksempel ./copypage.pl fil.wml, oversættes den originale tekst i filen. Kommentarer i filen angiver hvorvidt der er ting som ikke skal oversættes; respektér dem. Foretag ingen unødvendige ændringer af formatteringen; hvis noget skal rettes, skal det formentlig også rettes i originalen.

Sideopbygning og -udgivelse

Da vi anvender indholdsforhandling ("content negotiation"), hedder HTML-filerne ikke fil.html, men fil.<sprog>.html, hvor <sprog> er to-bogstavskoden for sproget, jævnfør ISO 639 (for eksempel da for dansk).

Du kan generere HTML-filer fra WML ved at køre make file.<sprog>.html. Hvis det fungerer, kontroller da om syntaksen er helt korrekt med weblint file.<sprog>.html.

Websiderne genereres fra CVS på serveren www-master, og denne proces er stort set sikret mod fejl. Hvis du overfører en ødelagt fil til din oversættelses øverste niveau (for eksempel index.wml på det øverste niveau), vil det dog stoppe genereringsprocessen og forhindre alle andre opdateringer af webstedet. Vær særligt omhyggelig med disse filer.

Når en side er klar til brug, kan du overføre den til CVS. Hvis du har rettigheder til selv at gøre det, udføres cvs commit; hvis ikke, sendes siden til en eller anden med skriveadgang til repository'et.

Begynde på en ny oversættelse

Hvis du vil begynde på en oversættelse af Debians websider til et nyt sprog, så send en e-mail (på engelsk) til os på webmaster@debian.org.

Først og fremmest skal du sikre dig at du har foretaget en korrekt "checkout" af vores kildekode-træ, som beskrevet på vores side med introduktion til CVS.

Efter du har foretaget en checkout af mappen webwml/ og (mindst) webwml/english/, begynd da med at oprette en ny mappe til dine oversættelser, på samme niveau som english/ og de andre sprog. Navnet på oversættelsesmappen skal være på engelsk og kun skrives med små bogstaver (for eksempel "german" og ikke "Deutsch").

Kopier filerne Make.lang og .wmlrc fra mappen english/ til den nye oversættelsesmappe. Disse filer er afgørende i opbygningen af din oversættelse fra WML-filerne. De er lavet således, at når du har kopieret dem til den nye sprogmappe, skal kun følgende ting ændres:

  1. Variablen LANGUAGE skal ændres i filen Make.lang.
  2. Variablerne CUR_LANG, CUR_ISO_LANG og CHARSET skal ændres i filen .wmlrc. Tilføj CUR_LOCALE til filen, hvis der er brug for den til sortering.
  3. Nogle sprog kan have brug for yderligere behandling for at håndtere tegnsæt. Dette kan gøres ved at anvende WMLs parametrene --prolog og --epilog. Brug variablerne WMLPROLOG og WMLEPILOG i Make.lang for at gøre dette.
  4. Variablen LANGUAGES skal ændres i filen webwml/Makefile på det øverste niveau, så dit sprog vil blive opbygget sammen med de andre på www.debian.org. Vi foretrækker at du overlader denne specifikke ændring til webmasterne, da du måske ikke er opmærksom på at din oversættelse ikke vil fungere når den lige er "checked out" fra CVS, hvilket kan få opbygningen af resten af webstedet.

Når det er gjort, tilføjes den følgende linie til en ny fil med navnet "Makefile" i denne mappe:

include $(subst webwml/dinsprogmappe,webwml/english,$(CURDIR))/Makefile

(Naturligvis skal dinsprogmappe udskiftes med navnet på dit sprogs mappe.)

I dit sprogs mappe oprettes nu en undermappe med navnet "po", og den samme Makefile kopieres til dette undermappe (cp ./Makefile .).

I mappen po/ udføres make init-po for at fremstille det indledende sæt *.po-filer.

Nu hvor du har oprettet skelettet, kan du gå i gang med at tilføje dine oversættelser af vores fælles WML-mærker (tags) som anvendes i skabelonerne. De første skabeloner som du bør oversætte, er dem der viser sig på alle websiderne, såsom ord på sidehoveder, emnerne i navigationslinjen og i sidefoden.

Begynd med at oversætte i filen po/templates.xy.po. (hvor xy er dit sprogs to-bogstavskode). Til hver msgid "etellerandet" er der som en begyndelse en msgstr "" hvor du skal indsætte oversættelsen af etellerandet i dobbelte anførselstegn efter msgstr.

Du behøver ikke at oversætte alle strengene i alle .po-filerne, du kan nøjes med dem som dine aktuelt oversatte sider har brug for. For at undersøge om du skal oversætte en streng, kan du se kommentarerne i .po-filen lige over hver msgid-linie. Hvis filen der refereres til er i english/template/debian, bør du højst sandsynligt oversætte den. Hvis ikke kan du udsætte det til senere, når du oversætte den relevante del af websiderne som kræver det.

Formålet med po/-filer er at gøre det lettere for oversættere, så de (næsten) ikke er nødt til at redigere noget i mappen english/template/debian selv. Hvis du opdager at noget er galt med måden hvorpå et eller andet er opsat, template-mappen, så sørg for at problemet løses på en generel måde (du er velkommen til at bede en anden om at gøre det for dig), frem for at commit'e selve oversættelserne i skabelonerne, hvilket (normalt) vil være et stort problem.

Hvis du er i tvivl om hvorvidt du har gjort noget på den rigtige måde, så spørg, på engelsk, på postlisten debian-www før du commit'er til CVS.

Bemærk: hvis du opdager at det er nødvendigt at foretage andre ændringer, så send en e-mail, på engelsk, til debian-www, hvor du forklarer hvad du har ændret og hvorfor, således at problemet kan blive afhjulpet.

Når skabelonskelettet er færdigt, kan du begynde med at oversætte forsiden og de andre .wml-filer. For en liste over filer som først bør oversættes, se siden med tips. Oversæt *.wml-filerne som beskrevet øverst på denne side.

Genoplivelse af forældede oversættelser

Som beskrevet i hvordan man holder oversættelser ajour, kan forældede oversættelser af webstedet blive fjernet automatisk, når der er gået lang tid uden en opdatering.

Hvis du anvender skriptet copypage.pl med en fil, der er blevet fjernet fra CVS, vil skripet nægte at kopiere siden og spørge om du vil genoplive den i stedet. Du kan finde årsagerne til, at filen blev fjernet fra CVS, ved at anvende cvs log på den fjernede fil (eller anvende webgrænsefladen, de slettede filer findes i undermappen Attic).

For at genoplive en forældet oversættelse, anvendes cvs status (eller cvs log) for at registrere versionsnummeret på den slettede udgave af filen, og dernæst udføres backwards merge.

Hvis den slettede fil eksempelvis hedder deleted.wml, og den slettede version er 1.7, er versionen før sletningen 1.6 (sletningens versionsnummer minus en). Du kan genoplive filen ved at køre:

   cvs update -j 1.7 -j 1.6 deleted.wml

Når du gør det, skal du - selvfølgelig - opdatere filen før den checker den ind igen. Ellers kan den blive fjernet igen.

Resten af historien

Beskrivelsen ovenfor vil sikkert være nok til at du kan komme i gang. Bagefter bør du læse følgende dokumenter som giver mere detaljerede oplysninger og flere nyttige oplysninger.

Vi håber at du synes, at vi har gjort arbejdet med at oversætte så let som muligt. Som allerede nævnt, hvis du har nogen spørgsmål kan du stille dem, på engelsk, på postlisten debian-www.