From f0f930aae731cf9c76ec9e6d70e91c292b976c8f Mon Sep 17 00:00:00 2001 From: Gary Guangyu Li Date: Fri, 4 Sep 2026 20:06:05 +0800 Subject: [PATCH] fix: persist help center language choice --- language-route.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/language-route.js b/language-route.js index 9d20f29f..d376e0b4 100644 --- a/language-route.js +++ b/language-route.js @@ -1,8 +1,14 @@ (function () { + if (window.__teableDocsLanguageRouteInitialized) { + return; + } + window.__teableDocsLanguageRouteInitialized = true; + var locales = ["en", "zh", "ru", "de", "fr", "es", "it", "ja", "tr", "uk", "ar"]; var localeCookie = "TEABLE_DOCS_LOCALE"; var routerPath = "/en/locale-router"; var overviewPath = "/basic/ai/overview"; + var lastObservedPath = window.location.pathname; function localeFromPath(pathname) { var firstSegment = pathname.split("/")[1].toLowerCase(); @@ -74,7 +80,26 @@ } } + function rememberCurrentPageLocale() { + var currentPath = window.location.pathname; + if (currentPath === lastObservedPath) { + return; + } + + lastObservedPath = currentPath; + if (currentPath.replace(/\/$/, "") === routerPath) { + return; + } + + var locale = localeFromPath(currentPath); + if (locale) { + writeLocaleCookie(locale); + } + } + document.addEventListener("click", rememberLanguageSwitcherChoice, true); + window.addEventListener("popstate", rememberCurrentPageLocale); + window.setInterval(rememberCurrentPageLocale, 250); if (window.location.pathname.replace(/\/$/, "") !== routerPath) { return;