Pertanyaan Tidak dapat menemukan jalur lokal untuk menyimpan terjemahan untuk file __init__.py


Saya mencoba menerjemahkan aplikasi Django. Saya membuat beberapa string dengan {% trans %} di template saya. Namun, ketika saya menjalankan perintah berikut di folder aplikasi saya, saya menerima pesan kesalahan:

$ django-admin.py makemessages -l fr 
CommandError: Unable to find a locale path to store translations for file __init__.py`

Apa kesalahan yang telah aku perbuat?


75
2017-07-24 14:53


asal


Jawaban:


Ternyata Anda perlu membuat locale folder pertama menggunakan mkdir locale.


109
2017-07-24 15:09



Sebenarnya Anda dapat mengkonfigurasi di mana folder lokal berada. Di add settings.py Anda:

LOCALE_PATHS = (
    PROJECT_ROOT + '/website/locale', )

Kemudian buat folder untuk masing-masing bahasa yang ingin Anda terjemahkan:

mkdir -p website/locale/de

19
2018-01-23 06:48



Masalahnya adalah bahwa perintah tidak dijalankan dari direktori aplikasi tetapi dari direktori proyek. Potongan ini dari dokumen menjelaskannya:

Ternyata Anda perlu membuat locale folder pertama menggunakan mkdir locale.

./manage.py makemessages […] Berjalan di atas seluruh pohon sumber dari direktori saat ini dan menarik semua string yang ditandai untuk diterjemahkan. Ini menciptakan (atau memperbarui) file pesan di direktori conf / locale (di pohon Django) atau lokal (untuk proyek dan aplikasi).

Jadi, Anda juga menjalankan perintah dari direktori aplikasi:

$ cd app
$ django-admin makemessages -l <locale>

... atau Anda mendefinisikan direktori lokal luas proyek menggunakan LOCALE_PATHS dan kamu bisa berlari makemessages dari direktori utama dari sana.

Either way, Anda harus memeriksa bahwa ./locale/direktori hadir dan membuatnya menggunakan

$ mkdir locale

seandainya tidak.


8
2018-01-11 11:30