About Context-Specific Translations

Some English terms have multiple meanings, and their translation depends on context. For example, in German, "address" is "Adresse" for a physical location but "Speicheradresse" in computer science. Likewise, "default" can be "Standard" in settings or "Vorgabe" in programming.

In Django, you can set a context for the translations using pgettext or pgettext_lazy:

address = models.CharField(
    pgettext_lazy("Physical", "Address"), max_length=200,
)

Analogously you can set that in the template:

{% translate "Address" context "Physical" %}

Tips and Tricks Programming Translations Django 5.2 Django 4.2 Django 3.2

Django/Python Consulting

If you have a specific Django challenge or integration you'd like to solve, I'd be happy to help. Book a free 30-minute call to discuss your project, see if we're a good fit, and explore the best approach for your needs. After the call, you'll receive a tailored cost estimate based on what we discuss.