Repository navigation
i18n(zh-CN): health tooltips and shared status words - #135
Merged
X4Applegate merged 1 commit intoOct 10, 2026
Merged
Conversation
…9 keys) `js.health.*` — The health-dot tooltips the Dashboard and the per-host health page draw from JavaScript `js.dashboard.*` — Dashboard script texts: update notice, upstream summary, version fallbacks `status.*` — Shared status words: Online, Offline, Enabled, Disabled, Active, Managed, External, Read-only, Unknown 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
added a commit
that referenced
this pull request
Oct 10, 2026
Owner
|
Thank you @chongfenglaosiji! 🎉 All five (#131, #132, #133, #134, #135) are merged and shipped in v2.63.1 (binaries plus Splitting them by page made them easy to review. Since they all touch Next batch on my side: the other Settings pages (Notifications, DNS, Security, Analytics, Integrations, AI, Backup). I'll ping you here with the new keys when it lands. No rush, as always. |
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(zh-CN): health tooltips and shared status words
What & why
Next batch of the
zh-CNcatalog: health tooltips and shared status words, as a data-only change.Data-only:
web/i18n/zh-CN.jsonis the only file touched. No Go, template orJavaScript edits.
Scope
29 new keys:
js.health.*js.dashboard.*status.*Catalog goes from 63 shipped keys to 92 keys (29% 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 29 keys it
contains the
settings.default_language.autowording 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 ./...compilesgo test ./internal/i18n/ ./internal/server/ -run 'Translation|Catalog|Language|Locale'passesdocs/TRANSLATING.mdCHANGELOG.md/ version bump — left to you, as beforeNotes for reviewers
js.-prefixed keys, so they are exposed to the browser scripts, not only to templates.js.health.in_msis a fragment appended after a status (English: " in {ms}ms"); it is ,用时 {ms}ms — leading full-width comma, no leading space.status.*are short shared words used as badges across many pages, so they are kept terse (已启用 / 已停用 / 已激活 / 受管 / 外部 / 离线 / 在线 / 只读 / 未知).Verification — run against this exact file, in a Linux container (WSL):
exit=0— includingTestEveryCatalogMatchesEnglishKeysAndPlaceholdersandTestEveryTranslationKeyUsedExistsInEnglish. Same as #131.One note if you ever test on Windows: a plain checkout there fails
internal/caddy'sTestBuildProxyRouteGolden, because that test compares bytes andcore.autocrlfmakes thetestdata/*.jsongolden files CRLF on disk while thegenerated JSON is LF. It reproduces on an untouched
main, so it is unrelated to thisPR — it is just why the run above is documented as Linux.
The
pr5log of that run is kept locally if you want it pasted here.Catalog facts