Django internationalisation exemple minimal

Je vais avoir des difficultés dans l'internationalisation de mon application, je vous présente ici un exemple minimal d'où ma mise en oeuvre échoue.

Envisager les étapes suivantes pour la production d'un site web en django avec le soutien international:

accédez à votre dossier favori dans le terminal et:

django-admin.py startproject mysite
cd mysite/
mkdir locale
python manage.py startapp main
# (1) modify mysite/urls.py
# (2) modify main/views.py
# (3) modify mysite/settings.py
django-admin.py makemessages -l de
# (4) modify locale/de/LC_MESSAGES/django.po
django-admin.py compilemessages -l de
python manage.py runserver

où:

## (1) mysite/urls.py
urlpatterns = patterns('',
url(r'^$', 'main.views.home'),
)

## (2) main/views.py
from django.http import HttpResponse
from django.utils.translation import ugettext as _

def home(request):
    return HttpResponse(_('Hello'))

## (3) mysite/settings.py
LANGUAGE_CODE = 'de'

from django.conf import global_settings
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + \
     ('django.core.context_processors.i18n',) # ensures all django processors are used.

## (4) locale/de/LC_MESSAGES/django.po
#: main/views.py:6
msgid "Hello"
msgstr "Hallo"

Je suppose que le site web a un et un seul langue, donc, je n'ai pas activé le middleware de paramètres régionaux par documentation de django:

Si vous voulez permettre à chaque utilisateur de spécifier la langue ou
elle préfère, utiliser LocaleMiddleware. LocaleMiddleware permet à la langue
sélection basée sur les données de la demande. Il permet de personnaliser le contenu pour
chaque utilisateur.

Cette mise en œuvre n'a pas produit la traduction de "Bonjour" "Bonjour". Ce que je fais mal?

Si vous accédez au panneau d'admin de Django, il est en allemand? Avez-vous essayer de définir LOCALE_PATHS? docs.djangoproject.com/en/dev/ref/settings/#locale-paths
de ce que j'ai compris de documentation de django, ceux-ci devraient être le minimum d'étapes pour la traduction... j'ai essayé LOCAL_PATHS, sans succès, et je n'ai pas essayé admin car il nécessite une DB, ce dont je ne suis pas à l'aide de...
De quel chemin avez-vous mis LOCALE_PATHS?
LOCALE_PATHS = ('/Users/nom d'utilisateur/Bureau/Essais/test-django/monsite/locale"), qui est celle que le contenu de makemessages aller.
a=('quelque chose') => type () = <type 'str'> le temps perdu sur elle aussi bien la première fois 🙂

OriginalL'auteur Jorge Leitão | 2013-05-27