diff --git a/bin/heat-api b/bin/heat-api index af89fd1af..a05a64bdb 100755 --- a/bin/heat-api +++ b/bin/heat-api @@ -31,16 +31,16 @@ if os.path.exists(os.path.join(possible_topdir, 'heat', '__init__.py')): sys.path.insert(0, possible_topdir) from oslo.config import cfg +from oslo import i18n from heat.common import config +from heat.common.i18n import _ from heat.common import messaging from heat.common import wsgi -from heat.openstack.common import gettextutils from heat.openstack.common import log as logging from heat.openstack.common import systemd -gettextutils.enable_lazy() -gettextutils.install('heat', lazy=True) +i18n.enable_lazy() LOG = logging.getLogger('heat.api') diff --git a/bin/heat-api-cfn b/bin/heat-api-cfn index 2249a89ba..079a8b939 100755 --- a/bin/heat-api-cfn +++ b/bin/heat-api-cfn @@ -33,17 +33,16 @@ if os.path.exists(os.path.join(possible_topdir, 'heat', '__init__.py')): sys.path.insert(0, possible_topdir) from oslo.config import cfg +from oslo import i18n from heat.common import config +from heat.common.i18n import _ from heat.common import messaging from heat.common import wsgi -from heat.openstack.common import gettextutils - from heat.openstack.common import log as logging from heat.openstack.common import systemd -gettextutils.enable_lazy() -gettextutils.install('heat', lazy=True) +i18n.enable_lazy() LOG = logging.getLogger('heat.api.cfn') diff --git a/bin/heat-api-cloudwatch b/bin/heat-api-cloudwatch index 550a3684c..ad966c61c 100755 --- a/bin/heat-api-cloudwatch +++ b/bin/heat-api-cloudwatch @@ -33,17 +33,16 @@ if os.path.exists(os.path.join(possible_topdir, 'heat', '__init__.py')): sys.path.insert(0, possible_topdir) from oslo.config import cfg +from oslo import i18n from heat.common import config +from heat.common.i18n import _ from heat.common import messaging from heat.common import wsgi -from heat.openstack.common import gettextutils - from heat.openstack.common import log as logging from heat.openstack.common import systemd -gettextutils.enable_lazy() -gettextutils.install('heat', lazy=True) +i18n.enable_lazy() LOG = logging.getLogger('heat.api.cloudwatch') diff --git a/bin/heat-engine b/bin/heat-engine index a0c3183b2..2c4354c41 100755 --- a/bin/heat-engine +++ b/bin/heat-engine @@ -33,16 +33,15 @@ if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'heat', '__init__.py')): sys.path.insert(0, POSSIBLE_TOPDIR) from oslo.config import cfg +from oslo import i18n from heat.common import messaging -from heat.openstack.common import gettextutils from heat.openstack.common import log as logging from heat.openstack.common import service from heat.rpc import api as rpc_api -gettextutils.enable_lazy() -gettextutils.install('heat', lazy=True) +i18n.enable_lazy() LOG = logging.getLogger('heat.engine') diff --git a/bin/heat-manage b/bin/heat-manage index 4045eea6d..e47bdbb72 100755 --- a/bin/heat-manage +++ b/bin/heat-manage @@ -25,8 +25,5 @@ if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'heat', '__init__.py')): sys.path.insert(0, POSSIBLE_TOPDIR) from heat.cmd import manage -from heat.openstack.common import gettextutils - -gettextutils.install('heat') manage.main() diff --git a/heat/common/i18n.py b/heat/common/i18n.py new file mode 100644 index 000000000..9a49bbeb3 --- /dev/null +++ b/heat/common/i18n.py @@ -0,0 +1,35 @@ +# Copyright 2014 IBM Corp. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# It's based on oslo.i18n usage in OpenStack Keystone project and +# recommendations from http://docs.openstack.org/developer/oslo.i18n/usage.html + +from oslo import i18n + + +_translators = i18n.TranslatorFactory(domain='heat') + +# The primary translation function using the well-known name "_" +_ = _translators.primary + +# Translators for log levels. +# +# The abbreviated names are meant to reflect the usual use of a short +# name like '_'. The "L" is for "log" and the other letter comes from +# the level. +_LI = _translators.log_info +_LW = _translators.log_warning +_LE = _translators.log_error +_LC = _translators.log_critical diff --git a/requirements.txt b/requirements.txt index 79167e9fd..29480a093 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,6 +10,7 @@ lxml>=2.3 netaddr>=0.7.6 oslo.config>=1.4.0.0a3 oslo.db>=0.2.0 # Apache-2.0 +oslo.i18n>=0.2.0 # Apache-2.0 oslo.messaging>=1.3.0 PasteDeploy>=1.5.0 pbr>=0.6,!=0.7,<1.0