Skip to content

Releases: Josolon/latin-dictionary

v1.7.0 — Linux and Windows support

Choose a tag to compare

@Josolon Josolon released this 08 Aug 11:45

The same dictionary now runs on Linux and Windows, not just macOS.

Latin-GoldenDict-v1.7.0.zip is a StarDict build for GoldenDict-ng, generated from the same XML as the macOS bundle. All 54,570 entries and all 410,315 Morpheus-indexed inflected forms are there, so selecting puellarum in a text resolves to puella and scripsisse to scribo — you do not have to know the lemma. GoldenDict's Scan Popup is the direct analogue of macOS Look Up; on Linux/X11 it is arguably better, since merely highlighting a word fires the lookup with no keystroke.

Everything the macOS bundle has is in it: the unabridged L&S entries, the Ramshorn / Döderlein / Spinelli–Fenzi synonym articles, the morphology tables, the reconstructed Vox Latina pronunciation, and the Allen & Greenough grammar entries. A&G cross-references are rewritten from Apple's x-dictionary: scheme to bword:.

The installed footprint is 22 MB rather than 116 MB — the article body ships dictzip-compressed, so GoldenDict seeks to a single article instead of inflating the whole file.

Setup is not guessable — read docs/GOLDENDICT.md. StarDict has no stylesheet slot, so article-style.css installs separately (it has a dark-mode variant and collapses sense indentation at popup width), and Wayland users need QT_QPA_PLATFORM=xcb for the global hotkeys.

macOS users: LatinDictionary-v1.6.0.zip is byte-identical to the v1.6.0 asset. The dictionary data has not changed in this release — only the new build target.

The repo was also renamed from latin-mac, which stopped being accurate. GitHub redirects the old URLs, so existing clones and links keep working.

v1.6.0 - Pronunciation Guide, A&G Cross-Reference Links

Choose a tag to compare

@Josolon Josolon released this 27 Jul 06:50

What's new

  • Pronunciation Guide reference entry. Five tables (Vowels, Nasalized Vowels, Diphthongs, Consonants, Geminates) map this dictionary's own reconstructed IPA onto real example words in English, German, French, Italian, Spanish, and Icelandic wherever a genuinely close sound exists — a language is left out of a row rather than forced onto an approximate match it doesn't have. A 7th column, Ecclesiastical Latin (the still-living Italianate pronunciation tradition), appears only where it instructively diverges from Classical (c/g before e/i, v, gn, the aspirated-stop mergers). Geminates are checked against this project's own 51,636-headword corpus rather than assumed — every consonant included is genuinely productive in real Latin spelling. Icelandic examples were corrected against a primary source and native-speaker verification (pabbi/dögg/saddur), and excluded from the pp/tt/kk rows specifically, since Icelandic realizes that contrast via preaspiration rather than plain held length.
  • Allen & Greenough's own cross-references are now clickable. A&G's TEI source contains 1,144 <ref n="NNN"> cross-references, previously rendered as plain unclickable text. These now become real x-dictionary: links wherever the target is one of this project's own indexed grammar entries (172 qualify) — the rest correctly stay plain text rather than becoming dead links, since only "named rule" topics (like "Ablative Absolute"), not every section's running prose, get their own citation-indexed entry.

Regression coverage

scripts/test_dictionary.py gained checks for both features: the Pronunciation Guide's structure, content, and Icelandic-specific corrections, and the A&G ref-linkification's validate-before-linking behavior.

Full Changelog: v1.5.0...v1.6.0

v1.5.0 - Reconstructed Pronunciation, Noun/Deponent Fixes

Choose a tag to compare

@Josolon Josolon released this 12 Jul 22:08

What's new

  • Reconstructed Classical Latin pronunciation. A Vox Latina-style IPA transcription now appears under the headword for entries carrying at least one macron/breve (~85% of the dictionary; skipped rather than guessed for the rest, since stress placement depends on knowing vowel length). Checked directly against Wiktionary's Module:la-pronunc output rather than derived from rules alone:
    • Vowel length/quality, c/k/qu → [k], v → [w], gn → [ŋn], ph/th/ch aspirated, ae/oe/au diphthongs
    • Dark vs. clear L — lupus[ˈɫʊ.pʊs], but lupus before i/y or in a geminate ll stays plain
    • Nasalized vowels before word-final -m or before n/m+s/f, with the nasal consonant dropped — etiam[ɛ.ti.ãː], insula[ˈĩː.sʊ.ɫa]
    • Hiatus-vowel tensing — duo[ˈdu.ɔ], not [ˈdʊ.ɔ]
    • Classical penultimate-weight stress rule, with syllabification handling the muta-cum-liquida exception
  • Fixed: nouns silently missing their declension table. Morpheus suffixes its own lemma with a homonym-disambiguating number even when L&S's key has none (equusequus1); the join now rescues the unambiguous case (~850 entries recovered) while leaving genuinely ambiguous homonyms unmatched rather than guessed.
  • Fixed: semi-deponent verbs had a broken citation form. Audeo, gaudeo, soleo, fido and compounds now get their correct 3-part citation (audeo, audere, ausus sum) instead of an empty/broken one — L&S's own tagging never marks this small closed class as deponent, so it's now recognized by a hardcoded lookup, the same shape as the adjective-suppletion handling from v1.4.1.

Regression coverage

scripts/test_dictionary.py gained checks for all of the above: noun-morphology rescue (equus), semi-deponent citations (audeo/gaudeo/soleo), and five pronunciation checks verified against real Wiktionary entries (insula, agellus, lupus, homo, duo).

Full Changelog: v1.4.1...v1.5.0

v1.4.1 - Adjective Degree Splitting, Diacritic Search Fix

Choose a tag to compare

@Josolon Josolon released this 09 Jul 21:56

What's new

  • Adjective comparison (positive/comparative/superlative) properly modeled. The positive-degree entry (e.g. bonus) now shows a compact summary line — Positive: bonus · Comparative: melior · Superlative: optimus — plus its own gender-split declension table. Melior and optimus each get their own focused synthetic entry, with their own headword, declension table, and search index, instead of three tables crammed onto one page. Covers both regular formation (altus → altior → altissimus) and the five suppletive irregulars Perseus/Morpheus doesn't tag consistently: bonus/melior/optimus, malus/peior/pessimus, magnus/maior/maximus, parvus/minor/minimus, multus/plus/plurimus.
  • Fixed: diacritic spellings weren't searchable. Looking up a headword's own displayed spelling with macrons/breves (e.g. bŏnus) returned nothing — only the marks-stripped form (bonus) was indexed. Both spellings are now indexed.

Regression coverage

scripts/test_dictionary.py gained checks for the degree-splitting behavior (summary line, gender-split tables, synthetic entry backlinks, suppletive-irregular handling, search-index ownership) and for the diacritic-indexing fix.

Full Changelog: v1.4.0...v1.4.1

v1.4.0 - Döderlein Synonyms, Fresh-Install Verification

Choose a tag to compare

@Josolon Josolon released this 09 Jul 10:18

A third synonym source, plus reliability work: an automated test suite and a genuine fresh-clone install verification that caught a real reproducibility bug.

New:

  • Döderlein's Hand-book of Latin Synonymes (tr. Arnold, 1874, public domain, Project Gutenberg) added as a third synonym source alongside Ramshorn and Spinelli-Fenzi — 549 articles giving an independent 19th-century treatment of the same synonym groups, often organized and phrased differently. E.g. tempus now shows all three sources' takes side by side.
  • scripts/test_dictionary.py: an automated regression suite (28 checks) covering XML validity and known-entry assertions — principal parts, subjunctive/imperative/gerundive, deponent citation forms, etymology, quoted-example splitting, domain badges, cross-reference styling, grammar entries, and all three synonym sources. Wired into install_dictionary.sh so it runs on every build.

Fixed:

  • Unstable Döderlein citation numbers. Verified via a genuine fresh-clone install test (not just re-running the same local build): two Gutenberg downloads of the same eBook, fetched months apart, differed by one article, because Gutenberg silently revises its transcriptions over time. Since Döderlein's original has no printed article numbers to begin with (unlike Ramshorn/A&G, which do), presenting a parse-order index as "Döderlein §145" implied a stable citation that wasn't actually stable or meaningful. Citations now just read "(Döderlein)".

Installation: unzip and drag LatinDictionary.dictionary into ~/Library/Dictionaries/, then enable "Latin (Lewis & Short)" in Dictionary.app Settings.

v1.3.0 - Etymology, Citations, Full Verb Morphology, Terminations

Choose a tag to compare

@Josolon Josolon released this 06 Jul 07:21

An audit of data already present in our sources but not yet surfaced, plus a real rendering bug fix.

New:

  • Etymology: L&S's <etym> markup (source root or foreign-language origin, e.g. abactor < [abigo]; Abaddir < [Heb. אָב אַדּיִרּ, mighty father]) is now bracketed and styled instead of unmarked plain text.
  • Quoted examples split into three parts: every <cit> (Latin example quote + English gloss + author/work reference) previously flattened into one undifferentiated grey blob now renders as italicized Latin, curly-quoted translation, and small grey reference, distinctly.
  • Subjunctive, imperative, and gerundive added to verb Morphology tables — present for ~80-86% of recognizable verbs in the underlying analyses, shown only where actually attested.
  • Ramshorn "Latin Terminations": 20 new reference entries recovered from ~3,000 lines of front matter (a guide to what Latin suffixes mean, e.g. -tas designates quality) that were previously skipped entirely — look up "Latin Terminations I" through "XXIV".
  • Cross-references styled: L&S's <xr>/<ref> markers (e.g. "v. supra/infra") render distinctly instead of flat text.

Fixed:

  • Allen & Greenough paradigm tables: 260 <table> elements (noun declension charts, sound-classification tables) had no rendering support and collapsed into unreadable run-on text. Now render as real HTML tables.

Installation: unzip and drag LatinDictionary.dictionary into ~/Library/Dictionaries/, then enable "Latin (Lewis & Short)" in Dictionary.app Settings.

v1.2.0 - Principal Parts

Choose a tag to compare

@Josolon Josolon released this 05 Jul 22:32

Adds the classic Latin verb citation form that was missing from the morphology section.

New:

  • Principal Parts callout: every verb entry now leads its Morphology section with the traditional 4-part citation form Latin is taught with — amo, amare, amavi, amatus — built from whichever of {1st sg. present indicative, present infinitive, 1st sg. perfect indicative, perfect passive participle} the Perseus/Morpheus analyses actually attest.
  • Deponent verbs get the correct 3-part form (e.g. sequor, sequi, secutus sum), detected from Lewis & Short's own part-of-speech tag — necessary because Morpheus tags deponent forms grammatically passive despite their active meaning, so voice alone can't distinguish them.
  • Intransitive verbs with no perfect passive participle (e.g. curro) fall back to the future active participle for the 4th part, the standard textbook substitute.
  • The existing full tense/voice indicative grid and infinitives table are unchanged — Principal Parts is a new highlighted line above them, not a replacement.

Installation: unzip and drag LatinDictionary.dictionary into ~/Library/Dictionaries/, then enable "Latin (Lewis & Short)" in Dictionary.app Settings.

v1.1.1 - Sense-Restart Divider Accuracy Fixes

Choose a tag to compare

@Josolon Josolon released this 05 Jul 22:23

Two accuracy fixes to the sense-group-restart divider introduced in v1.1.0.

Fixed:

  • Divider now sits at the actual transition, not one sense late. L&S introduces a derived headword mid-sense (e.g. amo's "—Hence, amans, antis, P. a."); the divider previously landed on the following restarted sense (the new "A") instead of at the real transition point. The sense's mixed content is now split precisely at "Hence," + the following <orth>, so the divider marks exactly where the derived word begins. Applies to 233 of 51,636 entries; the rest keep the general fallback marker.
  • Spurious dividers on ordinary multi-numeral entries eliminated. The restart detector never reset its per-depth tracking when a new top-level Roman numeral (I, II, III...) began, so numeral II's own first "A" often looked like a false restart relative to numeral I's leftover lettering — even though every multi-numeral L&S entry restarts its lettering under each numeral as completely normal structure. This was the dominant cause of "unexplained" restarts: total flagged restarts dropped from 2,177 to 359 dictionary-wide; cases with no detectable transition marker dropped from 1,949 to 192.

Installation: unzip and drag LatinDictionary.dictionary into ~/Library/Dictionaries/, then enable "Latin (Lewis & Short)" in Dictionary.app Settings.

v1.1.0 - Grammar Entries and Usage/Register Mining

Choose a tag to compare

@Josolon Josolon released this 05 Jul 21:57

Adds a grammar reference layer on top of v1.0.0's lexicon, and surfaces usage/register information that Lewis & Short already encodes but v1.0.0 rendered as flat text.

New:

  • 388 Allen & Greenough grammar entries, parsed from the original Perseus TEI-XML of A New Latin Grammar for Schools and Colleges (1903) — not the later Alpheios/DCC revision, which carries an incompatible CC BY-NC-SA restriction. Two granularities:
    • 335 section/subsection/subsubsection entries (broad topics, e.g. "The Locative Case")
    • 53 precisely named rules (e.g. "Ablative Absolute", "Hortatory Subjunctive", "Historical Present")
      Each is searchable by its topic name and by citation form ("AG 419", "A&G 419", "§419") — the way commentaries and footnotes actually reference this grammar.
  • Usage/register label mining: L&S's <usg> markup — previously flattened to plain text — now renders distinctly:
    • Technical-domain labels (Military/Medical/Mercantile/Political term) surface as small badges under the headword.
    • Rhetorical-style labels (Lit./Transf./Trop./Poet./Meton.) and inline case/mood/number abbreviations get their own inline styling.
  • Sense-cycle-restart divider: L&S frequently introduces a derived headword mid-entry (e.g. amo's "—Hence, amans, antis, P. a.") whose own senses reuse A, B, C at the same nesting level as the group they trail. A dashed divider now marks the restart so it doesn't read as a continuation of the prior lettered group.

Installation: unzip and drag LatinDictionary.dictionary into ~/Library/Dictionaries/, then enable "Latin (Lewis & Short)" in Dictionary.app Settings.

See README.md for build-from-source instructions and full data-source licensing.

v1.0.0 - Lewis & Short Latin Dictionary with Synonyms and Morphology

Choose a tag to compare

@Josolon Josolon released this 05 Jul 21:35

Initial release. Compiles the complete Lewis & Short Latin Dictionary (1879) into a native macOS Dictionary.app bundle, with always-visible Synonyms and Morphology sections on every applicable entry.

Features:

  • 51,636 unabridged Lewis & Short entries, from Perseus TEI-XML, with full sense hierarchy, overview boxes, and styled citations.
  • Synonyms & Near-Synonyms on 4,410 entries, combining:
    • Spinelli–Fenzi's First Online Dictionary of Latin Near-Synonyms (St Andrews, 2019) — compact near-synonym lists with declension/conjugation markup.
    • Ramshorn's Dictionary of Latin Synonymes (tr. Lieber, 1841) — 1,015 discussion articles distinguishing shades of meaning (e.g. amare vs. diligere).
  • Morphology tables on 33,914 entries: declension grids for nouns/adjectives, indicative (all six tenses, both voices) + infinitives for verbs, built from Perseus/Morpheus full-form analyses (392k forms, via Diogenes).
  • Inflected-form lookup: every attested form is indexed, so Look Up resolves amabant to amo, puellam to puella, etc. Orthographic variants (i/j, u/v) are indexed too.
  • Sense-cycle-restart divider: when L&S introduces a derived headword mid-entry (e.g. amo's "Hence, amans, antis, P. a.") and reuses A/B/C for its own senses, a visual divider marks the restart so it doesn't read as a continuation.

Installation: unzip and drag LatinDictionary.dictionary into ~/Library/Dictionaries/, then enable "Latin (Lewis & Short)" in Dictionary.app Settings.

See README.md for build-from-source instructions and full data-source licensing (Lewis & Short and morphology: CC BY-SA 4.0; Ramshorn: public domain; Spinelli–Fenzi: CC BY).