Ajouter et maintenir des traductions
1. Marquer les textes traduisibles
Dans les templates Django
Toujours commencer par charger le module i18n :
{% load i18n %}
Texte simple
{% trans "Texte à traduire" %}
Texte sur plusieurs lignes
{% blocktrans %}
Texte
sur
plusieurs lignes
{% endblocktrans %}
Variante recommandée
{% blocktrans trimmed %}
Texte
sur
plusieurs lignes
{% endblocktrans %}
Avec des variables
{% blocktrans with annee=settings.RIF_DATE.year %}
Candidature RIF {{ annee }}
{% endblocktrans %}
2. Dans le code Python
Utiliser gettext_lazy (alias _) :
from django.utils.translation import gettext_lazy as _
verbose_name = _("Nom de l'entreprise")
3. Générer les fichiers de traduction
django-admin makemessages --all
Options utiles :
--ignore=.venv
--ignore=env
--no-obsolete
4. Renseigner les traductions
Deux options :
- modifier les fichiers
.poà la main - utiliser Rosetta (recommandé)
Rosetta (en local)
http://127.0.0.1:8000/rosetta
Connexion admin requise.
important
Je vous conseille de toujours utiliser Rosetta pour renseigner les traductions. C'est plus rapide et moins source d'erreurs.
5. Compiler les traductions
django-admin compilemessages