8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-05 09:26:27 +00:00

Add many information on about page

This commit is contained in:
Maël Kervella 2018-04-10 22:07:26 +00:00
parent 16162ff9bb
commit 7d54c10c29
11 changed files with 384 additions and 70 deletions

View file

@ -1,3 +0,0 @@
#!/usr/bin/env python3
contributeurs = ['Gabriel Detraz', 'chirac', 'Maël Kervella', 'LEVY-FALK Hugo', 'Dalahro', 'lhark', 'root', 'Hugo LEVY-FALK', 'Chirac', 'guimoz', 'Mael Kervella', 'klafyvel', 'matthieu', 'Yoann Pietri', 'Simon Brélivet', 'chibrac', 'David Sinquin', 'Pierre Cadart', 'moamoak', 'Éloi Alain', 'FERNET Laouen', 'Hugo Levy-Falk', 'Joanne Steiner', 'Matthieu Michelet', 'Yoann PIETRI', 'B', 'Daniel STAN', 'Eloi Alain', 'Guimoz', 'Hugo Hervieux', 'Laouen Fernet', 'Lemesle', 'MICHELET matthieu', 'Nymous', 'Thibault de BOUTRAY', 'Tipunchetrhum', 'Éloi ALAIN']

3
re2o/contributors.py Normal file
View file

@ -0,0 +1,3 @@
#!/usr/bin/env python3
CONTRIBUTORS = ['Gabriel "Chirac" Détraz', 'Maël "MoaMoaK" Kervella', 'Hugo "Klafyvel" Levy--Falk', 'Augustin "Dahlaro" Lemesle', 'Goulven "Lhark" Kermarec', 'Guillaume "Guimoz" Goessel', 'Yoann "Nanoy" Pietri', 'Matthieu "Lebanni" Michelet', 'Arthur "Grizzly" Grisel-Davy', 'Simon "Rezatoune" Brélivet', 'Sellem Lev-Arcady', 'David "5-1" Sinquin', 'Pierre "Redstorm" Cadart', 'Éloi "Goslig" Alain', 'Laouen "Volgarr" Fernet', 'Joanne Steiner', '"Krokmou"', 'Thibault "Tipunchetrhum" de Boutray', 'Baptiste "B" Fournier', 'Daniel "Dstan" Stan', 'Hugo "Shaka" Hervieux', '"Mikachu"', 'Thomas "Nymous" Gaudin', '"Esum"']

Binary file not shown.

View file

@ -0,0 +1,156 @@
# 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-03-31 14:05+0000\n"
"PO-Revision-Date: 2018-03-31 16:09+0002\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"
#: templates/re2o/about.html:29 templates/re2o/about.html:35
msgid "About Re2o"
msgstr "A propos de Re2o"
#: templates/re2o/about.html:32
#, python-format
msgid "About %(AssoName)s"
msgstr "A propos de %(AssoName)s"
#: templates/re2o/about.html:36
msgid ""
"\n"
" Re2o is an administration tool initiated by\n"
" <a href=\"https://rezometz.org/\">Rezo Supelec Metz</a> and a few\n"
" members of other <a href=\"https://federez.net\">FedeRez</a> "
"associations\n"
" around the summer 2016.<br />\n"
" It is intended to be a tool independant from any network "
"infrastructure\n"
" so it can be setup in \"a few steps\". This tool is entirely free "
"and\n"
" available under a GNU Public License v2 (GPLv2) license on\n"
" <a href=\"https://gitlab.federez.net/federez/re2o/\">FedeRez gitlab</"
"a>.<br />\n"
" Re2o's mainteners are proud volunteers mainly from French "
"engineering\n"
" schools (but not limited to) who have given a lot of their time to "
"make\n"
" this project possible. So please be kind with them.<br />\n"
" If you want to get involved in the development process, we will be "
"glad to\n"
" welcome you so do not hesitate to contact us and come help us build "
"the\n"
" future of Re2o.\n"
" "
msgstr ""
"\n"
" Re2o est un outil d'administration initié par\n"
" <a href=\"https://rezometz.org/\">Rezo Supelec Metz</a> et quelques\n"
" membres d'autres assocations de "
"<a href=\"https://federez.net\">FedeRez</a>\n"
" autour de l'été 2016.<br />\n"
" Il se veut être un outil idépendant de toute infrastructure réseau\n"
" pour pouvoir être installé en \"quelques étapes\". Cet outil est "
"entièrement gratuit et\n"
" est disponible sous license GNU Public License v2 (GPLv2) sur le\n"
" <a href=\"https://gitlab.federez.net/federez/re2o/\">gitlab de FedeRez"
"</a>.<br />\n"
" Les mainteneurs de Re2o sont de fiers bénévoles venant principalement "
"d'écoles d'ingénieurs françaises\n"
" (mais pas seulement) qui ont donné beaucoup de leur temps pour faire "
"en sorte que\n"
" ce projet soit possible. Donc s'il vous plait soyez gentils avez eux."
"<br />\n"
" Si vous voulez prendre part au développement, nous serons heureux "
"de\n"
" vous accueillir donc n'hésitez pas à nous contacter et à venir nous "
"aider à construire le\n"
" futur de Re2o.\n"
" "
#: templates/re2o/about.html:57
msgid "Contributors list"
msgstr "Liste des contributeurs"
#: templates/re2o/about.html:66
msgid "Version informations"
msgstr "Informations de versions"
#: templates/re2o/about.html:68
#, python-format
msgid ""
"\n"
" <b>Remote URL</b>: %(git_info_remote)s\n"
" "
msgstr ""
"\n"
" <b>URL distante</b> : %(git_info_remote)s\n"
" "
#: templates/re2o/about.html:71
#, python-format
msgid ""
"\n"
" <b>Branch</b>: %(git_info_branch)s\n"
" "
msgstr ""
"\n"
" <b>Branche</b> : %(git_info_branch)s\n"
" "
#: templates/re2o/about.html:74
#, python-format
msgid ""
"\n"
" <b>Commit</b>: %(git_info_commit)s\n"
" "
msgstr ""
"\n"
" <b>Commit</b> : %(git_info_commit)s\n"
" "
#: templates/re2o/about.html:77
#, python-format
msgid ""
"\n"
" <b>Commit date</b>: %(git_info_commit_date)s\n"
" "
msgstr ""
"\n"
" <b>Date du commit</b> : %(git_info_commit_date)s\n"
" "
#: templates/re2o/about.html:82
msgid "Dependencies"
msgstr "Dépendances"
#: views.py:172
msgid "No Git repository configured"
msgstr "Aucun repository git configuré"
#: views.py:178
msgid "Unable to get the information"
msgstr "Impossible d'obtenir l'information"

View file

@ -33,7 +33,7 @@ class Command(BaseCommand):
def handle(self, *args, **options): def handle(self, *args, **options):
contributeurs = [item.split('\t')[1] for item in os.popen("git shortlog -s -n").read().split("\n") if '\t' in item] contributeurs = [item.split('\t')[1] for item in os.popen("git shortlog -s -n").read().split("\n") if '\t' in item]
self.stdout.write(self.style.SUCCESS("Exportation Sucessfull")) self.stdout.write(self.style.SUCCESS("Exportation Sucessfull"))
contrib_file = open("contributors.py", "w") with open("re2o/contributors.py", "w") as contrib_file:
contrib_file.write("#!/usr/bin/env python3\n") contrib_file.write("#!/usr/bin/env python3\n")
contrib_file.write("\n") contrib_file.write("\n")
contrib_file.write("contributeurs = " + str(contributeurs)) contrib_file.write("CONTRIBUTORS = " + str(contributeurs))

View file

@ -123,6 +123,12 @@ WSGI_APPLICATION = 're2o.wsgi.application'
LANGUAGE_CODE = 'en' LANGUAGE_CODE = 'en'
# Proritary location search for translations
# then searches in {app}/locale/ for app in INSTALLED_APPS
LOCALE_PATHS = [
BASE_DIR + '/templates/locale/' # to define translations outside of apps
]
TIME_ZONE = 'Europe/Paris' TIME_ZONE = 'Europe/Paris'
USE_I18N = True USE_I18N = True

View file

@ -24,39 +24,69 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% endcomment %} {% endcomment %}
{% load bootstrap3 %} {% load bootstrap3 %}
{% load i18n %}
{% block title %}Historique{% endblock %} {% block title %}{% trans "About Re2o" %}{% endblock %}
{% block content %} {% block content %}
<h2>À propos de {{AssoName}}</h2> <h2>{% blocktrans %}About {{AssoName}}{% endblocktrans %}</h2>
{{ description }} {{ description }}
<h2>À propos de Re2o</h2>
<p>Re2o est un logiciel d'administration développé initialement au RézoMetz. Il
se veut indépendant de l'architecture du réseau considéré, de manière à être installable en
quelques clics.
C'est un logiciel totallement libre disponible sur le <a href="https://gitlab.federez.net/federez/re2o/">gitlab de FedeRez</a>.
</p>
<h3>Liste des contributeurs</h3> <h2>{% trans "About Re2o" %}</h2>
<div class="row"> <p>{% blocktrans %}
<div class="col-md-6"> Re2o is an administration tool initiated by
<a href="https://rezometz.org/">Rezo Supelec Metz</a> and a few
members of other <a href="https://federez.net">FedeRez</a> associations
around the summer 2016.<br />
It is intended to be a tool independant from any network infrastructure
so it can be setup in "a few steps". This tool is entirely free and
available under a GNU Public License v2 (GPLv2) license on
<a href="https://gitlab.federez.net/federez/re2o/">FedeRez gitlab</a>.<br />
Re2o's mainteners are proud volunteers mainly from French engineering
schools (but not limited to) who have given a lot of their time to make
this project possible. So please be kind with them.<br />
If you want to get involved in the development process, we will be glad to
welcome you so do not hesitate to contact us and come help us build the
future of Re2o.
{% endblocktrans %}
</p>
<ul> <div class="row">
{% for i in contrib_1 %}
<li> {{i}} </li> <div class="col-md-6">
{% endfor %} <h3>{% trans "Contributors list" %}</h3>
</ul> <ul>
</div> {% for contributor in git_info_contributors %}
<div class="col-md-6"> <li>{{ contributor }}</li>
<ul> {% endfor %}
{% for i in contrib_2 %} </ul>
<li> {{i}} </li> </div>
{%endfor%}
</ul> <div class="col-md-6">
</div> <h3>{% trans "Version informations" %}</h3>
</div> <ul>
<br /> <li>{% blocktrans %}
<br /> <b>Remote URL</b>: {{ git_info_remote }}
<br /> {% endblocktrans %}</li>
<li>{% blocktrans %}
<b>Branch</b>: {{ git_info_branch }}
{% endblocktrans %}</li>
<li>{% blocktrans %}
<b>Commit</b>: {{ git_info_commit }}
{% endblocktrans %}</li>
<li>{% blocktrans %}
<b>Commit date</b>: {{ git_info_commit_date }}
{% endblocktrans %}</li>
</ul>
<h3>{% trans "Dependencies" %}</h3>
<ul>
{% for dependency in dependencies %}
<li>{{ dependency }}</li>
{% endfor %}
</ul>
</div>
</div>
{% endblock %} {% endblock %}

View file

@ -33,15 +33,18 @@ from django.template.context_processors import csrf
from django.contrib.auth.decorators import login_required, permission_required from django.contrib.auth.decorators import login_required, permission_required
from reversion.models import Version from reversion.models import Version
from django.contrib import messages from django.contrib import messages
from preferences.models import Service
from preferences.models import OptionalUser, GeneralOption, AssoOption
from django.conf import settings from django.conf import settings
from contributors import contributeurs from django.utils.translation import ugettext as _
import git
import os import os
import time import time
from itertools import chain from itertools import chain
from preferences.models import Service
from preferences.models import OptionalUser, GeneralOption, AssoOption
import users, preferences, cotisations, topologie, machines import users, preferences, cotisations, topologie, machines
from .utils import re2o_paginator from .utils import re2o_paginator
from .settings import BASE_DIR, INSTALLED_APPS, MIDDLEWARE_CLASSES
from .contributors import CONTRIBUTORS
def form(ctx, template, request): def form(ctx, template, request):
"""Form générique, raccourci importé par les fonctions views du site""" """Form générique, raccourci importé par les fonctions views du site"""
@ -162,12 +165,57 @@ def history(request, application, object_name, object_id):
def about_page(request): def about_page(request):
option = AssoOption.objects.get() option = AssoOption.objects.get()
n = len(contributeurs) git_info_contributors = CONTRIBUTORS
contrib_1 = contributeurs[:n//2] try:
contrib_2 = contributeurs[n//2:] git_repo = git.Repo(BASE_DIR)
except git.InvalidGitRepositoryError:
NO_GIT_MSG = _("No Git repository configured")
git_info_remote = NO_GIT_MSG
git_info_branch = NO_GIT_MSG
git_info_commit = NO_GIT_MSG
git_info_commit_date = NO_GIT_MSG
else:
UNABLE_GIT_MSG = _("Unable to get the information")
try:
git_info_remote = ", ".join(git_repo.remote().urls)
except:
git_info_remote = UNABLE_GIT_MSG
try:
git_info_branch = git_repo.active_branch.name
except:
git_info_branch = UNABLE_GIT_MSG
try:
last_commit = git_repo.commit()
except:
git_info_commit = UNABLE_GIT_MSG
else:
try:
git_info_commit = last_commit.hexsha
except:
git_info_commit = UNABLE_GIT_MSG
try:
git_info_commit_date = last_commit.committed_datetime
except:
git_info_commit_date = UNABLE_GIT_MSG
dependencies = INSTALLED_APPS + MIDDLEWARE_CLASSES
return render( return render(
request, request,
"re2o/about.html", "re2o/about.html",
{'description': option.description , 'AssoName' : option.name , 'contrib_1' : contrib_1 , 'contrib_2' : contrib_2} {
'description': option.description ,
'AssoName' : option.name ,
'git_info_contributors': git_info_contributors,
'git_info_remote': git_info_remote,
'git_info_branch': git_info_branch,
'git_info_commit': git_info_commit,
'git_info_commit_date': git_info_commit_date,
'dependencies': dependencies
}
) )

View file

@ -27,6 +27,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% load bootstrap3 %} {% load bootstrap3 %}
{% load acl %} {% load acl %}
{% load self_adhesion %} {% load self_adhesion %}
{% load i18n %}
{% self_adhesion as var_sa %} {% self_adhesion as var_sa %}
<!DOCTYPE html> <!DOCTYPE html>
<html lang="fr"> <html lang="fr">
@ -39,17 +41,15 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"></script> <script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"></script>
{# Load CSS and JavaScript #} {# Load CSS and JavaScript #}
{% bootstrap_css %} {% bootstrap_css %}
<link href="/static/css/typeaheadjs.css" rel="stylesheet"> <link href="/static/css/typeaheadjs.css" rel="stylesheet">
<link href="/static/css/bootstrap-tokenfield.css" rel="stylesheet"> <link href="/static/css/bootstrap-tokenfield.css" rel="stylesheet">
{% comment %}<link href="/static/css/jquery-ui.css" rel="stylesheet">{% endcomment %}
{% bootstrap_javascript %} {% bootstrap_javascript %}
<script src="/static/js/typeahead/typeahead.js"></script> <script src="/static/js/typeahead/typeahead.js"></script>
<script src="/static/js/handlebars/handlebars.js"></script> <script src="/static/js/handlebars/handlebars.js"></script>
<script src="/static/js/konami/konami.js"></script> <script src="/static/js/konami/konami.js"></script>
<script src="/static/js/sapphire.js"> var s=Sapphire(); Konami(s.activate); </script> <script src="/static/js/sapphire.js"> var s=Sapphire(); Konami(s.activate); </script>
<script src="/static/js/bootstrap-tokenfield/bootstrap-tokenfield.js"></script> <script src="/static/js/bootstrap-tokenfield/bootstrap-tokenfield.js"></script>
{% comment %}<script src="/static/js/jquery-ui.js"></script>{% endcomment %}
<link rel="stylesheet" href="{% static "/css/base.css" %}"> <link rel="stylesheet" href="{% static "/css/base.css" %}">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ site_name }} : {% block title %}Accueil{% endblock %}</title> <title>{{ site_name }} : {% block title %}Accueil{% endblock %}</title>
@ -86,7 +86,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<li><a href="{% url 'users:index' %}"><i class="fa fa-user"></i> Gérer les adhérents</a></li> <li><a href="{% url 'users:index' %}"><i class="fa fa-user"></i> Gérer les adhérents</a></li>
<li><a href="{% url 'users:index-clubs' %}"><i class="fa fa-users"></i> Gérer les clubs</a></li> <li><a href="{% url 'users:index-clubs' %}"><i class="fa fa-users"></i> Gérer les clubs</a></li>
{% acl_end %} {% acl_end %}
{% can_view_app machines %} {% can_view_app machines %}
<li><a href="{% url 'machines:index' %}"><i class="fa fa-desktop"></i> Gérer les machines</a></li> <li><a href="{% url 'machines:index' %}"><i class="fa fa-desktop"></i> Gérer les machines</a></li>
{% acl_end %} {% acl_end %}
{% can_view_app cotisations %} {% can_view_app cotisations %}
@ -99,17 +99,57 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<li class="dropdown"> <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-sitemap"></i> Topologie<span class="caret"></span></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-sitemap"></i> Topologie<span class="caret"></span></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a href="{% url "topologie:index" %}"><i class="fa fa-microchip"></i> Switchs</a></li> <li><a href="{% url "topologie:index" %}"><i class="fa fa-microchip"></i> Switchs</a></li>
<li><a href="{% url "topologie:index-ap" %}"><i class="fa fa-wifi"></i> Bornes WiFi</a></li> <li><a href="{% url "topologie:index-ap" %}"><i class="fa fa-wifi"></i> Bornes WiFi</a></li>
<li><a href="{% url "topologie:index-room" %}"><i class="fa fa-home"></i> Chambres et locaux</a></li> <li><a href="{% url "topologie:index-room" %}"><i class="fa fa-home"></i> Chambres et locaux</a></li>
</ul> </ul>
</li> </li>
{% acl_end %} {% acl_end %}
{% can_view_app logs %} {% can_view_app logs %}
<li><a href="{% url "logs:index" %}"><i class="fa fa-chart-area"></i> Statistiques</a></li> <li><a href="{% url "logs:index" %}"><i class="fa fa-chart-area"></i> Statistiques</a></li>
{% acl_end %} {% acl_end %}
</ul> </ul>
<div class="col-sm-3 col-md-3 navbar-right"> <ul class="nav navbar-nav navbar-right">
{% can_view_app preferences %}
<li>
<a href="{% url 'preferences:display-options' %}">
<i class="fa fa-cogs"></i> Preferences
</a>
</li>
{% acl_end %}
<li>
<a href="{% url 'about' %}"><i class="fa fa-info-circle"></i> {% trans "About" %}</a>
</li>
{% if not request.user.is_authenticated %}
{% if var_sa %}
<li>
<a href="{% url 'users:new-user' %}">
<i class="fa fa-user-plus"></i> Créer un compte
</a>
</li>
{% endif %}
<li>
<a href="{% url 'login' %}">
<i class="fa fa-sign-in-alt"></i> Login
</a>
</li>
{% else %}
<li>
<form action="{% url "search:search"%}" class="navbar-form" role="search">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="q" id="search-term" {% if search_term %}value="{{ search_term }}"{% endif %}>
<div class="input-group-btn">
<button class="btn btn-default" type="submit"><i class="fa fa-search"></i></button>
<a href="{% url "search:searchp" %}" class="btn btn-default" role="button"><i class="fa fa-plus"></i></a>
</div>
</div>
</form>
</li>
{% endif %}
</ul>
</ul>
{% comment %}
<div class="navbar-right">
<form action="{% url "search:search"%}" class="navbar-form" role="search"> <form action="{% url "search:search"%}" class="navbar-form" role="search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="q" id="search-term" {% if search_term %}value="{{ search_term }}"{% endif %}> <input type="text" class="form-control" placeholder="Search" name="q" id="search-term" {% if search_term %}value="{{ search_term }}"{% endif %}>
@ -135,20 +175,19 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</a> </a>
</li> </li>
{% endif %} {% endif %}
</ul> {% can_view_app preferences %}
{% can_view_app preferences %}
<ul class="nav navbar-nav navbar-right">
<li> <li>
<a href="{% url 'preferences:display-options' %}"> <a href="{% url 'preferences:display-options' %}">
<i class="fa fa-cogs"></i> Preferences <i class="fa fa-cogs"></i> Preferences
</a> </a>
</li> </li>
<li> {% acl_end %}
<a href="{% url 'about' %}"><i class="fa fa-info-circle"></i> A propos</a> <li>
</li> <a href="{% url 'about' %}"><i class="fa fa-info-circle"></i> A propos</a>
</ul> </li>
{% acl_end %} </ul>
</div> {% endcomment %}
</div>
</div> </div>
</nav> </nav>
@ -239,7 +278,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<footer class="navbar"> <footer class="navbar">
<div class="containerfluid text-center"> <div class="containerfluid text-center">
<p> <a href="\\{{request.get_host}}/about/">Re2o 2016-2018</a> - Gabriel Détraz, <a href="https://gitlab.rezometz.org/lhark">Goulven Kermarec</a>, Augustin Lemesle, Maël Kervella, Hugo Levy-Falk</p> <p> <a href="\\{{request.get_host}}/about/">Re2o 2016-2018</a> - Gabriel Détraz, <a href="https://gitlab.rezometz.org/lhark">Goulven Kermarec</a>, Augustin Lemesle, Maël Kervella, Hugo Levy-Falk</p>
</div> </div>
</footer> </footer>
{# Read the documentation for more information #} {# Read the documentation for more information #}

Binary file not shown.

View file

@ -0,0 +1,35 @@
# 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-03-31 14:05+0000\n"
"PO-Revision-Date: 2018-03-31 16:09+0002\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"
#: base.html:121
msgid "About"
msgstr "A propos"