
Flexweg Multilang
Publishes the same Flexweg site in multiple languages. Per-language editor tabs, per-locale URLs, reciprocal hreflang, per-language menu labels and sitemaps — built on top of the standard publish pipeline.
Description
Flexweg Multilang turns Flexweg into a fully bilingual / multilingual CMS without touching its static-publishing model. The primary language stays at the site root (/news/hello.html); each enabled secondary language gets its own URL prefix (/fr/actualites/bonjour.html).
In the admin, the post editor grows a language tab strip above the canvas. Switching tabs swaps the WHOLE editor state — title, slug, body, blocks, excerpt, SEO meta — while keeping the same Tiptap instance alive, so blocks, drag-and-drop, and image picker work identically for every language. Categories and tags expose per-language name + slug + description + SEO directly on the Categories & Tags row (chevron to expand). The Menus page renders one extra input per secondary language under each item.
At publish time the plugin emits reciprocal <link rel="alternate" hreflang> tags on every page (primary AND secondary), per-locale sitemap <xhtml:link> alternates, per-locale RSS feeds, per-locale homes and category archives, and a per-locale /<lang>/data/posts.json so sidebar widgets stay translated. The published HTML is identical to what a single-language Flexweg site produces — just multiplied by N locales.