aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--messages.pot187
-rw-r--r--pyaggr3g470r/forms.py32
-rw-r--r--pyaggr3g470r/templates/favorites.html10
-rw-r--r--pyaggr3g470r/templates/feed.html16
-rw-r--r--pyaggr3g470r/templates/feeds.html22
-rw-r--r--pyaggr3g470r/templates/inactives.html6
-rw-r--r--pyaggr3g470r/templates/layout.html28
-rw-r--r--pyaggr3g470r/templates/unread.html14
-rw-r--r--pyaggr3g470r/translations/fr/LC_MESSAGES/messages.mobin5482 -> 7154 bytes
-rw-r--r--pyaggr3g470r/translations/fr/LC_MESSAGES/messages.po195
10 files changed, 404 insertions, 106 deletions
diff --git a/messages.pot b/messages.pot
index 15786415..cf576855 100644
--- a/messages.pot
+++ b/messages.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-05-01 12:47+0200\n"
+"POT-Creation-Date: 2014-05-01 17:26+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -37,7 +37,7 @@ msgstr ""
msgid "Invalid email or password"
msgstr ""
-#: pyaggr3g470r/forms.py:60
+#: pyaggr3g470r/forms.py:60 pyaggr3g470r/templates/feeds.html:11
msgid "Title"
msgstr ""
@@ -191,7 +191,7 @@ msgstr ""
msgid "Edit the feed"
msgstr ""
-#: pyaggr3g470r/views.py:577
+#: pyaggr3g470r/views.py:577 pyaggr3g470r/templates/layout.html:48
msgid "Add a feed"
msgstr ""
@@ -237,59 +237,198 @@ msgstr ""
msgid "Share on"
msgstr ""
-#: pyaggr3g470r/templates/home.html:5
-msgid "You are not subscribed to any feed."
+#: pyaggr3g470r/templates/favorites.html:6
+msgid "No favorites"
msgstr ""
-#: pyaggr3g470r/templates/home.html:5
-msgid "Fix this"
+#: pyaggr3g470r/templates/favorites.html:10
+msgid "Favorites articles"
msgstr ""
-#: pyaggr3g470r/templates/home.html:11
+#: pyaggr3g470r/templates/favorites.html:16 pyaggr3g470r/templates/home.html:11
+#: pyaggr3g470r/templates/unread.html:16
msgid "More articles"
msgstr ""
-#: pyaggr3g470r/templates/home.html:12
+#: pyaggr3g470r/templates/favorites.html:17 pyaggr3g470r/templates/home.html:12
+#: pyaggr3g470r/templates/unread.html:17
msgid "Details"
msgstr ""
-#: pyaggr3g470r/templates/home.html:13
+#: pyaggr3g470r/templates/favorites.html:18 pyaggr3g470r/templates/feed.html:8
+#: pyaggr3g470r/templates/feeds.html:33 pyaggr3g470r/templates/home.html:13
+#: pyaggr3g470r/templates/unread.html:18
msgid "Edit this feed"
msgstr ""
-#: pyaggr3g470r/templates/home.html:15
-msgid "Fetch this feed"
+#: pyaggr3g470r/templates/feed.html:7 pyaggr3g470r/templates/feeds.html:34
+msgid "Delete this feed"
msgstr ""
-#: pyaggr3g470r/templates/home.html:17
-msgid "Mark all as read"
+#: pyaggr3g470r/templates/feed.html:12
+msgid "This feed contains"
msgstr ""
-#: pyaggr3g470r/templates/management.html:5
-msgid "Your subscriptions"
+#: pyaggr3g470r/templates/feed.html:12
+msgid "articles"
+msgstr ""
+
+#: pyaggr3g470r/templates/feed.html:14
+msgid "of the database"
msgstr ""
-#: pyaggr3g470r/templates/management.html:6
+#: pyaggr3g470r/templates/feed.html:17
+msgid "Address of the feed"
+msgstr ""
+
+#: pyaggr3g470r/templates/feed.html:19
+msgid "Address of the site"
+msgstr ""
+
+#: pyaggr3g470r/templates/feed.html:23
+msgid "The last article was posted"
+msgstr ""
+
+#: pyaggr3g470r/templates/feed.html:23
+msgid "day(s) ago."
+msgstr ""
+
+#: pyaggr3g470r/templates/feed.html:24
+msgid "Daily average"
+msgstr ""
+
+#: pyaggr3g470r/templates/feed.html:24
+msgid "between the"
+msgstr ""
+
+#: pyaggr3g470r/templates/feed.html:24
+msgid "and the"
+msgstr ""
+
+#: pyaggr3g470r/templates/feeds.html:4 pyaggr3g470r/templates/management.html:6
msgid "You are subscribed to"
msgstr ""
-#: pyaggr3g470r/templates/management.html:6
+#: pyaggr3g470r/templates/feeds.html:4 pyaggr3g470r/templates/management.html:6
msgid "feeds"
msgstr ""
-#: pyaggr3g470r/templates/management.html:6
+#: pyaggr3g470r/templates/feeds.html:4 pyaggr3g470r/templates/management.html:6
msgid "Add a"
msgstr ""
-#: pyaggr3g470r/templates/management.html:6
+#: pyaggr3g470r/templates/feeds.html:4 pyaggr3g470r/templates/management.html:6
msgid "feed"
msgstr ""
+#: pyaggr3g470r/templates/feeds.html:10
+msgid "Status"
+msgstr ""
+
+#: pyaggr3g470r/templates/feeds.html:12
+msgid "Site"
+msgstr ""
+
+#: pyaggr3g470r/templates/feeds.html:13 pyaggr3g470r/templates/feeds.html:32
+#: pyaggr3g470r/templates/layout.html:43
+msgid "Articles"
+msgstr ""
+
+#: pyaggr3g470r/templates/feeds.html:14
+msgid "Actions"
+msgstr ""
+
+#: pyaggr3g470r/templates/feeds.html:23
+msgid "Feed enabled"
+msgstr ""
+
+#: pyaggr3g470r/templates/feeds.html:25
+msgid "Feed disabled"
+msgstr ""
+
+#: pyaggr3g470r/templates/home.html:5
+msgid "You are not subscribed to any feed."
+msgstr ""
+
+#: pyaggr3g470r/templates/home.html:5
+msgid "Fix this"
+msgstr ""
+
+#: pyaggr3g470r/templates/home.html:15
+msgid "Fetch this feed"
+msgstr ""
+
+#: pyaggr3g470r/templates/home.html:17 pyaggr3g470r/templates/layout.html:46
+#: pyaggr3g470r/templates/unread.html:19
+msgid "Mark all as read"
+msgstr ""
+
+#: pyaggr3g470r/templates/inactives.html:6
+msgid "Days of inactivity"
+msgstr ""
+
+#: pyaggr3g470r/templates/inactives.html:13
+msgid "days"
+msgstr ""
+
+#: pyaggr3g470r/templates/inactives.html:17
+msgid "No inactive feeds."
+msgstr ""
+
+#: pyaggr3g470r/templates/layout.html:45
+msgid "Fetch"
+msgstr ""
+
+#: pyaggr3g470r/templates/layout.html:52
+msgid "Filter"
+msgstr ""
+
+#: pyaggr3g470r/templates/layout.html:54
+msgid "Unread"
+msgstr ""
+
+#: pyaggr3g470r/templates/layout.html:55
+msgid "Favorites"
+msgstr ""
+
+#: pyaggr3g470r/templates/layout.html:56
+msgid "Inactive feeds"
+msgstr ""
+
+#: pyaggr3g470r/templates/layout.html:57
+msgid "All feeds"
+msgstr ""
+
+#: pyaggr3g470r/templates/layout.html:58
+msgid "History"
+msgstr ""
+
+#: pyaggr3g470r/templates/layout.html:61
+msgid "Management"
+msgstr ""
+
+#: pyaggr3g470r/templates/layout.html:63
+msgid "Dashboard"
+msgstr ""
+
+#: pyaggr3g470r/templates/layout.html:65
+msgid "About"
+msgstr ""
+
+#: pyaggr3g470r/templates/layout.html:66
+msgid "Logout"
+msgstr ""
+
+#: pyaggr3g470r/templates/management.html:5
+msgid "Your subscriptions"
+msgstr ""
+
#: pyaggr3g470r/templates/management.html:7
msgid "articles are stored in the database with"
msgstr ""
#: pyaggr3g470r/templates/management.html:7
+#: pyaggr3g470r/templates/unread.html:20
msgid "unread articles"
msgstr ""
@@ -345,3 +484,11 @@ msgstr ""
msgid "Export articles"
msgstr ""
+#: pyaggr3g470r/templates/unread.html:6
+msgid "No unread articles"
+msgstr ""
+
+#: pyaggr3g470r/templates/unread.html:10
+msgid "Unread articles"
+msgstr ""
+
diff --git a/pyaggr3g470r/forms.py b/pyaggr3g470r/forms.py
index a1e24bd7..7f9ab88b 100644
--- a/pyaggr3g470r/forms.py
+++ b/pyaggr3g470r/forms.py
@@ -28,7 +28,7 @@ __license__ = "GPLv3"
from flask import flash
from flask.ext.wtf import Form
-from flask.ext.babel import gettext
+from flask.ext.babel import lazy_gettext
from wtforms import TextField, TextAreaField, PasswordField, BooleanField, SubmitField, validators
from pyaggr3g470r.models import User
@@ -37,9 +37,9 @@ class SigninForm(Form):
"""
Sign in form.
"""
- email = TextField("Email", [validators.Required(gettext("Please enter your email address."))])
- password = PasswordField(gettext('Password'), [validators.Required(gettext("Please enter a password."))])
- submit = SubmitField(gettext("Log In"))
+ email = TextField("Email", [validators.Required(lazy_gettext("Please enter your email address."))])
+ password = PasswordField(lazy_gettext('Password'), [validators.Required(lazy_gettext("Please enter a password."))])
+ submit = SubmitField(lazy_gettext("Log In"))
def __init__(self, *args, **kwargs):
Form.__init__(self, *args, **kwargs)
@@ -52,17 +52,17 @@ class SigninForm(Form):
if user and user.check_password(self.password.data):
return True
else:
- flash(gettext('Invalid email or password'), 'danger')
+ flash(lazy_gettext('Invalid email or password'), 'danger')
#self.email.errors.append("Invalid email or password")
return False
class AddFeedForm(Form):
- title = TextField(gettext("Title"), [validators.Required(gettext("Please enter a title."))])
- link = TextField(gettext("Feed link"), [validators.Required(gettext("Please enter a link for the feed."))])
- site_link = TextField(gettext("Site link"))
- email_notification = BooleanField(gettext("Email notification"), default=False)
- enabled = BooleanField(gettext("Check for updates"), default=True)
- submit = SubmitField(gettext("Save"))
+ title = TextField(lazy_gettext("Title"), [validators.Required(lazy_gettext("Please enter a title."))])
+ link = TextField(lazy_gettext("Feed link"), [validators.Required(lazy_gettext("Please enter a link for the feed."))])
+ site_link = TextField(lazy_gettext("Site link"))
+ email_notification = BooleanField(lazy_gettext("Email notification"), default=False)
+ enabled = BooleanField(lazy_gettext("Check for updates"), default=True)
+ submit = SubmitField(lazy_gettext("Save"))
def __init__(self, *args, **kwargs):
Form.__init__(self, *args, **kwargs)
@@ -73,11 +73,11 @@ class AddFeedForm(Form):
return True
class ProfileForm(Form):
- firstname = TextField(gettext("First name"), [validators.Required(gettext("Please enter your first name."))])
- lastname = TextField(gettext("Last name"), [validators.Required(gettext("Please enter your last name."))])
- email = TextField(gettext("Email"), [validators.Required(gettext("Please enter your email."))])
- password = PasswordField(gettext("Password"))
- submit = SubmitField(gettext("Save"))
+ firstname = TextField(lazy_gettext("First name"), [validators.Required(lazy_gettext("Please enter your first name."))])
+ lastname = TextField(lazy_gettext("Last name"), [validators.Required(lazy_gettext("Please enter your last name."))])
+ email = TextField(lazy_gettext("Email"), [validators.Required(lazy_gettext("Please enter your email."))])
+ password = PasswordField(lazy_gettext("Password"))
+ submit = SubmitField(lazy_gettext("Save"))
def __init__(self, *args, **kwargs):
Form.__init__(self, *args, **kwargs)
diff --git a/pyaggr3g470r/templates/favorites.html b/pyaggr3g470r/templates/favorites.html
index 50378d3c..b0357b41 100644
--- a/pyaggr3g470r/templates/favorites.html
+++ b/pyaggr3g470r/templates/favorites.html
@@ -3,19 +3,19 @@
<div class="container">
{% if feeds|count == 0 %}
<div class="page-header">
- <h1>No favorites</h1>
+ <h1>{{ _('No favorites') }}</h1>
</div>
{% else %}
<div class="page-header">
- <h1>Favorites articles <small>{{ nb_favorites }}</small></h1>
+ <h1>{{ _('Favorites articles') }} <small>{{ nb_favorites }}</small></h1>
</div>
{% for feed in feeds|sort(attribute="title") %}
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h1>{{ feed.title|safe }}</h1>
- <a href="/articles/{{ feed.id }}/100"><i class="glyphicon glyphicon-th-list" title="More articles"></i></a>
- <a href="/feed/{{ feed.id }}"><i class="glyphicon glyphicon-info-sign" title="Details"></i></a>
- <a href="/edit_feed/{{ feed.id }}"><i class="glyphicon glyphicon-edit" title="Edit this feed"></i></a>
+ <a href="/articles/{{ feed.id }}/100"><i class="glyphicon glyphicon-th-list" title="{{ _('More articles') }}"></i></a>
+ <a href="/feed/{{ feed.id }}"><i class="glyphicon glyphicon-info-sign" title="{{ _('Details') }}"></i></a>
+ <a href="/edit_feed/{{ feed.id }}"><i class="glyphicon glyphicon-edit" title="{{ _('Edit this feed') }}"></i></a>
</div>
</div>
{% for number in range(0, feed.articles.all()|length-(feed.articles.all()|length % 3), 3) %}
diff --git a/pyaggr3g470r/templates/feed.html b/pyaggr3g470r/templates/feed.html
index 849dba49..98e965e4 100644
--- a/pyaggr3g470r/templates/feed.html
+++ b/pyaggr3g470r/templates/feed.html
@@ -4,24 +4,24 @@
<div class="jumbotron">
<h2>{{ feed.title }}</h2>
{% if feed.description %} <p>{{ feed.description }}</p> {% endif %}
- <a href="/delete_feed/{{ feed.id }}"><i class="glyphicon glyphicon-remove" title="Delete this feed"></i></a>
- <a href="/edit_feed/{{ feed.id }}"><i class="glyphicon glyphicon-edit" title="Edit this feed"></i></a>
+ <a href="/delete_feed/{{ feed.id }}"><i class="glyphicon glyphicon-remove" title="{{ _('Delete this feed') }}"></i></a>
+ <a href="/edit_feed/{{ feed.id }}"><i class="glyphicon glyphicon-edit" title="{{ _('Edit this feed') }}"></i></a>
</div>
<div class="jumbotron">
<p>
- This feed contains {{ feed.articles.all()|count }} <a href="/articles/{{ feed.id }}/100">articles</a>
+ {{ _('This feed contains') }} {{ feed.articles.all()|count }} <a href="/articles/{{ feed.id }}/100">{{ _('articles') }}</a>
{% if nb_articles != 0 %}
- ({{ ((feed.articles.all()|count * 100 ) / nb_articles) | round(2, 'floor') }}% of the database)
+ ({{ ((feed.articles.all()|count * 100 ) / nb_articles) | round(2, 'floor') }}% {{ _('of the database') }})
{% endif %}
.<br />
- Address of the feed: <a href="{{ feed.link }}">{{ feed.link }}</a><br />
+ {{ _('Address of the feed') }}: <a href="{{ feed.link }}">{{ feed.link }}</a><br />
{% if feed.site_link != "" %}
- Address of the site: <a href="{{ feed.site_link }}">{{ feed.site_link }}</a>
+ {{ _('Address of the site') }}: <a href="{{ feed.site_link }}">{{ feed.site_link }}</a>
{% endif %}
<br />
{% if feed.articles.all()|count != 0 %}
- The last article was posted {{ elapsed.days }} day(s) ago.<br />
- Daily average: {{ average }}, between the {{ first_post_date.strftime('%Y-%m-%d') }} and the {{ end_post_date.strftime('%Y-%m-%d') }}.
+ {{ _('The last article was posted') }} {{ elapsed.days }} {{ _('day(s) ago.') }}<br />
+ {{ _('Daily average') }}: {{ average }}, {{ _('between the') }} {{ first_post_date.strftime('%Y-%m-%d') }} {{ _('and the') }} {{ end_post_date.strftime('%Y-%m-%d') }}.
{% endif %}
</p>
</div>
diff --git a/pyaggr3g470r/templates/feeds.html b/pyaggr3g470r/templates/feeds.html
index 82e4afae..4caf6653 100644
--- a/pyaggr3g470r/templates/feeds.html
+++ b/pyaggr3g470r/templates/feeds.html
@@ -1,17 +1,17 @@
{% extends "layout.html" %}
{% block content %}
<div class="container">
- <h1>You are subscribed to {{ feeds.all()|count }} feeds &middot; Add a <a href="/create_feed/">feed</a></h1>
+ <h1>{{ _('You are subscribed to') }} {{ feeds.all()|count }} {{ _('feeds') }} &middot; {{ _('Add a') }} <a href="/create_feed/">{{ _('feed') }}</a></h1>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
- <th>Status</th>
- <th>Title</th>
- <th>Site</th>
- <th>Articles</th>
- <th>Actions</th>
+ <th>{{ _('Status') }}</th>
+ <th>{{ _('Title') }}</th>
+ <th>{{ _('Site') }}</th>
+ <th>{{ _('Articles') }}</th>
+ <th>{{ _('Actions') }}</th>
</tr>
</thead>
<tbody>
@@ -20,18 +20,18 @@
<td>{{ loop.index }}</td>
<td>
{% if feed.enabled %}
- <i class="glyphicon glyphicon-eye-open" title="Feed enabled"></i>
+ <i class="glyphicon glyphicon-eye-open" title="{{ _('Feed enabled') }}"></i>
{% else %}
- <i class="glyphicon glyphicon-eye-close" title="Feed disabled"></i>
+ <i class="glyphicon glyphicon-eye-close" title="{{ _('Feed disabled') }}"></i>
{% endif %}
</td>
<td><a href="/feed/{{ feed.id }}" {% if feed.description %}title="{{ feed.description }}"{% endif %}>{{ feed.title }}</a></td>
<td><a href="{{ feed.site_link }}">{{ feed.site_link }}</a></td>
<td>{{ feed.articles.all()|count }}</td>
<td>
- <a href="/articles/{{ feed.id }}/100"><i class="glyphicon glyphicon-th-list" title="Articles"></i></a>
- <a href="/edit_feed/{{ feed.id }}"><i class="glyphicon glyphicon-edit" title="Edit this feed"></i></a>
- <a href="/delete_feed/{{ feed.id }}"><i class="glyphicon glyphicon-remove" title="Delete this feed"></i></a>
+ <a href="/articles/{{ feed.id }}/100"><i class="glyphicon glyphicon-th-list" title="{{ _('Articles') }}"></i></a>
+ <a href="/edit_feed/{{ feed.id }}"><i class="glyphicon glyphicon-edit" title="{{ _('Edit this feed') }}"></i></a>
+ <a href="/delete_feed/{{ feed.id }}"><i class="glyphicon glyphicon-remove" title="{{ _('Delete this feed') }}"></i></a>
</td>
</tr>
{% endfor %}
diff --git a/pyaggr3g470r/templates/inactives.html b/pyaggr3g470r/templates/inactives.html
index 0d093029..1916e09a 100644
--- a/pyaggr3g470r/templates/inactives.html
+++ b/pyaggr3g470r/templates/inactives.html
@@ -3,18 +3,18 @@
<div class="container">
<div class="jumbotron">
<form method=get action="/inactives/">
- <p>Days of inactivity:</p>
+ <p>{{ _('Days of inactivity') }}:</p>
<input type="number" name="nb_days" class="form-control" value="{{ nb_days }}" min="0" max="1000000" step="1" size="4" style="text-align: center" />
</form>
<br />
{% if inactives != [] %}
<ul class="list-group">
{% for item in inactives %}
- <li class="list-group-item"><a href="/feed/{{ item[0].id }}">{{ item[0].title }}</a> - {{ item[1].days }} days</li>
+ <li class="list-group-item"><a href="/feed/{{ item[0].id }}">{{ item[0].title }}</a> - {{ item[1].days }} {{ _('days') }}</li>
{% endfor %}
</ul>
{% else %}
- <p>No inactive feeds.<p>
+ <p>{{ _('No inactive feeds.') }}<p>
{% endif %}
</div>
</div><!-- /.container -->
diff --git a/pyaggr3g470r/templates/layout.html b/pyaggr3g470r/templates/layout.html
index d45ce090..8ed66d89 100644
--- a/pyaggr3g470r/templates/layout.html
+++ b/pyaggr3g470r/templates/layout.html
@@ -40,30 +40,30 @@
<ul class="nav navbar-nav navbar-right">
{% if g.user.is_authenticated() %}
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Articles <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ _('Articles') }} <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a accesskey="r" href="/fetch/">Fetch</a></li>
- <li><a href="/mark_as_read/">Mark all as read</a></li>
+ <li><a accesskey="r" href="/fetch/">{{ _('Fetch') }}</a></li>
+ <li><a href="/mark_as_read/">{{ _('Mark all as read') }}</a></li>
<li role="presentation" class="divider"></li>
- <li><a href="/create_feed/">Add a feed</a></li>
+ <li><a href="/create_feed/">{{ _('Add a feed') }}</a></li>
</ul>
</li>
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Filter <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ _('Filter') }} <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a accesskey="u" href="/unread/">Unread</a></li>
- <li><a accesskey="f" href="/favorites/">Favorites</a></li>
- <li><a accesskey="i" href="/inactives/">Inactive feeds</a></li>
- <li><a href="/feeds/">All feeds</a></li>
- <li><a href="/history/">History</a></li>
+ <li><a accesskey="u" href="/unread/">{{ _('Unread') }}</a></li>
+ <li><a accesskey="f" href="/favorites/">{{ _('Favorites') }}</a></li>
+ <li><a accesskey="i" href="/inactives/">{{ _('Inactive feeds') }}</a></li>
+ <li><a href="/feeds/">{{ _('All feeds') }}</a></li>
+ <li><a href="/history/">{{ _('History') }}</a></li>
</ul>
</li>
- <li><a accesskey="m" href="/management/">Management</a></li>
+ <li><a accesskey="m" href="/management/">{{ _('Management') }}</a></li>
{% if g.user.is_admin() %}
- <li><a href="{{ url_for('dashboard') }}"><span class="glyphicon glyphicon-dashboard"></span> Dashboard</a></li>
+ <li><a href="{{ url_for('dashboard') }}"><span class="glyphicon glyphicon-dashboard"></span> {{ _('Dashboard') }}</a></li>
{% endif %}
- <li><a href="/about/">About</a></li>
- <li><a href="{{ url_for('logout') }}">Logout</a></li>
+ <li><a href="/about/">{{ _('About') }}</a></li>
+ <li><a href="{{ url_for('logout') }}">{{ _('Logout') }}</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<button class="btn btn-default btn-xs" type="submit"><span class="glyphicon glyphicon-search"></span></button> <b class="caret"></b>
diff --git a/pyaggr3g470r/templates/unread.html b/pyaggr3g470r/templates/unread.html
index e0ffd2dd..5194aaca 100644
--- a/pyaggr3g470r/templates/unread.html
+++ b/pyaggr3g470r/templates/unread.html
@@ -3,21 +3,21 @@
<div class="container">
{% if feeds|count == 0 %}
<div class="page-header">
- <h1>No unread articles</h1>
+ <h1>{{ _('No unread articles') }}</h1>
</div>
{% else %}
<div class="page-header">
- <h1>Unread articles <small>{{ nb_unread }}</small></h1>
+ <h1>{{ _('Unread articles') }} <small>{{ nb_unread }}</small></h1>
</div>
{% for feed in feeds|sort(attribute="title") %}
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h1>{{ feed.title|safe }}</h1>
- <a href="/articles/{{ feed.id }}/100"><i class="glyphicon glyphicon-th-list" title="More articles"></i></a>
- <a href="/feed/{{ feed.id }}"><i class="glyphicon glyphicon-info-sign" title="Details"></i></a>
- <a href="/edit_feed/{{ feed.id }}"><i class="glyphicon glyphicon-edit" title="Edit this feed"></i></a>
- <a href="/mark_as_read/{{ feed.id }}"><i class="glyphicon glyphicon-check" title="Mark all as read"></i></a>
- <h3>{{ feed.articles.all()|length }} unread articles.</h3>
+ <a href="/articles/{{ feed.id }}/100"><i class="glyphicon glyphicon-th-list" title="{{ _('More articles') }}"></i></a>
+ <a href="/feed/{{ feed.id }}"><i class="glyphicon glyphicon-info-sign" title="{{ _('Details') }}"></i></a>
+ <a href="/edit_feed/{{ feed.id }}"><i class="glyphicon glyphicon-edit" title="{{ _('Edit this feed') }}"></i></a>
+ <a href="/mark_as_read/{{ feed.id }}"><i class="glyphicon glyphicon-check" title="{{ _('Mark all as read') }}"></i></a>
+ <h3>{{ feed.articles.all()|length }} {{ _('unread articles') }}.</h3>
</div>
</div>
{% for number in range(0, feed.articles.all()|length-(feed.articles.all()|length % 3), 3) %}
diff --git a/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.mo b/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.mo
index e5282935..1bdfcc31 100644
--- a/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.mo
+++ b/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.po b/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.po
index 230bbe27..75a95595 100644
--- a/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.po
+++ b/pyaggr3g470r/translations/fr/LC_MESSAGES/messages.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-05-01 12:47+0200\n"
-"PO-Revision-Date: 2014-05-01 12:48+0100\n"
+"POT-Creation-Date: 2014-05-01 17:26+0200\n"
+"PO-Revision-Date: 2014-05-01 17:28+0100\n"
"Last-Translator: Cédric Bonhomme <cedric@cedricbonhomme.org>\n"
"Language-Team: fr <LL@li.org>\n"
"Language: fr\n"
@@ -39,7 +39,7 @@ msgstr "Connexion"
msgid "Invalid email or password"
msgstr "E-mail ou mot de passe invalide"
-#: pyaggr3g470r/forms.py:60
+#: pyaggr3g470r/forms.py:60 pyaggr3g470r/templates/feeds.html:11
msgid "Title"
msgstr "Titre"
@@ -193,7 +193,7 @@ msgstr "déjà dans la base de données."
msgid "Edit the feed"
msgstr "Éditez ce flux"
-#: pyaggr3g470r/views.py:577
+#: pyaggr3g470r/views.py:577 pyaggr3g470r/templates/layout.html:48
msgid "Add a feed"
msgstr "Ajoutez un flux"
@@ -239,59 +239,202 @@ msgstr "Billet précédent:"
msgid "Share on"
msgstr "Partager sur"
-#: pyaggr3g470r/templates/home.html:5
-msgid "You are not subscribed to any feed."
-msgstr "Vous êtes abonné à aucun flux."
+#: pyaggr3g470r/templates/favorites.html:6
+msgid "No favorites"
+msgstr "Aucun favori"
-#: pyaggr3g470r/templates/home.html:5
-msgid "Fix this"
-msgstr "Résolvez ce problème."
+#: pyaggr3g470r/templates/favorites.html:10
+msgid "Favorites articles"
+msgstr "Articles favoris"
-#: pyaggr3g470r/templates/home.html:11
+#: pyaggr3g470r/templates/favorites.html:16
+#: pyaggr3g470r/templates/home.html:11 pyaggr3g470r/templates/unread.html:16
msgid "More articles"
msgstr "Plus d'articles"
-#: pyaggr3g470r/templates/home.html:12
+#: pyaggr3g470r/templates/favorites.html:17
+#: pyaggr3g470r/templates/home.html:12 pyaggr3g470r/templates/unread.html:17
msgid "Details"
msgstr "Détails"
-#: pyaggr3g470r/templates/home.html:13
+#: pyaggr3g470r/templates/favorites.html:18 pyaggr3g470r/templates/feed.html:8
+#: pyaggr3g470r/templates/feeds.html:33 pyaggr3g470r/templates/home.html:13
+#: pyaggr3g470r/templates/unread.html:18
msgid "Edit this feed"
msgstr "Éditer ce flux"
-#: pyaggr3g470r/templates/home.html:15
-msgid "Fetch this feed"
-msgstr "Récupérer ce flux"
+#: pyaggr3g470r/templates/feed.html:7 pyaggr3g470r/templates/feeds.html:34
+msgid "Delete this feed"
+msgstr "Supprimer ce flux"
-#: pyaggr3g470r/templates/home.html:17
-msgid "Mark all as read"
-msgstr "Marquer tout comme lu"
+#: pyaggr3g470r/templates/feed.html:12
+msgid "This feed contains"
+msgstr "Ce flux contient"
-#: pyaggr3g470r/templates/management.html:5
-msgid "Your subscriptions"
-msgstr "Vos abonnements"
+#: pyaggr3g470r/templates/feed.html:12
+msgid "articles"
+msgstr "articles"
+
+#: pyaggr3g470r/templates/feed.html:14
+msgid "of the database"
+msgstr "de la base de données"
+#: pyaggr3g470r/templates/feed.html:17
+msgid "Address of the feed"
+msgstr "Adresse du flux"
+
+#: pyaggr3g470r/templates/feed.html:19
+msgid "Address of the site"
+msgstr "Adresse du site"
+
+#: pyaggr3g470r/templates/feed.html:23
+msgid "The last article was posted"
+msgstr "Le dernier article a été posté il y a"
+
+#: pyaggr3g470r/templates/feed.html:23
+msgid "day(s) ago."
+msgstr "jours."
+
+#: pyaggr3g470r/templates/feed.html:24
+msgid "Daily average"
+msgstr "Moyenne journalière"
+
+#: pyaggr3g470r/templates/feed.html:24
+msgid "between the"
+msgstr "entre le"
+
+#: pyaggr3g470r/templates/feed.html:24
+msgid "and the"
+msgstr "et le"
+
+#: pyaggr3g470r/templates/feeds.html:4
#: pyaggr3g470r/templates/management.html:6
msgid "You are subscribed to"
msgstr "Vous êtes abonné à"
+#: pyaggr3g470r/templates/feeds.html:4
#: pyaggr3g470r/templates/management.html:6
msgid "feeds"
msgstr "flux"
+#: pyaggr3g470r/templates/feeds.html:4
#: pyaggr3g470r/templates/management.html:6
msgid "Add a"
msgstr "Ajouter un"
+#: pyaggr3g470r/templates/feeds.html:4
#: pyaggr3g470r/templates/management.html:6
msgid "feed"
msgstr "flux"
+#: pyaggr3g470r/templates/feeds.html:10
+msgid "Status"
+msgstr "Statut"
+
+#: pyaggr3g470r/templates/feeds.html:12
+msgid "Site"
+msgstr "Site"
+
+#: pyaggr3g470r/templates/feeds.html:13 pyaggr3g470r/templates/feeds.html:32
+#: pyaggr3g470r/templates/layout.html:43
+msgid "Articles"
+msgstr "Articles"
+
+#: pyaggr3g470r/templates/feeds.html:14
+msgid "Actions"
+msgstr "Actions"
+
+#: pyaggr3g470r/templates/feeds.html:23
+msgid "Feed enabled"
+msgstr "Flux activé"
+
+#: pyaggr3g470r/templates/feeds.html:25
+msgid "Feed disabled"
+msgstr "Flux désactivé"
+
+#: pyaggr3g470r/templates/home.html:5
+msgid "You are not subscribed to any feed."
+msgstr "Vous êtes abonné à aucun flux."
+
+#: pyaggr3g470r/templates/home.html:5
+msgid "Fix this"
+msgstr "Résolvez ce problème."
+
+#: pyaggr3g470r/templates/home.html:15
+msgid "Fetch this feed"
+msgstr "Récupérer ce flux"
+
+#: pyaggr3g470r/templates/home.html:17 pyaggr3g470r/templates/layout.html:46
+#: pyaggr3g470r/templates/unread.html:19
+msgid "Mark all as read"
+msgstr "Marquer tout comme lu"
+
+#: pyaggr3g470r/templates/inactives.html:6
+msgid "Days of inactivity"
+msgstr "Jours d'inactivité"
+
+#: pyaggr3g470r/templates/inactives.html:13
+msgid "days"
+msgstr "jours"
+
+#: pyaggr3g470r/templates/inactives.html:17
+msgid "No inactive feeds."
+msgstr "Aucun flux inactifs."
+
+#: pyaggr3g470r/templates/layout.html:45
+msgid "Fetch"
+msgstr "Télécharger"
+
+#: pyaggr3g470r/templates/layout.html:52
+msgid "Filter"
+msgstr "Filtrer"
+
+#: pyaggr3g470r/templates/layout.html:54
+msgid "Unread"
+msgstr "Non lu"
+
+#: pyaggr3g470r/templates/layout.html:55
+msgid "Favorites"
+msgstr "Favoris"
+
+#: pyaggr3g470r/templates/layout.html:56
+msgid "Inactive feeds"
+msgstr "Flux inactifs"
+
+#: pyaggr3g470r/templates/layout.html:57
+msgid "All feeds"
+msgstr "Tous les flux"
+
+#: pyaggr3g470r/templates/layout.html:58
+msgid "History"
+msgstr "Historique"
+
+#: pyaggr3g470r/templates/layout.html:61
+msgid "Management"
+msgstr "Gestion"
+
+#: pyaggr3g470r/templates/layout.html:63
+msgid "Dashboard"
+msgstr "Tableau de bord"
+
+#: pyaggr3g470r/templates/layout.html:65
+msgid "About"
+msgstr "À propos"
+
+#: pyaggr3g470r/templates/layout.html:66
+msgid "Logout"
+msgstr "Déconnexion"
+
+#: pyaggr3g470r/templates/management.html:5
+msgid "Your subscriptions"
+msgstr "Vos abonnements"
+
#: pyaggr3g470r/templates/management.html:7
msgid "articles are stored in the database with"
msgstr "articles sont stockés dans la base avec"
#: pyaggr3g470r/templates/management.html:7
+#: pyaggr3g470r/templates/unread.html:20
msgid "unread articles"
msgstr "articles non lus"
@@ -346,3 +489,11 @@ msgstr "Exporter les flux au format OPML"
#: pyaggr3g470r/templates/management.html:36
msgid "Export articles"
msgstr "Exporter les articles"
+
+#: pyaggr3g470r/templates/unread.html:6
+msgid "No unread articles"
+msgstr "Pas d'articles non lus"
+
+#: pyaggr3g470r/templates/unread.html:10
+msgid "Unread articles"
+msgstr "Articles non lus"
bgstack15