4
私のモデルのhelp_textにpgettext_lazyを使用すると、テンプレートが失敗します。それはugettext_lazyでうまく動作します。なぜpgettext_lazyはテンプレートを破損しますが、ugettext_lazyは破損しませんか?
エラー
Caught TypeError while rendering: Lazy object returned unexpected type.
モデル
class BalanceIncreaseOrder(models.Model):
amount = models.FloatField(help_text=pgettext_lazy("Translators: please localize this to reflect the correct currency", "Note: amount will be billed in United States dollars (USD)"))
フォーム
class BalanceIncreaseOrderForm(ModelFormRequired):
class Meta:
model = BalanceIncreaseOrder
fields = ("amount",)
テンプレート
{% for field in form %}
{{ field }}
{% endfor %}
それぞれの方法でヘルプテキストを設定した直後にモデルをデバッグしました。両方とも印刷されます
<django.utils.functional.__proxy__ object at 0x10fcb3a50>
pgettext_lazyにバグがありますか?何か案は?
よく...これは私がまだ見てきた最良のオプションです。共有してくれてありがとう。 –
他に興味のあることがあります。 poedit(多くの翻訳者がpoファイルを読み書きするために使用するapp)は、pgettextが作成するmsgctxタグをサポートしていません。私の場合は、翻訳者にコメントを提供するために文脈を間違って使用していました。代わりに、標準のインラインコメント機能を使用するように変更しました(#翻訳者:blah blah blah) –
編集:poctit 1.5.4がmsgctxtタグをサポートするように見えます。 –