10
votes

Traduction Django Modèle: Traductions de magasin dans la base de données ou utilisez gettext?

Je suis dans un processus I18N du site Web de Django.

J'ai sélectionné deux potentiellement bonnes applications Django-Apps:

  • Django-Modeltranslation qui modifie le schéma DB pour stocker les traductions
  • DJANGO-DBGETTEXT qui inspecte le contenu de DB pour créer des fichiers .po et utilise gettext

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


0 commentaires

4 Réponses :


8
votes

Si vous souhaitez informer facilement les utilisateurs de vos applications (ou des traducteurs tiers) de mettre à jour facilement les traductions sans modifications de code, optez pour l'une des solutions qui stockent les traductions de la base de données.

Si vous voulez plutôt plus de contrôle de la qualité (contrôle de la version, plusieurs regards, etc.), utilisez GetText. En utilisant GetText, vous pouvez également contrôler les cordes que vous souhaitez traduire.

juste mon 2c.


0 commentaires

1
votes

http://packages.python.org/django-easymode/ combine les deux :

http://packages.python.org/django-easymode/i18n/ index.html

http://packages.python.org/django-easymode/i18n/ translation.html

Gettext is used to translate large ammounts of data, and the admin is used for day to day updates.


1 commentaires

Est-ce flash / flex uniquement?



4
votes

Django-ModelTranslation est le meilleur pour stocker la valeur traduite. Vous irez à Django-admin et mettre une valeur traduite.

Mais si vous utilisez django-dbgettext , vous n'avez pas besoin de mettre une valeur dans Django-admin, vous pouvez utiliser Rosetta pour cela. Si vous ne pouvez pas regarder de valeur pour la traduction et que vous souhaitez que la traduction soit traduise, vous pouvez effectuer une entrée de modèle dans " * dbgetext_registration.py * " et exécuter la commande "python manage.py dbgetext_export" alors "python geper.py compilemessages".


0 commentaires

0
votes

Je vous suggérerais de vous toujours utiliser des fichiers pour vos traductions. Il est portable et n'a pas d'impact inconnu sur la performance de la DB (en particulier un problème lors de l'utilisation de packages «magiques» que la schéma de votre schéma de DB)

Ce paquet semble simple et extensible: https://github.com/ecometrica/django-vinaigrette < / a>


0 commentaires