diff --git a/astro.config.mjs b/astro.config.mjs index 24bdd536..26373eab 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -8,6 +8,17 @@ import mdx from "@astrojs/mdx"; export default defineConfig({ site: "https://interledger.org", base: "/developers", + i18n: { + locales: ["es", "en"], + defaultLocale: "en", + routing: { + prefixDefaultLocale: false, + fallbackType: "rewrite" + }, + fallback: { + es: "en" + } + }, integrations: [ starlight({ title: "Interledger", diff --git a/src/components/LanguagePicker.astro b/src/components/LanguagePicker.astro new file mode 100644 index 00000000..15a16234 --- /dev/null +++ b/src/components/LanguagePicker.astro @@ -0,0 +1,87 @@ +--- +import { defaultLang } from "../i18n/ui"; +import { useTranslatedPath } from "../i18n/utils"; +const { lang } = Astro.props; +const path = Astro.url.pathname; +const translatePath = useTranslatedPath(defaultLang, lang); +--- + +
+ + diff --git a/src/components/pages/FoundationHeader.astro b/src/components/pages/FoundationHeader.astro index 7565e2ef..719e9dd7 100644 --- a/src/components/pages/FoundationHeader.astro +++ b/src/components/pages/FoundationHeader.astro @@ -1,103 +1,109 @@ --- import FoundationLogo from "../logos/FoundationLogo.astro"; +import { getLangFromUrl, useTranslations, useTranslatedPath } from "../../i18n/utils"; +import LanguagePicker from "../LanguagePicker.astro" + +const lang = getLangFromUrl(Astro.url); +const t = useTranslations(lang); +const translatePath = useTranslatedPath(lang, lang); ---