A page of Greek type from the 1495 Aldine edition of Lascaris' Erotemata
All articles

21 August 2026 · 8 min read

Two Copies, Two Languages

A book that is genuinely two languages at once, and what it took to admit it

We were hunting letterforms in early Aldine printing when we noticed something odd about a grammar we hold two copies of. Filter the library to Latin and you get one of them. Filter to Greek and you get the other. There is no filter that shows you the book. Both entries are correct, the filter is working exactly as designed, and the book is still hiding.

A book with two halves

The book is Constantine Lascaris’ Erotemata, a Greek grammar, printed in Venice in 1495, among the first books Aldus Manutius put through his press, and the beginning of the Aldine Greek programme. It is not only a Greek book. Facing every page of Greek is Johannes Crastonus’ Latin translation, because the point of the book was to teach Greek to readers who had Latin. Open it anywhere and you are looking at two languages doing different jobs on facing leaves.

Our catalogue, like most catalogues, has one field for language. It holds a single value. A cataloguer facing this book must decide whether it is Greek or Latin, and whichever they choose, the other half of the book becomes invisible to anyone filtering for it. Two different people made that call on our two copies, in opposite directions, and neither made a mistake.

This is not an exotic edge case. Bilingualism by design is ordinary in early printing: Greek–Latin grammars and lexica, Hebrew–Latin bibles, Arabic–Latin medicine, the great polyglot bibles that run four and six languages in parallel columns. A single-language field quietly reports all of them as half of themselves.

The fix that was already there

The obvious answer is a list instead of a single value, so we went to add one. It already existed. A languages array had been sitting on 45,675 books since May, written by a maintenance script nobody had thought about since.

It was also useless, in an instructive way. Of 17,857 published books carrying the field, exactly 245 held more than one language. Nothing in the site read it. The search filter that appears to use it (the parameter is literally named languages) queries the old single-value field instead.

The reason the array was empty is the interesting part. The script that fills it works by parsing the text already in the single field. Give it “Greek-Latin” and it correctly produces two entries. Give it a book catalogued “Greek” that happens to be half Latin and it produces one. It had already run over both copies of the Lascaris and faithfully confirmed each cataloguer’s guess. A field can be populated, idempotent, and structurally incapable of learning anything.

Ask the pages

There was better evidence in the building. When our OCR model reads a page it records what language it saw, page by page, and it has been doing so for millions of pages. We had never aggregated it. Reading the tags for the two Lascaris copies takes a few seconds and produces this, in order, straight down the middle of the book:

Latin · Greek · Latin · Greek · Latin · Greek · Latin · Greek · Latin · Greek · Latin · Greek

That is the physical structure of the book, recovered from evidence rather than from a catalogue entry. Totalled across both copies:

CopyLatin pagesGreek pagesCatalogued as
First copy (340pp)178153Greek
Second copy (336pp)178154Latin

Two different physical copies, scanned separately, read separately by a machine that was not told what to expect, agreeing to within one page. The catalogue gave two answers; the books gave one. So we wrote a detector that does this for the whole library and ran it over every published book with readable pages: 21,481 of them.

The first wrong answer

The first run reported that a couple of percent of books flatly contradicted their own catalogue entry. Before believing it we looked at the actual list, and the top of it was Comenius’ Orbis Sensualium Pictus, the famous illustrated schoolbook, catalogued in our system as Latin/English, measured at 93% English and 91% Latin.

Which is to say: catalogued exactly right, and reported as broken. Our comparison read “Latin/English” as one opaque token, matched it against neither Latin nor English, and concluded the record disagreed with the book. Every one of the contradictions in that first slice was this. It turns out 96 of our 229 distinct language values are already compound strings: cataloguers have been working around the single-value field by hand for years, writing “Hebrew and Aramaic” into a box that was only ever meant to hold one word.

The second wrong answer

Fixed that, re-ran, and got a real headline: 6,230 books carrying a substantial second language nobody had recorded. Nearly a third of the library. It would have been a good number to publish.

Sorted by frequency, the largest single group (2,423 books, 38% of the entire finding) was “Chinese + Classical Chinese.”

Those are not two languages in a book. That is one text, with the model calling it “Chinese” on some pages and “Classical Chinese” on others. We had told our own detector to treat those names as distinct, which is correct when you are cataloguing and wrong when you are asking whether a book is bilingual. The finding was an artifact of the instrument, and it was more than a third of the result.

After teaching the comparison about language families (historical stages stay distinct as catalogue values, collapse when asking “is this book bilingual?”), the number fell to 3,822. Still a great deal of unrecorded bilingualism. Just not the number we nearly published.

The rule we got out of it

Twice in one afternoon, the headline finding was the measuring instrument. Both times the output looked exactly like a data problem (a specific, plausible, countable defect in the corpus), and both times the defect was in the comparison.

What makes this catchable is that an artifact is systematic, so it clumps. Real defects in a library of a hundred thousand books are scattered: a bit of this, a bit of that, no single cause. An instrument error applies the same wrong rule every time it fires, so it lands in one enormous pile. Which gives a cheap and general check: before quoting a rate, sort your findings by frequency and look hard at the biggest group. If it has a single crisp explanation, it is probably you.

Both times, that check took under a minute and cost nothing. Both times, skipping it would have produced a confident and completely wrong published number.

The thing that looked like an error and was not

The corrected run still flags 1,014 books whose pages appear to be in a different language from their catalogue entry, and the largest group there deserves the same scepticism. It is 196 books catalogued Korean whose pages are Classical Chinese: royal protocols of the Joseon court, Buddhist ritual manuals.

Those records are not wrong either. Korean scholarly and official writing was done in literary Chinese for centuries; the practice has a name, hanmun. The provenance, the authorship and the readership are Korean, and the script on the page is Chinese, and a catalogue that has to pick one is going to disappoint somebody. Our Tibetan collection produces the same pattern with Sanskrit, 289 times over. These are facts about how the books were made, arriving in the shape of a data error.

Which is the strongest argument for the list. Not that the old entries were mistakes (almost none of them were), but that a single value forced a true thing and another true thing to compete for one slot.

What the pages said

Of the 21,481 published books with readable pages: 14,313 agree with their catalogue entry; 3,822 carry an unrecorded second language; 1,014 contradict their entry outright; the rest have too few pages, or OCR old enough that it never recorded a language at all.

Inside the bilingual group there are two distinguishable kinds of book. About 1,643 have the second language on 40% of pages or more: facing-page editions, the Lascaris shape. About 1,571 sit between 10% and 25%, which is the shape of a treatise in one language quoting steadily in another: German alchemical works quoting Latin, Latin theology quoting Greek and Hebrew. Those are genuinely different books and no single percentage cut separates them, which is why the threshold is still an open question here rather than a setting we have already chosen.

One more group is worth naming: 64 books catalogued as Greek whose pages are 99–100% Latin. Commandino’s Hero of Alexandria, Vizzani’s Ocellus Lucanus, a Hierocles. These are Renaissance Latin translations shelved under the language of the original: a Latin book presenting itself as a Greek one. We had suspected the pattern for a month without being able to name a single instance. Now there is a list.

Nothing has been changed yet

The detector writes nothing. It produces a report, and the switch that would let it edit the catalogue does not exist; running it with that flag exits with an error, on purpose. Given that its first two versions were confidently wrong in ways that took a human eye to catch, letting the third version rewrite a hundred thousand records unattended would be an odd conclusion to draw.

There is also a specific hazard. Our language field records the language of this edition, not of the original work, so an English translation of Plato is correctly catalogued English. A well-meaning sweep in June inferred the opposite and proposed relabelling 547 books to their source languages; a dry run caught that 523 of them were ordinary English translation editions. It was not applied. That near-miss is why anything touching this field now runs as a report first and a human decision second.

What we can say is what the books say. Two copies of one 1495 grammar, scanned separately and read by a machine that was never told what to expect, report the same thing to within a single page: roughly 178 pages of Latin and 153 of Greek, printed face to face so that one could teach the other. The catalogue will eventually be able to say that too.

The detector is scripts/audit/detect-book-languages.mjs in our public repository, along with the shared language vocabulary and its tests. Both copies of the Lascaris are readable in full: the first and the second.

How this article was made

This is an AI-assisted article. Derek Lomas set the question; AI models searched the library, read the sources and drafted the text, which was reviewed before it was published.

Every quotation is checked by machine against the scanned page it comes from and links to that page, so you can read the original yourself. The article is a living document: it is revised when a reader finds an error or the library gains a better source.

How these articles are made · Last revised 17 October 2026 · Revision history · Spot an error? Suggest an edit

More from the same category first, then the newest articles.