[Linux] Una pregunta sobre traduccions ...

Alexandre Busquets abusquets a gmail.com
div set 19 15:36:53 CEST 2014


Amb Tkinter existeix Tkinter.StringVar() que permet aquestes coses.

Hauries de buscar el seu homònim a pyqt

El dia 19 setembre de 2014 11:44, Oscar Castell Marcos <ocastell a mac.com>
ha escrit:

> Buenas,
>
> tinc un noi de treball de recerca de 2n de BAT que està fent una aplicació
> en PyQt però no utilitza l'entorn de programació Qt ja que utilitza una
> sèrie de mòduls externs (opencv) que no en són compatibles.
>
> El cas és que estem a la fase de localització i internacionalització i fem
> les traduccions amb el gettext. Tot funciona correctament:
>
> 1.- El llenguatge s'escull en carregar l'aplicació segons les variables
> d'entorn.
> 2.- S'ha ficat un argument opcional al executar el programa per escollir
> la llengua.
>
> Això tot va bé.
>
> Ara m'ha plantejat de poder canviar la llengua directament dins de la
> interfície d'usuari. Hem ficat una comboBox amb les opcions de llengua i
> carreguem, sense cap problema, les opcions de llengua segons l'item
> selecionat. Ara bé, la UI no es tradueix. Hem provat d'actualitzar la UI
> amb repaint, update i altres opcions però la UI no es refresca i queda amb
> la traducció ...
>
> Hi ha algú que tingui experiència en aquestes traduccions amb gettext,
> pyqt ... on-the-fly ... si és aixi i ens proposa una solució estarem molt
> agraïts.
>
> records,
>
> O. Castell
>
> PD: adjunto la part de codi que invoca el canvi d'idioma amb gettext i
> l'update del UI.
>
>       def change_combo_idioma(self,llengua):
> #
> # Internacionalització: llenguatge per defecte es_CA (Català)
> #
>           self.language=str(llengua.toUtf8()).decode("utf-8")
>           if self.language == 'Castellà'.decode("utf-8"):
>              lang0 = gettext.translation('movmind', 'idiomes',
> languages=['es_ES'], fallback=True)
>           elif self.language == 'Anglés'.decode("utf-8"):
>              lang0 = gettext.translation('movmind', 'idiomes',
> languages=['en_EN'], fallback=True)
>           elif self.language == 'Francés'.decode("utf-8"):
>              lang0 = gettext.translation('movmind', 'idiomes',
> languages=['fr_EN'], fallback=True)
>           elif self.language == 'Alemany'.decode("utf-8"):
>              lang0 = gettext.translation('movmind', 'idiomes',
> languages=['de_DE'], fallback=True)
>           elif self.language == 'Català'.decode("utf-8"):
>              lang0 = gettext.translation('movmind', 'idiomes',
> languages=['ca_ES'], fallback=True)
>           else:
>              lang0 = gettext.translation('movmind', 'idiomes',
> languages=['ca_ES'], fallback=True)
>           lang0.install()
>           print "Language", self.language
>           self.update()
>           return
>
> _______________________________________________
> Linux mailing list
> Linux a llistes.softcatala.org
> http://llistes.softcatala.org/mailman/listinfo/linux
>
-------------- part següent --------------
Un document HTML ha estat eliminat...
URL: <http://llistes.softcatala.org/pipermail/linux/attachments/20140919/942e50ae/attachment.html>


Més informació sobre la llista de correu Linux