Próbuję przetłumaczyć aplikację Django. Stworzyłem kilka ciągów {% trans %}
w moich szablonach. Jednak gdy wykonuję następujące polecenie w folderze aplikacji, otrzymuję komunikat o błędzie:
$ django-admin.py makemessages -l fr
CommandError: Unable to find a locale path to store translations for file __init__.py`
Co zrobiłem źle?
django
translation
Antoine M.
źródło
źródło
makemessages
polecenie z tegolocale
katalogu, jeśli jest już dostępne.LOCALE_PATHS
nawet jeśli jestlocale
inaczej, skompilowany tekst nie będzie wykrywalny.LOCALE_PATHS
do skonfigurowania)Właściwie możesz skonfigurować, gdzie znajduje się folder locale. W swoim settings.py dodaj:
Następnie utwórz folder dla każdego z języków, które chcesz przetłumaczyć:
źródło
Problem polega na tym, że polecenie nie jest uruchamiane z katalogu aplikacji, ale z katalogu projektu. Ten fragment z dokumentów wyjaśnia to:
Okazuje się, że najpierw musisz utworzyć
locale
folder za pomocąmkdir locale
.Więc albo uruchom polecenie z katalogu aplikacji:
… Lub definiujesz katalog locale dla całego projektu używając
LOCALE_PATHS
i możeszmakemessages
od tego momentu uruchomić z katalogu głównego.Tak czy inaczej, powinieneś sprawdzić, czy
./locale/
katalog istnieje i utworzyć go za pomocąna wypadek gdyby tak nie było.
źródło