summaryrefslogtreecommitdiff
path: root/django/utils
diff options
context:
space:
mode:
Diffstat (limited to 'django/utils')
-rw-r--r--django/utils/translation/trans_null.py2
-rw-r--r--django/utils/translation/trans_real.py5
2 files changed, 4 insertions, 3 deletions
diff --git a/django/utils/translation/trans_null.py b/django/utils/translation/trans_null.py
index a687572b69..c8bfb1256e 100644
--- a/django/utils/translation/trans_null.py
+++ b/django/utils/translation/trans_null.py
@@ -61,7 +61,7 @@ def get_language_from_path(request):
def get_supported_language_variant(lang_code, strict=False):
- if lang_code == settings.LANGUAGE_CODE:
+ if lang_code and lang_code.lower() == settings.LANGUAGE_CODE.lower():
return lang_code
else:
raise LookupError(lang_code)
diff --git a/django/utils/translation/trans_real.py b/django/utils/translation/trans_real.py
index 7c81e8bee2..423f30eaba 100644
--- a/django/utils/translation/trans_real.py
+++ b/django/utils/translation/trans_real.py
@@ -478,8 +478,9 @@ def check_for_language(lang_code):
def get_languages():
"""
Cache of settings.LANGUAGES in a dictionary for easy lookups by key.
+ Convert keys to lowercase as they should be treated as case-insensitive.
"""
- return dict(settings.LANGUAGES)
+ return {key.lower(): value for key, value in dict(settings.LANGUAGES).items()}
@functools.lru_cache(maxsize=1000)
@@ -510,7 +511,7 @@ def get_supported_language_variant(lang_code, strict=False):
supported_lang_codes = get_languages()
for code in possible_lang_codes:
- if code in supported_lang_codes and check_for_language(code):
+ if code.lower() in supported_lang_codes and check_for_language(code):
return code
if not strict:
# if fr-fr is not supported, try fr-ca.