Index: django/views/i18n.py
===================================================================
--- django/views/i18n.py	(revisión: 8521)
+++ django/views/i18n.py	(copia de trabajo)
@@ -137,19 +137,10 @@
         except IOError:
             # 'en' catalog was missing. This is harmless.
             pass
-    # next load the settings.LANGUAGE_CODE translations if it isn't english
-    if default_locale != 'en':
+    # next load the currently selected language, if it isn't english
+    if locale != 'en':
         for path in paths:
             try:
-                catalog = gettext_module.translation(domain, path, [default_locale])
-            except IOError:
-                catalog = None
-            if catalog is not None:
-                t.update(catalog._catalog)
-    # last load the currently selected language, if it isn't identical to the default.
-    if locale != default_locale:
-        for path in paths:
-            try:
                 catalog = gettext_module.translation(domain, path, [locale])
             except IOError:
                 catalog = None
Index: tests/regressiontests/views/locale/en/LC_MESSAGES/djangojs.mo
===================================================================
No se puede mostrar: el archivo está marcado como binario.
svn:mime-type = application/octet-stream
Index: tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.mo
===================================================================
No se puede mostrar: el archivo está marcado como binario.
svn:mime-type = application/octet-stream
Index: tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.po
===================================================================
--- tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.po	(revisión: 8521)
+++ tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.po	(copia de trabajo)
@@ -18,4 +18,8 @@
 
 #: media/js/translate.js:1
 msgid "this is to be translated"
-msgstr "esto tiene que ser traducido"
\ Sin fin-de-línea al final del archivo
+msgstr "esto tiene que ser traducido"
+
+#: media/js/translate.js:2
+msgid "message not in default language catalog"
+msgstr "message translated that should not exists in english"
\ Sin fin-de-línea al final del archivo
Index: tests/regressiontests/views/locale/fr/LC_MESSAGES/djangojs.mo
===================================================================
No se puede mostrar: el archivo está marcado como binario.
svn:mime-type = application/octet-stream
Index: tests/regressiontests/views/tests/i18n.py
===================================================================
--- tests/regressiontests/views/tests/i18n.py	(revisión: 8521)
+++ tests/regressiontests/views/tests/i18n.py	(copia de trabajo)
@@ -10,6 +10,13 @@
 class I18NTests(TestCase):
     """ Tests django views in django/views/i18n.py """
 
+    def setUp(self):
+        self.old_language_code = settings.LANGUAGE_CODE
+        settings.LANGUAGE_CODE = 'es' # set this to test bug #3594
+
+    def tearDown(self):
+        settings.LANGUAGE_CODE = self.old_language_code
+
     def test_setlang(self):
         """The set_language view can be used to change the session language"""
         for lang_code, lang_name in settings.LANGUAGES:
@@ -28,3 +35,8 @@
             # in response content must to be a line like that:
             # catalog['this is to be translated'] = 'same_that_trans_txt'
             self.assertContains(response, trans_txt, 1)
+
+        # Test for bug #3594
+        activate('en')
+        response = self.client.get('/views/jsi18n/')
+        self.assertNotContains(response, 'message translated that should not exists in english')
\ Sin fin-de-línea al final del archivo
