diff --git a/users/locale/fr/LC_MESSAGES/django.mo b/users/locale/fr/LC_MESSAGES/django.mo
new file mode 100644
index 00000000..9808ced6
Binary files /dev/null and b/users/locale/fr/LC_MESSAGES/django.mo differ
diff --git a/users/locale/fr/LC_MESSAGES/django.po b/users/locale/fr/LC_MESSAGES/django.po
new file mode 100644
index 00000000..2814cb83
--- /dev/null
+++ b/users/locale/fr/LC_MESSAGES/django.po
@@ -0,0 +1,123 @@
+# Re2o est un logiciel d'administration développé initiallement au rezometz. Il
+# se veut agnostique au réseau considéré, de manière à être installable en
+# quelques clics.
+#
+# Copyright © 2018 Maël Kervella
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+msgid ""
+msgstr ""
+"Project-Id-Version: 2.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-06-28 00:06+0200\n"
+"PO-Revision-Date: 2018-06-27 23:35+0200\n"
+"Last-Translator: Maël Kervella <dev@maelkervella.eu>\n"
+"Language-Team: \n"
+"Language: fr_FR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: templates/users/aff_listright.html:37
+msgid "Superuser"
+msgstr "Superuser"
+
+#: templates/users/aff_listright.html:39
+msgid "Django's specific pre-defined right that supersed any other rights."
+msgstr ""
+"Droit prédéfini spécifique à Django qui outrepasse tous les autres droits."
+
+#: templates/users/aff_listright.html:43
+msgid "Total: All permissions"
+msgstr "Total: Toutes les permissions"
+
+#: templates/users/aff_listright.html:55
+msgid "Users in Superuser"
+msgstr "Utilisateurs dans Superuser"
+
+#: templates/users/aff_listright.html:62 templates/users/aff_listright.html:167
+msgid "Username"
+msgstr "Pseudo"
+
+#: templates/users/aff_listright.html:63 templates/users/aff_listright.html:168
+msgid "Membership"
+msgstr "Adhésion"
+
+#: templates/users/aff_listright.html:64 templates/users/aff_listright.html:169
+msgid "Last seen"
+msgstr "Dernière connexion"
+
+#: templates/users/aff_listright.html:65 templates/users/aff_listright.html:170
+msgid "Actions"
+msgstr "Actions"
+
+#: templates/users/aff_listright.html:66 templates/users/aff_listright.html:171
+msgid "Last action"
+msgstr "Dernière action"
+
+#: templates/users/aff_listright.html:74 templates/users/aff_listright.html:179
+msgid "Member"
+msgstr "Adhérent"
+
+#: templates/users/aff_listright.html:76 templates/users/aff_listright.html:181
+msgid "No membership records"
+msgstr "Aucune adhésion"
+
+#: templates/users/aff_listright.html:79 templates/users/aff_listright.html:184
+#, python-format
+msgid "Not since %(end_date)s"
+msgstr "Plus depuis %(end_date)s"
+
+#: templates/users/aff_listright.html:87 templates/users/aff_listright.html:192
+msgid "Never"
+msgstr "Jamais"
+
+#: templates/users/aff_listright.html:122
+#, python-format
+msgid "%(right_name)s (gid: %(right_gid)s)"
+msgstr "%(right_name)s (gid: %(right_gid)s)"
+
+#: templates/users/aff_listright.html:131
+#, python-format
+msgid "Total: %(perm_count)s permission"
+msgid_plural "Total: %(perm_count)s permissions"
+msgstr[0] "Total: %(perm_count)s permission"
+msgstr[1] "Total: %(perm_count)s permissions"
+
+#: templates/users/aff_listright.html:157
+#, python-format
+msgid "Users in %(right_name)s"
+msgstr "Utilisateurs dans %(right_name)s"
+
+#: widgets.py:35
+msgid "Close"
+msgstr ""
+
+#: widgets.py:36
+msgid "Today"
+msgstr ""
+
+#: widgets.py:44
+msgid "Next"
+msgstr ""
+
+#: widgets.py:45
+msgid "Previous"
+msgstr ""
+
+#: widgets.py:46
+msgid "Wk"
+msgstr ""
diff --git a/users/templates/users/aff_listright.html b/users/templates/users/aff_listright.html
index 37d13bd1..3c7137bf 100644
--- a/users/templates/users/aff_listright.html
+++ b/users/templates/users/aff_listright.html
@@ -34,25 +34,25 @@ with this program; if not, write to the Free Software Foundation, Inc.,
             </div>
             <h4 class="text-danger">
                 <i class="fa fa-address-book"></i>
-                Superuser
+                {% trans "Superuser" %}
             </h4>
-            Django's specific pre-defined right that supersed any other rights.
+            {% trans "Django's specific pre-defined right that supersed any other rights." %}
     </div>
     <div class="panel-collapse collapse" id="collapse_superuser">
         <div class="panel-body">
-            <h4 class="text-danger">Total: All permissions</h4>
+            <h4 class="text-danger">{% trans "Total: All permissions" %}</h4>
         </div>
     </div>
 </div>
 
-<div class="modal fade" id="modal_superuser" tabindex="-1" role="dialog" aria-labelledby="Users">
+<div class="modal fade" id="modal_superuser" tabindex="-1" role="dialog" aria-labelledby="Users in Superuser">
     <div class="modal-dialog" role="document">
         <div class="modal-content">
             <div class="modal-header">
                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                     <i class="fa fa-times"></i>
                 </button>
-                <h4 class="modal-title" id="myModalLabel">Users in Superuser</h4>
+                <h4 class="modal-title" id="myModalLabel">{% trans "Users in Superuser" %}</h4>
             </div>
             <div class="modal-body">
                 <div class="table-responsive">
@@ -76,7 +76,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
                             <td class="text-warning">{% trans "No membership records" %}</td>
                             {% else %}
                             <td class="text-danger">
-                                {% blocktrans with user.end_adhesion as end_date %}Not since {{ end_date }}{% endblocktrans %}
+                                {% blocktrans trimmed with user.end_adhesion as end_date %}
+                                Not since {{ end_date }}
+                                {% endblocktrans %}
                             </td>
                             {% endif %}
                             <td>{{ user.last_login }}</td>
@@ -84,7 +86,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
                             {% if not user.last_seen %}
                             <td class="text-danger">{% trans "Never" %}</td>
                             {% else %}
-                            <td class="text-success">{{user.last_seen}}</td>
+                            <td class="text-success">{{ user.last_seen }}</td>
                             {% endif %}
                             <td>
                                 <a class="btn btn-danger" role="button" href="{% url 'users:del-superuser' user.id %}">
@@ -117,13 +119,21 @@ with this program; if not, write to the Free Software Foundation, Inc.,
             </div>
             <h4 class="{% if right.critical %}text-danger{% endif %}">
                 <i class="fa fa-address-book"></i>
-                {{right.name}} (gid: {{ right.gid }})
+                {% blocktrans trimmed with right.name as right_name and right.gid as right_gid %}
+                {{ right_name }} (gid: {{ right_gid }})
+                {% endblocktrans %}
             </h4>
             {{ right.details }}
     </div>
     <div class="panel-collapse collapse" id="collapse_{{right.id}}">
         <div class="panel-body">
-            <h4>Total: {{ right.permissions.count }} permissions</h4>
+            <h4>
+                {% blocktrans trimmed count right.permissions.count as perm_count%}
+                Total: {{ perm_count }} permission
+                {% plural %}
+                Total: {{ perm_count }} permissions
+                {% endblocktrans %}
+            </h4>
             <ul class="list-group" style="margin-bottom: 0px">
                 {% for perm in right.permissions.all %}
                 <li class="list-group-item col-xs-6 col-sm-4 col-md-3" style="border:none;">
@@ -143,7 +153,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                     <i class="fa fa-times"></i>
                 </button>
-                <h4 class="modal-title" id="myModalLabel">Users in {{ right.name }}</h4>
+                <h4 class="modal-title" id="myModalLabel">
+                    {% blocktrans trimmed with right.name as right_name %}
+                    Users in {{ right_name }}
+                    {% endblocktrans %}
+                </h4>
             </div>
             <div class="modal-body">
                 <div class="table-responsive">
@@ -167,7 +181,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
                             <td class="text-warning">{% trans "No membership records" %}</td>
                             {% else %}
                             <td class="text-danger">
-                                {% blocktrans with user.end_adhesion as end_date %}Not since {{ end_date }}{% endblocktrans %}
+                                {% blocktrans trimmed with user.end_adhesion as end_date %}
+                                Not since {{ end_date }}
+                                {% endblocktrans %}
                             </td>
                             {% endif %}
                             <td>{{ user.last_login }}</td>