Bonjour,
je développe actuellement un projet Django et j'essaie de mettre en place l'internationalisation
j'ai lu la doc Django et malgré cela je galère
j'ai commencé par installer gettext sur ma machine (Windows 10)
en principe, il est installé (xgettext --version)
dans mon projet :xgettext (GNU gettext-tools) 0.17
Copyright (C) 1995-1998, 2000-2007 Free Software Foundation, Inc.
Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html>
Ceci est un logiciel libre : vous pouvez le modifier et le redistribuer.
Il n'y a PAS DE GARANTIE, dans la mesure de ce que permet la loi.
Écrit par Ulrich Drepper.
settings.py :
base.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 from django.utils.translation import ugettext_lazy as _ MIDDLEWARE = [ 'django.middleware.locale.LocaleMiddleware', ] LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True # Lists of languages site supports. LANGUAGES = ( ('en', _('English')), ('fr', _('French')), ) LOCALE_PATHS = [ os.path.join(BASE_DIR,'locale'), ]
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 {% load static i18n %} {% load static %}
test_translation.html
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 {% extends 'layouts/base.html' %} {% load i18n %} <h2>{% trans "A test of translation" %}</h2>
ensuite dans je me place dans mon projet dans mon environnement virtuel puis je lance la commande
et j'obtiens l'erreur suivante:django-admin makemessages -l fr
Je ne comprends pas.CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.
J'ai également lancé la commande pip install python-gettext qui s'installe mais je ne comprends pas pourquoi il faudrait les 2
Partager