Skip to main content

svlang

Version License Python

Beskrivning

svlang är ett kommandoradsverktyg för svensk språkgranskning i översättningsflöden. Det erbjuder ordkontroll, frekvensuppslag, skrivregler och heuristisk kontroll av hur naturlig en mening verkar. Verktyget ger snabb återkoppling, men ersätter inte språkgranskning i sitt sammanhang.

Funktioner

  • check kontrollerar ord mot de medföljande svenska lexikonen och, när det finns, Hunspells svenska ordlista. PO-, JSON- och Fluent-kataloger granskas med måltexten utan nycklar, källtext eller platshållare.
  • freq visar förekomst i den uppskattade frekvenslistan.
  • skrivregler hittar vanliga formella skrivregelavvikelser.
  • natural ger heuristiska signaler om formuleringar som kan behöva ses över.

Installation

Fedora/RHEL

sudo dnf config-manager addrepo --from-repofile=https://yeager.github.io/rpm-repo/yeager.repo
sudo dnf makecache
sudo dnf install svlang

Aktuell version

Version 0.2.7 innehåller versionsanteckningar och den annoterade Git-taggen. Installera via pip eller från källkod enligt anvisningarna nedan. APT- och RPM-kataloger kan ligga efter den senaste GitHub-versionen.

pip

pip install svlang

Bygg från källkod

git clone https://github.com/yeager/svlang
cd svlang
pip install -e .

Användning

Kontrollera svensk text:

svlang check --file text.txt

Kontrollera svenska skrivregler:

svlang skrivregler --file file.txt

# Visa hela stilpolicyn och manuella granskningspunkter
svlang skrivregler --style-guide

Kontrollera språklig naturlighet (heuristik, inte en fullständig grammatikkontroll):

svlang natural --text "Det här är en svensk mening."

Visa hjälp och alla alternativ:

svlang --help
man svlang

Frekvens och stavningskontroll

check kontrollerar båda de medföljande svenska lexikonen innan ett ord som saknas i frekvenslistan markeras. Om hunspell och dess sv_SE-ordlista är installerade kontrolleras även böjda former där. Utan dem fungerar de medföljande lexikonen fortfarande, men den morfologiska täckningen är mindre.

Frekvenslistan är en uppskattning byggd av vanliga ord och en ordlista, inte uppmätta korpusfrekvenser. freq visar bara förekomst i den listan; found: false betyder inte att ordet är felstavat. Frekvensförslag är råd och gör inte ensamma att check avslutas med status 1.

Gemensam språkgranskning

Använd svlang tillsammans med l10n-lint, hunspell-sv, swedish-foss-terminology och swedish-tm. Kör först katalog- och platshållarkontroller, sedan stavning och skrivregler. Kontrollera därefter varje varning mot källtext, gränssnittskontext och projektets terminologi.

skrivregler kontrollerar mekaniskt sådant som kan avgöras utan sammanhang: komma omedelbart före och enligt projektets policy, mellanslag före svensk skiljeteckning, svenska citattecken, utelämningstecknet …, mellanrum före procenttecken, tusentalsgruppering, tankstreck i talintervall och tankstreck i löpande svensk text. Använd normalt kolon, komma eller parentes i stället för tankstreck. Behåll det bara när originalets syntax eller layout måste bevaras och kontrollera då alltid källsträngen. Stilpolicyn beskriver kontrollerna och de regler som alltid måste granskas manuellt, exempelvis tilltal, betydelse, register och tvetydiga termer. En text före | i en Crowdin-nyckel är kontextmetadata och får inte läcka in i den synliga svenska översättningen.

Terminologikällor

För IT-terminologi använder svlangs projektriktlinjer Computer Swedens IT-ord som första referenskälla. För annan terminologi och allmän svenska används SAOL, SO och SAOB, TEPA, IATE, Rikstermbanken och ISOF:s vägledning om fackspråk och terminologi. De används som referenskällor. svlang samlar inte in eller återdistribuerar deras innehåll.

Utveckling

python -m pip install -e '.[dev]'
python -m pytest

Tester simulerar tillgänglig och otillgänglig Hunspell. Systemordlistor krävs inte för att köra sviten.

Översättning

Översättningar hanteras på Transifex: https://app.transifex.com/danielnylander/svlang/

Språk som stöds: svenska, danska, tyska, spanska, finska, franska, italienska, norskt bokmål, nederländska, polska och portugisiska (Brasilien)

Bidrag välkomnas!

Changelog

  • 0.2.9: Tolkar den dokumenterade CLI-metavariabeln ? utan falsk interpunktionsvarning.

  • 0.2.8: Markerar tankstreck i löpande svensk text och dokumenterar när originalets struktur måste bevaras.

  • 0.2.7: Lägger till den dokumenterade svenska stilpolicyn och typografikontroller.

  • 0.2.6: Markerar felaktiga mellanslag vid skiljetecken och tre ASCII-punkter.

  • 0.2.5: Markerar kommatecken omedelbart före och i svenska översättningar.

  • 0.2.2: Accepterar både iväg och i väg i skrivregelkontroller enligt Svensk ordbok.

  • 0.2.1: Dokumenterar Computer Swedens IT-ord som första terminologikälla för IT-termer.

  • 0.2.0: Stabil version med utökat stöd för svenska.

  • 0.1.x: Första utveckling och grundläggande NLP-funktioner.

Licens

MIT

Upphovsperson

Daniel Nylander (daniel@danielnylander.se)

English reference

svlang is a command-line helper for Swedish localization review. Use check for word-list and Hunspell-backed spelling signals, freq for frequency lookups, skrivregler for mechanical style checks, and natural for heuristic wording signals. PO, JSON, and Fluent catalogs are analyzed using target text only, excluding keys, source text, and placeholders. Run svlang skrivregler --style-guide for the complete policy.

Use it with l10n-lint, hunspell-sv, swedish-foss-terminology and swedish-tm. Automatic checks cover the project rule against a comma directly before och, punctuation spacing, Swedish quotation marks, ellipses, percentages, digit grouping, numeric ranges and em dashes in ordinary Swedish text. Prefer a colon, comma or parentheses to an em dash. Preserve it only when the original syntax or layout requires it, after comparing the source. Meaning, tone, register and context-specific terminology remain manual review tasks. A Crowdin prefix before | is metadata and must not appear in the visible Swedish translation.

Metadata

Release files for svlang 0.2.21

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for svlang 0.2.21
File Size Uploaded Provenance Actions
svlang-0.2.21.tar.gz 1.0 MB With provenance Details for svlang-0.2.21.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for svlang 0.2.21
File Interpreter ABI Platform Actions
svlang-0.2.21-py3-none-any.whl Python 3 none any Details for svlang-0.2.21-py3-none-any.whl

Total release size: 2.0 MB

Release files / svlang-0.2.21.tar.gz

Download URL svlang-0.2.21.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
574520fbcbb47b73a0b0f9db111ddf2e31967641e10683fd725acd20ddc22341
BLAKE2b-256 checksum
How to use checksums
64c9fbbde422560a54042c34d21276287bf9b809a693232e9ac6d4f7858ff168
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Release files / svlang-0.2.21-py3-none-any.whl

Download URL svlang-0.2.21-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
7871e0c12012a3f596a984366e7f9a0b58ad1ec20b4797ec9a33d5689393a1e6
BLAKE2b-256 checksum
How to use checksums
b86019594520bef4dbe88653495534a198ca045215894488a321a9593628d423
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Security for svlang 0.2.21

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for svlang-0.2.21.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page