[LIBRERIA] translang

« Older   Newer »
  Share  
I.Ren
CAT_IMG Posted on 25/8/2011, 23:24     +1   -1




Saluti.



Oggi ho creato una libreria per la facile traduzione nella varie lingue di un nostro script python, si anche cambiare in tempo reale, ossia rendere effettivi i cambiamenti senza dover riavviare lo script.

Si basa su uno o più file di configurazione (dipende quante lingue si vuole aggiungere) che di solito si chiama da_lingua-a_lingua.lang quindi ad esempio en-it.lang.

La loro sintassi è la seguente:

- // per commentare
- vengono ignorate tutte le linee i cui primi 6 caratteri sono diversi da _oldmsg e _newmsg
- in _oldmsg ci deve stare la linea che volete cambiare e in _newmsg come la volete cambiare

esempio di file (è anche quello usato negli esempi):

CODICE
// Traduzione: inglese-italiano
// Script: t_script.py
// Autore: I.Ren
// Visita: http://autoit.forumcommunity.net

_oldmsg = "Questo testo e' stato tradotto."
_newmsg = "This text was translated"

_oldmsg = "Esempio con raw_input: "
_newmsg = "Example with raw_input: "

_oldmsg = "concatenazione"
_newmsg = "concatenation"
_oldmsg = "Questo e' un esempio di "
_newmsg = "This is an example of "
_oldmsg = "E questo di "
_newmsg = "And this is another example of "
_oldmsg = "multipla"
_newmsg = "multiple"

_oldmsg = "Tradotto in inglese"
_newmsg = "Translated in english"


La libreria viene richiamata con:

CODICE
import translang


Poi si struttura così:

CODICE
variabile_inzializzatrice = translang.translang("file_di_lingua",modalita)
print variabile_inizalizzatrice.translate("Questo testo sarà tradotto")


Modalità può assumere valori di 1 o 2. 1 quando _oldmsg e _newmsg verranno usati così come sono, 2 quando _newmsg e _oldmsg si scambieranno (utile per passare da italiano a inglese e viceversa, ad esempio)

Suggerisco, tuttavia, di utilizzare questa forma per risparmiare millanta anni di tempo, così sostutisce variabile_inizalizzatrice.translate a _

CODICE
_ = variabile_inizalizzatrice.translate


di conseguenza il codice di prima diventa:

CODICE
print _("Questo testo sarà tradotto")


Vi lascio alla libreria: http://pastebin.com/BTvti0P2
Agli esempi: http://pastebin.com/w1pHY7CT
E al file di linguaggio necesario agli esempi: http://pastebin.com/GvtiDjT3

Ditemi che ne pensate e se sono stato oscuro in alcune spiegazioni xD

Saluti.
 
Top
LoGiX
CAT_IMG Posted on 25/8/2011, 23:56     +1   -1




Complimentissimentoni :)
Ottima libreria :D
 
Top
-AsCiA-
CAT_IMG Posted on 26/8/2011, 00:57     +1   -1




piu' che ottima libreria :D
complimenti
 
Top
I.Ren
CAT_IMG Posted on 26/8/2011, 10:04     +1   -1




Grazie ad entrambi : D
 
Top
I.Ren
CAT_IMG Posted on 26/8/2011, 22:53     +1   -1




Dopo o domani scrivo per bene la documentazione, ora sto facendo un utiliy per velocizzare la creazione del file .lang che se fatta a mano è lenta.
 
Top
4 replies since 25/8/2011, 23:24   63 views
  Share