<html><div style='background-color:'><DIV class=RTE>
<P><BR><BR></P></DIV>
<DIV></DIV>>From: python-es-request@aditel.org
<DIV></DIV>>Reply-To: python-es@aditel.org
<DIV></DIV>>To: python-es@aditel.org
<DIV></DIV>>Subject: Resumen de Python-es, Vol 261, Envío 6
<DIV></DIV>>Date: Sun, 11 Jan 2004 23:49:11 +0100 (CET)
<DIV></DIV>>
<DIV></DIV>>Envie los mensajes para la lista Python-es a
<DIV></DIV>> python-es@aditel.org
<DIV></DIV>>
<DIV></DIV>>Para subscribirse o anular su subscripción a través de WEB
<DIV></DIV>> http://listas.aditel.org/listinfo/python-es
<DIV></DIV>>
<DIV></DIV>>O por correo electrónico, enviando un mensaje con el texto "help" en
<DIV></DIV>>el asunto (subject) o en el cuerpo a:
<DIV></DIV>> python-es-request@aditel.org
<DIV></DIV>>
<DIV></DIV>>Puede contactar con el responsable de la lista escribiendo a:
<DIV></DIV>> python-es-owner@aditel.org
<DIV></DIV>>
<DIV></DIV>>Si responde a algún contenido de este mensaje, por favor, edite la
<DIV></DIV>>linea del asunto (subject) para que el texto sea mas especifico que:
<DIV></DIV>>"Re: Contents of Python-es digest...". Ademas, por favor, incluya en
<DIV></DIV>>la respuesta solo aquellas partes del mensaje a las que esta
<DIV></DIV>>respondiendo.
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>Asuntos del día:
<DIV></DIV>>
<DIV></DIV>> 1. Re: [Python-es]¿AlgunPythonsobre MS-DOS? (luis miguel morillas)
<DIV></DIV>> 2. Comentario en Barrapunto (Marcos Sánchez Provencio)
<DIV></DIV>> 3. Duda sobreimágenesen wxPython (TomásJavier Robles Prado)
<DIV></DIV>> 4. Dudas sobre manejo de TKinter (visualnex)
<DIV></DIV>> 5. Proteccion de codigo abierto en la emporesa (visualnex)
<DIV></DIV>> 6. RE: Proteccion de codigo abierto en la emporesa
<DIV></DIV>> (fernando miguel villarroel noriel)
<DIV></DIV>> 7. Internacionalizacion - dudas varias (Toni Martínez)
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>----------------------------------------------------------------------
<DIV></DIV>>
<DIV></DIV>>Message: 1
<DIV></DIV>>Date: Fri, 9 Jan 2004 22:58:24 +0100
<DIV></DIV>>From: luis miguel morillas <MORILLAS@POSTA.UNIZAR.ES>
<DIV></DIV>>Subject: Re: [Python-es]¿AlgunPythonsobre MS-DOS?
<DIV></DIV>>To: Jose Manuel <JMGA4@ERESMAS.COM>
<DIV></DIV>>Cc: python-es@aditel.org
<DIV></DIV>>Message-ID: <20040109215824.GA2532@marmota>
<DIV></DIV>>Content-Type: text/plain; charset=iso-8859-1
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>> Asunto: [Python-es] ¿AlgunPython sobre MS-DOS?
<DIV></DIV>> Fecha: vie, dic 26, 2003 at 04:32:15 +0100
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>Citando a Jose Manuel (jmga4@eresmas.com):
<DIV></DIV>> > He probado PythonD, y no me funciona, me da fallo por el tema de los
<DIV></DIV>> > archivos con nombres largos(supongo) me daba un fallo que no encontraba
<DIV></DIV>> > un archivo que no recuerdo el nombre, pero era un .zip .
<DIV></DIV>> >
<DIV></DIV>> > ??Alguna sugerencia?
<DIV></DIV>> > Por cierto, he seguido puesto SET PYTHONCASEOK=1 y sigue sin funcionar.
<DIV></DIV>> >
<DIV></DIV>>
<DIV></DIV>>Aquí tienes un link http://phd.pp.ru/Software/Python/py4dos.txt
<DIV></DIV>>Prueba y cuenta ;)
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>Un saludo.
<DIV></DIV>>
<DIV></DIV>>--
<DIV></DIV>>
<DIV></DIV>>Luis Miguel
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>------------------------------
<DIV></DIV>>
<DIV></DIV>>Message: 2
<DIV></DIV>>Date: Sat, 10 Jan 2004 12:44:36 +0100
<DIV></DIV>>From: Marcos Sánchez Provencio<RAPTO@ARRAKIS.ES>
<DIV></DIV>>Subject: [Python-es] Comentario en Barrapunto
<DIV></DIV>>To: La lista de python en castellano <PYTHON-ES@ADITEL.ORG>
<DIV></DIV>>Message-ID: <3FFFE5A4.9030302@arrakis.es>
<DIV></DIV>>Content-Type: text/plain; charset=ISO-8859-15; format=flowed
<DIV></DIV>>
<DIV></DIV>>http://barrapunto.com/article.pl?sid=04/01/10/1039204&mode=thread
<DIV></DIV>>
<DIV></DIV>>Sobre la comparativa entre lenguajes de programación que salió hace poco
<DIV></DIV>>en daily python url.
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>------------------------------
<DIV></DIV>>
<DIV></DIV>>Message: 3
<DIV></DIV>>Date: Sat, 10 Jan 2004 13:14:28 +0100
<DIV></DIV>>From: TomásJavier Robles Prado <TJAVIER@USUARIOS.RETECAL.ES>
<DIV></DIV>>Subject: [Python-es] Duda sobreimágenesen wxPython
<DIV></DIV>>To: Lista Python <PYTHON-ES@ADITEL.ORG>
<DIV></DIV>>Message-ID:
<DIV></DIV>> <1073736827.13600.33.camel@cable197a010.usuarios.retecal.es>
<DIV></DIV>>Content-Type: text/plain; charset=ISO-8859-15
<DIV></DIV>>
<DIV></DIV>>Hola a todos,
<DIV></DIV>>
<DIV></DIV>>Remito aquí una duda que me ha llegado:
<DIV></DIV>>
<DIV></DIV>>Soy estudiante de Ingenieria Informatica, y estoy desarrollando una
<DIV></DIV>>interfaz grafica en python con wxPython y wxGlade.
<DIV></DIV>>Puesto que he leido tu pagina, y la considero de gran interes y ayuda,
<DIV></DIV>>me
<DIV></DIV>>gustaria comentarte el problema con el q me enfrento, por si pudieses y
<DIV></DIV>>quisieras ayudarme.
<DIV></DIV>>
<DIV></DIV>>Lo q quiero hacer por ahora es un programa que lanze una ventana en la
<DIV></DIV>>cual se cargue una imagen. Bien, esto ya lo he hecho y funciona
<DIV></DIV>>persectamente, sin embargo, lo que no soy capaz es de hacer una funcion
<DIV></DIV>>q me devuelve las coordenadas del raton una vez pulsado el boton
<DIV></DIV>>izquierdo sobre dicha imagen.
<DIV></DIV>>
<DIV></DIV>>Resumiendo, tengo una ventana q carga una imagen, y una funcion q se
<DIV></DIV>>ejecuta cada vez q se pulsa el boton izquierdo sobre dicha imagen (el
<DIV></DIV>>evento funciona), pero no se que código debo meter dentro de dicha
<DIV></DIV>>funcion para q me imprima en pantalla las coordenadas.
<DIV></DIV>>
<DIV></DIV>>He probado a usar la funcion mouse_estate() y getsyx(), pero no se si
<DIV></DIV>>sirve para lo q quiero, o ne se usarla.
<DIV></DIV>>
<DIV></DIV>>Te agradeceria, si es posible, me comentases que funciones debo usar, o
<DIV></DIV>>me enviases un ejemplo de codigo.
<DIV></DIV>>
<DIV></DIV>>Muchas gracias, y un saludo
<DIV></DIV>> Alberto
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>A ver si alguien puede ayudarle.
<DIV></DIV>>
<DIV></DIV>>--
<DIV></DIV>>Un saludo,
<DIV></DIV>>Tomás Javier Robles Prado
<DIV></DIV>>http://milugar.doesntexist.org
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>------------------------------
<DIV></DIV>>
<DIV></DIV>>Message: 4
<DIV></DIV>>Date: Sun, 11 Jan 2004 11:36:00 -0300
<DIV></DIV>>From: "visualnex" <VISUALNEX@TUTOPIA.COM>
<DIV></DIV>>Subject: [Python-es] Dudas sobre manejo de TKinter
<DIV></DIV>>To: <PYTHON-ES@ADITEL.ORG>
<DIV></DIV>>Message-ID: <005d01c3d850$3f03c1e0$067ba8c0@aa>
<DIV></DIV>>Content-Type: text/plain; charset="iso-8859-1"
<DIV></DIV>>
<DIV></DIV>>#Hola,
<DIV></DIV>>#
<DIV></DIV>>#antes que nada, te recomiendo encarecidamente que leas los documentos
<DIV></DIV>>introductorios #sobre Tkinter. Te aclarán muchas cosas. El problemas es que
<DIV></DIV>>están en inglés y creo que #no hay traducción. Están en:
<DIV></DIV>>#http://www.pythonware.com/library/tkinter/an-introduction-to-tkinter.pdf y
<DIV></DIV>>#http://www.nmt.edu/tcc/help/pubs/tkinter.pdf
<DIV></DIV>>#si hay más debería encontrarlo siempre en:
<DIV></DIV>>#http://www.python.org/topics/tkinter/doc.html#
<DIV></DIV>>#Saludos, Erny
<DIV></DIV>>#....
<DIV></DIV>>Lei los apuntes, pero a veces no son lo suficientemente claros para lo que
<DIV></DIV>>uno busca,
<DIV></DIV>>o si la respuesta esta ahi, falta una palabrita para darme cuenta. Gracias
<DIV></DIV>>por tus
<DIV></DIV>>modificaciones. Opte por utilizar Grid para acomodar las etiquetas y demas.
<DIV></DIV>>
<DIV></DIV>> # P: Porque se me "cuelga" la aplicacion y no sale en ...
<DIV></DIV>> # R: a mi no se me cuelga. de todos modos, es mejor terminar bien ...
<DIV></DIV>> #Evento para salir de la ventana principal
<DIV></DIV>> #def bSalir(self):
<DIV></DIV>> # self.quit()
<DIV></DIV>>
<DIV></DIV>>se me "cuelga" utilizandolo desde el idle paytonwin, desde el IDLE nativo
<DIV></DIV>>no.
<DIV></DIV>>lo solucione poniendo:
<DIV></DIV>> self.frame.master.destroy()
<DIV></DIV>> self.frame.quit()
<DIV></DIV>>
<DIV></DIV>>AHORA paso a una nueva consulta, el objetivo es ver si la logica que uso
<DIV></DIV>>para
<DIV></DIV>>llamar a otras pantallas desde una principal y regresar esta bien.
<DIV></DIV>>Agradecere
<DIV></DIV>>sugerencias: procedimientos: consulta, mostrar,ocultar
<DIV></DIV>>copio todo el codigo fuente por si hay otras sugerencias! ...
<DIV></DIV>>
<DIV></DIV>>********************************************************
<DIV></DIV>>"""Aplicacion de Gestion de Clientes basada en:
<DIV></DIV>>PythonWin 2.2.3,TKinter,Win32all build 162
<DIV></DIV>>por Marcelo Ametller - 2004 v0.0.2 - Cordoba,Argentina.
<DIV></DIV>>Consultas y sug: visualnex@tutopia.com ,version reducida"""
<DIV></DIV>>from Tkinter import *
<DIV></DIV>>import sys
<DIV></DIV>>
<DIV></DIV>>class FiInicio:
<DIV></DIV>> """Clase para mostrar una ficha de un cliente"""
<DIV></DIV>> def __init__(self, master):
<DIV></DIV>> self.frame = Frame(master,width=300,height=150)
<DIV></DIV>> self.crearInterfaz()
<DIV></DIV>>
<DIV></DIV>> def crearInterfaz(self):
<DIV></DIV>> frame=self.frame
<DIV></DIV>> frame.master.protocol("WM_DELETE_WINDOW",self.close)
<DIV></DIV>> menubar=Menu(frame)
<DIV></DIV>> menubar.add_command
<DIV></DIV>> climenu = Menu(menubar,tearoff=0)
<DIV></DIV>> climenu.add_command(label="Consulta",command=self.consulta)
<DIV></DIV>> menubar.add_cascade(label="Clientes",menu=climenu)
<DIV></DIV>> frame.master.config(menu=menubar)
<DIV></DIV>>
<DIV></DIV>> #Muestro ventana principal
<DIV></DIV>> frame.grid()
<DIV></DIV>>
<DIV></DIV>> def consulta(self):
<DIV></DIV>> self.ocultar()
<DIV></DIV>> #llamo a la aplicacion para mostrar
<DIV></DIV>> #la ficha de cliente
<DIV></DIV>> ini=Tk()
<DIV></DIV>> app = FiCliente(ini)
<DIV></DIV>> ini.mainloop()
<DIV></DIV>> #Mostrar Pantalla inicial
<DIV></DIV>> self.mostrar()
<DIV></DIV>>
<DIV></DIV>> def ocultar(self):
<DIV></DIV>> self.frame.master.withdraw()
<DIV></DIV>>
<DIV></DIV>> def mostrar(self):
<DIV></DIV>> self.frame.master.deiconify()
<DIV></DIV>>
<DIV></DIV>> def close(self):
<DIV></DIV>> self.frame.master.destroy()
<DIV></DIV>> self.frame.quit()
<DIV></DIV>>
<DIV></DIV>>class FiCliente:
<DIV></DIV>> """Clase para mostrar una ficha de un cliente"""
<DIV></DIV>> def __init__(self, master):
<DIV></DIV>> self.frame = Frame(master,width=300,height=150)
<DIV></DIV>> self.crearInterfaz()
<DIV></DIV>>
<DIV></DIV>> def crearInterfaz(self):
<DIV></DIV>> frame=self.frame
<DIV></DIV>> frame.master.title('FICHA DE CLIENTE')
<DIV></DIV>> frame.master.geometry(rootWinPos)
<DIV></DIV>> frame.master.protocol("WM_DELETE_WINDOW",self.close)
<DIV></DIV>> Label(frame,text="Codigo:").grid(row=0,col=0,sticky=W)
<DIV></DIV>> self.eCodigo=Entry(frame, width=6)
<DIV></DIV>> self.eCodigo.grid(row=0,col=1,sticky=W, padx=3, pady=3)
<DIV></DIV>> self.eCodigo.focus_force()
<DIV></DIV>> Label(frame,text="Apellido:").grid(col=0,sticky=W)
<DIV></DIV>> self.eApellido=Entry(frame,width=30)
<DIV></DIV>> self.eApellido.grid(row=1,col=1,sticky=W, padx=3,pady=3)
<DIV></DIV>> self.fBot=Frame(frame)
<DIV></DIV>> Button( self.fBot, width=6, text = "Buscar",
<DIV></DIV>>command=self.bBuscar ).grid(row=0,col=0)
<DIV></DIV>> Button( self.fBot, width=6, text = "Salir",
<DIV></DIV>>command=self.close ).grid(row=0,col=2)
<DIV></DIV>> self.fBot.grid(col=1)
<DIV></DIV>>
<DIV></DIV>> #Muestro ventana principal
<DIV></DIV>> frame.pack(expand=YES, fill=BOTH)
<DIV></DIV>>
<DIV></DIV>> def bBuscar(self): #Evento al pulsar Boton grabar
<DIV></DIV>> """Obtiene los datos de un cliente de la clase Clientes"""
<DIV></DIV>> unCli=Clientes()
<DIV></DIV>> Datos=unCli.Ver()
<DIV></DIV>> self.Llenar(Datos)
<DIV></DIV>>
<DIV></DIV>> def Limpiar(self):
<DIV></DIV>> """Limpia el contenido de los campos de pantalla"""
<DIV></DIV>> self.eCodigo.delete(0,END)
<DIV></DIV>> self.eApellido.delete(0,END)
<DIV></DIV>>
<DIV></DIV>> def Llenar(self,Datos):
<DIV></DIV>> """LLena los campos de pantalla con sus respectivos valores"""
<DIV></DIV>> self.Limpiar()
<DIV></DIV>> self.eCodigo.insert(END,Datos["Codigo"])
<DIV></DIV>> self.eApellido.insert(END,Datos["Apellido"])
<DIV></DIV>>
<DIV></DIV>> def close(self):
<DIV></DIV>> self.frame.master.destroy()
<DIV></DIV>> self.frame.quit()
<DIV></DIV>>
<DIV></DIV>>#Declaracion de constantes de la aplicacion
<DIV></DIV>>rootWinPos = "+150+150"
<DIV></DIV>>
<DIV></DIV>>class Clientes:
<DIV></DIV>> """Clase para el manejo de clientes"""
<DIV></DIV>> def __init__(self):
<DIV></DIV>> pass
<DIV></DIV>>
<DIV></DIV>> def Ver(self):
<DIV></DIV>> """Devuelve los datos de un cliente predefinido"""
<DIV></DIV>> Datos = {}
<DIV></DIV>> Datos["Codigo"]="010001"
<DIV></DIV>> Datos["Apellido"]="Gianotti Walter"
<DIV></DIV>> Datos["Calle"]="Av Colon 409"
<DIV></DIV>> Datos["Localidad"]="Cordoba"
<DIV></DIV>> return Datos
<DIV></DIV>>
<DIV></DIV>>class MyApp:
<DIV></DIV>> """Aplicacion Principal Gestion de Clientes"""
<DIV></DIV>> root=Tk()
<DIV></DIV>> app = FiInicio(root)
<DIV></DIV>> root.mainloop()
<DIV></DIV>> sys.exit()
<DIV></DIV>>
<DIV></DIV>>myapp = MyApp()
<DIV></DIV>>********************************************************
<DIV></DIV>>
<DIV></DIV>>Gracias y saludos.
<DIV></DIV>>Marcelo
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>------------------------------
<DIV></DIV>>
<DIV></DIV>>Message: 5
<DIV></DIV>>Date: Sun, 11 Jan 2004 11:39:11 -0300
<DIV></DIV>>From: "visualnex" <VISUALNEX@TUTOPIA.COM>
<DIV></DIV>>Subject: [Python-es] Proteccion de codigo abierto en la emporesa
<DIV></DIV>>To: <PYTHON-ES@ADITEL.ORG>
<DIV></DIV>>Message-ID: <006601c3d850$b03a4d20$067ba8c0@aa>
<DIV></DIV>>Content-Type: text/plain; charset="iso-8859-1"
<DIV></DIV>>
<DIV></DIV>>Hola,
<DIV></DIV>>
<DIV></DIV>>Vengo del ambiente windows, visual basic, net , etc.
<DIV></DIV>>
<DIV></DIV>>Opte por Linux,Windows y Python.
<DIV></DIV>>Mi duda es la siguiente: Como protejo el codigo fuente de una aplicacion de una
<DIV></DIV>>empresa, para que otros usuarios no modifiquen rutinas especificas para que falle o
<DIV></DIV>>para adulterar datos de clientes, cuentas, etc... , ya que python no dispone de .exe
<DIV></DIV>>
<DIV></DIV>>saludos
<DIV></DIV>>Marcelo
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>------------ próxima parte ------------
<DIV></DIV>>Se ha borrado un adjunto en formato HTML...
<DIV></DIV>>URL: /archivos/python-es/attachments/20040111/42bb20b2/attachment-0001.html
<DIV></DIV>>
<DIV></DIV>>------------------------------
<DIV></DIV>>
<DIV></DIV>>Message: 6
<DIV></DIV>>Date: Sun, 11 Jan 2004 15:07:53 +0000
<DIV></DIV>>From: "fernando miguel villarroel noriel" <VISUALLINUX@HOTMAIL.COM>
<DIV></DIV>>Subject: RE: [Python-es] Proteccion de codigo abierto en la emporesa
<DIV></DIV>>To: python-es@aditel.org
<DIV></DIV>>Message-ID: <LAW12-F9TANGWINIMNM00004C72@HOTMAIL.COM>
<DIV></DIV>>Content-Type: text/plain; charset=iso-8859-1; format=flowed
<DIV></DIV>>
<DIV></DIV>> Hola, la aplicacion la tienes corriendo en Linux, si es asi bien le das
<DIV></DIV>>permisos solo al dueño de la aplicacion y al resto dependiendo de lo que
<DIV></DIV>>necesites (grupos y otros) les deniegas todo lectura, escritura y ejecucion.
<DIV></DIV>>
<DIV></DIV>>Fernando.
<DIV></DIV>>
<DIV></DIV>> >From: "visualnex" <VISUALNEX@TUTOPIA.COM>
<DIV></DIV>> >Reply-To: La lista de python en castellano <PYTHON-ES@ADITEL.ORG>
<DIV></DIV>> >To: <PYTHON-ES@ADITEL.ORG>
<DIV></DIV>> >Subject: [Python-es] Proteccion de codigo abierto en la emporesa
<DIV></DIV>> >Date: Sun, 11 Jan 2004 11:39:11 -0300
<DIV></DIV>> >
<DIV></DIV>> >Hola,
<DIV></DIV>> >
<DIV></DIV>> >Vengo del ambiente windows, visual basic, net , etc.
<DIV></DIV>> >
<DIV></DIV>> >Opte por Linux,Windows y Python.
<DIV></DIV>> >Mi duda es la siguiente: Como protejo el codigo fuente de una aplicacion de
<DIV></DIV>> >una
<DIV></DIV>> >empresa, para que otros usuarios no modifiquen rutinas especificas para que
<DIV></DIV>> >falle o
<DIV></DIV>> >para adulterar datos de clientes, cuentas, etc... , ya que python no
<DIV></DIV>> >dispone de .exe
<DIV></DIV>> >
<DIV></DIV>> >saludos
<DIV></DIV>> >Marcelo
<DIV></DIV>> >
<DIV></DIV>> >
<DIV></DIV>> >_______________________________________________
<DIV></DIV>> >Python-es mailing list
<DIV></DIV>> >Python-es@aditel.org
<DIV></DIV>> >http://listas.aditel.org/listinfo/python-es
<DIV></DIV>>
<DIV></DIV>>_________________________________________________________________
<DIV></DIV>>Charla con tus amigos en línea mediante MSN Messenger:
<DIV></DIV>>http://messenger.latam.msn.com/
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>------------------------------
<DIV></DIV>>
<DIV></DIV>>Message: 7
<DIV></DIV>>Date: Sun, 11 Jan 2004 23:44:46 +0100
<DIV></DIV>>From: Toni Martínez<PYTHON@AMMSOFT.COM>
<DIV></DIV>>Subject: [Python-es] Internacionalizacion - dudas varias
<DIV></DIV>>To: "Python Lista Aditel" <PYTHON-ES@ADITEL.ORG>
<DIV></DIV>>Message-ID: <000501c3d894$839befa0$020010ac@Host>
<DIV></DIV>>Content-Type: text/plain; charset="iso-8859-1"
<DIV></DIV>>
<DIV></DIV>>Estoy aprendiendo como preparar las futuras aplicaciones para que funcionen
<DIV></DIV>>en las diferentes lenguas de los operadores de la misma.
<DIV></DIV>>Todo va bien de momento, pero no termino de dar el tema por completado.
<DIV></DIV>>Intentaré explicarme:
<DIV></DIV>>
<DIV></DIV>>Entorno de trabajo Windows 2000 + Python 2.3.3 + wxpython + PDO para
<DIV></DIV>>gestionar las bases de datos (Oracle, Mysql y Postgress)
<DIV></DIV>>Tengo varios módulos (sintetizaré al máximo)
<DIV></DIV>>He generado un archivo etiquetas.mo mediante pygettext.py y msgfmt.py
<DIV></DIV>>situándolo en .\locale\es\LC_MESSAGES
<DIV></DIV>>Y otro en .\locale\fr\LC_MESSAGES con la traducción en francés.
<DIV></DIV>>
<DIV></DIV>>Módulos:
<DIV></DIV>>login.py ventana de identificación del operador
<DIV></DIV>>
<DIV></DIV>>#cargamos el idioma por defecto de la aplicación
<DIV></DIV>>import gettext
<DIV></DIV>>gettext.translation("etiquetas", ".\locale",languages=['es']).install()
<DIV></DIV>>
<DIV></DIV>># y se asignan los valores a las etiquetas y botones pertinentes
<DIV></DIV>> self.staticText1.SetLabel(_('Operador :'))
<DIV></DIV>> self.staticText2.SetLabel(_('Clave Acceso :'))
<DIV></DIV>> self.btcancelar.SetLabel(_("&Cancelar"))
<DIV></DIV>> self.btaplicar.SetLabel(_("&Aceptar"))
<DIV></DIV>>
<DIV></DIV>>inicio.py menú principal de la aplicación
<DIV></DIV>>
<DIV></DIV>># cargamos el idioma del operador (lo hemos sacado de la base de datos tabla
<DIV></DIV>>operadores)
<DIV></DIV>>import gettext
<DIV></DIV>>.....
<DIV></DIV>>.....
<DIV></DIV>>lang = rs.fields['OP_IDIOMA'].value
<DIV></DIV>>gettext.translation("etiquetas", ".\locale",languages=[lang]).install()
<DIV></DIV>>
<DIV></DIV>># y mostramos el menú y elementos que necesitemos (todos ellos en la lengua
<DIV></DIV>>del operador).
<DIV></DIV>>........
<DIV></DIV>>
<DIV></DIV>># ahora desde el modulo inicio.py al seleccionar una opción determinada
<DIV></DIV>>importo el modulo empleados.py
<DIV></DIV>>
<DIV></DIV>>1.- AQUI tengo la primera duda.
<DIV></DIV>>Necesito volver a realizar el gettext.translation("..... dentro del
<DIV></DIV>>empleados.py
<DIV></DIV>>Sino, las etiquetas _("...") no son traducidas.
<DIV></DIV>>¿Hay alguna manera de que no tenga que ir haciendo el gettext en cada
<DIV></DIV>>módulo?
<DIV></DIV>>Ya que hasta que no vuelva a cambiar de operador el idioma será el mismo.
<DIV></DIV>>
<DIV></DIV>>2.- El fichero PO resultante del proceso pygettext.py
<DIV></DIV>> a.- Si el charset es el iso-8859-1, lo que estoy haciendo será
<DIV></DIV>>compatible en Linux u otras plataformas?
<DIV></DIV>> b.- Los caracteres acentuados los ha convertido en Unicode (creo) por
<DIV></DIV>>ejemplo la í = \355 la ó \363
<DIV></DIV>> Hay alguna forma que pygettext.py mantenga los caracteres ASCII
<DIV></DIV>>normales o es aconsejable dejarlos tal como quedan.
<DIV></DIV>> El resultado final usando los ascii (í,ó,..) o los (\355,\363...) ha
<DIV></DIV>>sido el mismo. Las ventanas muestran las vocales acentuadas.
<DIV></DIV>> ¿En otras plataformas que pasaría?
<DIV></DIV>>
<DIV></DIV>>3.- Cuando se realicen modificaciones en los módulos y aparezcan nuevas
<DIV></DIV>>etiquetas a traducir:
<DIV></DIV>> ¿Cómo se gestionan los ficheros PO para saber que nuevas etiquetas deben
<DIV></DIV>>ser traducidas y o cuales han sido modificadas?
<DIV></DIV>> Lo pregunto por si hay alguna herramienta que facilite la tarea. Ya que
<DIV></DIV>>si hay que hacerlo a pelo,"mi gozo en un pozo".
<DIV></DIV>>
<DIV></DIV>>4.- Hay alguna forma de poder decirle que la localización del fichero MO no
<DIV></DIV>>sea la carpeta LC_MESSAJES (Pura curiosidad!)
<DIV></DIV>> Preferiría tener todas las traducciones en un sólo directorio, con
<DIV></DIV>>nombres diferentes
<DIV></DIV>>
<DIV></DIV>> gettext.translation("etiq_" + lang, ".\locale").install()
<DIV></DIV>>
<DIV></DIV>>Saludos.
<DIV></DIV>>_______________________________________________
<DIV></DIV>>
<DIV></DIV>>python@ammsoft.com
<DIV></DIV>>
<DIV></DIV>>{8~~~~~~~~~~~~~~~~
<DIV></DIV>>
<DIV></DIV>>------------ próxima parte ------------
<DIV></DIV>>Se ha borrado un adjunto en formato HTML...
<DIV></DIV>>URL: /archivos/python-es/attachments/20040111/cf62bca8/attachment.html
<DIV></DIV>>
<DIV></DIV>>------------------------------
<DIV></DIV>>
<DIV></DIV>>_______________________________________________
<DIV></DIV>>Python-es mailing list
<DIV></DIV>>Python-es@aditel.org
<DIV></DIV>>http://listas.aditel.org/listinfo/python-es
<DIV></DIV>>
<DIV></DIV>>
<DIV></DIV>>Fin de Resumen de Python-es, Vol 261, Envío 6
<DIV></DIV>>*********************************************
<DIV></DIV></div><br clear=all><hr>MSN 8 helps <a href="http://g.msn.com/8HMBEN/2752??PS=">ELIMINATE E-MAIL VIRUSES.</a> Get 2 months FREE*.</html>