<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ubuntu | Daniel Nylander.se</title>
	<atom:link href="https://www.danielnylander.se/category/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.danielnylander.se</link>
	<description>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</description>
	<lastBuildDate>Sun, 29 Mar 2026 18:46:11 +0000</lastBuildDate>
	<language>sv-SE</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/www.danielnylander.se/wp-content/cropped-danne.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Ubuntu | Daniel Nylander.se</title>
	<link>https://www.danielnylander.se</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">87370683</site>	<item>
		<title>En söndag med svenska översättningar — 2902 paket, ML, espeak och Visio</title>
		<link>https://www.danielnylander.se/2026/03/29/en-sondag-med-svenska-oversattningar-2902-paket-7-prar-ml-och-sj-ljud/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=en-sondag-med-svenska-oversattningar-2902-paket-7-prar-ml-och-sj-ljud</link>
					<comments>https://www.danielnylander.se/2026/03/29/en-sondag-med-svenska-oversattningar-2902-paket-7-prar-ml-och-sj-ljud/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Nylander]]></dc:creator>
		<pubDate>Sun, 29 Mar 2026 14:52:39 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.danielnylander.se/2026/03/29/en-sondag-med-svenska-oversattningar-2902-paket-7-prar-ml-och-sj-ljud/</guid>

					<description><![CDATA[<p>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, [&#8230;]</p>
<p>The post <a href="https://www.danielnylander.se/2026/03/29/en-sondag-med-svenska-oversattningar-2902-paket-7-prar-ml-och-sj-ljud/">En söndag med svenska översättningar — 2902 paket, ML, espeak och Visio</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>En extraordinärt produktiv dag. Här är allt som åstadkoms.</p>
<h2>DDTSS — 2902 Debian-paketbeskrivningar</h2>
<p><strong>2902 paketbeskrivningar</strong> översatta till DDTSS med 84% matchningsgrad mot vår Ubuntu TM (149K strängar). Boten fixad och filtrerar nu korrekt mot DDTSS-kön.</p>
<h2>review-po-v3 — Från 1.6 till 6.0/10</h2>
<p>Massiv false-positive-rensning i granskningsverktyget:</p>
<ul>
<li>Brand-checker: <strong>6800 → ~200</strong> false positives</li>
<li>Nya checks: dubbelmellanslag, HTML-mismatch, kapitalisering</li>
<li>Domänprofiler: fontforge, gnome, docs, debian</li>
<li>3 nya kvalitetsmoduler: back-translation, LIX-läsbarhet, cross-project consistency</li>
</ul>
<h2>TR Intelligence — ML-system tränat på 244K strängar</h2>
<p>Fyra ML-komponenter byggda med 244K granskade strängar som träningsdata:</p>
<ul>
<li><strong>N-gram språkmodell</strong> (58K ord) — flaggar onaturlig svenska</li>
<li><strong>Termextraktion</strong> — 3893 automatiskt godkända termer från 164 projekt</li>
<li><strong>DeepL-bias-detektor</strong> — hittar systematiska fel (0.8% påverkade)</li>
<li><strong>Quality predictor</strong> — ML-classifier med 21 features</li>
<li><strong>Active learning pipeline</strong> — systemet lär sig av varje manuell granskning</li>
</ul>
<p>TR Vision-plan: från 0% till 95% auto-approve genom kalibrerade checks + ML-classifier.</p>
<h2>Open source — 7 PR:ar, 1 redan mergad</h2>
<p>600+ strängar till projekt med 200K+ kombinerade stjärnor:</p>
<ul>
<li><strong>react-i18next #1912 — MERGAD</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
<li>vue-element-admin #4338 (90K <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" />), FormatJS #6200 (14.7K <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" />)</li>
<li>Ncase/trust #143, MetSys #122, OHF-Voice #124, Laravel-Lang #8275</li>
</ul>
<h2>espeak-ng — Komplett försvenskning</h2>
<p><a href="https://github.com/espeak-ng/espeak-ng/pull/2391">PR #2391</a> med omfattande svenska uttalsförbättringar:</p>
<table>
<tr>
<th>Kategori</th>
<th>Före</th>
<th>Efter</th>
</tr>
<tr>
<td>sj-ljud (skj/sch)</td>
<td>ɕ/ʃ (fel)</td>
<td>ɧ (korrekt) <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
</tr>
<tr>
<td>Retroflexer</td>
<td>rd, rn (inga)</td>
<td>ɽ, ɽn, ɽl, ɽt <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
</tr>
<tr>
<td>Vardagsuttal</td>
<td>de=deː, mig=miːɡ</td>
<td>dom, mej, å <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
</tr>
<tr>
<td>Intonation</td>
<td>Platt</td>
<td>Fråga<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2197.png" alt="↗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Påstående<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2198.png" alt="↘" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
</tr>
<tr>
<td>Lånord</td>
<td>garage=ɡarɑːʃ</td>
<td>ɡaɹɑːɧ <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
</tr>
</table>
<p>50+ ordliste-entries, tonaccent-grund, svenska intonationstuner.</p>
<h2>Piper TTS — Axel v2 och Alma v2 under träning</h2>
<p>Båda rösterna tränas om med den förbättrade espeak-ng:</p>
<ul>
<li><strong>Axel v2:</strong> Fine-tune från Almas checkpoint (studio-kvalitet) + 18K LibriVox-utterances + fixad fonetik. 3000 epochs.</li>
<li><strong>Alma v2:</strong> Fräsch träning med 3300 NST studio-utterances + fixad fonetik. 10000 epochs.</li>
</ul>
<p>Klara imorgon. Korrekt sj-ljud, retroflexer och vardagsuttal i båda rösterna.</p>
<h2>Visio Viewer Chrome Extension v2.0.0</h2>
<p>Helt ombyggd från Python/Pyodide till ren JavaScript:</p>
<ul>
<li><strong>50 MB → 66 KB</strong> (750x mindre)</li>
<li><strong>Fungerar på Windows</strong> (Pyodide-versionen kraschade)</li>
<li><strong>12/16 testfiler 100% match</strong> med Python-referensen</li>
<li>pondzod-network.vsdx: <strong>1441 element perfekt renderade</strong></li>
<li>Skuggor, gradienter, pilar, auto text-kontrast, i18n (en+sv)</li>
</ul>
<p>Redo för Chrome Web Store.</p>
<h2>Forgejo — 3348 strängar granskade</h2>
<p>100% översatt, 330 strängar fixade, 100 uppladdade till Codeberg Weblate.</p>
<h2>Moodle — 155K strängar redo</h2>
<p>Komplett pipeline byggd: batch-DeepL + platshållarskydd + AMOS-konvertering. Körning 1 april.</p>
<h2>Infrastruktur</h2>
<ul>
<li><strong>Glossary-sync</strong> — terminology.md → Weblate/Transifex/Crowdin</li>
<li><strong>Quality-gate GitHub Action</strong> — blockerar merge om score &lt; 7</li>
<li><strong>FTL-stöd</strong> — Mozilla Fluent i TR</li>
<li><strong>5 nya verktyg</strong>: auto-review-pr, deepl-postprocess, contrib-finder, po-memory auto-import, review-po-v3 &#8211;fix</li>
</ul>
<h2>Siffror</h2>
<table>
<tr>
<th>Metric</th>
<th>Värde</th>
</tr>
<tr>
<td>DDTSS paket översatta</td>
<td>2902</td>
</tr>
<tr>
<td>Open source PR:ar</td>
<td>7 (1 mergad)</td>
</tr>
<tr>
<td>TR strängar granskade</td>
<td>244K</td>
</tr>
<tr>
<td>ML-termer extraherade</td>
<td>3893</td>
</tr>
<tr>
<td>espeak-ng ordliste-entries</td>
<td>50+</td>
</tr>
<tr>
<td>Visio testfiler 100% match</td>
<td>12/16</td>
</tr>
<tr>
<td>Nya verktyg/moduler</td>
<td>15+</td>
</tr>
</table><p>The post <a href="https://www.danielnylander.se/2026/03/29/en-sondag-med-svenska-oversattningar-2902-paket-7-prar-ml-och-sj-ljud/">En söndag med svenska översättningar — 2902 paket, ML, espeak och Visio</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.danielnylander.se/2026/03/29/en-sondag-med-svenska-oversattningar-2902-paket-7-prar-ml-och-sj-ljud/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1954</post-id>	</item>
		<item>
		<title>Introducing Folio — A GTK4 E-Book Reader with AI Voice Narration</title>
		<link>https://www.danielnylander.se/2026/03/24/introducing-folio-a-gtk4-e-book-reader-with-ai-voice-narration/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=introducing-folio-a-gtk4-e-book-reader-with-ai-voice-narration</link>
					<comments>https://www.danielnylander.se/2026/03/24/introducing-folio-a-gtk4-e-book-reader-with-ai-voice-narration/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Nylander]]></dc:creator>
		<pubDate>Tue, 24 Mar 2026 08:30:01 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.danielnylander.se/?p=1945</guid>

					<description><![CDATA[<p>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&#8217;t sound like a robot from 1998. &#x1f517; 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 [&#8230;]</p>
<p>The post <a href="https://www.danielnylander.se/2026/03/24/introducing-folio-a-gtk4-e-book-reader-with-ai-voice-narration/">Introducing Folio — A GTK4 E-Book Reader with AI Voice Narration</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>I built an e-book reader. Not because the world needed another one, but because I wanted one that could <em>read to me</em> — in Swedish, offline, with a voice that doesn&#8217;t sound like a robot from 1998.</p>
<h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://github.com/yeager/folio">github.com/yeager/folio</a></h2>
<h2>What is Folio?</h2>
<p>Folio is a GTK4/libadwaita e-book reader for Linux with built-in text-to-speech powered by <a href="https://github.com/rhasspy/piper">Piper</a>. It supports EPUB, PDF, MOBI, FB2, and comic book formats (CBZ/CBR).</p>
<p>The key feature: <strong>word-level karaoke highlighting</strong> during TTS playback. As the voice reads, each word lights up in yellow, and the text auto-scrolls to follow along. It&#8217;s like subtitles, but for books.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/raw.githubusercontent.com/yeager/folio/main/demo/screenshot-reader.png?ssl=1" alt="Folio reading Midsommaren 1983 with word highlighting" /></p>
<h2>Features</h2>
<ul>
<li><strong>All major e-book formats</strong>: EPUB, PDF, MOBI, FB2, CBZ/CBR</li>
<li><strong>Piper TTS integration</strong>: Offline, local voice synthesis</li>
<li><strong>Swedish voices</strong>: Alma (available now), Axel (in training)</li>
<li><strong>English voices</strong>: Amy and others via Piper</li>
<li><strong>Word-level highlighting</strong>: Karaoke-style visual tracking</li>
<li><strong>Auto page-turn</strong>: Pages advance as the voice reads</li>
<li><strong>Chapter navigation</strong>: Sidebar with table of contents</li>
<li><strong>Reading position memory</strong>: Picks up where you left off</li>
<li><strong>Dark theme</strong>: Native libadwaita dark mode</li>
<li><strong>i18n ready</strong>: English + Swedish, Transifex integration prepared</li>
</ul>
<h2>Demo</h2>
<p>A 22-second demo showing Folio reading the opening of <em>Midsommaren 1983</em> with the Alma Swedish TTS voice:</p>
<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3ac.png" alt="🎬" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://raw.githubusercontent.com/yeager/folio/main/demo/folio-demo.mp4">Watch demo video (MP4)</a></p>
<h2>The Voice: Alma &amp; Axel</h2>
<p>Folio ships with support for Piper&#8217;s Swedish voices. <strong>Alma</strong> (sv_SE-nst-medium) is available today. <strong>Axel</strong>, a new male Swedish voice currently in training on an RTX 4080, will be available soon.</p>
<p>Both voices run entirely offline — no cloud APIs, no data leaves your machine.</p>
<h2>Technical Details</h2>
<ul>
<li><strong>Language</strong>: Python 3 with PyGObject</li>
<li><strong>UI toolkit</strong>: GTK4 + libadwaita</li>
<li><strong>TTS engine</strong>: Piper (VITS/JETS neural TTS)</li>
<li><strong>Build system</strong>: Meson</li>
<li><strong>Packaging</strong>: Flatpak manifest included</li>
<li><strong>App ID</strong>: <code>se.danielnylander.folio</code></li>
<li><strong>License</strong>: GPL-3.0</li>
</ul>
<h2>Install</h2>
<pre><code>git clone https://github.com/yeager/folio.git
cd folio
pip install -r requirements.txt
python run.py</code></pre>
<p>Requires GTK4, libadwaita, and Piper TTS installed.</p>
<hr />
<p><em>Folio is part of an ongoing effort to improve Swedish language technology — from <a href="https://github.com/yeager/hunspell-sv">hunspell-sv</a> spell checking to <a href="https://github.com/rhasspy/piper">Piper voice training</a> to <a href="https://danielnylander.se/ubuntu-sv-lint/">Ubuntu translation quality</a>.</em></p><p>The post <a href="https://www.danielnylander.se/2026/03/24/introducing-folio-a-gtk4-e-book-reader-with-ai-voice-narration/">Introducing Folio — A GTK4 E-Book Reader with AI Voice Narration</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.danielnylander.se/2026/03/24/introducing-folio-a-gtk4-e-book-reader-with-ai-voice-narration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://raw.githubusercontent.com/yeager/folio/main/demo/folio-demo.mp4" length="1003033" type="video/mp4" />

		<post-id xmlns="com-wordpress:feed-additions:1">1945</post-id>	</item>
		<item>
		<title>hunspell sv_SE — 279 000 ord: Största fria svenska ordboken</title>
		<link>https://www.danielnylander.se/2026/03/23/hunspell-sv_se-251-000-ord-storsta-fria-svenska-ordboken/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hunspell-sv_se-251-000-ord-storsta-fria-svenska-ordboken</link>
					<comments>https://www.danielnylander.se/2026/03/23/hunspell-sv_se-251-000-ord-storsta-fria-svenska-ordboken/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Nylander]]></dc:creator>
		<pubDate>Mon, 23 Mar 2026 15:43:07 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.danielnylander.se/2026/03/23/hunspell-sv_se-251-000-ord-storsta-fria-svenska-ordboken/</guid>

					<description><![CDATA[<p>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 [&#8230;]</p>
<p>The post <a href="https://www.danielnylander.se/2026/03/23/hunspell-sv_se-251-000-ord-storsta-fria-svenska-ordboken/">hunspell sv_SE — 279 000 ord: Största fria svenska ordboken</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Den svenska <a href="https://github.com/yeager/hunspell-sv">hunspell-ordboken</a> har fått en massiv uppgradering — från 154 479 till <strong>251 127 basord</strong>, en ökning med 63%. Det gör den till en av de mest kompletta fria svenska ordböckerna som finns.</p>
<h2>Bakgrund</h2>
<p>Hunspell används för stavningskontroll i LibreOffice, Firefox, Thunderbird, och de flesta Linux-distributioner. Den svenska ordboken baserades på <a href="https://sfol.se">SFOL 2.42</a> (Den Stora Fria Ordlistan) med 154 479 ord — men hade inte uppdaterats på flera år.</p>
<p>Kommersiella stavningskontroller (Microsoft Word, Google Docs) har ofta 200 000–300 000 basord. Vi ville nå samma nivå.</p>
<h2>Vad vi lade till</h2>
<table>
<thead>
<tr>
<th>Källa</th>
<th>Ord</th>
<th>Beskrivning</th>
</tr>
</thead>
<tbody>
<tr>
<td>SFOL 2.42</td>
<td>154 479</td>
<td>Officiell svensk ordlista (bas)</td>
</tr>
<tr>
<td>Översättningsminne</td>
<td>+29 492</td>
<td>Ord ur 784 000 professionella GNOME/KDE/Mozilla-översättningar</td>
</tr>
<tr>
<td>Svenska Wikipedia</td>
<td>+66 268</td>
<td>Filtrerat svenskt vokabulär (suffixvaliderat)</td>
</tr>
<tr>
<td>Modern svensk prosa</td>
<td>+608</td>
<td>Ord ur romanen <em>Midsommaren 1983</em> + Wikipedia-artiklar</td>
</tr>
<tr>
<td>Datatermgruppen</td>
<td>+280</td>
<td>Officiella svenska IT-termer</td>
</tr>
<tr>
<td><strong>Totalt</strong></td>
<td><strong>251 127</strong></td>
<td></td>
</tr>
</tbody>
</table>
<h2>Kvalitetskontroll</h2>
<ul>
<li><strong>Finsk filtrering</strong> — 5 695 finska ortnamn (järvi, joki, lahti, etc.) bortrensade från Wikipedia-data</li>
<li><strong>Engelskt filter</strong> — Alla ord jämförda mot engelsk ordbok, engelska ord utan svenska tecken uteslutna</li>
<li><strong>Morfologisk validering</strong> — Endast ord med svenska tecken (åäö) eller svenska ändelser (-ning, -tion, -het, -isk, etc.)</li>
<li><strong>TM-validering</strong> — Ord ur översättningsminnet förekommer ≥2 gånger i professionellt granskade översättningar</li>
</ul>
<h2>Installation</h2>
<h3>Ubuntu/Debian</h3>
<pre><code># 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</code></pre>
<h3>Fedora/RHEL</h3>
<pre><code># Lägg till repo
sudo dnf config-manager --add-repo https://yeager.github.io/rpm-repo/yeager.repo
sudo dnf install hunspell-sv</code></pre>
<h3>macOS (Homebrew)</h3>
<pre><code>cp sv_SE.dic sv_SE.aff /opt/homebrew/share/hunspell/
cp sv_SE.dic sv_SE.aff ~/Library/Spelling/</code></pre>
<h2>LibreOffice-integration</h2>
<p>En patch har skickats till LibreOffice via <a href="https://gerrit.libreoffice.org/c/dictionaries/+/202383">Gerrit (#202383)</a>. Vi har även kontaktat SFOL för att diskutera integration i den officiella distributionen.</p>
<h2>Vad skiljer oss från andra?</h2>
<p>De flesta hunspell-ordböcker förlitar sig enbart på en statisk ordlista. Vår ordbok kombinerar:</p>
<ul>
<li><strong>SFOL</strong> — den officiella grunden</li>
<li><strong>Levande översättningsdata</strong> — ord som faktiskt används i modern svensk mjukvara</li>
<li><strong>Wikipedia-vokabulär</strong> — bred täckning av samtida svenska</li>
<li><strong>CI/CD</strong> — GitHub Actions validerar ordboken automatiskt</li>
</ul>
<p>Resultatet: en ordbok som känner igen <em>databasadministratör</em>, <em>molntjänst</em>, <em>stavningskontroll</em>, <em>e-postadress</em> och <em>filsystemshanterare</em> — ord som en stavningskontroll <em>borde</em> kunna.</p>
<h2>Länkar</h2>
<ul>
<li><a href="https://github.com/yeager/hunspell-sv">GitHub: yeager/hunspell-sv</a></li>
<li><a href="https://gerrit.libreoffice.org/c/dictionaries/+/202383">LibreOffice Gerrit-patch</a></li>
<li><a href="https://sfol.se">SFOL — Den Stora Fria Ordlistan</a></li>
<li><a href="https://github.com/yeager/debian-repo">DEB-paket</a></li>
<li><a href="https://github.com/yeager/rpm-repo">RPM-paket</a></li>
</ul>
<hr />
<h2>Uppdatering 2026-03-24: +18 052 ord från SALDO och Folkets Lexikon</h2>
<p>Ordboken har utökats ytterligare med <strong>18 052 nya ord</strong> från två vetenskapliga källor:</p>
<table>
<thead>
<tr>
<th>Källa</th>
<th>Ord</th>
<th>Beskrivning</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://spraakbanken.gu.se/resurser/saldo">SALDO</a> (Språkbanken, GU)</td>
<td>~17 000</td>
<td>131 020 lemman, CC-BY 3.0 — Sveriges största morfologiska lexikon</td>
</tr>
<tr>
<td><a href="https://folkets-lexikon.csc.kth.se/">Folkets Lexikon</a> (KTH)</td>
<td>~900</td>
<td>Kurerad svensk-engelsk ordbok, CC-BY-SA 2.5</td>
</tr>
<tr>
<td>Korsvaliderade</td>
<td>~160</td>
<td>Ord som finns i båda källorna</td>
</tr>
</tbody>
</table>
<p><strong>Nytt totalt: 269 221 basord</strong> (var 251 127).</p>
<h3>Exempel på nya ord</h3>
<p>Här är ett urval av de nya orden — allt från vardagsspråk till facktermer:</p>
<p><em>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</em></p>
<h3>Metod</h3>
<ul>
<li>SALDO:s 74 MB XML-fil parsades för alla 131 020 lemman med ordklass</li>
<li>Folkets Lexikons 35 540 ord extraherades och korsvaliderades</li>
<li>Varje kandidat testades mot hunspells befintliga affixexpansion</li>
<li>Endast ord som hunspell INTE redan hanterade via böjningsregler inkluderades</li>
<li>Filtrering: inga multiord-uttryck, inga obskyra produktiva former, längd 3–30 tecken</li>
</ul>
<h3>Nästa steg</h3>
<ul>
<li><strong>SALDOM-paradigmer</strong>: SALDO:s böjningsdatabas (254 MB) kan generera hunspell-affixregler för ytterligare ~10 000 ord med korrekt böjning</li>
<li><strong>Gerrit-patch</strong>: <a href="https://gerrit.libreoffice.org/c/dictionaries/+/202383">Patch #202383</a> uppdateras med de nya orden → alla Linux-distributioner får dem</li>
<li><strong>Debian-bugg</strong>: Ubuntu har fortfarande hunspell-sv 1.51 (!) — rapporteras till Debian-underhållarna</li>
</ul>
<hr />
<h2>Uppdatering 2: SALDOM-paradigmer — 279 121 ord med böjningsstöd</h2>
<p>Ordboken har fått ytterligare <strong>17 684 ord</strong> med korrekt böjningsstöd tack vare SALDOM — Språkbankens fullständiga böjningsdatabas (254 MB XML).</p>
<table>
<thead>
<tr>
<th>Steg</th>
<th>Ord</th>
<th>Källa</th>
</tr>
</thead>
<tbody>
<tr>
<td>Bas</td>
<td>154 479</td>
<td>SFOL 2.42</td>
</tr>
<tr>
<td>+ TM + Wikipedia</td>
<td>251 169</td>
<td>Professionella översättningar + filtrerat Wikipedia</td>
</tr>
<tr>
<td>+ SALDO + Folkets</td>
<td>269 221</td>
<td>Språkbankens lemmalexikon + KTH:s ordbok</td>
</tr>
<tr>
<td><strong>+ SALDOM paradigmer</strong></td>
<td><strong>279 121</strong></td>
<td>Böjningstabeller → hunspell-affixregler</td>
</tr>
</tbody>
</table>
<h3>Vad är SALDOM?</h3>
<p>SALDOM innehåller alla böjningsformer för varje ord i SALDO — t.ex. <em>stol → stolen, stolar, stolarna</em>. Vi parsade 254 MB XML och mappade 34 paradigmklasser (t.ex. <code>nn_2u_stol</code>, <code>vb_1a_kasta</code>) till hunspells affixflaggor.</p>
<p>Resultatet: <strong>9 726 ord med full böjning</strong> (hunspell genererar alla ordformer automatiskt) + 7 957 ord med grundigenkänning.</p>
<h3>Exempel</h3>
<p>Ordet <em>akademi</em> med affixflagga genererar automatiskt: akademi, akademin, akademier, akademierna. Utan flagga hade vi behövt lägga in varje form manuellt.</p>
<h3>Jämförelse</h3>
<ul>
<li>Microsoft Word svenska: ~250 000 ord (uppskattning)</li>
<li>Google Docs svenska: ~200 000 ord (uppskattning)</li>
<li><strong>hunspell-sv: 279 121 ord</strong> — troligtvis störst av alla fria svenska ordböcker</li>
</ul>
<p>Gerrit-patchen för LibreOffice har uppdaterats: <a href="https://gerrit.libreoffice.org/c/dictionaries/+/202383">Patch #202383</a> (patchset 4). Debian-bugg <a href="https://bugs.debian.org/1131786">#1131786</a> filerad för att uppdatera från 1.51.</p><p>The post <a href="https://www.danielnylander.se/2026/03/23/hunspell-sv_se-251-000-ord-storsta-fria-svenska-ordboken/">hunspell sv_SE — 279 000 ord: Största fria svenska ordboken</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.danielnylander.se/2026/03/23/hunspell-sv_se-251-000-ord-storsta-fria-svenska-ordboken/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1943</post-id>	</item>
		<item>
		<title>Massiv översättningsinfrastruktur för svenska</title>
		<link>https://www.danielnylander.se/2026/03/22/ny-svensk-hunspell-ordbok-och-massiv-oversattningsinfrastruktur/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ny-svensk-hunspell-ordbok-och-massiv-oversattningsinfrastruktur</link>
					<comments>https://www.danielnylander.se/2026/03/22/ny-svensk-hunspell-ordbok-och-massiv-oversattningsinfrastruktur/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Nylander]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 19:16:15 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.danielnylander.se/?p=1939</guid>

					<description><![CDATA[<p>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 [&#8230;]</p>
<p>The post <a href="https://www.danielnylander.se/2026/03/22/ny-svensk-hunspell-ordbok-och-massiv-oversattningsinfrastruktur/">Massiv översättningsinfrastruktur för svenska</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>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.</p>
<h2>Translation Review (TR) — AI-driven granskningsplattform</h2>
<p>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.</p>
<h3>Datakällor</h3>
<ul>
<li><strong>Weblate</strong> (hosted.weblate.org): 261 filer — automatisk nedladdning via API med lock-detection för döda projekt</li>
<li><strong>Transifex:</strong> 1 189 filer — async bulk-download från 58 organisationer</li>
<li><strong>Fedora Weblate:</strong> 58 filer — translate.fedoraproject.org</li>
<li><strong>Ubuntu/KDE/GNOME/TP:</strong> tusentals filer sedan tidigare</li>
<li><strong>Formatkonvertering:</strong> 307 TS/XLIFF-filer automatiskt konverterade till PO via translate-toolkit (ts2po, xliff2po)</li>
</ul>
<p>Smart URL-import: klistra in en Weblate-, Transifex- eller Crowdin-URL direkt i dashboarden — TR laddar ner, detekterar format och köar automatiskt.</p>
<h3>Granskningspipeline (review-po-v3)</h3>
<p>Varje översättningsfil körs genom 12 kontroller som ger en poäng från 0 till 10:</p>
<ol>
<li><strong>l10n-lint + pofilter</strong> — teknisk validering: platshållare (%s, {0}), acceleratorer (&amp;), dubbletter, formatsträngar</li>
<li><strong>hunspell</strong> — stavningskontroll med vår utökade sv_SE-ordbok (154k ord) + 787 domänspecifika ord i personal dictionary</li>
<li><strong>LanguageTool</strong> — grammatikkontroll: kongruens, ordföljd, skiljetecken</li>
<li><strong>terminology.md</strong> — terminologikontroll: säkerställer konsekvent användning av svenska termer (t.ex. &#8221;programtillägg&#8221; inte &#8221;plugin&#8221;)</li>
<li><strong>Svengelska-detektion</strong> — hittar anglicismer, falska vänner och calques: &#8221;denna&#8221; → &#8221;den här&#8221;, &#8221;notera att&#8221; → &#8221;observera att&#8221;, &#8221;vänligen&#8221; → ta bort</li>
<li><strong>Context checker</strong> — UI-kontextregler: knappar max 25 tecken, menyer max 40, tooltips koherent ton</li>
<li><strong>po-memory referens-TM</strong> — jämförelse mot 559 792 professionella översättningar från GNOME, KDE, LibreOffice etc.</li>
<li><strong>Språkdetektering</strong> — lingua-baserad detektion av strängar som fortfarande är på engelska</li>
<li><strong>Konsistenskontroll</strong> — samma källsträng ska ha samma översättning genom hela filen</li>
<li><strong>Triangulering</strong> — automatisk back-translation via DeepL Pro (quality_optimized) + jämförelse med norska/danska</li>
<li><strong>DeepL-specifika fixar</strong> — korrigerar kända DeepL-problem: &#8221;denna/detta/dessa&#8221;, passiva konstruktioner, separerade sammansatta ord</li>
<li><strong>False positive-databas</strong> — lär sig från manuella beslut och filtrerar bort kända falska larm</li>
</ol>
<h3>DeepL Pro-integration</h3>
<p>Alla verktyg använder nu DeepL Pro API med kvalitetsoptimerade inställningar:</p>
<ul>
<li><strong>model_type: quality_optimized</strong> — bästa möjliga översättningskvalitet</li>
<li><strong>formality: prefer_less</strong> — naturligare, mindre formell svenska</li>
<li><strong>preserve_formatting</strong> — bevarar whitespace, radbrytningar och formatering</li>
<li><strong>context</strong> — skickar PO-kommentarer och projektmetadata för kontextmedveten översättning</li>
<li><strong>Glossary-stöd</strong> — terminologilista synkad med terminology.md</li>
<li><strong>Automatisk endpoint-detektion</strong> — PRO/Free baserat på API-nyckel</li>
</ul>
<h3>Granskningsgränssnitt</h3>
<p>Weblate-inspirerad split-panel med professionellt arbetsflöde:</p>
<ul>
<li><strong>Vänster panel:</strong> Stränglista med källa + översättning, färgkodade kanter (grön/gul/röd) per status</li>
<li><strong>Höger panel:</strong> Originalttext (EN) med kopiera-knapp, översättningsfält (SV) med textarea + toolbar (kopiera källa, återställ, kopiera till urklipp)</li>
<li><strong>Tangentbordsnavigering:</strong> G = godkänn, A = avvisa, J/K = navigera, E = redigera</li>
<li><strong>Batch-operationer:</strong> Godkänn alla PASS, godkänn REVIEW (context-only), avvisa FAIL (språkdetektering)</li>
<li><strong>AI-förslag:</strong> DeepL Pro quality_optimized med kontextmedveten prompt vid klick</li>
<li><strong>Inline-redigering:</strong> Ändringar skrivs direkt till PO-filen, poäng räknas om live</li>
</ul>
<h3>Parallel-worker</h3>
<p>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.</p>
<h3>Dashboard</h3>
<ul>
<li>Realtidsstatistik: filer granskade, strängar totalt, genomsnittlig kvalitet, kö-status</li>
<li>Kö-breakdown: visuell bar med klara/kör/väntar/fel</li>
<li>TM-räknare: 559 792 unika strängar</li>
<li>Topp 10 bästa/sämsta, uppnått 10.0-lista</li>
<li>Klickbara filer → direkt till granskningsvy</li>
</ul>
<h2>Translation Memory</h2>
<p>Vår TM innehåller nu <strong>559 792 unika källsträngar</strong> 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:</p>
<ul>
<li><strong>Konsistenskontroll</strong> — samma källsträng ska översättas likadant överallt</li>
<li><strong>Ordbok-generering</strong> — automatisk extraktion av svenska ord som saknas i hunspell</li>
<li><strong>Fuzzy matching</strong> — föreslå översättningar baserat på liknande strängar</li>
<li><strong>Kvalitetsreferens</strong> — jämför nya översättningar mot etablerade GNOME/KDE-standarder</li>
</ul>
<h2>Planen framåt</h2>
<ul>
<li><strong>Automatisk pipeline:</strong> Nya granskningar → nya hunspell-ord → ny release → publicera till LibreOffice/Firefox</li>
<li><strong>Fler plattformar:</strong> Crowdin-import (kräver maintainer-access), Launchpad (Ubuntu)</li>
<li><strong>Kvalitetsmål:</strong> Alla projekt ska nå minst 9/10 i granskningspoäng</li>
<li><strong>Bidra upstream:</strong> Pusha förbättrade översättningar tillbaka till Weblate/Transifex</li>
<li><strong>hunspell:</strong> Fortsätt utöka ordboken, samarbeta med SFOL, publicera som Firefox/Thunderbird-tillägg</li>
<li><strong>review-po-v3:</strong> Nativt stöd för TS/XLIFF/JSON (inte bara PO)</li>
<li><strong>Auto-learn:</strong> När en granskare godkänner en sträng med hunspell-flagga läggs ordet till i ordboken automatiskt</li>
</ul>
<p>All kod och data är öppen källkod. Bidrag välkomnas.</p><p>The post <a href="https://www.danielnylander.se/2026/03/22/ny-svensk-hunspell-ordbok-och-massiv-oversattningsinfrastruktur/">Massiv översättningsinfrastruktur för svenska</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.danielnylander.se/2026/03/22/ny-svensk-hunspell-ordbok-och-massiv-oversattningsinfrastruktur/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1939</post-id>	</item>
		<item>
		<title>StoryMaker — Interaktiva berättelser för barn</title>
		<link>https://www.danielnylander.se/2026/03/16/storymaker-interaktiva-berattelser-for-barn/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=storymaker-interaktiva-berattelser-for-barn</link>
					<comments>https://www.danielnylander.se/2026/03/16/storymaker-interaktiva-berattelser-for-barn/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Nylander]]></dc:creator>
		<pubDate>Mon, 16 Mar 2026 15:19:45 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.danielnylander.se/2026/03/16/storymaker-interaktiva-berattelser-for-barn/</guid>

					<description><![CDATA[<p>StoryMaker skapar interaktiva berättelser för barn — med AI, piktogram och svensk röst. Demo med Alma-rösten &#8221;Den Magiska Skogen&#8221; uppläst med Piper TTS och den svenska Alma-rösten: Din webbläsare stöder inte videouppspelning. Så fungerar det Skapa en profil — namn, ålder, intressen Välj ett tema — äventyr, rymden, djur, havet&#8230; AI:n skapar en berättelse med [&#8230;]</p>
<p>The post <a href="https://www.danielnylander.se/2026/03/16/storymaker-interaktiva-berattelser-for-barn/">StoryMaker — Interaktiva berättelser för barn</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>StoryMaker</strong> skapar interaktiva berättelser för barn — med AI, piktogram och svensk röst.</p>
<p><img data-recalc-dims="1" src="https://i0.wp.com/www.danielnylander.se/wp-content/sm-final-1.png?ssl=1" alt='StoryMaker 0.2.0' style='max-width:100%'/></p>
<h2>Demo med Alma-rösten</h2>
<p>&#8221;Den Magiska Skogen&#8221; uppläst med Piper TTS och den svenska Alma-rösten:</p>
<p><video controls width='100%'><source src='https://www.danielnylander.se/wp-content/storymaker-demo-final.mp4' type='video/mp4'/>Din webbläsare stöder inte videouppspelning.</video></p>
<h2>Så fungerar det</h2>
<ol>
<li>Skapa en <strong>profil</strong> — namn, ålder, intressen</li>
<li>Välj ett <strong>tema</strong> — äventyr, rymden, djur, havet&#8230;</li>
<li>AI:n skapar en <strong>berättelse</strong> med valalternativ</li>
<li>Du väljer vad som händer härnäst — <strong>du styr handlingen!</strong></li>
<li>Efter varje kapitel: <strong>läsförståelsefrågor</strong></li>
</ol>
<h2>Funktioner</h2>
<ul>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4d6.png" alt="📖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Interaktiva berättelser</strong> med 3-5 kapitel och valalternativ</li>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f916.png" alt="🤖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>AI-generering</strong> — OpenAI eller Anthropic (demo-läge utan nyckel)</li>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4da.png" alt="📚" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>40 färdiga berättelser</strong> — 20 svenska + 20 engelska</li>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50a.png" alt="🔊" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Alma-rösten</strong> — naturlig svensk uppläsning via Piper TTS</li>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9d2.png" alt="🧒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Åldersanpassat</strong> — 6-8, 9-10, 11-12 år</li>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5bc.png" alt="🖼" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>ARASAAC-piktogram</strong> — bildstöd för varje nyckelord</li>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Inställningar</strong> — röstval (sv/en, man/kvinna), textstorlek, automatisk uppläsning</li>
</ul>
<h2>Installation</h2>
<pre><code>sudo apt update &amp;&amp; sudo apt install storymaker</code></pre>
<p><a href='https://github.com/yeager/StoryMaker'>Källkod</a> · <a href='https://yeager.github.io/storymaker-stories/'>Berättelsebibliotek</a> · <a href='https://app.transifex.com/danielnylander/story-maker/'>Översätt</a></p><p>The post <a href="https://www.danielnylander.se/2026/03/16/storymaker-interaktiva-berattelser-for-barn/">StoryMaker — Interaktiva berättelser för barn</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.danielnylander.se/2026/03/16/storymaker-interaktiva-berattelser-for-barn/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://www.danielnylander.se/wp-content/storymaker-demo-final.mp4" length="479508" type="video/mp4" />

		<post-id xmlns="com-wordpress:feed-additions:1">1931</post-id>	</item>
		<item>
		<title>ReadAloud — Läs upp text med svensk röst</title>
		<link>https://www.danielnylander.se/2026/03/16/readaloud-las-upp-text-med-svensk-rost/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=readaloud-las-upp-text-med-svensk-rost</link>
					<comments>https://www.danielnylander.se/2026/03/16/readaloud-las-upp-text-med-svensk-rost/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Nylander]]></dc:creator>
		<pubDate>Mon, 16 Mar 2026 15:03:52 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.danielnylander.se/2026/03/16/readaloud-las-upp-text-med-svensk-rost/</guid>

					<description><![CDATA[<p>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): Din webbläsare stöder inte videouppspelning. Funktioner &#x1f4f7; Kamera-OCR — Skanna tryckt text med Tesseract OCR &#x1f4c4; Fil-import — PDF, [&#8230;]</p>
<p>The post <a href="https://www.danielnylander.se/2026/03/16/readaloud-las-upp-text-med-svensk-rost/">ReadAloud — Läs upp text med svensk röst</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>ReadAloud</strong> skannar text från kameran eller importerar dokument (PDF, bilder, textfiler) och läser upp dem med <a href='https://github.com/rhasspy/piper'>Piper TTS</a> och den svenska Alma-rösten.</p>
<h2>Demo</h2>
<p>FN:s allmänna förklaring om de mänskliga rättigheterna uppläst med Piper TTS (Alma sv_SE):</p>
<p><video controls width='100%'><source src='https://www.danielnylander.se/wp-content/readaloud-piper-demo.mp4' type='video/mp4'/>Din webbläsare stöder inte videouppspelning.</video></p>
<h2>Funktioner</h2>
<ul>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4f7.png" alt="📷" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Kamera-OCR</strong> — Skanna tryckt text med Tesseract OCR</li>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c4.png" alt="📄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Fil-import</strong> — PDF, bilder, textfiler, DOCX</li>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50a.png" alt="🔊" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Piper TTS</strong> — Alma (svenska), Lessac/Ryan (engelska)</li>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Språkval</strong> — Svenska och engelska röster (man/kvinna)</li>
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/267f.png" alt="♿" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Tillgänglighet</strong> — Stora knappar, tangentbordsnavigering</li>
</ul>
<h2>Installation</h2>
<pre><code>sudo apt update &amp;&amp; sudo apt install readaloud</code></pre>
<p>Källkod: <a href='https://github.com/yeager/ReadAloud'>github.com/yeager/ReadAloud</a></p><p>The post <a href="https://www.danielnylander.se/2026/03/16/readaloud-las-upp-text-med-svensk-rost/">ReadAloud — Läs upp text med svensk röst</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.danielnylander.se/2026/03/16/readaloud-las-upp-text-med-svensk-rost/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://www.danielnylander.se/wp-content/readaloud-piper-demo.mp4" length="246461" type="video/mp4" />

		<post-id xmlns="com-wordpress:feed-additions:1">1926</post-id>	</item>
		<item>
		<title>Alma, Spiel och Orca — svensk tillgänglighet på Linux</title>
		<link>https://www.danielnylander.se/2026/03/11/alma-spiel-och-orca-svensk-tillganglighet-pa-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=alma-spiel-och-orca-svensk-tillganglighet-pa-linux</link>
					<comments>https://www.danielnylander.se/2026/03/11/alma-spiel-och-orca-svensk-tillganglighet-pa-linux/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Nylander]]></dc:creator>
		<pubDate>Wed, 11 Mar 2026 05:49:15 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.danielnylander.se/2026/03/11/alma-spiel-och-orca-svensk-tillganglighet-pa-linux/</guid>

					<description><![CDATA[<p>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 — [&#8230;]</p>
<p>The post <a href="https://www.danielnylander.se/2026/03/11/alma-spiel-och-orca-svensk-tillganglighet-pa-linux/">Alma, Spiel och Orca — svensk tillgänglighet på Linux</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>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 <strong>Spiel</strong> — GNOME:s nya talramverk — och den svenska Piper-rösten <strong>Alma</strong> ändras det nu.</p>
<h2>Vad är Orca, Spiel och Piper?</h2>
<p><strong><a href="https://wiki.gnome.org/Projects/Orca">Orca</a></strong> ä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.</p>
<p><strong><a href="https://project-spiel.org/">Spiel</a></strong> ä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 (&#8221;speech providers&#8221;). Fördelen med Spiel är att rösterna kan installeras oberoende — varje röst är en egen D-Bus-tjänst som startar automatiskt.</p>
<p><strong><a href="https://github.com/rhasspy/piper">Piper</a></strong> är en neuralt baserad text-till-tal-motor (ONNX) som ger naturligt klingande tal. Den körs helt lokalt — ingen molntjänst behövs.</p>
<p><strong>Alma</strong> är en svensk Piper-röst (sv_SE) som vi använder med <a href="https://github.com/yeager/speech-provider-piper">speech-provider-piper</a> — en Rust-binär som serverar Piper-modeller via D-Bus till Spiel.</p>
<h2>Arkitektur</h2>
<pre><code>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/</code></pre>
<h2>Fördelar</h2>
<ul>
<li><strong>Helt lokalt</strong> — ingen molntjänst, ingen internetanslutning krävs</li>
<li><strong>Naturligt tal</strong> — neurala modeller ger mycket bättre kvalitet än äldre regelbaserade synteser (eSpeak, Festival)</li>
<li><strong>Automatisk start</strong> — speech-provider-piper aktiveras via D-Bus när Orca eller Spiel begär tal</li>
<li><strong>Lätthanterligt</strong> — nya röster installeras genom att lägga ONNX-filer i <code>/usr/share/piper/voices/</code></li>
<li><strong>Snabbt</strong> — Rust-binären speech-provider-piper är resurssnål och startar direkt</li>
</ul>
<h2>Demo</h2>
<p>Här är en inspelad skärmsession som visar Alma-rösten via Spiel. Terminalen kör <code>spiel</code>-kommandot som syntetiserar svensk text i realtid:</p>
<figure>
<video controls preload="metadata" width="100%"><source src="https://www.danielnylander.se/wp-content/orca-alma-demo.mp4" type="video/mp4"/></video><br />
</figure>
<figure>
<a href="https://i0.wp.com/www.danielnylander.se/wp-content/alma-spiel-demo.png?ssl=1"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/www.danielnylander.se/wp-content/alma-spiel-demo.png?w=1280&#038;ssl=1" alt="Alma Voice Demo i terminal"  /></a><br />
</figure>
<h2>Orca-inställningar med Spiel</h2>
<p>Orca 50 har inbyggt stöd för Spiel som talsystem. Här syns inställningarna på svenska:</p>
<figure>
<a href="https://i0.wp.com/www.danielnylander.se/wp-content/spiel-orca-1.png?ssl=1"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/www.danielnylander.se/wp-content/spiel-orca-1.png?w=1280&#038;ssl=1" alt="Orca - Läs upp allt"  /></a><br />
</figure>
<figure>
<a href="https://i0.wp.com/www.danielnylander.se/wp-content/spiel-orca-2.png?ssl=1"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/www.danielnylander.se/wp-content/spiel-orca-2.png?w=1280&#038;ssl=1" alt="Orca - Eko"  /></a><br />
</figure>
<figure>
<a href="https://i0.wp.com/www.danielnylander.se/wp-content/spiel-orca-3.png?ssl=1"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/www.danielnylander.se/wp-content/spiel-orca-3.png?w=1280&#038;ssl=1" alt="Orca - Markörnavigering"  /></a><br />
</figure>
<figure>
<a href="https://i0.wp.com/www.danielnylander.se/wp-content/spiel-orca-4.png?ssl=1"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/www.danielnylander.se/wp-content/spiel-orca-4.png?w=1280&#038;ssl=1" alt="Orca - Systeminformation"  /></a><br />
</figure>
<h2>Installation via pakethanterare</h2>
<p>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:</p>
<h3>Ubuntu / Debian</h3>
<pre><code># 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</code></pre>
<h3>Fedora</h3>
<pre><code># 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</code></pre>
<p>Paketen installerar:</p>
<ul>
<li><strong>speech-provider-piper</strong> — Rust-binären + D-Bus-service för Spiel (<a href="https://github.com/yeager/speech-provider-piper/releases/tag/v0.1.0">GitHub release</a>)</li>
<li><strong>piper-voice-sv-alma</strong> — Alma ONNX-modell + konfiguration i <code>/usr/share/piper/voices/sv_SE-alma-medium/</code></li>
</ul>
<h3>Libspiel (om det inte redan finns)</h3>
<p>Spiel-biblioteket behövs också, men det finns ännu inte i distrorepona. Bygg från källkod:</p>
<pre><code># 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</code></pre>
<h3>Verifiera</h3>
<pre><code># 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</code></pre>
<h2>Röstkvalitet: brusparametrar</h2>
<p>Pipers standardparametrar kan ge hörbart brus. Redigera röstens JSON-config (<code>/usr/share/piper/voices/sv_SE-alma-medium/alma-voice.onnx.json</code>) och sätt:</p>
<pre><code>"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
}</code></pre>
<h2>Testat på</h2>
<ul>
<li>Ubuntu 26.04 (Orca 50 beta) <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
<li>Fedora 43 (GNOME 49.4, Orca 49.5) <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>
<h2>Status och framtid</h2>
<p>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:</p>
<ul>
<li>Publicera Alma-rösten i Pipers röstkataloger på HuggingFace</li>
<li>Bidra med buggfixar upstream (linker-buggen, nightly Rust-kravet)</li>
</ul>
<p>Tillgänglighet på svenska har aldrig varit bättre — och det blir bara bättre härifrån.</p>
<h2>Länkar</h2>
<ul>
<li><a href="https://wiki.gnome.org/Projects/Orca">Orca Screen Reader</a></li>
<li><a href="https://project-spiel.org/">Project Spiel</a></li>
<li><a href="https://github.com/yeager/speech-provider-piper">speech-provider-piper (GitHub)</a></li>
<li><a href="https://github.com/rhasspy/piper">Piper TTS</a></li>
<li><a href="https://yeager.github.io/debian-repo/">Debian-repo (apt)</a></li>
<li><a href="https://yeager.github.io/rpm-repo/">RPM-repo (dnf)</a></li>
</ul>
<hr />
<h2>Uppdatering: Alma omtränad (mars 2026)</h2>
<p>Alma-rösten har nu omtränats med <strong>10 000 epochs</strong> (upp från 8 000) och finjusterade inferensparametrar för mer naturligt tal. De nya inställningarna ger bättre prosodi och expressivitet.</p>
<h3>Lyssna på den omtränade rösten</h3>
<figure class="wp-block-audio"><audio controls src="https://www.danielnylander.se/wp-content/alma-demo-retrained.mp3"></audio><figcaption>Alma (omtränad) läser en svensk text — 1 minut demo</figcaption></figure>
<h3>Förbättringar</h3>
<ul>
<li><strong>10 000 epochs</strong> träning (1 875 ljudklipp)</li>
<li><strong>Optimerade parametrar:</strong> noise_scale=0.8, noise_w=0.6, length_scale=0.9</li>
<li>Bättre intonation och naturligare pauser</li>
<li>Kvalitetsbetyg: 8/10</li>
</ul>
<h3>Ladda ner</h3>
<ul>
<li><strong>DEB-paket:</strong> <code>sudo apt install piper-voice-sv-alma</code> (via <a href="https://yeager.github.io/debian-repo/">vårt PPA</a>)</li>
<li><strong>GitHub:</strong> <a href="https://github.com/yeager/speech-provider-piper/releases/tag/v1.0.0-alma">speech-provider-piper releases</a></li>
<li><strong>HuggingFace:</strong> <a href="https://huggingface.co/yeagersthlm/piper-voice-sv-alma">yeagersthlm/piper-voice-sv-alma</a></li>
</ul><p>The post <a href="https://www.danielnylander.se/2026/03/11/alma-spiel-och-orca-svensk-tillganglighet-pa-linux/">Alma, Spiel och Orca — svensk tillgänglighet på Linux</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.danielnylander.se/2026/03/11/alma-spiel-och-orca-svensk-tillganglighet-pa-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://www.danielnylander.se/wp-content/orca-alma-demo.mp4" length="498123" type="video/mp4" />
<enclosure url="https://www.danielnylander.se/wp-content/alma-demo-retrained.mp3" length="1128950" type="audio/mpeg" />

		<post-id xmlns="com-wordpress:feed-additions:1">1898</post-id>	</item>
		<item>
		<title>Spiel, Keycloak, EmuDeck och 976 piktogram</title>
		<link>https://www.danielnylander.se/2026/03/10/spiel-keycloak-emudeck-och-976-piktogram/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=spiel-keycloak-emudeck-och-976-piktogram</link>
					<comments>https://www.danielnylander.se/2026/03/10/spiel-keycloak-emudeck-och-976-piktogram/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Nylander]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 07:11:48 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.danielnylander.se/2026/03/10/spiel-keycloak-emudeck-och-976-piktogram/</guid>

					<description><![CDATA[<p>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. [&#8230;]</p>
<p>The post <a href="https://www.danielnylander.se/2026/03/10/spiel-keycloak-emudeck-och-976-piktogram/">Spiel, Keycloak, EmuDeck och 976 piktogram</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Senaste veckan har det hänt en del på översättnings- och tillgänglighetsfronten. Här är en sammanfattning.</p>
<h2>speech-provider-piper — Piper TTS för GNOME Orca</h2>
<p>Jag har paketerat <a href="https://github.com/yeager/speech-provider-piper">speech-provider-piper</a> som .deb, .rpm och <a href="https://aur.archlinux.org/packages/speech-provider-piper">AUR-paket</a>. Det är en D-Bus speech provider som kopplar ihop <a href="https://github.com/rhasspy/piper">Piper</a> neural TTS med GNOME:s <a href="https://project-spiel.org/">Spiel</a>-ramverk.</p>
<p>I praktiken: installera paketet, kör <code>orca --replace --speech-system=spiel</code>, klart. D-Bus auto-activation sköter resten. Testat på Ubuntu 26.04 och Fedora 43 med den svenska rösten <a href="https://rhasspy.github.io/piper-samples/#sv_SE-alma-medium">sv_SE-alma-medium</a>.</p>
<p>Paket finns i mitt <a href="https://github.com/yeager/debian-repo">apt-repo</a>, <a href="https://github.com/yeager/rpm-repo">rpm-repo</a> och på <a href="https://aur.archlinux.org/packages/speech-provider-piper">AUR</a>.</p>
<h2>Keycloak — svensk översättning komplett</h2>
<p><a href="https://github.com/keycloak/keycloak/pull/47005">PR #47005</a> skickad till Keycloak med komplett svensk översättning:</p>
<ul>
<li><strong>Account</strong>: 37% → 100% (+222 strängar)</li>
<li><strong>Email</strong>: 37% → 100% (+41 strängar)</li>
<li><strong>Login</strong>: 99% → 100% (+7 strängar)</li>
</ul>
<p>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.</p>
<h2>EmuDeck — svensk översättning</h2>
<p>Skickade <a href="https://github.com/EmuDeck/emudeck-electron/pull/33">PR #33</a> med komplett svensk översättning (294 strängar, 100%) av <a href="https://www.emudeck.com/">EmuDeck</a>, det populära verktyget för att konfigurera emulatorer på Steam Deck.</p>
<h2>Canonical authd — i18n-förfrågan</h2>
<p>Ubuntu 26.04 har stöd för <a href="https://github.com/canonical/authd">authd</a>, Canonicals nya autentiseringstjänst för externa identitetsleverantörer (bl.a. Microsoft Entra ID). Jag har skapat <a href="https://github.com/canonical/authd/issues/1308">issue #1308</a> med förfrågan om internationalisering och erbjudit svensk översättning.</p>
<h2>Bildstöd — 976 piktogram med Stockholm-tema</h2>
<p>Bildstödsbiblioteket på <a href="https://autismappar.se/bildstod/">autismappar.se</a> 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.</p>
<h2>tp-sv-lint — automatisk uppdatering</h2>
<p>Skapade ett fristående skript som automatiskt uppdaterar <a href="https://autismappar.se/tp-sv-lint/">tp-sv-lint</a>-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.</p><p>The post <a href="https://www.danielnylander.se/2026/03/10/spiel-keycloak-emudeck-och-976-piktogram/">Spiel, Keycloak, EmuDeck och 976 piktogram</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.danielnylander.se/2026/03/10/spiel-keycloak-emudeck-och-976-piktogram/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1891</post-id>	</item>
		<item>
		<title>Två dagars översättningsmaraton med AI</title>
		<link>https://www.danielnylander.se/2026/03/07/tva-dagars-oversattningsmaraton-med-ai/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tva-dagars-oversattningsmaraton-med-ai</link>
					<comments>https://www.danielnylander.se/2026/03/07/tva-dagars-oversattningsmaraton-med-ai/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Nylander]]></dc:creator>
		<pubDate>Sat, 07 Mar 2026 21:45:29 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.danielnylander.se/2026/03/07/tva-dagars-oversattningsmaraton-med-ai/</guid>

					<description><![CDATA[<p>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 [&#8230;]</p>
<p>The post <a href="https://www.danielnylander.se/2026/03/07/tva-dagars-oversattningsmaraton-med-ai/">Två dagars översättningsmaraton med AI</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>De senaste två dagarna har jag och min AI-assistent genomfört ett massivt översättningsprojekt. Här är en sammanfattning.</p>
<h2>GNU Translation Project — 143 svenska PO-filer</h2>
<p>Vi har granskat samtliga 143 svenska PO-filer i GNU Translation Project med tre verktyg:</p>
<ul>
<li><strong><a href="https://github.com/yeager/l10n-lint">l10n-lint</a></strong> — 6 729 issues hittade (format, interpolation, terminologi)</li>
<li><strong><a href="https://github.com/yeager/svlang">svlang</a></strong> — 3 737 anglicismer + 21 skrivregelfel</li>
<li><strong>AI-granskning</strong> — 22 filer med konkreta förbättringsförslag</li>
</ul>
<p>Resultatet finns publikt: <a href="https://danielnylander.se/tp-sv-lint/">danielnylander.se/tp-sv-lint/</a> — en interaktiv webbsida med filtrering, diff-nedladdning och kvalitetsindikatorer per paket.</p>
<p>Tre paket (mailfromd, savane, denemo) skickades in till TP med 10/10 kvalitet.</p>
<h2>Verktygsreleaser</h2>
<p>Under arbetet utvecklades verktygen avsevärt:</p>
<ul>
<li><strong>l10n-lint 1.18.0</strong> — ny decimalkomma-check, pluralformkontroll (7 regler), typo-detektion, terminologi, false friends, y/n→j/n, anglicism-check</li>
<li><strong>svlang 0.2.0</strong> — nytt <code>skrivregler</code>-kommando (särskrivning, de/dem, stavfel), 83% färre false positives på svengelska-checken</li>
<li><strong>po-translate 1.6.0</strong> — fixade bugg som förstörde pluralformer, ny <code>--fuzzy</code>-flagga</li>
</ul>
<p>Alla tre finns som .deb och .rpm i mina <a href="https://github.com/yeager/debian-repo">paketrepon</a>.</p>
<h2>Ardour — svensk översättning +620 strängar</h2>
<p>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). <a href="https://github.com/Ardour/ardour/pull/1070">PR #1070</a> ligger uppe.</p>
<h2>GIMP — 70 nordiska snabbkommandon fixade</h2>
<p>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.</p>
<h2>NetworkManager — stenhård granskning</h2>
<p>2 523 strängar granskade. Filen var redan i utmärkt skick — bara en anglicism hittad (&#8221;default&#8221;→&#8221;standard&#8221; i löptext).</p>
<h2>Blender — 38 000 strängar uppladdade</h2>
<p>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.</p>
<h2>FreeCAD — Crowdin</h2>
<p>27 .ts-filer (kärnan) och 25 addon-filer granskades med korrekt CAD-terminologi (villkor, kropp, utfyllnad, montering). Allt laddat upp till Crowdin.</p>
<h2>Qt 6.11</h2>
<p>Patchset 3 för svenska Qt-översättningen ligger på <a href="https://codereview.qt-project.org/c/qt/qttranslations/+/714640">Gerrit #714640</a>. Alla 5 review-kommentarer från Mats Honkamaa har åtgärdats.</p>
<h2>Godot Engine + OBS Studio</h2>
<p>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).</p>
<h2>Alma — svensk TTS-röst</h2>
<p>Vi jämförde 5 olika TTS-parametervarianter och valde den renaste (noise_scale 0.3, noise_w 0.5). Publicerad på <a href="https://huggingface.co/yeagersthlm/piper-voice-sv-alma">HuggingFace</a>. Axels röst tränas fortfarande (epoch 799/3000).</p>
<h2>Övrigt</h2>
<ul>
<li><strong>RHVoice</strong> — svenskt språkmodul byggt och publicerat (<a href="https://github.com/yeager/rhvoice-swedish">GitHub</a>)</li>
<li><strong>Etcher</strong> — v2.1.4-l10n med 5 översättningar integrerade</li>
<li><strong>autismappar.se</strong> — nu 72 appar, 3 nya för verbal dyspraxi/CAS</li>
</ul>
<p>Två intensiva dagar. Open source-översättning lever. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f1f8-1f1ea.png" alt="🇸🇪" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p><p>The post <a href="https://www.danielnylander.se/2026/03/07/tva-dagars-oversattningsmaraton-med-ai/">Två dagars översättningsmaraton med AI</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.danielnylander.se/2026/03/07/tva-dagars-oversattningsmaraton-med-ai/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1886</post-id>	</item>
		<item>
		<title>ClipKeeper — A GTK4 Clipboard Manager for Linux</title>
		<link>https://www.danielnylander.se/2026/03/04/clipkeeper-a-gtk4-clipboard-manager-for-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=clipkeeper-a-gtk4-clipboard-manager-for-linux</link>
					<comments>https://www.danielnylander.se/2026/03/04/clipkeeper-a-gtk4-clipboard-manager-for-linux/#respond</comments>
		
		<dc:creator><![CDATA[Daniel Nylander]]></dc:creator>
		<pubDate>Wed, 04 Mar 2026 09:33:30 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.danielnylander.se/2026/03/04/clipkeeper-a-gtk4-clipboard-manager-for-linux/</guid>

					<description><![CDATA[<p>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 [&#8230;]</p>
<p>The post <a href="https://www.danielnylander.se/2026/03/04/clipkeeper-a-gtk4-clipboard-manager-for-linux/">ClipKeeper — A GTK4 Clipboard Manager for Linux</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></description>
										<content:encoded><![CDATA[<figure class="wp-block-image size-large"><a href="https://i0.wp.com/www.danielnylander.se/wp-content/clipkeeper-screenshot.png?ssl=1"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="620" height="720" data-attachment-id="1882" data-permalink="https://www.danielnylander.se/clipkeeper-screenshot/" data-orig-file="https://i0.wp.com/www.danielnylander.se/wp-content/clipkeeper-screenshot.png?fit=620%2C720&amp;ssl=1" data-orig-size="620,720" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="clipkeeper-screenshot" data-image-description="" data-image-caption="" data-medium-file="https://i0.wp.com/www.danielnylander.se/wp-content/clipkeeper-screenshot.png?fit=258%2C300&amp;ssl=1" data-large-file="https://i0.wp.com/www.danielnylander.se/wp-content/clipkeeper-screenshot.png?fit=620%2C720&amp;ssl=1" src="https://i0.wp.com/www.danielnylander.se/wp-content/clipkeeper-screenshot.png?resize=620%2C720&#038;ssl=1" alt="ClipKeeper screenshot" class="wp-image-1882" srcset="https://i0.wp.com/www.danielnylander.se/wp-content/clipkeeper-screenshot.png?w=620&amp;ssl=1 620w, https://i0.wp.com/www.danielnylander.se/wp-content/clipkeeper-screenshot.png?resize=258%2C300&amp;ssl=1 258w" sizes="(max-width: 620px) 100vw, 620px" /></a><figcaption class="wp-element-caption">ClipKeeper — a modern clipboard manager for Linux</figcaption></figure>



<h2 class="wp-block-heading">English</h2>



<p><strong>ClipKeeper</strong> 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.</p>



<p><strong>Key features:</strong></p>



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



<p>Available as .deb and .rpm packages from our <a href="https://github.com/yeager/debian-repo">Debian</a> and <a href="https://github.com/yeager/rpm-repo">RPM</a> repositories. Translations are managed on <a href="https://app.transifex.com/danielnylander/clipkeeper/">Transifex</a> — currently available in 11 languages.</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Links:</strong> <a href="https://github.com/yeager/clipkeeper">GitHub</a> · <a href="https://github.com/yeager/clipkeeper/releases/tag/v0.1.0">Download v0.1.0</a> · <a href="https://app.transifex.com/danielnylander/clipkeeper/">Translate</a></p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Secure Storage (v0.2.0)</h3>



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



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Svenska</h2>



<p><strong>ClipKeeper</strong> ä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.</p>



<p><strong>Funktioner:</strong></p>



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



<p>Tillgänglig som .deb- och .rpm-paket från våra <a href="https://github.com/yeager/debian-repo">Debian</a>&#8211; och <a href="https://github.com/yeager/rpm-repo">RPM</a>-förråd. Översättningar hanteras på <a href="https://app.transifex.com/danielnylander/clipkeeper/">Transifex</a> — för närvarande tillgänglig på 11 språk.</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Länkar:</strong> <a href="https://github.com/yeager/clipkeeper">GitHub</a> · <a href="https://github.com/yeager/clipkeeper/releases/tag/v0.1.0">Ladda ner v0.1.0</a> · <a href="https://app.transifex.com/danielnylander/clipkeeper/">Översätt</a></p><p>The post <a href="https://www.danielnylander.se/2026/03/04/clipkeeper-a-gtk4-clipboard-manager-for-linux/">ClipKeeper — A GTK4 Clipboard Manager for Linux</a> first appeared on <a href="https://www.danielnylander.se">Daniel Nylander.se</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.danielnylander.se/2026/03/04/clipkeeper-a-gtk4-clipboard-manager-for-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1883</post-id>	</item>
	</channel>
</rss>
