This is a demo announcement, dismissible and configured in site.json.

Languages

Add a documentation language: content tree, UI strings, changelog.

Languages are plain directories. The theme does not use Hugo’s multilingual mode. Adding German takes three steps:

1. Content tree

text
content/docs/__mydocs__/   ← your working-docs token
├── en/ …
└── de/                ← new
    ├── _index.md      ← title: "Deutsch"
    └── …

From the next tag onward, the release pipeline detects the new directory and lists it in the generated manifest automatically.

2. Register in the local-dev manifest

So the pickers also show it while writing locally, add it to the minimal static/versions.json:

static/versions.jsonjson
"languages": [
  { "code": "en", "label": "EN", "path": "/docs/__mydocs__/en/", "default": true },
  { "code": "de", "label": "DE", "path": "/docs/__mydocs__/de/" }
]

The language picker, search scope filter and hreflang links pick it up automatically. Pages link their translations only where the same page actually exists.

3. Translate the UI strings

The chrome (“Search…”, “On this page”, badge labels, error messages) reads from data/i18n/<lang>.toml. Copy the English file from the theme (data/i18n/en.toml) into your site as data/i18n/de.toml and translate the values:

data/i18n/de.tomltoml
search_placeholder = "Dokumentation durchsuchen…"
back_to_top        = "Nach oben"
on_this_page       = "Auf dieser Seite"
# … keep every key. Missing keys fall back to English.

The <lang> filename must match the language directory name. Site data files override the theme’s, so you can also tweak English wording the same way.

Note

The page’s language comes from its path (docs/<version>/<lang>/…), so the right strings apply per page automatically, even when versions mix languages.

Changelog languages

The changelog is also per-language: add content/changelog/de/ with the same _index.md pattern as English.