feat(i18n): extract settings & account pages (batch 3)#1154
feat(i18n): extract settings & account pages (batch 3)#1154JamieRuderman wants to merge 1 commit into
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2d2297f6bb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <br /> {t('settings.gravatarEdit', 'To edit or add a profile image please visit')} | ||
| <Link href="https://gravatar.com">gravatar.com.</Link> |
There was a problem hiding this comment.
Add spacing before the Gravatar link
When the UI language is German or Spanish, settings.gravatarEdit ends in an ordinary word (bitte or visita), but this link is placed immediately after the translated expression without explicit whitespace. JSX does not preserve the formatting newline here, so the caption renders as bittegravatar.com. or visitagravatar.com.; add {' '} before the link, as the webhook caption does.
Useful? React with 👍 / 👎.
Summary
Batch 3 of Phase 4 extraction: the Settings & Account pages — completing the settings/account area that OptionsPage and ProfilePage started. 34 keys (a new
settings.*group + two reusablecommon.*keys), fully translated to ja/de/es.Files:
SettingsPage,AccountPage,SecurityPage,NotificationsPage+NotificationsMode, and the remaining hardcoded strings inProfilePage(Profile title, Gravatar caption, Email / Member-since labels, Email Language, Account deletion).Stacked on
i18n/extract-notices(#1153) to inherit the parser and plural-check fixes. The diff here is settings-only. Retarget order once things merge: #1152 → #1153 → this.Notes
settings.profile,settings.security,settings.notificationseach label both a nav item and the corresponding page title, so they're defined once and shared. Addedcommon.save/common.saving(used by the webhook form) as reusable keys alongside the existingcommon.areYouSure.t()calls rather than<Trans>, keeping the link (gravatar.com.,Docs) intact. The example webhook URL placeholder is left untranslated (it's a sample URL).Verification
i18n:checkpasses — 4 locales × 3 namespaces, no missing/dead keys, no empty English.tscclean; production build passes.Untranslated strings elsewhere still fall back to English.
🤖 Generated with Claude Code