[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