2011-11-01 16 views
6

Ho un problema simile come si trova qui Why doesn't Django produce locale files from template files in another directory?Django Internazionalizzazione

Tuttavia non capisco la soluzione. La mia struttura:

Project 
    App1 
     locale 
     templates 
    App2 
     locale 
     templates 
    templates 
     somefilethatneedstranslation.html 

Ora, quando ho eseguire questo comando da App1:

python ../manage.py App1 -l nl 

E 'ben crea un file po per i modelli App1 nella cartella locale App1

Tuttavia voglio la mia globale i modelli da tradurre aswell .. nOTA: non voglio una cartella locale nella mia radice del progetto, così ho provato ad aggiungere un link simbolico alla cartella dei modelli da App1 ma non aggiunge i risultati di traduzione al file App1/locale/po

dalla cartella App1

ln -s ../templates/locale/* translations 
python ../manage.py App1 -l nl --symlinks 

Che cosa mi manca?

nota:

dalla cartella dei modelli

python ../manage.py templates -l nl 

potrebbe funzionare, ma non sarà Poiché i modelli, ovviamente, non è un app installata, sembra che mi manca l'ovvio ...

+0

Dove si desidera memorizzare le traduzioni per i modelli globali? – akonsu

+1

well django 1.4 alpha mi dice che le cartelle locali nella root del progetto sono deprecate .. quindi in qualsiasi altro luogo suppongo? È davvero strano che Django non offra un metodo immediato per le traduzioni di modelli globali? –

+0

cosa succede quando si esegue "django-admin.py makemessages -l nl" dalla directory del progetto? – akonsu

risposta

6

il messaggio deprecazione completo (che è anche spiegata nel translation docs) è:

Translations in the project directory aren't supported anymore. LOCALE_PATHS setting instead.

Questo messaggio è forse un po 'oscuro. Mentre automatica scoperta di traduzioni nella directory del progetto è deprecato, l'uso di LOCALE_PATHS per fare riferimento a una cartella locale a livello di progetto è del tutto accettabile.

Se si dispone di modelli a livello di progetto, non ha senso avere questi modelli tradotti in una posizione locale specifica per l'applicazione: mantenere una directory locale a livello di progetto, fare riferimento a esso in LOCALE_PATHS.

+0

Grazie, suppongo di aver perso quella parte :) –

Problemi correlati