feat(i18n): localize the login flow (sign-in / sign-up / account / profile) - #127
Merged
Conversation
These were the largest untranslated surfaces: sign-in.tsx and sign-up.tsx had
zero t() calls (the first screens a signed-out user sees), and account.tsx was
almost entirely hardcoded English.
- Expand the `auth` namespace (welcome/subtitles, field labels + placeholders,
show/hide-password, button + loading states, SSO "Continue with {{provider}}",
and all validation/error messages) and wire both auth screens.
- Add an `account` namespace covering profile / email / password / 2FA — every
section title, field, placeholder, button, and toast — and wire account.tsx.
- Localize profile.tsx (sign-out flow via existing more.* keys + the placeholder
buttons).
- SSO provider brand names (Google/Apple/GitHub) stay literal; only surrounding
copy is translated.
All three locales kept at full key parity (zh/ar have every en key). tsc + lint
clean, full suite 1337 passing. Verified the account screen renders fully in zh.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
i18n P0+P1 — login flow
The largest untranslated surfaces from the i18n audit.
P0 — auth screens (were 0% i18n'd)
sign-in.tsxandsign-up.tsxhad zerot()calls — the first thing a signed-out user sees. Expanded theauthnamespace and wired both:Signing in…/Creating account…), SSOContinue with {{provider}}, and every validation/error message.P1 — account + profile
accountnamespace covering Profile / Email / Password / 2FA — every section title, field, placeholder, button, and toast — wired intoaccount.tsx(was ~3t()in 306 lines).profile.tsxlocalized (sign-out flow reuses existingmore.*keys; placeholder buttons added).Parity & tests
All three locales at full key parity (zh/ar have every en key, ignoring CLDR plural variants). tsc + lint clean, full suite 1337 passing.
Verified
Browser (zh, dark): the account screen renders fully in Chinese — 账户 / 个人资料 / 姓名 / 保存资料 / 邮箱 / 当前:…(未验证) / 新邮箱 / 密码 / 至少 8 个字符. (Sign-in/up can't be viewed while signed in — redirected — but are pure text swaps, tsc-clean.)
🤖 Generated with Claude Code