Ö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 specifka WML-källfilerna som måste redigeras och inte HTML-filerna. Använd CVS 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 version 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="x.y"

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="x.y" maintainer="ditt namn". Skriptet copypage.pl kommer göra detta automatiskt om du sätter miljövariabeln DWWW_MAINT eller använder kommandoradsflaggan -m.

Du kan även behöva beskriva för roboten vem du är, hur ofta du vill ha automatiska brev och vad de ska innehåll. För detta kan du (eller låta översättningssamordnaren) redigera filen webwml/språk/international/språk/translator.db.pl i CVS:en. Syntaxen bör vara lättförståelig, och du kan använda filen från den franska översättargruppen om den inte redan finns för ditt språk. Roboten kan sända flera sorters information, och för varje sort kan du välja med vilken frekvens de skall sändas till dig. De olika sorternas information är:

För varje av ovanstående lägger du till ett av dessa värden: 0 (aldrig), 1 (månatligen), 2 (varje vecka) eller 3 (dagligen).

Ett exempel:

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

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 som kommer användas för att avgöra vilket språk du översätter till. Denna fil behöver endast innehålla en rad med språknamnet. Du kan också 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. Det finns fler funktioner i skriptet. Kör det utan några flaggor 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 formatteringen; 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.

Webbsidorna byggs om från CVS på servern www-master, en procedur som är relativ säker mot fel. Dock kan ett fel i toppnivån av din översättning (t.ex index.wml-filen i huvudkatalogen) medföra att byggprocessen stoppar och förhindra andra uppdateringar av 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 CVS. Om du har rättigheter att göra detta själv, kör cvs commit; om inte, sänd den till någon med skrivrättighet på CVS-servern.

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.

När du har hämtat ut webwml/-katalogen och (åtminstone) webwml/english/ börjar du med att skapa en ny katalog för din översättning på samma nivå som english/ och de övriga. Namnet på översättningen måste vara på engelska och skrivet helt med små bokstäver (dvs. "swedish", inte "Svenska").

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 CVS 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 utdaterade översättningar

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

Om du använder skriptet copypage.pl med en fil som har tagits bort från CVS kommer den vägra kopiera sidan och istället uppmana dig att återuppliva den. Du kan undersöka anledningarna till att filen togs bort från cvs med cvs log på den borttagna filen (eller använd webbgränssnittet, de borttagna filerna kan hittas i underkatalogen "Attic").

När du vill återuppliva den utdaterade översättningen, använder du cvs status (eller cvs log) för att notera versionsnumret på den borttagna versionen, varefter du utför en backwards merge.

Till exempel, om den borttagna filen heter "borttagen.wml" och den borttagna versionen är 1.7, så är versionen innan borttagningen 1.6 (den borttagna versionen minus en). Du kan återskapa filen genom att köra

   cvs update -j 1.7 -j 1.6 borttagen.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.