Pārlūkot izejas kodu

feat(embedded-chatbot): support overriding locale via URL params (#18509)

tags/1.3.0
Marcelo Díaz pirms 6 mēnešiem
vecāks
revīzija
bf031af7b1
Revīzijas autora e-pasta adrese nav piesaistīta nevienam kontam

+ 24
- 2
web/app/components/base/chat/embedded-chatbot/hooks.tsx Parādīt failu

@@ -80,8 +80,30 @@ export const useEmbeddedChatbot = () => {
}, [])

useEffect(() => {
if (appInfo?.site.default_language)
changeLanguage(appInfo.site.default_language)
const setLanguageFromParams = async () => {
// Check URL parameters for language override
const urlParams = new URLSearchParams(window.location.search)
const localeParam = urlParams.get('locale')

// Check for encoded system variables
const systemVariables = await getProcessedSystemVariablesFromUrlParams()
const localeFromSysVar = systemVariables.locale

if (localeParam) {
// If locale parameter exists in URL, use it instead of default
changeLanguage(localeParam)
}
else if (localeFromSysVar) {
// If locale is set as a system variable, use that
changeLanguage(localeFromSysVar)
}
else if (appInfo?.site.default_language) {
// Otherwise use the default from app config
changeLanguage(appInfo.site.default_language)
}
}

setLanguageFromParams()
}, [appInfo])

const [conversationIdInfo, setConversationIdInfo] = useLocalStorageState<Record<string, Record<string, string>>>(CONVERSATION_ID_INFO, {

Notiek ielāde…
Atcelt
Saglabāt