The ceilometer.openstack.common.gettextutils ModuleΒΆ

gettext for openstack-common modules.

Usual usage in an openstack.common module:

from ceilometer.openstack.common.gettextutils import _
class ceilometer.openstack.common.gettextutils.Message[source]

Bases: unicode

A Message object is a unicode object that can be translated.

Translation of Message is done explicitly using the translate() method. For all non-translation intents and purposes, a Message is simply unicode, and can be treated as such.

Message.translate(desired_locale=None)[source]

Translate this message to the desired locale.

Parameters:desired_locale – The desired locale to translate the message to, if no locale is provided the message will be translated to the system’s default locale.
Returns:the translated message in unicode
class ceilometer.openstack.common.gettextutils.TranslationHandler(locale=None, target=None)[source]

Bases: logging.handlers.MemoryHandler

Handler that translates records before logging them.

The TranslationHandler takes a locale and a target logging.Handler object to forward LogRecord objects to after translating them. This handler depends on Message objects being logged, instead of regular strings.

The handler can be configured declaratively in the logging.conf as follows:

[handlers] keys = translatedlog, translator

[handler_translatedlog] class = handlers.WatchedFileHandler args = (‘/var/log/api-localized.log’,) formatter = context

[handler_translator] class = openstack.common.log.TranslationHandler target = translatedlog args = (‘zh_CN’,)

If the specified locale is not available in the system, the handler will log in the default locale.

TranslationHandler.emit(record)[source]
TranslationHandler.setFormatter(fmt)[source]
class ceilometer.openstack.common.gettextutils.TranslatorFactory(domain, localedir=None)[source]

Bases: object

Create translator functions

Previous topic

The ceilometer.openstack.common.systemd Module

Next topic

The ceilometer.openstack.common.context Module

This Page