diff --git a/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/WeeklyReport.tsx b/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/WeeklyReport.tsx index b166364ea..ba996b8bf 100644 --- a/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/WeeklyReport.tsx +++ b/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/WeeklyReport.tsx @@ -159,7 +159,10 @@ function FormattedBullet({ text }: { text: string }) { return <>{parts}; } -const MONTH_NAMES = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; +function getMonthName(month: number, locale: string): string { + const date = new Date(2000, month - 1, 1); + return date.toLocaleDateString(locale, { month: 'long' }); +} // ── Email Bar (shared) ────────────────────────────────────────── @@ -545,7 +548,7 @@ function WeeklySection({ installationId, latestMonthlyPeriodEnd }: { installatio {report.dailyData.map((d, i) => { const dt = new Date(d.date); - const dayLabel = dt.toLocaleDateString('en-US', { weekday: 'short', month: 'short', day: 'numeric' }); + const dayLabel = dt.toLocaleDateString(intl.locale, { weekday: 'short', month: 'short', day: 'numeric' }); const isCurrentWeek = report.dailyData.length > 7 ? i >= report.dailyData.length - 7 : true; return ( @@ -555,7 +558,7 @@ function WeeklySection({ installationId, latestMonthlyPeriodEnd }: { installatio {!isCurrentWeek && } - PV {d.pvProduction.toFixed(1)} | Load {d.loadConsumption.toFixed(1)} | Grid {d.gridImport.toFixed(1)} kWh + {intl.formatMessage({ id: 'pvProduction' })} {d.pvProduction.toFixed(1)} | {intl.formatMessage({ id: 'consumption' })} {d.loadConsumption.toFixed(1)} | {intl.formatMessage({ id: 'gridImport' })} {d.gridImport.toFixed(1)} kWh @@ -737,7 +740,7 @@ function MonthlySection({ ? intl.formatMessage({ id: 'generatingMonthly', defaultMessage: 'Generating...' }) : intl.formatMessage( { id: 'generateMonth', defaultMessage: 'Generate {month} {year} ({count} weeks)' }, - { month: MONTH_NAMES[p.month], year: p.year, count: p.weekCount } + { month: getMonthName(p.month, intl.locale), year: p.year, count: p.weekCount } ) } @@ -752,7 +755,7 @@ function MonthlySection({ `${MONTH_NAMES[r.month]} ${r.year}`} + labelFn={(r: MonthlyReport) => `${getMonthName(r.month, intl.locale)} ${r.year}`} countLabelId="weeksAggregated" countFn={(r: MonthlyReport) => r.weekCount} sendEndpoint="/SendMonthlyReportEmail" diff --git a/typescript/frontend-marios2/src/lang/de.json b/typescript/frontend-marios2/src/lang/de.json index 856eb5ffc..84ee58ea1 100644 --- a/typescript/frontend-marios2/src/lang/de.json +++ b/typescript/frontend-marios2/src/lang/de.json @@ -155,6 +155,7 @@ "generatingMonthly": "Wird generiert...", "generatingYearly": "Wird generiert...", "thisMonthWeeklyReports": "Wöchentliche Berichte dieses Monats", + "recentWeeklyReports": "Letzte Wochenberichte", "ai_analyzing": "KI analysiert...", "ai_show_details": "Details anzeigen", "ai_show_less": "Weniger anzeigen", diff --git a/typescript/frontend-marios2/src/lang/en.json b/typescript/frontend-marios2/src/lang/en.json index d3dba04b9..f019bf494 100644 --- a/typescript/frontend-marios2/src/lang/en.json +++ b/typescript/frontend-marios2/src/lang/en.json @@ -137,6 +137,7 @@ "generatingMonthly": "Generating...", "generatingYearly": "Generating...", "thisMonthWeeklyReports": "This Month's Weekly Reports", + "recentWeeklyReports": "Recent Weekly Reports", "ai_analyzing": "AI is analyzing...", "ai_show_details": "Show details", "ai_show_less": "Show less", diff --git a/typescript/frontend-marios2/src/lang/fr.json b/typescript/frontend-marios2/src/lang/fr.json index c1dbb7fea..a52082f15 100644 --- a/typescript/frontend-marios2/src/lang/fr.json +++ b/typescript/frontend-marios2/src/lang/fr.json @@ -149,6 +149,7 @@ "generatingMonthly": "Génération en cours...", "generatingYearly": "Génération en cours...", "thisMonthWeeklyReports": "Rapports hebdomadaires de ce mois", + "recentWeeklyReports": "Derniers rapports hebdomadaires", "ai_analyzing": "L'IA analyse...", "ai_show_details": "Afficher les détails", "ai_show_less": "Afficher moins", diff --git a/typescript/frontend-marios2/src/lang/it.json b/typescript/frontend-marios2/src/lang/it.json index 05cdf337f..2e55deac4 100644 --- a/typescript/frontend-marios2/src/lang/it.json +++ b/typescript/frontend-marios2/src/lang/it.json @@ -160,6 +160,7 @@ "generatingMonthly": "Generazione in corso...", "generatingYearly": "Generazione in corso...", "thisMonthWeeklyReports": "Rapporti settimanali di questo mese", + "recentWeeklyReports": "Ultimi rapporti settimanali", "ai_analyzing": "L'IA sta analizzando...", "ai_show_details": "Mostra dettagli", "ai_show_less": "Mostra meno",