[pyar] Gettext y threads

marrese en gmail.com marrese en gmail.com
Jue Ene 27 15:48:57 ART 2011


Gente,

Como no muchos saben, yo vengo del tenebroso mundo de PHP en donde
todo empieza y termina con los request (en caso de la web). Ahora
estoy laburando con tornado y con aplicaciones que quedan vivas todo
el tiempo posible y me cruze con un problema (en realidad no me di
cuenta cuando lo desarrolle) relacionado con gettext .

Tengo que poder traducir resultados en mis handlers, para eso estoy
usando gettext.translation y gettext.install. Basicamente estoy
haciendo esto:

l = gettext.translation(domain=domain,
                            localedir=options.gettext_locale_dir,
                            languages=[lang])
l.install()

Eso funciona perfecto hasta que arranco otro thread, ya que install
instala la funcion _ en el namespace de python, con esto cuando llega
el segundo request y el primero sigue procesandose, vuelvo a hacer un
install y a cambiar la funcion _. Como los request que me lanzan los
threads no estan relacionados, no hay forma de garantizar que el
idioma no cambie.

No se si hasta ahora me explico, o si estoy entendiendo todo mal.

Lo que quiero saber es si hay alguna manera estandar o alguna
recomendacion para manejar este tipo de situacion ?
Hasta ahora las soluciones que estan apareciendo son las de pasar el
idioma (el 'es_AR' o 'en_US') para todos lados, o incluso la instancia
(del ejemplo l). Esto lo probe y anda, pero como dije quiero primero
ver si hay alguna otra alternativa.


Gracias,
Martin


-- 
Martín

http://www.kyheo.com.ar / http://blog.kyheo.com.ar
GTalk: marrese en gmail.com



More information about the pyar mailing list