From 9b1ccb60aae6c9f963ab587e0bdcfd7b8c2b28a9 Mon Sep 17 00:00:00 2001 From: icarus Date: Thu, 23 Oct 2025 23:31:17 +0800 Subject: [PATCH] feat(i18n): add language preference change subscription Add subscription to language preference changes to dynamically update i18n language. Also change warning to error log when no language preference is found --- src/main/index.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/index.ts b/src/main/index.ts index a4f8cb4676..14bbe0f4c2 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -173,8 +173,15 @@ if (!app.requestSingleInstanceLock()) { const userLanguage = preferenceService.get('app.language') if (userLanguage) { i18n.changeLanguage(userLanguage) + preferenceService.subscribeChange('app.language', (newLang) => { + if (newLang) { + i18n.changeLanguage(newLang) + } else { + logger.error('New langauge is null, skip.') + } + }) } else { - logger.warn('No user language preference found, falling back to default language') + logger.error('No user language preference found, falling back to default language') i18n.changeLanguage(defaultLanguage) }