mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 11:46:35 +00:00
A pull request against main extracts the core and docs domains, fans out over the languages LibreTranslate supports, and opens one translation PR per language against the branch that introduced the strings. Only the entries a catalog leaves empty or fuzzy reach the translator. The job matrix and the translator read the same list through translatable(), so a code cannot enter the matrix and then be refused by the run it starts. The pipeline stays off until CI_ENABLE_AUTO_TRANSLATIONS is set, and pull requests from a fork are skipped because the app token cannot push to their head branch. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
GitHub i18n Helpers 🌐
This directory contains the shell helpers that entry-pr-translate.yml calls: resolving the languages LibreTranslate supports into the job matrix, merging the source strings of the core and docs domains into locale/, and machine-translating one language per runner.
| Helper | Purpose |
|---|---|
| install_python.sh | Installs the package with the dev extra, which carries Sphinx for the docs extraction. |
| languages.sh | Writes the machine-translatable ISO 639-1 codes to GITHUB_OUTPUT as a JSON array. |
| extract.sh | Merges the source strings of both domains into every catalog under locale/. |
| translate.sh | Translates the empty and fuzzy entries of one language in both domains. |