Opened 17 years ago

Closed 3 years ago

#5147 closed Bug (duplicate)

Translation inconsistency for Hungarian language (entry - entries)

Reported by: Szilveszter Farkas <szilveszter.farkas@…> Owned by:
Component: Internationalization Version: dev
Severity: Normal Keywords: i18n hu pl inconsistency i18n-nofix
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

I'm building a site right now for a Hungarian customer, so I had to revise the Hungarian translation, and also review the UI bits. There is a small inconsistency I've found, which is pretty important for the Hungarian language (I don't know if this is an issue for other languages, too).

So there is a verbose_name and a verbose_name_plural field in the Meta class of a model. The verbose_name_plural field is used in two different contexts: once you can see it in the admin homepage (let's say "Entries" - the same applies to the permissions list), and you see it on the listing page ("2 entries"). The problem is that these two words are the same in English, but not in Hungarian. Remaining at our example: the homepage should say "Bejegyzések" (plural form), and the listing should say "2 bejegyzés" (we don't use the plural form after counts).

I hope you can fix the issue. A possible fix: use the verbose_name_plural on the listing page, and introduce a descriptive_name (or something similar) field for the admin index/permissions list.

Change History (13)

comment:1 by Malcolm Tredinnick, 17 years ago

Triage Stage: UnreviewedAccepted

The solution isn't going to be to introduce yet another attribute for the name, because that cycle we will spend forever chasing such differences between all the languages of the world. Sometimes we are just going to have tolerate slightly imperfect sentence structures when we are combining fragments like this.

In this case, we might be able to work around it by using ungettext() as the translation method instead of gettext() and add some clear documentation about why it is used that way. I'll have a think about the impact on existing code for that approach.

comment:2 by Jarek Zgoda, 17 years ago

Keywords: pl added

Polish language has 3 pluralization forms (singular and 2 plurals) and inconsistencies are visible too. Using of (u)ngettext seems to be good idea.

comment:3 by Joost Cassee, 16 years ago

Another problem where (u)ngettext would help is the case where singular and plural are the same in English, e.g. a 'Series' model.

comment:4 by Marc Garcia, 15 years ago

Keywords: i18n-nofix added
Owner: changed from nobody to Marc Garcia
Status: newassigned

comment:5 by Marc Garcia, 15 years ago

Owner: Marc Garcia removed
Status: assignednew

comment:6 by Gabriel Hurley, 14 years ago

Severity: Normal
Type: Bug

comment:7 by Aymeric Augustin, 13 years ago

UI/UX: unset

Change UI/UX from NULL to False.

comment:8 by Aymeric Augustin, 13 years ago

Easy pickings: unset

Change Easy pickings from NULL to False.

comment:9 by Bouke Haarsma, 11 years ago

I submitted a PR: https://github.com/django/django/pull/1828

I've added a verbose_name_count Meta option for providing count texts. It uses a lazy ngettext for deferred lookups. It is fully backwards compatible as it constructs from verbose_name and verbose_name_plural if not provided.

comment:10 by Bouke Haarsma, 11 years ago

Owner: set to Bouke Haarsma
Status: newassigned

comment:11 by Bouke Haarsma, 11 years ago

After some more researching, I've found #11688 to be a more generic case for this issue. My approach is rather simplified to what is discussed in that issue. This will contribute to one single issue in #11688, but still many others remain.

comment:12 by Bouke Haarsma, 11 years ago

Owner: Bouke Haarsma removed
Status: assignednew

Deassigning as #11688 is a more fine grained approach

comment:13 by Mariusz Felisiak, 3 years ago

Resolution: duplicate
Status: newclosed
Triage Stage: AcceptedUnreviewed

IMO we can close this as a duplicate of #11688.

Note: See TracTickets for help on using tickets.
Back to Top