[Tp-sv] AI-/maskinöversättningar - förslag

Daniel Nylander daniel at danielnylander.se
Sat Mars 28 09:06:04 CET 2026


Det är helt korrekt, Josef!

Jag har själv använt AI (DeepL Pro Advanced) i över ett år med blandad
kvalitet. Det är dock den överlägset bästa LLM för svensk översättning.

Det jag arbetat med senaste veckan är ett verktyg (TR) som granskar mina
och andras svenska översättningar.
Hur gör man det? Ja, jag importerade varenda svenska översättning för öppen
källkod som gick att hitta.
Är jobbet klart nu? Nej, knappt påbörjat. Översättningarna är importerade
och nu börjar processen.

En liten biprodukt av detta blev en massivt uppdaterad hunspell-sv, se
https://github.com/yeager/hunspell-sv

Här kommer en jättelång och kanske komplett lista över funktioner och
funktionalitet i TR
(Translation Review), mitt granskningsverktyg för svenska översättningar.

═══════════════════════════════════════════════════════════════
TR — Translation Review: Funktionslista
═══════════════════════════════════════════════════════════════

SKALA
─────
• 125 853 strängar granskade
• 89 019 strängar godkända
• 5,2 miljoner strängar processade totalt
• 13 650 filer i kön
• 1 207 695 poster i Translation Memory (777K unika källsträngar)
• 3 299 projekt representerade
• 326 000 terminologiposter i kanonisk termbank

═══════════════════════════════════════════════════════════════
1. GRANSKNINGSMOTOR (review-po-v3)
═══════════════════════════════════════════════════════════════

Automatiserad kvalitetskontroll i 10+ steg:

TEKNISKA KONTROLLER
• l10n-lint — statisk analys av översättningsfiler
• pofilter (translate-toolkit) — formatfel, variabler, acceleratorer
• msgfmt --check — GNU gettext-validering
• Babel python-format safety check — fångar %SCHEMA%-buggen
• JSON template key preservation — skyddar i18n-variabler
• i18n variable interpolation — {{variable}}, {0}, %s, %d
• Formatplatshållarmatchning — alla %s/%d/{0} måste matcha
• Newline/whitespace-matchning — trailing/leading space check

SPRÅKLIGA KONTROLLER
• Hunspell stavningskontroll (svenska)
• LanguageTool grammatikkontroll (lokal server)
• Svengelska-detektor — identifierar anglicismer och false friends
• "Denna/detta/dessa"-check — flaggar ålderdomliga demonstrativer
• "Vänligen"-check — flaggar onödig artighetsfras
• Kontextanalys — knapp/meny/tooltip-regler
• Språkdetektering — identifierar oöversatta engelska strängar
• Egennamns/teknisk term-check — flaggar felöversatta namn

REFERENSKONTROLLER
• Translation Memory (po-memory) — jämför mot 1,2M professionella
översättningar (GNOME, KDE, Mozilla, Ubuntu, Fedora)
• Konsistenskontroll — samma källsträng = samma översättning genom hela
filen
• Terminologikontroll — mot terminology.md (600+ termer)
• Triangulering — jämför med andra språks översättningar
• Back-translation — översätter tillbaka och jämför

LÄGEN
• --full: alla kontroller inkl. triangulering + back-translation
• --quick: snabb granskning (tekniska + grundläggande språkliga)
• --ultra-quick: bara fil-nivå + variabler + konsistens
• Domänprofiler: anpassade regler per projekttyp (GNOME, KDE, etc.)

═══════════════════════════════════════════════════════════════
2. WEBBGRÄNSSNITT (TR Webapp)
═══════════════════════════════════════════════════════════════

Lokal webapp (port 5113) med 58 API-endpoints:

DASHBOARD
• Översikt: totalt granskade, godkända, snittpoäng
• Kö-breakdown med statusbar
• TM-räknare (1,2M poster)
• Notifieringssammanfattning

GRANSKNINGSVY (Split-panel)
• Weblate-inspirerad design med split-panel
• Källa (engelska) + översättning (svenska) sida vid sida
• Tangentbordsnavigering: G=godkänn, A=avvisa, J/K=navigera
• Inline-redigering — ändra översättning direkt i gränssnittet
• Redigeringar skrivs direkt till PO-filen
• Poäng räknas om live vid godkännande
• Färgkodade kanter (grön/gul/röd) per sträng
• Collapsible batch-operationer

AI-ASSIST
• DeepL Pro-baserade förslag
• Översättningsminnesförslag
• Kontextbaserade rekommendationer

KÖ & ARBETSFLÖDE
• Smart URL: klistra in Weblate/Transifex/Crowdin/GitHub-URL → auto-download
• Filuppladdning (drag & drop)
• Prioriterad kö med sortering
• Progress-tracking per fil
• Re-review (omgranskning)
• Batch-approve / batch-reject
• Requeue-funktion

EXPORT & UPSTREAM
• Ladda ner granskade PO-filer
• Diff-vy mot upstream
• Push direkt till Weblate, Transifex, Crowdin, Fedora Weblate
• Push-historik
• Upstream-diff med konfliktdetektering

FALSE POSITIVE-HANTERING
• Rapportera false positives direkt från gränssnittet
• False positive-databas (29 regler)
• Decision patterns (28 mönster)

FORMATSTÖD
• PO (gettext) — primärt format
• JSON (i18n-ramverk)
• XLIFF
• Automatisk konvertering mellan format

═══════════════════════════════════════════════════════════════
3. TR INTELLIGENCE PLATFORM (nytt!)
═══════════════════════════════════════════════════════════════

Datadriven kvalitetsplattform byggd på 5,2M granskade strängar:

KANONISK TERMBANK ("Riksöversättarlista")
• 326 000 termer extraherade ur 3 299 projekt
• Viktad konsensus: GNOME/KDE 3x, Mozilla/Ubuntu 2x
• Domänspecifika overrides (t.ex. "Rate" = Hastighet i
nätverkskontext, Ränta i ekonomi)
• Exportformat: TBX, Weblate JSON, CSV
• Publicerad: github.com/yeager/swedish-foss-terminology

ENSEMBLE AUTO-APPROVE
• 7 kvalitetssignaler kombineras till ett beslut
• Signal 1: review-po-v3 verdict
• Signal 2: TM-matchningsgrad (1,2M poster)
• Signal 3: ML-klassificerare (Gradient Boosting, 24 features, tränad
på 30K strängar)
• Signal 4: N-gram naturlighetsmodell (trigram, 100K svenska strängar,
<1ms/sträng)
• Signal 5: Konsistenscheck mot TM-konsensus
• Signal 6: Decision pattern matching
• Signal 7: Formatintegritet
• Score ≥5 → AUTO-APPROVE, 2-4 → LIGHT-REVIEW, <2 → FULL-REVIEW
• Resultat hittills: 6 267 strängar auto-godkända

ML-KLASSIFICERARE
• Gradient Boosting Regressor (R² = 0.41)
• Topp-features: svensk stränglängd (48%), gemensamma-ord-ratio (29%),
engelsk längd (13%)
• Detekterar oöversatta strängar, längdavvikelser, formatfel

N-GRAM NATURLIGHETSMODELL
• Trigram-modell byggd på 100 000 godkända svenska strängar
• 50K trigram, 100K bigram, 20K unigram
• <1ms per sträng — realtidsbedömning
• Skiljer "naturlig" svenska från DeepL-stelt/anglicismer

DEEPL AUTO-FIXER
• Profilerad på 3,7M strängar (1,28M lågkvalitet vs 1,83M högkvalitet)
• Automatisk postprocessing av DeepL-översättningar:
  - denna/detta/dessa → den här/det här/de här
  - Tar bort "Vänligen" (utom formella kontexter)
  - Fixar 572 sammansatta ord (e-post adress → e-postadress)
  - Fixar dubbelmellanslag och newline-mismatch
  - Flaggar felöversatta egennamn
• Idempotent — kan köras flera gånger utan bieffekter
• Integrerad i parallel-worker (körs automatiskt före review-po-v3)

FALSE POSITIVE MINING
• Analyserade 13 555 false positives
• 11 nya auto-approve-mönster identifierade och installerade
• Precision-analys per check-typ

KONSISTENSRADAR
• Cross-project konsistensanalys
• 84,7% genomsnittlig konsistens över 2 713 projekt
• Identifierar avvikelser mot TM-konsensus
• Projektkluster: 247 kluster, 682 projekt, 166 propagerings-möjligheter

REGRESSIONSDETEKTOR
• Baselines för 22 projekt (68 951 godkända strängar)
• Kategoriserar: NEW / UNCHANGED / CHANGED / REMOVED
• Förhindrar att bra översättningar skrivs över av sämre

GOLDSTANDARD TM-EXPORT
• 190 104 översättningspar (51 550 guld + 138 554 silver)
• Format: TMX (55 MB), PO (24 MB), CSV (22 MB), JSON (46 MB)
• Redo som compendium för CAT-verktyg

DEEPL GLOSSAR-FEEDBACK
• 500 termer i DeepL-glossar (aktiv)
• Förbättrar DeepL-rå-kvalitet automatiskt vid nya översättningar

═══════════════════════════════════════════════════════════════
4. AUTOMATION & INTEGRATION
═══════════════════════════════════════════════════════════════

PARALLEL-WORKER
• Bakgrundsprocessning av köade filer
• launchd-tjänst (macOS) — startar automatiskt
• Pipeline: strip fuzzy → DeepL auto-fix → review-po-v3
• Chunking av stora filer (>2000 strängar)

AUTO-APPROVE ENGINE
• Kör var timme via cron
• Ensemble-intelligens (7 signaler)
• Graceful fallback till legacy-logik

PLATTFORMSINTEGRATION
• Weblate (API + CLI)
• Transifex (API v3)
• Crowdin (API)
• Fedora Weblate
• GitHub (direkt PO-download)
• Launchpad (Ubuntu)
• DDTSS (Debian paketbeskrivningar)

DAGLIG RAPPORT
• Automatisk sammanfattning: antal granskade, snittpoäng, avvikelser
• Cron-schemalagd

═══════════════════════════════════════════════════════════════
5. KVALITETSDASHBOARD
═══════════════════════════════════════════════════════════════

Live dashboard: https://danielnylander.se/sv-quality/

• Score-fördelning (stapeldiagram)
• Auto-approve rate
• Projektranking (bäst + "needs love")
• Vanligaste feltyper
• Trendanalys

═══════════════════════════════════════════════════════════════



Jag har publicerat hela mitt Translation Memory på GitHub, uppdelad
per ekosystem:

https://github.com/yeager/swedish-tm

777 206 unika en→sv-par från 3 299 projekt.

Separata filer per ekosystem (TMX + PO):

  GNOME          86 737 par    sv-gnome.tmx / sv-gnome.po
  KDE            57 839 par    sv-kde.tmx / sv-kde.po
  Mozilla        19 832 par    sv-mozilla.tmx / sv-mozilla.po
  Ubuntu         42 613 par    sv-ubuntu.tmx / sv-ubuntu.po
  Fedora         11 856 par    sv-fedora.tmx / sv-fedora.po
  LibreOffice    41 723 par    sv-libreoffice.tmx / sv-libreoffice.po
  XFCE            3 125 par    sv-xfce.tmx / sv-xfce.po
  Translation Project
                 99 340 par    sv-tp.tmx / sv-tp.po
  Transifex     249 990 par    sv-transifex.po
  Weblate        23 760 par    sv-weblate.tmx / sv-weblate.po
  Blender       128 053 par    sv-blender.tmx / sv-blender.po
  Inkscape       18 127 par    sv-inkscape.tmx / sv-inkscape.po
  Stellarium     45 597 par    sv-stellarium.tmx / sv-stellarium.po
  QGIS           35 903 par    sv-qgis.tmx / sv-qgis.po
  ScummVM        15 156 par    sv-scummvm.tmx / sv-scummvm.po

Komplett TM (alla 777K par i en fil):
  sv-complete.po (128 MB) — finns som release-asset:
  https://github.com/yeager/swedish-tm/releases/tag/v1.0.0

Format:
  TMX — för CAT-verktyg (OmegaT, Trados, memoQ, Lokalize, Poedit)
  PO  — kan användas som compendium med msgmerge:
        msgmerge --compendium sv-gnome.po fil.po fil.pot -o filled.po

Licens: CC BY 4.0

Relaterat:
  Terminologi (326K termer):
https://github.com/yeager/swedish-foss-terminology
  Kvalitetsdashboard: https://danielnylander.se/sv-quality/

Danne

Den lör 28 mars 2026 kl 08:44 skrev Josef Andersson <janderssonse at proton.me
>:

> Många av oss använder maskin/AI-översättningar. Det är ju superbra för att
> få ett bra utkast och som hjälpanalys, i kombination med manuella
> granskningar. Man får den första 70% procenten snabbt. Och sen man kan man
> putsa några rundor. Men med sedan besvikelse i blick:):) slutar det förstås
> alltid i att man måste granska manuellt och "äga" resultaten också. Det
> blir alltid en massa konstigheter, och granskar man inte själv först,
> lägger man över hela det arbetet på granskaren.
> Så här kommer två förslag spå hur vi skulle kunna hantera det framöver i
> vår kära lista framöver och kanske lägga till som text på listsidan då (
> https://www.tp-sv.se/)
>
> *Ett förslag :*
> Vi sätter tydligare förväntningen på att material som skickas in för
> granskning ska vara helt manuellt genomläst och bearbetat av avsändaren.
> Granskning ska fokusera på förbättring och inte på att åtgärda ogranskade
> maskinöversatta utkast. Man går då alltid  implicit i god för att man har
> också har kvalitetsgranskat  manuellt också, grundrättat det man ber om
> granskning för, innan man skickar det.
>
> *Och ett helt annat förslag:*
> Att man bara helt enkelt skriver med när man postar, om något är
> maskinöversatt och inte (ännu) manuellt granskat.  Man kanske tänkt
> kvalitetsgranska manuellt senare själv t.ex eller vill ha hjälp med det
> redan nu, textmassan kanske är för stor för en enskild att granska manuellt
> i rimlig tid. Då får man som granskare själv ta ställning om man tar det
> (kanske) större jobb som väntar.
>
> Vad säger och tycker ni om dessa ovan? Jag har inget starkt tycke om någon
> av dem,  men att bestämma sig för endera skulle göra det enklare/tydligare
> med listans förväntningar på material framåt:)
>
>
> /Josef--
> Tp-sv mailing list
> Tp-sv at listor.tp-sv.se
> http://listor.tp-sv.se/mailman/listinfo/tp-sv_listor.tp-sv.se
>


-- 
--
Daniel Nylander
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listor.tp-sv.se/pipermail/tp-sv_listor.tp-sv.se/attachments/20260328/2fa8cc88/attachment-0001.html>


More information about the Tp-sv mailing list