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.


Skriv en kommentar »