fix: installed apps preview language error (#23397)

This commit is contained in:
Wu Tianwei
2025-08-05 11:01:31 +08:00
committed by GitHub
parent 0cee57acca
commit b946378b38
4 changed files with 14 additions and 11 deletions

View File

@@ -115,8 +115,11 @@ export const useChatWithHistory = (installedAppInfo?: InstalledApp) => {
}, [])
useEffect(() => {
if (appData?.site.default_language)
changeLanguage(appData.site.default_language)
const setLocaleFromProps = async () => {
if (appData?.site.default_language)
await changeLanguage(appData.site.default_language)
}
setLocaleFromProps()
}, [appData])
const [sidebarCollapseState, setSidebarCollapseState] = useState<boolean>(false)

View File

@@ -101,15 +101,15 @@ export const useEmbeddedChatbot = () => {
if (localeParam) {
// If locale parameter exists in URL, use it instead of default
changeLanguage(localeParam)
await changeLanguage(localeParam)
}
else if (localeFromSysVar) {
// If locale is set as a system variable, use that
changeLanguage(localeFromSysVar)
await changeLanguage(localeFromSysVar)
}
else if (appInfo?.site.default_language) {
// Otherwise use the default from app config
changeLanguage(appInfo.site.default_language)
await changeLanguage(appInfo.site.default_language)
}
}

View File

@@ -371,7 +371,7 @@ const TextGeneration: FC<IMainProps> = ({
setAppId(appId)
setSiteInfo(siteInfo as SiteInfo)
setCustomConfig(custom_config)
changeLanguage(siteInfo.default_language)
await changeLanguage(siteInfo.default_language)
const { user_input_form, more_like_this, file_upload, text_to_speech }: any = appParams
setVisionConfig({

View File

@@ -87,11 +87,11 @@ if (!i18n.isInitialized) {
}
export const changeLanguage = async (lng?: string) => {
const resolvedLng = lng ?? 'en-US'
const resource = await loadLangResources(resolvedLng)
if (!i18n.hasResourceBundle(resolvedLng, 'translation'))
i18n.addResourceBundle(resolvedLng, 'translation', resource, true, true)
await i18n.changeLanguage(resolvedLng)
if (!lng) return
const resource = await loadLangResources(lng)
if (!i18n.hasResourceBundle(lng, 'translation'))
i18n.addResourceBundle(lng, 'translation', resource, true, true)
await i18n.changeLanguage(lng)
}
export default i18n