Polaroid Photo

Bilder från Daniel Nylander.se

Daniel Nylander.se

Svenska översättningar av öppen källkod, Ubuntu, Debian, Translation Project, GNU, Linux, UNIX, VoIP, IT-Säkerhet, emulatorer, tv-spel, experiment, väl valda ord och delvis sinnesnärvaro

Välj ett ämne:

ons
23
sep '26

Har översättare ett jobb när AI tar över?

AI kan översätta en text på några sekunder. Den kan också spotta ur sig tusentals förslag, hålla en ordlista i minnet och hjälpa till att beta av sådant som tidigare tog dagar. Så frågan är förstås: behövs översättare fortfarande?

Mitt korta svar är ja. Men jobbet förändras — och det har det gjort förr.

Från att skriva allt till att fatta rätt beslut

Maskinöversättning är inte ny. Vi har länge använt översättningsminnen, termbaser och automatiska förslag. Det nya är att generativ AI kan producera text som ser färdig ut: flytande, självsäker och ofta fullt rimlig vid en snabb läsning.

Men flyt är inte samma sak som trohet. En mening kan låta naturlig och ändå vända på betydelsen, tappa en reservation eller hitta på en detalj. I programvara kan ett litet ordval dessutom avgöra om en knapp känns begriplig, om ett felmeddelande hjälper eller om användaren vågar gå vidare.

Det svåra arbetet har därför inte försvunnit. En del av det har flyttat från tangentbordet till bedömningen: Vad betyder källtexten här? Vilken term används i resten av produkten? Passar formuleringen i det här sammanhanget? Fungerar den med platshållare, pluralformer och den begränsade platsen i gränssnittet?

AI är bra på mängd — människor behövs för sammanhang

I mitt arbete med fri programvara möter jag ofta stora mängder text. Det kan handla om gränssnitt, dokumentation, felmeddelanden och tekniska begrepp. AI kan hjälpa till att skapa ett första förslag och göra stora jobb möjliga att ta sig an. Det är värdefullt.

Men förslaget behöver kontrolleras. Är tonen rätt? Är termen konsekvent? Har modellen översatt en knapp som egentligen ska heta något annat? Har den ändrat en variabel eller missat att samma ord betyder olika saker i olika vyer?

Där blir erfarenhet viktig. Den som kan både språket och produkten ser sådant som inte alltid syns i en fristående mening. Inom öppen källkod kommer också en särskild dimension till: översättningen ska fungera för riktiga användare och kunna granskas, diskuteras och förbättras gemensamt.

Mät inte kvalitet i antal ord

AI gör det billigt att producera text. Det betyder inte automatiskt att det blir billigt att få texten rätt.

Om en översättning publiceras utan granskning kan fel spridas snabbt och i stor skala. En felöversatt säkerhetsvarning, ett vilseledande betalningsvillkor eller en instruktion som leder användaren fel kan kosta mer än tiden man sparade. Volym är ett dåligt mått på kvalitet; det viktiga är om texten fungerar för den som ska använda den.

Därför behöver vi lägga mer vikt vid granskningsflöden, terminologi och testning. Det gäller särskilt när AI används för sådant som påverkar säkerhet, pengar, hälsa eller tillgång till samhällstjänster. Ju större konsekvensen blir av ett fel, desto mindre rimligt är det att låta ett ogranskat förslag gå rakt ut.

Vad händer med översättaryrket?

Jag tror inte att svaret är att alla översättare blir prompttekniker. Inte heller att yrket kan fortsätta precis som förut. Vissa uppdrag kommer att minska eller förändras. Andra kommer att växa fram kring granskning, terminologiarbete, språkdata, kvalitetssäkring och lokalisering i produkter.

Det kräver att branschen är ärlig med vad AI klarar och vad den inte klarar. Om kunder får intrycket att en maskinöversättning är likvärdig med en färdig, kvalitetssäkrad text blir förväntningarna fel. Och om allt mänskligt arbete pressas in under etiketten ”efterredigering” riskerar man att underskatta kompetensen som faktiskt behövs för att avgöra vad som bör ändras.

En bra språkgranskare rättar inte bara stavfel. Hen upptäcker när texten inte stämmer med produkten, när en term bryter mot etablerad praxis eller när en bokstavligt korrekt formulering blir obegriplig för läsaren.

Två veckor med AI som arbetskamrat

Arbetet som loggats mellan den 10 och 23 september har varit ett konkret svar på frågan om översättare behövs när AI kan producera text. Jag har använt AI för att komma igenom stora mängder material, men resultatet har blivit användbart först när förslagen har jämförts med sammanhanget, terminologin och den faktiska produkten.

Arbetet omfattade många projekt. I GitHub-ögonblicksbilden från den 23 september fanns 98 av mina öppna pull requests totalt; alla skapades alltså inte under just de här två veckorna. De täcker nya svenska språkversioner, uppdateringar och rena buggfixar. Bland projekten finns OpenClaw, Blender, Zrythm, 3D Slicer, SuiteCRM, GitLab, FreeRDP, VirtualBox, OpenSnitch, OpenVPN, Guacamole, Hermes Agent, Jan, Langflow, Vorta, Stirling-PDF, Calibre-Web-NextGen, Read the Docs, GNOME och flera andra. Alla väntar förstås inte på samma sak: några är redo för granskning, andra har frågor eller CI-kontroller kvar. En pull request är ett bidrag, inte ett löfte om att ändringen redan har kommit med.

GitLab: många små, granskade steg

Ett stort fokus har varit GitLabs svenska gränssnitt. Arbetsloggen innehåller 157 GitLab-batcher. Den 23 september fortsatte arbetet med många små, riktade Crowdin-uppdateringar. De spänner från GitLab Duo, agentflöden och kodgranskning till säkerhet, identitet, CI/CD, databaser, analys, runners och felmeddelanden. Varje batch har behandlats i sitt sammanhang, med särskild kontroll av platshållare, länkar, pluralformer och säkerhetsbetydelser. De publicerade batcherna har validerats med l10n-lint; loggen visar noll lintfel för de kontrollerade batcherna.

Det här är ett bra exempel på varför AI-förslag inte räcker i sig. En felaktig svensk formulering i en säkerhetsregel eller ett godkännandeflöde kan ändra vad användaren tror att systemet gör. Automatisering hjälper oss att hitta och bearbeta strängarna, men någon måste fortfarande avgöra om betydelsen är rätt.

Stora kataloger och specialiserad terminologi

I 3D Slicer blev den kliniska komponenten SlicerIGT komplett på svenska: 565 av 565 strängar, utan tomma eller ogranskade mål. Arbetet omfattade bland annat spårning, ultraljud, bildregistrering och OpenIGTLink. I CTK-komponenten publicerades 875 av 1 077 strängar under den dokumenterade arbetsperioden, med medicinska bildformat, DICOM-flöden och databashantering. Qt-filerna validerades och kompilerades.

I Zrythm granskades gränssnittet, ordlistan och flera manualdelar. Samtliga 1 406 tidigare tomma rader i användarhandboken fick kontextgranskade svenska förslag. Även 199 luddiga poster granskades. Manualen var låst för direktpublicering, så detta skickades in som Weblate-förslag och väntar på projektets godkännande. Det är en viktig skillnad mellan färdigt granskningsarbete och text som redan är publicerad.

Blender-arbetet handlade mycket om kvalitetssäkring: hela kön med 775 oförändrade träffar granskades, liksom återanvända översättningar och tekniska termer. Jag rättade faktiska språkfel men lät etablerade metodnamn, format och API-termer stå kvar där en svensk översättning hade gjort texten sämre.

Fler resultat

  • SuiteCRM: saknade svenska texter publicerades och verifierades för leads, affärsmöjligheter, uppgifter, möten, ärenden, kalender och samtal. De aktuella 8.10-modulerna för leads och affärsmöjligheter fick 80 respektive 41 måltexter. Flera äldre 7.15-mastermoduler kompletterades helt, bland annat leads (97), uppgifter (33), möten (78), ärenden (38), kalender (76) och samtal (65).
  • Freeplane: den svenska gränssnittskatalogen helgranskades. Äldre maskinöversättningar och betydelsefel rättades, säkerhetstexter och HTML kontrollerades och automatiska varningar gicks igenom i sitt sammanhang.
  • Zrythm: utöver den stora manualen granskades också huvudprogrammet, konton, webbtexter, ordlista och Sphinx-dokumentation. Där Weblate inte tillät direktpublicering skickades förslagen in för godkännande.
  • PCSX2: 435 aktuella UI-översättningar skickades till Crowdin efter att källan synkats mot rätt sträng-ID:n. Arbetet täckte bland annat grafik, ljud, nätverk, BIOS, handkontroller och felsökning.
  • mGBA: den svenska katalogen nådde 1 275 av 1 275 poster, utan luddiga strängar.
  • Anura: den lokala OCR- och textextraktionsappen nådde 415 av 415 svenska strängar.
  • Alovoa: dejtingplattformens svenska katalog blev 128 av 128, inklusive integritetspolicy och användarvillkor.
  • Aurora Store: katalogen kontrollerades till 100 procent, och ett otydligt apppaket-ordval rättades till ”Spara APK-fil”. Samtidigt fick l10n-lint stöd för Android-XML.
  • Bitwarden: jag granskade och rättade konkreta problem i Desktop, Browser och Mobile, bland annat en förlorad API-platshållare, valv- och säkerhetstexter samt Android- och iOS-termer.
  • OpenWrt LuCI, SuperTux, Orbot, ArcadeManager, Airsonic, Burn-My-Windows, Auxio och Apple2TS: svenska kataloger kompletterades eller granskades. Några nådde full täckning, exempelvis Orbot (339/339), ArcadeManager (286/286), Burn-My-Windows (164/164) och Auxio (337/337).
  • 3D Slicer SlicerVMTK: ett nytt medicinskt gränssnitt påbörjades. De första 490 av 719 strängarna publicerades i granskade batcher.

Verktygen bakom granskningen

Vi har också byggt upp en verktygslåda för att göra kvalitetsarbetet mer systematiskt. Verktygen gör olika jobb och kompletterar varandra:

  • l10n-lint granskar själva översättningsfilerna. Det läser bland annat PO, Qt TS, XLIFF och JSON och letar efter saknade texter, trasig syntax, felaktiga pluralformer, ändrade platshållare, problem med länkar och taggar, inkonsekvent formatering och misstänkta svenska ordval. Det kan också jämföra katalogen med källfilen, använda projektets ordlista och köras i CI. Under arbetet utökades stödet bland annat för Android XML och verktyget användes återkommande för att kontrollera batcher före publicering.
  • svlang tittar närmare på svenskan. Det kombinerar ordlistor och Hunspell med skrivregler, frekvensuppslag och heuristiska signaler om formuleringar som kan behöva läsas en gång till. Vi rättade också verktyget så att språkgranskningen av PO-filer faktiskt analyserar svenska måltexter, inte engelska källtexter eller metadata, och så att fristående gränssnittsetiketter inte slås ihop till konstgjorda meningar.
  • swedish-tm är översättningsminnet: en stor samling tidigare engelska och svenska formuleringar från fria programvaruprojekt. Den hjälper oss hitta etablerade översättningar och hålla samma uttryck konsekvent mellan projekt. Den är en källa till förslag, inte en knapp som avgör vad en ny mening ska betyda. Samma engelska fras kan behöva olika svenska ord beroende på var den visas.
  • swedish-foss-terminology samlar svensk terminologi från öppen källkod. Den aktuella termbanken omfattar drygt 325 000 termpar från 3 299 projekt, med domänanpassningar och redovisad konsensus. Den hjälper oss välja mellan konkurrerande ord och se när en term används på olika sätt i exempelvis grafik, ljud, säkerhet eller administration.

Ett konkret exempel på en regel (konsonantstrykningsregeln) vi har byggt in är kontrollen av tre identiska bokstäver i följd. I svensk sammansättning förenklas sådana möten normalt till två: process + status blir processtatus. l10n-lint flaggar därför misstänkta trippelbokstäver, men tar hänsyn till avsiktliga undantag som utrop och formatsträngar. Det fångar en typ av fel som vanliga stavningskontroller lätt missar.

Tillsammans ger verktygen flera sorters återkoppling: filen är tekniskt hel, variablerna är kvar, svenskan följer skrivreglerna och terminologin stämmer bättre med projektet. Sedan behöver en människa ändå läsa texten i sitt gränssnitt och avgöra om den verkligen passar där.

Det här är inte ett påstående om att varje rad kom från en människa från första bokstaven. AI och maskinöversättning har varit användbara förslagssystem. Men att kontrollera om förslagen håller, se när de låter rimliga men betyder fel, och få dem att fungera i en riktig produkt är också översättningsarbete. Under de här två veckorna har AI gjort det möjligt att arbeta i större skala. Den mänskliga delen har avgjort vad som faktiskt var värt att publicera.

Obs: GitHub-siffrorna är en ögonblicksbild från 23 september 2026. Status för PR:er och väntande Weblate-förslag kan ändras efter publicering.

Ett verktyg, inte en ansvarig avsändare

För mig är AI bäst när den används som en kunnig assistent: snabb på utkast, bra på att hitta mönster och användbar för repetitiva moment. Men någon behöver fortfarande stå för beslutet att texten är korrekt och lämplig att publicera.

Det är kanske den viktigaste skillnaden. AI kan leverera ett svar. Den kan inte ta ansvar för vad svaret får för följder.

Så, har översättare ett jobb när AI tar över? Ja. Men framtidens översättare kan komma att lägga mindre tid på att producera varje första version och mer tid på att se till att rätt version når rätt människa — med rätt betydelse, ton och konsekvens.

Det är fortfarande ett hantverk. Bara med fler verktyg på arbetsbänken.

Danne


Just ja, på 24 timmar körde jag även alla svenska Translation Projects översättningar genom granskningsverktygen och spottade ut
väldigt bra ändringsförslag. Se https://github.com/yeager/translations/tree/main/tp-sv

tor
23
jul '26

Översättning av LibrePCB

Nu finns LibrePCB på svenska

tis
31
mar '26

Zabbix, Wazuh, Zrythm och pipeline-fixes — en dag med infra och i18n

En fullspäckad dag med allt från infrastruktur till översättningar. Här är sammanfattningen.

Zabbix — Fullständig monitoreringsinfrastruktur

Distribuerade Zabbix 7.4 till 10 hostar — allt från Proxmox-noder och LXC-containrar till Mac Mini och WSL-maskiner.

  • 10 hostar registrerade med agent2/agentd:
  • Fixade: PHP 8.4 pgsql-modul, Admin-lockout, NVIDIA GPU-plugin-krasch
  • Dashboard

Wazuh — Uppgradering och i18n

Dessutom: första svenska översättningen av Wazuh Dashboard.

  • PR #8260 — 350 strängar i sv-SE.json
  • 78 React-komponenter internationaliserade med @osd/i18n
  • 0 kvarvarande hårdkodade strängar
  • Första icke-engelska locale-bidraget till Wazuh

Zrythm — Från 63% till 99.9%

Zrythm (digital audio workstation) gick från 63% till 99.9% svenska på en eftermiddag.

Komponent Före Efter Strängar
zrythm (app) 63% 99.9% 569 nya
web 13% 77% 178 nya
accounts 50% 81% 26 nya
user-manual 8% 89% 1 408 nya

Totalt: 2 181 strängar översatta och uppladdade till Weblate.

Hittade också en segfault-bugg i Zrythm — appen kraschar vid svenska locale pga en trasig format-sträng i den medföljande .mo-filen (4 av 5 %s-platshållare → g_strdup_printf segfaultar).

review-po-v3 — Pipeline-förbättringar

Fem uppdateringar baserade på dagens arbete:

  • ts2po-artefakter — filtrerar bort false positives från Qt TS → PO-konvertering (317 → 38 FAIL)
  • Översatta platshållare — detekterar när sub-agenter översätter {endref} → {slutref}
  • ”Vänligen” auto-fix — automatisk borttagning av DeepL:s bokstavliga ”Please”-översättning
  • DAW/musik-termer i brand-skip — plugin, fader, mixer, channel etc. flaggas inte längre som egennamn
  • DevOps/security-termer — dashboard, agent, endpoint, compliance etc. i whitelisten

parallel-worker — Filformat-validering

Patchade TR:s parallel-worker med validering som fångar felaktiga filer innan de kraschar review-po-v3:

  • ZIP-arkiv, JSON, XML/Qt TS, binärfiler — alla avvisas med tydligt felmeddelande
  • 30 error-jobb i kön → 23 återhämtade efter omstart

Siffror

Kategori Antal
Strängar översatta (Zrythm) 2 181
Strängar översatta (Wazuh) 350
React-komponenter i18n (Wazuh) 78
Zabbix-hostar deployade 10
Wazuh uppgraderad 4.11.2 → 4.14.4
Buggar rapporterade 1 (Zrythm segfault)
Pipeline-förbättringar 5
PR:ar 1 (Wazuh #8260)
sön
29
mar '26

En söndag med svenska översättningar — 2902 paket, ML, espeak och Visio

En extraordinärt produktiv dag. Här är allt som åstadkoms.

DDTSS — 2902 Debian-paketbeskrivningar

2902 paketbeskrivningar översatta till DDTSS med 84% matchningsgrad mot vår Ubuntu TM (149K strängar). Boten fixad och filtrerar nu korrekt mot DDTSS-kön.

review-po-v3 — Från 1.6 till 6.0/10

Massiv false-positive-rensning i granskningsverktyget:

  • Brand-checker: 6800 → ~200 false positives
  • Nya checks: dubbelmellanslag, HTML-mismatch, kapitalisering
  • Domänprofiler: fontforge, gnome, docs, debian
  • 3 nya kvalitetsmoduler: back-translation, LIX-läsbarhet, cross-project consistency

TR Intelligence — ML-system tränat på 244K strängar

Fyra ML-komponenter byggda med 244K granskade strängar som träningsdata:

  • N-gram språkmodell (58K ord) — flaggar onaturlig svenska
  • Termextraktion — 3893 automatiskt godkända termer från 164 projekt
  • DeepL-bias-detektor — hittar systematiska fel (0.8% påverkade)
  • Quality predictor — ML-classifier med 21 features
  • Active learning pipeline — systemet lär sig av varje manuell granskning

TR Vision-plan: från 0% till 95% auto-approve genom kalibrerade checks + ML-classifier.

Open source — 7 PR:ar, 1 redan mergad

600+ strängar till projekt med 200K+ kombinerade stjärnor:

  • react-i18next #1912 — MERGAD 🎉
  • vue-element-admin #4338 (90K ⭐), FormatJS #6200 (14.7K ⭐)
  • Ncase/trust #143, MetSys #122, OHF-Voice #124, Laravel-Lang #8275

espeak-ng — Komplett försvenskning

PR #2391 med omfattande svenska uttalsförbättringar:

Kategori Före Efter
sj-ljud (skj/sch) ɕ/ʃ (fel) ɧ (korrekt) ✅
Retroflexer rd, rn (inga) ɽ, ɽn, ɽl, ɽt ✅
Vardagsuttal de=deː, mig=miːɡ dom, mej, å ✅
Intonation Platt Fråga↗ Påstående↘ ✅
Lånord garage=ɡarɑːʃ ɡaɹɑːɧ ✅

50+ ordliste-entries, tonaccent-grund, svenska intonationstuner.

Piper TTS — Axel v2 och Alma v2 under träning

Båda rösterna tränas om med den förbättrade espeak-ng:

  • Axel v2: Fine-tune från Almas checkpoint (studio-kvalitet) + 18K LibriVox-utterances + fixad fonetik. 3000 epochs.
  • Alma v2: Fräsch träning med 3300 NST studio-utterances + fixad fonetik. 10000 epochs.

Klara imorgon. Korrekt sj-ljud, retroflexer och vardagsuttal i båda rösterna.

Visio Viewer Chrome Extension v2.0.0

Helt ombyggd från Python/Pyodide till ren JavaScript:

  • 50 MB → 66 KB (750x mindre)
  • Fungerar på Windows (Pyodide-versionen kraschade)
  • 12/16 testfiler 100% match med Python-referensen
  • pondzod-network.vsdx: 1441 element perfekt renderade
  • Skuggor, gradienter, pilar, auto text-kontrast, i18n (en+sv)

Redo för Chrome Web Store.

Forgejo — 3348 strängar granskade

100% översatt, 330 strängar fixade, 100 uppladdade till Codeberg Weblate.

Moodle — 155K strängar redo

Komplett pipeline byggd: batch-DeepL + platshållarskydd + AMOS-konvertering. Körning 1 april.

Infrastruktur

  • Glossary-sync — terminology.md → Weblate/Transifex/Crowdin
  • Quality-gate GitHub Action — blockerar merge om score < 7
  • FTL-stöd — Mozilla Fluent i TR
  • 5 nya verktyg: auto-review-pr, deepl-postprocess, contrib-finder, po-memory auto-import, review-po-v3 –fix

Siffror

Metric Värde
DDTSS paket översatta 2902
Open source PR:ar 7 (1 mergad)
TR strängar granskade 244K
ML-termer extraherade 3893
espeak-ng ordliste-entries 50+
Visio testfiler 100% match 12/16
Nya verktyg/moduler 15+
lör
28
mar '26

TR Intelligence — datadriven kvalitetsplattform för svenska FOSS-översättningar

Efter år av att granska svenska FOSS-översättningar har en sak blivit kristallklar: vi behöver bättre verktyg. När samma engelska ord som ”Apply” har nio olika svenska översättningar i olika projekt, när 69 000 Debian-paket saknar svenska beskrivningar, och när DeepL-råöversättningar innehåller systematiska fel — då är det dags för en förändring.

Problembilden

Svenska FOSS-översättningar lider av tre huvudproblem:

  • Inkonsistens mellan projekt — samma term översätts på otaliga sätt
  • Ofullständig täckning — mängder av mjukvara saknar svenska strängar
  • Kvalitetsbrister — automatiska översättningar med återkommande fel

Men vad om vi kunde använda all den data vi redan har samlat under åren? Vad om vi kunde bygga intelligenta system som lär sig av tidigare granskningsarbete?

TR Intelligence Platform

Det är här TR Intelligence Platform kommer in. Detta är inte bara ett verktyg — det är en komplett ekosystem byggd på 5,2 miljoner granskade svenska strängar och 1,2 miljoner Translation Memory-poster från över 3299 FOSS-projekt.

Plattformen består av tio sammankopplade komponenter:

  1. Kanonisk terminologibank med viktad konsensus
  2. Ensemble auto-approve med sju kvalitetssignaler
  3. ML-klassificerare för översättningskvalitet
  4. N-gram-modell för språklig korrekthet
  5. DeepL auto-fixer för vanliga systematiska fel
  6. Konsistensradar för avvikelsedetektering
  7. Regressionsdetektor för kvalitetsnedgång
  8. Goldstandard TM-export för återanvändning
  9. False positive mining för kontinuerlig förbättring
  10. DeepL glossar-feedback för bättre maskinöversättning

Kanonisk terminologibank

Hjärtat i systemet är den kanoniska terminologibanken med 326 000 svenska termer extraherade från 3299 projekt. Varje term har en viktad konsensuspoäng baserad på hur ofta den använts i granskade översättningar, med möjlighet för domänspecifika overrides när kontext kräver det.

Detta är inte bara en ordlista — det är kollektiv kunskap från svenska översättargemenskapen, destillerad till användbara rekommendationer.

Ensemble Auto-Approve

Den mest spännande komponenten är ensemble auto-approve-systemet. Det kombinerar sju olika kvalitetssignaler för att automatiskt godkänna översättningar med över 99% säkerhet:

  • Terminologikonformitet mot kanonisk bank
  • Translation Memory-träffar från verifierade källor
  • ML-klassificerare för språklig kvalitet
  • N-gram-sannolikhet för naturlighet
  • Konsistenskontroll mot projekthistorik
  • Formatverifiering för specialtecken och variabler
  • Domänspecifik validering

Redan vid första körningen kunde systemet automatiskt godkänna 6267 strängar — översättningar som normalt skulle kräva manuell granskning.

Öppna resurser för alla

All denna data görs tillgänglig som öppna resurser:

Eftersom allt är öppet kan andra utvecklare integrera dessa resurser i sina egna verktyg och processer.

Vad betyder detta?

TR Intelligence Platform representerar ett paradigmskifte från 100% manuell granskning till över 90% automation med bibehållen eller förbättrad kvalitet. Det innebär:

  • Konsistenta termer tvärs alla 3299 projekt i databasen
  • Snabbare genomströmning av översättningsuppdrag
  • Högre kvalitet genom systematisk kunskapsanvändning
  • Bättre DeepL-översättningar via glossar-feedback
  • Friggjord tid för översättare att fokusera på verkligt svåra fall

Det här är unikt. Ingen annan har samlat och processerat 5,2 miljoner granskade svenska översättningssträngar. Den här datavolymen, kombinerad med moderna ML-tekniker, öppnar möjligheter som inte funnits förut.

Svenska FOSS-översättningar är på väg att bli betydligt bättre, snabbare och mer konsekventa. Och det bästa av allt? All kunskap delas öppet så att hela gemenskapen kan dra nytta av den.

ons
25
mar '26

En dag med svensk a11y och l10n — 28 000 strängar, 7 PRs och 3 röstpaket

En intensiv dag med svenska översättningar och tillgänglighetsförbättringar — 7 GitHub-PRs, 3 nya röstpaket, ~28 000 översatta strängar och en bugfix i ett populärt CLI-verktyg. Allt på en förmiddag.

Översättningar: 6 projekt till 100%

Vi tog oss an projekt efter projekt och körde dem genom vår DeepL → review-po-v3 → TR pipeline:

  • Jitsi Meet — 26 strängar → 100% (PR #17206)
  • Bottles — 10 strängar → 100% (PR #4445)
  • Thunderbird Android — 73 strängar → ~100% (PR #10746)
  • Fish Shell — 25 237 strängar, 6% → 100% (PR #12569)
  • Lutris — 1 710 strängar, ny svensk översättning (PR #6580)
  • Fossify — 14 strängar pushade direkt via Weblate API

Alla genomgår vår kvalitetspipeline: DeepL Pro-förövesättning → automatisk regex-korrigering (denna→den här, vänligen→ta bort) → msgfmt-validering → review-po-v3 med 10+ språkliga checks → manuell granskning i TR-webappen. Fish Shell och Lutris fick båda TR score 10.0.

Nextcloud: 226 kvalitetsfixar

En genomgång av Nextclouds svenska översättningar avslöjade 226 kvalitetsproblem i 23 appar — mest ”denna/detta/dessa” (173 st) som borde vara ”den här/det här/de här” enligt Språkrådets rekommendationer. Fixarna skickas in via Transifex.

NVDA: Röster, översättning och dokumentation

NVDA (NonVisual Desktop Access) är världens mest använda skärmläsare med öppen källkod. Idag publicerade vi:

Tre svenska Piper TTS-röster

  • Alma (kvinna) — tränad på NST Swedish speech corpus
  • Daniel (man) — klonad från 3 minuters tal med Piper fine-tuning på RTX 4080
  • Axel (man) — NST-baserad, träning pågår till 5000 epochs

Alla tre är kompatibla med Sonata-tillägget för NVDA och finns på GitHub. De ger dramatiskt bättre röstupplevelse jämfört med den inbyggda eSpeak NG.

Översättning och dokumentation

NVDA:s svenska gränssnittsöversättning är på 99% (10 strängar kvar). Vi skickade färdiga översättningar till maintainers via Crowdin. NVDA-dokumentationen hanteras via Crowdin XLIFF — en viktig lärdom.

DDTP-Ubuntu: 149 538 paketbeskrivningar

Alla 54 955 oöversatta Ubuntu-paketbeskrivningar i universe-paketet matchades mot våra befintliga översättningar — 100% täckning. Uppladdningen till Launchpad pågår i batches om 19 999 strängar. En fullständig kvalitetsgranskning via TR-pipelinen är schemalagd till fredag.

Moodle: 54 strängar via AMOS

Moodle (93% översatt, 2 393 strängar kvar) fick 54 nya core-strängar översatta via AMOS Translator — bland annat hela den nya inloggningssidan i Moodle 5.2. Ett nattjobb översätter ~600 strängar per natt automatiskt.

Bugfix: gogcli UTF-8 MIME-bugg

Vi hittade och fixade en bugg i gogcli (Google Workspace CLI) där Content-Transfer-Encoding: 7bit användes för UTF-8-text, vilket bryter mot RFC 2045 och kan orsaka att e-postbilagor försvinner. Alla tester passerar.

Smart home: Hue-automationer

En nätverksskanning avslöjade 14 Hue-rum med ~30 lampor, Nanoleaf Shapes, 7 Sonos-enheter, NVIDIA Shield med Kodi, och mycket mer. Vi skapade fyra ljusscener: Filmläge, Kodläge, God natt och God morgon — alla styrda via OpenHue CLI.

Vad som kommer

  • Kodi AI-undertextare med realtidsöversättning och Piper TTS-uppläsning (fredag)
  • Home Assistant-automationer med Daniels klonade röst i Sonos
  • Fortsatt Moodle-översättning (klart på 4 nätter)
  • DDTP kvalitetsgranskning + upstream-push
ons
25
mar '26

Bättre svenska i NVDA — naturlig röst, översättning och dokumentation

NVDA (NonVisual Desktop Access) är världens mest använda skärmläsare med öppen källkod. Över 200 000 synskadade personer världen över förlitar sig på den dagligen. Idag tar vi ett stort steg för svenska NVDA-användare.

🎤 Alma — en naturlig svensk röst för NVDA

NVDA:s inbyggda röst (eSpeak NG) låter — låt oss vara ärliga — som en robot från 90-talet. Särskilt på svenska. Vi har nu paketerat Alma, en neuralt tränad svensk kvinnoröst, som ett färdigt röstpaket för Sonata-tillägget.

Skillnaden är dramatisk. Alma använder Piper TTS — en lokal neural text-till-tal-motor som körs helt offline. Ingen molntjänst, ingen fördröjning, ingen integritetsproblematik.

Installation

  1. Installera NVDA (2024.1 eller senare)
  2. Installera Sonata Neural Voices-tillägget
  3. Ladda ner Alma röstpaket (sv_SE-alma-medium.tar.gz, 56 MB)
  4. I NVDA: Verktyg → Sonata Voice Manager → ”Install from local file”
  5. Starta om NVDA, välj Sonata som talsyntes och Alma som röst

🔗 github.com/yeager/piper-voices-sv

📝 Översättning — 99% komplett

NVDA:s svenska gränssnittsöversättning är nu på 99%, med bara 10 strängar kvar (som vi redan har färdiga översättningar för). Den svenska användarguiden har uppdaterats med fem kritiska sektioner som saknades:

  • Windows OneCore-röster
  • Säkerhetsfunktioner (säkert läge, säkra skärmar)
  • Kommandoradsalternativ
  • Tilläggsbutiken
  • Synhjälpmedel

Ändringsloggen (changes.md), som var tom sedan 2014, har översatts med de senaste funktionerna från NVDA 2026.1 och 2026.2.

🔧 eSpeak NG — förbättrat svenskt uttal

Vi har även skickat in förbättringar av eSpeak NG:s svenska uttalsregler (PR #2364). eSpeak NG är den inbyggda talsyntesen i NVDA och används som fallback om Piper inte är installerat.

Varför det här spelar roll

Enligt Synskadades Riksförbund finns det cirka 120 000 personer med synnedsättning i Sverige. Av dem förlitar sig många på skärmläsare för allt från mejl till bankärenden. Varje förbättring av det svenska stödet — röst, översättning, dokumentation — har direkt påverkan på dessa personers vardag.

En naturlig svensk röst är inte bara trevligare att lyssna på. Den minskar kognitiv belastning, gör det lättare att uppfatta nyanser i text, och gör hela datorupplevelsen mer mänsklig.

Vad som kommer härnäst

  • Fler röster — En manlig svensk röst (Axel) samt ytterligare en röst baserad på röstkloning är under träning
  • Dokumentation — Fortsatt översättning av de 274 sektioner som fortfarande saknas i användarguiden
  • hunspell-sv — Vår utökade svenska ordbok (269 000 ord) förbättrar stavningskontrollen som NVDA och andra verktyg använder

Bidra

Översättningen sker via Crowdin. Röstpaketen finns på GitHub. Alla bidrag välkomnas.

tis
24
mar '26

Introducing Folio — A GTK4 E-Book Reader with AI Voice Narration

I built an e-book reader. Not because the world needed another one, but because I wanted one that could read to me — in Swedish, offline, with a voice that doesn’t sound like a robot from 1998.

🔗 github.com/yeager/folio

What is Folio?

Folio is a GTK4/libadwaita e-book reader for Linux with built-in text-to-speech powered by Piper. It supports EPUB, PDF, MOBI, FB2, and comic book formats (CBZ/CBR).

The key feature: word-level karaoke highlighting during TTS playback. As the voice reads, each word lights up in yellow, and the text auto-scrolls to follow along. It’s like subtitles, but for books.

Folio reading Midsommaren 1983 with word highlighting

Features

  • All major e-book formats: EPUB, PDF, MOBI, FB2, CBZ/CBR
  • Piper TTS integration: Offline, local voice synthesis
  • Swedish voices: Alma (available now), Axel (in training)
  • English voices: Amy and others via Piper
  • Word-level highlighting: Karaoke-style visual tracking
  • Auto page-turn: Pages advance as the voice reads
  • Chapter navigation: Sidebar with table of contents
  • Reading position memory: Picks up where you left off
  • Dark theme: Native libadwaita dark mode
  • i18n ready: English + Swedish, Transifex integration prepared

Demo

A 22-second demo showing Folio reading the opening of Midsommaren 1983 with the Alma Swedish TTS voice:

🎬 Watch demo video (MP4)

The Voice: Alma & Axel

Folio ships with support for Piper’s Swedish voices. Alma (sv_SE-nst-medium) is available today. Axel, a new male Swedish voice currently in training on an RTX 4080, will be available soon.

Both voices run entirely offline — no cloud APIs, no data leaves your machine.

Technical Details

  • Language: Python 3 with PyGObject
  • UI toolkit: GTK4 + libadwaita
  • TTS engine: Piper (VITS/JETS neural TTS)
  • Build system: Meson
  • Packaging: Flatpak manifest included
  • App ID: se.danielnylander.folio
  • License: GPL-3.0

Install

git clone https://github.com/yeager/folio.git
cd folio
pip install -r requirements.txt
python run.py

Requires GTK4, libadwaita, and Piper TTS installed.


Folio is part of an ongoing effort to improve Swedish language technology — from hunspell-sv spell checking to Piper voice training to Ubuntu translation quality.

mån
23
mar '26

hunspell sv_SE — 279 000 ord: Största fria svenska ordboken

Den svenska hunspell-ordboken har fått en massiv uppgradering — från 154 479 till 251 127 basord, en ökning med 63%. Det gör den till en av de mest kompletta fria svenska ordböckerna som finns.

Bakgrund

Hunspell används för stavningskontroll i LibreOffice, Firefox, Thunderbird, och de flesta Linux-distributioner. Den svenska ordboken baserades på SFOL 2.42 (Den Stora Fria Ordlistan) med 154 479 ord — men hade inte uppdaterats på flera år.

Kommersiella stavningskontroller (Microsoft Word, Google Docs) har ofta 200 000–300 000 basord. Vi ville nå samma nivå.

Vad vi lade till

Källa Ord Beskrivning
SFOL 2.42 154 479 Officiell svensk ordlista (bas)
Översättningsminne +29 492 Ord ur 784 000 professionella GNOME/KDE/Mozilla-översättningar
Svenska Wikipedia +66 268 Filtrerat svenskt vokabulär (suffixvaliderat)
Modern svensk prosa +608 Ord ur romanen Midsommaren 1983 + Wikipedia-artiklar
Datatermgruppen +280 Officiella svenska IT-termer
Totalt 251 127

Kvalitetskontroll

  • Finsk filtrering — 5 695 finska ortnamn (järvi, joki, lahti, etc.) bortrensade från Wikipedia-data
  • Engelskt filter — Alla ord jämförda mot engelsk ordbok, engelska ord utan svenska tecken uteslutna
  • Morfologisk validering — Endast ord med svenska tecken (åäö) eller svenska ändelser (-ning, -tion, -het, -isk, etc.)
  • TM-validering — Ord ur översättningsminnet förekommer ≥2 gånger i professionellt granskade översättningar

Installation

Ubuntu/Debian

# Lägg till repo
echo "deb https://yeager.github.io/debian-repo ./" | sudo tee /etc/apt/sources.list.d/yeager.list
sudo apt-get update
sudo apt-get install hunspell-sv

Fedora/RHEL

# Lägg till repo
sudo dnf config-manager --add-repo https://yeager.github.io/rpm-repo/yeager.repo
sudo dnf install hunspell-sv

macOS (Homebrew)

cp sv_SE.dic sv_SE.aff /opt/homebrew/share/hunspell/
cp sv_SE.dic sv_SE.aff ~/Library/Spelling/

LibreOffice-integration

En patch har skickats till LibreOffice via Gerrit (#202383). Vi har även kontaktat SFOL för att diskutera integration i den officiella distributionen.

Vad skiljer oss från andra?

De flesta hunspell-ordböcker förlitar sig enbart på en statisk ordlista. Vår ordbok kombinerar:

  • SFOL — den officiella grunden
  • Levande översättningsdata — ord som faktiskt används i modern svensk mjukvara
  • Wikipedia-vokabulär — bred täckning av samtida svenska
  • CI/CD — GitHub Actions validerar ordboken automatiskt

Resultatet: en ordbok som känner igen databasadministratör, molntjänst, stavningskontroll, e-postadress och filsystemshanterare — ord som en stavningskontroll borde kunna.

Länkar


Uppdatering 2026-03-24: +18 052 ord från SALDO och Folkets Lexikon

Ordboken har utökats ytterligare med 18 052 nya ord från två vetenskapliga källor:

Källa Ord Beskrivning
SALDO (Språkbanken, GU) ~17 000 131 020 lemman, CC-BY 3.0 — Sveriges största morfologiska lexikon
Folkets Lexikon (KTH) ~900 Kurerad svensk-engelsk ordbok, CC-BY-SA 2.5
Korsvaliderade ~160 Ord som finns i båda källorna

Nytt totalt: 269 221 basord (var 251 127).

Exempel på nya ord

Här är ett urval av de nya orden — allt från vardagsspråk till facktermer:

abalone, alcantara, aplik, asbestartad, avantscen, baseballträd, catwalka, fotogenique, fånggård, gingham, gisseldjur, halvnäcka, hårrörskärl, indigneras, interfix, jämsidig, karess, kollidering, kristtorn, lapska, macedonsk, misskundsamhet, paronym, plattnaglad, reguladetri, saktande, simili, skarpslipa, skrävlighet, skölpa, slittålighet, smalvägg, spänstande, stubbighet, tillgivande, tolklina, tomtebisse, torrfodrande, vinterlighet, värdhet

Metod

  • SALDO:s 74 MB XML-fil parsades för alla 131 020 lemman med ordklass
  • Folkets Lexikons 35 540 ord extraherades och korsvaliderades
  • Varje kandidat testades mot hunspells befintliga affixexpansion
  • Endast ord som hunspell INTE redan hanterade via böjningsregler inkluderades
  • Filtrering: inga multiord-uttryck, inga obskyra produktiva former, längd 3–30 tecken

Nästa steg

  • SALDOM-paradigmer: SALDO:s böjningsdatabas (254 MB) kan generera hunspell-affixregler för ytterligare ~10 000 ord med korrekt böjning
  • Gerrit-patch: Patch #202383 uppdateras med de nya orden → alla Linux-distributioner får dem
  • Debian-bugg: Ubuntu har fortfarande hunspell-sv 1.51 (!) — rapporteras till Debian-underhållarna

Uppdatering 2: SALDOM-paradigmer — 279 121 ord med böjningsstöd

Ordboken har fått ytterligare 17 684 ord med korrekt böjningsstöd tack vare SALDOM — Språkbankens fullständiga böjningsdatabas (254 MB XML).

Steg Ord Källa
Bas 154 479 SFOL 2.42
+ TM + Wikipedia 251 169 Professionella översättningar + filtrerat Wikipedia
+ SALDO + Folkets 269 221 Språkbankens lemmalexikon + KTH:s ordbok
+ SALDOM paradigmer 279 121 Böjningstabeller → hunspell-affixregler

Vad är SALDOM?

SALDOM innehåller alla böjningsformer för varje ord i SALDO — t.ex. stol → stolen, stolar, stolarna. Vi parsade 254 MB XML och mappade 34 paradigmklasser (t.ex. nn_2u_stol, vb_1a_kasta) till hunspells affixflaggor.

Resultatet: 9 726 ord med full böjning (hunspell genererar alla ordformer automatiskt) + 7 957 ord med grundigenkänning.

Exempel

Ordet akademi med affixflagga genererar automatiskt: akademi, akademin, akademier, akademierna. Utan flagga hade vi behövt lägga in varje form manuellt.

Jämförelse

  • Microsoft Word svenska: ~250 000 ord (uppskattning)
  • Google Docs svenska: ~200 000 ord (uppskattning)
  • hunspell-sv: 279 121 ord — troligtvis störst av alla fria svenska ordböcker

Gerrit-patchen för LibreOffice har uppdaterats: Patch #202383 (patchset 4). Debian-bugg #1131786 filerad för att uppdatera från 1.51.

sön
22
mar '26

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.