Översätta Debians webbsidor

För att göra översättarnas jobb så enkelt som möjligt genereras sidorna på ett lite annorlunda sätt än de flesta av er är vana vid, webbsidorna genereras med källkod som är uppmärkt med wml. Det är separata kataloger för varje språk.

Om du planerar att påbörja en helt ny översättning av Debians webbplats, se sektionen om att påbörja en översättning.

Översätta enskilda sidor

Vi använder WML för att skilja sidornas innehåll från de delar som är gemensamma för flera sidor, vilket medför att det är de specifika WML-källfilerna som måste redigeras och inte HTML-filerna. Använd Git för att hämta de aktuella källfilerna. Du behöver åtminstone hämta ut två kataloger: webwml/english/ och webwml/<språk>/.

För att översätta en enskild sida från engelska till ditt språk, måste .wml-filen översättas och läggas in i det andra språkets katalog. Den relativa sökvägen och filnamnet måste vara detsamma som i den engelska katalogen för att länkarna fortfarande skall fungera.

Översättningsrad

Det rekommenderas även starkt att översättaren lägger till en ytterligare rad i sidhuvudet efter det sista #use-kommandot för att beskriva exakt vilken commit av originalfilen som översattes, för att göra det lättare att uppdatera. Raden ser ut så här: #use wml::debian::translation-check translation="<git_commit_hash>" Vänligen notera att om du genererar den översättningsbara filen med hjälp av verktyget copypage.pl (som rekommenderas starkt), så kommer git commithashen att genereras automatiskt. Användningen av copypage.pl kommer att förklaras i följande texter.

Några översättargrupper använder också denna rad för att ange vem som är officiell översättare för varje enskild sida. Genom att göra så kan man få e-post automatiskt när den engelska sidan ändras och översättningen behöver àjourföras. För att göra det lägger du helt enkelt till ditt namn som ansvarig i slutet av #use-raden så att den ser ut så här: #use wml::debian::translation-check translation="git_commit_hash" maintainer="ditt namn". Skriptet copypage.pl kommer göra detta automatiskt om du sätter miljövariabeln DWWW_MAINT eller använder kommandoradsflaggan -m.

Sidhuvudet kan enkelt skapas genom att använda skriptet copypage.pl i webwml-rotkatalogen. Skriptet kopierar sidan till rätt plats, skapar kataloger och makefiler om så behövs, och lägger in det sidhuvud som behövs automatiskt. Du kommer varnas om en kopierad sida redan finns i arkivet, antingen för att sidan tagits bort därifrån (på grund av att den är alltför utdaterad) och lagts undan, eller för att någon redan skickat in en översättning men att din lokala kopia av arkivet inte är uppdaterad.

För att börja använda copypage.pl bör du först konfigurera filen language.conf i root-katalogen webwml, vilken den kommer att använda för att avgöra vilket språk du översätter till. Den filen behöver upp till två rader: första raden innehåller språknamnet (som swedish) och den andra kan valfritt innehålla namnet på ansvarig översättare. Du kan även sätta språket med hjälp av miljövariabeln DWWW_LANG och lagra ditt namn i miljövariabeln DWWW_MAINT så att det automatiskt kommer läggas till i huvudet i de wml-filer som genereras och på så sätt ange dig som ansvarig för översättningen. Eller som en tredje möjlighet kan du ge språket och (valfritt) underhållaren på kommandoraden via -l swedish -m"Kalle Anka" och inte använda language.conf alls. Det finns fler funktioner i skriptet, kör det utan några flaggor alls för att få hjälp.

När du har kört exempelvis ./copypage.pl fil.wml, översätt originaltexten i filen. Kommentarer i filen kommer indikera huruvida det finns data som inte ska översättas; respektera sådana kommentarer. Gör inga onödiga ändringar i formateringen; om något måste ändras, bör det troligen göras i originalfilen.

Bygga och publicera sidor

Eftersom vi använder innehållsförhandling heter inte HTML-filerna fil.html utan fil.<språk>.html, där <språk> är tvåbokstavskoden för språket, enligt ISO 639 (t.ex. sv för svenska).

Du kan bygga HTML från WML genom att ge kommandot make fil.<språk>.html. Om det fungerar, kontrollera att syntaxen är fullt giltig med weblint file.<lang>.html.

NOTERA: Webbsidorna byggs regelbundet om automatiskt på servern www-master, baserat på wml-källkoden i git. Denna procedur är relativt säker mot fel. Dock kan ett fel i toppnivån av din översättning (t.ex index.wml-filen i huvudkatalogen), medfölja att byggprocessen stoppar och förhindra andra uppdateringar till webbplatsen. Var särskilt försiktig med dessa filer.

När sidan är färdig att läggas upp kan du sända in den till Git. Om du har rättigheter att göra detta själv, var vänlig pusha ändringarna till Git-förrådet på Salsa-platformen; om inte, sänd den till någon med skrivrättighet på förrådet.

Påbörja en ny översättning

Om du vill börja översätta Debians webbsidor till ett nytt språk, kontakta oss per e-post (på engelska) på adressen webmaster@debian.org.

Först av allt - klona vårt källkodsträd, så som beskrivs i vår introduktionstext rörande Git.

När du har en hämtning av Git-förrådet, börja med att skapa en ny toppnivå-folder för din översättning, bredvid english/ och övriga språk. Namnet på din översättningsmapp måste vara på engelska och med endast små bokstäver (t.ex "german", inte "Deutsch").

Kopiera filerna Make.lang och .wmlrc från katalogen english/ till den nya översättningens katalog. Dessa filer krävs för att bygga din översättning från WML-filerna. De har formgivits så att du efter att ha kopierat dem till den nya språkkatalogen bara behöver ändra dessa punkter:

  1. Variabeln LANGUAGE måste ändras i filen Make.lang
  2. Variablerna CUR_LANG, CUR_ISO_LANG och CHARSET måste ändras i filen .wmlrc. Lägg i den listan även till CUR_LOCALE om du behöver den för sortering.
  3. Vissa språk kan kräva extra hantering för att hantera teckenuppsättningen. Detta kan göras med wmls parametrar --prolog och --epilog. Använd variablerna WMLPROLOG och WMLEPILOG i Make.lang för att göra detta.
  4. Variabeln LANGUAGES måste ändras i toppnivåfilen webwml/Makefile så att ditt språk byggs tillsammans med de andra på www.debian.org. Vi föredrar om du låter en i webmastergruppen göra denna ändring, eftersom du kanske inte vet om din översättning fungerar om den hämtas ut från VCS på nytt, något som skulle kunna störa byggprocessen för resten av webbplatsen.

När detta är gjort, lägger du in följande i en ny fil vid namn ”Makefile” i katalogen:

include $(subst webwml/dinspråkkatalog,webwml/english,$(CURDIR))/Makefile

(Ersätt naturligtvis dinspråkkatalog med namnet på ditt språks katalog.)

Skapa nu en underkatalog i din språkkatalog som du kallar för ”po”, och kopiera samma Makefile till den katalogen (cp ../Makefile .).

I po/-katalogen kör du Make init-po för att skapa den ursprungliga uppsättningen *.po-filer.

Nu när du har stommen på plats kan du börja lägga till översättningar i våra delade WML-märken som används i mallarna. De första mallarna du bör översätta är de som förekommer på samtliga webbsidor, som nyckelorden i sidhuvudet, strängarna i navigationslisten, samt sidfoten.

Börja översätta i filen po/templates.xy.po (där xy är ditt språks tvåbokstavskod). För varje msgid "någonting" finns det från början en msgstr "" där du skall fylla i översättningen av something innanför citationstecknen efter msgstr.

Du behöver inte översätta alla strängarna i alla .po-filer, bara de som de sidor du för tillfället har översatt faktiskt behöver. För att avgöra om du behöver översätta en sträng, se kommentarerna i .po-filen precis ovanför varje msgid-post. Om den fil som åberopas finns i english/template/debian bör du med stor sannolikt översätta den. Om inte kan du skjuta upp den till senare när du faktiskt översätter den del av webbplatsen som behöver den.

Filerna i po/ är till för att förenkla för översättarna, så att de (nästan) aldrig behöver ändra på något i själva english/template/debian-katalogen. Om du hittar ett fel med något i mallkatalogen bör du se till att problemet rättas på ett generellt sätt (fråga gärna någon annan som kan göra det åt dig) istället för att sända in faktiska översättningar i mallarna, något som (oftast) inte fungerar väldigt bra.

Om du inte är säker på om du gjorde rätt, fråga på sändlistan debian-www innan du lägger in ändringarna.

Observera: Om du upptäcker att du måste göra andra ändringar ber vi dig kontakta debian-www med information om vad du ändrat, och varför, så att problemet kan avhjälpas.

När mallstommen är färdig kan du börja översätta ingångssidan och de andra *.wml-filerna. En förteckning över de sidor som bör översättas först finns på tipssidan. Översätt *.wml-sidor så som beskrivs överst på denna sida.

Återuppta inaktuella översättningar

Som beskrivits i hålla översättningarna à jour, kan inaktuella översättningar tas bort automatiskt när en lång tidsperiod förflutit utan uppdatering.

Om du upptäcker att några filer tagits bort nån gång och du skulle vilja återställa filen igen för ytterligare redigering, så kan du söka igenom Gits historik med de vanliga kommandona.

Exempelvis om den borttagna filen heter "fil.wml", så kan du söka igenom historiken genom att köra:

   git log --all --full-history -- <sökväg/till/bortagen/fil.wml>

Du kan hitta den exakta committen som tog bort filen du önskar, tillsammans med committens hashsträng. För att visa detaljerad inforamtion om modifikationen som gjordes till filen i denna commit, så kan du använda underkommandot git show:

  git show <COMMIT_HASH_STRING> -- <sökväg/till/bortagen/fil.wml>

Om committen är exakt den som tog bort filen, så kan du återställa filen till arbetsytan med hjälp av git checkout:

  git checkout <COMMIT_HASH_STRING>^ -- <path/to/file/deleted.wml>

Sedan måste du, förstås, uppdatera dokumentet innan du skickar in det igen. Annars kan det tas bort ännu en gång.

Sagans fortsättning

Informationen ovan räcker sannolikt för att få dig att komma igång. Senare bör du läsa följande dokument vilka tillhandahåller mer detaljerade förklaringar och annan användbar information.

Förhoppningsvis kommer du att finna att det arbete vi har lagt ner kommer att göra översättningen av sidorna så enkel som möjligt. Som sagt var, om du har några frågor kan du ställa dem på sändlistan debian-www.