Blogg

  • 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)
  • 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+
  • 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.

  • 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
  • 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.

  • 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.

  • 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.

  • 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.

  • StoryMaker — Interaktiva berättelser för barn

    StoryMaker skapar interaktiva berättelser för barn — med AI, piktogram och svensk röst.

    StoryMaker 0.2.0

    Demo med Alma-rösten

    ”Den Magiska Skogen” uppläst med Piper TTS och den svenska Alma-rösten:

    Så fungerar det

    1. Skapa en profil — namn, ålder, intressen
    2. Välj ett tema — äventyr, rymden, djur, havet…
    3. AI:n skapar en berättelse med valalternativ
    4. Du väljer vad som händer härnäst — du styr handlingen!
    5. Efter varje kapitel: läsförståelsefrågor

    Funktioner

    • 📖 Interaktiva berättelser med 3-5 kapitel och valalternativ
    • 🤖 AI-generering — OpenAI eller Anthropic (demo-läge utan nyckel)
    • 📚 40 färdiga berättelser — 20 svenska + 20 engelska
    • 🔊 Alma-rösten — naturlig svensk uppläsning via Piper TTS
    • 🧒 Åldersanpassat — 6-8, 9-10, 11-12 år
    • 🖼️ ARASAAC-piktogram — bildstöd för varje nyckelord
    • ⚙️ Inställningar — röstval (sv/en, man/kvinna), textstorlek, automatisk uppläsning

    Installation

    sudo apt update && sudo apt install storymaker

    Källkod · Berättelsebibliotek · Översätt

  • ReadAloud — Läs upp text med svensk röst

    ReadAloud skannar text från kameran eller importerar dokument (PDF, bilder, textfiler) och läser upp dem med Piper TTS och den svenska Alma-rösten.

    Demo

    FN:s allmänna förklaring om de mänskliga rättigheterna uppläst med Piper TTS (Alma sv_SE):

    Funktioner

    • 📷 Kamera-OCR — Skanna tryckt text med Tesseract OCR
    • 📄 Fil-import — PDF, bilder, textfiler, DOCX
    • 🔊 Piper TTS — Alma (svenska), Lessac/Ryan (engelska)
    • 🌐 Språkval — Svenska och engelska röster (man/kvinna)
    • Tillgänglighet — Stora knappar, tangentbordsnavigering

    Installation

    sudo apt update && sudo apt install readaloud

    Källkod: github.com/yeager/ReadAloud