760856e966
Add support for doing language resolution for a request, based on the Accept-Language HTTP header. Using the lazy gettext functionality from oslo gettextutils, it is possible to use the resolved language to translate an exception message to the user requested language and return that translation from the API. Co-authored-by: Luis A. Garcia <luis@linux.vnet.ibm.com> Co-authored-by: Mathew Odden <mrodden@us.ibm.com> Implements bp user-locale-api Change-Id: Id8e92a42039d2f0b01d5c2dada733d068b2bdfeb
31 lines
996 B
Python
31 lines
996 B
Python
import os
|
|
|
|
from paste import deploy
|
|
|
|
from keystone.common import environment
|
|
from keystone.common import logging
|
|
from keystone import config
|
|
from keystone.openstack.common import gettextutils
|
|
|
|
# NOTE(blk-u): Configure gettextutils for deferred translation of messages
|
|
# so that error messages in responses can be translated according to the
|
|
# Accept-Language in the request rather than the Keystone server locale.
|
|
gettextutils.install('keystone', lazy=True)
|
|
|
|
LOG = logging.getLogger(__name__)
|
|
CONF = config.CONF
|
|
CONF(project='keystone')
|
|
config.setup_logging(CONF)
|
|
|
|
environment.use_stdlib()
|
|
name = os.path.basename(__file__)
|
|
|
|
if CONF.debug:
|
|
CONF.log_opt_values(logging.getLogger(CONF.prog), logging.DEBUG)
|
|
|
|
# NOTE(ldbragst): 'application' is required in this context by WSGI spec.
|
|
# The following is a reference to Python Paste Deploy documentation
|
|
# http://pythonpaste.org/deploy/
|
|
application = deploy.loadapp('config:%s' % config.find_paste_config(),
|
|
name=name)
|