[python] gettext+glade+win32

Jan Janech devel na atlas.sk
Neděle Únor 11 21:18:27 CET 2007


hello

mam trochu problem s touto carovnou trojkombinaciou.

Pracujem na jednom projekte, ktory sa pomaly priblizuje ku svojej prvej 
beta verzii. Takze sme sa rozhodli, ze by bolo na case zacat riesit 
preklady sw. Samozrejme ideme pouzivat gettext, ktory je (sice divno, 
ale predsa) implementovany aj v pythone a ma podporu aj v libglade.

A teraz ku nasemu problemu. Kedze ma ist o program multiplatformny, musi 
ponukat svoju funkcnost aj beznemu (no u naseho sw nie az tak beznemu, 
ale to je jedno) klikacovi vo windows. Takze potrebujem prepinat jazyky 
z konfiguracie programu. Takze som po chvylke skusania prisiel na takyto 
sposob prepnutia jazyka (pri spusteni programu):

import os
os.putenv('LC_ALL', 'sk_SK') # alebo iny jazyk

Tuto premennu pouziva aj Cckovy gettext, aj Pythonacky gettext, takze 
vsetko funguje aj v programe aj v gui cez libglade. Lepsie povedane 
funguje na Linuxe. Nas dokonaly majoritny operacny system na taketo 
nastavenie kasle. Neviem preco, ale libglade takto nastavenu environment 
variable odignoruje a pouziva iba LC_ALL z parentovskeho procesu.

Skusal som nieco taketo. Spravil som druhy pythonacky zdrojak (dajme 
tomu runme.py, povodny je dajme tomu main.py):

import os
os.putenv('LC_ALL', 'sk_SK')
os.execvp('python', 'python', 'main.py')

A cuduj sa svete, v main.py uz funguje slovensky preklad. Ale bol by som 
somar, keby to berem ako riesenie.

Neviete mi niekto poradit, co s tym? (mr. Google nevedel /Alebo som sa 
ja nevedel spytat :D /)

Dakujem

Jan Janech


Další informace o konferenci Python