Author: russellm
Date: 2010-05-13 08:29:31 -0500 (Thu, 13 May 2010)
New Revision: 13250

Added:
   django/trunk/tests/regressiontests/views/app1/
   django/trunk/tests/regressiontests/views/app1/__init__.py
   django/trunk/tests/regressiontests/views/app1/locale/
   django/trunk/tests/regressiontests/views/app1/locale/fr/
   django/trunk/tests/regressiontests/views/app1/locale/fr/LC_MESSAGES/
   
django/trunk/tests/regressiontests/views/app1/locale/fr/LC_MESSAGES/djangojs.mo
   
django/trunk/tests/regressiontests/views/app1/locale/fr/LC_MESSAGES/djangojs.po
   django/trunk/tests/regressiontests/views/app2/
   django/trunk/tests/regressiontests/views/app2/__init__.py
   django/trunk/tests/regressiontests/views/app2/locale/
   django/trunk/tests/regressiontests/views/app2/locale/fr/
   django/trunk/tests/regressiontests/views/app2/locale/fr/LC_MESSAGES/
   
django/trunk/tests/regressiontests/views/app2/locale/fr/LC_MESSAGES/djangojs.mo
   
django/trunk/tests/regressiontests/views/app2/locale/fr/LC_MESSAGES/djangojs.po
   django/trunk/tests/regressiontests/views/app3/
   django/trunk/tests/regressiontests/views/app3/__init__.py
   django/trunk/tests/regressiontests/views/app3/locale/
   django/trunk/tests/regressiontests/views/app3/locale/es_AR/
   django/trunk/tests/regressiontests/views/app3/locale/es_AR/LC_MESSAGES/
   
django/trunk/tests/regressiontests/views/app3/locale/es_AR/LC_MESSAGES/djangojs.mo
   
django/trunk/tests/regressiontests/views/app3/locale/es_AR/LC_MESSAGES/djangojs.po
   django/trunk/tests/regressiontests/views/app4/
   django/trunk/tests/regressiontests/views/app4/__init__.py
   django/trunk/tests/regressiontests/views/app4/locale/
   django/trunk/tests/regressiontests/views/app4/locale/es_AR/
   django/trunk/tests/regressiontests/views/app4/locale/es_AR/LC_MESSAGES/
   
django/trunk/tests/regressiontests/views/app4/locale/es_AR/LC_MESSAGES/djangojs.mo
   
django/trunk/tests/regressiontests/views/app4/locale/es_AR/LC_MESSAGES/djangojs.po
Modified:
   django/trunk/django/views/i18n.py
   django/trunk/tests/regressiontests/admin_views/tests.py
   django/trunk/tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.mo
   django/trunk/tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.po
   django/trunk/tests/regressiontests/views/locale/fr/LC_MESSAGES/djangojs.mo
   django/trunk/tests/regressiontests/views/locale/fr/LC_MESSAGES/djangojs.po
   django/trunk/tests/regressiontests/views/locale/ru/LC_MESSAGES/djangojs.mo
   django/trunk/tests/regressiontests/views/locale/ru/LC_MESSAGES/djangojs.po
   django/trunk/tests/regressiontests/views/tests/i18n.py
   django/trunk/tests/regressiontests/views/urls.py
Log:
Fixed #13514 -- Corrected the process of loading multiple javascript 
translation catalogs. Thanks to jtiai for the report, to Ramiro Morales for 
working out the test case, and to Ramiro and Jannis for their help on the fix.

Modified: django/trunk/django/views/i18n.py
===================================================================
--- django/trunk/django/views/i18n.py   2010-05-13 11:11:27 UTC (rev 13249)
+++ django/trunk/django/views/i18n.py   2010-05-13 13:29:31 UTC (rev 13250)
@@ -213,13 +213,16 @@
         if en_catalog_missing:
             t = {}
         else:
+            locale_t = {}
             for path in paths:
                 try:
                     catalog = gettext_module.translation(domain, path, 
[locale])
                 except IOError:
                     catalog = None
                 if catalog is not None:
-                    t = catalog._catalog
+                    locale_t.update(catalog._catalog)
+            if locale_t:
+                t = locale_t
     src = [LibHead]
     plural = None
     if '' in t:

Modified: django/trunk/tests/regressiontests/admin_views/tests.py
===================================================================
--- django/trunk/tests/regressiontests/admin_views/tests.py     2010-05-13 
11:11:27 UTC (rev 13249)
+++ django/trunk/tests/regressiontests/admin_views/tests.py     2010-05-13 
13:29:31 UTC (rev 13250)
@@ -4,7 +4,6 @@
 import datetime
 from django.conf import settings
 from django.core.files import temp as tempfile
-from django.test import TestCase
 from django.contrib.auth import admin # Register auth models with the admin.
 from django.contrib.auth.models import User, Permission, UNUSABLE_PASSWORD
 from django.contrib.contenttypes.models import ContentType
@@ -13,15 +12,16 @@
 from django.contrib.admin.util import quote
 from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME
 from django.forms.util import ErrorList
+from django.test import TestCase
 from django.utils import formats
 from django.utils.cache import get_max_age
+from django.utils.encoding import iri_to_uri
 from django.utils.html import escape
 from django.utils.translation import get_date_formats, activate, deactivate
-from django.utils.encoding import iri_to_uri
 
 # local test models
 from models import Article, BarAccount, CustomArticle, EmptyModel, \
-    ExternalSubscriber, FooAccount, Gallery, ModelWithStringPrimaryKey, \
+    FooAccount, Gallery, ModelWithStringPrimaryKey, \
     Person, Persona, Picture, Podcast, Section, Subscriber, Vodcast, \
     Language, Collector, Widget, Grommet, DooHickey, FancyDoodad, Whatsit, \
     Category, Post, Plot, FunkyTag
@@ -36,9 +36,11 @@
     urlbit = 'admin'
 
     def setUp(self):
+        self.old_language_code = settings.LANGUAGE_CODE
         self.client.login(username='super', password='secret')
 
     def tearDown(self):
+        settings.LANGUAGE_CODE = self.old_language_code
         self.client.logout()
 
     def testTrailingSlashRequired(self):
@@ -278,26 +280,22 @@
         if the default language is non-English but the selected language
         is English. See #13388 and #3594 for more details.
         """
-        old_language_code = settings.LANGUAGE_CODE
         settings.LANGUAGE_CODE = 'fr'
         activate('en-us')
         response = self.client.get('/test_admin/admin/jsi18n/')
         self.assertNotContains(response, 'Choisir une heure')
         deactivate()
-        settings.LANGUAGE_CODE = old_language_code
 
     def testI18NLanguageNonEnglishFallback(self):
         """
         Makes sure that the fallback language is still working properly
         in cases where the selected language cannot be found.
         """
-        old_language_code = settings.LANGUAGE_CODE
         settings.LANGUAGE_CODE = 'fr'
         activate('none')
         response = self.client.get('/test_admin/admin/jsi18n/')
         self.assertContains(response, 'Choisir une heure')
         deactivate()
-        settings.LANGUAGE_CODE = old_language_code
 
 
 class SaveAsTests(TestCase):

Added: django/trunk/tests/regressiontests/views/app1/__init__.py
===================================================================
--- django/trunk/tests/regressiontests/views/app1/__init__.py                   
        (rev 0)
+++ django/trunk/tests/regressiontests/views/app1/__init__.py   2010-05-13 
13:29:31 UTC (rev 13250)
@@ -0,0 +1 @@
+#

Added: 
django/trunk/tests/regressiontests/views/app1/locale/fr/LC_MESSAGES/djangojs.mo
===================================================================
(Binary files differ)


Property changes on: 
django/trunk/tests/regressiontests/views/app1/locale/fr/LC_MESSAGES/djangojs.mo
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: 
django/trunk/tests/regressiontests/views/app1/locale/fr/LC_MESSAGES/djangojs.po
===================================================================
--- 
django/trunk/tests/regressiontests/views/app1/locale/fr/LC_MESSAGES/djangojs.po 
                            (rev 0)
+++ 
django/trunk/tests/regressiontests/views/app1/locale/fr/LC_MESSAGES/djangojs.po 
    2010-05-13 13:29:31 UTC (rev 13250)
@@ -0,0 +1,20 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <em...@address>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-09-15 19:15+0200\n"
+"PO-Revision-Date: 2010-05-12 12:41-0300\n"
+"Last-Translator: FULL NAME <em...@address>\n"
+"Language-Team: LANGUAGE <l...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "this app1 string is to be translated"
+msgstr "il faut traduire cette chaîne de caractères de app1"

Added: django/trunk/tests/regressiontests/views/app2/__init__.py
===================================================================
--- django/trunk/tests/regressiontests/views/app2/__init__.py                   
        (rev 0)
+++ django/trunk/tests/regressiontests/views/app2/__init__.py   2010-05-13 
13:29:31 UTC (rev 13250)
@@ -0,0 +1 @@
+#

Added: 
django/trunk/tests/regressiontests/views/app2/locale/fr/LC_MESSAGES/djangojs.mo
===================================================================
(Binary files differ)


Property changes on: 
django/trunk/tests/regressiontests/views/app2/locale/fr/LC_MESSAGES/djangojs.mo
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: 
django/trunk/tests/regressiontests/views/app2/locale/fr/LC_MESSAGES/djangojs.po
===================================================================
--- 
django/trunk/tests/regressiontests/views/app2/locale/fr/LC_MESSAGES/djangojs.po 
                            (rev 0)
+++ 
django/trunk/tests/regressiontests/views/app2/locale/fr/LC_MESSAGES/djangojs.po 
    2010-05-13 13:29:31 UTC (rev 13250)
@@ -0,0 +1,20 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <em...@address>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-09-15 19:15+0200\n"
+"PO-Revision-Date: 2010-05-12 22:05-0300\n"
+"Last-Translator: FULL NAME <em...@address>\n"
+"Language-Team: LANGUAGE <l...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "this app2 string is to be translated"
+msgstr "il faut traduire cette chaîne de caractères de app2"

Added: django/trunk/tests/regressiontests/views/app3/__init__.py
===================================================================
--- django/trunk/tests/regressiontests/views/app3/__init__.py                   
        (rev 0)
+++ django/trunk/tests/regressiontests/views/app3/__init__.py   2010-05-13 
13:29:31 UTC (rev 13250)
@@ -0,0 +1 @@
+#

Added: 
django/trunk/tests/regressiontests/views/app3/locale/es_AR/LC_MESSAGES/djangojs.mo
===================================================================
(Binary files differ)


Property changes on: 
django/trunk/tests/regressiontests/views/app3/locale/es_AR/LC_MESSAGES/djangojs.mo
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: 
django/trunk/tests/regressiontests/views/app3/locale/es_AR/LC_MESSAGES/djangojs.po
===================================================================
--- 
django/trunk/tests/regressiontests/views/app3/locale/es_AR/LC_MESSAGES/djangojs.po
                          (rev 0)
+++ 
django/trunk/tests/regressiontests/views/app3/locale/es_AR/LC_MESSAGES/djangojs.po
  2010-05-13 13:29:31 UTC (rev 13250)
@@ -0,0 +1,20 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <em...@address>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-09-15 19:15+0200\n"
+"PO-Revision-Date: 2010-05-12 12:41-0300\n"
+"Last-Translator: FULL NAME <em...@address>\n"
+"Language-Team: LANGUAGE <l...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "il faut traduire cette chaîne de caractères de app3"
+msgstr "este texto de app3 debe ser traducido"

Added: django/trunk/tests/regressiontests/views/app4/__init__.py
===================================================================
--- django/trunk/tests/regressiontests/views/app4/__init__.py                   
        (rev 0)
+++ django/trunk/tests/regressiontests/views/app4/__init__.py   2010-05-13 
13:29:31 UTC (rev 13250)
@@ -0,0 +1 @@
+#

Added: 
django/trunk/tests/regressiontests/views/app4/locale/es_AR/LC_MESSAGES/djangojs.mo
===================================================================
(Binary files differ)


Property changes on: 
django/trunk/tests/regressiontests/views/app4/locale/es_AR/LC_MESSAGES/djangojs.mo
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: 
django/trunk/tests/regressiontests/views/app4/locale/es_AR/LC_MESSAGES/djangojs.po
===================================================================
--- 
django/trunk/tests/regressiontests/views/app4/locale/es_AR/LC_MESSAGES/djangojs.po
                          (rev 0)
+++ 
django/trunk/tests/regressiontests/views/app4/locale/es_AR/LC_MESSAGES/djangojs.po
  2010-05-13 13:29:31 UTC (rev 13250)
@@ -0,0 +1,20 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <em...@address>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-09-15 19:15+0200\n"
+"PO-Revision-Date: 2010-05-12 12:41-0300\n"
+"Last-Translator: FULL NAME <em...@address>\n"
+"Language-Team: LANGUAGE <l...@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "il faut traduire cette chaîne de caractères de app4"
+msgstr "este texto de app4 debe ser traducido"

Modified: 
django/trunk/tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.mo
===================================================================
(Binary files differ)

Modified: 
django/trunk/tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.po
===================================================================
--- django/trunk/tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.po  
2010-05-13 11:11:27 UTC (rev 13249)
+++ django/trunk/tests/regressiontests/views/locale/es/LC_MESSAGES/djangojs.po  
2010-05-13 13:29:31 UTC (rev 13250)
@@ -9,7 +9,7 @@
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2007-09-15 16:45+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2010-05-12 12:57-0300\n"
 "Last-Translator: FULL NAME <em...@address>\n"
 "Language-Team: LANGUAGE <l...@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -18,4 +18,8 @@
 
 #: media/js/translate.js:1
 msgid "this is to be translated"
-msgstr "esto tiene que ser traducido"
\ No newline at end of file
+msgstr "esto tiene que ser traducido"
+
+
+msgid "Choose a time"
+msgstr "Elige una hora"

Modified: 
django/trunk/tests/regressiontests/views/locale/fr/LC_MESSAGES/djangojs.mo
===================================================================
(Binary files differ)

Modified: 
django/trunk/tests/regressiontests/views/locale/fr/LC_MESSAGES/djangojs.po
===================================================================
--- django/trunk/tests/regressiontests/views/locale/fr/LC_MESSAGES/djangojs.po  
2010-05-13 11:11:27 UTC (rev 13249)
+++ django/trunk/tests/regressiontests/views/locale/fr/LC_MESSAGES/djangojs.po  
2010-05-13 13:29:31 UTC (rev 13250)
@@ -9,7 +9,7 @@
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2007-09-15 19:15+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2010-05-12 12:41-0300\n"
 "Last-Translator: FULL NAME <em...@address>\n"
 "Language-Team: LANGUAGE <l...@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -17,4 +17,8 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 msgid "this is to be translated"
-msgstr "il faut le traduire"
\ No newline at end of file
+msgstr "il faut le traduire"
+
+
+msgid "Choose a time"
+msgstr "Choisir une heure"

Modified: 
django/trunk/tests/regressiontests/views/locale/ru/LC_MESSAGES/djangojs.mo
===================================================================
(Binary files differ)


Property changes on: 
django/trunk/tests/regressiontests/views/locale/ru/LC_MESSAGES/djangojs.mo
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: 
django/trunk/tests/regressiontests/views/locale/ru/LC_MESSAGES/djangojs.po
===================================================================
--- django/trunk/tests/regressiontests/views/locale/ru/LC_MESSAGES/djangojs.po  
2010-05-13 11:11:27 UTC (rev 13249)
+++ django/trunk/tests/regressiontests/views/locale/ru/LC_MESSAGES/djangojs.po  
2010-05-13 13:29:31 UTC (rev 13250)
@@ -9,7 +9,7 @@
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2007-09-15 16:45+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2010-05-12 12:57-0300\n"
 "Last-Translator: FULL NAME <em...@address>\n"
 "Language-Team: LANGUAGE <l...@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -17,4 +17,8 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 msgid "this is to be translated"
-msgstr "перевод"
\ No newline at end of file
+msgstr "перевод"
+
+
+msgid "Choose a time"
+msgstr "Выберите время"

Modified: django/trunk/tests/regressiontests/views/tests/i18n.py
===================================================================
--- django/trunk/tests/regressiontests/views/tests/i18n.py      2010-05-13 
11:11:27 UTC (rev 13249)
+++ django/trunk/tests/regressiontests/views/tests/i18n.py      2010-05-13 
13:29:31 UTC (rev 13250)
@@ -1,3 +1,4 @@
+# -*- coding:utf-8 -*-
 import gettext
 
 from django.conf import settings
@@ -2,3 +3,3 @@
 from django.test import TestCase
-from django.utils.translation import activate
+from django.utils.translation import activate, deactivate
 from django.utils.text import javascript_quote
@@ -30,6 +31,7 @@
             # javascript_quote is used to be able to check unicode strings
             self.assertContains(response, javascript_quote(trans_txt), 1)
 
+
 class JsI18NTests(TestCase):
     """
     Tests django views in django/views/i18n.py that need to change
@@ -66,3 +68,68 @@
         activate('fi')
         response = self.client.get('/views/jsi18n/')
         self.assertContains(response, 'il faut le traduire')
+
+    def testI18NLanguageNonEnglishDefault(self):
+        """
+        Check if the Javascript i18n view returns an empty language catalog
+        if the default language is non-English but the selected language
+        is English. See #13388 and #3594 for more details.
+        """
+        settings.LANGUAGE_CODE = 'fr'
+        activate('en-us')
+        response = self.client.get('/views/jsi18n/')
+        self.assertNotContains(response, 'Choisir une heure')
+        deactivate()
+
+    def testI18NLanguageNonEnglishFallback(self):
+        """
+        Makes sure that the fallback language is still working properly
+        in cases where the selected language cannot be found.
+        """
+        settings.LANGUAGE_CODE = 'fr'
+        activate('none')
+        response = self.client.get('/views/jsi18n/')
+        self.assertContains(response, 'Choisir une heure')
+        deactivate()
+
+
+class JsI18NTestsMultiPackage(TestCase):
+    """
+    Tests for django views in django/views/i18n.py that need to change
+    settings.LANGUAGE_CODE and merge JS translation from several packages.
+    """
+
+    def setUp(self):
+        self.old_language_code = settings.LANGUAGE_CODE
+        self.old_installed_apps = settings.INSTALLED_APPS
+
+    def tearDown(self):
+        settings.LANGUAGE_CODE = self.old_language_code
+        settings.INSTALLED_APPS = self.old_installed_apps
+
+    def testI18NLanguageEnglishDefault(self):
+        """
+        Check if the JavaScript i18n view returns a complete language catalog
+        if the default language is en-us, the selected language has a
+        translation available and a catalog composed by djangojs domain
+        translations of multiple Python packages is requested. See #13388,
+        #3594 and #13514 for more details.
+        """
+        settings.LANGUAGE_CODE = 'en-us'
+        settings.INSTALLED_APPS = list(settings.INSTALLED_APPS) + 
['regressiontests.views.app1', 'regressiontests.views.app2']
+        activate('fr')
+        response = self.client.get('/views/jsi18n_multi_packages1/')
+        self.assertContains(response, javascript_quote('il faut traduire cette 
chaîne de caractères de app1'))
+        deactivate()
+
+    def testI18NDifferentNonEnLangs(self):
+        """
+        Similar to above but with neither default or requested language being
+        English.
+        """
+        settings.LANGUAGE_CODE = 'fr'
+        settings.INSTALLED_APPS = list(settings.INSTALLED_APPS) + 
['regressiontests.views.app3', 'regressiontests.views.app4']
+        activate('es-ar')
+        response = self.client.get('/views/jsi18n_multi_packages2/')
+        self.assertContains(response, javascript_quote('este texto de app3 
debe ser traducido'))
+        deactivate()

Modified: django/trunk/tests/regressiontests/views/urls.py
===================================================================
--- django/trunk/tests/regressiontests/views/urls.py    2010-05-13 11:11:27 UTC 
(rev 13249)
+++ django/trunk/tests/regressiontests/views/urls.py    2010-05-13 13:29:31 UTC 
(rev 13250)
@@ -16,6 +16,16 @@
     'packages': ('regressiontests.views',),
 }
 
+js_info_dict_multi_packages1 = {
+    'domain': 'djangojs',
+    'packages': ('regressiontests.views.app1', 'regressiontests.views.app2'),
+}
+
+js_info_dict_multi_packages2 = {
+    'domain': 'djangojs',
+    'packages': ('regressiontests.views.app3', 'regressiontests.views.app4'),
+}
+
 date_based_info_dict = {
     'queryset': Article.objects.all(),
     'date_field': 'date_created',
@@ -36,6 +46,8 @@
     # i18n views
     (r'^i18n/', include('django.conf.urls.i18n')),
     (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
+    (r'^jsi18n_multi_packages1/$', 'django.views.i18n.javascript_catalog', 
js_info_dict_multi_packages1),
+    (r'^jsi18n_multi_packages2/$', 'django.views.i18n.javascript_catalog', 
js_info_dict_multi_packages2),
 
     # Static views
     (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', 
{'document_root': media_dir}),

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to