コードのdjango刺し傷に複数形を追加するには、を使用する必要がありますungettext()
。ここで、3番目のパラメーターは、単数形と複数形のどちらを使用するかを決定するカウンターです。
text = ungettext(
'There is %(count)d %(name)s available.',
'There are %(count)d %(name)s available.',
count
) % {
'count': count,
'name': name
}
が呼び出されたときに、カウンタとしてのパラメータが使用可能である必要がありますungettext()
。しかし、私の場合、弦とカウンターが分離されているため、適切な場所にカウンターを供給することは不可能です。
class foo(bar):
description="There is %(count)d %(names)s available."
class foo_2(bar):
description="%(count)d rabbits jump over the %(names)s."
# More 'foo' type classes....
class foo_model(Model):
count=IntegerField()
name=CharField()
klass=CharField()
#model definition...
def _get_self_class(self):
if self.klass=='foo':
return foo
elif self.klass=='foo_2':
return foo_2
def get_description(self):
return self._get_self_class.description%(self.count,self.name)
私はこれを国際化する方法に少しこだわっています。誰か良い考えがありますか?
アップデート:
例を自分の状況に近いものに変更しました