def clear_language(self): """Clear the current language(s) and set SpamBayes to use the default.""" self.current_langs_codes = [] self._clear_syspath() lang = NullTranslations() lang.install()
def init_localization(app): """prepare l10n""" # ----- # Application localization # ----- try: # Language message file lang_filename = os.path.join( os.path.abspath(os.path.dirname(__file__)), "../locales/%s.mo" % app.config.get('locale', 'en_US') ) print("Opening message file %s for locale %s" % (lang_filename, app.config.get('locale', 'en_US'))) translation = GNUTranslations(open(lang_filename, "rb")) translation.install(True) _ = translation.gettext except IOError: print("Locale not found. Using default language messages (English)") null_translation = NullTranslations() null_translation.install() _ = null_translation.gettext except Exception as e: # pragma: no cover - should not happen print("Locale not found. Exception: %s" % str(e)) null_translation = NullTranslations() null_translation.install() _ = null_translation.gettext # Provide translation methods to templates app.config['_'] = _ print(_("Language is English (default)...")) return _
def init_localization(): # pragma: no cover """ Application localization :return: gettext translator method :rtype: method """ try: # Language message file lang_filename = os.path.join( os.path.abspath(os.path.dirname(__file__)), "LC_MESSAGES/%s.mo" % settings.get_config('Alignak-app', 'locale')) logger.info("Opening message file %s for locale %s", lang_filename, settings.get_config('Alignak-app', 'locale')) translation = GNUTranslations(open(lang_filename, "rb")) translation.install() _ = translation.gettext except IOError: logger.warning( "Locale not found. Using default language messages (English)") null_translation = NullTranslations() null_translation.install() _ = null_translation.gettext except Exception as e: # pragma: no cover - should not happen logger.error("Locale not found. Exception: %s", str(e)) null_translation = NullTranslations() null_translation.install() _ = null_translation.gettext return _
def set_translators(): global _lang_trans, lcdata # To test different translations invoke as # CALIBRE_OVERRIDE_LANG=de_DE.utf8 program lang = get_lang() if lang: q = translator_for_lang(lang) t = q['translator'] _lang_trans = q['iso639_translator'] if q['lcdata']: lcdata = q['lcdata'] else: t = NullTranslations() try: set_translators.lang = t.info().get('language') except Exception: pass if is_py3: t.install(names=('ngettext', )) else: t.install(unicode=True, names=('ngettext', )) # Now that we have installed a translator, we have to retranslate the help # for the global prefs object as it was instantiated in get_lang(), before # the translator was installed. from calibre.utils.config_base import prefs prefs.retranslate_help()
def init_localization(language): """prepare l10n""" try: # Language message file filename = os.path.join(os.path.abspath(os.path.dirname(__file__)), "../res/%s.mo" % language) logger.info("Opening message file %s for locale %s", filename, language) translation = GNUTranslations(open(filename, "rb")) translation.install() except IOError: logger.warning("Locale not found. Using default messages") logger.debug("Backtrace: %s", traceback.format_exc()) default = NullTranslations() default.install() except Exception as e: logger.error("Locale not found. Exception: %s", str(e)) logger.debug("Backtrace: %s", traceback.format_exc()) default = NullTranslations() default.install() logger.info(_("Language is English (default)..."))
def set_app_config(config): """ Update global application configuration """ global bottle_app, app_config, _ # Localization try: # Language message file filename = os.path.join(os.path.abspath(os.path.dirname(__file__)), "res/%s.mo" % config.get('locale', 'en_US')) print("Opening message file %s for locale %s" % (filename, config.get('locale', 'en_US'))) translation = GNUTranslations(open(filename, "rb")) translation.install() _ = translation.gettext except IOError: print("Locale not found. Using default language messages (English)") default = NullTranslations() default.install() _ = default.gettext except Exception as e: # pragma: no cover - should not happen print("Locale not found. Exception: %s" % str(e)) default = NullTranslations() default.install() _ = default.gettext print(_("Language is English (default)...")) app_config = config bottle_app.config.update(config) # Set logging options for the application set_console_logger(logger) # Store logs in a daily file, keeping 6 days along ... as default! set_file_logger(logger, path=app_config.get('logs.dir', '/var/log/' + manifest['name'].lower()), filename=app_config.get('logs.filename', manifest['name'].lower() + '.log'), when=app_config.get('logs.when', 'D'), interval=int(app_config.get('logs.interval', '1')), backup_count=int(app_config.get('logs.backupCount', '6'))) # Set application log level (default is INFO (20)) print("Activate logs level: %d" % int(app_config.get('logs.level', '20'))) logger.setLevel(int(app_config.get('logs.level', '20'))) if app_config.get('debug', '0') == '1': # pragma: no cover - not testable easily... print("Activate DEBUG logs") logger.setLevel(DEBUG) logger.info( "--------------------------------------------------------------------------------" ) logger.info("%s, version %s", manifest['name'], manifest['version']) logger.info("Copyright %s", manifest['copyright']) logger.info("License: %s", manifest['license']) logger.info( "--------------------------------------------------------------------------------" ) logger.debug("Doc: %s", manifest['doc']) logger.debug("Release notes: %s", manifest['release']) logger.debug( "--------------------------------------------------------------------------------" ) logger.info( "--------------------------------------------------------------------------------" ) logger.info("%s, listening on %s:%d (debug mode: %s)", app_config.get('name', 'Test'), app_config.get('host', '127.0.0.1'), int(app_config.get('port', '5001')), app_config.get('debug', '0') == '1') logger.info("%s, using alignak backend on %s", app_config.get('name', 'Test'), app_config.get('alignak_backend', 'http://127.0.0.1:5000')) logger.info( "--------------------------------------------------------------------------------" ) logger.debug("Application settings: ") for key, value in sorted(app_config.items()): logger.debug(" %s = %s", key, value) logger.debug( "--------------------------------------------------------------------------------" )
def set_app_config(config): ''' Update global application configuration ''' global bottle_app, app_config, _ # Localization try: # Language message file filename = os.path.join( os.path.abspath(os.path.dirname(__file__)), "res/%s.mo" % config.get('locale', 'en_US') ) print "Opening message file %s for locale %s" % (filename, config.get('locale', 'en_US')) translation = GNUTranslations(open(filename, "rb")) translation.install() _ = translation.gettext except IOError: print "Locale not found. Using default language messages (English)" default = NullTranslations() default.install() _ = default.gettext except Exception as e: # pragma: no cover - should not happen print "Locale not found. Exception: %s" % str(e) default = NullTranslations() default.install() _ = default.gettext print _("Language is English (default)...") app_config = config bottle_app.config.update(config) # Set logging options for the application set_console_logger(logger) # Store logs in a daily file, keeping 6 days along ... as default! set_file_logger( logger, path=app_config.get('logs.dir', '/var/log'), filename=app_config.get('logs.filename', manifest['name'].lower() + '.log'), when=app_config.get('logs.when', 'D'), interval=int(app_config.get('logs.interval', '1')), backupCount=int(app_config.get('logs.backupCount', '6')) ) # Set application log level (default is INFO (20)) print "Activate logs level: %d" % int(app_config.get('logs.level', '20')) logger.setLevel(int(app_config.get('logs.level', '20'))) if app_config.get('debug', '0') == '1': print "Activate DEBUG logs" logger.setLevel(DEBUG) logger.info( "--------------------------------------------------------------------------------" ) logger.info("%s, version %s", manifest['name'], manifest['version']) logger.info("Copyright %s", manifest['copyright']) logger.info("License: %s", manifest['license']) logger.info( "--------------------------------------------------------------------------------" ) logger.debug("Doc: %s", manifest['doc']) logger.debug("Release notes: %s", manifest['release']) logger.debug( "--------------------------------------------------------------------------------" ) logger.debug("Application settings: ") for key, value in sorted(app_config.items()): logger.debug(" %s = %s", key, value) logger.debug( "--------------------------------------------------------------------------------" )