Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Resource soubory a i18n ve wxPythonu

Ondra
Ondra (neregistrovaný)
22. 6. 2006 11:57 Nový

nechci prudit

celé vlákno
Ale je to celé takové nepřehledné a nesrozumitelné.
janik
janik (neregistrovaný)
22. 6. 2006 12:50 Nový

preklady

celé vlákno
Otazka 1: Aka je vyhoda pouzivania wx.Locale oproti gettext
Otazka 2a: aky ma vyznam pouzitie modulu gettext, ked sa pouziva wx.Locale
Otazka 2b: Naco je v tych prikladoch mytranslation.install() (z modulu gettext), ked funkcia _ sa aj tak nevyuziva a je prekryta wxovou funkciou GetTranslation
neznalek
neznalek (neregistrovaný)
22. 6. 2006 15:35 Nový

Re: preklady

celé vlákno
Domnivam se, ze je systemovejsi pouzit lokalizaci primo z pythonu. Ta ve wxWidgets je v pripade pythonu zbytecna. Jejich michani dohromady napovida, ze programator si neni jist tim co dela, a tak nejak to nahodne zkousel, az mu to nahodou fungovalo.
Pavel Šibal
23. 6. 2006 11:03 Nový

Re: preklady

celé vlákno
Dekuji za pripominku, mel jsem to uvest v clanku a proto se omlouvam.
Problem byl v kopaktibilite mezi ruznymi os (bohuzel to nefungovalo presne tak, jak bylo puvodne v dokumetaci u wx deklarovano - testovano v drivejsich verzich a z lenosti ponechano tak, jak je uvedeno v clanku). Takze nakonec nezbylo udelat nic jineho, nez v uvedenem prikladu smichani gettext a locale. Takhle je na 100% zarucena kompaktibilita i v soucasne verzi (testovan Debian, MS Win XP a Mac OS X Darwin).
Neznalek
Neznalek (neregistrovaný)
23. 6. 2006 22:15 Nový

Re: preklady

celé vlákno
Gettext a locale jsou ruzne veci a je v poradku, ze jste pouzil oboji. V poradku neni, ze michate knihovny z wxPython a z Pythonu, mel jste spravne pouzit ciste reseni implementovane v pythonu, je univerzalnejsi, cistsi a predevsim lepsi (oop). Podivejte se do dokumentace pythonu.
Pavel Šibal
23. 6. 2006 23:30 Nový

Re: preklady

celé vlákno
Opravte si prosim soubor App1.py na:
#!/usr/bin/env python
#Boa:App:BoaApp

import wx, os
import ui.frmHelloWorld
import ui.MyImgRes

modules ={u'frmHelloWorld': [1, 'Main frame of Application', u'ui/frmHelloWorld.py'],
 u'myImgRes': [0, '', u'ui/MyImgRes.py']}

class BoaApp(wx.App):
    def OnInit(self):
        wx.InitAllImageHandlers()
        
        path = os.getcwd()
        localedir = os.path.join( path, "i18n" )
        domain = "helloworld" 
        
        langid = wx.LANGUAGE_DEFAULT
        self.mylocale = wx.Locale(langid)
        self.mylocale.AddCatalogLookupPathPrefix(localedir)
        self.mylocale.AddCatalog(domain)
	
        self.main = ui.frmHelloWorld.create(None)
        self.main.Show()
        self.SetTopWindow(self.main)
        return True

def main():
    application = BoaApp(0)
    application.MainLoop()

if __name__ == '__main__':
    main()
uživatel si přál zůstat v anonymitě
26. 6. 2006 21:42 Nový

Re: preklady

celé vlákno
skoda, ze neznate slovo kompatibilita
Ondra
Ondra (neregistrovaný)
26. 6. 2006 23:49 Nový

Re: preklady

celé vlákno
Mám tomu rozumět tak, že tu učíte věci s kterými nemáte žádné zkušenosti, natož je měl prověřené praxí? Tedy tu provádíte jakýsi experiment na lidech, kteří na základě vašich bláhových rad mohou investovat do něčeho nepoužitelného? Tak to vám teda děkuju, to je ohromná pomoc.
uživatel si přál zůstat v anonymitě
27. 6. 2006 10:06 Nový

Re: preklady

celé vlákno
S wxPythonem pracuji uz od roku 2001 (zhruba). Na lidech nic netestuji a v dobe, kdy jsem resil problem s lokalizaci, tak to bohuzel na 100% jinak nefungovalo. I ted narazim na nedokumentovane veci - napr. v soucasne verzi wxPythonu pokud chcete pridat ikonu na vrch formulare, tak v MS Windows musi byt rozmeru 16x16 (zjistil jsem to nedavno po celkem dlouhem patrani, proc to nefunguje).
stefano
stefano (neregistrovaný)
24. 6. 2006 11:07 Nový

Re: preklady

celé vlákno
Funkcionalita pythonu a wxPythonu je casto duplikovana. Ja programujem vo wxWidgets v C++ aj v pythone a uprednostnujem pouzivanie tried a funkcii z wx lebo ich dobre poznam. Python programatori naopak uprednostnuju moduly gettext a locale. V kazdom pripade sa treba vyhnut miesaniu.
sidlo
sidlo (neregistrovaný)
27. 6. 2006 8:41 Nový

nedaří se mi rozchodit program

celé vlákno
můžete mi někdo pomoci, nedaří se mi rozchodit vzorový program, při spuštění mám následující chybové hlášení, předpokládám, že nemám nikde překlep ve zdrojáku programu
[sidlo@profi1400 HelloWorld]$ python App1.py
Traceback (most recent call last):
  File "App1.py", line 35, in ?
    main()
  File "App1.py", line 31, in main
    application = BoaApp(0)
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-ansi/wx/_core.py", line 7668, in __init__
    self._BootstrapApp()
  File "/usr/lib/python2.4/site-packages/wx-2.6-gtk2-ansi/wx/_core.py", line 7320, in _BootstrapApp
    return _core_.PyApp__BootstrapApp(*args, **kwargs)
  File "App1.py", line 22, in OnInit
    self.malocale.AddCatalogLookupPathPrefix(localedir)
AttributeError: 'BoaApp' object has no attribute 'malocale'
uživatel si přál zůstat v anonymitě
27. 6. 2006 9:55 Nový

Re: nedaří se mi rozchodit program

celé vlákno
S timto problemem jsem se setkal u distribuce Mandriva, ktera nema standardne knihovnu wxPython zkompilovanu s podporou unicode, ale pouze ansi.
Zda je problem v tom muzete overit napr. presunutim obsahu adresare i18n/ nekam jinam - priklad by se mel spustit v anglictine.
Paklize je tomu tak si stahnete z www.wxpython.org spravnou knihovnu (s podporou unicode).
sidlo
sidlo (neregistrovaný)
27. 6. 2006 13:14 Nový

Re: už to chodí

celé vlákno
děkuji, Vaše diagnóza byla správná, používám Mandrivu, naistaloval jsem poslední verzi wxPython pro unicode, opravil překlep z malocale na mylocale a funguje
sidlo
sidlo (neregistrovaný)
28. 6. 2006 7:11 Nový

všechno je jinak

celé vlákno

Musím uvést předchozí informace na správnou míru. Nefunkčnost programu byla způsobena překlepem ve zdrojáku. Program funguje s balíkem wxPython2.6-gtk2-unicode-2.6.3.2 z www.wxpython.org, ale nefunguje boa-constructor. S balíkem wxPython2.6-gtk2-ansi-2.6.3.2 z www.wxpython.org funguje program a boa-constructor funguje s varováním, že má problémy s HTML soubory s kódováním iso-88598-1. Vrátil jsem původní balíky Mandriva wxPython2.6-gtk2-ansi-2.6.1.0 a všechno funguje jak má - program i boa-constructor.

Pokud bych mohl poprosit autora seriálu, aby jeden díl věnoval Sizers. Mám celkem problémy rychle sestavit funkční layout okna.

Zasílat nově přidané příspěvky e-mailem