[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