Django makemessages für Anwendungen in site-packages
-
28-09-2019 - |
Frage
Wie kann ich sammeln Übersetzungs-Strings außerhalb meines Projektordner mit Djangos integrierten in makemessages
Einrichtung? Der Verwaltungsbefehl makemessages
ist sehr bequem, und ich möchte es in site-packages befindet sich für Anwendungen nutzen.
Lösung
Anders als makemessages fand ich PyBabel sehr nützlich. Hier ist eine Bindung an Django selbst: http://babel.edgewall.org/wiki/BabelDjango
Andere Tipps
(1) Aktivieren Sie eine virtuelle Umgebung, in Django installiert ist.
(2) Go-Verzeichnis der App, für die Sie die Nachrichten generiert werden sollen:
$ cd path/to/app/in/site/packages/
(3) Stellen Sie sicher, es hat "locale" Verzeichnis. Wenn nicht -. Make ein
$ mkdir locale
(4) Von der App-Verzeichnis den folgenden Befehl ausführen:
$ django-admin.py makemessages -l [LANGUAGE_CODE]
Beispiel für Niederländisch:
$ django-admin.py makemessages -l nl
Beispiel für Russisch:
$ django-admin.py makemessages -l ru
Mit Symbol Links (ln es), aber es ist nicht sehr praktisch. Normalerweise, wenn die Anwendungen auf PYTHONPATH sind, sollten nicht die Übersetzungen Ordner von makemessages fangen werden?