Ich habe dies für sehr lange Zeit googelt aber ohne Ergebnisse. Ich bin Anfänger in Django, also kenne ich nicht alle Funktionen. Aber dieses Problem ist sehr wichtig für Client :-(Sie mir helfen können, bitteDjango - multiple Pluralisierung in Admin-Modell
Also, ich habe dieses Modell definiert:
from django.utils.translation import ugettext_lazy as _
class Product(Model):
#translation for model and set db table name
class Meta:
verbose_name = _('product')
verbose_name_plural = _('products')
...
Jetzt, da die tschechischen Sprache, ich brauche diese in Admin geschrieben Liste:
- 0 výrobků
- 1 výrobek
- 2-4 výrobky
- 5- výrobků
Überall sonst verwende ich ungettext
erfolgreich. Ich weiß jedoch nicht, wie man in Meta zählt. Ich habe diese als abstrakte gefunden (aber scheint nutzlos zu sein):
class Model(DjangoModel):
class Meta:
abstract = True
def get_description(self):
return ungettext(self.verbose_name, self.verbose_name_plural, self.count) % \
{'count':self.count, 'name':self.name}
Quelle ist von django internationalization: counter is not available when marking strings for pluralization
Vielleicht am Ende Sprache Definition wäre schön zu zeigen (versuchte hinzufügen/entfernen% s aus msgid
):
msgid "%s product"
msgid_plural "%s products"
msgstr[0] "%s 1 výrobek"
msgstr[1] "%s 2 výrobky"
msgstr[2] "%s 5 výrobků"
Wenn Sie weitere Informationen zur Frage, ob ich es schaffen werde.
Vielen Dank im Voraus.
UPDATE
Stellen Sie bitte sicher, dass ich in der .po-Datei folgende bin mit:
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
Noch einmal, anderswo aber Admin-Modelle, es funktioniert. Es ist quetion nicht, wie Multi Pluralisierung im Allgemeinen laufen, aber wie alles in admin (zB neue abstraktes Modell etc.) ändern, um es dort zu laufen ...
Hey, ich schrieb, dass überall sonst ich es erfolgreich benutze, nur in Admin-Modellen funktioniert es nicht. Ich habe den Beitrag aktualisiert, um sicher zu sein, dass jeder sehen wird, dass ich diesen Text in der .po-Datei habe. – tomis