Skip to content

German Translation Update - 2026-02-16#56

Closed
MDC91 wants to merge 27 commits intoqubic:mainfrom
MDC91:german-translations-20260216
Closed

German Translation Update - 2026-02-16#56
MDC91 wants to merge 27 commits intoqubic:mainfrom
MDC91:german-translations-20260216

Conversation

@MDC91
Copy link

@MDC91 MDC91 commented Feb 16, 2026

🇩🇪 German Translation Update

This PR adds German translations for the Qubic documentation.

What's included:

  • ✅ Latest translations synchronized with upstream
  • ✅ AI-translated via DeepSeek API
  • ✅ Reviewed by human translator
  • ✅ All technical terms preserved
  • ✅ Proper Docusaurus i18n structure (i18n/de/)

Files changed:

  • German translations in i18n/de/docusaurus-plugin-content-docs/current/

How to test:

  1. Pull this branch
  2. Add to docusaurus.config.js:
    i18n: {
      defaultLocale: 'en',
      locales: ['en', 'de'],
    }
  3. Run npm run start
  4. Visit http://localhost:3000/de/

Requirements for merge:

  • Add de to locales in docusaurus.config.js
  • Verify build succeeds: npm run build
  • Check German pages render correctly

Maintenance:

  • Translations are automatically synced daily
  • New PRs will be created for future updates
  • This is a one-time setup - future updates just need merge

Automated translation workflow by @MDC91
For questions about translations, please contact the German translation team

MDC91 and others added 27 commits February 14, 2026 20:35
Add two GitHub Actions workflows: sync-and-translate.yml and create-upstream-pr.yml. sync-and-translate runs daily (or manually), adds upstream remote, detects changed docs, runs a Node.js translate.js (uses DEEPSEEK_API_KEY) to generate German translations into i18n/de/, writes a translation-summary.json, commits and pushes a review branch, and opens a review PR titled "[REVIEW NEEDED]". The translation script preserves YAML frontmatter and Markdown formatting and translates selected frontmatter fields and body text according to defined rules. create-upstream-pr.yml triggers when a review PR with "[REVIEW NEEDED]" is merged and uses a provided UPSTREAM_PR_TOKEN to create an upstream PR against qubic/docs.
Automated test translation of docs/overview/introduction.md
Add a formatFrontmatter helper to assemble YAML frontmatter correctly, translate sidebar_label when present, and build output using the formatted YAML. Improve logging to list frontmatter keys, show a frontmatter preview and first-paragraph preview, and print error stacks on failure. Update the artifact path to the specific translated file and add download hints. Remove the outdated/corrupted German introduction file under i18n/de/docusaurus-plugin-content-docs/current/overview/introduction.md.
Automated test translation of docs/overview/introduction.md
Automated test translation of docs/overview/introduction.md
Update create-upstream-pr.yml and sync-and-translate.yml to improve translation PR creation and parsing/translation logic.

create-upstream-pr.yml:
- Checkout the upstream qubic/docs repository using a PAT and configure git user.
- Add fork remote, fetch fork, and create a clean branch that brings in only i18n/de/ from the fork.
- Commit and push the branch, then create a PR against qubic/docs using gh with an expanded PR body (testing instructions, checklist, and contact info).
- Added a success notification step.

sync-and-translate.yml:
- Limit change detection and initial sync to docs/overview/ (for targeted testing).
- Remove front-matter npm dependency and implement a custom frontmatter parser (parseFrontmatter) and formatter (formatFrontmatter) to produce well-formed YAML.
- Ensure sidebar_label and other frontmatter fields are translated, and assemble output with correct YAML quoting.
- Adjust npm install to remove front-matter and minor formatting tweaks in the translation request payload.

These changes scope the sync for testing, improve control over what gets pushed to upstream, and make frontmatter handling deterministic without the external front-matter package.
Add a new workflow (.github/workflows/cleanup-branches.yml) that runs on closed PRs to main and, if the PR was merged, deletes the source branch when it matches translation-sync-*. Replace the manual gh CLI PR creation step in sync-and-translate.yml with peter-evans/create-pull-request@v7 to create the review PR via the Actions input parameters (token, branch, base, title, body). These changes simplify PR creation and add automatic cleanup of translation-sync branches after merge.
Replace the previous commit-and-push step with a 'Prepare clean branch' flow that stashes translated files, checks out main, restores only i18n/de/, and stages those translations to avoid including unrelated changes. Update the PR creation to use translation-sync-${{ github.run_id }}, provide a commit message, keep the branch after PR, and restrict added paths to i18n/de/**. Also remove the German introduction file i18n/de/docusaurus-plugin-content-docs/current/overview/introduction.md (deleted). This ensures automated translation changes are isolated and reviewed before upstream merge.
Automated translation of changed documentation files.
Review required before creating upstream PR.
Updated section titles and improved clarity in the description of Useful Proof-of-Work.
Enhance the sync-and-translate workflow by adding explicit, prioritized rules for technical terms (e.g. computor → Computor, computors → Computoren, epoch → Epoche, epochs → Epochen, useful proof-of-work / Useful Proof-of-Work kept untranslated, ledger/quorum/Smart Contract/Wallet kept untranslated) and clarifying general translation guidelines (preserve Markdown, don't translate code blocks, keep URLs and YAML frontmatter, use professional German). Also remove the obsolete test-translation.yml workflow and its associated test translation script to simplify CI configuration.
[REVIEW NEEDED] Translation Sync - $(date +%Y-%m-%d)
Temporarily disable automated triggers for docs workflows until the Qubic team accepts translations. Commented out the pull_request trigger in .github/workflows/create-upstream-pr.yml and the schedule trigger in .github/workflows/sync-and-translate.yml, leaving only workflow_dispatch for manual runs. Added a German note in create-upstream-pr.yml explaining how to re-enable (create a Personal Access Token with repo permissions and store it as UPSTREAM_PR_TOKEN).
- Translated via DeepSeek API with human review
- Covers latest documentation updates
- All technical terms preserved
- Includes overview section

Co-authored-by: MDC91
@netlify
Copy link

netlify bot commented Feb 16, 2026

Deploy Preview for docs-qubic-org failed.

Name Link
🔨 Latest commit bd09499
🔍 Latest deploy log https://app.netlify.com/projects/docs-qubic-org/deploys/6993415b38243900073acaa0

@MDC91 MDC91 closed this Feb 16, 2026
@MDC91 MDC91 deleted the german-translations-20260216 branch February 16, 2026 16:42
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