Repository navigation
Open
Labels
domain:cloudTouches cloud: the whole card is the cloud PM's (repo:cloud seat); no objectstack lane claims itTouches cloud: the whole card is the cloud PM's (repo:cloud seat); no objectstack lane claims itenhancementNew feature or requestNew feature or requestpm:queueReady for the PM dispatch loopReady for the PM dispatch looppriority:p2Medium: important, M3Medium: important, M3repo:cloudCard routed whole to the cloud PM: needs cloud code, a producer or a fact (cloud owns it to closure)Card routed whole to the cloud PM: needs cloud code, a producer or a fact (cloud owns it to closure)
Description
epic:#26676#1 · zhuangjianguo · session_cdb7a717def74e719988f089fbaa18ff
Filed on the maintainer's word, verbatim: 「立卡」 (2026-11-05), answering their question 「元数据软件包发布到应用市场的时候,有没有标记支持的语言。」 and the proposal below. Measured on main 04f36b63f8.
What a customer sees
A customer in a Chinese-speaking company opens the marketplace and picks an app. Nothing on the listing says whether the app has been translated into Chinese. They find out after installing it. They also cannot filter the catalog by language. The HotCRM card shows name, publisher, version, category and update time.
What exists
| Surface | What it says | Why it does not answer the question |
|---|---|---|
Listing translations (PackageTranslationsSchema, packages/spec/src/marketplace/package.zod.ts:146) |
Name, tagline, description, readme and screenshot captions per locale | It translates the shop window, not the app. A listing can read in Chinese while the installed app is entirely English |
i18n.supportedLocales on the stack |
The languages the app declares | Measured: it does reach the build artifact (dist/objectstack.json, top-level i18n). packages/cli/src/commands/package/publish.ts does not read it or send it to the listing |
computeI18nCoverage (packages/cli/src/utils/i18n-coverage.ts), behind os i18n check |
Missing translation keys per locale | It already measures the fact a listing needs, but it runs only when an author asks. Measured on the test app: 132 warnings across 3 locales, exit 0 |
The manifest has no language field.
Expected
os package publishderives the supported languages and the coverage per language from the artifact, using the existing coverage walker, and sends them with the listing. For example 中文 100%, 日本語 60%.- The author does not type this list. A hand-written list goes stale, and an AI author would declare languages the app does not have. A stack's
i18n.supportedLocalesstill decides which locales are computed. - The marketplace card and detail page show the languages, and the catalog can be filtered by language.
- A package published before this reads as "no language information", never as "English only".
Not verified
- Where the listing is stored and served.
publish.tsposts to the catalog host and os package publish sends the manifest's listing tags (cloud now stores them), and drops or maps the top-level tagline #27364 shows the cloud side stores listing fields, so the store and the filter query probably need a matching change in the cloud repository. I did not read that side. The dev should confirm it first and split out a cloud card if so. - Whether an installed
.customtranslation should count. My recommendation is no: the listing describes what the publisher ships.
Metadata
Metadata
Assignees
Labels
domain:cloudTouches cloud: the whole card is the cloud PM's (repo:cloud seat); no objectstack lane claims itTouches cloud: the whole card is the cloud PM's (repo:cloud seat); no objectstack lane claims itenhancementNew feature or requestNew feature or requestpm:queueReady for the PM dispatch loopReady for the PM dispatch looppriority:p2Medium: important, M3Medium: important, M3repo:cloudCard routed whole to the cloud PM: needs cloud code, a producer or a fact (cloud owns it to closure)Card routed whole to the cloud PM: needs cloud code, a producer or a fact (cloud owns it to closure)
Activity
objectstack-fleet commentedon Nov 5, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: first-touch audit · p2 ·
domain:cloud+repo:cloud·pm:queue· 2026-11-05T05:59Z⛔ Not a claim.
package.zod.tsand the CLI coverage ini18n-coverage.ts) is split back with the cloud facts written in. p2.Generated by Claude Code