0

オブジェクトにはstatusという属性があります。ステータスには、が開かれたが閉じたの2つの状態があります。この属性の値は変換する必要があります。オブジェクトの属性を国際化

<td> {% trans object.status %} </td> 

<td> 
    {% blocktrans with object.status as status %} {{ status }} {% endblocktrans %} 
</td> 

しかしなし結果:私は2つの方法でこれを実行しようとしました。 django.poファイルには、%(status)というエントリがあります。 Djangoはどのようにステータスを翻訳するのか知っていますか?

答えて

1

ステータスには2つの状態しかない場合は、モデル定義にchoices属性を使用する必要があります。選択肢の値は、その後の翻訳のためにマークすることができます。

STATUS_CHOICES = (
    ('open', _('open')), 
    ('closed', _('closed')) 
) 

class MyModel(models.Model): 
    status = models.CharField(max_length=10, choices=STATUS_CHOICES) 

とテンプレートで、get_status_displayメソッドを使用します。あなたがPOにこれらの4行を削除した場合

<td> {{ object.get_status_display }} </td> 
+0

ありがとう – Seitaridis

0

チェック:

msgid "opend" 
msgstr "Your translated word" 

msgid "closed" 
msgstr "your trans word" 

と実行:

manage.py compiletranslation 

.poファイルを既存の.moファイルで編集すると、変更が反映されないため、