How the Pipeline Works
How the Pipeline Works
Section titled “How the Pipeline Works”This is the current localization flow used by Clawdie.
Stage 1: source markdown in git
Section titled “Stage 1: source markdown in git”English source content lives in:
docs/public/
Translated locale content lives in:
docs/public/sl/docs/public/<lang>/
The repo is the editorial source of truth.
Stage 2: push source strings to Crowdin
Section titled “Stage 2: push source strings to Crowdin”Run from the host repo root:
./scripts/crowdin-sync.sh --pushThis uploads current source markdown to the Crowdin project so translators can work on it.
Stage 3: translators work in Crowdin
Section titled “Stage 3: translators work in Crowdin”Crowdin stores translated strings and reconstructed translated markdown.
Typical timeline:
- source docs updated in git
- source pushed to Crowdin
- translators complete or revise a locale
Stage 4: pull translated markdown back
Section titled “Stage 4: pull translated markdown back”Run:
./scripts/crowdin-sync.sh --pullThis writes translated files back into locale folders such as:
docs/public/sl/docs/public/de/
At this point the repo contains the content that Astro will render.
Stage 5: sync docs into the Astro project
Section titled “Stage 5: sync docs into the Astro project”Inside the cms jail docs project:
cd /usr/home/<tenant>/<tenant>-sitenpm run deployThe deploy flow runs sync-public-docs.mjs, which copies canonical docs content from the host repo into the Astro docs content tree before the build.
Stage 6: build localized static output
Section titled “Stage 6: build localized static output”The same deploy flow runs:
astro buildAstro/Starlight then:
- reads the synchronized docs content
- applies locale routing
- renders static HTML for each supported locale
Stage 7: publish through the cms webroot
Section titled “Stage 7: publish through the cms webroot”The built output is deployed into the cms jail webroot and served through the configured docs surface.
For operators, the important point is:
- localization does not have its own deploy path
- it rides on the normal docs deployment path
Summary
Section titled “Summary”docs/public/* -> editorial sourceCrowdin -> translation workflowdocs/public/<lang>/* -> translated markdown in gitcms jail Astro app -> build + deploydocs.clawdie.si -> live localized output