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",