2015-01-16 15 views
5

Come posso generare messaggi (manage.py makemessages) da una libreria di terze parti che si trova nella directory virtualenv?Raccolta di messaggi da app di terze parti in Django

Ho provato semplicemente ad aggiungere i messaggi al file .po, ma ogni volta che eseguo comandi di makemessages la mia traduzione svanisce.

Molte grazie

+0

Questa libreria è un'app django? È aggiunto a INSTALLED_APPS? – catavaran

+0

Sì e sì. Strano, eh? – grafa

risposta

5

manage.py makemessages guarda solo per le directory sotto la directory corrente. Quindi devi creare link simbolico dal 3 app partito alla directory del progetto:

ln -s ~/.virtualenvs/myvenv/local/lib/python2.7/site-packages/app app 
mkdir locale 
python manage.py makemessages -l cz -s 

Nota l'opzione -s. Forza makemessages per seguire i collegamenti simbolici.

L'altro avvertimento è se il app è già localizzato quindi verrà creato .po file nella directory app/locale/cz al posto del tuo locale.

+0

E se rimuovo il link simbolico e ricominciamo i messaggi, spariranno dal file .po? – grafa

+0

Sì, scompariranno. Per evitare che questo trasloco traslochi dalla directory locale in un'altra directory e imposta l'impostazione 'LOCALE_PATHS'. La prossima volta che eseguirai "makemessages" questa traduzione non sarà toccata. – catavaran

Problemi correlati