Skip to content

Localize calendar date pickers to the active UI locale #233

Description

@paulocastellano

Summary

Several calendar widgets hardcode locale="en" (or rely on the Reka UI English default), so month/weekday names stay English even when the app UI locale is Ukrainian, Portuguese, Japanese, etc.

This was spotted while shipping Ukrainian as a full platform locale (#219). It is shared debt across all non-English locales — not a Ukrainian-only gap — and should be fixed separately from that PR.

Where it shows up

Component Hardcoded? Product surfaces
resources/js/components/DatePicker.vue locale="en" on <Calendar> Posts → Calendar (jump to date); Settings → API Keys (expiry)
resources/js/components/posts/PickTimePopover.vue locale="en" + calendar-label="Pick a date" Post editor → schedule date/time
resources/js/components/ui/date-range-picker/DateRangePicker.vue No explicit locale (Reka default, likely EN) Analytics; Automations → Metrics

Not affected: the weekly grid on Posts → Calendar already uses dayjs and follows the active UI locale.

Expected behavior

Calendar month names, weekday headers, and accessibility labels should follow page.props.locale / the dayjs locale already configured in resources/js/dayjs.ts (including uk and every other supported language).

Suggested approach

  1. Pass the active app locale into DatePicker / PickTimePopover / DateRangePicker (from Inertia locale or dayjs).
  2. Map app codes to Reka/dayjs locale codes where needed (pt-BRpt-BR / pt-br).
  3. Localize hardcoded English strings like calendar-label="Pick a date" / "Date picker" via $t(...).
  4. Spot-check with at least one Cyrillic (uk/ru) and one Latin (pt-BR/de) UI locale.

Out of scope (related but separate)

  • MetricsGrid keyword matching still mostly en/pt/es
  • AI post templates only ship for en / es / pt-BR (others fall back to English)

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions