diff --git a/astro.config.mjs b/astro.config.mjs index 861c83a6b..ddaa3247c 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,4 +1,5 @@ // @ts-check +import fs from "node:fs"; import { defineConfig } from "astro/config"; import starlight from "@astrojs/starlight"; import sitemap from "@astrojs/sitemap"; @@ -7,6 +8,12 @@ import starlightLlmsTxt from "starlight-llms-txt"; import starlightOpenAPI, { openAPISidebarGroups } from "starlight-openapi"; import mermaid from "astro-mermaid"; import remarkHeadingId from "remark-heading-id"; + +const langRedirectScript = fs.readFileSync( + new URL("./src/scripts/lang-redirect.js", import.meta.url), + "utf8", +); + export default defineConfig({ site: "https://docs.evcc.io", trailingSlash: "never", @@ -59,6 +66,7 @@ export default defineConfig({ en: { label: "English", lang: "en" }, de: { label: "Deutsch", lang: "de" }, }, + head: [{ tag: "script", content: langRedirectScript }], social: [ { icon: "github", diff --git a/src/components/LanguageSelect.astro b/src/components/LanguageSelect.astro index 87a85d6fc..e8517ebd2 100644 --- a/src/components/LanguageSelect.astro +++ b/src/components/LanguageSelect.astro @@ -23,6 +23,7 @@ function localizedPathname(targetLocale: string): string { {i > 0 && | } {code.toUpperCase()} @@ -33,6 +34,13 @@ function localizedPathname(targetLocale: string): string { ) } + +