fix(email): parse JSON-encoded language setting before using as locale
general_default_language is stored as a JSON string (e.g. "\"pt\""). getRecipientLanguage() returned the raw value including quotes, causing the translation lookup to miss every match and fall back to English. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -116,7 +116,9 @@ async function getRecipientLanguage(email, eventId = null) {
|
||||
.where('setting_key', 'general_default_language')
|
||||
.first();
|
||||
if (langSetting && langSetting.setting_value) {
|
||||
return langSetting.setting_value;
|
||||
let lang = langSetting.setting_value;
|
||||
try { lang = JSON.parse(lang); } catch (_) {}
|
||||
if (typeof lang === 'string' && lang.trim()) return lang.trim();
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error('Error fetching app settings language:', error);
|
||||
|
||||
Reference in New Issue
Block a user