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:
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/BTvti0P2Agli esempi:
http://pastebin.com/w1pHY7CTE al file di linguaggio necesario agli esempi:
http://pastebin.com/GvtiDjT3Ditemi che ne pensate e se sono stato oscuro in alcune spiegazioni xD
Saluti.