From 2db1e02cdf977897b8f77b2d2ec35f6a965429f3 Mon Sep 17 00:00:00 2001 From: Mees Frensel <33722705+meesfrensel@users.noreply.github.com> Date: Thu, 9 Jul 2026 15:40:15 +0200 Subject: [PATCH] fix(web): always initialize language manager to set lang and dir (#29696) --- web/src/lib/managers/language-manager.svelte.ts | 10 +++++++++- web/src/routes/+layout.ts | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/web/src/lib/managers/language-manager.svelte.ts b/web/src/lib/managers/language-manager.svelte.ts index 3e67160140..c690197e1f 100644 --- a/web/src/lib/managers/language-manager.svelte.ts +++ b/web/src/lib/managers/language-manager.svelte.ts @@ -5,12 +5,20 @@ import { langs } from '$lib/utils/i18n'; class LanguageManager { constructor() { eventManager.on({ - AppInit: () => lang.subscribe((lang) => this.setLanguage(lang)), + AppInit: () => this.init(), }); } + initialized = $state(false); rtl = $state(false); + init() { + if (!this.initialized) { + this.initialized = true; + lang.subscribe((lang) => this.setLanguage(lang)); + } + } + setLanguage(code: string) { const item = langs.find((item) => item.code === code); if (!item) { diff --git a/web/src/routes/+layout.ts b/web/src/routes/+layout.ts index a2e01b247b..6dacfe7b42 100644 --- a/web/src/routes/+layout.ts +++ b/web/src/routes/+layout.ts @@ -1,5 +1,6 @@ import { commandPaletteManager } from '@immich/ui'; import { goto } from '$app/navigation'; +import { languageManager } from '$lib/managers/language-manager.svelte'; import { serverConfigManager } from '$lib/managers/server-config-manager.svelte'; import { maintenanceCreateUrl, maintenanceReturnUrl, maintenanceShouldRedirect } from '$lib/utils/maintenance'; import { init } from '$lib/utils/server'; @@ -23,6 +24,7 @@ export const load = (async ({ fetch, url }) => { } commandPaletteManager.enable(); + languageManager.init(); return { error,