Commit e2aa3d9e authored by erreur401's avatar erreur401

traduction menu et interface vis gettext() et po + tuto lang #3 close

parent a41875ce
#!/usr/bin/python
# -*- coding: <utf-8> -*-
from flask import Flask, render_template, redirect, flash, request, url_for
from flask import Flask, render_template, redirect, flash, request, url_for , session
from flask_flatpages import FlatPages
import markdown
from flask_mongoengine import *
......@@ -26,6 +26,14 @@ from flask_admin.form import rules
from flask_admin.contrib.mongoengine import ModelView, filters
from flask_admin.model.fields import InlineFormField, InlineFieldList
from flask_babel import Babel, gettext
LANGUAGES = {
'en': 'English',
'nl': 'Neederlands',
'fr': 'French'
}
# EVENTBRITE API
......@@ -37,10 +45,30 @@ FLATPAGES_EXTENSION = '.md'
FLATPAGES_MARKDOWN_EXTENSIONS = ['markdown.extensions.extra', 'headerid']
app = Flask(__name__)
babel = Babel(app)
#app.config.from_pyfile('mysettings.cfg')
app.config.from_object(__name__)
pages = FlatPages(app)
@babel.localeselector
def get_locale():
# if the user has set up the language manually it will be stored in the session,
# so we use the locale from the user settings
try:
language = session['language']
except KeyError:
language = None
if language is not None:
return language
return request.accept_languages.best_match(app.config['LANGUAGES'].keys())
@app.context_processor
def inject_conf_var():
return dict(
CURRENT_LANGUAGE=session.get('language',
request.accept_languages.best_match(app.config['LANGUAGES'].keys())))
# Flask Security settings
app.config['SECRET_KEY'] = 'super-secret'
app.config['SECURITY_REGISTERABLE'] = True
......@@ -169,8 +197,9 @@ def index():
eventbrite_json = ur.urlopen(eventbrite_url_requete)
events = json.loads(eventbrite_json.read().decode())
articles = (p for p in pages if 'published' in p.meta)
print(articles)
# Show the 10 most recent articles, most recent first.
# print(current_user.language)
print(session['language'])
latest = sorted(articles, reverse=True,
key=lambda p: p.meta['published'])
......@@ -178,8 +207,8 @@ def index():
@app.route("/learn")
def learn():
articles = (p for p in pages if 'published' in p.meta)
print(articles)
articles = (p for p in pages if 'published' in p.meta and session['language'] in p.meta)
# print(articles)
# Show the 10 most recent articles, most recent first.
latest = sorted(articles, reverse=True,
key=lambda p: p.meta['published'])
......@@ -256,11 +285,11 @@ def check_quiz(id):
# print({ "badges.name": badge,"_id": ObjectId(user)}, {"$set": {"badges.$.lvl": 2}})
#({'badges.name': 'electronique', '_id': ObjectId('5b3f847e5087266741cf1fef')}, {'$set': {'badges.$.lvl': 1}})
success_message = " Felicitation vous avez le badge : " + badge
success_message = gettext(" Felicitation vous avez le badge : ") + badge
flash(success_message, 'alert-success')
else:
print('user got less than required amount')
fail_message = "echec"
fail_message = gettext("echec")
flash(fail_message, 'alert-danger')
return render_template('check_quiz.html', quiz=quiz, question_answer=zip(quiz['questions'], answers_list), correct=number_correct, total=len(answers_list))
......@@ -284,7 +313,7 @@ def success():
body = message,
subject = "contact from outer space (or website)",
sender = emailS )
mail.send(msg)
# mail.send(msg)
return render_template('succes.html')
......@@ -314,6 +343,12 @@ def dashboard():
return redirect(url_for('security.login', next=request.url))
@app.route('/language/<language>')
def set_language(language='fr'):
session["language"] = language
return redirect(url_for('index'))
# class UserForm(form.Form):
# name = fields.StringField('Name')
# email = fields.StringField('Email')
......
[python: **.py]
[jinja2: **/templates/**.html]
extensions=jinja2.ext.autoescape,jinja2.ext.with_
......@@ -3,6 +3,7 @@ published: 2010-12-22
desc: petite station meteo
cat: usinage
folderImg : wtrstn
fr : omelete du fromage
#STATION METEO / introduction à ARDUINO
......
This diff is collapsed.
......@@ -86,6 +86,15 @@ input[type=radio]:checked {
/* Add a dark-grey background on hover */
}
.svgDraw {
width: 100%;
text-align: center;
height: 200px;
}
.svgDraw object {
max-height: 100%;
}
.panel {
position: fixed;
left: -15.625em;
......@@ -355,6 +364,8 @@ ul#menuSecond li a:hover {
border-radius: 50%;
margin-left: -10px;
transition: all 0.2s ease;
background-size: 80% !important;
background-position: center !important;
}
.tutoItem .tutoBox .elec.overTuto:before {
background: #90ee90;
......@@ -370,23 +381,15 @@ ul#menuSecond li a:hover {
}
.tutoItem .tutoBox:hover .elec.overTuto:before {
background: url(../img/electronique.png) no-repeat #90ee90;
background-position: center !important;
background-size: 40%;
}
.tutoItem .tutoBox:hover .laser.overTuto:before {
background: url(../img/laser.png) no-repeat #90ee90;
background-position: center !important;
background-size: 40%;
}
.tutoItem .tutoBox:hover .prog.overTuto:before {
background: url(../img/cncico.png) no-repeat blue;
background-position: center;
background-size: 40%;
}
.tutoItem .tutoBox:hover .usinage.overTuto:before {
background: url(../img/3dprint.png) no-repeat red;
background-position: center;
background-size: 40%;
}
.tutoItem .tutoBox:hover .overTuto {
position: absolute;
......@@ -491,11 +494,11 @@ ul#menuSecond li a:hover {
position: relative;
background-repeat: no-repeat;
background-position: center center;
background-size: 50%;
background-size: 90%;
}
.badgeImg.laser {
background-image: url(../img/electronique.png);
background-image: url(../img/laser.png);
}
.badgeImg.cnc {
......@@ -515,7 +518,7 @@ ul#menuSecond li a:hover {
}
.badgeImg.maker {
background-image: url(../img/3dprint.png);
background-image: url(../img/solder.png);
}
.badgeImg.active {
......
......@@ -56,6 +56,16 @@ input[type="radio"]:checked{
}
.svgDraw{
width: 100%;
text-align: center;
height: 200px;
object{
max-height: 100%;
}
}
.panel {
position: fixed;
left: -15.625em; /*left or right and the width of your navigation panel*/
......@@ -334,6 +344,8 @@ ul {
border-radius: 50%;
margin-left: -10px;
transition: all 0.2s ease;
background-size: 80%!important;
background-position: center!important;
}
}
.elec.overTuto:before {
......@@ -351,23 +363,19 @@ ul {
&:hover {
.elec.overTuto:before {
background: url(../img/electronique.png) no-repeat #90ee90;
background-position: center !important;
background-size: 40%;
}
.laser.overTuto:before {
background: url(../img/laser.png) no-repeat #90ee90;
background-position: center !important;
background-size: 40%;
}
.prog.overTuto:before {
background: url(../img/cncico.png) no-repeat blue;
background-position: center;
background-size: 40%;
}
.usinage.overTuto:before {
background: url(../img/3dprint.png) no-repeat red;
background-position: center;
background-size: 40%;
}
.overTuto {
position: absolute;
......@@ -482,12 +490,12 @@ ul {
position: relative;
background-repeat :no-repeat;
background-position: center center ;
background-size: 50%
background-size: 90%
}
.badgeImg.laser{
background-image: url(../img/electronique.png) ;
background-image: url(../img/laser.png) ;
}
.badgeImg.cnc{
......@@ -511,7 +519,7 @@ ul {
}
.badgeImg.maker {
background-image: url(../img/3dprint.png) ;
background-image: url(../img/solder.png) ;
}
......
app/static/img/3dprint.png

5.36 KB | W: | H:

app/static/img/3dprint.png

8.1 KB | W: | H:

app/static/img/3dprint.png
app/static/img/3dprint.png
app/static/img/3dprint.png
app/static/img/3dprint.png
  • 2-up
  • Swipe
  • Onion skin
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16.112944mm"
height="15.052755mm"
viewBox="0 0 16.112944 15.052755"
version="1.1"
id="svg8430"
inkscape:version="0.92.3 (unknown)"
sodipodi:docname="chip.svg">
<defs
id="defs8424" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.5167883"
inkscape:cx="27.434497"
inkscape:cy="20.474172"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="956"
inkscape:window-height="1161"
inkscape:window-x="960"
inkscape:window-y="18"
inkscape:window-maximized="0" />
<metadata
id="metadata8427">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-3.2828072,-274.35457)">
<path
id="rect13913-1-0-5-5"
d="m 7.2350581,274.35457 c 0,0 -0.5005373,0.29185 -0.5005373,0.65452 v 13.71345 c 0,0.36267 0.2232774,0.65475 0.5005373,0.65475 h 8.2298369 c 0.27726,0 0.500549,-0.29208 0.500549,-0.65475 v -13.71345 c 0,-0.36267 -0.500549,-0.65452 -0.500549,-0.65452 z"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csssssscc" />
<path
inkscape:connector-curvature="0"
id="path14029-3-1"
d="m 16.018282,277.16551 h 0.326023 c 0.329115,0 0.618319,-0.14063 0.792394,-0.35564 h 1.661642 c 0.582968,0 0.597409,-0.19843 0.597409,-0.44471 0,-0.24629 -0.01444,-0.44449 -0.597409,-0.44449 H 17.18001 c -0.166514,-0.24808 -0.477299,-0.41495 -0.835705,-0.41495 h -0.326023 z"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path14027-9-0"
d="M 6.6183049,275.50572 H 6.3344795 c -0.3584063,0 -0.6691918,0.16687 -0.8357052,0.41495 H 3.8804427 c -0.5829674,0 -0.5976356,0.1982 -0.5976356,0.44449 0,0.24628 0.014668,0.44471 0.5976356,0.44471 h 1.6616428 c 0.1740749,0.21501 0.4632788,0.35564 0.792394,0.35564 h 0.2838254 z"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
id="rect13913-1-0-5"
d="m 7.2243521,274.38461 c -0.2772598,0 -0.5005373,0.29185 -0.5005373,0.65452 v 13.71345 c 0,0.36267 0.2232775,0.65475 0.5005373,0.65475 h 8.2298369 c 0.27726,0 0.500549,-0.29208 0.500549,-0.65475 v -13.71345 c 0,-0.36267 -0.223289,-0.65452 -0.500549,-0.65452 h -2.273133 a 1.8738072,1.8738072 0 0 1 -1.841892,1.53488 1.8738072,1.8738072 0 0 1 -1.8414408,-1.53488 z"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 16.018282,280.74003 h 0.326023 c 0.329115,0 0.618319,-0.14063 0.792394,-0.35564 h 1.661642 c 0.582968,0 0.597409,-0.19843 0.597409,-0.44471 0,-0.24629 -0.01444,-0.44449 -0.597409,-0.44449 H 17.18001 c -0.166514,-0.24808 -0.477299,-0.41495 -0.835705,-0.41495 h -0.326023 z"
id="path14037-8-1"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 6.6183049,279.08024 H 6.3344795 c -0.3584063,0 -0.6691918,0.16687 -0.8357052,0.41495 H 3.8804427 c -0.5829674,0 -0.5976356,0.1982 -0.5976356,0.44449 0,0.24628 0.014668,0.44471 0.5976356,0.44471 h 1.6616428 c 0.1740749,0.21501 0.4632788,0.35564 0.792394,0.35564 h 0.2838254 z"
id="path14039-5-0"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path14043-9-5"
d="m 16.018282,284.31455 h 0.326023 c 0.329115,0 0.618319,-0.14063 0.792394,-0.35564 h 1.661642 c 0.582968,0 0.597409,-0.19843 0.597409,-0.44471 0,-0.24629 -0.01444,-0.44449 -0.597409,-0.44449 H 17.18001 c -0.166514,-0.24808 -0.477299,-0.41495 -0.835705,-0.41495 h -0.326023 z"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path14045-6-0"
d="M 6.6183049,282.65476 H 6.3344795 c -0.3584063,0 -0.6691918,0.16687 -0.8357052,0.41495 H 3.8804427 c -0.5829674,0 -0.5976356,0.1982 -0.5976356,0.44449 0,0.24628 0.014668,0.44471 0.5976356,0.44471 h 1.6616428 c 0.1740749,0.21501 0.4632788,0.35564 0.792394,0.35564 h 0.2838254 z"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 16.018282,287.88906 h 0.326023 c 0.329115,0 0.618319,-0.14063 0.792394,-0.35564 h 1.661642 c 0.582968,0 0.597409,-0.19843 0.597409,-0.44471 0,-0.24629 -0.01444,-0.44449 -0.597409,-0.44449 H 17.18001 c -0.166514,-0.24808 -0.477299,-0.41495 -0.835705,-0.41495 h -0.326023 z"
id="path14049-8-4"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 6.6183049,286.22927 H 6.3344795 c -0.3584063,0 -0.6691918,0.16687 -0.8357052,0.41495 H 3.8804427 c -0.5829674,0 -0.5976356,0.1982 -0.5976356,0.44449 0,0.24628 0.014668,0.44471 0.5976356,0.44471 h 1.6616428 c 0.1740749,0.21501 0.4632788,0.35564 0.792394,0.35564 h 0.2838254 z"
id="path14051-5-6"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 13.819164,274.93139 c -0.609765,0.0951 -0.567429,0.94171 -1.124819,1.16971 -1.172858,0.83401 -3.0878352,0.3046 -3.5503001,-1.09225 -0.6176838,-0.0525 -1.3142989,-0.0753 -1.8949345,0.0212 -0.1769285,0.6598 0.065093,1.37722 -0.047325,2.05891 0.033094,3.97568 -0.076311,7.9825 0.0564,11.93901 0.55265,0.11219 1.1561624,-0.0747 1.7286286,0.0164 2.138028,-0.0322 4.337506,0.0868 6.438402,-0.0601 0.204367,-0.82161 -0.06651,-1.67611 0.0517,-2.51642 -0.03343,-3.81881 0.07645,-7.66866 -0.05588,-11.4687 -0.499977,-0.11874 -1.046077,0.0895 -1.559309,-0.0698 l -0.04256,0.002 z"
id="rect13913-1-0-5-3"
inkscape:connector-curvature="0" />
<circle
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path6641"
cx="8.2286129"
cy="275.96118"
r="0.51802939" />
<path
style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 8.1744571,275.49696 c -0.8931811,0.0912 -0.1341046,1.40748 0.4021113,0.70219 0.2201097,-0.29286 -0.033595,-0.73541 -0.4021113,-0.70219 z"
id="path6641-3"
inkscape:connector-curvature="0" />
</g>
</svg>
app/static/img/cnc.png

3.4 KB | W: | H:

app/static/img/cnc.png

4.67 KB | W: | H:

app/static/img/cnc.png
app/static/img/cnc.png
app/static/img/cnc.png
app/static/img/cnc.png
  • 2-up
  • Swipe
  • Onion skin
app/static/img/electronique.png

3.19 KB | W: | H:

app/static/img/electronique.png

5.22 KB | W: | H:

app/static/img/electronique.png
app/static/img/electronique.png
app/static/img/electronique.png
app/static/img/electronique.png
  • 2-up
  • Swipe
  • Onion skin
app/static/img/laser.png

7.03 KB | W: | H:

app/static/img/laser.png

7.01 KB | W: | H:

app/static/img/laser.png
app/static/img/laser.png
app/static/img/laser.png
app/static/img/laser.png
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
$( document ).ready(function() {
new Vivus('my-svg', {duration: 200});
$('.menu-link').bigSlide({
easyClose : true
});
......
<!DOCTYPE html>
<html lang="en">
<html lang="{{session['language']}}">
<head>
{% block head %}
{% include 'header.html' %}
......@@ -28,5 +28,8 @@
<script src="{{ url_for('static', filename='node_modules/bootstrap/dist/js/bootstrap.min.js')}}"></script>
<script src="{{ url_for('static', filename='js/bigSlide.min.js')}}"></script>
<script src="{{ url_for('static', filename='js/main.js')}}"></script>
<script src="//cdn.jsdelivr.net/npm/vivus@latest/dist/vivus.min.js"></script>
</body>
</html>
......@@ -21,13 +21,13 @@
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div class="container">
<h2>Lorem ipsum dolor sit amet</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
<h2>{{_("VERSION ENG")}}</h2>
<p>{{_("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.")}}</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
......
......@@ -7,10 +7,10 @@
<div class="logo">
</div>
</li>
<li class="item"><a href="/">about</a><span class="deco"></span></li>
<li class="item"><a href="/learn">learn</a><span class="deco"></li>
<li class="item"><a href="/event">particpate</a><span class="deco"></li>
<li class="item"><a href="/contact">contact</a><span class="deco"></li>
<li class="item"><a href="/">{{_("about")}}</a><span class="deco"></span></li>
<li class="item"><a href="/learn">{{_("learn")}}</a><span class="deco"></li>
<li class="item"><a href="/event">{{_("particpate")}}</a><span class="deco"></li>
<li class="item"><a href="/contact">{{_("contact")}}</a><span class="deco"></li>
</ul>
</div>
......@@ -21,12 +21,15 @@
<ul id="menuSecond">
{% if current_user.is_authenticated %}
<li><a href="/dashboard">Dashboard</a></li>
<li><a href="{{ url_for('security.logout') }}">Logout</a></li>
<li><a href="/dashboard">{{_("Dashboard")}}</a></li>
<li><a href="{{ url_for('security.logout') }}">{{_("Logout")}}</a></li>
{% else %}
{% include "security/_menu.html" %}
{% endif %}
<li class="item"><a href="#">FR/NL</a></li>
<li class="item"><a href="/language/fr">FR</a>/<a href="/language/nl">NL</a>/<a href="/language/en">EN</a></li>
</ul>
</div>
<div class="cb"></div>
......@@ -40,13 +43,13 @@
<div class="logo">
</div>
</li>
<li class="item"><a href="/">about</a><span class="deco"></span></li>
<li class="item"><a href="/learn">learn</a><span class="deco"></li>
<li class="item"><a href="/event">particpate</a><span class="deco"></li>
<li class="item"><a href="/contact">contact</a><span class="deco"></li>
<li class="item"><a href="/">{{_("about")}}</a><span class="deco"></span></li>
<li class="item"><a href="/learn">{{_("learn")}}</a><span class="deco"></li>
<li class="item"><a href="/event">{{_("particpate")}}</a><span class="deco"></li>
<li class="item"><a href="/contact">{{_("contact")}}</a><span class="deco"></li>
<li><hr></li>
{% if current_user.is_authenticated %}
<li><a href="/dashboard">Dashboard</a></li>
<li><a href="/dashboard">{{_("Dashboard")}}</a></li>
<li><a href="{{ url_for('security.logout') }}">Logout</a></li>
{% else %}
{% include "security/_menu.html" %}
......
......@@ -3,8 +3,13 @@
{% block content %}
<div class="spacer"></div>
<div class="container">
<h1> <i class="material-icons md-48"> mail_outline</i> &nbsp; Merci pour l'email</h1>
<div class="svgDraw">
<object id="my-svg" type="image/svg+xml" data="../static/img/logo.svg"></object>
</div>
<h1 class="center"> <i class="material-icons md-48"> mail_outline</i> &nbsp;{{gettext("Merci pour l'email")}} &nbsp; <i class="material-icons md-48"> mail_outline</i> </h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
{% endblock %}
# French translations for PROJECT.
# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2018-07-18 17:44+0200\n"
"PO-Revision-Date: 2018-07-18 17:44+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fr\n"
"Language-Team: fr <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.6.0\n"
#: __init__.py:287
msgid " Felicitation vous avez le badge : "
msgstr ""
#: __init__.py:291
msgid "echec"
msgstr ""
#: templates/home.html:24
msgid "VERSION ENG"
msgstr "VERSION FR"
#: templates/home.html:25
msgid ""
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n"
" tempor incididunt ut labore et dolore magna aliqua. Ut enim ad "
"minim veniam,\n"
" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea "
"commodo\n"
" consequat. Duis aute irure dolor in reprehenderit in voluptate "
"velit esse\n"
" cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat "
"cupidatat non\n"
" proident, sunt in culpa qui officia deserunt mollit anim id est "
"laborum."
msgstr ""
#: templates/menu.html:10 templates/menu.html:46
msgid "about"
msgstr "a propos"
#: templates/menu.html:11 templates/menu.html:47
msgid "learn"
msgstr "apprendre"
#: templates/menu.html:12 templates/menu.html:48
msgid "particpate"
msgstr "evenements"
#: templates/menu.html:13 templates/menu.html:49
msgid "contact"
msgstr "contact"
#: templates/menu.html:24 templates/menu.html:52
msgid "Dashboard"
msgstr "profil"
#: templates/menu.html:25
msgid "Logout"
msgstr "deconnection"
#: templates/succes.html:9
msgid "thank for the mail"
msgstr "merci pour l'email"
#: templates/security/_menu.html:4 templates/security/register_user.html:14
msgid "Register"
msgstr "s'inscrire"
#: templates/security/_menu.html:5 templates/security/login_user.html:12
#: templates/security/send_login.html:6
msgid "Login"
msgstr "connection"
#: templates/security/_menu.html:10 templates/security/login_user.html:19
msgid "Forgot password"
msgstr "mots de passe oublier"
#: templates/security/_menu.html:13
msgid "Confirm account"
msgstr ""
#: templates/security/change_password.html:6
msgid "Change password"
msgstr ""
#: templates/security/forgot_password.html:6
msgid "Send password reset instructions"
msgstr ""
#: templates/security/reset_password.html:6
msgid "Reset password"
msgstr ""
#: templates/security/send_confirmation.html:6
msgid "Resend confirmation instructions"
msgstr ""
#: templates/security/email/change_notice.html:1
msgid "Your password has been changed."
msgstr ""
#: templates/security/email/change_notice.html:3
msgid "If you did not change your password,"
msgstr ""
#: templates/security/email/change_notice.html:3
msgid "click here to reset it"
msgstr ""
#: templates/security/email/confirmation_instructions.html:1
msgid "Please confirm your email through the link below:"
msgstr ""
#: templates/security/email/confirmation_instructions.html:3
#: templates/security/email/welcome.html:6
msgid "Confirm my account"
msgstr ""
#: templates/security/email/login_instructions.html:1
#: templates/security/email/welcome.html:1
#, python-format
msgid "Welcome %(email)s!"
msgstr ""
#: templates/security/email/login_instructions.html:3
msgid "You can log into your account through the link below:"
msgstr ""
#: templates/security/email/login_instructions.html:5
msgid "Login now"
msgstr ""
#: templates/security/email/reset_instructions.html:1
msgid "Click here to reset your password"
msgstr ""
#: templates/security/email/reset_notice.html:1
msgid "Your password has been reset"
msgstr ""
#: templates/security/email/welcome.html:4
msgid "You can confirm your email through the link below:"
msgstr ""
# Dutch translations for PROJECT.
# Copyright (C) 2018 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2018-07-18 13:27+0200\n"
"PO-Revision-Date: 2018-07-18 17:13+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: nl\n"
"Language-Team: nl <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.6.0\n"
#: __init__.py:285
msgid " Felicitation vous avez le badge : "
msgstr ""
#: __init__.py:289
msgid "echec"
msgstr ""
#: templates/home.html:24
msgid "VERSION ENG"
msgstr "VERSION VLAMS"
#: templates/home.html:25
msgid ""
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n"
" tempor incididunt ut labore et dolore magna aliqua. Ut enim ad "
"minim veniam,\n"
" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea "
"commodo\n"
" consequat. Duis aute irure dolor in reprehenderit in voluptate "
"velit esse\n"
" cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat "
"cupidatat non\n"
" proident, sunt in culpa qui officia deserunt mollit anim id est "
"laborum."
msgstr ""
#: templates/succes.html:9
msgid "Merci pour l'email"
msgstr ""
#: templates/security/_menu.html:4 templates/security/register_user.html:14
msgid "Register"
msgstr ""
#: templates/secu