Skip to content

docs(i18n): re-sync editions/compare and editions/license after #407 (#418) - #419

Merged
zhuangjianguo merged 29 commits into
mainfrom
claude/project-thread-u7eoxi
Nov 2, 2026
Merged

zhuangjianguo merged 29 commits into
mainfrom
claude/project-thread-u7eoxi

Conversation

@zhuangjianguo

Copy link
Copy Markdown
Collaborator

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

维护者速读

  • 改了什么:docs(editions): state Team's $20 annual price beside $24 monthly #407 在 editions/compare 和 editions/license 的价格行加了 Team 的年付价($20 / AI 席位 / 月,按年付费)。本 PR 把它同步到 zh-Hans 和 ja,重新盖章,并重新生成 zh-Hant。
  • 为什么改:两种语言各有 2 页过期。
  • 风险与回滚:每个文件只改了价格行的一个单元格和 source_sha。回滚即 revert。
  • 先看:content/docs/editions/license.ja.mdx 的价格行。
  • 两分钟验证:打开 /zh-Hans/docs/editions/compare,价格行的 Team 列应为「24 美元 / AI 席位 / 月,或按年付费 20 美元 / AI 席位 / 月」。
  • 需要你做的:无,席位落地。

What changes

File Team cell of the Price row
editions/compare.zh-Hans.mdx 24 美元 / AI 席位 / 月,或按年付费 20 美元 / AI 席位 / 月
editions/license.zh-Hans.mdx 24 美元 / AI 席位 / 月,或按年付费 20 美元 / AI 席位 / 月
editions/compare.ja.mdx $24 / AI シート / 月、または年払いで $20 / AI シート / 月
editions/license.ja.mdx $24 / AI シート / 月、または年払いで $20 / AI シート / 月
editions/{compare,license}.zh-Hant.mdx Regenerated by gen:zh-hant (按年付費).

The annual-price wording is the one each locale already uses on cloud/plans-and-seats: zh-Hans 「或按年付费 20 美元 / AI 席位 / 月」, ja 「または年払いで … $20」. Each cell keeps its page's existing unit format, and the bold on $24 in license is unchanged, as in the English. The prices and sales@objectos.ai are byte-identical to the English. The four hand-edited pages are restamped.

The branch carries one -s ours merge of the landed #416 branch head so the push fast-forwards. The diff against main (f9fd156) is only these 6 files, +12/−12.

Tests

  • check-translations: zh-Hans 0 stale, 0 missing and ja 0 stale, 0 missing. Each was 2 stale before.
  • check-translation-output --files <list file of the 6 paths>: no findings.
  • gen-zh-hant.mjs --check: 115 generated files match their zh-Hans sources.

Acceptance notes

  • After landing, the post-deploy smoke check needs to be green.

Generated by Claude Code

zhuangjianguo and others added 29 commits October 29, 2026 10:17
…ions, use)

Phase 1 of the other-locale plan. Adds ja translations of the 19
entry-path pages (index, why, start/*, editions/*, use/*) and the ja
sidebar labels for start/ and editions/. Every heading keeps its
English id, fences match the English byte for byte, terms follow the
glossary's ja column, and each page carries a --stamp.

check-translations: ja 0 stale, 79 missing (was 98).

Fixes #386

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
Phase 2 of the other-locale plan, first batch: ja for the build/ top
level (index, agents, ai-builder, ai-skills, extend-existing-systems,
marketplace, packages, reports, templates) and build/data/ (index,
relationships, formulas, validation-rules). Same rules as #386: English
heading ids, fences byte for byte, glossary ja column, UI labels in
English, one line per paragraph, each page stamped.

check-translations: ja 0 stale, 66 missing (was 79).

Refs #388

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
…388, PR 2 of 7)

Adds ja translations for the 11 automation and interface pages:
build/automation/{index,flows,workflows,approvals} and
build/interface/{index,apps,views,forms,dashboards,pages,actions}.
Both sections' meta.ja.json already match the English pages list.

Refs #388

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
…tput (#393)

/api/search kept every locale's Orama index (30-40 MB each) and every
page module page.data.load() imported, so one Worker isolate grew from
58 MB after its first locale to 283 MB after all eight, and #390's ja
pages tipped it past 128 MB into 503s.

- scripts/gen-search-data.mjs computes each page's structuredData before
  next build with fumadocs-mdx's own remark chain and writes one gzipped
  module per locale to apps/docs/.search/; the route reads that instead
  of importing page modules.
- The route keeps the most recently used locale's index only.
- check-search-heap.mjs asks the built route in every locale twice and
  fails above 100 MB or when the second pass keeps growing; it runs in
  ci.yml after check-search-locales and its --self-test is in SELF_TESTED.

Measured on the built route: levels at 50-54 MB across both passes.

Fixes #393

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
The tree is unchanged: the diff against main is the #393 commit only.

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
…388, PR 2 of 7)

Reverts #392, which reverted #390 because /api/search ran out of Worker
memory. #394 (#393) fixed that, so the same 11 ja pages come back
unchanged.

Refs #388

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
The tree is unchanged: the diff against main is the re-landed ja pages only.

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
Six route handlers (search, og, sitemap, llms.txt, llms-full.txt,
llms.mdx) import lib/source.ts, whose fumadocs-mdx collection holds a
lazy import() of every compiled page. Turbopack compiles route handlers
as their own module graph, so the Worker carried a second copy of every
page module: ~20 MB of upload, and each translated page cost ~170-235 KiB
instead of ~86. #388's PR 3 would have gone over the 61,440 KiB budget.

- scripts/gen-route-data.mjs (was gen-search-data.mjs) also writes
  .route-data/collection.ts: .source/server.ts with each page's body
  import replaced by a read of generated data, and markdown.ts, the
  English pages' processed Markdown the llms routes serve. With --dev it
  re-exports the full collection so next dev sees new pages.
- lib/source.ts builds its loader on that collection; the page route
  loads bodies through lib/page-body.ts, the only module that imports
  the full collection.
- lib/packed.ts unpacks the generated gzip+base64 strings.
- The Worker budget step prints a per-page projection from the bundle's
  metafile (check-worker-page-cost.mjs, in SELF_TESTED).

Measured, same machine: main f7e4a57 59,173 KiB, this change 38,909 KiB;
with every ja page filled in, 43,700 KiB.

Fixes #395

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
The tree is unchanged: the diff against main is the #395 commit only.

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
Adds ja translations for the 14 configure/ pages: index, ai, api-access,
authentication, data-sources, email, localization, mcp, notifications,
runtime, storage, system-settings, users and webhooks. configure/
meta.ja.json already matches the English pages list. Same rules as the
earlier batches: English heading ids, fences byte for byte, glossary ja
column, UI labels in English, one line per paragraph, each page stamped.

check-translations: ja 0 stale, 41 missing (was 55).

Refs #388

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
… PR 4 of 7)

Adds ja translations for the 7 configure/permissions/ pages (index,
managing-access, permission-sets, positions, record-access,
field-level-security, hierarchy-visibility) and the 8 cloud/ pages
(organization, environments, plans-and-seats, ai-credits-and-limits,
storage-and-limits, domains, apps, cloud-connection), plus a new
cloud/meta.ja.json whose pages match the English. configure/permissions/
meta.ja.json already matched. Same rules as the earlier batches.

check-translations: ja 0 stale, 26 missing (was 41).

Refs #388

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
Adds ja translations for the 4 deploy/ pages (index, docker, kubernetes,
air-gapped) and the 7 operate/ pages. Both sections' meta.ja.json
already match the English pages list. Same rules as the earlier batches.

check-translations: ja 0 stale, 15 missing (was 26).

Refs #388

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
…388, PR 6 of 7)

Adds ja translations for the 9 reference/ pages and the two root pages,
architecture and ontology. reference/meta.ja.json already matches the
English pages list; the root sidebar has only meta.json. Same rules as
the earlier batches.

check-translations: ja 0 stale, 4 missing (was 15).

Refs #388

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
… PR 7 of 7)

Adds ja translations for the 4 resources/ pages: changelog, faq,
glossary and support. resources/meta.ja.json already matches the
English pages list. Same rules as the earlier batches.

With this batch every English page has a ja translation.
check-translations: ja 0 stale, 0 missing (was 4).

Fixes #388

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
#403 changed step 1 of "Start on ObjectOS Cloud" to link the console's
register and sign-in pages instead of www.objectos.ai. This carries the
same change into zh-Hans and ja, restamps both, and regenerates zh-Hant
with gen:zh-hant.

check-translations: zh-Hans and ja 0 stale, 0 missing.

Fixes #404

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
…-Hant and ja (#414)

#410 added subscription management, AI seat changes and Paddle as the
seller to cloud/plans-and-seats and cloud/ai-credits-and-limits. #413
moved the sales contact to sales@objectos.ai on editions/license,
resources/support, resources/faq and start/enterprise. This carries only
the changed parts into zh-Hans and ja, restamps all twelve pages, and
regenerates zh-Hant with gen:zh-hant. Paddle, emails and URLs are copied
byte for byte.

check-translations: zh-Hans and ja 0 stale, 0 missing.

Fixes #414

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
objectstack#26148 replaced the README sentence OBJECTOS_DEFINITION
quoted ("...the commercial runtime environment built on this stack")
with one naming three editions: ObjectOS Community, shipped by the
repository, free and self-hosted; ObjectOS Cloud, hosted; ObjectOS
Enterprise, self-managed and licensed.

- OBJECTOS_DEFINITION quotes README lines 27-31 from "To run it", with
  three declared changes: "this repository" spelled out as "the
  ObjectStack repository", the Markdown dropped, and the in-README
  "(Ship it)" link left out.
- OBJECTOS_EDITIONS keeps only the #171 Q2 export clause, naming Cloud
  and Enterprise instead of "either edition".
- POSITIONING_SHORT (152 characters) names the three editions in the
  README's words.
- The index.mdx opening paragraph and description follow, and the
  zh-Hans and ja siblings are re-translated and restamped; zh-Hant is
  regenerated.

check-positioning passes after a build.

Fixes #341

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
…418)

#407 added Team's annual price ($20 / AI seat / month billed annually)
to the Price row of editions/compare and editions/license. This adds
the same to the zh-Hans and ja Price cells, in the annual-price wording
each locale uses on cloud/plans-and-seats, restamps the four pages and
regenerates zh-Hant.

check-translations: zh-Hans and ja 0 stale, 0 missing.

Fixes #418

Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm

Co-Authored-By: Claude <noreply@anthropic.com>
@zhuangjianguo zhuangjianguo self-assigned this Nov 2, 2026
@objectstack-fleet

Copy link
Copy Markdown
Contributor

席位核对 · ACCEPT · 2026-11-02T01:49Z · session_01QsR2jTaZ2GeyfjANMwstiw · seat repo:docs.objectos.ai#1

  1. Shape. Draft PR against main f9fd156, head cfe6ce3. 6 locale files, +12/−12. The body says Fixes #418. Branch claude/project-thread-u7eoxi. The changes stay within the claimed surface: the zh-Hans, zh-Hant and ja siblings of editions/compare and editions/license.
  2. Content. Each file changes only the Team cell of the Price row. That cell now gives the annual price in the wording the locale already uses on cloud/plans-and-seats. $24/24 美元 stays bold in license, and $20 and mailto:sales@objectos.ai are byte for byte.
  3. Structure. Heading counts match the English: compare 4, license 15. Ids and fences are unchanged.
  4. Gates, seat re-run at cfe6ce3.
    • check-translations: zh-Hans 0/0 and ja 0/0, each down from 2 stale.
    • check-translation-output --files with a list file of the 6 paths: no findings.
    • Check-runs: build success (it runs gen-zh-hant --check) · Ownership & freshness success · Node floor success.
  5. Landing. Tier none. This is a translation routine (Run the zh-Hans translation pass as a routine (on merge to main touching English pages, or weekly), stamped with --stamp, so coverage converges without a hand-run pass #379) re-sync. It lands through the merge queue under the standing go-ahead.

@zhuangjianguo
zhuangjianguo marked this pull request as ready for review November 2, 2026 01:50
@zhuangjianguo
zhuangjianguo added this pull request to the merge queue Nov 2, 2026
Merged via the queue into main with commit cbf5c92 Nov 2, 2026
4 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.

Re-sync four editions pages in zh-Hans and ja after #407 (Team annual price)

1 participant