formatters.js 677 B

123456789101112131415161718192021222324252627282930313233
  1. /**
  2. * formatters (German UI)
  3. *
  4. * These helpers are used purely for user-facing labels.
  5. * They remain pure, testable, and independent from React/Next.
  6. */
  7. const MONTHS_DE = Object.freeze([
  8. "Januar",
  9. "Februar",
  10. "März",
  11. "April",
  12. "Mai",
  13. "Juni",
  14. "Juli",
  15. "August",
  16. "September",
  17. "Oktober",
  18. "November",
  19. "Dezember",
  20. ]);
  21. export function getGermanMonthName(month) {
  22. const m = Number.parseInt(String(month), 10);
  23. if (!Number.isInteger(m) || m < 1 || m > 12) return null;
  24. return MONTHS_DE[m - 1];
  25. }
  26. export function formatMonthLabel(month) {
  27. const name = getGermanMonthName(month);
  28. const mm = String(month).padStart(2, "0");
  29. return name ? `${name} (${mm})` : mm;
  30. }