Skip to content

🌐 feat(i18n): Brazilian Portuguese (pt-BR) translation of the full workshop - #55

Open
juniorjbn wants to merge 7 commits into
PlatformRelay:mainfrom
juniorjbn:pt-br
Open

juniorjbn wants to merge 7 commits into
PlatformRelay:mainfrom
juniorjbn:pt-br

Conversation

@juniorjbn

Copy link
Copy Markdown

Brazilian Portuguese (pt-BR) translation — full workshop

This PR offers a complete pt-BR translation of the workshop as a community contribution. Kubernetes training material of this quality, vendor-neutral and free, is something the Portuguese-speaking community largely lacks — we'd love to help this workshop reach it. Technical terms stay in English (Pod, Deployment, Service, Ingress, Gateway API, RBAC, probe, rollout, ...), following the convention of the official Kubernetes pt-BR documentation.

Live preview of the translated site: https://juniorjbn.github.io/Kubernetes-Workshop/ (decks under /deck/day-{1,2,3}/)

Translated

  • All 28 sections (pages/S00–S27, incl. the S21 Flux variant) — prose, speaker notes, visible component props, didactic code comments
  • All labs (labs/day-1..3 + labs/README.md) — participant labs and sibling solutions
  • 18 Vue components (components/) — ~95 visible animation strings
  • MkDocs site — syllabus, setup, facilitator guide, run-slides, validation matrix, rehearsal checklist, release, roadmap, WSL2 guide, downloads, supply-chain
  • README, mkdocs.yml nav labels, quiz (README + questions.prototype.json)
  • Generated decks — deck-manifest.mjs display strings translated, roots regenerated via pnpm decks:generate

Deliberately NOT translated

  • docs/decisions/** (ADRs) and docs/validation-evidence/** — historical records
  • slides-templates.md / slides-showcase.md — design gallery, not workshop content
  • Lab-contract headings (Objective, Guided task, Challenge, Expected state / output, ...), metadata table keys, section titles in the manifest/catalogs, env: frontmatter values, and anchor-target headings — all pinned by the CI validators
  • Code, commands, YAML, console outputs — byte-for-byte intact (only didactic comments translated)

Minimal engineering changes (so CI keeps biting)

  • deck.test.mjs / slide-overflow.test.mjs / lab-contract.mjs / lab-contract.test.mjs / lab-inventory.mjs: content-accuracy locks became bilingual alternations (English|pt-BR) rather than being removed
  • infra/lab-inventory.json regenerated (--write) — translated didactic comments flow into cleanupCommand

Validation

pnpm lint · test:labs (26 labs OK) · decks:check · test:deck (95/95) · test:pages (15/15) · test:inventory · link-check (14 docs) · test:quiz (12/12) · test:provenance · pnpm build (all 4 decks) — all green.

Review locally

git clone -b pt-br https://github.com/juniorjbn/Kubernetes-Workshop && cd Kubernetes-Workshop
corepack enable && corepack prepare pnpm@11.9.0 --activate
pnpm install --frozen-lockfile
pnpm dev:day1

A note on i18n strategy

This branch translates in place, which is great for a fork but probably not how upstream wants to host multiple languages. We're happy to rework it to whatever structure the maintainers prefer (sibling repo, parallel content tree with a locale switch, or simply a community-translations link in the README) — whichever direction you prefer, we're glad to discuss it here or in a Discussion. Happy to maintain the pt-BR content going forward.

@konih

konih commented Aug 15, 2026 •

Copy link
Copy Markdown
Contributor

Hey @juniorjbn,

first of all, thank you. This is amazing work — a full pt-BR translation of the workshop, not a small slice. I really appreciate the care that went into it.

I need to look into how this project can support different languages. The decks are Slidev markdown, and doing this properly needs a structure on top of those slides, not an in-place swap of the English content. So this isn’t something I can land as-is.

I’ll look into how we can get it done. Please leave the PR open if you’re happy to — it’s a very useful reference while I figure that out.

Thanks again,
Konrad

@konih

konih commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

REVIEW — kubernetes-workshop/pt-br @ 7d5ed3d — REQUEST CHANGES — 2026-10-02

Verdict: REQUEST CHANGES
Intent: Translate the full workshop to Brazilian Portuguese while preserving commands and the lab/deck validation contracts.

Gate Result Notes
pnpm build / decks:check ✅ All four decks built locally at the exact PR head.
Deck / labs / inventory ✅ 96 / 22 / 6 tests; 26 lab companions; inventory matches.
Quiz / provenance ✅ 13 / 10 tests.
Link check ✅ 14 docs resolve.
Lab lint ⚠️ Exit 0, but output says both “Linting: 55 files” and “Summary: 0 issues in 0 files”; scanned coverage is ambiguous.
pnpm export ⚠️ Exits 1: required Playwright browser executable missing; rendering unverified.
pnpm test:pages ⚠️ Browser navigation test fails in this environment; complete suite did not finish.
Manifest dry-run ⚠️ kubectl unavailable; no cluster-backed validation performed.
Guardrail / commit scan ✅ No added attribution footers found; scope scan covered translated material.
Remote CI ❌ CI, Lab smoke, CodeQL report failure at this SHA; CI run 31737062061 has zero jobs and no available log. No successful exact-head CI evidence.
Gate mutation proof ⚠️ Existing negative contract tests passed; a separate complete mutation audit of loosened content locks was not performed.
ID Sev Area Finding Evidence path:line Blocks?
F1 P1 Product correctness In-place translation replaces the English source and published default decks, rather than adding a locale. Maintainer explicitly said this cannot land as-is and asked to retain the PR as reference. Preserve this contribution for import through the agreed localization mechanism. README.md:10; scripts/deck-manifest.mjs; existing maintainer PR comment Yes
F2 P1 Merge readiness Exact-head CI has no successful results. The available workflow records are failures with no jobs/logs; they do not establish a source-code failure, but cannot satisfy the merge gate. GitHub Actions run 31737062061 (and 31737061212, 31737061160) Yes
F3 P2 History Branch contains merge commit 4ce5da9 and Unicode subjects; prepare linear, convention-compliant upstream commits when importing, preserving human authorship without trailers. git log origin/main..HEAD No

Functional correctness: Substantial translation and local content/build checks pass. It is useful translation source material, but does not satisfy upstream multilingual delivery. The in-place strategy is acknowledged by the contributor; that makes it deliberate, not safe to merge over the English workshop.
Coverage delta: No numeric before/after coverage collected. Existing behavioural/content suites pass as listed. Changes widen language checks and alter inventory classification; the complete gate-mutation and rendering reviews remain outstanding.
Summary / next steps: Keep #55 open as reference, as already requested by the maintainer. Import its translated content through localization tooling. Do not merge this branch as-is. This bounded review does not certify linguistic completeness or every translated executable block.

This branch has not been deployed

No deployments
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