diff --git a/django/contrib/admin/sites.py b/django/contrib/admin/sites.py
a
|
b
|
|
358 | 358 | app_dict[app_label]['models'].append(model_dict) |
359 | 359 | else: |
360 | 360 | app_dict[app_label] = { |
361 | | 'name': app_label.title(), |
| 361 | 'name': app_label, |
362 | 362 | 'app_url': reverse('admin:app_list', kwargs={'app_label': app_label}, current_app=self.name), |
363 | 363 | 'has_module_perms': has_module_perms, |
364 | 364 | 'models': [model_dict], |
… |
… |
|
415 | 415 | # something to display, add in the necessary meta |
416 | 416 | # information. |
417 | 417 | app_dict = { |
418 | | 'name': app_label.title(), |
| 418 | 'name': app_label, |
419 | 419 | 'app_url': '', |
420 | 420 | 'has_module_perms': has_module_perms, |
421 | 421 | 'models': [model_dict], |
… |
… |
|
425 | 425 | # Sort the models alphabetically within each app. |
426 | 426 | app_dict['models'].sort(key=lambda x: x['name']) |
427 | 427 | context = { |
428 | | 'title': _('%s administration') % capfirst(app_label), |
| 428 | 'title': _('%(app_label)s administration') % {'app_label': capfirst(_(app_label))}, |
429 | 429 | 'app_list': [app_dict], |
430 | 430 | } |
431 | 431 | context.update(extra_context or {}) |
diff --git a/django/contrib/admin/templates/admin/app_index.html b/django/contrib/admin/templates/admin/app_index.html
a
|
b
|
|
8 | 8 | <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> |
9 | 9 | › |
10 | 10 | {% for app in app_list %} |
11 | | {% blocktrans with app.name as name %}{{ name }}{% endblocktrans %} |
| 11 | {% trans app.name|title %} |
12 | 12 | {% endfor %} |
13 | 13 | </div> |
14 | 14 | {% endblock %} |
diff --git a/django/contrib/admin/templates/admin/auth/user/change_password.html b/django/contrib/admin/templates/admin/auth/user/change_password.html
a
|
b
|
|
13 | 13 | {% block breadcrumbs %} |
14 | 14 | <div class="breadcrumbs"> |
15 | 15 | <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> |
16 | | › <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_label|capfirst|escape }}</a> |
17 | | › <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a> |
| 16 | › <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{% trans opts.app_label|capfirst|escape %}</a> |
| 17 | › <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst|escape }}</a> |
18 | 18 | › <a href="{% url opts|admin_urlname:'changelist' %}{{ original.pk }}">{{ original|truncatewords:"18" }}</a> |
19 | 19 | › {% trans 'Change password' %} |
20 | 20 | </div> |
diff --git a/django/contrib/admin/templates/admin/change_form.html b/django/contrib/admin/templates/admin/change_form.html
a
|
b
|
|
19 | 19 | {% block breadcrumbs %} |
20 | 20 | <div class="breadcrumbs"> |
21 | 21 | <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> |
22 | | › <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ app_label|capfirst|escape }}</a> |
23 | | › {% if has_change_permission %}<a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} |
| 22 | › <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{% trans app_label|capfirst|escape %}</a> |
| 23 | › {% if has_change_permission %}<a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst|escape }}</a>{% else %}{{ opts.verbose_name_plural|capfirst|escape }}{% endif %} |
24 | 24 | › {% if add %}{% trans 'Add' %} {{ opts.verbose_name }}{% else %}{{ original|truncatewords:"18" }}{% endif %} |
25 | 25 | </div> |
26 | 26 | {% endblock %} |
diff --git a/django/contrib/admin/templates/admin/change_list.html b/django/contrib/admin/templates/admin/change_list.html
a
|
b
|
|
41 | 41 | {% block breadcrumbs %} |
42 | 42 | <div class="breadcrumbs"> |
43 | 43 | <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> |
44 | | › <a href="{% url 'admin:app_list' app_label=cl.opts.app_label %}">{{ app_label|capfirst|escape }}</a> |
45 | | › {{ cl.opts.verbose_name_plural|capfirst }} |
| 44 | › <a href="{% url 'admin:app_list' app_label=cl.opts.app_label %}">{% trans app_label|capfirst|escape %}</a> |
| 45 | › {{ cl.opts.verbose_name_plural|capfirst|escape }} |
46 | 46 | </div> |
47 | 47 | {% endblock %} |
48 | 48 | {% endif %} |
diff --git a/django/contrib/admin/templates/admin/delete_confirmation.html b/django/contrib/admin/templates/admin/delete_confirmation.html
a
|
b
|
|
6 | 6 | {% block breadcrumbs %} |
7 | 7 | <div class="breadcrumbs"> |
8 | 8 | <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> |
9 | | › <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ app_label|capfirst }}</a> |
| 9 | › <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{% trans app_label|capfirst|escape %}</a> |
10 | 10 | › <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst|escape }}</a> |
11 | 11 | › <a href="{% url opts|admin_urlname:'changelist' %}{{ object.pk }}">{{ object|truncatewords:"18" }}</a> |
12 | 12 | › {% trans 'Delete' %} |
diff --git a/django/contrib/admin/templates/admin/delete_selected_confirmation.html b/django/contrib/admin/templates/admin/delete_selected_confirmation.html
a
|
b
|
|
6 | 6 | {% block breadcrumbs %} |
7 | 7 | <div class="breadcrumbs"> |
8 | 8 | <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> |
9 | | › <a href="{% url 'admin:app_list' app_label=app_label %}">{{ app_label|capfirst|escape }}</a> |
10 | | › <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a> |
| 9 | › <a href="{% url 'admin:app_list' app_label=app_label %}">{% trans app_label|capfirst|escape %}</a> |
| 10 | › <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst|escape }}</a> |
11 | 11 | › {% trans 'Delete multiple objects' %} |
12 | 12 | </div> |
13 | 13 | {% endblock %} |
diff --git a/django/contrib/admin/templates/admin/index.html b/django/contrib/admin/templates/admin/index.html
a
|
b
|
|
15 | 15 | {% if app_list %} |
16 | 16 | {% for app in app_list %} |
17 | 17 | <div class="module"> |
18 | | <table summary="{% blocktrans with name=app.name %}Models available in the {{ name }} application.{% endblocktrans %}"> |
19 | | <caption><a href="{{ app.app_url }}" class="section">{% blocktrans with name=app.name %}{{ name }}{% endblocktrans %}</a></caption> |
| 18 | <table summary="Models available in the {% trans app.name|title %} application."> |
| 19 | <caption><a href="{{ app.app_url }}" class="section">{% trans app.name|title %}</a></caption> |
20 | 20 | {% for model in app.models %} |
21 | 21 | <tr> |
22 | 22 | {% if model.admin_url %} |
diff --git a/django/contrib/admin/templates/admin/object_history.html b/django/contrib/admin/templates/admin/object_history.html
a
|
b
|
|
6 | 6 | {% block breadcrumbs %} |
7 | 7 | <div class="breadcrumbs"> |
8 | 8 | <a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> |
9 | | › <a href="{% url 'admin:app_list' app_label=app_label %}">{{ app_label|capfirst|escape }}</a> |
| 9 | › <a href="{% url 'admin:app_list' app_label=app_label %}">{% trans app_label|capfirst|escape %}</a> |
10 | 10 | › <a href="{% url opts|admin_urlname:'changelist' %}">{{ module_name }}</a> |
11 | 11 | › <a href="{% url opts|admin_urlname:'changelist' %}{{ object.pk }}">{{ object|truncatewords:"18" }}</a> |
12 | 12 | › {% trans 'History' %} |