Questo spazio verrá prevalentemente utilizzato per condividere alcune informazioni e piccoli programmi che mi piace sviluppare nel tempo libero. L'argomento principale sono i sistemi operativi posix compliant tipo GNU/Linux. Spero che quello che trovate vi sia utile come lo é per me.
Read in English

Dizionari Babylon con un unico script.

Rileggendo la guida sui dizionari babylon scritta precedentemente mi sono accorto che in effetti é un po lunga e macchinosa.

AGGIORNAMENTO: visto che adesso non é piú possibile scaricare il file BGL direttamente, ma viene scaricato un eseguibile, ho apportato una piccola modifica (suggerita da un lettore) agli scripts. Per distinguerli dai precedenti ho aumentato il numero di versione, che adesso é la 0.2.

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.2

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.2

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.2

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 under:Dictionaries

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

  • Ubuntu - Traduttore (come Babylon) per Linux « Dott104 - Vuoto a perdere Says:

    [...] (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 [...]

  • finferflu Says:

    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.

  • Giuseppe Benigno Says:

    @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.

  • lollo78 Says:

    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

  • Giuseppe Benigno Says:

    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

  • lIs Says:

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

    Grazie mille !

  • Stefano Says:

    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

  • Giuseppe Benigno Says:

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

  • Giuseppe Benigno Says:

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

  • Antonio Says:

    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.

  • Giuseppe Benigno Says:

    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

  • Traduttore lingue per ubuntu « Servizieinformatica Says:

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

  • Marcio Wesley Borges Says:

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

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

  • Gnuton Says:

    Grandissimooo! Vista comunque la legalita di tutti i programmi utilizzati e dei link, (non so se e’ legale la conversione.. ma quella avviene lato utente! percui le responsabilita’ son sue) perche nn fare un pacchetto debian per sta roba? Sai che utilita?
    il .install installa gli eseguibili se richiesti e il .postinstall avvia la procedura.

    Saluti
    Antonio

  • Giuseppe Benigno Says:

    ciao grazie,
    il post é piuttosto vecchio comunque io i dizionari li avevo fatti e messi in un mio repository locale. Mi ricordo anche che tempo dopo li avevo visti giá pronti da scaricare su sourceforge.net, quindi era inutile fare un pacchetto per lo scriptino.

    Ne avevo approfittato anche per farmi il dizionario del paravia. In pratica lo scriptino scaricava tutte le 160000 pagine e dopo diverse elaborazioni mi faceva il dizionario per stardict :-) purtroppo non posso distribuirlo … 8-|

    Bye

  • Dave Says:

    Ciao, per prima cosa debbo dire ottimo lavoro….è grazie a chi si impegna gratuitamente come hai fatto tu a risolvere tanti piccoli e grandi problemi che è sempre più facile avvicinarsi a linux. Ora segnalo il mio problema. Ho installato stardict, dictzip e il dictcon modificato, scaricato lo script che parte tranquillamente e scarica i dizionari che sono tutti file .exe, crea la cartella stardict ma l’interno è vuoto. Dov’è il mio errore? Grazie.

  • edo Says:

    Ciao, già anni fa avevo già utilizzato i tuoi script e si erano rilevati comodissimi.
    In questi giorni li ho riutilizati e ho scoperto un piccolo problemino:
    durante il download dei dizionari non vengono più scaricati dei file .BGL ma dei file .EXE (in questo caso sono archivi autoestraenti).
    Dagli exe si può estrarre il file con questo comando:
    unzip NomeDelDizionario.exe \*.BGL

  • Giuseppe Benigno Says:

    @all

    In questo periodo sono un po indaffarato ma cercheró di trovare 5 minuti per verificare e correggere gli script.

    Grazie a tutti

  • egregorion(dot)net » Blog Archive » Aggiornato “Dizionari babylon con un unico script” Says:

    [...] Ho aggiornato il vecchio post per i dizionari babylon: Dizionari babylon con un unico script. [...]

Leave a Reply