Repository navigation
Wrap the strings of Settings' Accounts, Saved searches, Gmail and Notifications pages in Lingui - #1210
Merged
Conversation
…, with translated messages
…days and volume from Intl
timche
added a commit
that referenced
this pull request
Oct 23, 2026
…ifications pages in Lingui (#1210) * Give Settings' dialogs their translated close label from one wrapper * Build the saved search and label color forms' schemas in the renderer, with translated messages * Translate the notification sounds' names * Wrap the strings of Settings' Accounts page in Lingui * Wrap the strings of Settings' Saved searches page in Lingui * Wrap the strings of Settings' Gmail page and its label colors in Lingui * Wrap the strings of Settings' Notifications page in Lingui, with weekdays and volume from Intl * Extract the wrapped Settings strings into the English catalog * Add Gmail's words for Primary, Important and a pop-out to the glossary * Share the account options' labels between their switches and badges
timche
added a commit
that referenced
this pull request
Oct 24, 2026
…ifications pages in Lingui (#1210) * Give Settings' dialogs their translated close label from one wrapper * Build the saved search and label color forms' schemas in the renderer, with translated messages * Translate the notification sounds' names * Wrap the strings of Settings' Accounts page in Lingui * Wrap the strings of Settings' Saved searches page in Lingui * Wrap the strings of Settings' Gmail page and its label colors in Lingui * Wrap the strings of Settings' Notifications page in Lingui, with weekdays and volume from Intl * Extract the wrapped Settings strings into the English catalog * Add Gmail's words for Primary, Important and a pop-out to the glossary * Share the account options' labels between their switches and badges
timche
added a commit
that referenced
this pull request
Oct 28, 2026
…ifications pages in Lingui (#1210) * Give Settings' dialogs their translated close label from one wrapper * Build the saved search and label color forms' schemas in the renderer, with translated messages * Translate the notification sounds' names * Wrap the strings of Settings' Accounts page in Lingui * Wrap the strings of Settings' Saved searches page in Lingui * Wrap the strings of Settings' Gmail page and its label colors in Lingui * Wrap the strings of Settings' Notifications page in Lingui, with weekdays and volume from Intl * Extract the wrapped Settings strings into the English catalog * Add Gmail's words for Primary, Important and a pop-out to the glossary * Share the account options' labels between their switches and badges
timche
added a commit
that referenced
this pull request
Oct 30, 2026
…ifications pages in Lingui (#1210) * Give Settings' dialogs their translated close label from one wrapper * Build the saved search and label color forms' schemas in the renderer, with translated messages * Translate the notification sounds' names * Wrap the strings of Settings' Accounts page in Lingui * Wrap the strings of Settings' Saved searches page in Lingui * Wrap the strings of Settings' Gmail page and its label colors in Lingui * Wrap the strings of Settings' Notifications page in Lingui, with weekdays and volume from Intl * Extract the wrapped Settings strings into the English catalog * Add Gmail's words for Primary, Important and a pop-out to the glossary * Share the account options' labels between their switches and badges
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Settings' Accounts, Saved searches, Gmail, Label colors and Notifications pages now go through Lingui, so a later catalog can translate them. That includes their dialogs, form errors, toasts and notification sound names. The English is unchanged, so nothing visible changes until a non-English catalog ships, and there's no changelog line. This is slice 4's third pull request, after #1206 (#1206) and #1208 (#1208). The last Settings one covers Workspace apps, Extensions and License.
What changed
SettingsDialogContentis a new renderer wrapper aroundpackages/ui'sDialogContentthat passes the translated "Close" label. All six dialogs here use it, and so doesconfig-select-field, so a dialog can't show an English close label without notice.@meru/shared/schemas.tskeeps its validators but no longer holds messages.t, so the messages are translated and the rules are unchanged.msgdescriptors, translated where they're shown. The stored keys don't change.Intl.DateTimeFormatand keep their Monday-first order. Volume comes fromIntl.NumberFormatas a percent.select().msgrecord shared by the switches and the badges.settingsPageLabels.titleandaria-labeltext is wrapped.label:friends is:unreadstay verbatim.LOCALIZED_FILES: the five pages,lib/notifications/index.ts,shared/schemas.tsand the wrapper.maturityjoinsignoreNames.Proof
Lint count. Run with this branch's
oxlint.config.ts.Before, on
origin/beta's source:After, on this branch:
bun run lintexits 0 with no errors.Pseudo-locale run. Each side ran licensed, on a scratch copy of the test profile, with the whole catalog pseudolocalized into the
enslot.English parity. Review used dev builds of beta and of this branch on fresh profiles. It dumped the rendered text and the
title,aria-labelandplaceholderattributes across 16 states: every page, dialog, validation error and alert. The two dumps are byte-identical. In the running app, weekdays render Mon…Sun, and volume matches the old text at every slider step.Checks
bun test --isolatebun run fmt:check,lint,types,build:jslingui compile --strict,check sync --clean,check missing --mode catalog,i18n:checkRisk
Revert
Revert the squash commit. Nothing touches config or stored data; sound keys are unchanged.
Not verified
Noted, not changed