Skip to content

Django Traduire

Auto-translate django-modeltranslation fields using DeepL, Google Cloud Translation, or OpenAI.


The problem

You use django-modeltranslation to manage multilingual content. For each translatable field, it creates language-specific columns: title_fr, title_de, title_en, title_it...

But you develop in one language. Your content editors write in one language. The other columns stay empty.

Manually translating every field, for every model, in every language is tedious and error-prone.

The solution

django-traduire fills the gaps automatically. Write your content in your source language, and let a translation backend populate the rest.

from django_traduire import translate_instance

article = Article.objects.get(pk=1)
# article.title_fr = "Bonjour le monde"

translate_instance(article)
# article.title_de = "Hallo Welt"
# article.title_en = "Hello world"
# article.title_it = "Ciao mondo"

Features

  • Pluggable backends — DeepL, Google Cloud Translation, OpenAI, or write your own
  • Batch translation — translates all fields and all languages in minimal API calls
  • Management commandpython manage.py traduire to batch-translate existing data
  • Admin integration — "Translate" action in Django admin with one click
  • Auto-translate on save — optional signal-based auto-translation
  • Non-destructive — only fills empty fields by default (overwrite is opt-in)
  • Zero config source detection — defaults to your LANGUAGE_CODE