Skip to content

docs(i18n): add German (de-DE) localization scout#2029

Open
flitzrrr wants to merge 3 commits into
affaan-m:mainfrom
flitzrrr:docs/de-DE-localization-scout
Open

docs(i18n): add German (de-DE) localization scout#2029
flitzrrr wants to merge 3 commits into
affaan-m:mainfrom
flitzrrr:docs/de-DE-localization-scout

Conversation

@flitzrrr
Copy link
Copy Markdown

@flitzrrr flitzrrr commented May 20, 2026

What Changed

German (de-DE) localization scout, following the maintainer guidance in #1980.

New files

  • docs/de-DE/README.md — full German translation of the English root README.md. English source: 1e8c7e7 (main HEAD when this branch was cut). Scope: the complete root README — all sections, the full changelog, every install path, key concepts, all per-harness sections, the FAQ. Relative links rewritten for the docs/de-DE/ depth; both language-selector tables list every locale including Deutsch.
  • docs/de-DE/GLOSSARY.md — German terminology, modelled on docs/ja-JP/GLOSSARY.md. Explicitly records which ECC terms stay English (Agent, Skill, Hook, Command, Rule, Harness, Instinct, Plugin, Marketplace, Worktree, Subagent, Frontmatter) and which take German forms.

Installer registration (kept in this PR since it stays small, per the issue)

  • manifests/install-modules.jsondocs-de-de module.
  • manifests/install-components.jsonlocale:de-de component.
  • scripts/lib/install-manifests.jsde-DE in SUPPORTED_LOCALES; de-DE + de aliases in LOCALE_ALIAS_TO_COMPONENT_ID, so --locale de and --locale de-DE both resolve.
  • package.jsondocs/de-DE/ added to the files publish surface (required by npm-publish-surface.test.js, which aligns files with the module graph).
  • tests/lib/locale-install.test.js — focused de-DE coverage (catalog entry, plan resolution, --locale de dry-run).

Discoverability

  • Deutsch added to the language selector tables in the root README.md, README.zh-CN.md, and all 8 docs/<locale>/README.md files.

One deviation from the issue, flagged: the issue listed targets: ["claude"], but all eight existing docs modules (docs-ja-jpdocs-zh-tw) use targets: ["claude", "claude-project"]. Following "the module should follow the existing docs modules", I matched the existing eight. Glad to switch to ["claude"] only if you'd prefer.

Why This Change

#1980 confirmed German is wanted and the locale set is not capped. This is the scout PR requested there. Per-domain docs/de-DE/{agents,commands,rules,skills}/ translations are intentionally left for incremental follow-up PRs to avoid a 300-file localization PR.

Testing Done

  • Manual testing completed
  • Automated tests pass locally (node tests/run-all.js)
  • Edge cases considered and tested

node tests/run-all.js2570 passed, 0 failed.

Installer-backed checks named in the issue:

  • node tests/lib/locale-install.test.js → 7 passed (2 new de-DE tests)
  • node tests/lib/install-manifests.test.js → 39 passed
  • node scripts/ci/validate-install-manifests.js → clean (30 modules, 74 components, 6 profiles)
  • npx markdownlint-cli 'docs/de-DE/**/*.md' → clean

Type of Change

  • docs: Documentation
  • feat: New feature — installer locale registration

Security & Quality Checklist

  • No secrets or API keys committed
  • JSON files validate cleanly
  • Shell scripts pass shellcheck (if applicable) — N/A, no shell scripts changed
  • Pre-commit hooks pass locally (if configured)
  • No sensitive data exposed in logs or output
  • Follows conventional commits format

Documentation

  • Updated relevant documentation
  • Added comments for complex logic — N/A
  • README updated — language selectors updated across all 10 READMEs

Refs #1980


Summary by cubic

Adds German (de-DE) docs and installer support, including a full translated README and a glossary. Addresses #1980’s scout localization and makes German available via the installer.

  • New Features

    • Docs: docs/de-DE/README.md (full translation) and docs/de-DE/GLOSSARY.md.
    • Installer: docs-de-de module and locale:de-de component; de/de-DE aliases; de-DE in SUPPORTED_LOCALES; targets ["claude", "claude-project"].
    • Publishing: add docs/de-DE/ to package.json files.
    • Discoverability: add “Deutsch” to language selectors in the root and all localized README.mds.
    • Tests: de-DE checks in tests/lib/locale-install.test.js for plan resolution and catalog.
  • Bug Fixes

    • Fixed German quotation marks in docs/de-DE/GLOSSARY.md; normalized one quoted error string in docs/de-DE/README.md.

Written for commit 2b84740. Summary will update on new commits. Review in cubic

Summary by CodeRabbit

  • New Features

    • Added comprehensive German (Deutsch) documentation and made German available as an installable locale/component.
  • Documentation

    • Updated language navigation across multiple README pages to include additional translations (Türkçe, Русский, Tiếng Việt, ไทย, Deutsch, etc.).
    • Added a German terminology glossary and a full German README.
  • Tests

    • Extended locale-install tests to cover the new German locale and install planning.

Review Change Stack

flitzrrr added 2 commits May 21, 2026 00:50
Adds the German locale per maintainer guidance in issue affaan-m#1980.

- docs/de-DE/README.md: full translation of the English root README
- docs/de-DE/GLOSSARY.md: German terminology decisions (which ECC
  terms stay English vs. German)
- manifests: docs-de-de module + locale:de-de component, modelled on
  the existing docs-zh-tw / locale:zh-tw entries
- scripts/lib/install-manifests.js: de-DE in SUPPORTED_LOCALES, plus
  de-DE and de aliases so `--locale de` and `--locale de-DE` resolve
- tests/lib/locale-install.test.js: focused de-DE coverage
- Deutsch added to the language selector tables in all 10 existing
  READMEs (root + 9 localized)

Refs affaan-m#1980
The npm-publish-surface test asserts package.json `files` aligns with
the install module graph. The new docs-de-de module requires docs/de-DE
in the published files list.

Refs affaan-m#1980
@flitzrrr flitzrrr requested a review from affaan-m as a code owner May 20, 2026 23:04
@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 20, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f0185ab7-8ed1-402c-9c62-af00121ff001

📥 Commits

Reviewing files that changed from the base of the PR and between 613a196 and 2b84740.

📒 Files selected for processing (2)
  • docs/de-DE/GLOSSARY.md
  • docs/de-DE/README.md
✅ Files skipped from review due to trivial changes (2)
  • docs/de-DE/GLOSSARY.md
  • docs/de-DE/README.md

📝 Walkthrough

Walkthrough

Adds full German (de-DE) localization: a comprehensive German README and glossary, installation manifest/module and packaging updates, installer script locale aliasing, language-selector links across translated READMEs, and tests validating German locale install planning and dry-run behavior.

Changes

German (de-DE) Localization and Documentation

Layer / File(s) Summary
German documentation content
docs/de-DE/README.md, docs/de-DE/GLOSSARY.md
Complete German documentation: 1762-line comprehensive README covering overview, quickstart, installation, tool adapters, repository structure, ecosystems, concepts with examples, FAQs, testing, contribution, and metadata; 67-line glossary establishing translation rules for ECC surface terms versus translatable terms, with bilingual reference table.
Installation system configuration
manifests/install-components.json, manifests/install-modules.json, package.json, scripts/lib/install-manifests.js
Added locale:de-de component and docs-de-de module to installation manifests; updated installer script to recognize de-DE and de locale aliases mapping to locale:de-de; configured package.json files array to include docs/de-DE/.
Language navigation updates
README.md, README.zh-CN.md, docs/ja-JP/README.md, docs/ko-KR/README.md, docs/pt-BR/README.md, docs/ru/README.md, docs/th/README.md, docs/tr/README.md, docs/vi-VN/README.md, docs/zh-TW/README.md
Updated language selector links across root README and translated README files to include the Deutsch link (top header and centered language selector blocks).
German locale installation tests
tests/lib/locale-install.test.js
Added assertions verifying locale:de-de inclusion in component catalog; validated resolveInstallPlan resolves German locale to docs-de-de with correct path mapping; confirmed end-to-end --locale de --dry-run --json includes expected docs/de-DE/README.md operations.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

Possibly related PRs

  • affaan-m/ECC#2006: Related manifest/module targeting changes; both touch docs module install targets including claude-project.

Suggested reviewers

  • affaan-m

Poem

🐰 I hopped through READMEs wide and far,
Planted Deutsch like a shiny star.
A glossary tucked in my paw,
Now guides the docs with German law—
ECC sings in one more tongue!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs(i18n): add German (de-DE) localization scout' directly and specifically describes the main change: adding German localization documentation and installer support.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/de-DE/GLOSSARY.md`:
- Around line 15-16: Several glossary entries use an opening German quote „ but
end with ASCII straight quotes " causing inconsistent rendering; update the
closing quotes to the proper German closing quotation mark “ (U+201C) for each
affected entry such as the "Command | Command ..." and "Rule | Rule ..." lines
and similarly for the entries noted at lines 24, 25, 28, and 40 so every opening
„ is paired with closing “.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 273a180a-bd9f-44df-bb04-298b089f04e0

📥 Commits

Reviewing files that changed from the base of the PR and between 1e8c7e7 and 613a196.

📒 Files selected for processing (17)
  • README.md
  • README.zh-CN.md
  • docs/de-DE/GLOSSARY.md
  • docs/de-DE/README.md
  • docs/ja-JP/README.md
  • docs/ko-KR/README.md
  • docs/pt-BR/README.md
  • docs/ru/README.md
  • docs/th/README.md
  • docs/tr/README.md
  • docs/vi-VN/README.md
  • docs/zh-TW/README.md
  • manifests/install-components.json
  • manifests/install-modules.json
  • package.json
  • scripts/lib/install-manifests.js
  • tests/lib/locale-install.test.js

Comment thread docs/de-DE/GLOSSARY.md Outdated
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 17 files

Re-trigger cubic

Per CodeRabbit review on PR affaan-m#2029: pair the opening „ with the proper
closing “ in GLOSSARY.md (was closing with an ASCII straight quote).
Also normalise the one stray „..." in README.md to ASCII quotes,
consistent with the rest of that file (it quotes a literal error string).

Refs affaan-m#1980
@flitzrrr
Copy link
Copy Markdown
Author

@coderabbitai Fixed in 2b84740.

  • docs/de-DE/GLOSSARY.md — all six entries now pair the opening with the proper German closing (U+201C). Lines 15, 16, 24, 25, 28, 40.
  • docs/de-DE/README.md — found one more stray „..." on the FAQ line you didn't flag (the "Duplicate hooks file" error reference). Since that file otherwise uses no German typographic quotes at all, I normalised it to plain ASCII quotes around the literal error string rather than introducing a lone „…“ pair.

Verified: no remaining mixed „…" pairs in either file; markdownlint-cli still clean.

@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 20, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

Tip

For best results, initiate chat on the files or code changes.

@flitzrrr Thanks for the thorough fix! The approach for README.md is exactly right — normalising to plain ASCII quotes around the literal error string keeps the file consistent rather than introducing a lone typographic pair. Good catch on the additional stray instance too.

🐇 ✨

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.

1 participant