Versione:Perché Django non produce file locali da file modello in un'altra directory? Informazioni
versione Django 1.3 pre-alpha SVN-13858
Ubuntu GNU/Linux 10.10
io sono totalmente nuovo per i18n e l10n in Django e attualmente sto cercando di fare il mio progetto Django è disponibile in olandese (oltre alla lingua predefinita: inglese). Ho provato ad applicare le istruzioni fornite a http://docs.djangoproject.com/en/dev/topics/i18n/translation/ e http://www.djangobook.com/en/2.0/chapter19/ ma non ho avuto successo. Non so se questo è legato alla mia struttura di directory e ai file di modello che si trovano in una directory completamente diversa (non intendo come sottodirectory all'interno della directory del mio progetto Django). La mia directory del progetto è simile al seguente:
/home/emre/mydjango/myproject
/home/emre/mydjango/myproject/myapp1
/home/emre/mydjangotemplates
/home/emre/mydjangotemplates/myapp1
Nel myproject e directory myapp1 ho cercato di eseguire il seguente comando:
django-admin.py makemessages -l nl
Ma ricevuto il seguente errore:
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.
Così Ho provato a creare le directory locali nelle directory myproject e myapp1. Dopo di che ho dato il comando di cui sopra ancora una volta (una volta nel progetto e una volta nella directory app) e questa volta senza alcun errore o avvisi Diceva:
processing language nl
ho controllato le directory di locale e ho visto che sono stati popolati con sottodirectory, ma non c'erano file .po a tutti:
$ tree
.
`-- nl
`-- LC_MESSAGES
2 directories, 0 files
ho ricontrollato che ho i miei file .html (file template) in casa/Emre/mydjangotemplates e che comprendono {carico i18n% %} e alcune righe come {% trans "Un pezzo di testo inglese"%}.
Cosa mi manca? Devo invocare il comando django-admin.py makemessages con parametri diversi? Perché Django non crea file .po anche se ho qualche testo da tradurre nei miei file modello .html?
Ho creato collegamenti simbolici alla directory dei modelli dalle directory dei progetti e delle app, quindi ho provato lo stesso comando, lo stesso risultato. Poi ho cancellato le sottodirectory locali, le ho ricreate, l'ho provata, lo stesso risultato, ho anche provato come django-admin.py makemessages -a, ma sfortunatamente tutto ciò che ottengo è una directory locale vuota/nl/LC_MESSAGES/all'interno del mio progetto e cartelle di app. –
prova aggiunto --verbosity 2 alla fine del comando. dovrebbe stampare quello che sta facendo, forse darà qualche indizio. –
Ho fatto e sembra che non stia attraversando le sottodirectory che sono normalmente raggiungibili seguendo il link simbolico: esaminando i file con le estensioni: .html linguaggio di elaborazione nl ignorando il file models.py ~ in. ignorando il file urls.py ~ in. ignorando il file views.py ~ in. file di elaborazione __init__.py in. file di elaborazione models.py in. file di elaborazione tests.py in. file di elaborazione urls.py in. viste dei file di elaborazione.py in –