diff --git a/packages/api/src/controllers/config.js b/packages/api/src/controllers/config.js index 7f9b2547c..0d6605392 100644 --- a/packages/api/src/controllers/config.js +++ b/packages/api/src/controllers/config.js @@ -121,6 +121,7 @@ module.exports = { allowPrivateCloud: platformInfo.isElectron || !!process.env.ALLOW_DBGATE_PRIVATE_CLOUD, ...currentVersion, redirectToDbGateCloudLogin: !!process.env.REDIRECT_TO_DBGATE_CLOUD_LOGIN, + preferrendLanguage: adminConfig?.preferredLanguage || process.env.LANGUAGE || null, }; return configResult; diff --git a/packages/web/src/App.svelte b/packages/web/src/App.svelte index 5b08bb170..abc17dbe8 100644 --- a/packages/web/src/App.svelte +++ b/packages/web/src/App.svelte @@ -61,7 +61,7 @@ initializeAppUpdates(); installCloudListeners(); refreshPublicCloudFiles(); - saveSelectedLanguageToCache(); + saveSelectedLanguageToCache(config.preferrendLanguage); const electron = getElectron(); if (electron) { diff --git a/packages/web/src/translations.ts b/packages/web/src/translations.ts index 2abe830d3..46a99f1ee 100644 --- a/packages/web/src/translations.ts +++ b/packages/web/src/translations.ts @@ -31,13 +31,13 @@ const defaultLanguage = 'en'; let selectedLanguageCache: string | null = null; -export function getSelectedLanguage(): string { +export function getSelectedLanguage(preferrendLanguage?: string): string { if (selectedLanguageCache) return selectedLanguageCache; // const browserLanguage = getBrowserLanguage(); const selectedLanguage = getElectron() - ? getStringSettingsValue('localization.language', null) - : localStorage.getItem('selectedLanguage'); + ? getStringSettingsValue('localization.language', preferrendLanguage) + : localStorage.getItem('selectedLanguage') ?? preferrendLanguage; if (!selectedLanguage || !supportedLanguages.includes(selectedLanguage)) return defaultLanguage; return selectedLanguage; @@ -51,8 +51,8 @@ export async function setSelectedLanguage(language: string) { } } -export function saveSelectedLanguageToCache() { - selectedLanguageCache = getSelectedLanguage(); +export function saveSelectedLanguageToCache(preferrendLanguage?: string) { + selectedLanguageCache = getSelectedLanguage(preferrendLanguage); } export function getBrowserLanguage(): string {