HTML translation test files (BookTranslator, 2026-10-27). Free to reuse. sample-source.html 59-line English help-center page written for this test (Shelfmark is a fictional app): title and meta tags, og:title, JSON-LD, an inline style with CSS-generated text, a comment, breadcrumb nav with aria-label, inline tags inside sentences, translate="no", an image with alt text, a table, inline code whose order matters, a pre/code block with sample output, an in-page link, a form with placeholder and aria-label, character references, and a script run_llm_html_test.py runs the three methods against a local OpenAI-compatible server (whole-file, instructed, segments) outputs/*.html the nine Simplified Chinese outputs, unedited (moved into outputs/ after the run; the raw model replies are not published) check_html_translation.py structural checker (Python standard library only) check-results.txt checker output for all nine, run with --lang zh-Hans --keep Shelfmark --keep EPUB --keep CSV results.csv one row per run, including the sentence-order reading the checker cannot do Model: Qwen 3.6 27B (qwen/qwen3.6-27b, Q4_K_M) in LM Studio, reasoning_effort "none", temperature 0.3, one request per method per run, Apple M4 Max with 64 GB of memory. The segments method decodes character references before sending text and writes characters back, and it sets lang="zh-Hans" itself; both are design choices of this script, not model output. The sentence-order column was read by a person: "correct" means the translated sentence tells the reader to type the path after --out, as the English does.