Skip to content

docs(i18n): zh-Hans for the Resources glossary, FAQ and changelog - #374

Merged
zhuangjianguo merged 2 commits into
mainfrom
claude/project-thread-uqu1e8
Oct 28, 2026
Merged

zhuangjianguo merged 2 commits into
mainfrom
claude/project-thread-uqu1e8

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Steedos · project thread
Fixes #347
Clause-②: no
Metadata-protocol: none

维护者速读

What changes

Batch 11, the last batch of the zh-Hans translation pass (docs/TRANSLATION.md). Branch reset to main after #372 merged; this PR carries only batch 11. With it, every English page has a current zh-Hans sibling.

Files Change
resources/glossary.zh-Hans.mdx New translation, stamped. Each term heading keeps the English term in parentheses (### 动作(Action) [#action])
resources/{faq,changelog}.zh-Hans.mdx New translations, stamped
the matching *.zh-Hant.mdx (3) Generated by pnpm --filter @objectos/docs gen:zh-hant

Terms. The glossary uses the terms the pass settled on: action 动作 vs operation 操作 (the #363 ruling), ontology 本体, runtime 运行时, artifact 产物, marketplace 市场, air-gapped 物理隔离, cloud posture 云端姿态, deploy bundle 部署包, digest 摘要, control plane 控制平面, position 岗位, validation rule 验证规则. The glossary's own Action entry reads "A named operation declared in metadata", so its 具名操作 stays 操作. In the changelog, 操作 appears only for operations and operands: the derived apiMethods operations, a field operand, per-operation requiredPermissions maps, destructive-operation RBAC mapping, and the operations an apiMethods whitelist allows.

Heading ids. Each translated heading carries the English page's id in Fumadocs' custom-id syntax. That includes the version headings (### 17.1 [#171]), so a link like /docs/resources/changelog#171 lands in every locale.

Closing #347. Step 2 (zh-Hans full coverage) is complete when this merges. Step 3 was decided as "keep ja/de/es/fr/ko partial", so nothing in this pass touched those locales. The 籤/簽 converter issue found during the pass is tracked separately as #366.

Tests

Translation-only diff; no code or test files change.

Acceptance notes

  • ja/de/es/fr/ko page siblings are untouched (step 3 decision: keep them partial). No meta file changes in this batch.
  • Code fences are byte-identical to English, comments included.

Verification

All gates ran at 14de035, exit codes captured before any pipe.

Gates (ci.yml steps)
Gate Exit Verdict line
node apps/docs/scripts/gen-zh-hant.mjs --check 0 zh-Hant: 105 generated file(s) match the zh-Hans sources byte for byte (with #370's 簽 override; the changelog's 按组会签 generates 按組會簽)
node .github/scripts/check-doc-samples.mjs 0 every ts/js block on 89 English page(s) parses with @objectstack/spec 17.7.0 · 103 pass
pnpm turbo run type-check --continue + pnpm turbo run build (NEXT_PRIVATE_STANDALONE=true) 0 build 64 s, under the verify lock
pnpm turbo run test 0 1 successful
check-locale-surface.mjs 0 every advertised URL has a source file and every source file is advertised
check-positioning.mjs 0 4 copies equal their constants; the brand is right in 739 pages
check-search-locales.mjs 0 all 8 locales answer 200, find every own page by its title
check-translations.mjs 0 translations gate passed; zh-Hans 0 stale, 0 missing (was 0 and 3)
check-translation-ownership.mjs --actor objectstack-fleet[bot] 0 TRANSLATION_BOT_LOGIN not set; 6 translation artifact(s) and 0 other file(s)
check-translation-output.mjs --files (changed files) 0 translation output gate passed (85 pre-existing findings reported)
check-translation-output.mjs --self-test 0 29 rule cases, every rule able to fail
Browser check (Playwright on `next start` of this build)
Page Result
/zh-Hans/docs/resources/glossary#action 200, the anchor resolves to 动作(Action) at the top of the viewport
/zh-Hans/docs/resources/changelog#171 200, the anchor resolves to 17.1 at the top of the viewport
/zh-Hans/docs/resources/faq (390×844) 200, title 常见问题:上手、多租户、定价和许可
/zh-Hant/docs/resources/changelog 200, lang="zh-Hant", title 更新日誌與版本管理

No page errors. Screenshots: pr11-*.png in the project's docs-347/ folder.

Diff: 6 files, +2215 −0.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QsR2jTxGkQdrLm4E6n23Ub

Translate the glossary (each heading keeps the English term in
parentheses) and the FAQ. Stamped; zh-Hant regenerated; headings keep
the English ids.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsR2jTxGkQdrLm4E6n23Ub
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

席位核对 · ACCEPT · 2026-10-28T01:03Z · session_01QsR2jTaZ2GeyfjANMwstiw · seat repo:docs.objectos.ai#1

  1. Shape. Draft PR against main (8e8a691, after batch 10 landed), head 14de035, 6 files +2215/−0 = 2215 lines, under the 3000 line (zh-Hant included). The body's first link line is Fixes #347. This is the final batch, under claim 6455420851 and amendment 6455441661. Only new zh-Hans / zh-Hant siblings.
  2. Content. New: resources/glossary, faq, changelog. All are stamped. zh-Hant was generated with fix(i18n): write 簽 not 籤 in generated zh-Hant (#366) #370's override, so the changelog's 会签 is 會簽. The seat re-ran gen:zh-hant: 105 files, 0 written. Seat structure check: heading counts match the English (42, 47, 23). Every heading keeps its English id (### 动作(Action) [#action], ### 17.1 [#171]). Fenced code is byte-identical to the English.
  3. Terms. The glossary's Action entry is 动作. Its 具名操作 translates "named operation". In the changelog, 操作 appears only for operations and operands. All of this follows the ruling.
  4. Gates, seat re-run at 14de035. check-translations: zh-Hans 0 stale, 0 missing, 0 guide-stale, which is the goal of step 2 of the card. check-translation-output --files: passed (85 pre-existing findings, report only). Check-runs: Ownership & freshness success · Node floor success · build pending. The merge group re-runs build before it lands.
  5. Closing Translations after the restructure: retire the siblings of moved or merged pages in the same PRs, then run the translation pass zh-Hans first to full coverage (today 32 of 80 pages), other locales after the maintainer decides how many to keep #347. Step 3 of the card (the other locales) was decided by the maintainer on 2026-10-27 at 22:43Z: "Keep partial for now". ja/de/es/fr/ko stay partial and no pass runs for them. With that ruling and zh-Hans at full coverage, nothing in the card is left open, so Fixes #347 is correct. The glossary row for action = 动作 in docs/TRANSLATION.md stays a follow-up outside the pass.
  6. Out of scope. None.
  7. Landing. Tier none. Through the merge queue under the maintainer's standing go-ahead, after the main deploy for docs(i18n): zh-Hans for the REST API, security, CLI and environment variables references and Support #372 (8e8a691) smoke-checks green.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants