Comment puis-je collecter des chaînes de traduction en dehors de mon dossier de projet à l'aide de la fonction makemessages
intégrée de Django? La commande de gestion makemessages
est très pratique et je voudrais l'utiliser pour des applications situées dans des paquets de site.Django makemessages pour les applications dans les packages de site
Répondre
À part makemessages j'ai trouvé PyBabel très utile. Voici une liaison à Django lui-même: http://babel.edgewall.org/wiki/BabelDjango
Avec des liens de symboles (ln -s) mais ce n'est pas très pratique. Habituellement, si les applications sont sur PYTHONPATH, les dossiers de traduction ne devraient-ils pas être saisis par makemessages?
maintenant I * utilisez * des liens symboliques mais c'est une solution de contournement laide. Il est codé en dur dans * makemessages.py * pour trouver les fichiers dans le répertoire de travail courant, il ignore PYTHONPATH. –
Lorsque vous utilisez des liens symboliques, n'oubliez pas d'ajouter l'option '--symlinks' à [' makemessages'] (https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-makemessages) – guival
(1) Activez un environnement virtuel dans lequel Django est installé.
(2) répertoire Go de l'application pour laquelle vous voulez que les messages soient générés:
$ cd path/to/app/in/site/packages/
(3) Assurez-vous qu'il a répertoire "locale". Si non - en faire un.
$ mkdir locale
(4) De exécuter votre répertoire application de la commande suivante:
$ django-admin.py makemessages -l [LANGUAGE_CODE]
Exemple Néerlandais:
$ django-admin.py makemessages -l nl
Exemple russe:
$ django-admin.py makemessages -l ru
Je ne suis pas sûr que c'est ce que l'OP demande, est-ce que cela collecte des chaînes * en dehors du projet? Pour autant que je sache, cela va juste collecter des chaînes de fichiers html, txt et py à l'intérieur du projet ou de l'application. – guival
Oui, il collecte les chaînes à partir du package à partir duquel vous l'exécutez. C'est pourquoi nous avons '' cd chemin/vers/app/in/site/packages/''. –
Merci , il fonctionne comme un charme. –