Skip to content

Publish the website in German, French, Spanish, Italian and Brazilian Portuguese - #86

Merged
donislawdev merged 5 commits into
mainfrom
feature/site-languages-batch-1
Oct 21, 2026
Merged

donislawdev merged 5 commits into
mainfrom
feature/site-languages-batch-1

Conversation

@donislawdev

Copy link
Copy Markdown
Owner

What this changes

Publishes the website in five more languages: German, French, Spanish, Italian and Brazilian Portuguese. It builds on the language infrastructure from #85, which is merged.

  • For each language: the eleven pages and the 404 page (site/pages/<id>/<code>.html), the interface strings (site/i18n/<code>.json), and the code added to languages in site/site.json.
  • The addresses are translated into each language (Latin script), through the slug map in each page's page.json. Every page links to the others through {{url:ID}}, so a link lands on the address in the reader's language.
  • The program's own window is English only, so its labels stay in English inside the translated sentences. Commands and code samples are verbatim, and only the comments inside the samples are translated. The generator's parity check enforces that, along with the block structure and the {{...}} tokens.

The next batch (Dutch, Czech, Romanian, Turkish, Indonesian, Vietnamese) is a separate PR stacked on this branch.

Checked

  • Site strict build with --require-fresh at this tip: 84 pages, no problems.
  • Every page of every language was loaded at 375 and 1024 px when the language was added, and none scrolls sideways. The rebase onto main did not change any content.

Not checked

  • The translations were written by an AI assistant and no native speaker has read them. Wording, terminology and tone are unreviewed.
  • Bws.Site.Tests and the mutation entries were not re-run for this PR. CI runs them.

🤖 Generated with Claude Code

donislawdev and others added 5 commits October 21, 2026 15:24
Twelve pages and the language file, with slugs of their own, held against the English pages for
shape, commands and tokens and stamped with the English they follow.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Twelve pages and the language file, with slugs of their own, held against the English pages for
shape, commands and tokens and stamped with the English they follow.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Twelve pages and the language file, with slugs of their own, held against the English pages for
shape, commands and tokens and stamped with the English they follow.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Twelve pages and the language file, with slugs of their own, held against the English pages for
shape, commands and tokens and stamped with the English they follow.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Twelve pages and the language file, with slugs of their own, held against the English pages for
shape, commands and tokens and stamped with the English they follow.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 21, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters: 78
  • site/i18n/de.json is excluded by !**/site/**
  • site/i18n/es.json is excluded by !**/site/**
  • site/i18n/fr.json is excluded by !**/site/**
  • site/i18n/it.json is excluded by !**/site/**
  • site/i18n/pt-br.json is excluded by !**/site/**
  • site/pages/404/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/404/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/404/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/404/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/404/page.json is excluded by !**/site/**
  • site/pages/404/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/pages/audit-windows-services/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/audit-windows-services/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/audit-windows-services/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/audit-windows-services/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/audit-windows-services/page.json is excluded by !**/site/**
  • site/pages/audit-windows-services/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/pages/cli-reference/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/cli-reference/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/cli-reference/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/cli-reference/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/cli-reference/page.json is excluded by !**/site/**
  • site/pages/cli-reference/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/pages/download/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/download/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/download/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/download/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/download/page.json is excluded by !**/site/**
  • site/pages/download/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/pages/faq/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/faq/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/faq/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/faq/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/faq/page.json is excluded by !**/site/**
  • site/pages/faq/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/pages/home/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/home/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/home/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/home/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/home/page.json is excluded by !**/site/**
  • site/pages/home/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/pages/query-language/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/query-language/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/query-language/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/query-language/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/query-language/page.json is excluded by !**/site/**
  • site/pages/query-language/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/pages/sc-exe-and-powershell/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/sc-exe-and-powershell/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/sc-exe-and-powershell/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/sc-exe-and-powershell/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/sc-exe-and-powershell/page.json is excluded by !**/site/**
  • site/pages/sc-exe-and-powershell/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/pages/services-msc-alternative/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/services-msc-alternative/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/services-msc-alternative/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/services-msc-alternative/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/services-msc-alternative/page.json is excluded by !**/site/**
  • site/pages/services-msc-alternative/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/pages/snapshots-and-drift/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/snapshots-and-drift/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/snapshots-and-drift/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/snapshots-and-drift/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/snapshots-and-drift/page.json is excluded by !**/site/**
  • site/pages/snapshots-and-drift/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/pages/stop-a-service-that-will-not-stop/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/stop-a-service-that-will-not-stop/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/stop-a-service-that-will-not-stop/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/stop-a-service-that-will-not-stop/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/stop-a-service-that-will-not-stop/page.json is excluded by !**/site/**
  • site/pages/stop-a-service-that-will-not-stop/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/pages/what-should-be-running/de.html is excluded by !**/*.html, !**/site/**
  • site/pages/what-should-be-running/es.html is excluded by !**/*.html, !**/site/**
  • site/pages/what-should-be-running/fr.html is excluded by !**/*.html, !**/site/**
  • site/pages/what-should-be-running/it.html is excluded by !**/*.html, !**/site/**
  • site/pages/what-should-be-running/page.json is excluded by !**/site/**
  • site/pages/what-should-be-running/pt-br.html is excluded by !**/*.html, !**/site/**
  • site/site.json is excluded by !**/site/**

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration
  • Configuration used: Repository UI (base), Organization UI (inherited)
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 1eae507b-d511-4acf-b6de-323e9522deed

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@donislawdev
donislawdev merged commit 69244a0 into main Oct 21, 2026
13 checks passed
@donislawdev
donislawdev deleted the feature/site-languages-batch-1 branch October 21, 2026 13:54
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