När jag för några månader sedan gick igenom en stor del av vår översättning så upptäckte jag en del systematiska fel som ständigt uppkom. Fördelen med att vi översätter från engelska till svenska är att vi har en hel del regler som gäller för båda språken. t.ex.:

  • Inledande bokstav i översättningen måste vara versal om den är det i originaltexten (och vice versa för gemen).
  • Om originalstycket har punkt i slutet så skall vi också ha det.
  • Varje öppnings-/stängnings-tag måste finnas (och endast finnas) i den översatta strängen om den finns i originalsträngen.

Vad sägs om att skriva ihop ett skript i Python/PHP eller liknande som kan fånga upp dessa fel? Eller finns detta? Vi skulle kunna se det lite som att införa tester i vår översättning inför varje ny lansering av en svensk översättning...

Låter det värt att investera i? Jag tror dessutom att många andra översättningsprojekt skulle ha nytta av något liknande...

Comments

itangalo’s picture

Det låter ju som en skitbra idé. Jag har ingen aning om hur ett sådant skript skulle fungera rent tekniskt, men det finns det säkert andra som kan lösa.
Om jag får vill jag också föreslå att skriptet kan läsa in en standardlista med termer och varna om en översättning skiljer sig från den kanoniska. På så vis kan man fånga upp vissa saker som bör översättas strikt (så som "node" -> "nod"), men även mer allmänna översättningar som ofta blir fel ("existing" -> "existerande" -> "befintlig/-a").

Skriptet bör förstås fortfarande tillåta avvikande översättningar, som det kan finnas skäl för i bland, men att autokolla en rad termer skulle underlätta.

Heja-heja.

zoo33’s picture

Det är en bra idé, och inte särskilt svårt att fixa. Jag tror att poedit redan gör en del liknande kontroller, men vet inte säkert.

En sak jag skulle vilja lägga till är en kontroll av att platshållare av typen "@variabel" finns med i översättningen.

Om man ska realisera en sån här idé så tror jag att det ska ske inom ramen för potx-projektet som innehåller script för att extrahera strängar ur källkoden till .pot-filer, alternativt översättningsmallarnas projekt. Det är definitivt en språkneutral grej så det vore ju synd att inte samarbeta med resten av communityt.

Itangalos förslag är lite klurigare. Kanske skulle det vara lättare att implementera nån typ av blacklist-funktion för oönskade översättningar än att kontrollera att en översättning är korrekt. Jag tänker mig alltså att varje språk har en lista som ser ut ungefär såhär:

existing|existerande
disable|avaktivera
create|kreera
authorized|auktoriserad

Men det är kanske något som man kan spara till 2.0 eller som ett svenskspecifikt script.

ztyx’s picture

Om man ska realisera en sån här idé så tror jag att det ska ske inom ramen för potx-projektet som innehåller script för att extrahera strängar ur källkoden till .pot-filer, alternativt översättningsmallarnas projekt.

Sant, men jag är inte helt säker på om någon av dessa projekt är rätt. Jag har skickat en fråga till extractor-projektet. Även Translation Status var av intresse, och jag har frågat där.

ztyx’s picture

Coder kan vara värt att kika på.

ztyx’s picture

Status: Active » Closed (duplicate)

Okej, jag har nu fått en del respons från teamet bakom modulen Coder! Kul!

Modulen Coder används idag för att automatisera kvalitetskontroll av kod. I skrivandets stund så har de inga tester som körs av .po-filer, men de har ett färdigskrivet användargränssnitt för att presentera fel-/varningsmeddelanden som genererats av olika så kallade reviews, typ tester. Dessutom finns möjligheter att skriva egna tester via en hook/callback. Just nu håller de på att fixa så att man kan specificera vilka filändelser som ens (review)callback ska triggas på (här finns första patchen för det).

För några dagar skickade jag också in ett första utkast på testkod som gör de tester som vi har talat om ovan, och om ni har fler saker som ni kan tänkas testas för att hålla kvalitén uppe på översättningar så är det från och med nu bättre om ni postar dessa i det engelskspråkiga ärendet. Det har redan kommit in fler förslag. EDIT: Förslagen var inte relaterade till ärendet. De handlade om hur man fann fel i PHP-kod och inte i .po-filer.

Även om diskussion för tillfället förs på i ett ärende tillhörande modulen Coder så lutar det åt att det översättningstesterna i sig kommer att bli en del av modulen potx då den är mer specialiserad i att hantera översättningar (och coder mer mot programmeringskod).

Eftersom att stafettpinnen för detta ärende har rört sig vidare så markerar jag nu detta ärende 'duplicate'.

zoo33’s picture

Bra jobbat!