From f24880d42c5534454f54abdacae3131e40e407e5 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 27 Oct 2025 18:10:21 +0200 Subject: [PATCH] fix(website): incorrect default language --- apps/website/src/index.tsx | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/apps/website/src/index.tsx b/apps/website/src/index.tsx index 3858165fd..242b1159a 100644 --- a/apps/website/src/index.tsx +++ b/apps/website/src/index.tsx @@ -8,11 +8,9 @@ import Footer from './components/Footer.js'; import GetStarted from './pages/GetStarted/get-started.js'; import SupportUs from './pages/SupportUs/SupportUs.js'; import { createContext } from 'preact'; -import { useLayoutEffect, useRef, useState } from 'preact/hooks'; -import { default as i18next, changeLanguage } from 'i18next'; +import { useRef } from 'preact/hooks'; +import { changeLanguage } from 'i18next'; import { extractLocaleFromUrl, initTranslations, LOCALES, mapLocale } from './i18n'; -import HttpApi from 'i18next-http-backend'; -import { initReactI18next } from "react-i18next"; export const LocaleContext = createContext('en'); @@ -42,7 +40,7 @@ export function App(props: {repoStargazersCount: number}) { export function LocaleProvider({ children }) { const { path } = useLocation(); - const localeId = mapLocale(extractLocaleFromUrl(path) || navigator.language); + const localeId = getLocaleId(path); const loadedRef = useRef(false); if (!loadedRef.current) { @@ -63,6 +61,13 @@ if (typeof window !== 'undefined') { hydrate(, document.getElementById('app')!); } +function getLocaleId(path: string) { + const extractedLocale = extractLocaleFromUrl(path); + if (extractedLocale) return mapLocale(extractedLocale); + if (typeof window === "undefined") return 'en'; + return mapLocale(navigator.language); +} + export async function prerender(data) { // Fetch the stargazer count of the Trilium's GitHub repo on prerender to pass // it to the App component for SSR. @@ -70,12 +75,11 @@ export async function prerender(data) { const stargazersCount = await getRepoStargazersCount(); const { html, links } = await ssr(); - const lang = extractLocaleFromUrl(data.url); return { html, links, head: { - lang + lang: extractLocaleFromUrl(data.url) ?? "en" } } }