﻿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
36884	Translation of admin log messages fails due to case inconsistency in field names	Meiyer	Thrishagowdabl	"The Django Admin builds the log messages using `construct_change_message`, which looks at the fields of the change form, specifically their labels (https://github.com/django/django/blob/9814676ea75bfe5c5d5244c50ccfe1f652a2f058/django/contrib/admin/utils.py#L618). The helper function turns off the translation when building the change JSON, to apply the translation when a LogMessage is displayed. However, there is a flaw in the logic:
* the `verbose_name` parameter of the model field would typically be lower-cased (from the docs: ''“The convention is not to capitalize the first letter of the verbose_name. Django will automatically capitalize the first letter where it needs to.”'' ).
* the labels generated by the forms have the first letter capitalized (from the docs: ''“the default label for a Field is generated from the field name by converting all underscores to spaces and upper-casing the first letter”'') where for Model Forms, ''“Django will fall back on that model field’s verbose_name and then the field’s attribute name”''.
This results in translation mismatch at render time. For example, the log message would include `""fields"": [""Occupation""]` while the translation catalog has only the key “occupation”, coming from that field’s `verbose_name`. As a result, the field names are not properly translated.

I tracked the issue back to changes introduced in 3.0 and it persists in all versions up to 6.0."	Bug	assigned	contrib.admin	3.0	Normal			jaffar Khan	Accepted	1	0	0	0	0	0
