Kategori: Översättningar

  • l10n-lint-gtk: Grafisk linter för översättningsfiler

    Jag har släppt l10n-lint-gtk – ett grafiskt verktyg för att granska lokaliseringsfiler. Om du jobbar med översättningar av programvara och använder .po (gettext) eller .ts (Qt) filer, är detta verktyget för dig.

    Vad är l10n-lint?

    l10n-lint är en linter för lokaliseringsfiler som automatiskt hittar vanliga problem i översättningar. Istället för att manuellt granska hundratals eller tusentals strängar, låter l10n-lint dig snabbt identifiera problem som behöver åtgärdas.

    17 granskningsregler

    Verktyget innehåller 17 olika kontroller som du kan aktivera eller inaktivera efter behov:

    Grundläggande kontroller

    • Saknade översättningar – hittar tomma msgstr eller ofullständiga poster
    • Fuzzy-poster – flaggar översättningar markerade som ”fuzzy” som behöver granskas
    • Dubbletter – hittar duplicerade msgid i samma fil
    • Samma som källa – varnar när översättningen är identisk med källtexten

    Formattering och platshållare

    • Platshållare – kontrollerar att %s, %d, {0}, {name} finns i både källa och översättning
    • Escape-sekvenser – verifierar att \n, \t, \r bevaras korrekt
    • HTML-taggar – säkerställer att HTML-taggar matchar mellan källa och översättning
    • Siffror – kontrollerar att numeriska värden från källan finns i översättningen
    • Alternativvärden – verifierar att parametrar som –verbose, -f bevaras

    Stil och kvalitet

    • Skiljetecken – kontrollerar att punkt, frågetecken, utropstecken matchar
    • Versaler – varnar om källan börjar med versal men översättningen med gemen
    • Citattecken – hittar blandade citatteckenstilar
    • Blanksteg – upptäcker extra mellanslag eller blanksteg i början/slutet
    • Upprepade ord – hittar misstag som ”den den” eller ”the the”

    Längd och tangentbordsgenvägar

    • Längdförhållande – varnar om översättningen är mycket längre eller kortare än källan
    • Maxlängd – flaggar översättningar som överstiger en viss teckengräns
    • Tangentbordsgenvägar – kontrollerar att &-markeringar för snabbtangenter bevaras

    GTK-gränssnittet

    l10n-lint-gtk ger dig ett modernt GTK4/libadwaita-gränssnitt som följer GNOME:s designriktlinjer.

    Huvudfönstret

    • Dra och släpp – släpp .po/.ts-filer direkt i fönstret för omedelbar granskning
    • Sökväg eller URL – ange en lokal sökväg, URL eller GitHub-repo (user/repo)
    • Historik – sidopanelen visar nyligen granskade filer för snabb åtkomst

    Resultatvy

    • Problemlista – visar alla hittade problem med rad, regel och meddelande
    • Allvarlighetsgrad – färgkodade ikoner för fel (röd), varning (gul), info (blå)
    • Kontextvisning – klicka på ett problem för att se källtext och översättning
    • Kopiera – kopiera problemdetaljer till urklipp med ett klick

    Filter och sökning

    • Allvarlighetsfilter – visa endast fel, varningar eller info
    • Regelfilter – filtrera på specifik regeltyp
    • Sökning – sök bland alla problem

    Metadata-panel

    När du laddar en fil visas metadata från filens header:

    • Språk och språkgrupp
    • Senaste översättare
    • Revisionsdatum
    • Projektnamn
    • Antal poster (översatta, oöversatta, fuzzy)

    Inställningar

    Via hamburgemenyn → Inställningar kan du:

    • Aktivera/inaktivera individuella granskningsregler
    • Slå på/av rekursiv sökning i kataloger
    • Aktivera strikt läge (behandlar varningar som fel)
    • Återställa till standardinställningar

    Inställningarna sparas automatiskt i ~/.config/l10n-lint/settings.json.

    Exportera rapporter

    Klicka på spara-ikonen för att exportera granskningen som:

    • Oformaterad text – enkel textfil
    • JSON – maskinläsbart format för vidare bearbetning
    • HTML – snygg rapport att dela med teamet

    Installation

    Debian/Ubuntu

    # Lägg till GPG-nyckel
    curl -fsSL https://yeager.github.io/debian-repo/yeager.gpg | sudo gpg --dearmor -o /usr/share/keyrings/yeager.gpg
    
    # Lägg till repot
    echo "deb [signed-by=/usr/share/keyrings/yeager.gpg] https://yeager.github.io/debian-repo stable main" | sudo tee /etc/apt/sources.list.d/yeager.list
    
    # Installera
    sudo apt update
    sudo apt install l10n-lint-gtk

    Fedora/RHEL/openSUSE

    # Lägg till repot
    sudo dnf config-manager --add-repo https://yeager.github.io/rpm-repo/yeager.repo
    
    # Installera
    sudo dnf install l10n-lint-gtk

    Från källkod

    git clone https://github.com/yeager/l10n-lint.git
    cd l10n-lint
    ./l10n_lint_gtk.py

    Kräver: Python 3.8+, GTK4, libadwaita, PyGObject

    Kommandoradsverktyget

    l10n-lint kan också köras från terminalen för skript och CI/CD:

    # Granska en fil
    l10n-lint translations/sv.po
    
    # Granska en katalog rekursivt
    l10n-lint locale/
    
    # Granska ett GitHub-repo direkt
    l10n-lint --github user/repo --path po/
    
    # JSON-output för CI/CD
    l10n-lint --format json --output report.json .
    
    # Strikt läge (returnerar fel om varningar finns)
    l10n-lint --strict .
    
    # Visa endast sammanfattning
    l10n-lint --summary .
    
    # Tyst läge för skript
    l10n-lint --quiet . && echo "Inga problem!"

    Översättningar

    l10n-lint-gtk finns på svenska, engelska och 45 andra språk. Verktyget använder systemets språkinställning automatiskt.

    Källkod och bidrag

    Projektet är öppen källkod under GPL-3.0-licensen:

    https://github.com/yeager/l10n-lint

    Bidrag välkomnas! Rapportera buggar, föreslå förbättringar eller skicka pull requests via GitHub.

  • po-translate – del av översättningsverktygslådan

    po-translate fortsätter att vara mitt go-to-verktyg för att snabbt komma igång med nya översättningsprojekt.

    Översättningsverktygslådan

    Jag har nu tre verktyg som kompletterar varandra:

    Verktyg Funktion
    po-translate Batch-översätt .po/.ts-filer med AI eller gratis tjänster
    l10n-lint Hitta fel i översättningsfiler (placeholders, fuzzy, etc.)
    tp-lint Granska Translation Project-översättningar + statistik

    Typiskt arbetsflöde

    # 1. Översätt automatiskt som startpunkt
    po-translate --service lingva --source en --target sv ./po/
    
    # 2. Granska och rätta manuellt i Poedit/Lokalize
    
    # 3. Kör lint för att hitta kvarvarande problem
    l10n-lint ./po/sv.po
    
    # 4. Fixa och upprepa tills allt är grönt!

    10 översättningstjänster

    Gratis (ingen API-nyckel krävs)

    • Lingva – Google Translate-proxy utan spårning
    • MyMemory – 1000 ord/dag gratis, översättningsminne
    • LibreTranslate – Öppen källkod, kan självhostas

    Betalda (högre kvalitet)

    • DeepL / DeepL Free – Bäst för europeiska språk
    • Google Cloud Translation – Snabb och pålitlig
    • OpenAI – GPT-4, kontextmedveten, förstår teknisk terminologi
    • Anthropic – Claude, bra på nyanser och formellt språk

    Smarta funktioner

    • Bevarar placeholders – {0}, %s, %d, %(name)s hålls intakta
    • Fuzzy-markering – Maskinöversättningar markeras som fuzzy
    • Batch-API – Effektiv användning av API-kvoter
    • Dry-run – Förhandsgranska utan att spara
    • Stöd för .po och .ts – gettext och Qt Linguist

    Installation

    # Debian/Ubuntu
    sudo dpkg -i po-translate_1.0.0_all.deb
    
    # Från PyPI
    pip install po-translate

    Källkod

    🔗 GitHub: github.com/yeager/po-translate


    Se hela min översättningsportfolio med 150+ projekt, 30+ emulatorer och 20 års översättningsarbete!

  • Portfolio: 20 år av svenska översättningar

    Efter över 20 år som översättare av öppen källkod har jag äntligen samlat allt på ett ställe – en portfolio som visar alla projekt jag bidragit till sedan 2004.

    🔗 yeager.github.io/translations-portfolio

    Vad innehåller portfolion?

    Portfolion listar 150+ projekt fördelade på 14 kategorier:

    🎮 Emulatorer (30+)

    Det senaste året har jag fokuserat mycket på emulatorer:

    • PlayStation: RPCS3, shadPS4, PCSX2, DuckStation, PCSX-Redux, Vita3K
    • Nintendo: Ryujinx, Citron, Cemu, Citra, Azahar, Project64, SNES9x, mGBA
    • Övriga: xemu (Xbox), Flycast (Dreamcast), ScummVM, RetroArch

    🕹️ Retrogaming-plattformar

    Batocera, Recalbox, EmuDeck, Pegasus Frontend, Hakchi2 CE och många Decky-plugins för Steam Deck.

    📺 Kodi (35+ tillägg)

    Allt från huvudprogrammet till skins (Copacetic, Madnox) och tillägg för Google Drive, OneDrive, undertexter och mer.

    🐃 GNU / Translation Project

    Jag har varit medlem i svenska översättningsteamet på Translation Project sedan 2004. Svenska har 88% täckning – högst av alla språk! Jag har 16 tilldelade paket, inklusive util-linux-man (6964 strängar), mailutils, och tin-man.

    📱 Applikationer

    VLC, VirtualBox, Vim/Neovim, qBittorrent, Bitwarden, Home Assistant, och många fler.

    🎨 Grafik & CAD

    Inkscape, FreeCAD, LibreCAD, OpenSCAD, Blender, Scribus, Aseprite, FontForge.

    🗺️ GIS

    QGIS, GRASS GIS, PostGIS, pgAdmin – allt för geografer och kartentusiaster.

    🖥️ Server & DevOps

    Proxmox, Zabbix, Cacti, ZoneMinder, Weblate, och mer.

    Mina egna verktyg

    Jag har också byggt verktyg för att underlätta översättningsarbetet:

    Milstolpar

    Några höjdpunkter genom åren:

    • 2004: Gick med i Translation Project
    • 2005: Började översätta Debian, Ubuntu, VLC
    • 2007: VirtualBox, GIMP, Wine
    • 2024–2025: Emulator-vågen – 30+ emulatorer översatta
    • 2026: Ubuntu 100% på svenska – första språket att nå dit!

    Varför en portfolio?

    Efter så många år och hundratals projekt blev det svårt att hålla reda på allt. Portfolion ger en överblick och visar bredden av vad som finns tillgängligt på svenska tack vare öppen källkod-communityn.

    Allt är öppen källkod och fritt att använda. Hoppas det inspirerar fler att bidra till svenska översättningar!


    Länk: yeager.github.io/translations-portfolio

    Källkod: github.com/yeager/translations-portfolio

  • Nya verktyg för översättare: l10n-lint, po-translate och tp-lint

    Jag har utvecklat tre nya verktyg för att underlätta arbetet med översättningsfiler. Alla är skrivna i Python, har inga externa beroenden och är tillgängliga på 37-45 språk!

    l10n-lint – Granska översättningsfiler

    l10n-lint granskar .po (gettext) och .ts (Qt) filer och hittar:

    • Saknade översättningar (tomma msgstr)
    • Fuzzy-markeringar som behöver granskas
    • Felaktiga platshållare (%s, {0}, %1)
    • För långa översättningar
    • Duplicerade poster
    # Granska en katalog
    l10n-lint ./translations/
    
    # Granska ett GitHub-repo direkt
    l10n-lint --github owner/repo
    
    # JSON-output för CI
    l10n-lint --format json ./po/

    GitHub: https://github.com/yeager/l10n-lint

    po-translate – Batch-översätt filer

    po-translate översätter .po och .ts filer automatiskt med hjälp av Lingva (gratis), MyMemory, LibreTranslate, DeepL, Google Cloud, OpenAI eller Anthropic.

    # Översätt med gratis Lingva
    po-translate --source en --target sv ./translations/
    
    # Översätt med OpenAI
    po-translate --service openai --api-key sk-xxx --source en --target de ./po/

    GitHub: https://github.com/yeager/po-translate

    tp-lint – Granska Translation Project

    tp-lint hämtar och granskar PO-filer från Translation Project för valfritt språk.

    # Lista tillgängliga språk
    tp-lint --list
    
    # Granska svenska översättningar
    tp-lint sv
    
    # Granska per översättare
    tp-lint --by-translator sv

    GitHub: https://github.com/yeager/tp-lint

    Installation

    Alla verktyg finns som paket för Debian/Ubuntu (.deb), Fedora/RHEL (.rpm), Arch Linux (.pkg.tar.zst) samt tar.gz och zip.

    45 språk!

    Tack vare po-translate kunde jag batch-översätta alla tre verktygen till 37-45 språk. Ställ in LANG för att få output på ditt språk.

    Licens

    Alla verktyg är GPL-3.0-or-later och har inga externa Python-beroenden – endast standardbiblioteket. Bidrag välkomnas på GitHub!

  • Kodi Subtitle Translator v0.8.0 – nu med stöd för externa undertexter

    Jag har släppt version 0.8.0 av Kodi Subtitle Translator med en efterfrågad funktion: stöd för externa undertextfiler!

    Nytt i v0.8.0

    • Externa undertexter – Översätt .srt, .ass, .ssa och .vtt-filer som ligger bredvid din mediefil
    • Välj källa – Dialog för att välja mellan inbäddade undertexter, externa filer eller bläddra till egen fil
    • Smartare detektering – Hittar automatiskt undertextfiler med samma namn som videon

    Så fungerar det

    När du spelar upp en film eller serie i Kodi:

    1. Tillägget detekterar om det saknas undertexter på ditt språk
    2. Du får välja källa: inbäddade, externa eller bläddra
    3. Undertexterna översätts automatiskt via din valda tjänst
    4. Resultatet cachas så du slipper vänta nästa gång

    Översättningstjänster

    Gratis (ingen API-nyckel)

    • LibreTranslate – Öppen källkod, kan självhostas
    • MyMemory – 1000 ord/dag gratis
    • Lingva Translate – Google Translate utan spårning

    Betalda (bättre kvalitet)

    • DeepL – Bäst kvalitet för europeiska språk
    • DeepL Free – 500k tecken/månad gratis
    • Google Cloud Translation
    • Microsoft Translator

    25 språk

    Tillägget stöder översättning till och från 25 språk inklusive svenska, norska, danska, finska, tyska, franska, spanska, italienska, portugisiska, polska, nederländska, ryska, japanska, kinesiska och koreanska.

    Funktioner

    • Automatisk detektering – Upptäcker saknade undertexter
    • Smart caching – Översättningar sparas lokalt
    • Flera format – SRT, ASS/SSA, WebVTT
    • Bevarad formatering – Timing och styling behålls
    • FFmpeg-integration – Extraherar inbäddade undertexter

    Installation

    1. Ladda ner ZIP från GitHub Releases
    2. I Kodi: Inställningar → Tillägg → Installera från ZIP-fil
    3. Konfigurera språk och översättningstjänst i tilläggsinställningarna

    Källkod

    Gratis och öppen källkod (GPL-3.0):

    🔗 github.com/yeager/kodi-subtitle-translator

    Feedback, buggrapporter och pull requests är välkomna!

  • Ubuntu är nu 100% översatt till svenska – först i världen

    Äntligen! Efter många års dedikerat arbete av det svenska översättningsteamet är Ubuntu nu 100% översatt till svenska i Launchpad. Detta gör svenska till det första språket i världen att uppnå denna milstolpe.

    Vad betyder detta?

    Att Ubuntu är 100% översatt innebär att varje meny, dialogruta, felmeddelande och hjälptext i operativsystemet finns på svenska. Användare som föredrar att arbeta på sitt modersmål får en helt lokaliserad upplevelse utan engelska inslag.

    Versioner som är översatta

    • Ubuntu 26.04 (Resolute Rhino) – 100% ✅
    • Ubuntu 25.10 (Questing Quokka) – Snart 100%
    • Ubuntu 25.04 (Plucky Puffin) – Snart 100%
    • Ubuntu 24.10 (Oracular Oriole) – Snart 100%
    • Ubuntu 24.04 LTS (Noble Numbat) – Snart 100%

    Det svenska översättningsteamet

    Den svenska Ubuntu-översättningen är resultatet av samarbete mellan frivilliga översättare genom åren. Arbetet koordineras via Ubuntu Swedish Translators på Launchpad.

    Vill du bidra?

    Översättningsarbetet tar aldrig slut – nya versioner och program tillkommer ständigt. Om du vill hjälpa till med svenska översättningar kan du:

    1. Skapa ett konto på Launchpad
    2. Gå med i Ubuntu Swedish Translators
    3. Börja översätta via translations.launchpad.net

    Tack till alla som bidragit genom åren – detta är en milstolpe för svensk öppen källkod!

  • Uppdaterad svensk översättning av GNU gold, gas och ld

    GNU binutils är en samling grundläggande verktyg för att arbeta med binärfiler och objektkod. De används av kompilatorer som GCC för att bygga körbara program.

    Vad har uppdaterats?

    Jag har uppdaterat de svenska översättningarna för tre centrala komponenter:

    GNU ld (länkare)

    Den klassiska GNU-länkaren som kombinerar objektfiler till körbara program eller bibliotek.

    GNU gold (snabb länkare)

    En nyare, snabbare länkare optimerad för ELF-format. Särskilt användbar för stora projekt med långa byggtider.

    GNU as/gas (assembler)

    GNU Assembler som översätter assemblerkod till maskinkod. Används internt av GCC.

    Varför översätta utvecklarverktyg?

    Även om de flesta utvecklare är bekväma med engelska, kan lokaliserade felmeddelanden och hjälptexter göra det lättare för:

    • Studenter som lär sig programmering
    • Utvecklare som föredrar sitt modersmål
    • Tekniska utbildningar på svenska

    Translation Project

    Översättningarna görs via Translation Project, den centrala koordineringshubben för översättning av fri programvara.

  • Ardour – professionell ljudredigerare nu på svenska

    Ardour är en kraftfull digital audio workstation (DAW) med öppen källkod, jämförbar med kommersiella program som Pro Tools, Logic Pro och Cubase. Programmet används för ljudinspelning, redigering, mixning och mastering.

    Varför översätta Ardour?

    Jag upptäckte att den svenska översättningen av Ardour var cirka 20 år gammal och helt föråldrad. Många nya funktioner och menyer saknade översättning, och befintliga texter använde gammal terminologi.

    Översättningsstatus

    Översättningen är nu komplett och inväntar granskning av Ardour-teamet. Programmet är komplext med tusentals strängar, så granskningen kan ta en stund.

    Om Ardour

    • Obegränsat antal spår – Ljud- och MIDI-spår utan begränsningar
    • Professionella plugins – Stöd för VST, AU, LV2 och LADSPA
    • Icke-destruktiv redigering – Originalfiler påverkas aldrig
    • Video-synkronisering – Perfekt för ljudläggning till film
    • Plattformsoberoende – Fungerar på Linux, macOS och Windows

    Bidra till översättningen

    Mitt utvecklingsarkiv finns på GitHub där du kan följa arbetet eller bidra med förbättringar:

    🔗 github.com/yeager/ardour

    Officiell webbplats: ardour.org

  • Svenska manualsidor för util-linux – mount, fdisk, lsblk och fler

    util-linux är ett av de mest fundamentala paketen i varje Linux-system. Det innehåller verktyg som mount, fdisk, lsblk, dmesg, kill, more och många fler.

    Vad har översatts?

    Jag har översatt manualsidorna (man pages) för util-linux till svenska. Det innebär att du kan läsa dokumentationen för dessa verktyg på svenska genom att köra t.ex.:

    man mount
    man fdisk
    man lsblk

    Verktyg som ingår i util-linux

    • mount/umount – Montera och avmontera filsystem
    • fdisk/cfdisk – Partitionera hårddiskar
    • lsblk/blkid – Visa information om blockenheter
    • dmesg – Visa kärnans meddelandebuffert
    • kill/killall – Avsluta processer
    • more/less – Sidvisare för textfiler
    • hwclock – Hantera hårdvaruklockan
    • mkswap/swapon – Hantera swap-minne

    Varför svenska manualsidor?

    Manualsidor är den primära dokumentationen för Unix/Linux-kommandon. Att ha dem på svenska gör det lättare att förstå verktygens funktioner och flaggor, särskilt för de som inte har engelska som modersmål.

    Översättningarna skickas till Translation Project och kommer att inkluderas i framtida versioner av util-linux.

  • Weblate-dokumentationen nu komplett på svenska

    Weblate är ett populärt webbaserat översättningsverktyg med öppen källkod. Det används av hundratals projekt för att koordinera översättningsarbete, inklusive phpMyAdmin, Fedora, openSUSE och många fler.

    Vad har översatts?

    Jag har slutfört översättningen av Weblates officiella dokumentation till svenska. Detta inkluderar:

    • Installationsguider
    • Användarhandbok för översättare
    • Administratörsguide
    • API-dokumentation
    • Integrations- och konfigurationsguider

    Om Weblate

    Weblate erbjuder en modern webbaserad miljö för översättning med funktioner som:

    • Versionshantering – Integrerat med Git, GitHub, GitLab, Bitbucket
    • Automatiska kontroller – Hittar vanliga översättningsfel
    • Översättningsminne – Återanvänd tidigare översättningar
    • Maskintranslation – Förslag från DeepL, Google, LibreTranslate
    • Ordlistor – Konsekvent terminologi

    Prova Weblate

    Du kan använda Weblate gratis för open source-projekt på hosted.weblate.org eller installera det själv.

    Officiell webbplats: weblate.org