5

Wersja:Dlaczego Django nie tworzy plików ustawień regionalnych z plików szablonów w innym katalogu? Informacje

wersja Django 1.3 pre-alfa SVN-13858

Ubuntu GNU/Linux 10.10

Jestem zupełnie nowy w i18n i l10n w Django i obecnie staram się zrobić mój projekt Django jest dostępny w języku niderlandzkim (oprócz domyślnego języka: angielski). Próbowałem zastosować instrukcje podane pod http://docs.djangoproject.com/en/dev/topics/i18n/translation/ i http://www.djangobook.com/en/2.0/chapter19/, ale nie udało mi się. Nie wiem, czy jest to związane z moją strukturą katalogów, a pliki szablonów znajdują się w zupełnie innym katalogu (mam na myśli nie jako podkatalog w katalogu projektu mojego Django). Mój katalog projektu wygląda następująco:

/home/emre/mydjango/myproject 
/home/emre/mydjango/myproject/myapp1 
/home/emre/mydjangotemplates 
/home/emre/mydjangotemplates/myapp1 

W myproject i myapp1 katalogów Próbowałem wydać następujące polecenie:

django-admin.py makemessages -l nl 

Ale otrzymaliśmy następujący błąd:

Error: This script should be run from the Django SVN tree or your project or 
app tree. If you did indeed run it from the SVN checkout or your project or 
application, maybe you are just missing the conf/locale (in the django tree) 
or locale (for project and application) directory? It is not created automatically, 
you have to create it by hand if you want to enable i18n for your project or 
application. 

Tak Próbowałem utworzyć katalogi z katalogu myproject i myapp1. Potem wydał powyższą komendę ponownie (raz w projekcie, a raz w katalogu aplikacji) i tym razem bez błędu lub ostrzeżenia, to powiedział:

processing language nl 

Sprawdziłem katalogów regionalnych i widział, że były one wypełniane podkatalogi, ale nie było żadnych plików .po w ogóle:

$ tree 
. 
`-- nl 
    `-- LC_MESSAGES 

2 directories, 0 files 

i podwójne sprawdzone, że mam .html (pliki szablonów) w domu/Emre/mydjangotemplates i że zawierają one {% load i18n %} i niektóre linie, takie jak {% trans "Fragment angielskiego tekstu"%}.

Czego mi brakuje? Czy należy wywoływać komendę django-admin.py makemessages z innymi parametrami? Dlaczego Django nie tworzy plików .po, mimo że mam trochę tekstu do przetłumaczenia w moich plikach szablonu .html?

Odpowiedz

9

makemessages przegląda tylko katalogi w bieżącym katalogu. Możesz spróbować utworzyć dowiązanie symboliczne z dowolnego miejsca w projekcie do katalogu szablonów i dodać -s to make it follow symlinks.

+0

Utworzyłem dowiązania symboliczne do katalogu szablonów z katalogów projektów i aplikacji, a następnie wypróbowałem to samo polecenie, ten sam wynik. Następnie usunęliśmy podkatalogi regionalne, ponownie je utworzyłem, wypróbowałem, ten sam wynik, a następnie wypróbowałem jako django-admin.py makemessages -a, ale niestety otrzymałem tylko pusty katalog locale/nl/LC_MESSAGES/w moim projekcie i foldery aplikacji. –

+1

spróbuj dodać - wartość 2 na końcu polecenia. powinien wydrukować, co robi, może to da jakąś wskazówkę. –

+0

Zrobiłem i wygląda na to, że nie przechodzę przez podkatalogi, które są normalnie osiągalne przez podążanie za dowiązaniem symbolicznym: badanie plików z rozszerzeniami: .html język przetwarzania nl ignorowanie pliku models.py ~ w. ignorowanie pliku urls.py ~ w. ignorowanie pliku views.py ~ in. przetwarzanie pliku __init__.py w. przetwarzanie pliku models.py w. plik przetwarzania tests.py w. przetwarzanie pliku urls.py w. przetwarzanie widoków plików.py w –

Powiązane problemy