diff --git a/client/src/components/Dashboard/CurrencyWidget.tsx b/client/src/components/Dashboard/CurrencyWidget.tsx index a9a648d..6162fc0 100644 --- a/client/src/components/Dashboard/CurrencyWidget.tsx +++ b/client/src/components/Dashboard/CurrencyWidget.tsx @@ -14,7 +14,7 @@ const CURRENCIES = [ const CURRENCY_OPTIONS = CURRENCIES.map(c => ({ value: c, label: c })) export default function CurrencyWidget() { - const { t } = useTranslation() + const { t, locale } = useTranslation() const [from, setFrom] = useState(() => localStorage.getItem('currency_from') || 'EUR') const [to, setTo] = useState(() => localStorage.getItem('currency_to') || 'USD') const [amount, setAmount] = useState('100') @@ -40,7 +40,7 @@ export default function CurrencyWidget() { const rawResult = rate && amount ? (parseFloat(amount) * rate).toFixed(2) : null const formatNumber = (num) => { if (!num || num === '—') return '—' - return parseFloat(num).toLocaleString('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + return parseFloat(num).toLocaleString(locale, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) } const result = rawResult diff --git a/client/src/components/PDF/TripPDF.tsx b/client/src/components/PDF/TripPDF.tsx index 347cf34..c83cc4b 100644 --- a/client/src/components/PDF/TripPDF.tsx +++ b/client/src/components/PDF/TripPDF.tsx @@ -110,7 +110,7 @@ interface downloadTripPDFProps { export async function downloadTripPDF({ trip, days, places, assignments, categories, dayNotes, reservations = [], t: _t, locale: _locale }: downloadTripPDFProps) { await ensureRenderer() - const loc = _locale || 'de-DE' + const loc = _locale || undefined const tr = _t || (k => k) const sorted = [...(days || [])].sort((a, b) => a.day_number - b.day_number) const range = longDateRange(sorted, loc) diff --git a/client/src/components/Planner/ReservationModal.tsx b/client/src/components/Planner/ReservationModal.tsx index 85d9e88..9472fc2 100644 --- a/client/src/components/Planner/ReservationModal.tsx +++ b/client/src/components/Planner/ReservationModal.tsx @@ -573,5 +573,5 @@ export function ReservationModal({ isOpen, onClose, onSave, reservation, days, p function formatDate(dateStr, locale) { if (!dateStr) return '' const d = new Date(dateStr + 'T00:00:00') - return d.toLocaleDateString(locale || 'de-DE', { day: 'numeric', month: 'short' }) + return d.toLocaleDateString(locale || undefined, { day: 'numeric', month: 'short' }) } diff --git a/client/src/components/Vacay/holidays.ts b/client/src/components/Vacay/holidays.ts index 6294142..fe5903b 100644 --- a/client/src/components/Vacay/holidays.ts +++ b/client/src/components/Vacay/holidays.ts @@ -122,9 +122,9 @@ export function daysInMonth(year: number, month: number): number { return new Date(year, month, 0).getDate() } -export function formatDate(dateStr: string): string { +export function formatDate(dateStr: string, locale?: string): string { const d = new Date(dateStr + 'T00:00:00') - return d.toLocaleDateString('de-DE', { weekday: 'short', day: '2-digit', month: '2-digit', year: 'numeric' }) + return d.toLocaleDateString(locale || undefined, { weekday: 'short', day: '2-digit', month: '2-digit', year: 'numeric' }) } export { BUNDESLAENDER }