Skip to content

ci(i18n): gate pages, navigation and frontmatter across all languages - #1

Merged
dev-luigi merged 2 commits into
mainfrom
ci/i18n-gate
Oct 6, 2026
Merged

dev-luigi merged 2 commits into
mainfrom
ci/i18n-gate

Conversation

@dev-luigi

Copy link
Copy Markdown
Member

Summary

Adds an i18n gate for the docs so translations cannot silently drift from English.

  • .github/scripts/check-docs-i18n.mjs fails on:
    • missing or extra pages per language
    • docs.json navigation drift from en
    • empty or untranslated title, description or body
    • with --since: en pages changed without every translation changing (put [i18n-skip] in a commit message to override this last check)
  • A CI workflow runs the script on push and pull request.
  • .githooks/pre-push blocks pushes when the check fails. Enable it with git config core.hooksPath .githooks.
  • .gitattributes keeps the hooks LF.

A page per language on installing a release from the browser: what the button does for each install method, the backup made first, the requirements, setting up Watchtower for Docker, and what to do when an install fails. The Updating page points to it, and its version check no longer uses the health endpoint, which returns only the status now.
check-docs-i18n.mjs fails when a language is missing a page that en has (or
has one en lacks), when docs.json navigation drifts from en, when a title,
description or page body is empty or left in English, or, given --since, when
an en page changed without every translation changing with it. [i18n-skip] in
a commit message overrides the last check for a deliberate en-only change.

The CI workflow runs it on push and pull request; .githooks/pre-push runs it
before every push and blocks the push on failure (activate with
`git config core.hooksPath .githooks`). .gitattributes keeps the hook LF.
@dev-luigi
dev-luigi merged commit 4caa076 into main Oct 6, 2026
2 checks passed
@dev-luigi
dev-luigi deleted the ci/i18n-gate branch October 6, 2026 15:25
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