diff options
author | Hai Shi <shihai1992@gmail.com> | 2020-05-14 01:22:30 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-14 01:22:30 (GMT) |
commit | 7443d42021d433da0497f8ba651daa47e7dc1991 (patch) | |
tree | 8acdb504b61890d1511cbde00098ffd0225cf6af /Lib/gettext.py | |
parent | 6f2f475d5a2cd7675dce844f3af436ba919ef92b (diff) | |
download | cpython-7443d42021d433da0497f8ba651daa47e7dc1991.zip cpython-7443d42021d433da0497f8ba651daa47e7dc1991.tar.gz cpython-7443d42021d433da0497f8ba651daa47e7dc1991.tar.bz2 |
bpo-40275: Import locale module lazily in gettext (GH-19905)
Diffstat (limited to 'Lib/gettext.py')
-rw-r--r-- | Lib/gettext.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Lib/gettext.py b/Lib/gettext.py index b98f501..77b67ae 100644 --- a/Lib/gettext.py +++ b/Lib/gettext.py @@ -46,7 +46,6 @@ internationalized, to the local language and cultural habits. # find this format documented anywhere. -import locale import os import re import sys @@ -210,6 +209,7 @@ def c2py(plural): def _expand_lang(loc): + import locale loc = locale.normalize(loc) COMPONENT_CODESET = 1 << 0 COMPONENT_TERRITORY = 1 << 1 @@ -278,6 +278,7 @@ class NullTranslations: import warnings warnings.warn('lgettext() is deprecated, use gettext() instead', DeprecationWarning, 2) + import locale if self._fallback: with warnings.catch_warnings(): warnings.filterwarnings('ignore', r'.*\blgettext\b.*', @@ -299,6 +300,7 @@ class NullTranslations: import warnings warnings.warn('lngettext() is deprecated, use ngettext() instead', DeprecationWarning, 2) + import locale if self._fallback: with warnings.catch_warnings(): warnings.filterwarnings('ignore', r'.*\blngettext\b.*', @@ -462,6 +464,7 @@ class GNUTranslations(NullTranslations): import warnings warnings.warn('lgettext() is deprecated, use gettext() instead', DeprecationWarning, 2) + import locale missing = object() tmsg = self._catalog.get(message, missing) if tmsg is missing: @@ -476,6 +479,7 @@ class GNUTranslations(NullTranslations): import warnings warnings.warn('lngettext() is deprecated, use ngettext() instead', DeprecationWarning, 2) + import locale try: tmsg = self._catalog[(msgid1, self.plural(n))] except KeyError: @@ -668,6 +672,7 @@ def ldgettext(domain, message): import warnings warnings.warn('ldgettext() is deprecated, use dgettext() instead', DeprecationWarning, 2) + import locale codeset = _localecodesets.get(domain) try: with warnings.catch_warnings(): @@ -695,6 +700,7 @@ def ldngettext(domain, msgid1, msgid2, n): import warnings warnings.warn('ldngettext() is deprecated, use dngettext() instead', DeprecationWarning, 2) + import locale codeset = _localecodesets.get(domain) try: with warnings.catch_warnings(): |