Il giorno mar, 14/05/2013 alle 22.54 +0200, Gollum1 ha scritto: > Il 14 maggio 2013 21:51, Pietro Battiston <m...@pietrobattiston.it> ha > scritto: > > > > Se stai chiedendo "come faccio a dire a gettext di guardare in una data > > cartella?", chiediti "chissà cosa fa la seguente riga di codice?" > > gettext.install( APP_NAME, 'locale' ) > > no, non sto chiedendo questo, questo l'ho capito... > > > Se stai chiedendo "come faccio a sapere qual'è la cartella in cui sono > > contenute le traduzioni", beh allora dipende da come hai disposto le > > cose _e_ da dove avvii il programma, ovviamente. Io di solito nei miei > > programmi metto un file tipo questo, perché funzionano sia quando > > installati che dalla cartella dei sorgenti: > > http://www.pietrobattiston.it/gitweb?p=gallery-uploader.git/.git;a=blob;f=galleryuploader_lib/config.py > > (ignora le righe da 28 a 68). > > Sì, è proprio questo che intendevo... ti ringrazio del tuo esempio... > > mi sono copiato le due parti che mi interessano, e poi me le studio > con più calma, anche se credo di aver capito come procedere... > > nel mio caso in cui la funzione che avvia la localizzazione si trova > in un modulo separato, e addiritura in una sua directory separata, > vuol dire che devo passare la directory del locale come argomento alla > funzione (visto che sono in due scope diversi, non hanno le stasse > variabili globali). >
Se ho capito quello che dici, non c'entrano gli scope: devi passare la directory del locale _comunque_ perché è quello che richiede la funzione locale.bindtextdomain(). > vedo che hai fatto una distinzione di due situazioni diverse, una per > quando stai sviluppando e una per quando la installi nel sistema. > > Io mi trovo e sto sviluppando per linux, i processi di installazione > sono fatti da uno script a parte? quindi in qualche modo sa dove > mettere i tuoi file, le tue librerie, i tuoi locales oppure ogniuno si > scrive il suo file di installazione (una sorta di makefile presumo) > dove decide a modo suo dove mettere le cose? nel primo caso, una volta > scritto il programma, è indipendente dal sistema, se l'installazione è > demandato ad un installatore standard, a cui passi solo alcuni > parametri, nel secondo caso, devi scrivere il tuo script di > installazione per ogni situazione e/o sistema operativo... > > bhe... ora sto forse divagando un po' troppo... per ora mi accontento > di sistema il locale, in modo che possa funzionare in tutte le > situazioni dei miei programmini. Non so dirti quanto siano lecite le mie assunzioni. Io controllo in [sys.prefix, path.join( sys.prefix, 'local' )] più la cartella corrente, e mi è sempre bastato. La "sorta di makefile" di solito si chiama setup.py, e sì, standardizza parecchio l'installazione. Ciò detto, non credo proprio che il mio config.py funzionerebbe sotto Windows, neanche con un'installazione standard. Però non dovrebbe essere complicato adattarlo. N.B: la ricerca della cartella "stuff" invece è una convenzione puramente mia. In generale, non ti aspettare dal mio codice niente di più di un "works for me". L'ho fatto sempre rispondendo a tre soli criteri: 1) gira dalla cartella sorgente 2) gira sotto Linux dopo il classico "python setup.py install" 3) gira quando installato come pacchetto Debian. Forse ci sono soluzioni più pulite. ciao Pietro _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python