Languages

As of 7 November 2026 — a live inventory: 277 language codes across 2,854,118 documents and 128,499,000 passages, every code appearing in the catalog, the lemma index, or the reference shelf. The maintained original of this page is docs/languages.md in the repository; this page states the system and the headline holdings.

The library carries this reference as a command: nabu language CODE explains any code the tools surface — the corpus languages below and the 1819 etymology codes that appear in etym cognate lists — on one card: name, family, curated historical context, live holdings, the research desks that hold the code, and (where the code is a registered anchor) the historical stage ladder described below. The curated layer behind these cards is file-backed: one plain Markdown dossier per language code, editable in any editor and re-derived into the catalog on sync.

The code system

  1. Codes are BCP-47-shaped: a primary ISO 639 subtag (grc, lat, chu…), optionally followed by a script subtag (san-Latn is Sanskrit in Latin transliteration) or another qualifier.
  2. The code names the language of the passage text as stored — not the manuscript’s script, not the modern nation’s. GRETIL stores IAST romanization, so its Sanskrit is san-Latn; the CCMH codices store a 7-bit transliteration, but the language is still chu.
  3. Historical stages ride the nearest standard code, documented: Old East Slavic, Middle Russian, and Ruthenian all live under orv (following Universal Dependencies); Early Modern Slovenian and the Freising Manuscripts under sl. Stored codes never change — but the stage itself is now recorded and queryable through the lect layer below.
  4. Reconstruction shelves use Wiktionary’s etymology codes verbatim (sla-pro, ine-pro, gem-pro) — non-ISO, kept because they join directly against the upstream descendants data. Whether something is a reconstruction is a registry fact in the lect layer, not a guess from the code’s spelling.
  5. Search folding is per-language: the code selects the rule — Greek final sigma and diacritics, Latin u/v and i/j, Old English æ/þ/ð, Slovene long s, cuneiform determinative stripping, and generic diacritic folding elsewhere.

The lect layer

A standard code often tells less than the truth: lat covers Cicero and twelfth-century charters alike, and one Wiktionary code (la-vul) names both an attested register and a comparative-method reconstruction. Since August 2026 the library resolves its codes through nabu-lects — a sister project (repository, CC BY 4.0, versioned releases since v1.0): a small curated registry of lects, language varieties identified as

anchor [ ":" stage ] [ "/" variety ] [ "~" script ] [ "@" ortho ]

— lat:med is Medieval Latin, grc:koi Koine Greek, zho/lit Literary Chinese as the written register it is, roa:pro Proto-Romance with mode: reconstructed as a data field, san~latn Sanskrit held as a romanized edition (the ~ axis, August 2026, claims the script of the text as held — never the artifact’s original writing system, which stays a separate catalog fact). The registry’s case for existing, with a review of every prior system, is its own prior-art page; this page is about what the library does with it.

Nothing about storage changes. Stored codes stay exactly as documented above; the registry is an optional module (nabu sync nabu-lects), and every surface below reads as before when it is absent. Resolution layers Nabu’s own knowledge over the registry’s universal defaults, at three grains: a per-source override records that one collection’s use of a code means something specific (the medieval charter corpus resolves its lat to lat:med, the DÉRom dictionary’s la-vul to the reconstructed roa:pro); ratified rules stage whole document groups by what the catalog already knows (a CDLI period label, an AES corpus slice, a DCS Vedic school tag names the stage of every document carrying it — and a document whose date interval falls inside exactly one stage’s band is staged by date, containment, never overlap); and per-document rulings refine single texts. Every assignment lives in a journal that survives rebuilds, states its evidence, and is audited against the documents’ own dates (nabu lect check-dates). The journal holds hundreds of thousands of assignments — most from the period/corpus rules, the rest from date × stage-band inference — and an unmapped code still resolves to itself, honest coarseness.

What it buys, on three surfaces:

The stage ladder. nabu language lat now ends with live holdings per historical stage (a representative run — the command prints today’s counts):

  stages:
    arch  Old Latin (700–75 BCE) — 3023 documents
    cla  Classical Latin (75 BCE – 200 CE) — 88342 documents
    late  Late Latin (200–600 CE) — 22798 documents
    med  Medieval Latin (600–1350 CE) — 377 documents
    ren  Renaissance Latin (1350–1550 CE) — 111 documents
    new  New Latin (≥ 1550 CE) — 0 documents
    unstaged  — 81890 documents

Most of the staged Latin is epigraphy dated per inscription: an EDR or EDH stone whose dating interval sits inside exactly one stage’s band carries that stage; one dated across a boundary stays honestly in unstaged, which is what most of that line is (band-spanning or undated inscriptions, never a guess). The same machinery gives Sumerian a five-stage ladder topped by Neo-Sumerian (Ur III) at 191,325 documents (as of 16 October 2026), and Akkadian the field’s own six-way Assyrian/Babylonian grid (nabu language sux, nabu language akk).

Stage-aware search. nabu search "rex" --lect lat:med keeps only hits whose collection resolves to Medieval Latin (prefix semantics: --lect lat matches every Latin stage). The MCP nabu_search tool carries the same lect parameter.

Reconstruction honesty. The display asterisk and the etymological machinery now ask the registry, not the code’s spelling. DÉRom’s Proto-Romance etymons — filed upstream under la-vul — display as what they are: etym cheval walks to *kaˈβall-u [roa:pro · Proto-Romance]. And in the other direction, runic inscriptions filed under the proto-looking gmq-pro tag are attested epigraphy and carry no asterisk. Cognate lists prefer the resolved reading throughout — [grc:byz · Byzantine Greek] where the raw code says gkm.

Corpus languages — the headline view

The 16 largest passage languages, live (as of 7 November 2026) — passage counts read from the census SSOT, descriptions from the hand-curated site/_data/language_notes.yml; the full per-code inventory is maintained in docs/languages.md.

Code Language Passages
ara Classical Arabic — the OpenITI corpus, the library’s largest language 33.3M
en Early Modern English — EEBO-TCP, the first printed books transcribed 28.8M
lzh Literary Chinese — Kanripo and the CBETA Buddhist canon, spelling-variant folded 20.7M
jpn Japanese — Aozora Bunko and the Diet Library’s classical OCR, ruby readings preserved 6.7M
lat Latin — classics, Vulgate, charters, and ~195K inscriptions 4.4M
grc Ancient Greek — Homer through the papyri to both New Testaments 3.4M
sux Sumerian — Ur III administration to the great lexical lists 3.0M
fas Persian — the OpenITI Persian shelf 2.8M
fra French — the classical stage whole, Corneille to Giraudoux in their printed editions 1.7M
xct Classical Tibetan — the Derge Kangyur and Tengyur 1.5M
ko Korean — the historical shelf’s vernacular hangeul and record lanes 1.5M
enm Middle English — the Corpus of Middle English, Chaucer to the mystery plays 1.4M
eng English — the translation layer, never an original 1.3M
cmn Mandarin — the modern half of the classical–modern parallel corpus 1.3M
tam Tamil (native script) — the Project Madurai classical e-texts at line grain 1.2M
de German — editions, apparatus and translations across the corpus 1.2M

Beyond these: the epigraphic mass (Latin and Greek inscriptions, the Sabellic and Alpine corpora, pre-Greek Sicily), the cuneiform state languages (Hittite, Elamite, Old Persian, Urartian, Hurrian, Eblaite) and Hieroglyphic Luwian, the Semitic shelves (Biblical Hebrew, Aramaic and Targumic, Classical Syriac, Ugaritic, Geʿez), Coptic and Egyptian across their whole span, Old Church Slavonic and Old East Slavic with the South and West Slavic literatures down to the nineteenth century, the Celtic and Germanic medieval corpora (Old Dutch, Old Swedish and the Old Norse manuscripts among them, with the German print era whole since the Deutsches Textarchiv landed), Old Galician-Portuguese lyric and the Ibero-Romance and Occitan shelves, the Middle Iranian languages (Khotanese, Parthian, Bactrian, with the documentary New Persian of the Islamicate East), Chagatai Turki and the Middle Mongol of the Secret History, the Korean record in hanmun and early hangul, the Southeast Asian family (Old Khmer, Old Mon, Old Malay, Old Javanese, Pyu, Old Burmese — most in their only machine-readable form), Classical Newar, colonial Valley Zapotec, Quechua and Aymara passages in Guaman Poma’s chronicle, Tupinambá and Old Guaraní, and the honest und rows where an upstream record could not determine a language.

Reference-shelf languages (dictionaries)

5,281,593 dictionary entries live (as of 7 November 2026), across 956 shelves grouped under 203 registry lect nodes (37 shelf language codes await a registry assignment and are censused as unresolved). The classical reference shelf: Liddell-Scott-Jones (Greek, 116,497 entries), Lewis & Short (Latin, 51,636), Monier-Williams (Sanskrit, 193,890), Bosworth-Toller (Old English, 62,815) — citations resolving into the corpora. The reconstruction shelves (Proto-Indo-European through Proto-Slavic, Proto-Germanic, Proto-Italic and their intermediates) carry multi-hop etymological chains with per-edge loan flags, joined by independent witnesses: IE-CoR’s expert-curated cognate sets, LIV-LOD, de Vaan’s Etymological Dictionary of Latin, the StarLing / Tower of Babel databases (under a written grant — the Moscow-school apparatus from Pokorny and Vasmer to the Altaic, North Caucasian, Sino-Tibetan, Dravidian, Chukchee-Kamchatkan and Yenisseian proto-databases, with the lexicostatistical wordlists that shipped beside them), and — since August 2026 — DÉRom’s Proto-Romance etymons, displaying under their honest roa:pro lect. The Slovenian historical shelf (139,405 entries), Brückner’s etymological dictionary of Polish and Nasovič’s Belarusian dictionary, the Welsh GPC, the Celtic Wiktionary extracts, the Chinese rime books from the Qieyun to the Zhongyuan yinyun, the Old Javanese Wordnet, and the Tibetan lexica round out the reference floor.

Gold-lemma languages

53 languages are searchable by dictionary form (search --lemma) — 25,500,311 gold rows (as of 7 November 2026; Sanskrit and Sumerian lead), fed by the treebanks, ORACC, the DCS, the Hebrew and Egyptian shelves, and the Germanic reference corpora. A further 36.2 million machine-suggested rows in 18 languages ride an honestly labelled silver tier. Everything else is full-text-searchable but not yet lemma-searchable.

The same languages, grouped by the scholar who reads them rather than by code, are the 30 research desks.