2010-03-29 4 views
1

Je développe un projet avec deux sites différents, divisé par langue. Peut-être que je suis terriblement mal, mais maintenant ma structure de répertoire ressemble:Django répertoire de paramètres régionaux personnalisés

/ruapp/settings.py # SITE_ID = 1 
/ruapp/manage.py 
/enapp/settings.py # SITE_ID = 2 
/enapp/manage.py 
/common/urls.py 
/common/ # almost every other file 
/common/templates/ # templates with {% trans %} 
/locale/ # with locales ru-ru and en-us, generated by calling 
makemessages from the root of all this structure 

Comment savoir django sur le lieu? Il ne semble pas que cela va trouver le/locale/dossier par lui-même

+0

à propos du dossier de paramètres régionaux? – myfreeweb

+0

oui, à propos du dossier de paramètres régionaux. –

Répondre

2

AFAIK, python-gettext ne peut pas utiliser le dossier différent, donc ... Utilisez les liens symboliques Luke!

0

Assurez-vous que votre structure de répertoire pour les fichiers de localisation ressemblent que:

locale/en/LC_MESSAGES/django.mo 
locale/ru/LC_MESSAGES/django.mo 

Si vous les nommez quelque chose d'autre, ou les mettre ailleurs , ça ne marchera probablement pas.

Vous avez également besoin de pust aproperiate l18n informations dans votre fichier de paramètres. LANGUAGE_CODE = 'en' dans un, et LANGUAGE_CODE = 'ru' dans l'autre.

Edit: Avez-vous créé deux séparées des applications ou deux projets séparés ? Les applications ne disposent généralement pas de leurs propres paramètres settings.py et manage.py ...

Vous pouvez avoir un projet avec plusieurs fichiers de paramètres et plusieurs sites Web. Il serait beaucoup plus django-ish (et beaucoup plus facile à traiter) pour votre structure de répertoire pour ressembler à ceci:

/settings_ru.py # SITE_ID = 1 
/settings_en.py # SITE_ID = 2 
/manage.py # use --settings option to distinguish between settings files. 
/urls.py 
/templates/ # templates with {% trans %} 
/locale/ # locale/en/LC_MESSAGES/django.mo and locale/ru/LC_MESSAGES/django.mo 
(+ other common code, inside their respective apps) 
Questions connexes