Quick Start¶
This guide assumes you already have django-modeltranslation set up with translated models.
1. Configure the backend¶
# settings.py
TRADUIRE = {
"BACKEND": "django_traduire.backends.deepl.DeepLBackend",
"SOURCE_LANGUAGE": "fr", # your content language
"BACKEND_OPTIONS": {
"auth_key": "your-deepl-api-key",
},
}
If SOURCE_LANGUAGE is omitted, it defaults to your LANGUAGE_CODE.
2. Translate a single instance¶
from django_traduire import translate_instance
article = Article.objects.get(pk=1)
translate_instance(article)
This reads title_fr, body_fr, etc. and populates title_de, title_en, title_it — only for empty fields.
3. Batch translate with the management command¶
# Translate everything
python manage.py traduire
# Translate one model
python manage.py traduire myapp.Article
# Preview without changes
python manage.py traduire --dry-run
4. Add admin actions (optional)¶
from django_traduire.admin import TraduireMixin
from modeltranslation.admin import TranslationAdmin
@admin.register(Article)
class ArticleAdmin(TraduireMixin, TranslationAdmin):
pass
Select articles in the admin, then use the "Translate empty fields" action.
5. Enable auto-translate (optional)¶
Now every save() will trigger translation of empty fields automatically.