Skip to content

i18n(zh-CN): Profile - #134

Merged
X4Applegate merged 1 commit into
X4Applegate:mainfrom
chongfenglaosiji:i18n/zh-CN-profile
Oct 10, 2026
Merged

X4Applegate merged 1 commit into
X4Applegate:mainfrom
chongfenglaosiji:i18n/zh-CN-profile

Conversation

@chongfenglaosiji

Copy link
Copy Markdown
Contributor

i18n(zh-CN): Profile

What & why

Next batch of the zh-CN catalog: Profile, as a data-only change.

Data-only: web/i18n/zh-CN.json is the only file touched. No Go, template or
JavaScript edits.

Scope

34 new keys:

Prefix Keys Covers
profile.msg.* 11 The server-built confirmations and errors, now looked up in the reader's language
profile.account.* 7 Account info block
profile.totp.* 7 Two-factor section
profile.password.* 5 Change-password form
profile.* (shared) 4 Page heading and intro

Catalog goes from 63 shipped keys to 97 keys (31% of English). The
rest stays English by design, so nothing breaks.

Merge order (please read)

This diff is a snapshot of the whole file, so besides its own 34 keys it
contains the settings.default_language.auto wording fix that #131 also carries
(否则用英文 → 否则显示英文). Every batch PR sets that line to the same value, so they
merge cleanly in any order and none of them can silently revert it.

Checklist

  • go build ./... compiles
  • go test ./internal/i18n/ ./internal/server/ -run 'Translation|Catalog|Language|Locale' passes
  • Commits are clean and the PR is focused on one concern
  • Data-only, matching docs/TRANSLATING.md
  • CHANGELOG.md / version bump — left to you, as before
  • Licensed under Apache 2.0

Notes for reviewers

  • profile.totp.enabled_hint and profile.totp.not_configured_hint are sentence fragments that follow a status word in the template (…已启用 + 你的账号已通过身份验证器应用保护。), so they are phrased to continue that sentence rather than stand alone.
  • profile.account.read_only is (read-only)→ (只读)with the full-width brackets the template does not supply — the English value carries its own brackets, so the Chinese does too.

Verification — run against this exact file, in a Linux container (WSL):

go test ./internal/i18n/ ./internal/server/ -run 'Translation|Catalog|Language|Locale' -count=1
go build ./...

exit=0 — including TestEveryCatalogMatchesEnglishKeysAndPlaceholders and
TestEveryTranslationKeyUsedExistsInEnglish. Same as #131.

One note if you ever test on Windows: a plain checkout there fails
internal/caddy's TestBuildProxyRouteGolden, because that test compares bytes and
core.autocrlf makes the testdata/*.json golden files CRLF on disk while the
generated JSON is LF. It reproduces on an untouched main, so it is unrelated to this
PR — it is just why the run above is documented as Linux.

The pr4 log of that run is kept locally if you want it pasted here.

Catalog facts

  • 97/97 keys valid; no key English does not have; no duplicate keys
  • Placeholders identical to English on every key
  • No empty values; UTF-8 without BOM; LF; no HTML in any value

`profile.msg.*` — The server-built confirmations and errors, now looked up in the reader's language
`profile.account.*` — Account info block
`profile.totp.*` — Two-factor section
`profile.password.*` — Change-password form
`profile.*` (shared) — Page heading and intro

Data-only: web/i18n/zh-CN.json is the only file touched.

The diff also carries the settings.default_language.auto wording fix from X4Applegate#131
(otherwise this snapshot would revert it). All the batch PRs change that same line
to the same value, so they merge cleanly in any order.
@X4Applegate
X4Applegate merged commit c2f1a1b into X4Applegate:main Oct 10, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants