Repository navigation
[G9b] Docs site: Arabic translations, guides rewritten around createAgent() (part 1) #207
Description
Goal
G1, G2a, G2b, G2c and G7 rewrote and reshuffled the guides that opened with the executor API, and moved the event schema and the queue and steer sections out of the streaming guide. Arabic pages on lousho.com are translated from the English pages (which are generated from the SDK's docs/*.md), and the site's CI fails when an Arabic page is stale or missing. After G9a the pages below are listed in ar/pending.json, so CI is green but the Arabic text is out of date. Bring them current. Plan row G9 (part of four).
Current state
Checked in E:\agent-sdk-docs at 40cb386, before G9a. This is a separate repository from the SDK: work in your own git worktree of it, branch lou-g9b-<slug>, pull request to LinuxDevil/agent-sdk-docs main (a merge deploys the site; the SDK repository's BRIEF-2 rules about worktrees, never forcing and never deleting branches, and reporting apply the same way).
- Arabic pages are
ar/<slug>.mdx, one per English<slug>.mdx; the English pages are generated and must not be edited here.scripts/TRANSLATING.mdhas the rules (what to translate, what stays byte for byte, the glossary).ar/translations.jsonrecords the SHA-1 prefix of the English page each translation matches. node scripts/check-translations.mjschecks, per page: front matter with a quoted title, Arabic text present, the same number of fenced code blocks and identical bytes in each (Mermaid labels excepted), the same number of##to####headings, internal links under/ar/, valid heading anchors (anchors are mapped by heading position: the n-th heading of the English page is the n-th of the Arabic page), and not stale.--fix-linksrewrites internal links and anchors to the Arabic ids;--recordstores the hashes. G9a addsar/pending.json: a slug listed there is skipped by every check..github/workflows/check.ymlrunsnpx mint validate,npx mint broken-linksand the check on every pull request.- The English pages changed in wave 1 by moving, adding and renaming headings (sections moved between pages), so a patch by heading position does not work: re-sync each page in full.
Scope
In:
- Re-translate these pages (the slugs G9a left in
ar/pending.json; if one of them is not pending, say so):quickstart(rewritten aroundcreateAgent(); the executor section moved to the newexecutor-apipage),durable-execution,workspace-tools,approvals,sessions,streaming(the event schema moved tostream-events, queued input and steering toqueue-and-steer),sub-agents,compaction,skills,structured-output. - For each page: diff the English page against the version it was translated from (use
git log -p -- <slug>.mdxin the docs repository) to see what moved; move the existing Arabic text of moved sections instead of retranslating; translate new and changed text followingscripts/TRANSLATING.mdand the glossary; keep every fenced code block byte for byte; keep the heading structure identical to the English page. - Run
node scripts/check-translations.mjs --fix-links, fix whatnode scripts/check-translations.mjsreports, remove the page's slug fromar/pending.json, and runnode scripts/check-translations.mjs --recordonce all pages of this ticket pass. - Run
npx mint validateandnpx mint broken-links.
Out: pages in other tickets' lists; English pages; the comparison section (G9a); anything in the SDK repository.
Acceptance criteria
- Every page listed above has been removed from
ar/pending.json, its Arabic text matches the English page's structure and content, andnode scripts/check-translations.mjsexits 0 with the page checked (not pending). -
ar/translations.jsonrecords the new hashes for those pages. -
npx mint validateandnpx mint broken-linkspass. - The pull request description lists the pages done and, for each, whether text was moved or newly translated; any page in the list that G9a did not leave pending is reported, not skipped silently.
- The Arabic
quickstartkeeps the same section order as the English page (hello, tool, streaming, session, approval, offline test, custom provider, spec files, advanced executor).
Live test
None: this ticket spends nothing.
Dependencies
G9a (creates ar/pending.json and the regenerated English pages). Independent of G9c and G9d, which edit different pages; all three edit ar/pending.json and ar/translations.json, so rebase and keep both sides' changes.
Notes for the implementer
- Use the terms of the glossary on every page; where the glossary has no term, follow the first-use rule (Arabic term with the English in parentheses) and add the term to the glossary table in
scripts/TRANSLATING.mdif more than one page uses it. - Code blocks, inline code, link targets, error codes and product names stay as they are.
- If the English pages of your list changed after G9a (a later SDK sync), run
npm run syncagain first; do not translate a stale page. - Do not translate
changelog(it is exempt).
Round 2 ticket G9b. Before starting, read the agent brief (worktree rules, verification list, live-test budget) and the plan. One ticket is one pull request; put Closes #<this issue> in it.
Activity
LinuxDevil commentedon Oct 3, 2026
Done through the docs-site catch-up passes: LinuxDevil/agent-sdk-docs#8 (all Arabic pages current at SDK e255525), #9 (SDK 1c3fd16) and #10 (SDK 78b079d). check-translations reports 60 pages, 0 pending, 0 stale; mint validate and broken-links pass; the Arabic navigation mirrors the English one.