def _on_menu_language_cb(self): """Callback invoked to change the interface language. This method first display the language dialog to let the user choose its new language. If no translation can be found, a warning dialog is built instead. When the user validates his choice, gettext is invoked and interface elements are refreshed.""" try: d = LanguageDialog( self, sorted(os.listdir("locale")), duo.get_default_language()) if d.lang: duo.switch_to_language(d.lang) # Rebuild interface elements to update language. # ... Canvas is not rebuilt. self._create_menu() self._update_localisation() except OSError: self.title() tk_msg.showwarning( _(u'No languages found.'), u'Please use make-locale.py to generate the translations.')
handler = logging.FileHandler('duo.log', 'w') formatter = logging.Formatter( '%(asctime)s %(name)-25s:%(lineno) 4d\t%(levelname)s\t%(message)s') handler.setFormatter(formatter) logger = logging.getLogger('duo') logger.addHandler(handler) logger.setLevel(options[OPT_VERBOSE]) # Return behaviour return options # Main if __name__ == "__main__": options = read_command_line() # Set default language. duo.switch_to_language(duo.get_default_language()) ui = ui.create_ui(options[OPT_UI], options) ui.launch() # except KeyboardInterrupt as e: # print(e) # except Exception as e: # print(e.message.encode('utf-8'))