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)
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.
dans mon projet :

settings.py :
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'),
]
base.html
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
django-admin makemessages -l fr
et j'obtiens l'erreur suivante:
CommandError: Can't find msguniq. Make sure you have GNU gettext tools 0.15 or newer installed.
Je ne comprends pas.
J'ai également lancé la commande pip install python-gettext qui s'installe mais je ne comprends pas pourquoi il faudrait les 2