ScholarAIO can translate paper.md into paper_{lang}.md while preserving Markdown structure, LaTeX formulas, code blocks, and image links.
Translate one paper:
scholaraio translate "<paper-id>" --lang zh
Translate all papers:
scholaraio translate --all --lang zh
Read the translated version:
scholaraio show "<paper-id>" --layer 4 --lang zh
config.translate.concurrency to send multiple chunk requests concurrently.translate_zh/parts/*.md, with state tracked in state.json and chunks.jsonpaper_{lang}.md still advances in original order, so partially completed continuous prefixes remain readable--force to discard the temporary workdir and start overIf you want a translated copy that can be moved out of the paper directory without breaking image links:
scholaraio translate "<paper-id>" --lang zh --portable
This keeps the normal in-place translation:
data/libraries/papers/<Author-Year-Title>/paper_zh.md
And also creates a portable bundle:
workspace/_system/translation-bundles/<Author-Year-Title>/
├── paper_zh.md
└── images/
The bundle is created by copying, not moving, so the original paper.md, paper_{lang}.md, and images/ remain untouched.