Skip to content

Adding a Language

Leshiy edited this page Jul 31, 2026 · 1 revision

Adding a language

PolterType is data-driven: a language is one TOML file (the layout) plus a wordlist (the dictionary) — no Rust required. Bundled today: EN · UK · RU · DE · ES · FR.

The full walkthrough lives in docs/ADDING_A_LANGUAGE.md; this page is the short version.

Try it locally first — no rebuild

Drop two files into your config directory and restart:

  • <config-dir>/poltertype/layouts/<stem>.toml — which physical key produces which character under your layout:

    id     = "pl-PL"
    name   = "Polski"
    script = "Latin"
    
    [keys]
    0x10 = { plain = "q", shift = "Q" }
    0x11 = { plain = "w", shift = "W" }
    # … the alphanumeric block + your word-boundary punctuation
  • <config-dir>/poltertype/wordlists/<stem>.txt — one lowercase word per line.

Watch the log for loaded user layout layout=pl-PL keys=46 … — a low keys= count means missed entries.

Tips the doc explains properly: the bundled TOMLs are copy-paste templates; dead keys are surfaced as their spacing equivalents; the detector ignores scancodes you don't list.

Upstream it

Open a PR with the TOML + wordlist under data/, or start from the new-language issue template and we'll walk you through it. The claim-a-language tracking issue is #2.

Clone this wiki locally