Skip to content

docs(i18n): add Spanish README and Quickstart - #3673

Open
Marc Mayol Orell (marcmayol) wants to merge 1 commit into
microsoft:mainfrom
marcmayol:docs/i18n-spanish
Open

docs(i18n): add Spanish README and Quickstart#3673
Marc Mayol Orell (marcmayol) wants to merge 1 commit into
microsoft:mainfrom
marcmayol:docs/i18n-spanish

Conversation

@marcmayol

@marcmayol Marc Mayol Orell (marcmayol) commented Aug 10, 2026

Copy link
Copy Markdown

Related Issue

None. docs/i18n/README.md lists Spanish under "Wanted languages", so the sections below are filled in.

Problem & Solution

Problem: docs/i18n/ ships four translated entry points (ja, ko, zh-CN, zh-TW) and its own contribution guide names Spanish first in "Wanted languages", but no Spanish translation exists. Spanish-speaking readers land on an English-only README and Quickstart.

Solution: Add the two Spanish entry points and wire them into the existing switchers, following the five steps in docs/i18n/README.md:

File Change
docs/i18n/README.es.md New. Translated from the root README.md.
docs/i18n/quickstart.es.md New. Translated from docs/quickstart.md.
docs/i18n/README.md Spanish row added to the availability table; removed from "Wanted".
mkdocs.yml es entry in the header language switcher.
README.md Español added to the two 🌍 language lines.
.cspell-repo-terms.txt Español (see Spell-check note below).

Translation conventions followed: product names, package names, commands, CLI flags, and API identifiers stay in English; headings, code blocks, tables, badges, and admonitions keep their structure; relative links are rewritten for the docs/i18n/ location, using absolute GitHub URLs for targets outside docs/, matching what README.ko.md does.

Spell-check note (worth a maintainer's opinion)

spell-check.yml runs cspell with an English-only dictionary over added lines, collected into a single file, so ignorePaths cannot scope it. The CJK translations pass because cspell does not tokenize those scripts — a Latin-script translation trips on every word (911 findings on this diff).

The two translated files are therefore wrapped in cspell:disable / cspell:enable, which brings the job back to 0 findings. Español goes into the repo terms because it appears in three switcher entries outside those files.

This is the smallest fix, but it is not the only one, and the same wall will hit French, German, and Portuguese. If you would rather solve it once, I am happy to switch this PR to either: adding @cspell/dict-es-es to the workflow install and importing it in .cspell.json, or teaching scripts/ci/changed_lines.py an --exclude pathspec so docs/i18n/ is skipped for spell-check. Say which you prefer.

Impact on Your Work

I read the toolkit's docs in Spanish-language contexts and wanted the Quickstart usable without translating it in my head each time. Since the repo already asks for Spanish, contributing it back was more useful than keeping a local copy.

Timeline

None.

Alternatives Considered

  • Machine translation, unedited. Rejected: it mangles governance vocabulary (fail-closed, kill switch, privilege rings, tamper-evident) and would have translated identifiers inside code blocks.
  • Translating more of docs/. Rejected: the established pattern is two entry points per language, and a larger surface is harder to keep in sync. README and Quickstart match what ja/ko/zh ship.
  • Adding a Spanish dictionary to cspell instead of the inline markers. Not rejected on merit, just larger and touching CI — offered above, happy to switch.
  • Also adding zh-TW to the root README switcher (it is in mkdocs.yml and docs/i18n/README.md but missing from the root README's 🌍 line). Left out to keep this PR to one language; flagging it here as a separate small fix.

Type of Change

  • Documentation update

Package(s) Affected

Shared / other:

  • docs / root

Testing

Unit Testing

N/A — no code changes. No tests were added; the repo's docs tooling tests (scripts/tests/test_docs_check_*.py) already cover the checkers that validate these files.

Manual Testing

Run locally against this branch:

  • python scripts/docs/check_links.py --root .294 files, 2709 links, 0 new broken. Verified the checker actually covers the new file by temporarily breaking a link in it and confirming it was reported.
  • python scripts/docs/check_frontmatter.py --root . --strict → the only finding is pre-existing on main (docs/security/audits/2026-07-31-fail-open-closure-python-reference.md, missing frontmatter) and is untouched by this PR.
  • Reproduced spell-check.yml end to end: scripts/ci/changed_lines.pycspell@8.17.3 --config .cspell.json → exit 0.
  • mkdocs.yml parses; extra.alternate resolves to en, es, ja, ko, zh-Hans, zh-Hant.
  • Checked every relative link in both new files resolves on disk, and that the two in-page anchors (#inicio-rápido, #especificaciones) match the translated headings.

Checklist

  • I have linked a related issue above, or completed "Problem & Solution", "Impact on Your Work", and "Alternatives Considered"
  • My code follows the project style guidelines (ruff check) — N/A, no Python changed
  • I have added tests that prove my fix/feature works — N/A, documentation only
  • All new and existing tests pass (pytest) — docs tooling checks run, see above
  • I have updated documentation as needed
  • I have signed the Microsoft CLA

Attribution & Prior Art

  • This contribution does not contain code copied or derived from other projects without attribution
  • Any external projects that inspired this design are credited in code comments or documentation
  • If this PR implements functionality similar to an existing open-source project, I have listed it below

Prior art / related projects (if any):

None. The structure follows this repo's own README.ko.md and README.ja.md.

AI Assistance

  • I can explain every meaningful change in this PR: what it does, why, and what tradeoffs were considered
  • I have run tests and verification appropriate for this change
  • No part of this PR was autonomously submitted by an AI agent without my review
  • I have not used AI to generate review comments on others' PRs

If AI tools materially shaped this change, briefly note what was used:

An AI coding assistant produced the first draft of the translation and ran the CI checks listed above. I have read the translated text end to end and reviewed every change before submitting; all output was verified by me.

IP, Patents, and Licensing

  • This contribution does not implement patent-pending or patent-encumbered techniques
  • This contribution does not require an NDA or licensing agreement to understand or use
  • Any AI tools used have terms compatible with the MIT License

Spanish was listed under "Wanted languages" in docs/i18n/README.md.
This adds the two translated entry points and wires them into the
language switchers, following the process documented in that file.

- docs/i18n/README.es.md, translated from the root README.md
- docs/i18n/quickstart.es.md, translated from docs/quickstart.md
- Switcher entries in README.md, mkdocs.yml, and docs/i18n/README.md

Product names, package names, commands, and API identifiers stay in
English. Headings, code blocks, and admonitions are unchanged, and
relative links are rewritten for the docs/i18n/ location.

The spell-check workflow runs cspell with an English-only dictionary
over added lines, and unlike the CJK translations a Latin-script one
trips it on every word. The two translated files are therefore wrapped
in cspell:disable/enable, and "Español" is added to the repo terms for
the three switcher entries that live outside them.

Signed-off-by: Marc Mayol Orell <marcmayolorell@gmail.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@github-actions

Copy link
Copy Markdown

Welcome to the Agent Governance Toolkit! Thanks for your first pull request.
Please ensure tests pass, code follows style (ruff check), and you have signed the CLA.
See our Contributing Guide.

@github-actions github-actions Bot added documentation Improvements or additions to documentation size/XL Extra large PR (500+ lines) labels Aug 10, 2026
@github-actions

Copy link
Copy Markdown

🟡 Contributor Check: MEDIUM

Check Result
Profile MEDIUM
Credential LOW
Overall MEDIUM

Automated check by AGT Contributor Check.

@github-actions github-actions Bot added the needs-review:MEDIUM Contributor check flagged MEDIUM risk label Aug 10, 2026
@github-actions

Copy link
Copy Markdown

PR Review Summary

Check Status Details
🔍 Code Review ⚠️ Missing No current-run comment
🛡️ Security Scan ⚠️ Missing No current-run comment
🔄 Breaking Changes ⚠️ Missing No current-run comment
📝 Docs Sync ⚠️ Missing No current-run comment
🧪 Test Coverage ⚠️ Missing No current-run comment

Verdict: ⚠️ AI review incomplete; ready for human review

AI review comments are untrusted advisory output. The summary reports workflow-generated completion status only, not model-authored pass/fail claims.

@marcmayol

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation needs-review:MEDIUM Contributor check flagged MEDIUM risk size/XL Extra large PR (500+ lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant