Skip to content

feat(install): add 18-language desc translations to package yml files - #125

Merged
edwinjhlee merged 1 commit into
mainfrom
feat/desc-i18n-18langs
Oct 28, 2026
Merged

edwinjhlee merged 1 commit into
mainfrom
feat/desc-i18n-18langs

Conversation

@edwinjhlee

Copy link
Copy Markdown
Member

What

Adds 16 language keys to the top-level desc block of all 2402 src/**/*.yml files, alongside the existing cn/en values:

cn en cs de es fr id it ja ko pl pt ro ru th tr uk vi

How

  • Exactly 16 lines per file. git diff --numstat reports 16/0 for every one of the 2402 files. The existing cn/en values and every other line are byte-identical to before — verified by diffing every parsed desc against HEAD.
  • Translation basis. The English en value is authoritative; cn is consulted only where en is ambiguous. One short sentence per language, comparable in length to en. Command names, project/product names, proper nouns and format/protocol names (JSON, YAML, Git, GitHub, GPT-4, AWS, S3, …) are left untranslated.
  • Nested desc blocks are untouched. Many files carry additional desc blocks under footprint (resource sizes, install estimates). Only the top-level package description is translated.
  • YAML safety. Plain scalars by default; values needing quotes (embedded : , #, leading YAML indicator) are double-quoted with internal " escaped. No trailing whitespace on any added line.

Schema

I18nDescription in .vscode/install.schema.json previously allowed only cn/en with additionalProperties: false, so every yml would have failed the schema check once the new keys landed. Both schema copies are updated — .vscode/install.schema.json and .x-cmd/install-yml-check.schema.json — since the repo's lint explicitly fails when those two drift apart.

Verification

  • All 2402 files parse as YAML and carry exactly 18 non-empty string language values.
  • .x-cmd/lint.sh src/ → success 2402 / schema-error 0 (this is the same command CI runs).
  • The Deno field linter (.x-cmd/lint-yml.deno.ts) passes.
  • Zero writing-system mixing defects (no Cyrillic in Czech text, no Han characters in Korean text, etc.).

Note

The x-cmd runtime currently resolves desc for cn/en only (advise.obj.awk normalizes ___X_CMD_LANG to zh/en; pkg/lib/awk/info.awk reads desc[region]). The new keys are therefore inert data for now — the core needs its own language-selection change before the other 16 languages are actually rendered. This PR is the data half of that work.

🤖 Generated with Claude Code

Add 16 language keys (cs de es fr id it ja ko pl pt ro ru th tr uk vi) to the
top-level `desc` block of all 2402 src/**/*.yml files, alongside the existing
`cn`/`en` values.

- Each yml gains exactly 16 lines (git diff --numstat shows 16/0); the existing
  cn/en values and every other line are byte-identical to before.
- Translations are based on the English `en` value, falling back to `cn` only
  where `en` is ambiguous. Command names, product names, proper nouns and
  format/protocol names are left untranslated.
- Nested `desc` blocks under `footprint` are deliberately left untouched; only
  the top-level package description is translated.
- Update .vscode/install.schema.json and .x-cmd/install-yml-check.schema.json
  (the two copies must stay in sync) so I18nDescription accepts the new keys.
  It previously allowed only cn/en with additionalProperties: false, which
  made every yml fail the schema check.

Verified: all 2402 files parse and carry 18 non-empty language values;
`.x-cmd/lint.sh src/` reports success 2402 / schema-error 0, and the Deno
field linter passes.

Note: the x-cmd runtime currently resolves `desc` for cn/en only, so the new
keys are inert data until the core gains language selection.
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@edwinjhlee
edwinjhlee merged commit 14f1d7b into main Oct 28, 2026
1 of 2 checks passed
@edwinjhlee
edwinjhlee deleted the feat/desc-i18n-18langs branch October 28, 2026 04:47
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