6

Je suis dans le processus I18N d'un site Web de django.traduction de modèle de Django: stocker des traductions dans la base de données ou utiliser gettext?

J'ai choisi deux potentiellement bonnes django-apps:

De votre point de vue, quels sont les avantages et les inconvénients de ces deux techniques?

Répondre

6

Si vous souhaitez permettre aux utilisateurs de votre application (ou à des traducteurs tiers) de mettre à jour facilement les traductions sans modification de code, optez pour l'une des solutions qui stocke les traductions dans la base de données.

Si vous préférez un contrôle de qualité supérieur (contrôle de version, plusieurs yeux, etc.), utilisez gettext. En utilisant gettext, vous pouvez également contrôler les chaînes que vous voulez traduire.

Juste mon 2c.

4

django-modeltranslation est le meilleur pour stocker la valeur traduite. vous allez à django-admin et mettez la valeur traduite.

Mais si vous utilisez django-dbgettext, alors vous ne avez pas besoin de mettre une valeur dans django-admin, vous pouvez utiliser rosetta pour cela. Si vous ne parvenez pas à rechercher une valeur pour la traduction et que vous voulez la traduire, vous pouvez entrer le modèle dans "* dbgettext_registration.py *" et lancer la commande "python manage.py dbgettext_export" puis "python manage. py compilemessages ".