﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
10436	Application names i10n in the admin app broken	Ramiro Morales	Ramiro Morales	"Having

{{{
{% blocktrans with app.name as name %}{{ name }}{% endblocktrans %}
}}}

as we currently do in some admin templates shows a decision has been made to provide developers the means to translate application names. The problem is this feature was DOA (r3270, `django/contrib/admin/templates/admin/index.html`, similar template code was copied since then to another file: r8474, `app_index.html`)

See relevant [http://groups.google.com/group/django-users/browse_frm/thread/f8fcbe25e3327c5d django-users] and [http://groups.google.com/group/Django-I18N/browse_frm/thread/bdcdaf433bfcd144 django-i18n] threads for the details.

The attached patch implements the manual steps outlined by the user ''patrikk'' in the first thread with the following enhancements:

 * `index`, `app_index`: Moved the markup-as-translatable of app names from the template to the view code so the translators don't need to translate a second title()'d version of every app name.
 * Consistent use of the capfirst filter over the app names in the breadcrumbs of the different views
 * Don't touch `base_site.html` in order to provide for translatability of the app name in the <title> HTML tag for the application-specific model list view, implement the needed change in the relevant view (`app_index`) instead (replacing a ""%s administration"" msgid with a more translator-friendly ""%(app_label)s administration"" one in the process). This spare translators the need to translate both a ""flatpages"" and a ""flatpages administration"" literal.
 * Extended fixes to other templates that also need them (`delete_confirm.html`,  `object_history.html`)

'''Note 1:''' The `change_form.html` template ran the app label (in addition to the `capfirst` filter) through the `escape` filter. This has been dropped because it seems inconsistent with what is done in rest of the templates, and because the app name isn't user-provided content.

'''Note 2:''' There seems to be some inconsistency on how the app name is .title()'d for the name that appear in the caption of model tables (`index` and `app_index` views`) and `|capfirst`'d for use in HTML title and breadcrumbs. This has been left untouched to avoid introducing a backward incompatible change.

Note that several of the problems exposed above had already been reported in #9273 and that some of the presentation-related (like calling .title() and/or capfirst() in view code could be moved to templates if/when #5972 gets committed (will try to work on adding test+docs to it.)
"		new	contrib.admin	dev			blocktrans trans app_label breadcrumbs capfirst title		Unreviewed	0	0	0	0		
