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.

Kommentarer

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig om hur din kommentarsdata bearbetas.