diff --git a/django/contrib/contenttypes/views.py b/django/contrib/contenttypes/views.py index 5085a2fa2c..8d8e1c7a3e 100644 --- a/django/contrib/contenttypes/views.py +++ b/django/contrib/contenttypes/views.py @@ -2,6 +2,7 @@ from django import http from django.contrib.contenttypes.models import ContentType from django.contrib.sites.models import Site, get_current_site from django.core.exceptions import ObjectDoesNotExist +from django.utils.translation import ugettext as _ def shortcut(request, content_type_id, object_id): """ @@ -11,17 +12,18 @@ def shortcut(request, content_type_id, object_id): try: content_type = ContentType.objects.get(pk=content_type_id) if not content_type.model_class(): - raise http.Http404("Content type %s object has no associated model" - % content_type_id) + raise http.Http404(_(u"Content type %(ct_id)s object has no associated model") % + {'ct_id': content_type_id}) obj = content_type.get_object_for_this_type(pk=object_id) except (ObjectDoesNotExist, ValueError): - raise http.Http404("Content type %s object %s doesn't exist" - % (content_type_id, object_id)) + raise http.Http404(_(u"Content type %(ct_id)s object %(obj_id)s doesn't exist") % + {'ct_id': content_type_id, 'obj_id': object_id}) + try: get_absolute_url = obj.get_absolute_url except AttributeError: - raise http.Http404("%s objects don't have a get_absolute_url() method" - % content_type.name) + raise http.Http404(_("%(ct_name)s objects don't have a get_absolute_url() method") % + {'ct_name': content_type.name}) absurl = get_absolute_url() # Try to figure out the object's domain, so we can do a cross-site redirect diff --git a/django/contrib/gis/sitemaps/views.py b/django/contrib/gis/sitemaps/views.py index eb2454c389..3a9acad7b0 100644 --- a/django/contrib/gis/sitemaps/views.py +++ b/django/contrib/gis/sitemaps/views.py @@ -7,6 +7,7 @@ from django.contrib.gis.db.models.fields import GeometryField from django.db import connections, DEFAULT_DB_ALIAS from django.db.models import get_model from django.utils.encoding import smart_str +from django.utils.translation import ugettext as _ from django.contrib.gis.shortcuts import render_to_kml, render_to_kmz @@ -40,7 +41,7 @@ def sitemap(request, sitemaps, section=None): maps, urls = [], [] if section is not None: if section not in sitemaps: - raise Http404("No sitemap available for section: %r" % section) + raise Http404(_(u"No sitemap available for section: %r") % section) maps.append(sitemaps[section]) else: maps = sitemaps.values() @@ -54,9 +55,9 @@ def sitemap(request, sitemaps, section=None): else: urls.extend(site.get_urls(page=page, site=current_site)) except EmptyPage: - raise Http404("Page %s empty" % page) + raise Http404(_(u"Page %s empty") % page) except PageNotAnInteger: - raise Http404("No page '%s'" % page) + raise Http404(_(u"No page '%s'") % page) xml = smart_str(loader.render_to_string('gis/sitemaps/geo_sitemap.xml', {'urlset': urls})) return HttpResponse(xml, content_type='application/xml') diff --git a/django/contrib/gis/views.py b/django/contrib/gis/views.py index 0e1721093b..fc51a0bf3a 100644 --- a/django/contrib/gis/views.py +++ b/django/contrib/gis/views.py @@ -1,9 +1,10 @@ from django.http import Http404 +from django.utils.translation import ugettext as _ def feed(request, url, feed_dict=None): """Provided for backwards compatibility.""" if not feed_dict: - raise Http404("No feeds are registered.") + raise Http404(_(u"No feeds are registered.")) try: slug, param = url.split('/', 1) @@ -13,7 +14,7 @@ def feed(request, url, feed_dict=None): try: f = feed_dict[slug] except KeyError: - raise Http404("Slug %r isn't registered." % slug) + raise Http404(_(u"Slug %r isn't registered.") % slug) instance = f() instance.feed_url = getattr(f, 'feed_url', None) or request.path diff --git a/django/views/static.py b/django/views/static.py index 387b7da06b..f2279802fc 100644 --- a/django/views/static.py +++ b/django/views/static.py @@ -14,6 +14,7 @@ import urllib from django.http import Http404, HttpResponse, HttpResponseRedirect, HttpResponseNotModified from django.template import loader, Template, Context, TemplateDoesNotExist from django.utils.http import http_date, parse_http_date +from django.utils.translation import ugettext as _, ugettext_noop def serve(request, path, document_root=None, show_indexes=False): """ @@ -48,9 +49,9 @@ def serve(request, path, document_root=None, show_indexes=False): if os.path.isdir(fullpath): if show_indexes: return directory_index(newpath, fullpath) - raise Http404("Directory indexes are not allowed here.") + raise Http404(_(u"Directory indexes are not allowed here.")) if not os.path.exists(fullpath): - raise Http404('"%s" does not exist' % fullpath) + raise Http404(_(u'"%s" does not exist') % fullpath) # Respect the If-Modified-Since header. statobj = os.stat(fullpath) mimetype, encoding = mimetypes.guess_type(fullpath) @@ -69,16 +70,17 @@ def serve(request, path, document_root=None, show_indexes=False): DEFAULT_DIRECTORY_INDEX_TEMPLATE = """ +{% load i18n %}
-