2013-04-28 1 views
0

Après la migration vers la nouvelle version de django à partir de la version 1.2, j'ai constaté que ma localisation dans les modèles ne fonctionnait pas. J'ai essayé de recompiler les fichiers * .mo - il semble que les données de traduction ont été correctement traitées mais cela n'a pas aidé.Problèmes de localisation de django 1.5

Peut-être connaissez-vous ce problème? Ou peut-être, quelqu'un sait comment le découvrir? Je ne sais même pas comment reconstruire l'environnement local django dans un script shell.

Comment puis-je recevoir quelque chose comme ça dans la coquille:

>> import django.utils.translation 
>> django.utils.translation.gettext("some text that exists in locale/de/LC_MESSAGES/django.po") 
>> "translated text" 
+1

Faites attention lorsque vous utilisez les paramètres régionaux dans 'django shell'. Par défaut, 'shell' suppose que la langue est en-en comme indiqué dans cette question: http://stackoverflow.com/questions/16243031/python-django-shell-ipython-unexpected-behavior-or-bug/16243631# 16243631 –

+0

Semble que j'ai trouvé où le problème était - je sholud déplacer le dossier de paramètres régionaux au module (pas au dossier principal). Mais il peut être pas très pratique :( – Oleg

Répondre

2

Selon djangoproject documentation Tous les chemins répertoriés dans LOCALE_PATHS dans votre fichier de paramètres sont recherchés <language>/LC_MESSAGES/django.(po|mo)

donc vous pouvez simplement ajouter la ligne suivante votre setting.py:

LOCALE_PATHS = (PATH + "/locale",)

PATH est le répertoire principal de votre projet.