Check translation contracts offline, add Swedish to the installer and enable the website languages

- Offline checks for terminal and website catalogs reject translations that change commands, paths, identifiers or placeholders
- Terminal and documentation texts that broke those contracts are corrected in every language
- Swedish can be chosen in the stable and beta installers
- The website routes, language switcher and exported pages cover the eight languages, with the shared website texts in each of them
- Website documentation translations are generated only when requested
- From PR #475 by @jcastro
This commit is contained in:
MacRimi
2026-10-18 12:58:25 +02:00
parent f363ef4395
commit f8cabb4700
54 changed files with 2149 additions and 173 deletions
+5 -4
View File
@@ -8,13 +8,14 @@ const inter = Inter({ subsets: ["latin"] })
* Minimal root layout — the localized layout under [locale]/ does the
* real work (provider, navbar, etc.) but cannot own <html>/<body> tags
* because Next.js requires those at the root level. Lang is set to the
* default locale here and refined client-side from inside the locale
* layout so the page still renders correctly with JS disabled (defaults
* to English) and switches to the active locale once hydrated.
* default locale here; scripts/localize-export.mjs sets the exported
* document's language before search indexing, and LocaleHtmlSync keeps
* it in sync during client navigation. The root-only hydration suppression
* allows that intentional lang attribute change in the static export.
*/
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en" className="dark">
<html lang="en" className="dark" suppressHydrationWarning>
<body className={`${inter.className} bg-background text-foreground antialiased`}>
{children}
</body>