Translation Contributions
This project keeps translation scope intentionally lean and maintainable.
Read Localized Manuals
- French: /fr/manual/
- Spanish: /es/manual/
- German: /de/manual/
Policy
- English docs are canonical source.
- Translation PRs must stay scoped, reviewable, and synchronized with source changes.
- If translation maintenance stalls, maintainers may archive stale localized pages.
- Generated references stay canonical in English (
/dev/api/,/dev/graphql/,/dev/components/).
UI Translation Workflow
- Source locale:
packages/ui/src/i18n/locales/en.ts - Add/update locale files under:
packages/ui/src/i18n/locales/ - Keep key parity and placeholder parity with English.
- Run:
bash
npm run check:ui:i18n-parity- Include updated tests when translation behavior changes.
Docs Translation Workflow
Use this folder convention for translated docs pages:
docs/<locale>/...(for this project:docs/fr/,docs/es/,docs/de/)- Mirror English page naming when practical.
- Keep translation metadata in YAML frontmatter.
Required frontmatter keys for translated pages:
translationOf: canonical English source file path.sourceSha: non-placeholder commit SHA used for translation baseline.translationUpdated:YYYY-MM-DD.translationStatus:draft,needs-native-review, orverified.alternateLocales: locale-to-route map used for alternate-language metadata.
Example:
text
docs/es/manual/installation-quickstart.mdValidation:
bash
npm run check:docs:i18nGenerated Reference Documentation Policy
- Keep generated references canonical in English:
/dev/api//dev/graphql//dev/components/
- Do not duplicate generated reference outputs per locale.
- Translate guide pages and localized reference-entry pages that link to canonical generated references.
Current Native-Speaker Review Request
- Prioritize language-quality review for
fr,es, andde. - See
CONTRIBUTING_OPPORTUNITIES.mdfor active review tasks.
Quality Rules
- Do not mix unrelated feature work into translation PRs.
- Do not rewrite technical behavior while translating.
- If source and translation conflict, English canonical docs win until translation is updated.
- Keep translation PRs scoped to one locale whenever practical.