Wenn ich pgettext_lazy für den Hilfstext meines Modells verwende, schlägt meine Vorlage fehl. Es funktioniert gut mit ugettext_lazy.Warum bricht Pgettext_lazy meine Vorlage, aber Ugettext_lazy nicht?
Fehler
Caught TypeError while rendering: Lazy object returned unexpected type.
Modell
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)"))
Formular
class BalanceIncreaseOrderForm(ModelFormRequired):
class Meta:
model = BalanceIncreaseOrder
fields = ("amount",)
Vorlage
{% for field in form %}
{{ field }}
{% endfor %}
Ich habe das Modell sofort nach dem Festlegen des Hilfetextes in jeder Richtung getestet. Beide Male druckt es
<django.utils.functional.__proxy__ object at 0x10fcb3a50>
Gibt es einen Fehler in Pgettext_lazy? Irgendwelche Ideen?
gut ... es ist die beste Option, die ich bisher gesehen habe. Danke für das Teilen. –
etwas anderes, das von Interesse sein könnte. poedit (eine App, die von vielen Übersetzern verwendet wird, um die po-Dateien zu lesen/zu bearbeiten), unterstützt nicht das msgctx-Tag, das pgettext erzeugt. In meinem Fall habe ich den Kontext falsch verwendet, um dem Übersetzer einen Kommentar zu geben. Stattdessen habe ich es nur geändert, um die Standard-Inline-Kommentarfunktion zu verwenden (# Translators: blah blah blah) –
edit: poedit 1.5.4 scheint das msgctxt-Tag zu unterstützen. –