Massiv översättningsinfrastruktur för svenska

Idag har vi byggt ut infrastrukturen för svensk översättning av öppen källkod rejält. Här är en sammanfattning av Translation Review-plattformen och översättningsarbetet.

Translation Review (TR) — AI-driven granskningsplattform

TR är vår lokala webapp för att granska svenska översättningar i stor skala. Den hanterar nu tusentals filer från flera plattformar och kör varje fil genom en 12-stegs granskningspipeline.

Datakällor

  • Weblate (hosted.weblate.org): 261 filer — automatisk nedladdning via API med lock-detection för döda projekt
  • Transifex: 1 189 filer — async bulk-download från 58 organisationer
  • Fedora Weblate: 58 filer — translate.fedoraproject.org
  • Ubuntu/KDE/GNOME/TP: tusentals filer sedan tidigare
  • Formatkonvertering: 307 TS/XLIFF-filer automatiskt konverterade till PO via translate-toolkit (ts2po, xliff2po)

Smart URL-import: klistra in en Weblate-, Transifex- eller Crowdin-URL direkt i dashboarden — TR laddar ner, detekterar format och köar automatiskt.

Granskningspipeline (review-po-v3)

Varje översättningsfil körs genom 12 kontroller som ger en poäng från 0 till 10:

  1. l10n-lint + pofilter — teknisk validering: platshållare (%s, {0}), acceleratorer (&), dubbletter, formatsträngar
  2. hunspell — stavningskontroll med vår utökade sv_SE-ordbok (154k ord) + 787 domänspecifika ord i personal dictionary
  3. LanguageTool — grammatikkontroll: kongruens, ordföljd, skiljetecken
  4. terminology.md — terminologikontroll: säkerställer konsekvent användning av svenska termer (t.ex. ”programtillägg” inte ”plugin”)
  5. Svengelska-detektion — hittar anglicismer, falska vänner och calques: ”denna” → ”den här”, ”notera att” → ”observera att”, ”vänligen” → ta bort
  6. Context checker — UI-kontextregler: knappar max 25 tecken, menyer max 40, tooltips koherent ton
  7. po-memory referens-TM — jämförelse mot 559 792 professionella översättningar från GNOME, KDE, LibreOffice etc.
  8. Språkdetektering — lingua-baserad detektion av strängar som fortfarande är på engelska
  9. Konsistenskontroll — samma källsträng ska ha samma översättning genom hela filen
  10. Triangulering — automatisk back-translation via DeepL Pro (quality_optimized) + jämförelse med norska/danska
  11. DeepL-specifika fixar — korrigerar kända DeepL-problem: ”denna/detta/dessa”, passiva konstruktioner, separerade sammansatta ord
  12. False positive-databas — lär sig från manuella beslut och filtrerar bort kända falska larm

DeepL Pro-integration

Alla verktyg använder nu DeepL Pro API med kvalitetsoptimerade inställningar:

  • model_type: quality_optimized — bästa möjliga översättningskvalitet
  • formality: prefer_less — naturligare, mindre formell svenska
  • preserve_formatting — bevarar whitespace, radbrytningar och formatering
  • context — skickar PO-kommentarer och projektmetadata för kontextmedveten översättning
  • Glossary-stöd — terminologilista synkad med terminology.md
  • Automatisk endpoint-detektion — PRO/Free baserat på API-nyckel

Granskningsgränssnitt

Weblate-inspirerad split-panel med professionellt arbetsflöde:

  • Vänster panel: Stränglista med källa + översättning, färgkodade kanter (grön/gul/röd) per status
  • Höger panel: Originalttext (EN) med kopiera-knapp, översättningsfält (SV) med textarea + toolbar (kopiera källa, återställ, kopiera till urklipp)
  • Tangentbordsnavigering: G = godkänn, A = avvisa, J/K = navigera, E = redigera
  • Batch-operationer: Godkänn alla PASS, godkänn REVIEW (context-only), avvisa FAIL (språkdetektering)
  • AI-förslag: DeepL Pro quality_optimized med kontextmedveten prompt vid klick
  • Inline-redigering: Ändringar skrivs direkt till PO-filen, poäng räknas om live

Parallel-worker

Granskningskön körs av en parallel-worker med 4 trådar som launchd-tjänst — auto-restart vid krasch, ~17 filer per minut. En kö på 3 000 filer tar ~3 timmar istället för veckor med en enda tråd.

Dashboard

  • Realtidsstatistik: filer granskade, strängar totalt, genomsnittlig kvalitet, kö-status
  • Kö-breakdown: visuell bar med klara/kör/väntar/fel
  • TM-räknare: 559 792 unika strängar
  • Topp 10 bästa/sämsta, uppnått 10.0-lista
  • Klickbara filer → direkt till granskningsvy

Translation Memory

Vår TM innehåller nu 559 792 unika källsträngar från 776 274 översättningsposter. Den täcker GNOME, KDE, LibreOffice, Mozilla, Ubuntu, Fedora, Blender, QGIS och 50+ andra projekt. TM:n används för:

  • Konsistenskontroll — samma källsträng ska översättas likadant överallt
  • Ordbok-generering — automatisk extraktion av svenska ord som saknas i hunspell
  • Fuzzy matching — föreslå översättningar baserat på liknande strängar
  • Kvalitetsreferens — jämför nya översättningar mot etablerade GNOME/KDE-standarder

Planen framåt

  • Automatisk pipeline: Nya granskningar → nya hunspell-ord → ny release → publicera till LibreOffice/Firefox
  • Fler plattformar: Crowdin-import (kräver maintainer-access), Launchpad (Ubuntu)
  • Kvalitetsmål: Alla projekt ska nå minst 9/10 i granskningspoäng
  • Bidra upstream: Pusha förbättrade översättningar tillbaka till Weblate/Transifex
  • hunspell: Fortsätt utöka ordboken, samarbeta med SFOL, publicera som Firefox/Thunderbird-tillägg
  • review-po-v3: Nativt stöd för TS/XLIFF/JSON (inte bara PO)
  • Auto-learn: När en granskare godkänner en sträng med hunspell-flagga läggs ordet till i ordboken automatiskt

All kod och data är öppen källkod. Bidrag välkomnas.

Kommentarer

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig om hur din kommentarsdata bearbetas.