From 4e8ccb3274069832f66ff5b28ea36ebf2aa7e488 Mon Sep 17 00:00:00 2001
From: Alex Hill <alex@hill.net.au>
Date: Sun, 24 Jul 2016 22:00:39 +0800
Subject: [PATCH] [1.10.x] Fixed #26945 -- Ensured that i18n_patterns returns a
 list

Backport of 971120778a7e7b7ebc2fc48275cca20a87580efe from master
---
 django/conf/urls/i18n.py | 2 +-
 tests/i18n/tests.py      | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/django/conf/urls/i18n.py b/django/conf/urls/i18n.py
index 2813341a61..14f4c6971b 100644
--- a/django/conf/urls/i18n.py
+++ b/django/conf/urls/i18n.py
@@ -12,7 +12,7 @@ def i18n_patterns(*urls, **kwargs):
     URLconf.
     """
     if not settings.USE_I18N:
-        return urls
+        return list(urls)
     prefix_default_language = kwargs.pop('prefix_default_language', True)
     assert not kwargs, 'Unexpected kwargs for i18n_patterns(): %s' % kwargs
     return [LocaleRegexURLResolver(list(urls), prefix_default_language=prefix_default_language)]
diff --git a/tests/i18n/tests.py b/tests/i18n/tests.py
index 07203b341e..e1dad91cc1 100644
--- a/tests/i18n/tests.py
+++ b/tests/i18n/tests.py
@@ -1512,6 +1512,12 @@ class MiscTests(SimpleTestCase):
         with self.settings(LANGUAGES=[('en', 'English')]):
             self.assertNotEqual('pt-br', g(r))
 
+    def test_i18n_patterns_returns_list(self):
+        with override_settings(USE_I18N=False):
+            self.assertIsInstance(i18n_patterns([]), list)
+        with override_settings(USE_I18N=True):
+            self.assertIsInstance(i18n_patterns([]), list)
+
 
 class ResolutionOrderI18NTests(SimpleTestCase):