Skip to content

[l10n] Add Hebrew (he-IL) locale - #23577

Open
jamesDin wants to merge 5 commits into
mui:masterfrom
jamesDin:patch-1
Open

jamesDin wants to merge 5 commits into
mui:masterfrom
jamesDin:patch-1

Conversation

@jamesDin

@jamesDin jamesDin commented Sep 12, 2026

Copy link
Copy Markdown

Signed-off-by: James Din <1267380+jamesDin@users.noreply.github.com>
@code-infra-dashboard

code-infra-dashboard Bot commented Sep 12, 2026

Copy link
Copy Markdown

Deploy preview

Bundle size

Bundle Parsed size Gzip size
@mui/x-data-grid 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-pro 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-premium 0B(0.00%) 0B(0.00%)
@mui/x-charts 0B(0.00%) 0B(0.00%)
@mui/x-charts-pro 0B(0.00%) 0B(0.00%)
@mui/x-charts-premium 0B(0.00%) 0B(0.00%)
@mui/x-date-pickers 0B(0.00%) 0B(0.00%)
@mui/x-date-pickers-pro 0B(0.00%) 0B(0.00%)
@mui/x-tree-view 0B(0.00%) 0B(0.00%)
@mui/x-tree-view-pro 0B(0.00%) 0B(0.00%)
@mui/x-scheduler 0B(0.00%) 0B(0.00%)
@mui/x-scheduler-premium 0B(0.00%) 0B(0.00%)
@mui/x-chat 0B(0.00%) 0B(0.00%)
@mui/x-license 0B(0.00%) 0B(0.00%)

Details of bundle changes


Check out the code infra dashboard for more information about this PR.

@jamesDin

Copy link
Copy Markdown
Author

Please approve the Hebrew changes I've added. Thanks :-)

@LukasTy LukasTy added l10n Localization. scope: scheduler Changes related to the scheduler. labels Sep 14, 2026
@LukasTy LukasTy changed the title Refactor Hebrew localization for scheduler [l10n] Add Hebrew (he-IL) locale Sep 14, 2026
@LukasTy LukasTy added the type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature. label Sep 14, 2026
@LukasTy

LukasTy commented Sep 14, 2026

Copy link
Copy Markdown
Member

Thank you for the contribution. 🙏
Could you please run pnpm l10n && prettier and push the changes?

Signed-off-by: James Din <1267380+jamesDin@users.noreply.github.com>
Signed-off-by: James Din <1267380+jamesDin@users.noreply.github.com>
Updated missingKeysCount for Hebrew localization.

Signed-off-by: James Din <1267380+jamesDin@users.noreply.github.com>
@jamesDin

Copy link
Copy Markdown
Author

Ok, please check now :-)

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Fix the recurrence weekday-format handling before approval.

Pull request overview

Adds Hebrew (he-IL) localization support for Scheduler components.

Changes:

  • Adds Hebrew translations and localized formatting helpers.
  • Updates localization metadata to mark Hebrew as complete.
  • Recurrence weekday formatting requires correction for Day.js and Moment adapters.
File summaries
File Summary
packages/x-scheduler/src/locales/heIL.ts Hebrew translations and formatting callbacks; recurrence weekday formatting issue remains.
docs/data/scheduler/localization/data.json Updates Hebrew localization completeness metadata.
Review details

Suppressed comments (1)

packages/x-scheduler/src/locales/heIL.ts:120

  • These callbacks receive weekdayShort from RecurrenceTab, where it is produced with adapter.formatByString(monthlyRef.date, 'ccc'). The Day.js and Moment adapters pass that format directly to their libraries, whose weekday tokens are dd/ddd/dddd, so the value can be the literal ccc; localizeWeekday then falls through and the Hebrew monthly recurrence label becomes ccc .... Please use the adapter's weekdayShort format (or otherwise normalize the value per adapter) before calling this locale callback.
  recurrenceMonthlyLastWeekAriaLabel: (weekDay) => monthlyWeekday(-1, weekDay),
  recurrenceMonthlyLastWeekLabel: (weekDay) => monthlyWeekday(-1, weekDay, true),
  recurrenceMonthlyPresetLabel: (dayNumber) => `ב־${dayNumber} בכל חודש`,
  recurrenceMonthlyWeekNumberAriaLabel: (ord, weekDay) => monthlyWeekday(ord, weekDay),
  recurrenceMonthlyWeekNumberLabel: (ord, weekDay) => monthlyWeekday(ord, weekDay, true),
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@LukasTy LukasTy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Opus review

Some nitpicks/cleanups.

The translations look good and CI is green. Fix one type issue before merge.

  • heIL.ts:74,146,220 -- Keep Partial<...> on heILDialog, heILCalendar, and heILTimeline. Every other non-English locale in every package uses Partial. With the full type, the next key that someone adds to EventEditingLocaleText or EventCalendarLocaleText breaks pnpm typescript in heIL.ts, because pnpm l10n adds the new key only as a comment. missingKeysCount already tracks completeness.
  • heIL.ts:113 -- weekday ?? weekdayName: weekday is a required SchedulerWeekday, so the fallback never runs. Use localizeWeekday(weekday).
  • Follow-up, not blocking: localizeWeekday accepts four input shapes because RecurrenceTab.tsx:430-436 passes the English token ('monday') to the monthly ...AriaLabel callbacks but a date-locale ccc string to the ...Label callbacks. English screen readers announce "monday of the last week of the month". If the callbacks always get the SchedulerWeekday token (or { weekday, weekdayName }, like recurrenceWeeklyPresetLabel), locales need only a static map.
    @rita-codes, could you check if this ☝️ is feasible?

@rita-codes

rita-codes commented Sep 14, 2026

Copy link
Copy Markdown
Member

Yes, feasible. It's the unfinished half of #22705: #22733 only changed the weekly preset, the four monthly callbacks kept (weekDay: string), and the aria ones still get the English token. Same { weekday, weekdayName } pattern fixes both.

Tracked in #23595 so this PR can merge without waiting 🙌

Updated locale definitions to use Partial types for EventEditingLocaleText.

Signed-off-by: James Din <1267380+jamesDin@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

l10n Localization. scope: scheduler Changes related to the scheduler. type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants