Praktische woordenboek-gids
Je eigen woordenboek importeren in Lectern
Lectern heeft een volledige Engelse WordNet-database aan boord voor opzoeken met ingedrukt houden. Wil je een ánder woordenboek — een historisch, een vakwoordenlijst, of een taal die Lectern niet meelevert — dan zet je het om naar één JSON-bestand en importeer je het. Alles blijft op je toestel.
Kort antwoord
Maak een JSON-bestand zoals het voorbeeld hieronder, zet het ergens op je telefoon en open dan Instellingen → Woordenboek & catalogi → Woordenboek-bestand importeren. Woorden die jouw bestand kent worden getoond in plaats van de ingebouwde definitie; woorden die het niet kent vallen nog steeds terug op WordNet.
Wat er standaard al in zit
Houd een woord ingedrukt tijdens het lezen en Lectern toont een definitie zonder de pagina te verlaten of online te gaan. Voor Engels gebruikt hij Open English WordNet, meegeleverd in de app: zo'n 152 000 woorden, met betekenissen, voorbeelden en synoniemen. Dat dekt gewoon lezen prima, dus importeer een woordenboek wanneer je iets wilt wat WordNet niet kan geven:
- Een historisch woordenboek waarvan de definities bij de tijd van je boeken passen.
- Een vakwoordenlijst — juridisch, medisch, nautisch, een fandom-wiki.
- Een woordenboek in een andere taal, of een tweetalig woordenboek dat naar jouw taal vertaalt.
Het bestandsformaat
Eén JSON-bestand, lectern-dict-v1 genaamd. Dit is het hele formaat:
{
"format": "lectern-dict-v1",
"language": "en",
"name": "Webster's 1913",
"entries": {
"abate": { "pos": "verb", "def": "Become less intense or widespread." },
"aberration": { "pos": "noun", "def": "A departure from the norm." }
}
}
| Veld | Verplicht | Wat het doet |
|---|---|---|
format | Nee | Moet met lectern-dict beginnen als het aanwezig is. Al het andere wordt geweigerd. |
language | Aanbevolen | De basistaalcode (en, nl, de…) waarvoor dit woordenboek geldt. Dit bepaalt welke boeken het gebruiken. Ontbreekt het of klopt het niet, dan valt hij terug op en. |
name | Nee | Staat onder het aantal woorden in Instellingen, zodat je ziet welk bestand geladen is. |
entries | Ja | Woord → { pos, def }. Een lege entries wordt geweigerd. |
Zet je sleutels in kleine letters. Het woord dat je ingedrukt houdt gaat naar kleine letters vóór het opzoeken, maar de sleutels in jouw bestand worden precies zo gebruikt als ze er staan. Een sleutel "Aberration" wordt dus nooit gevonden. Onbekende velden bovenaan worden genegeerd, dus een licence- of version-veld uit je bron mag rustig blijven staan.
Waar je een echt woordenboek haalt
| Bron | Omvang | Licentie |
|---|---|---|
| Webster's 1913 | ~102 000 ingangen, elk één lange definitie | Publiek domein |
| Wiktionary-exports (kaikki.org) | Honderdduizenden, de meeste talen | CC BY-SA |
| Je eigen woordenlijst | Zoveel als je zelf schrijft | Van jou |
Het makkelijkste beginpunt is het publieke-domein Webster's 1913, gepubliceerd als één woord → definitie JSON-bestand in de repository matthewreagan/WebstersEnglishDictionary.
Omzetten met één commando
Sla dit op als convert.py. Het zet elke platte { "woord": "definitie" }-JSON om naar het Lectern-formaat, met kleine letters voor de sleutels en witruimte netjes samengevouwen.
import json, sys, re
src = json.load(open(sys.argv[1]))
out = {
"format": "lectern-dict-v1",
"language": "en",
"name": "Webster's 1913",
"entries": {
w.strip().lower(): {"pos": "", "def": re.sub(r"\s+", " ", d).strip()}
for w, d in src.items() if d.strip()
},
}
json.dump(out, open(sys.argv[2], "w"), ensure_ascii=False, separators=(",", ":"))
Draai het daarna en kopieer het resultaat naar je telefoon:
python3 convert.py webster.json lectern-en-webster.json
Dat levert een bestand van 24 MB met 102 217 ingangen. Lectern leest het in een paar seconden en houdt het in geheugen, dus deze omvang is comfortabel. Veel grotere bestanden werken ook, maar kosten meer geheugen op oudere telefoons — heeft je bron honderdduizenden ingangen, filter dan eerst.
Importeren in Lectern
- Zet het bestand op je telefoon. Downloads, Drive, een usb-kabel — overal waar de Android-bestandskiezer bij kan.
- Open Instellingen. Tik onderin op Instellingen en open dan het onderdeel Woordenboek & catalogi.
- Tik op “Woordenboek-bestand importeren”. Kies je JSON in de bestandskiezer. Tijdens het inlezen staat er “Woordenboek inlezen…”.
- Controleer de statusregel. Daar hoort iets te staan als “102217 woorden geladen · geïmporteerd bestand”, met je
name-veld eronder. - Open een boek en houd een woord ingedrukt. De popup toont nu jouw definitie, met het label Geïmporteerd woordenboek.
Terug naar de standaard? Tik op Gebruik ingebouwd. Dat verwijdert élk geïmporteerd woordenboek en zet de meegeleverde terug.
Woordenboeken voor andere talen
Er is maar één importknop, en die werkt voor elke taal. Het veld language in je JSON bepaalt waar het bestand terechtkomt, dus een Nederlands woordenboek heeft "language": "nl" nodig. Lectern gebruikt het dan bij boeken die hij als Nederlands herkent en laat je Engelse opzoekingen met rust. Je kunt per taal één geïmporteerd woordenboek bewaren.
De taal wordt op de basiscode gematcht, dus een boek met en-GB of en-US — gebruikelijk bij Project Gutenberg en Standard Ebooks — gebruikt gewoon je en-woordenboek.
De bekende problemen oplossen
“Kon het bestand niet lezen”
Het bestand is geen geldige JSON, de format is geen lectern-dict-waarde, of entries is leeg. Controleer eerst de JSON; een converter die op een tekenset-fout stuit schrijft vaak een half bestand.
De import lukte, maar woorden worden niet gevonden
Bijna altijd hoofdletters: je sleutels moeten in kleine letters staan. Kijk in een teksteditor of er "abate" staat en niet "Abate".
Mijn woordenboek wordt in één boek genegeerd
Lectern kiest het woordenboek op basis van de taal van het boek. Open het detailscherm van het boek om te zien welke taal hij herkend heeft, en zet het language-veld van je woordenboek daarop.
De definities zijn enorm
Historische woordenboeken proppen vaak alle betekenissen in één alinea. De popup scrollt, maar wil je liever korte ingangen, kort def dan in de converter af voordat je het bestand schrijft.
Vragen over woordenboek-import
Gaat er iets online bij het importeren van een woordenboek?
Nee. Het bestand wordt naar Lecterns eigen opslag op je toestel gekopieerd en daar vandaan gelezen. Lecterns leesfuncties werken volledig offline.
Vervangt mijn woordenboek WordNet helemaal?
Nee. Jouw bestand wint voor elk woord dat erin staat. Woorden die er niet in staan vallen terug op de ingebouwde WordNet, dus importeren kan de dekking alleen groter maken.
Kan ik meerdere woordenboeken tegelijk importeren?
Eén per taal. Een tweede Engels woordenboek vervangt het eerste; een Nederlands woordenboek staat gewoon naast je Engelse.
Hoe groot mag het bestand zijn?
Een bestand van 24 MB met zo'n 100 000 ingangen importeert in seconden en draait prima. Daarboven is het geheugengebruik op oudere toestellen de grens, niet een harde limiet.
Kan ik een StarDict- of DSL-woordenboek gebruiken?
Niet rechtstreeks — Lectern leest alleen lectern-dict-v1-JSON. De meeste formaten laten zich met een kort script omzetten, en de converter hierboven is een werkend beginpunt.
Lees verder
Meer over woorden tijdens het lezen
Jouw woorden, jouw woordenboek
Eén keer importeren, daarna elk woord opzoeken zonder de pagina te verlaten of online te gaan.
Nu opGoogle Play