см .: wx.GetTranslation
http://wiki.wxpython.org/Internationalization
Что я делаю, так это использую _ = wx.GetTranslation в верхней части моих скриптов и заключаю любые строки в _ ("Моя строка")
Я использую этот пакетный скрипт: http://code.google.com/p/gui2exe/source/browse/trunk/scripts/gen_lang, чтобы запустить скрипт mki18n.py, найденный в вики. По сути, он запускает команду «gettext» над вашим исходным кодом и выбирает строки для перевода, которые соответствуют формату _ («»).
Затем вы добавляете каталог сообщений в wxPython:
self.locale = wx.Locale(wx.LANGUAGE_JAPANESE, wx.LOCALE_LOAD_DEFAULT)
langdir = os.path.join('path', 'to', 'locale', 'folder')
self.locale.AddCatalogLookupPathPrefix(langdir)
self.locale.AddCatalog("program-name")
Конечно, вам придется разрешить пользователю выбирать предпочитаемый язык и сопоставить wx.LANGUAGE_ * с этого. например,
languages = ( (_("English"), wx.LANGUAGE_ENGLISH),
(_("English (United Kingdom)"), wx.LANGUAGE_ENGLISH_UK),
(_("Japanese"), wx.LANGUAGE_JAPANESE),
(_("Portuguese"), wx.LANGUAGE_PORTUGUESE),
(_("Dutch"), wx.LANGUAGE_DUTCH),
(_("German"), wx.LANGUAGE_GERMAN),
(_("Russian"), wx.LANGUAGE_RUSSIAN) )
self.locale = wx.Locale(languages[user.preference.language], wx.LOCALE_LOAD_DEFAULT)