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
This commit is contained in:
icarus 2025-10-23 23:31:17 +08:00
parent 7e5e3786cf
commit 9b1ccb60aa

View File

@ -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)
}