Dizionari Babylon con un unico script.

Giuseppe Benigno on Jul 21st 2007

Rileggendo la guida sui dizionari babylon scritta precedentemente mi sono accorto che in effetti è un po lunga e macchinosa.
Questa volta, per facilitare la creazione dei dizionari, potete scaricare uno script che fa tutto quello che avevo descritto la volta scorsa:

  1. scarica alcuni dizionari dal sito di babylon
  2. converte i dizionari in formato testo
  3. salva le informazioni del dizionario
  4. apporta le dovute modifiche ad ogni file
  5. converte in formato stardict (con “dictzip” i file verranno compressi)
  6. modifica i vari .ifo aggiungento le informazioni salvate al passo 3

Dizionari scaricati da ognuno degli script:
- “Nomi Propri di Persona”
- “Tavola Periodica degli Elementi”
- “Babylon Italian-English”
- “ADO’s ITALIENISCH-DEUTSCH WÖRTERBUCH”
- “English-Italian Online Dictionaries”
- “Babylon English-Italian”
- “Deutsch-Italienisch”
- “Babylon English-English”
- “Babylon English-German”
- “Babylon German-English”

Se ne volete altri o eliminarne qualcuno dalla lista, basta che modifichiate lo scrip.

Software richiesto

Dovete avere installato sul vostro sistema due programmi:

  • dictconv
  • dictzip

usando *buntu li avrete già nei repository. Basta dare in shell “sudo apt-get install dictconv dictzip”

Sarebbe meglio usare la versione di dictconv modificata da mattneri (http://mattneri.altervista.org/?p=29).

Descrivo brevemente gli script da scaricare.

babylon2plaintext2stardict V. 0.1

Questo script scarica i dizionari, li converte in formato plaintext, li modifica e li converte nel formato stardict.
Per fare questo, ho dovuto inserire anche il binario di tabfile, che si trova nei sorgenti di stardict-tools http://stardict.sourceforge.net/.
Chi vuole può scaricare i sorgenti e compilare personalmente il software.

babylon2stardict V. 0.1

La differenza fra il precedente e questo è che non facciamo la conversione intermedia, quella in plaintext, perchè usiamo il “dictconv” modificato di mattneri.
Questo è utile se avete installato il software “dictconv” fixato da mattneri. Ho preferito fare entrambi gli script poichè non tutti hanno installato la versione fixata.

babylon2dictd V. 0.1

Ultimo ma non ultimo, questo script consente di fare le cose del secondo, ma il formato di destinazione è il dictd.
Ho fatto questo script dopo aver visto che sia Stardict che ktranslator, richiedevano risorse non indifferenti per mantenere in memoria i dizionari.
Avendo circa 100Mb di dizionari, i software sopracitati occupavano sui 130Mb di memoria ram. Questo non va affatto bene.
Ktranslator, dovrebbe supprtare il dictd nelle future versioni. Stardict non so.
Dictd, usa un modo originale per indicizzare i dizionari che gli permette di occupare 1/6 della memoria occupata dagli altri programmi.
Non avendo molta memoria, ho trovato molto utile questa caratteristica di dictd.
Sia KDE che GNOME, hanno delle applet per interrogare il vostro server dictd. Una volta avviate non dovete far altro che cambiare il server delle interrogazione da “dict.org” a “localhost”
Nello script ho dato per scontato che usiate il dictconv modificato.
Se usate debian o *buntu avrete dictd già installato.

Operazioni da eseguire, valide per tutti gli script:
scaricate lo script che vi interessa.
scompattatelo in una directory a piacere e aprite una shell in questa directory.
eseguite lo script con “./$NOME_SCRIPT”
aspettate un minuto circa (il computer di mio cugggino fa tutto in 4 secondi)
copiate/spostate la sottocartella creata dallo script in “/usr/local/share”.

Ulteriori dettagli:
Stardict
Per un’installazione di sistema basterà creare un collegamento della directory “/usr/local/share/stardict” in “/usr/share/stardict/dic”.
Per un’installazione locale potete creare il collegamento in “~/.stardict/dic”
Riavviate Stardict.

Ktranslator
Non è molto comodo, ma dovrete aggiungere i dizionari uno ad uno tramite la finestra di dialogo che vi propone Ktranslator.

dictd
Dovrete modificare il file /etc/dictd/dictd.conf ed aggiungere la seguente riga:
include /usr/local/share/dictd/db.list
riavviate dictd con “sudo /etc/init.d/dictd restart” (sudo serve se usate *buntu, altrimenti riavviate il servizio da root)

Conclusione
Adesso avete a disposizione, con una sola linea di comando, molti dizionari.
Se doveste avere problemi con altri dizionari non in elenco, contattatemi.

Voglio ringraziare mattneri (http://mattneri.altervista.org) che si sta impegnando a modificare il sorgente di “dictconv” per risolvere problemi di conversione da un formato all’altro.

Saluti

Filed in nix | 13 responses so far

13 Responses to “Dizionari Babylon con un unico script.”

  1. Ubuntu - Traduttore (come Babylon) per Linux « Dott104 - Vuoto a perdere Jul 21st 2007 at 08:41 am 1

    […] (21/07/2007) come da commento vi riporto il link al post in cui si fa uso di un semplice script per fare tutto il […]

  2. finferflu Aug 2nd 2007 at 11:54 am 2

    Allora:
    ./babylon2plaintext2stardict.sh: line 74: ../tabfile: No such file or directory

    Pare ci sia qualche problemino… La mia riga 74 non corrisponde a quella dello script orginale dato che ho cancellato qualche dizionario da scaricare, quindi te la incollo:

    ../tabfile “${IN_FILE}”.dic >> ../tabfile.log

    con questo errore nella cartella stardict trovo solo file .ifo, quindi StarDict non mi riconosce i dizionari.

  3. Giuseppe Benigno Aug 2nd 2007 at 12:46 pm 3

    @finferflu
    > ./babylon2plaintext2stardict.sh: line 74: ../tabfile: No such file or directory
    Dall’errore si desume che lo script non trova il file “tabfile”
    La linea indicata è proprio quella in cui la shell incontra un errore.

    Dò per scontato che tu abbia modificato solo la parte dei dizionari da scaricare e che tu avvii lo script dalla cartella in cui si trova anche il file “tabfile” e che entrambi siano eseguibili.

    Confrontando la linea originale con quella che hai postato:
    ../tabfile "${IN_FILE}".dic >> ../tabfile.log
    ../tabfile “${IN_FILE}”.dic >> ../tabfile.log

    noto una differenza negli apici doppi, non so se dipende da wordpress ma dagli una controllata, forse quando hai modificato lo script hai sostituito quegli apici? Molto probabilmente è un problema di wordpress e non tuo.

    Dopotutto puoi scaricare i dizionari BGL che ti interessano e poi, commentando alla fine dello script il richiamo alla funzione “FetchDictionaries”, avviare lo script. In questo modo non devi attendere ogni volta la fase di download.

  4. lollo78 Aug 7th 2007 at 09:42 pm 4

    Ciao Giuseppe, ho letto con molta attenzione la tua favolosa guida.
    Ho optato per la soluzione del server dictd perché il mio notebook ha pochissima RAM (solo 256 MB).
    Ho seguito passo passo le tue indicazioni e tutto è filato liscio come l’olio (cartella /share/dictd creata con successo con il tuo script e dictconv di Mattneri - file dictd.conf opportunamente modificato).
    L’unico problema è che da bravo niubbo come sono ;P… ora non so come usare il tutto.
    Non esiste un frontend grafico per dictd?
    Nella guida parli di alcuni applet per KDE (uso Kubuntu feisty) che dovrebbero permettermi di interrogare il server dictd per tradurre le parole che mi servono. Puoi essere così gentile da dirmi dove posso trovarli? Aggiungere alla tua guida tali info dettagliate non può che impreziosirla ulteriormente.
    Eventualmente (non ho ben capito se funge), installando l’ultima versione di Ktranslator (la 0.4 dal repository di Trevino) dovrei riuscire a interfacciarmi al server dictd?
    Grazie
    Ciao

  5. Giuseppe Benigno Aug 8th 2007 at 02:20 pm 5

    ciao lollo78,
    ti rispondo per quello che ricordo poichè sono in un internet point e, cosa vergognosa, non hanno neanche una linuxbox :-)
    Per kde dovresti facilmente trovare una applet per dict, che si chiama “dizionario” o qualcosa del genere. La puoi aggiungere alla barra semplicemente cliccando col destro sulla stessa barra e poi su “aggiungi applet”. Fatto questo devi cambiare il server da interrogare, inserendo nell’apposito campo il tuo computer, cioè “localhost”.
    Per quanto riguarda ktranslator, non mi risulta che sia in grado, per il momento, di interrogare un server dictd.

    Spero che vada tutto a buon fine.

    Chiedo scusa in anticipo a tutti per il ritardo delle risposte che darò, ma in questo periodo non sono possibilitato a connettermi regolarmente.

    Saluti

  6. lIs Aug 15th 2007 at 12:25 pm 6

    guida eccezionale!
    È un gran merito addomesticare Linux per noi principianti.

    Grazie mille !

  7. Stefano Aug 19th 2007 at 09:00 am 7

    Io metterei un “wget -c” ad ogni occorrenza di wget. Riporto il man:
    … Continue getting a partially-downloaded file. This is useful when you want to finish up a download started by a previous instance of Wget

  8. Giuseppe Benigno Aug 24th 2007 at 07:33 pm 8

    @Stefano
    Hai ragione, ho scritto quegli script in fretta e furia e li modificherò in questi giorni.
    Grazie

  9. Giuseppe Benigno Aug 31st 2007 at 01:53 pm 9

    @tutti
    Ho apportato le modifiche suggerite da Stefano.
    Gli script hanno lo stesso nome.

  10. Antonio Oct 25th 2007 at 06:44 pm 10

    Premetto che non sono molto esperto:
    scaricato lo script fatto le modifiche per togliere dizionari che non interessano si fa un pò fatica a far partire il tutto non so perché… ma alla fine parte
    scarica i vocabolari, li converte poi però mi compare questa riga:
    create stardict dictionary “English_Italian”
    ../tabfile: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4′ not found (required by ../tabfile)

    ed alla fine nella dir stardict mi trovo solo i files
    *.ifo, niente dizionari…
    mi manca qualcosa?
    grazie.

  11. Giuseppe Benigno Oct 26th 2007 at 01:04 pm 11

    Ciao, in questo periodo non sono in italia e non posso connettermi spesso.

    Da quello che hai scritto la versione di tabfile che ho incluso nel pacchetto non e’ stata compilata per il tuo sistema.
    Che distribuzione usi? e quale versione?
    Non e’ difficile risolvere il problema, ma potro’ aiutarti non prima del fine settimana prox.

    Se nel frattempo mi rispondi io vedo di fare qualcosa anche qui.

    ciao

  12. Traduttore lingue per ubuntu « Servizieinformatica May 26th 2008 at 11:58 pm 12

    […] di riferimento www.egregorion.net mattneri.altervista.org Altro articolo mattneri.altervista.org naturalmente Stardict Qualora il […]

  13. Marcio Wesley Borges Jul 16th 2008 at 10:16 pm 13

    Putz! Corri muito até conseguir alguma solução… mas a sua funcionou!
    Grazie!

    Marcio Wesley Borges
    http://www.marciowb.net/blog/

Trackback URI | Comments RSS

Leave a Reply