Skip to content

docs(i18n): daily translation sync (run 39512631469) - #330

Merged
yiliang114 merged 1 commit into
mainfrom
automation/daily-translation-39512631469
Oct 21, 2026
Merged

yiliang114 merged 1 commit into
mainfrom
automation/daily-translation-39512631469

Conversation

@qwen-code-review-bot

Copy link
Copy Markdown
Collaborator

Verified daily translation batch from scheduled run https://github.com/QwenLM/qwen-code-docs/actions/runs/39512631469.

Review and merge to publish: the main push triggers deploy-docs.yml, which rebuilds and deploys the site. Later scheduled runs pause while this PR is open, so merging it also unblocks the next one.

Files whose structure could not be verified were restored from HEAD and are not included here; the run log lists them.

@yiliang114 yiliang114 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Patrol-Run: qwen-docs-pr-review

Read the full diff (26 files) and checked it against the EN mirror, against upstream at the newly synced commit, and structurally — not as prose.

What I verified

  • The EN mirror is byte-faithful. All 9 changed upstream-derived content/en/** files are identical to QwenLM/qwen-code at d098ff23 (the commit last-sync.json now records), after applying sync.ts's own transforms — the RELATIVE_LINK rewrite with its fence tracking, and the stripped page-top language-switch line. Compared by recomputing the transform, not by reading.
  • The new page is registered in nav, so the post-merge gate is satisfied. This batch adds wecom-callback.md under en/ja/zh, and content/en/users/features/channels/_meta.ts gained 'wecom-callback': 'WeCom Callback'. That is exactly what findUnlistedEntries(content/en) in deploy-docs.yml needs. The gate is EN-only by design (website/scripts/check-nav-coverage.mjs:20-22), so ja/zh not listing it fails nothing.
  • The last-sync.json hashes are correct, not churned. All 15 changed (file, lang) hashes recompute exactly to the sha256 of the upstream file at d098ff23 — including the new wecom-callback.md entry for zh and ja. Languages left on older hashes (fr for wecom.md, de/fr/ko/pt-BR/ru for approval-mode.md) stay in the backlog by design and retry next run.
  • Structural integrity across all 24 changed .md files: no U+FFFD/mojibake, code fences balanced everywhere, no truncated tails, no unreplaced placeholders. All 15 non-EN files match their EN counterpart exactly on heading count by level, fence count, per-fence line counts, and table row count — including the two largest changes (ja/developers/daemon-ui/sidebar-customization.md 18 heads / 14 fences / 53 table rows, zh/users/features/sandbox.md 24 heads / 12 fences).
  • Code blocks were not mistranslated. The JSON and bash bodies in all three new wecom-callback.md copies are identical to EN — config keys, env var names, port 8645, path /wecom/callback, and the vitest file list are untouched.
  • zh/users/features/channels/dingtalk.md changes are fidelity corrections, not regressions. senderPolicy → privatePolicy matches EN:34; the instructions example value returns to the upstream English literal (EN:37); the absolute site URL for outputMode becomes ./overview#turn-output-mode, matching EN:110.
  • ru/users/integration-github-action.md now carries exactly EN's relative-link set (compared side by side). Both targets exist under ru/, and both anchors resolve — ### Command-Line Arguments Table (EN configuration/settings.md:891) and ## Settings files (:30). This swaps four outbound GitHub URLs for in-site links.
  • No new bare-brace MDX risk. The out-of-fence braces at ja/.../sidebar-customization.md:7,24 all sit inside inline code spans, and {{ github.workflow }} at ru/.../integration-github-action.md:135 is byte-identical on main, so it is pre-existing rather than introduced here.

Non-blocking

  1. de/ko/pt-BR/ru wecom.md now link to ./wecom-callback, which does not exist in those locales yet. No build impact: there is no link checker in website/scripts or in the build, and main already carries 184 unresolved relative links across non-EN locales. Those languages have no wecom-callback.md entry in last-sync.json, so they are queued and self-heal.
  2. The ja copy has no inbound link in ja yet — ja/wecom.md and ja/overview.md were not in this round, and ja/_meta.ts does not list it — so until ja catches up the page is reachable only by direct URL or search. Non-EN _meta.ts also already omit email on main, so the generated nav lags there generally.
  3. Translation nits: ja/developers/daemon-ui/sidebar-customization.md:282 leaves the English word "blindly" inside Japanese prose (古い値が56px blindly 増加されることはありません); ko/developers/tools/shell.md:166 has ungrammatical 추적하지 없이 (reads as though it should be 추적 없이). Meaning is intact in both.
  4. The ja and zh wecom-callback.md files have no trailing newline; EN does.
  5. Anchors still carry EN slugs on localized pages. Pipeline-level and pre-existing — measured at 718 such fragments across non-EN locales, and neither the build nor the tests validate fragments.

What I did not check

I did not read the de/fr/pt-BR/ru prose for semantic inversion; shape alignment and the spot-checks above would not catch a meaning flip in a language I did not open. I did not build the site or run the translator locally — the CI evidence is the three PR checks (Translator unit tests and Website unit tests success, Structural gate on changed pages skipped) plus the byte-level mirror and hash comparisons above.

Approving: no blocking finding, CI green, head confirmed at 93988907.

@yiliang114
yiliang114 merged commit a5e8e9f into main Oct 21, 2026
3 checks passed
@github-actions
github-actions Bot deleted the automation/daily-translation-39512631469 branch October 21, 2026 23:09
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