Je développe un nouveau projet à partir de zéro avec Django. Je vois qu'il existe de nombreuses applications pour gérer la traduction du contenu dynamique. p>
Nommer peu. P>
TRANSDB, transmetta et foire sonnelle multilingue, mais je veux lire des expériences personnelles. P>
Lequel d'entre eux devrais-je choisir? P>
4 Réponses :
Je suis d'accord avec S.Lott dans lequel vous voudrez penser à ce dont vous avez besoin de l'internationalisation. Cependant, il s'agit d'une très bonne épuisée de tous les paquets mentionnés: P>
http: //blog.muhuk .Com / 2010/01/06 / Dynamic-Traduction-Apps-for-django.htm p>
Mon choix personnel jusqu'à présent est "rien de ce qui précède". Je suis actuellement prototypage avec Datatrans: P>
http://github.com/citylive/django-datatrans p>
http://www.botondus.com/dynamic-translation- avec-django-datatrans / p>
Mais je peux encore choisir une autre solution. P>
J'utilise le Django I18N pour un bilingue Projet: Je suis vraiment vraiment satisfait de celui-ci et je le recommanderais certainement, mais je dois dire que je n'ai jamais essayé l'un des autres ... P>
Ce n'est pas une méthode élégante à utiliser avec du contenu dynamique.
Tout d'abord, vous avez besoin d'une sorte de hack pour ajouter le contenu traduisateur dans la base de données aux fichiers .po. Ensuite, vous devez fournir une interface pour les générateurs de contenu pour modifier et compiler ces fichiers. Enfin, vous devez redémarrer votre application pour apporter des modifications, ce qui peut être abusable si vos opérateurs ont ce privilège. Le support I18N intégré de Django n'est que génial pour le texte statique.
Il y a 2 types de traduction modèle: p>
La 1ère approche est plus efficace car vous n'utilisez pas de jointures supplémentaires. Et le 2e one est moins intrusif car il ne modifie pas la table modèle d'origine. Personnellement, j'aime mieux la 1ère option et c'est l'une des principales raisons pour lesquelles j'utilise Django-Modeltranslation a>. p>
Vous pouvez également consulter cette . p>
django-nani est une nouvelle application, qui est rapide et bien écrite en utilisant probablement la meilleure approche de conception.
C'est toujours en développement mais fonctionne bien et a un documentation . p>
Il s'agit d'un extrait pour voir comment les modèles multilingues sont définis: P>
from django.db import models from nani.models import TranslatableModel, TranslatedFields class DjangoApplication(TranslatableModel): name = models.CharField(max_length=255, unique=True) author = models.CharField(max_length=255) translations = TranslatedFields( description = models.TextField(), description_author = models.CharField(max_length=255), ) def __unicode__(self): return self.name
Sans exigences réelles, la réponse est "Rouler une matrice". Il y a six choix. Six visages sur une matrice. Rouler et aller. Si vous n'aimez pas la réponse des dés, vous devrez également penser aux exigences ou réfléchir aux raisons pour lesquelles vous ne voudriez pas l'un des choix s'il a été choisi pour vous par un outsider.
Sans exigences réelles, la réponse reste "rouler une matrice".