Nei giorni scorsi sul blog di html.it è apparso un articolo relativo proprio a questo argomento, la personalizzazione del dizionario di Firefox 2, con un link ad un interessante articolo in inglese.

Tutte le parole aggiunte dall’utente al dizionario (tasto destro sul lemma evidenziato -> Aggiungi al dizionario) vengono salvate in un file, persdict.dat, situato all’interno della cartella del profilo. Nonostante l’estensione .dat si tratta di un comune file di testo con una struttura semplicissima: un lemma per ogni riga.

Per l’utente questo significa che è possibile:

  • eliminare facilmente delle parole inserite per errore: basta modificare il file cancellando la riga sbagliata
  • scambiare il proprio dizionario personalizzato con altri utenti: basta scambiarsi il file e sostituire quello esistente
  • fare modifiche di massa: si apre il file persdict.dat e si inseriscono tutti i termini
  • integrare dizionari esistenti

Riguardo all’integrazione dei dizionari esistenti, nel tutorial viene indicato come aggiungere a Firefox il dizionario di Microsoft Word: basta copiare il contenuto del file “custom.dic” nel file persdict.dat

Anche gli utenti Mac possono integrare il dizionario personalizzato già in uso in Mac Os X: il file del dizionario si trova nel file ~\Libreria\Spelling\it (nel caso di dizionario inglese sarà “en”, “fr” per il francese, ecc. ecc.).
Piccolo problema: il dizionario di Firefox è un file di testo con una sola parola per riga, quello di Mac Os X usa un formato decisamente “strano”.

Alla fine con Google ho trovato questo script Perl che genera un file con il formato in questione. Premesso che non conosco assolutamente Perl, questo script creato con Google e un po’ di copia/incolla sembra funzionare:

#!/usr/bin/perl
$zerobyte = pack("B8", 0);
open (IN, "< it") || die "Impossibile aprire il file it\n\n";
open (OUT, "> persdict.dat") || die "Impossibile creare il file persdict.dat\n\n";
while ($r = <IN>) {
$r =~ s/$zerobyte/\n/g;
print OUT $r;
}
close(IN);
close(OUT);

Basta creare un file converti.pl con il codice indicato, copiare il file it (il file del dizionario) in una cartella insieme con lo script, da terminale posizionarsi nella cartella ed eseguire perl converti.pl: al termine dovrebbe apparire un file di testo (persdict.dat) correttamente formattato.


10 commenti/trackback a “Personalizzare il dizionario di Firefox 2”

  1. miki64 scrive:

    Avresti scommesso che il primo a postare su questo argomento sarei stato io, eh? 😉

    GRANDE! GRANDE! GRANDE!
    Questo tuo articolo è una miniera d’oro per me!
    GRAZIE! GRAZIE! GRAZIE!

    Riguardo all’integrazione dei dizionari esistenti, nel tutorial viene indicato come aggiungere a Firefox il dizionario di Microsoft Word: basta copiare il contenuto del file “custom.dic” nel file persdict.dat

    Utilissima davvero questa indicazione!

  2. M@htte0 scrive:

    @ miki64:

    guarda, bello, che io volevo metterlo anche nel topic sul forum di MI che riguarda le news dal web, ma non sapevo che PT avrebbe gradito, quindi mi sono astenuto

  3. gialloporpora scrive:

    Davvero interessante 😀
    A questo punto non serve più reimpacchettare i dizionari inglese ed italiano per avere uno spell check bilingue ma è sufficiente aggiungere il dizionario inglese al file .dat vero ?
    Solo una curiosità, nel file del dizionario inglese le parole sono (a volte) seguite da una / con poi delle sigle, per esempio:
    aberrant/YS
    meglio lasciarle o rimuoverle quando si aggiungono al file persdict.dat ?
    Ciao
    Sandro

  4. M@htte0 scrive:

    Ancora per miki: nella fretta, mi ero dimenticato lo smiley, ;), scusa

  5. flod scrive:

    @gialloporpora: anche il dizionario italiano contiene delle sigle

    Esempio:
    abaco/OTqr
    Abacuc
    abadessa/QTUqrs
    abalietà/TU
    abanese/S
    Abano/Tqr
    abarica/QTU
    abarico/OT
    abasia/QTU
    abate/STqr
    abatino/OTqr
    abatterica/QTUR
    abatterico/YTqr
    abazia/QTUq
    abbacchiamento/O

    Bisogna capire se mettendole nel file persdict.dat queste vengano prese come sono oppure interpretate (io opterei per la prima ipotesi).

    Ti basta fare una prova: metti eXtenZilla/S nel file e controlla se il dizionario riconosce eXtenZilla come errore oppure no 😉

    Io comunque non aggiungerei il dizionario inglese intero al file persdict.dat: non vorrei che questa operazione appesantisca il caricamento o crei problemi 😕

  6. flod scrive:

    @gialloporpora: prova a dare un’occhiata a questo wiki
    Dubito che abbia senso copiare anche i caratteri /xxx

  7. gialloporpora scrive:

    Grazie mille per il link ora ci dò un’occhiata 🙂
    Ho fatto le prove e con: extenzilla /S mi sottolinea extenzilla.
    Grazie
    Ciao
    Sandro

  8. prometeo scrive:

    A leggere il perl, non c’è niente di strano nel formato del dizionario di MacOS: ha solo un null byte () al posto di un a capo…(\n) 😛
    Come poi i due bestioni gestiscano abbreviazioni, desinenze e quant’altro, è tutto un altro paio di maniche… Ma non date la colpa allo script! 🙂

  9. prometeo scrive:

    Hai capito WP: uno slash seguito da uno 0 te li cancella per paura di un buffer overrun… 😉
    [vedi mio post precedente, con le parentesi aperte e chiuse senza nulla dentro]

  10. flod scrive:

    Non ti dico le parolacce sprecate per riuscire ad inserire lo script in quel post 🙁

    A leggere il perl, non c’è niente di strano nel formato del dizionario di MacOS: ha solo un null byte () al posto di un a capo…(\n) 😛

    In realtà l’ho definito strano perché con 4 editor diversi si vedono 4 cose diverse 😉

Trackback e pingback

  1. Nessun trackback o pingback disponibile per questo articolo

Non è possibile inserire nuovi commenti. I commenti vengono disattivati automaticamente dopo 60 giorni.