Skip to content
NLP for Historical Text

To machine translate historical text reliably, treat it as a multi-step workflow rather than a single paste-and-go: normalise the source spelling first, supply a period- and domain-specific glossary, run a model that knows the language (a major MT engine or a context-aware large language model), and then have a human verify the output against the source. Raw historical text fed directly into a translation box produces fluent, confident, and frequently wrong results. The normalisation and glossary steps do more for quality than the choice of engine.

What actually breaks when you translate old text?

Modern MT was trained on modern text. Feed it thou wilt finde or an abbreviated Latin charter and three things go wrong: archaic spellings do not match the model's vocabulary, scribal abbreviations (the Tironian et, suspension marks) are unreadable, and period-specific senses of words get the modern meaning. The output reads smoothly, which is exactly the danger — fluency masks error.

Step 1: normalise the source

This is the highest-leverage step. Map variant spellings toward a form the model recognises, expand abbreviations, and resolve glyphs like long-s. Keep the original in parallel so you never destroy evidence.

python
NORMALISE = {"vpon": "upon", "loue": "love", "finde": "find",
             "wilt": "will", "thou": "you", "hath": "has"}

def pre_translate(text):
    out = [NORMALISE.get(w.lower(), w) for w in text.split()]
    return " ".join(out)

print(pre_translate("thou wilt finde loue vpon the morrow"))
# -> "you will find love upon the morrow"

Which engine should I use?

OptionStrengthsWeaknesses
DeepLStrong on major European languagesNo classical languages, no glossary control on free tier
Google TranslateBroad language coverageWeaker on archaic forms, opaque
Large language modelAccepts context, glossary, period instructionsHallucinates confidently
Specialist classical modelKnows Latin/Greek morphologyScarce, often draft-quality only

For most historical work a context-aware LLM wins, because you can tell it the period, genre and how to handle named terms — but only if you verify every output.

How do I prompt an LLM for a period translation?

Give it the context a human translator would want: the language, approximate date, genre, a glossary of fixed terms, and an instruction to flag uncertainty rather than guess.

text
You are translating a 1640s English legal deposition into modern English.
Glossary (use exactly): "messuage" = "dwelling house with land";
"feoffment" = "transfer of freehold".
Translate faithfully. Where a word is ambiguous or damaged,
mark it [uncertain] rather than inventing a reading.
SOURCE: <paste normalised text>

The [uncertain] instruction is doing real work: it converts silent errors into visible flags a human can check.

How do I handle Latin and Greek?

Lean on lemmatisation and a domain glossary, and treat all output as a draft. Inflected languages encode grammatical role in endings the model may mis-resolve, so case and mood errors are common. A machine pass is a useful scaffold that speeds a human translator up; it is not a finished scholarly translation and must never be published as one.

How should the result appear in an edition?

Three non-negotiable rules: label the translation as machine-generated, keep the source visible in parallel, and record the engine, model version and date in your metadata. A reader must always be able to tell a verified human translation from a machine draft, and a future curator must be able to reproduce or re-evaluate the output.

A practical end-to-end checklist

text
1. Transcribe / clean the source (resolve abbreviations, long-s).
2. Normalise spelling toward modern forms; keep the original.
3. Build a glossary of period/domain terms.
4. Translate with an LLM (context + glossary) or MT engine.
5. Human-verify every passage against the source.
6. Record engine, version, date; label as machine-generated.

Skip step 5 and you will eventually publish a confident mistranslation of a load-bearing term. The workflow exists precisely to stop that.

Key Takeaways

  • Normalise source spelling and expand abbreviations before translating; it is the biggest quality lever.
  • Supply a period- and domain-specific glossary so fixed terms render consistently.
  • Context-aware LLMs usually beat plain MT engines on historical text, but hallucinate.
  • Treat Latin and Greek output as a draft for a human, never a finished translation.
  • Always human-verify against the source; fluency hides silent errors.
  • Label machine translations clearly, keep the source in parallel, and record engine and version.
  • Instruct the model to flag uncertainty instead of inventing readings.

Frequently Asked Questions

Can modern machine translation handle historical languages?

Partly. Engines like DeepL and Google Translate work reasonably on early modern forms of major languages but degrade on archaic spelling, abbreviations and dead languages. Pre-normalising the text and using a glossary improves results far more than switching engines.

Should I normalise spelling before translating?

Yes, almost always. Modernising or normalising the source spelling first lets the translation model match words it actually knows, which typically lifts quality more than any other single step. Keep the original alongside so nothing is lost.

Is a large language model better than a dedicated MT engine?

For historical text, often yes, because you can give an LLM context, a glossary and instructions about the period and genre. But LLMs hallucinate confidently, so every output still needs human verification against the source.

How do I translate Latin or Ancient Greek?

Use a model with classical coverage and lean on lemmatisation and a domain glossary. Output should be treated as a draft for a human translator, never as a finished scholarly translation, because case, mood and idiom errors are common.

How should I present a machine translation in an edition?

Always label it as machine-generated, keep the source text visible in parallel, and record the engine, version and date. Never present an unverified machine translation as an authoritative scholarly translation.

What is the biggest risk with translating historical text?

Confident, fluent errors. The output reads smoothly while silently mistranslating a key legal or religious term, which can distort historical interpretation. A period-aware glossary plus human review is the only reliable guard.