Skip to content

i18n(zh-CN): Dashboard - #133

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

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

Conversation

@chongfenglaosiji

Copy link
Copy Markdown
Contributor

i18n(zh-CN): Dashboard

What & why

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

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

Scope

107 new keys:

Prefix Keys Covers
dashboard.* 107 The whole Dashboard page

Catalog goes from 63 shipped keys to 170 keys (54% 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 107 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

  • Placeholders kept as English has them: {count}, {server}, {domain}, {healthy}, {total}, {done}, {latest}, {current}. Example: 环境就绪情况 · 已完成 {done}/4 项必需项.
  • dashboard.maintenance.global_active / global_detail / turn_off / restore are four fragments of one banner sentence; assembled it reads 全局维护模式已开启。 所有代理主机都在返回 503 页面。在设置中关闭 并同步 Caddy 以恢复服务。
  • dashboard.traffic.description and dashboard.system.description take {server}, which is either the server name or the label from dashboard.traffic.active_node / dashboard.system.selected_node — both were translated so the sentence reads naturally either way.
  • dashboard.activity.verb.* are deliberately neutral verbs (新建 / 删除 / 停用 / 启用 / 导入 / 重新分类 / 吊销), because the template combines them with different nouns.
  • dashboard.fleet.last_seen is 最后活动 rather than a literal last-seen, matching the surrounding fleet wording.

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 pr3 log of that run is kept locally if you want it pasted here.

Catalog facts

  • 170/170 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

`dashboard.*` — The whole Dashboard page

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 12c1485 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