Support overriding oslo localedir too

Part of fixing bug #995287

Libraries need to translate strings according to their translation
domain but they should not override the default _() builtin (which
should only be installed by the top-level script) and instead should
gettextutils._().

To support the case where message catalogs are installed in a
non-default (and perhaps project-specific) location, we allow the
default localedir to be override with a project-specific environment
variable e.g. QUANTUMCLIENT_LOCALEDIR.

The code makes it seem like OSLO_LOCALEDIR is the env variable we're
adding but, in fact, update.py magically replaces 'oslo' with the
project name.

Change-Id: I62b66892a4e27892ee488d2884ffd2f40ab467ee
This commit is contained in:
Mark McLoughlin 2013-04-01 02:08:43 +01:00
parent 6072f65d5e
commit 1540e94987
1 changed files with 3 additions and 3 deletions

View File

@ -26,12 +26,12 @@ Usual usage in an openstack.common module:
import gettext
import os
t = gettext.translation('oslo', 'locale', fallback=True)
_localedir = os.environ.get('oslo'.upper() + '_LOCALEDIR')
_t = gettext.translation('oslo', localedir=_localedir, fallback=True)
def _(msg):
return t.ugettext(msg)
return _t.ugettext(msg)
def install(domain):