Kategori: Ubuntu

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

  • Alma, Spiel och Orca — svensk tillgänglighet på Linux

    Alma, Spiel och Orca — svensk tillgänglighet på Linux

    Orca skärmläsare har länge varit det självklara valet för synnedsatta Linux-användare, men stödet för svenska röster har historiskt varit bristfälligt. Med Spiel — GNOME:s nya talramverk — och den svenska Piper-rösten Alma ändras det nu.

    Vad är Orca, Spiel och Piper?

    Orca är GNOME:s inbyggda skärmläsare. Den läser upp vad som händer på skärmen — menyer, knappar, text — för användare som inte kan se. Orca stöder punktskrift (braille), tangentbordsnavigering och anpassningsbara röstprofiler.

    Spiel är ett nytt talramverk för Linux som ersätter det åldrade speech-dispatcher. Det använder D-Bus och GStreamer för att koppla ihop skärmläsare med talsyntes-leverantörer (”speech providers”). Fördelen med Spiel är att rösterna kan installeras oberoende — varje röst är en egen D-Bus-tjänst som startar automatiskt.

    Piper är en neuralt baserad text-till-tal-motor (ONNX) som ger naturligt klingande tal. Den körs helt lokalt — ingen molntjänst behövs.

    Alma är en svensk Piper-röst (sv_SE) som vi använder med speech-provider-piper — en Rust-binär som serverar Piper-modeller via D-Bus till Spiel.

    Arkitektur

    Orca (skärmläsare)
      └─ libspiel (klientbibliotek, GObject Introspection)
           └─ D-Bus → ai.piper.Speech.Provider (speech-provider-piper)
                └─ Piper/sonata engine + ONNX-modell
                     └─ Röstfiler i /usr/share/piper/voices/

    Fördelar

    • Helt lokalt — ingen molntjänst, ingen internetanslutning krävs
    • Naturligt tal — neurala modeller ger mycket bättre kvalitet än äldre regelbaserade synteser (eSpeak, Festival)
    • Automatisk start — speech-provider-piper aktiveras via D-Bus när Orca eller Spiel begär tal
    • Lätthanterligt — nya röster installeras genom att lägga ONNX-filer i /usr/share/piper/voices/
    • Snabbt — Rust-binären speech-provider-piper är resurssnål och startar direkt

    Demo

    Här är en inspelad skärmsession som visar Alma-rösten via Spiel. Terminalen kör spiel-kommandot som syntetiserar svensk text i realtid:


    Alma Voice Demo i terminal

    Orca-inställningar med Spiel

    Orca 50 har inbyggt stöd för Spiel som talsystem. Här syns inställningarna på svenska:

    Orca - Läs upp allt
    Orca - Eko
    Orca - Markörnavigering
    Orca - Systeminformation

    Installation via pakethanterare

    Vi har byggt färdiga paket för både Debian/Ubuntu (.deb) och Fedora (.rpm). Det enda du behöver göra är att lägga till repot och installera:

    Ubuntu / Debian

    # Lägg till repot
    echo "deb [trusted=yes] https://yeager.github.io/debian-repo/ stable main" | \
      sudo tee /etc/apt/sources.list.d/yeager-l10n.list
    sudo apt update
    
    # Installera speech-provider-piper + Alma-rösten
    sudo apt install speech-provider-piper piper-voice-sv-alma

    Fedora

    # Lägg till repot
    sudo dnf config-manager addrepo --from-repofile=https://yeager.github.io/rpm-repo/yeager.repo
    
    # Installera speech-provider-piper + Alma-rösten
    sudo dnf install speech-provider-piper piper-voice-sv-alma

    Paketen installerar:

    • speech-provider-piper — Rust-binären + D-Bus-service för Spiel (GitHub release)
    • piper-voice-sv-alma — Alma ONNX-modell + konfiguration i /usr/share/piper/voices/sv_SE-alma-medium/

    Libspiel (om det inte redan finns)

    Spiel-biblioteket behövs också, men det finns ännu inte i distrorepona. Bygg från källkod:

    # Förutsättningar (Ubuntu)
    sudo apt install meson gcc libglib2.0-dev libgirepository1.0-dev \
      libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
    
    # Bygg libspiel
    cd /tmp
    git clone https://github.com/project-spiel/libspiel.git
    cd libspiel
    meson setup build --prefix=/usr -Dtests=false -Ddocs=false
    meson compile -C build
    sudo meson install -C build
    sudo ldconfig

    Verifiera

    # Lista röster
    spiel -V
    # Förväntat: Alma  sv-SE  sv_SE-alma-medium  ai.piper.Speech.Provider
    
    # Testa tal
    spiel -v sv_SE-alma-medium -p ai.piper.Speech.Provider "Hej, jag heter Alma."
    
    # Starta Orca med Spiel
    orca --replace --speech-system=spiel

    Röstkvalitet: brusparametrar

    Pipers standardparametrar kan ge hörbart brus. Redigera röstens JSON-config (/usr/share/piper/voices/sv_SE-alma-medium/alma-voice.onnx.json) och sätt:

    "inference": {
      "noise_scale": 0.3,    // standard 0.667 — för brusigt
      "length_scale": 1,
      "noise_w": 0.5         // standard 0.8 — för mycket variation
    }

    Testat på

    • Ubuntu 26.04 (Orca 50 beta) ✅
    • Fedora 43 (GNOME 49.4, Orca 49.5) ✅

    Status och framtid

    Libspiel kräver fortfarande manuell kompilering, men speech-provider-piper och Alma-rösten finns som färdiga paket i vårt repo. Förhoppningen är att libspiel snart paketeras av distributionerna. Det finns också planer på att:

    • Publicera Alma-rösten i Pipers röstkataloger på HuggingFace
    • Bidra med buggfixar upstream (linker-buggen, nightly Rust-kravet)

    Tillgänglighet på svenska har aldrig varit bättre — och det blir bara bättre härifrån.

    Länkar


    Uppdatering: Alma omtränad (mars 2026)

    Alma-rösten har nu omtränats med 10 000 epochs (upp från 8 000) och finjusterade inferensparametrar för mer naturligt tal. De nya inställningarna ger bättre prosodi och expressivitet.

    Lyssna på den omtränade rösten

    Alma (omtränad) läser en svensk text — 1 minut demo

    Förbättringar

    • 10 000 epochs träning (1 875 ljudklipp)
    • Optimerade parametrar: noise_scale=0.8, noise_w=0.6, length_scale=0.9
    • Bättre intonation och naturligare pauser
    • Kvalitetsbetyg: 8/10

    Ladda ner

  • Spiel, Keycloak, EmuDeck och 976 piktogram

    Senaste veckan har det hänt en del på översättnings- och tillgänglighetsfronten. Här är en sammanfattning.

    speech-provider-piper — Piper TTS för GNOME Orca

    Jag har paketerat speech-provider-piper som .deb, .rpm och AUR-paket. Det är en D-Bus speech provider som kopplar ihop Piper neural TTS med GNOME:s Spiel-ramverk.

    I praktiken: installera paketet, kör orca --replace --speech-system=spiel, klart. D-Bus auto-activation sköter resten. Testat på Ubuntu 26.04 och Fedora 43 med den svenska rösten sv_SE-alma-medium.

    Paket finns i mitt apt-repo, rpm-repo och på AUR.

    Keycloak — svensk översättning komplett

    PR #47005 skickad till Keycloak med komplett svensk översättning:

    • Account: 37% → 100% (+222 strängar)
    • Email: 37% → 100% (+41 strängar)
    • Login: 99% → 100% (+7 strängar)

    Keycloak används som identitetsleverantör av bland annat Fedora, KDE och många företag. Att ha fullständig svensk översättning av inloggnings- och kontohanteringssidorna är viktigt för tillgängligheten.

    EmuDeck — svensk översättning

    Skickade PR #33 med komplett svensk översättning (294 strängar, 100%) av EmuDeck, det populära verktyget för att konfigurera emulatorer på Steam Deck.

    Canonical authd — i18n-förfrågan

    Ubuntu 26.04 har stöd för authd, Canonicals nya autentiseringstjänst för externa identitetsleverantörer (bl.a. Microsoft Entra ID). Jag har skapat issue #1308 med förfrågan om internationalisering och erbjudit svensk översättning.

    Bildstöd — 976 piktogram med Stockholm-tema

    Bildstödsbiblioteket på autismappar.se har nu 976 piktogram. Senaste tillskottet är 40 Stockholm-specifika bilder som barn kan relatera till: SL-buss, tunnelbana, pendeltåg, Skansen, Gröna Lund, förskola, skolgård, fritids, fika, kebab och mycket mer.

    tp-sv-lint — automatisk uppdatering

    Skapade ett fristående skript som automatiskt uppdaterar tp-sv-lint-sidan varannan natt kl 04:00 via launchd. Helt utan manuell körning — laddar ner PO-filer, kör lint, genererar HTML och laddar upp till servern.

  • Två dagars översättningsmaraton med AI

    De senaste två dagarna har jag och min AI-assistent genomfört ett massivt översättningsprojekt. Här är en sammanfattning.

    GNU Translation Project — 143 svenska PO-filer

    Vi har granskat samtliga 143 svenska PO-filer i GNU Translation Project med tre verktyg:

    • l10n-lint — 6 729 issues hittade (format, interpolation, terminologi)
    • svlang — 3 737 anglicismer + 21 skrivregelfel
    • AI-granskning — 22 filer med konkreta förbättringsförslag

    Resultatet finns publikt: danielnylander.se/tp-sv-lint/ — en interaktiv webbsida med filtrering, diff-nedladdning och kvalitetsindikatorer per paket.

    Tre paket (mailfromd, savane, denemo) skickades in till TP med 10/10 kvalitet.

    Verktygsreleaser

    Under arbetet utvecklades verktygen avsevärt:

    • l10n-lint 1.18.0 — ny decimalkomma-check, pluralformkontroll (7 regler), typo-detektion, terminologi, false friends, y/n→j/n, anglicism-check
    • svlang 0.2.0 — nytt skrivregler-kommando (särskrivning, de/dem, stavfel), 83% färre false positives på svengelska-checken
    • po-translate 1.6.0 — fixade bugg som förstörde pluralformer, ny --fuzzy-flagga

    Alla tre finns som .deb och .rpm i mina paketrepon.

    Ardour — svensk översättning +620 strängar

    Ardours svenska översättning gick från 92,5% till 99,8% täckning. 620 nya strängar översattes via DeepL Pro API och sedan hårdgranskades med korrekt DAW-terminologi (insticksmodul, fader, spår, sampel). PR #1070 ligger uppe.

    GIMP — 70 nordiska snabbkommandon fixade

    Alla 6 svenska PO-filer (10 981 strängar) granskades. Huvudfyndet: 70 snabbkommandon (accelerators) som låg på åäö — flyttade till närmaste ASCII-bokstav med ett specialskrivet Python-skript som bevarar alla svenska tecken.

    NetworkManager — stenhård granskning

    2 523 strängar granskade. Filen var redan i utmärkt skick — bara en anglicism hittad (”default”→”standard” i löptext).

    Blender — 38 000 strängar uppladdade

    En komplett svensk översättning (38 016 strängar) laddades upp till Blenders Weblate-instans. Cloudflare-skydd krävde en kreativ CDP-approach (Chrome DevTools Protocol) för att komma förbi JS-utmaningen.

    FreeCAD — Crowdin

    27 .ts-filer (kärnan) och 25 addon-filer granskades med korrekt CAD-terminologi (villkor, kropp, utfyllnad, montering). Allt laddat upp till Crowdin.

    Qt 6.11

    Patchset 3 för svenska Qt-översättningen ligger på Gerrit #714640. Alla 5 review-kommentarer från Mats Honkamaa har åtgärdats.

    Godot Engine + OBS Studio

    Just påbörjat: Godot (6 183 strängar, kvalitetsgranskning) och OBS Studio (107 saknade strängar översatta, full review av 1 408 strängar).

    Alma — svensk TTS-röst

    Vi jämförde 5 olika TTS-parametervarianter och valde den renaste (noise_scale 0.3, noise_w 0.5). Publicerad på HuggingFace. Axels röst tränas fortfarande (epoch 799/3000).

    Övrigt

    • RHVoice — svenskt språkmodul byggt och publicerat (GitHub)
    • Etcher — v2.1.4-l10n med 5 översättningar integrerade
    • autismappar.se — nu 72 appar, 3 nya för verbal dyspraxi/CAS

    Två intensiva dagar. Open source-översättning lever. 🇸🇪

  • ClipKeeper — A GTK4 Clipboard Manager for Linux

    ClipKeeper — A GTK4 Clipboard Manager for Linux

    ClipKeeper screenshot
    ClipKeeper — a modern clipboard manager for Linux

    English

    ClipKeeper is a new clipboard manager for Linux, built with GTK4 and libadwaita. It monitors your clipboard and keeps a searchable history of everything you copy — text, URLs, code snippets, and more.

    Key features:

    • Clipboard history with up to 500 entries
    • Instant search and filtering (Ctrl+F)
    • Pin important clips so they never expire
    • Auto-detect content types (URLs, code, colors)
    • System tray indicator
    • Follows system dark/light theme
    • CLI: clipkeeper --list, --clear, --version

    Available as .deb and .rpm packages from our Debian and RPM repositories. Translations are managed on Transifex — currently available in 11 languages.

    🔗 Links: GitHub · Download v0.1.0 · Translate

    🔐 Secure Storage (v0.2.0)

    Your clipboard history may contain passwords and sensitive data. ClipKeeper encrypts all history at rest using Fernet (AES-128-CBC + HMAC) with a machine-derived key via PBKDF2 (100,000 iterations). History files are restricted to owner-only permissions (0600).


    Svenska

    ClipKeeper är en ny urklippshanterare för Linux, byggd med GTK4 och libadwaita. Den övervakar urklipp och sparar en sökbar historik av allt du kopierar — text, URL:er, kodavsnitt och mer.

    Funktioner:

    • Urklippshistorik med upp till 500 poster
    • Snabbsökning och filtrering (Ctrl+F)
    • Fäst viktiga klipp så de aldrig försvinner
    • Automatisk identifiering av innehållstyp (URL, kod, färger)
    • Systemfältsindikator
    • Följer systemets mörka/ljusa tema
    • Kommandorad: clipkeeper --list, --clear, --version

    Tillgänglig som .deb- och .rpm-paket från våra Debian– och RPM-förråd. Översättningar hanteras på Transifex — för närvarande tillgänglig på 11 språk.

    🔗 Länkar: GitHub · Ladda ner v0.1.0 · Översätt