Guida pratica al dizionario

Importare il proprio dizionario in Lectern

Lectern include un database WordNet inglese completo per la ricerca con pressione prolungata. Se vuoi un dizionario diverso — storico, specialistico o in una lingua che Lectern non include — convertilo in un file JSON e importalo. Tutto resta sul tuo dispositivo.

La risposta breve

Crea un file JSON come l'esempio qui sotto, salvalo ovunque sul telefono, poi apri Impostazioni → Dizionario e cataloghi → Importa file dizionario. Le parole che il tuo file conosce sostituiscono la definizione integrata; quelle che non conosce ricadono comunque su WordNet.

Cosa c'è già di serie

Tieni premuta una parola mentre leggi e Lectern mostra una definizione senza lasciare la pagina né andare online. Per l'inglese usa Open English WordNet, incluso nell'app: circa 152 000 parole, con significati, esempi e sinonimi. Copre bene la lettura normale, quindi importa un dizionario quando ti serve qualcosa che WordNet non dà:

  • Un dizionario storico le cui definizioni corrispondono all'epoca dei tuoi libri.
  • Un glossario specialistico — giuridico, medico, nautico, un wiki di fandom.
  • Un dizionario in un'altra lingua, o bilingue verso la tua.

Il formato del file

Un file JSON, chiamato lectern-dict-v1. Il formato completo è questo:

{
  "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." }
  }
}
CampoObbligatorioA cosa serve
formatNoSe presente deve iniziare con lectern-dict. Qualsiasi altro valore viene rifiutato.
languageConsigliatoIl codice di lingua base (en, nl, it…) a cui si applica il dizionario. Decide quali libri lo usano. Se manca o non è valido si ricade su en.
nameNoCompare sotto il conteggio delle parole nelle Impostazioni, così sai quale file è caricato.
entriesParola → { pos, def }. Un oggetto entries vuoto viene rifiutato.

Scrivi le chiavi in minuscolo. La parola che tieni premuta viene messa in minuscolo prima della ricerca, ma le chiavi del tuo file sono usate esattamente come sono scritte. Una chiave "Aberration" non verrà mai trovata. I campi sconosciuti di primo livello sono ignorati, quindi un campo licence o version della tua fonte può restare.

Dove trovare un dizionario vero

FonteDimensioneLicenza
Webster's 1913~102 000 voci, una definizione lunga ciascunaPubblico dominio
Estratti di Wikizionario (kaikki.org)Centinaia di migliaia, quasi tutte le lingueCC BY-SA
Il tuo glossarioQuante ne scrivi tuTua

Il punto di partenza più semplice è il Webster's 1913 di pubblico dominio, pubblicato come singolo JSON parola → definizione nel repository matthewreagan/WebstersEnglishDictionary.

Convertirlo con un comando

Salva questo come convert.py. Trasforma qualunque JSON piatto { "parola": "definizione" } nel formato Lectern, mettendo le chiavi in minuscolo e normalizzando gli spazi.

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=(",", ":"))

Poi eseguilo e copia il risultato sul telefono:

python3 convert.py webster.json lectern-en-webster.json

Ne esce un file da 24 MB con 102 217 voci. Lectern lo legge in pochi secondi e lo tiene in memoria, quindi questa dimensione è comoda. File molto più grandi funzionano lo stesso ma consumano più memoria sui telefoni vecchi: se la tua fonte ha centinaia di migliaia di voci, filtrala prima.

Importarlo in Lectern

  1. Metti il file sul telefono. Download, Drive, un cavo USB — ovunque il selettore file di Android possa arrivare.
  2. Apri le Impostazioni. Tocca Impostazioni nella barra in basso, poi apri la sezione Dizionario e cataloghi.
  3. Tocca «Importa file dizionario». Scegli il tuo JSON. Durante la lettura la riga mostra «Lettura del dizionario…».
  4. Controlla la riga di stato. Dovrebbe dire qualcosa come «102217 parole caricate · file importato», con il tuo campo name sotto.
  5. Apri un libro e tieni premuta una parola. Ora il riquadro mostra la tua definizione, etichettata Dizionario importato.
Impostazioni di Lectern con 102217 parole caricate da un file importato chiamato Webster's 1913
La riga di stato dice esattamente quale dizionario è attivo e quante parole contiene.
Lettore Lectern con un riquadro che mostra la definizione di dusk secondo il Webster's 1913
Tieni premuta una parola: la definizione arriva dal tuo file, e Lectern lo dichiara.

Per tornare indietro, tocca Usa integrato. Rimuove ogni dizionario importato e ripristina quelli inclusi.

Dizionari per altre lingue

C'è un solo pulsante di importazione e vale per ogni lingua. È il campo language dentro il tuo JSON a decidere dove finisce il file: un dizionario italiano ha bisogno di "language": "it". Lectern lo userà per i libri che riconosce come italiani, lasciando in pace le ricerche in inglese. Puoi tenere un dizionario importato per lingua.

Il confronto avviene sul codice base, quindi un libro marcato en-GB o en-US — comune in Project Gutenberg e Standard Ebooks — usa il tuo dizionario en.

Risolvere i problemi più comuni

«Impossibile leggere il file»

Il file non è JSON valido, il suo format non è un valore lectern-dict, oppure entries è vuoto. Valida prima il JSON: un convertitore che incappa in un errore di codifica spesso scrive un file troncato.

L'importazione è riuscita ma le parole non si trovano

Quasi sempre è questione di maiuscole: le chiavi devono essere minuscole. Verifica in un editor che nel file ci sia "abate" e non "Abate".

Il mio dizionario viene ignorato in un libro

Lectern sceglie il dizionario in base alla lingua del libro. Apri la scheda del libro per vedere quale lingua ha riconosciuto e imposta il campo language del tuo dizionario di conseguenza.

Le definizioni sono enormi

I dizionari storici spesso comprimono ogni significato in un unico paragrafo. Il riquadro scorre, ma se preferisci voci brevi accorcia def nel convertitore prima di scrivere il file.

Domande sull'importazione del dizionario

Importare un dizionario manda qualcosa online?

No. Il file viene copiato nell'archivio privato di Lectern sul tuo dispositivo e letto da lì. Le funzioni di lettura di Lectern funzionano completamente offline.

Il mio dizionario sostituisce del tutto WordNet?

No. Il tuo file vince per ogni parola che contiene. Le parole che non contiene ricadono sul WordNet integrato, quindi importare può solo aumentare la copertura.

Posso importare più dizionari insieme?

Uno per lingua. Un secondo dizionario inglese sostituisce il primo; uno italiano convive con quello inglese.

Quanto può essere grande il file?

Un file da 24 MB con circa 100 000 voci si importa in pochi secondi e funziona bene. Oltre, il limite è la memoria dei dispositivi più vecchi, non un tetto fisso.

Posso usare un dizionario StarDict o DSL?

Non direttamente — Lectern legge solo JSON lectern-dict-v1. Quasi tutti i formati si convertono con uno script breve, e il convertitore qui sopra è un punto di partenza funzionante.

Le tue parole, il tuo dizionario

Importa una volta, poi cerca qualsiasi parola senza lasciare la pagina né andare online.

Disponibile suGoogle Play