# Handbok &lokalize;

Nick Shaforostoff

    shaforostoff@kde.ru

Stefan Asserhäll

    stefan.asserhall@comhem.se

Översättare
2007-2009 Nick Shaforostoff
&FDLNotice;
2012-02-20
1.5

&lokalize; är ett datorstött översättningssystem som fokuserar på produktivitet och kvalitetssäkring. Det har de vanliga komponenterna i verktyg för datorstödd översättning: översättningsminne, ordlista, och dessutom en unik möjlighet att sammanfoga (synkronisera) översättningar. Det är avsett för översättning av programvara, och integrerar också externa konverteringsverktyg för översättning av kontorsdokument av frilansöversättare.

&lokalize; lokalisering l10n internationalisering i18n översättning globalisering g11n XLIFF gettext Opendocument Kbabel

## Inledning

Oftast skrivs programmeddelanden och dokumentation på engelska. Med ett ramverk bestående av ett antal verktyg och bibliotek är det möjligt att få dina favoritprogram att använda ditt eget modersmål, annat än engelska. Processen att anpassa ett program till ett visst språk kallas lokalisering. Lokaliseringsprocessen omfattar översättning av programmets gränssnitt och dokumentation till de olika språk som användare behöver, och i vissa länder och regioner, få indata och utdata att följa vissa specifika konventioner. &lokalize; är ett verktyg som hjälper till med lokaliseringsprocessen för att få programmets gränssnitt att använda många språk.

Varje program som klarar av internationalisering ger tillgång till en eller flera meddelandekataloger. Dessa filers ändelse är .pot. POT är en akronym som betyder Portable Object Template (portabel objektmall). &lokalize; är en avancerad och lättanvänd editor av PO-filer (&GNU; gettext meddelandekataloger). Det är ett datorstött översättningssystem för översättare, skrivet från början med plattformsramverket i &kde; 4. Förutom grundläggande redigering av PO-filer med praktiska yttre inslag, integrerar den stöd för ordlista, översättningsminne, jämförelselägen för kvalitetskontroll, projekthantering, etc. Den har många funktioner som fullständiga navigeringsmöjligheter, omfattade redigeringsfunktionalitet, sökfunktioner, syntaxkontroll och statistikfunktioner.

Portabla objektfiler (.po): Varje översättare skapar en kopia av en av dessa POT-mallar och börjar fylla i tomrummen: Varje meddelande översätts till önskat språk. Filen som innehåller den översatta texten kallas en portabel objektfil (PO).

## Editor

### Huvudfönster

Normalt innehåller huvudfönstret sex delar: Rutan uppe till höger är skrivskyddad och innehåller det nuvarande fältet msgid (källtexten) från den öppnade PO-filen. Redigeringsrutan därunder innehåller fältet msgstr (måltexten) som hör ihop med den visade källtexten. Här kan du mata in eller redigera den översatta texten.

Standardhuvudfönstret i &lokalize;
Här visas standardfönstret när en fil öppnas.

Den övre vänstra delen av huvudfönstret visar översättningsenheter. Därunder finns rutan med enhetens metadata, som innehåller kommentarer relevanta för källtexten som för närvarande visas. Nere till vänster finns rutan med översättningsminnet, som visar föreslagna översättningar av den nuvarande källtexten från översättningsminnets databas. Nere till höger i fönstret visas ordlistan.

Översättningsfiler öppnas under separata flikar, med två stora flerraders redigeringsrutor, samt en mängd verktygsvyer. Vyerna kan läggas ovanpå varandra (på liknande sätt som flikar), visas separat eller döljas. Översättningsfiler består av många par av engelska och målspråket som kallas enheter. En enhet motsvarar typiskt en enstaka sträng i användargränssnittet eller ett stycke i dokumentationen. Syftet med den första flerraders redigeringsrutan är att visa originaldelen i paret. Syftet med den andra flerraders redigeringsrutan är att visa översättningen. Du kan gå igenom enheterna via Översättningsenheter eller genom att använda Page Down och Page Up.

En enhet kan vara översatt eller oöversatt. Översättningen av en översatt enhet kan vara klar eller inte klar (vilket också ibland kallas inexakt). Om enheten inte är klar, återges dess översättning med kursivstil. &lokalize; låter dig enkelt gå igenom filen enligt översättningarnas status. Se menyn Gå för att hitta genvägarna. Statusraden längst ner i fönstret visar det nuvarande strängnumret, totalt antal strängar, totala antal oöversatta strängar, totalt antal inte klara (inexakta) strängar och status för det nuvarande strängen. Vid förflyttning behandlas oöversatta enheter som inte klara. Dessutom kan du använda filtreringsfunktionen i verktygsvyn Översättningsenheter. Att trycka på Page Down tar dig i själva verket till nästa enhet i den filtrerade/sorterade listan i verktygsvyn.

Man kan lägga till många fler rutor i huvudfönstret, som Alternativa översättningar, Primär synkronisering, Sekundär synkronisering och Binära enheter genom att använda Inställningar Verktygsvyer i huvudmenyn.

### Verktygsrader

Du kan lägga till eller ta bort åtgärder i verktygsraderna genom att använda Inställningar Anpassa verktygsrader... från huvudmenyn.

Anpassa verktygsrader
Här kan du anpassa verktygsraderna.

Läs avsnittet om verktygsrader i &kde;:s grunder för mer information.

### Snabbtangenter

Genom att använda snabbtangenter under översättningen kan man spara tid. Använd Inställningar Anpassa genvägar... i huvudmenyn för att anpassa snabbtangenter.

Anpassa genvägar
Här kan du anpassa snabbtangenterna.

Läs avsnittet om genvägar i &kde;:s grunder för mer information.

### Allmänna tips

Om du översätter åt &kde;, kommer du antingen redan att ha en &lokalize; projektfil i språkkatalogen (som oftast heter `index.lokalize`), eller kan du välja Projekt Skapa nytt projekt så laddar guiden ner översättningsfiler för ditt språk och skapar ett projekt åt dig.

Du rekommenderas att vänja dig vid snabbtangenterna istället för menyer och verktygsrader för ökad produktivitet. Använd till exempel &Ctrl;L för att fokusera på inmatningsraden Snabbsökning för att filtrera enhetslistan i vyn Översättningsenheter. När du väl är klar, tryck på Page Down för att börja gå igenom den filtrerade listan.

Om du arbetar med översättningsfiler på XLIFF-format (vilket definitivt är fallet när du översätter Opendocument), är utökade tillstånd tillgängliga (ny, kräver granskning, godkänt, etc). Du kan välja dem i menyn som hör till knappen Godkänd i verktygsraden. Klassificering av tillståndet som klar eller inte klar beror på aktuell fas i arbetsgången (översättning, granskning, godkännande). Standardfasen för dig beror på din roll i projektet (angiven i projektinställningarna). Varje enhet innehåller oftast information om vilken fas den senast ändrades i, och för varje fas är en ägare registrerad i filen.

## Projekt

### Allmänna anmärkningar

Projekten är en av huvudkoncepten i &lokalize;. Ett projekt representeras av en fil som innehåller sökvägar till kataloger med översättningar, mallar och andra filer: ordlistefil, automatiseringsskript och översättningsminnen. Så fort &lokalize; öppnar en fil utan att ett projekt har laddats, söker det efter en projektfil i överliggande kataloger (upp till fyra nivåer). Du kan alternativt ange projektfilen via väljaren `--project` när &lokalize; startas från kommandoraden.

För varje projekt väljer du din roll i det (översättare, granskat av, godkänt av), som i sin tur påverkar den fas i arbetsgången som &lokalize; automatiskt väljer för filer du redigerar.

Översättningsminnen (i motsats till projektfiler, ordlistor och skript) delas inte mellan översättningsgruppens medlemmar, eftersom de skapas och lagras i användarens hemkatalog, vilket betyder att översättningsminnen för alla projekt lagras i samma katalog, och alltså kan användas när andra projekt är öppnade.

### Fliken Projektöversikt

När &lokalize; startas för första gången, visas en tom flik vid namn Projektöversikt. Projektöversikten är en filhanteringsvy, som hjälper dig att hålla översikt över alla PO-filer. &lokalize; hjälper dig att snabbt översätta men också hålla översättningar konsistenta. Arbetsflödet i &lokalize; innebär att man börjar med att skapa eller öppna ett projekt. Fliken Projektöversikt visar ett filträd med statistik över det nuvarande projektet, som procent av den översatta enheten som är klara och den senaste översättaren. Den låter dig öppna en vald fil under en flik i &lokalize; nuvarande fönster.

Använd Projekt Skapa nytt projekt för att skapa ett nytt projekt. Det leder dig igenom stegen för att skapa ett nytt projekt. I menyn Projekt hittar du också alternativ som Projektöversikt, Anpassa projekt, Öppna projekt, Öppna senaste projekt.

Fliken Projektöversikt

Här kan du anpassa projektet.

Fliken Projektöversikt visar ett filträd med statistik för det nuvarande projektet, som procent av översatta enheter som är färdiga, och den senaste översättaren. Den låter dig öppna en markerad fil under en ny flik i &lokalize;s nuvarande fönster.

## Ordlista

Har du någonsin blivit trött på att skriva in samma långa textföljd många gånger, bara eftersom det skulle ta längre tid att hitta dess översättning för att kopiera och klistra in den? Nu kommer du bara behöva hitta den (vanliga) ordföljden i Ordlistan, och därefter infoga den genom att trycka på en snabbtangent.

Naturligtvis måste ordlistan först fyllas i med ordföljder. &lokalize; har en praktisk editor för ordlistor, som tillåter en explicit sökning i hela ordlistan.

Ordlistan i nedre högra hörnet visar passande uppslagsord för aktuell enhet
Ordlistan i nedre högra hörnet visar passande uppslagsord för aktuell enhet

## Översättningsminne

Översättningsminnet låter dig dra och släppa en katalog med översättningsfiler från exempelvis &dolphin; i vyn, och inom några minuter därefter visas översättningsförslag automatiskt vid byte av enhet. För att infoga översättningsförslag i filen, använd &Ctrl;1, &Ctrl;2, och så vidare, beroende på antal förslag.

Använd Verktyg Hantera översättningsminne för att lägga till eller hantera projekt i översättningsminnet. Här kan du också importera eller exportera data från filformatet `tmx`.

Att trycka på F7 visar fliken Översättningsminne, som tillåter fri sökning i ÖM. Att klicka på ett sökresultat öppnar motsvarande fil vid motsvarande enhet. Om du snabbt vill öppna en viss fil i projektet (och den har lagts till i ÖM), kan du bara skriva in namnet i fältet Filmask tillsammans med '*', istället för att bläddra i Projektöversikten.

ÖM-gränssnittet indexerar alla poster, inklusive de inte klara och oöversatta. Det gör det möjligt att helt och hållet ersätta funktionen att söka i filer, som krävde att varje fil i projektet söktes igenom varje gång en sökning gjordes.

&lokalize; med sökresultat från översättningsminnet för aktuell enhet
&lokalize; med sökresultat från översättningsminnet för aktuell enhet

Översättning i bakgrunden:

  För att automatiskt infoga förslag som exakt matchar från översättningsminnets databas, använd Verktyg Fyll i alla exakta förslag eller Fyll i alla exakta förslag och markera som inexakta. Funktionen liknar grovöversättning i &kbabel;.

## Synkroniseringsmöjligheter av översättningar

Synkroniseringsläge (tidigare känt som Sammanfogningsläge) sparar en hel del arbete för redaktörer, och i fallet då två eller flera översättare samtidigt arbetar med samma fil, eller när man måste underhålla översättningar för flera grenar av programvaran.

&lokalize; erbjuder snabb navigering genom enheter som skiljer sig åt, och visar skillnader ord-för-ord. Dessutom har &lokalize; två synkroniseringsvyer: Primär synkronisering och Sekundär synkronisering. De är identiska, men den första används oftast för att sammanfoga översättningar, medan den andra används för att hålla översättningar för två programvarugrenar synkroniserade.

Efter du har kopierat översättningen från hjälpfilen (synkroniserat den), kopieras alla efterföljande ändringar som görs av enheten tillbaka till hjälpfilen.

### Sammanfogning

En användning av Synkroniseringsläge är att granska ändringar gjorda av (nya) bidragsgivare, när du inte kan vara säker på arbetets kvalitet.

Öppna en grundfil, släpp därefter dess ändrade version i vyn Primär synkronisering, följt av &Alt;Ner eller &Alt;Upp (kom ihåg att genvägar kan ändras på det vanliga sättet i alla &kde;-program) för att gå till poster som skiljer sig åt.

&lokalize; använd för att sammanfoga ändringar i översättningar
&lokalize; använd för att sammanfoga ändringar i översättningar

### Kopiering

Synkroniseringsläge kan också användas för att göra ändringar av översättningar för två grenar samtidigt. Ställ in sökvägen Grenkatalog i projektinställningarna till sökvägen som motsvarar grenens baskatalog, så öppnar Sekundär synkronisering automatiskt filer från grenen. Därefter, varje gång du gör ändringar av filer i huvudgrenen, kopieras de automatiskt till grenen (naturligtvis bara om den innehåller samma engelska sträng).

Om du till exempel arbetar med översättning av &kde;, kan du checka ut trunk i `/home/xx/kde/trunk/l10n-kde4/DITT_SPRÅK` och branch i `/home/xx/kde/branches/stable/l10n-kde4/DITT_SPRÅK`. Skapa &lokalize;-projektet: `/home/xx/kde/trunk/l10n-kde4/DITT_SPRÅK/projekt.lokalize` och ange `BranchDir=../../../branches/stable/l10n-kde4/DITT_SPRÅK`. Arbeta därefter via detta projekt, och arkivera ändringar i både katalogerna trunk och branch.

### Alternativa översättningar

Varje enhet kan ha flera alternativa översättningar som hör ihop med den. Sådana översättningar kan visas vid uppdateringar av filen, när källsträngen ändras något. I detta fall flyttas alla översättningar med sina (gamla) källsträngar till listan med alternativa översättningar, så att de inte går förlorade.

När programvara översätts, används oftast gettext-verktygen för att skapa översättningsfiler. När originaltexten ändras, uppdaterar gettext-verktygen översättingsfilerna och markerar poster med ändrad originaltext som inexakta (eller inte klara med annan terminologi). De lagrar tidigare originaltext så att översättare kan se exakt vilka ändringar som gjort. &lokalize; förenklar översättarens liv genom att markera delar av originaltexten som ändrades i Alternativa översättningar.

&lokalize; som markerar delar av originaltexten som ändrats sedan översättningen senast granskades
&lokalize; som markerar delar av originaltexten som ändrats sedan översättningen senast granskades

## Skapa skript i &lokalize;

&lokalize; kan utökas genom att använda skript på flera tolkade språk, inklusive Python och Javascript. Skript integreras oftast i &lokalize;s användargränssnitt som menyalternativ (som du kan tilldela snabbtangenter). Plats och namn på skriptets menyalternativ definieras av dess tillhörande .rc-fil. Varje gång ett projekt öppnas söker &lokalize; igenom katalogen `PROJEKTKATALOG/lokalize-scripts` efter .rc-filer och lägger till dem i en cachefil som heter `PROJEKTKATALOG/lokalize-scripts/scripts.rc` (så du bör i allmänhet inte lägga till den i projektets versionskontrollsystem). RC-filer innehåller också skriptsökvägar, som kan vara relativa i förhållande till ..rc-filens katalog, eller en skriptkatalog i systemet: båda kontrolleras (även om de måste vara relativa om du vill dela en .rc-fil med andra i projektet). Du kan till exempel ange `../../scripts/lokalize/opensrc.py` för att ladda skript från den allmänna skriptkatalogen kde-l10n4 (dvs. inte specifik för ditt språk).

Exempel på .rc-filer finns i &lokalize;s installationskatalog (oftast `/usr/share/kde4/apps/lokalize/scripts/`) och i &kde;:s arkiv. Här hittar du fler exempel på skript, inklusive Javascript-baserade `check-gui.js`, som automatiskt körs varje gång en fil sparas (det åstadkoms med ett särskilt alternativ i .rc-filen). Om du är bekant med Python eller Javascript, bör koden vara självförklarlig.

Nedan finns länkar till referenser för programmeringsgränssnittet. Allt som är markerat som Q_SCRIPTABLE kan användas i skript.

- Referens för objektprogrammeringsgränssnittet i editorn

- Referens för objektprogrammeringsgränssnittet i Lokalize

- Referens för objektprogrammeringsgränssnittet i projekt

## Tack till och licens

&lokalize;

Program Copyright © 2007-2009, Nick Shaforostoff shaforostoff@kde.ru

Viss kod har tagits från &kbabel;, föregångaren till &lokalize;.

Dokumentation Copyright © 2007-2009 Nick Shaforostoff shaforostoff@kde.ru

Upphovsman:

- Nick Shaforostoff shaforostoff SNABELA kde.ru; Shankar Prasad svenkate SNABELA redhat.com; Sweta Kothari swkothar SNABELA redhat.com

Se &lokalize; hemsida för ytterligare detaljinformation.

Översättning Stefan Asserhäll stefan.asserhall@bredband.net

&underFDL; &underGPL;
&documentation.index;