diff options
-rw-r--r-- | ironic/api/wsgi.py | 2 | ||||
-rw-r--r-- | ironic/cmd/__init__.py | 2 | ||||
-rw-r--r-- | ironic/common/i18n.py | 19 | ||||
-rw-r--r-- | releasenotes/notes/oslo-i18n-optional-76bab4d2697c6f94.yaml | 5 | ||||
-rw-r--r-- | requirements.txt | 1 | ||||
-rw-r--r-- | setup.cfg | 2 |
6 files changed, 24 insertions, 7 deletions
diff --git a/ironic/api/wsgi.py b/ironic/api/wsgi.py index 210a16a84..c46473139 100644 --- a/ironic/api/wsgi.py +++ b/ironic/api/wsgi.py @@ -14,10 +14,10 @@ import sys from oslo_config import cfg -import oslo_i18n as i18n from oslo_log import log from ironic.api import app +from ironic.common import i18n from ironic.common import service diff --git a/ironic/cmd/__init__.py b/ironic/cmd/__init__.py index 18e85ab18..8acedfa92 100644 --- a/ironic/cmd/__init__.py +++ b/ironic/cmd/__init__.py @@ -25,6 +25,6 @@ import eventlet eventlet.monkey_patch(os=False) -import oslo_i18n as i18n # noqa for I202 due to 'import eventlet' above +from ironic.common import i18n # noqa for I202 due to 'import eventlet' above i18n.install('ironic') diff --git a/ironic/common/i18n.py b/ironic/common/i18n.py index 48c8d361e..d724f558d 100644 --- a/ironic/common/i18n.py +++ b/ironic/common/i18n.py @@ -19,9 +19,20 @@ See https://docs.openstack.org/oslo.i18n/latest/user/ """ -import oslo_i18n as i18n +try: + import oslo_i18n as i18n +except ImportError: + def _(msg): + return msg -_translators = i18n.TranslatorFactory(domain='ironic') + def install(domain): + # NOTE(dtantsur): this is called before logging is initialized, so we + # cannot really log a warning here. + pass +else: + _translators = i18n.TranslatorFactory(domain='ironic') -# The primary translation function using the well-known name "_" -_ = _translators.primary + # The primary translation function using the well-known name "_" + _ = _translators.primary + + install = i18n.install diff --git a/releasenotes/notes/oslo-i18n-optional-76bab4d2697c6f94.yaml b/releasenotes/notes/oslo-i18n-optional-76bab4d2697c6f94.yaml new file mode 100644 index 000000000..b99891a3f --- /dev/null +++ b/releasenotes/notes/oslo-i18n-optional-76bab4d2697c6f94.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - | + The dependency on ``oslo.i18n`` is now optional. If you would like messages + from ironic to be translated, you need to install it explicitly. diff --git a/requirements.txt b/requirements.txt index 4f4a1a1a9..bdff31be5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,7 +21,6 @@ oslo.config>=5.2.0 # Apache-2.0 oslo.context>=2.19.2 # Apache-2.0 oslo.db>=4.40.0 # Apache-2.0 oslo.rootwrap>=5.8.0 # Apache-2.0 -oslo.i18n>=3.15.3 # Apache-2.0 oslo.log>=3.36.0 # Apache-2.0 oslo.middleware>=3.31.0 # Apache-2.0 oslo.policy>=1.30.0 # Apache-2.0 @@ -200,3 +200,5 @@ universal = 1 [extras] guru_meditation_reports = oslo.reports>=1.18.0 # Apache-2.0 +i18n = + oslo.i18n>=3.15.3 # Apache-2.0 |