藏文文献整理与翻译流程
How a Tibetan text travels from a scanned page to something published here.
Every stage is a script under ~/tibetan-pipeline/, and the runbook
below is the same one we follow by hand.
Identify a text worth translating: check the registry for its English status first. A text with no translation, or a partial one, is a candidate. Record its catalogue id (Tohoku or BDRC work id) so every later stage can be traced back.
Acquire the source: a digital e-text where one exists (BDRC eText, rKTs, OTDO), otherwise page images from a scan. Provenance and licence are recorded at this step, not afterwards.
Machine OCR of Tibetan is unreliable: stacks of consonants and the vowel-sign tsheg are easy to confuse, and a single wrong character changes the word. Two paths are supported:
Quality gate: a text is not eligible for translation until a human has signed off the transcript.
Machine translation produces a first pass; every passage is then reviewed against the Tibetan. Terminology is pinned to a glossary so a term is rendered the same way throughout a text. Where an earlier English translation exists it is consulted for terminology, never copied.
The translation is published here with its Tibetan source side by side, its provenance, and its review state.
# 1. register a candidate (records catalogue id, licence, source) pipeline/find_text.py --toh 21 --source 84000 --note "no modern translation" # 2. ingest the source (e-text or page images) pipeline/ingest.py --work toh21 --from bdrc-etext --out works/toh21/source/ # 3a. if images: OCR pipeline/ocr.py --work toh21 --engine bdrc-ocr --out works/toh21/ocr/ # 3b. correct the transcript (human review; diffs are kept) pipeline/transcribe.py --work toh21 --review --out works/toh21/text/ # 4. translate, with the glossary pinned pipeline/translate.py --work toh21 --glossary glossary/ --model local pipeline/review.py --work toh21 --against-source # 5. publish pipeline/publish.py --work toh21
| Stage | State | Notes |
|---|---|---|
| Registry | Working | 4,510 texts catalogued from 84000; each graded by the translation body actually published, not by catalogue listing |
| Find | Working | Gap analysis against the corpus. Note: 84000 publishes a translation or an empty entry, never a fragment, so "partial" cannot be detected from it and needs another source |
| Ingest | Working | BDRC eText and OTDO harvesters proven |
| OCR | Planned | BDRC's Tibetan OCR; correction loop is the hard part |
| Translate | Working | Local models on our own GPU (TROY-1) |
| Publish | Working | This page is served by that path |