Skip to content

docs(i18n): add Swedish translation - #33

Merged
helmihyo merged 7 commits into
mainfrom
feat/i18n-swedish
Aug 4, 2026
Merged

docs(i18n): add Swedish translation#33
helmihyo merged 7 commits into
mainfrom
feat/i18n-swedish

Conversation

@helmihyo

@helmihyo helmihyo commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Adds Swedish as the fifth locale, completing the set alongside Finnish, French and German.

Why

The Nordic market is a natural fit for a Finnish marine electronics company, and Swedish is the second official language of Finland. The i18n machinery from #26 and #30 made this a matter of writing the pages — no configuration work beyond a locale block.

What is here

All 21 pages under docs/sv/, a swedish-glossary.md in solutions/translation/, and the sv locale in mkdocs.yml with translated admonitions and navigation.

The glossary opens with four rules where the sibling languages are actively wrong for Swedish, because the temptation to copy a pattern that worked in French or German is real:

  1. Address the reader as du. French uses vouvoiement, German uses Sie; Swedish does neither.
  2. Quotation marks are ”…” — the same character (U+201D) on both sides, unlike German's „…“.
  3. No space before ; : ! ? — the exact opposite of the French rule that this repo already enforces.
  4. Compounding with a proper name takes one hyphen, at the junction: NMEA 2000-nätverk, Signal K-server, Raspberry Pi-antenn. Not German's hyphens throughout.

Verification

Both earlier translation branches reached review with a half-applied typography rule, because reading one's own work makes it look like the rule was followed. So the four rules above were measured against the pages rather than re-read:

Check Result
mkdocs build --strict clean
check_anchors.py 4875 anchors across 107 pages, all resolve
Formal address (Ni/Er) 0 occurrences
Quotation marks 54 × , 0 × , 0 ASCII quotes; even count on every page
Space before ; : ! ? 0 occurrences
Over-hyphenated proper nouns 0 occurrences

The anchor pass fixed 18 cross-page links. They break only once the target page is translated, so they were invisible until this branch — the same delayed fault the other language branches hit.

Thirteen pages contain no second-person address at all. That is not an omission: their English counterparts contain no "you" either. They are reference pages that describe the hardware rather than instruct the reader.

What this needs from a reader

Nobody who reads Swedish has read this. The terminology choices are mine, derived from Swedish marine usage rather than confirmed by a native speaker — bärkort (carrier board), stickledning (drop cable), kapsling (enclosure), slagvatten (bilge water), termineringsmotstånd (terminator). Corrections belong in solutions/translation/swedish-glossary.md so the next translator inherits them.

🤖 Generated with Claude Code

helmihyo and others added 7 commits August 4, 2026 16:36
Sets up Swedish as a fifth language and fixes its terminology before any
page is translated.

carrier board is bärkort — the accurate term, as in French and German.

The glossary opens with four rules where the sibling glossaries are
actively wrong for Swedish, because carrying the wrong habit across has
already cost two correction rounds: Swedish addresses the reader as du
where French and German are formal; quotation marks are ”…” with the
same character both sides; there is no space before ; : ! ? unlike
French; and compounding with a proper name takes one hyphen at the
junction — NMEA 2000-nätverk — not German's hyphens throughout.

The verification section now says to test those rules against the pages
rather than re-read them. Both earlier branches shipped a half-applied
typography rule to review because reading makes one look followed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
12 of 21. None of these link into other pages.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
15 of 21.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ces into Swedish

18 of 21.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The remaining three user-guide pages, plus the cross-page anchor pass:
Swedish heading slugs differ from the English ones, so every link into a
now-translated page needed rewriting. All 4875 anchors resolve.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Terminology drifted on getting-started.md, the last page translated:
barrel connector, terminal block and service loop each acquired a second
Swedish name that the glossary does not list. The pages now follow the
glossary.

The glossary itself was wrong about pilot holes. It gave one Swedish term
for two English meanings — a hole you drill as a guide, and a hole the
enclosure already has — which turned a mounting step into an instruction
to drill holes that are already drilled. Split into two rows.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Rereading one's own translation confirms whatever it already says, so a
term that drifted looks correct. Each language shipped that mistake on
its last pages, once the glossary had stopped being opened.

The check reports terms the glossary prescribes that the pages never use
— the signature of a rival word having taken over. It cannot see a term
that gained a rival rather than losing to one; the docstring says so.

Verified against all four languages and by reintroducing two known
defects, which it reports and which a clean tree does not.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@helmihyo
helmihyo merged commit 66b0268 into main Aug 4, 2026
1 check passed
@helmihyo
helmihyo deleted the feat/i18n-swedish branch August 4, 2026 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant