Ich versuche eine Django-App zu übersetzen. Ich habe einige Zeichenfolgen mit {% trans %}
in meinen Vorlagen erstellt. Wenn ich jedoch den folgenden Befehl in meinem App-Ordner ausführe, wird eine Fehlermeldung angezeigt:
$ django-admin.py makemessages -l fr
CommandError: Unable to find a locale path to store translations for file __init__.py`
Was habe ich falsch gemacht?
django
translation
Antoine M.
quelle
quelle
makemessages
Befehl aus diesemlocale
Verzeichnis aus, wenn er bereits verfügbar ist.LOCALE_PATHS
auch wennlocale
der kompilierte Text sonst nicht erkennbar ist.LOCALE_PATHS
zu konfigurieren)Tatsächlich können Sie konfigurieren, wo sich der Gebietsschemaordner befindet. Fügen Sie in Ihrer settings.py Folgendes hinzu:
Erstellen Sie dann einen Ordner für jede der Sprachen, die Sie übersetzen möchten:
quelle
Das Problem ist, dass der Befehl nicht aus dem App-Verzeichnis, sondern aus dem Projektverzeichnis ausgeführt wird. Dieser Ausschnitt aus den Dokumenten erklärt es:
Es stellt sich heraus, dass Sie
locale
zuerst einen Ordner mit erstellen müssenmkdir locale
.Sie führen den Befehl also entweder über das App-Verzeichnis aus:
… Oder Sie definieren ein projektweites Gebietsschemaverzeichnis mit
LOCALE_PATHS
und könnenmakemessages
von dort aus vom Hauptverzeichnis aus ausführen .In jedem Fall sollten Sie überprüfen, ob das
./locale/
Verzeichnis vorhanden ist, und es mit erstellenfalls es nicht ist.
quelle