Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #17555 -- Added support for a missing trailing slash when redir…

…ecting based on the browser language. Thanks, neaf.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@17443 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit ef4d84d11ab9357d9c6e35b2a3a0a9d4fb310075 1 parent 878cc62
@jezdez jezdez authored
View
2  django/utils/translation/trans_real.py
@@ -38,7 +38,7 @@
(?:\s*,\s*|$) # Multiple accepts per header.
''', re.VERBOSE)
-language_code_prefix_re = re.compile(r'^/([\w-]+)/')
+language_code_prefix_re = re.compile(r'^/([\w-]+)(/|$)')
def to_locale(language, to_lower=False):
"""
View
12 tests/regressiontests/i18n/tests.py
@@ -793,6 +793,18 @@ def test_parse_language_cookie(self):
r.META = {'HTTP_ACCEPT_LANGUAGE': 'de'}
self.assertEqual(g(r), 'zh-cn')
+ def test_get_language_from_path(self):
+ from django.utils.translation.trans_real import get_language_from_path as g
+ self.assertEqual(g('/pl/'), 'pl')
+ self.assertEqual(g('/pl'), 'pl')
+ self.assertEqual(g('/xyz/'), None)
+
+ def test_get_language_from_path(self):
+ from django.utils.translation.trans_null import get_language_from_path as g
+ self.assertEqual(g('/pl/'), None)
+ self.assertEqual(g('/pl'), None)
+ self.assertEqual(g('/xyz/'), None)
+
def test_percent_in_translatable_block(self):
extended_locale_paths = settings.LOCALE_PATHS + (
os.path.join(here, 'other', 'locale'),
Please sign in to comment.
Something went wrong with that request. Please try again.