aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--newspipe/web/translations/fr/LC_MESSAGES/messages.mobin19672 -> 7854 bytes
-rw-r--r--newspipe/web/translations/fr/LC_MESSAGES/messages.po1348
-rwxr-xr-xnewspipe/web/translations/internationalization.sh4
-rw-r--r--newspipe/web/translations/messages.pot836
-rwxr-xr-xrunserver.py5
6 files changed, 715 insertions, 1479 deletions
diff --git a/README.md b/README.md
index ffa9307d..b03b5e43 100644
--- a/README.md
+++ b/README.md
@@ -46,6 +46,7 @@ $ npm install
$ poetry install
$ export Newspipe_CONFIG=sqlite.py
$ poetry shell
+$ pybabel compile -d newspipe/web/translations
$ python manager.py db_create
$ python manager.py create_admin <nickname> <password>
$ python runserver.py
diff --git a/newspipe/web/translations/fr/LC_MESSAGES/messages.mo b/newspipe/web/translations/fr/LC_MESSAGES/messages.mo
index 87b48bb3..f8e63a58 100644
--- a/newspipe/web/translations/fr/LC_MESSAGES/messages.mo
+++ b/newspipe/web/translations/fr/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/newspipe/web/translations/fr/LC_MESSAGES/messages.po b/newspipe/web/translations/fr/LC_MESSAGES/messages.po
index b9b9323b..36bb03c0 100644
--- a/newspipe/web/translations/fr/LC_MESSAGES/messages.po
+++ b/newspipe/web/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: 2018-10-15 10:14+0200\n"
-"PO-Revision-Date: 2018-10-15 10:14+0200\n"
+"POT-Creation-Date: 2020-03-14 22:00+0100\n"
+"PO-Revision-Date: 2020-03-14 22:01+0100\n"
"Last-Translator: Cédric Bonhomme <cedric@cedricbonhomme.org>\n"
"Language-Team: fr <LL@li.org>\n"
"Language: fr\n"
@@ -17,22 +17,22 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Generated-By: Babel 1.3\n"
-"X-Generator: Poedit 2.0.6\n"
+"X-Generator: Poedit 2.2.4\n"
-#: ../forms.py:46 ../forms.py:130 ../forms.py:151
-#: ../templates/admin/dashboard.html:12
+#: newspipe/web/forms.py:57 newspipe/web/forms.py:166 newspipe/web/forms.py:192
msgid "Nickname"
msgstr "Pseudonyme"
-#: ../forms.py:47 ../forms.py:96 ../forms.py:131 ../forms.py:152
+#: newspipe/web/forms.py:58 newspipe/web/forms.py:125 newspipe/web/forms.py:167
+#: newspipe/web/forms.py:193
msgid "Please enter your nickname."
msgstr "S'il vous plaît, entrez votre pseudonyme."
-#: ../forms.py:48
+#: newspipe/web/forms.py:61
msgid "Email"
msgstr "Email"
-#: ../forms.py:51
+#: newspipe/web/forms.py:65
#, fuzzy
#| msgid "Please enter your email address or nickname."
msgid ""
@@ -40,19 +40,20 @@ msgid ""
"stored)."
msgstr "S'il vous plaît, entrez votre adresse email ou pseudo."
-#: ../forms.py:52 ../forms.py:97 ../forms.py:132 ../forms.py:153
+#: newspipe/web/forms.py:72 newspipe/web/forms.py:129 newspipe/web/forms.py:169
+#: newspipe/web/forms.py:195
msgid "Password"
msgstr "Mot de passe"
-#: ../forms.py:53 ../forms.py:98
+#: newspipe/web/forms.py:74 newspipe/web/forms.py:131
msgid "Please enter a password."
msgstr "S'il vous plaît entrer un mot de passe."
-#: ../forms.py:55 ../templates/login.html:26
+#: newspipe/web/forms.py:78
msgid "Sign up"
msgstr "S'inscrire"
-#: ../forms.py:64 ../forms.py:140 ../forms.py:172
+#: newspipe/web/forms.py:88 newspipe/web/forms.py:177 newspipe/web/forms.py:213
msgid ""
"This nickname has invalid characters. Please use letters, numbers, dots and "
"underscores only."
@@ -60,1035 +61,876 @@ msgstr ""
"Ce pseudonyme a des caractères non valides. Utilisez seulement des lettres, "
"des chiffres, des points et '_'."
-#: ../forms.py:100 ../templates/login.html:5
+#: newspipe/web/forms.py:135
msgid "Log In"
msgstr "Connexion"
-#: ../forms.py:133 ../forms.py:155
+#: newspipe/web/forms.py:170 newspipe/web/forms.py:197
msgid "Automatic crawling"
msgstr "Récupération automatique"
-#: ../forms.py:135 ../forms.py:162 ../forms.py:185 ../forms.py:198
-#: ../forms.py:212
+#: newspipe/web/forms.py:171 newspipe/web/forms.py:202
+#: newspipe/web/forms.py:231 newspipe/web/forms.py:244
+#: newspipe/web/forms.py:258
msgid "Save"
msgstr "Sauver"
-#: ../forms.py:154
+#: newspipe/web/forms.py:196
msgid "Password Confirmation"
msgstr "Confirmation du mot de passe"
-#: ../forms.py:157
+#: newspipe/web/forms.py:198
msgid "Bio"
msgstr "Bio"
-#: ../forms.py:158 ../templates/profile_public.html:18
+#: newspipe/web/forms.py:199
msgid "Webpage"
msgstr "Page web"
-#: ../forms.py:159 ../templates/profile_public.html:24
+#: newspipe/web/forms.py:200
msgid "Twitter"
msgstr "Twitter"
-#: ../forms.py:160
+#: newspipe/web/forms.py:201
msgid "Public profile"
msgstr "Profil public"
-#: ../forms.py:167
+#: newspipe/web/forms.py:207
msgid "Passwords aren't the same."
msgstr "Les mots de passe ne sont pas identiques."
-#: ../forms.py:180 ../forms.py:205 ../templates/feed_list.html:8
-#: ../templates/feed_list_simple.html:7
+#: newspipe/web/forms.py:224 newspipe/web/forms.py:251
msgid "Title"
msgstr "Titre"
-#: ../forms.py:181
+#: newspipe/web/forms.py:226
msgid "Feed link"
msgstr "Lien du flux"
-#: ../forms.py:182
+#: newspipe/web/forms.py:227
msgid "Please enter the URL."
msgstr "S'il vous plaît, entrez une adresse."
-#: ../forms.py:183
+#: newspipe/web/forms.py:229
msgid "Site link"
msgstr "Lien du site"
-#: ../forms.py:184
+#: newspipe/web/forms.py:230
msgid "Check for updates"
msgstr "Vérifier les mises à jour"
-#: ../forms.py:186
+#: newspipe/web/forms.py:233
msgid "Category of the feed"
msgstr "Catégorie du flux"
-#: ../forms.py:188
+#: newspipe/web/forms.py:235
msgid "Private"
msgstr "Privé"
-#: ../forms.py:197 ../templates/layout.html:87
+#: newspipe/web/forms.py:243
msgid "Category name"
msgstr "Nom de la catégorie"
-#: ../forms.py:202
+#: newspipe/web/forms.py:249
msgid "URL"
msgstr "URL"
-#: ../forms.py:204
+#: newspipe/web/forms.py:249
msgid "Please enter an URL."
msgstr "S'il vous plaît, entrez une adresse."
-#: ../forms.py:207
+#: newspipe/web/forms.py:253
msgid "Description"
msgstr "Description"
-#: ../forms.py:209
+#: newspipe/web/forms.py:255
msgid "Tags"
msgstr "Tags"
-#: ../forms.py:210
+#: newspipe/web/forms.py:256
msgid "To read"
msgstr "À lire"
-#: ../forms.py:211
+#: newspipe/web/forms.py:257
msgid "Shared"
msgstr "Partagé"
-#: ../forms.py:216
+#: newspipe/web/forms.py:263
msgid "Subject"
msgstr "Objet"
-#: ../forms.py:217
+#: newspipe/web/forms.py:264
msgid "Please enter a subject."
msgstr "S'il vous plaît entrer un objet."
-#: ../forms.py:218
+#: newspipe/web/forms.py:267
msgid "Message"
msgstr "Message"
-#: ../forms.py:219
+#: newspipe/web/forms.py:268
msgid "Please enter a content."
msgstr "S'il vous plaît entrer un contenu."
-#: ../forms.py:220
+#: newspipe/web/forms.py:270
msgid "Send"
msgstr "Envoyer"
-#: ../templates/about.html:5 ../templates/layout.html:113
-#: ../templates/layout.html:125
-msgid "About"
-msgstr "À propos"
-
-#: ../templates/about.html:7
-msgid "Newspipe is a news aggregator platform."
-msgstr "Newspipe est un agrégateur de nouvelles Web."
-
-#: ../templates/about.html:8
-msgid ""
-"You can easily <a href=\"https://newspipe.readthedocs.io/en/latest/"
-"deployment.html\">install Newspipe on your server</a>."
-msgstr ""
-"Vous pouvez facilement <a href=\"https://newspipe.readthedocs.io/en/latest/"
-"deployment.html\">installer Newspipe sur votre serveur</a>."
-
-#: ../templates/about.html:9
-msgid "Alternatively, you can deploy your own copy using this button:"
-msgstr ""
-"Alternativement, vous pouvez déployer votre propre copie en utilisant ce "
-"bouton:"
+#: newspipe/web/views/admin.py:41
+#, python-format
+msgid "Edit the user <i>%(nick)s</i>"
+msgstr "Éditer l'utilisateur <i>%(nick)s</i>"
-#: ../templates/about.html:11
-msgid ""
-"This software is under AGPLv3 license. You are welcome to copy, modify or\n"
-" redistribute the <a href=\"https://git.sr.ht/~cedric/newspipe"
-"\">source code</a>\n"
-" according to the <a href=\"https://www.gnu.org/licenses/agpl-3.0.html"
-"\">Affero GPL</a> license."
-msgstr ""
-"Ce logiciel est sous licence AGPLv3. Vous êtes invité à copier, modifier ou "
-"redistribuer le <a href=\"https://git.sr.ht/~cedric/newspipe\">code "
-"source</a> selon la licence <a href=\"https://www.gnu.org/licenses/agpl-3.0."
-"html\">Affero GPL</a>."
+#: newspipe/web/views/admin.py:44
+msgid "Add a new user"
+msgstr "Ajouter un nouvel utilisateur"
-#: ../templates/about.html:14
-msgid ""
-"Found a bug? Report it <a href=\"https://git.sr.ht/~cedric/newspipe/issues"
-"\">here</a>."
-msgstr ""
-"Vous avez trouvé un bug? Signalez-le <a href=\"https://gitlab.com/newspipe/"
-"newspipe/issues\">ici</a>."
+#: newspipe/web/views/admin.py:63
+msgid "Some errors were found"
+msgstr "Des erreurs ont été trouvées"
-#: ../templates/about.html:15
-msgid "More information"
-msgstr "Plus d'informations"
+#: newspipe/web/views/admin.py:78 newspipe/web/views/user.py:184
+#, python-format
+msgid "User %(nick)s successfully updated"
+msgstr "Utilisateur %(nick)s mis à jour avec succès."
-#: ../templates/about.html:15
-msgid "about this instance."
-msgstr "à propos de cette instance."
+#: newspipe/web/views/admin.py:90
+#, python-format
+msgid "User %(nick)s successfully created"
+msgstr "Utilisateur %(nick)s créé avec succès."
-#: ../templates/about.html:18
-msgid "Help"
-msgstr "Aide"
+#: newspipe/web/views/admin.py:105
+#, python-format
+msgid "User %(nick)s successfully deleted"
+msgstr "Utilisateur %(nick)s supprimé avec succès."
-#: ../templates/about.html:19
-msgid ""
-"The documentation of the API is <a href=\"https://newspipe.readthedocs.io/en/"
-"latest/web-services-v3.html\">here</a>."
+#: newspipe/web/views/admin.py:109
+#, python-format
+msgid "An error occurred while trying to delete a user: %(error)s"
msgstr ""
-"La documentation de l'API est <a href=\"https://newspipe.readthedocs.io/en/"
-"latest/web-services-v3.html\">ici</a>."
+"Une erreur est apparue lors de la suppression de l'utilisateur: %(error)s"
-#: ../templates/about.html:20
-msgid "Contact"
-msgstr "Contact"
+#: newspipe/web/views/admin.py:130
+msgid "This user does not exist."
+msgstr "Cet utilisateur n'existe pas."
-#: ../templates/about.html:21
-msgid ""
-"You can subscribe to new feeds with a bookmarklet. Drag the following button "
-"to your browser bookmarks."
-msgstr ""
-"Vous pouvez vous abonner à de nouveaux flux avec un bookmarklet. Faites "
-"glisser le bouton suivant dans vos favoris."
+#: newspipe/web/views/admin.py:135
+#, python-format
+msgid "User %(nickname)s successfully %(is_active)s"
+msgstr "Utilisateur %(nickname)s %(is_active)s avec succès."
-#: ../templates/about.html:22
+#: newspipe/web/views/article.py:87
#, python-format
-msgid ""
-"<a class=\"btn btn-default\" href=\"%(bookmarklet)s\" rel=\"bookmark"
-"\">Subscribe to this feed using Newspipe</a>"
-msgstr ""
-"<a class=\"btn btn-default\" href=\"%(bookmarklet)s\" rel=\"bookmark"
-"\">Abonnez-vous à ce flux en utilisant Newspipe</a>"
+msgid "Article %(article_title)s deleted"
+msgstr "Article %(article_title)s supprimé."
-#: ../templates/about_more.html:5
-msgid "Newspipe version"
-msgstr "Version de Newspipe"
+#: newspipe/web/views/article.py:146
+#, python-format
+msgid "%(count)d articles deleted"
+msgstr "%(count)d articles supprimés."
-#: ../templates/about_more.html:6
-msgid "Running on Heroku"
-msgstr "Fonctionne sur Heroku"
+#: newspipe/web/views/article.py:160
+msgid "Error when exporting articles."
+msgstr "Erreur lors de l'export des articles."
-#: ../templates/about_more.html:7
-msgid "Registration"
-msgstr "Inscription"
+#: newspipe/web/views/bookmark.py:61
+msgid "Bookmarks"
+msgstr "Marque-pages"
-#: ../templates/about_more.html:8
-msgid "Python version"
-msgstr "Version de Python"
+#: newspipe/web/views/bookmark.py:92
+msgid "Recent bookmarks"
+msgstr "Marque-pages récents"
-#: ../templates/about_more.html:9
-msgid "Number of users"
-msgstr "Nombre d'utilisateurs"
+#: newspipe/web/views/bookmark.py:127
+msgid "Add a new bookmark"
+msgstr "Ajouter un nouveau marque-page"
-#: ../templates/article.html:6 ../templates/article_pub.html:6
-msgid "from"
-msgstr "de"
+#: newspipe/web/views/bookmark.py:137
+msgid "Edit bookmark"
+msgstr "Modifiez le marque-page"
-#: ../templates/article.html:7 ../templates/duplicates.html:22
-#: ../templates/duplicates.html:23
-msgid "Delete this article"
-msgstr "Supprimer cet article"
+#: newspipe/web/views/bookmark.py:184
+msgid "Bookmark successfully updated."
+msgstr "Marque-page mis à jour avec succès."
-#: ../templates/article.html:9
-msgid "One of your favorites"
-msgstr "Un de vos favoris"
+#: newspipe/web/views/bookmark.py:197 newspipe/web/views/bookmark.py:254
+msgid "Bookmark successfully created."
+msgstr "Marque-page créé avec succès."
-#: ../templates/article.html:11
-msgid "Click if you like this article"
-msgstr "Cliquez si vous aimez cet article"
+#: newspipe/web/views/bookmark.py:207
+#, python-format
+msgid "Bookmark %(bookmark_name)s successfully deleted."
+msgstr "Marque-page %(bookmark_name)s supprimé avec succès."
-#: ../templates/article.html:14
-msgid "Mark this article as unread"
-msgstr "Marquer cet article comme non lu"
+#: newspipe/web/views/bookmark.py:222
+msgid "Bookmarks successfully deleted."
+msgstr "Marque-pages supprimés avec succès."
-#: ../templates/article.html:16
-msgid "Mark this article as read"
-msgstr "Marquer cet article comme lu"
+#: newspipe/web/views/bookmark.py:232
+msgid "Couldn't add bookmark: url missing."
+msgstr "Impossible d'ajouter le marque-page: URL manquante."
-#: ../templates/article.html:25 ../templates/article.html:28
-#: ../templates/article.html:31 ../templates/article_pub.html:14
-#: ../templates/article_pub.html:17 ../templates/article_pub.html:20
-msgid "Share on"
-msgstr "Partager sur"
+#: newspipe/web/views/bookmark.py:242
+msgid "Couldn't add bookmark: bookmark already exists."
+msgstr "Impossible d'ajouter le marque-page: l'URL existe déjà."
-#: ../templates/categories.html:4
+#: newspipe/web/views/bookmark.py:267
#, python-format
-msgid ""
-"You have %(categories)d categories &middot; Add a %(start_link)scategory"
-"%(end_link)s"
-msgstr ""
-"Vous avez %(categories)d catégories &middot; Ajouter une "
-"%(start_link)scategorie%(end_link)s"
+msgid "%(nb_bookmarks)s bookmarks successfully imported."
+msgstr "%(nb_bookmarks)s marque-pages importés avec succès."
-#: ../templates/categories.html:6
-msgid "No category"
-msgstr "Aucune catégorie"
+#: newspipe/web/views/bookmark.py:274
+msgid "Error when importing bookmarks."
+msgstr "Erreur lors de l'import des marque-pages."
-#: ../templates/categories.html:13
-msgid "Name"
-msgstr "Nom de famille"
+#: newspipe/web/views/category.py:34
+msgid "Add a category"
+msgstr "Ajouter une catégorie"
-#: ../templates/categories.html:14 ../templates/profile_public.html:38
-msgid "Feeds"
-msgstr "Flux"
+#: newspipe/web/views/category.py:44
+msgid "Edit category"
+msgstr "Éditer la catégorie"
-#: ../templates/categories.html:15 ../templates/feed_list.html:10
-msgid "Articles"
-msgstr "Articles"
+#: newspipe/web/views/category.py:62
+#, python-format
+msgid "Category %(category_name)s successfully deleted."
+msgstr "Catégorie %(category_name)s supprimée avec succès."
-#: ../templates/admin/dashboard.html:15 ../templates/categories.html:16
-#: ../templates/feed_list.html:11
-msgid "Actions"
-msgstr "Actions"
+#: newspipe/web/views/category.py:82
+msgid "Couldn't add category: already exists."
+msgstr "Impossible d'ajouter la catégorie: le catégorie existe déjà."
-#: ../templates/categories.html:27
-msgid "Edit this category"
-msgstr "Éditer la catégorie"
+#: newspipe/web/views/category.py:90
+#, python-format
+msgid "Category %(cat_name)r successfully updated."
+msgstr "Catégorie %(cat_name)r mise à jour avec succès."
-#: ../templates/categories.html:28
-msgid "Delete this category"
-msgstr "Supprimer cette catégorie"
+#: newspipe/web/views/category.py:102
+#, python-format
+msgid "Category %(category_name)r successfully created."
+msgstr "Catégorie %(category_name)r créée avec succès."
-#: ../templates/categories.html:28
-msgid "You are going to delete this category."
-msgstr "Vous allez supprimer cette catégorie."
+#: newspipe/web/views/feed.py:126
+#, python-format
+msgid "Feed %(feed_title)s successfully deleted."
+msgstr "Flux %(feed_title)s supprimé avec succès."
-#: ../templates/duplicates.html:4
-msgid "Duplicates in the feed"
-msgstr "Doublons dans le flux"
+#: newspipe/web/views/feed.py:139 newspipe/web/views/feed.py:271
+#, python-format
+msgid "Feed %(feed_title)r successfully updated."
+msgstr "Flux %(feed_title)r mis à jour avec succès."
-#: ../templates/duplicates.html:11 ../templates/duplicates.html:14
-msgid "Delete all in this column"
-msgstr "Supprimer tout dans cette colonne"
+#: newspipe/web/views/feed.py:151
+msgid "Couldn't add feed: url missing."
+msgstr "Impossible d'ajouter le flux: URL manquante."
-#: ../templates/edit_bookmark.html:65 ../templates/layout.html:59
-#: ../views/bookmark.py:119
-msgid "Add a new bookmark"
-msgstr "Ajouter un nouveau marque-page"
+#: newspipe/web/views/feed.py:156 newspipe/web/views/feed.py:247
+msgid "Couldn't add feed: feed already exists."
+msgstr "Impossible d'ajouter le flux: le flux existe déjà."
-#: ../templates/edit_bookmark.html:68
-msgid ""
-"You can add a bookmark with a bookmarklet. Drag the following button to your "
-"browser bookmarks."
-msgstr ""
-"Vous pouvez ajouter un marque-page avec un bookmarklet. Faites glisser le "
-"bouton suivant dans vos favoris."
+#: newspipe/web/views/feed.py:163
+msgid "Impossible to connect to the address: {}."
+msgstr "Impossible de se connecter à l'adresse: {}."
-#: ../templates/edit_bookmark.html:69
-#, python-format
+#: newspipe/web/views/feed.py:172
msgid ""
-"<a class=\"btn btn-default\" href=\"%(bookmarklet)s\" rel=\"bookmark"
-"\">Bookmark this page using Newspipe</a>"
+"Couldn't find a feed url, you'll need to find a Atom or RSS link manually "
+"and reactivate this feed"
msgstr ""
-"<a class=\"btn btn-default\" href=\"%(bookmarklet)s\" rel=\"bookmark"
-"\">Marquez cette page en utilisant Newspipe</a>"
+"Impossible de trouver une URL de flux, vous devez trouver un lien RSS ou "
+"Atom manuellement et réactiver ce flux"
-#: ../templates/edit_bookmark.html:73
-msgid "Import bookmarks from Pinboard"
-msgstr "Importez les marque-pages depuis Pinboard"
+#: newspipe/web/views/feed.py:179
+msgid "Feed was successfully created."
+msgstr "Flux créé avec succès."
-#: ../templates/edit_feed.html:19 ../templates/edit_feed.html:27
-#: ../templates/edit_feed.html:35
-msgid "Optional"
-msgstr "Facultatif"
+#: newspipe/web/views/feed.py:182 newspipe/web/views/feed.py:289
+msgid "Downloading articles for the new feed..."
+msgstr "Téléchargement des articles du nouveau flux..."
-#: ../templates/edit_feed.html:55
+#: newspipe/web/views/feed.py:200
+msgid "Feed successfully updated."
+msgstr "Flux mis à jour avec succès."
+
+#: newspipe/web/views/feed.py:209
+msgid "Add a feed"
+msgstr "Ajouter un flux"
+
+#: newspipe/web/views/feed.py:221
+msgid "Edit feed"
+msgstr "Éditez ce flux"
+
+#: newspipe/web/views/feed.py:283
#, python-format
-msgid ""
-"If checked, articles of this feed won't be available to others and the feed "
-"won't be listed on <a href='%(url)s'>your profile page</a>."
-msgstr ""
-"Si cette option est cochée, les articles de ce flux ne seront pas visibles "
-"aux autres et ne seront pas répertoriés sur <a href='%(url)s'>votre profil "
-"public</a>."
+msgid "Feed %(feed_title)r successfully created."
+msgstr "Flux %(feed_title)r créé avec succès."
-#: ../templates/edit_feed.html:56
-msgid "Check this box if there is a private token in the link of the feed."
-msgstr "Cochez cette case si il ya un token privé dans le lien du flux."
+#: newspipe/web/views/feed.py:313
+msgid "No duplicates in the feed \"{}\"."
+msgstr "Pas de doublon dans le flux \"{}\"."
-#: ../templates/edit_feed.html:62
-msgid "Filters"
-msgstr "Filtres"
+#: newspipe/web/views/home.py:203 newspipe/web/views/user.py:116
+msgid "Downloading articles..."
+msgstr "Téléchargement des articles."
-#: ../templates/edit_feed.html:73
-msgid "simple match"
-msgstr "correspondance exact"
+#: newspipe/web/views/home.py:206
+msgid ""
+"The manual retrieving of news is only available for administrator, on the "
+"Heroku platform."
+msgstr ""
+"La récupération manuelle de nouvelles est disponible uniquement pour "
+"l'administrateur, sur la plate-forme Heroku."
-#: ../templates/edit_feed.html:74
-msgid "regex"
-msgstr "expression régulière"
+#: newspipe/web/views/session_mgmt.py:37
+msgid "Please log in to access this page."
+msgstr "S'il vous plaît connectez vous pour accéder à cette page."
-#: ../templates/edit_feed.html:78
-msgid "match"
-msgstr "correspond"
+#: newspipe/web/views/session_mgmt.py:101
+msgid "Self-registration is disabled."
+msgstr "L'auto-enregistrement est désactivé."
-#: ../templates/edit_feed.html:79
-msgid "no match"
-msgstr "ne correspond pas"
+#: newspipe/web/views/session_mgmt.py:118
+#, python-format
+msgid "Problem while sending activation email: %(error)s"
+msgstr "Problème lors de l'envoi d'email d'activation: %(error)s"
-#: ../templates/edit_feed.html:82
-msgid "mark as read"
-msgstr "Marquer cet article comme lu"
+#: newspipe/web/views/session_mgmt.py:126
+msgid "Your account has been created. Check your mail to confirm it."
+msgstr "Votre compte a été créé. Vérifiez votre courrier pour le confirmer."
-#: ../templates/edit_feed.html:83
-msgid "mark as favorite"
-msgstr "Marquer comme favori"
+#: newspipe/web/views/user.py:33 newspipe/web/views/user.py:58
+msgid "You must set your profile to public."
+msgstr "Vous devez mettre votre profil en public."
-#: ../templates/feed.html:8 ../templates/feed_list.html:35
-msgid "Delete this feed"
-msgstr "Supprimer ce flux"
+#: newspipe/web/views/user.py:109 newspipe/web/views/user.py:123
+#: newspipe/web/views/user.py:131
+msgid "File not allowed."
+msgstr "Fichier non autorisé."
-#: ../templates/feed.html:8 ../templates/feed_list.html:35
-msgid "You are going to delete this feed."
-msgstr "Vous allez supprimer ce flux."
+#: newspipe/web/views/user.py:115
+msgid "feeds imported."
+msgstr "flux importés."
-#: ../templates/feed.html:9 ../templates/feed_list.html:33
-msgid "Edit this feed"
-msgstr "Éditer ce flux"
+#: newspipe/web/views/user.py:118
+msgid "Impossible to import the new feeds."
+msgstr "Impossible d'importer les nouveaux flux."
-#: ../templates/feed.html:14
-msgid "This feed contains"
-msgstr "Ce flux contient"
+#: newspipe/web/views/user.py:127
+msgid "Account imported."
+msgstr "Compte importé."
-#: ../templates/feed.html:14
-msgid "articles"
-msgstr "articles"
+#: newspipe/web/views/user.py:129
+msgid "Impossible to import the account."
+msgstr "Impossible d'importer le compte."
-#: ../templates/feed.html:16
+#: newspipe/web/views/user.py:177
#, python-format
-msgid "This feed is part of category %(category_name)s"
-msgstr "Ce flux fait partie de la catégorie %(category_name)s"
+msgid "Problem while updating your profile: %(error)s"
+msgstr "Problème lors de la mise à jour de votre profil: %(error)s"
-#: ../templates/feed.html:18
-msgid "Address of the feed"
-msgstr "Adresse du flux"
+#: newspipe/web/views/user.py:203
+msgid "Your account has been deleted."
+msgstr "Votre compte a été supprimé."
-#: ../templates/feed.html:20
-msgid "Address of the site"
-msgstr "Adresse du site"
+#: newspipe/web/views/user.py:220
+msgid "Your account has been confirmed."
+msgstr "Votre compte a été confirmé."
-#: ../templates/feed.html:26
-msgid "Last download:"
-msgstr "Dernier téléchargement:"
+#: newspipe/web/views/user.py:222
+msgid "Impossible to confirm this account."
+msgstr "Impossible de confirmer ce compte."
-#: ../templates/feed.html:30
-msgid ""
-"That feed has encountered too much consecutive errors and won't be retrieved "
-"anymore."
-msgstr ""
-"Ce flux a rencontré trop d'erreurs consécutives et ne sera plus récupéré."
+#: newspipe/web/views/views.py:22
+msgid "Authentication required."
+msgstr "Authentification requise."
-#: ../templates/feed.html:31
-#, python-format
-msgid ""
-"You can click <a href='%(reset_error_url)s'>here</a> to reset the error "
-"count and reactivate the feed."
-msgstr ""
-"Vous pouvez cliquer <a href='%(reset_error_url)s'>ici</a> pour réinitialiser "
-"le nombre d'erreurs et réactiver le flux."
+#: newspipe/web/views/views.py:30
+msgid "Forbidden."
+msgstr "Interdit."
-#: ../templates/feed.html:33
-msgid ""
-"The download of this feed has encountered some problems. However its error "
-"counter will be reinitialized at the next successful retrieving."
-msgstr ""
-"Le téléchargement de ce flux a rencontré quelques problèmes. Cependant, son "
-"compteur d'erreurs sera réinitialisé lors de la prochaine récupération "
-"réussie."
+#~ msgid "About"
+#~ msgstr "À propos"
-#: ../templates/feed.html:37
-msgid "Here's the last error encountered while retrieving this feed:"
-msgstr "Voici la dernière erreur survenue lors de la récupération ce flux:"
+#~ msgid "Newspipe is a news aggregator platform."
+#~ msgstr "Newspipe est un agrégateur de nouvelles Web."
-#: ../templates/feed.html:41
-msgid "The last article was posted"
-msgstr "Le dernier article a été posté il y a"
+#~ msgid ""
+#~ "You can easily <a href=\"https://newspipe.readthedocs.io/en/latest/"
+#~ "deployment.html\">install Newspipe on your server</a>."
+#~ msgstr ""
+#~ "Vous pouvez facilement <a href=\"https://newspipe.readthedocs.io/en/"
+#~ "latest/deployment.html\">installer Newspipe sur votre serveur</a>."
-#: ../templates/feed.html:41
-msgid "day(s) ago."
-msgstr "jours."
+#~ msgid "Alternatively, you can deploy your own copy using this button:"
+#~ msgstr ""
+#~ "Alternativement, vous pouvez déployer votre propre copie en utilisant ce "
+#~ "bouton:"
-#: ../templates/feed.html:42
-msgid "Daily average"
-msgstr "Moyenne journalière"
+#~ msgid ""
+#~ "This software is under AGPLv3 license. You are welcome to copy, modify "
+#~ "or\n"
+#~ " redistribute the <a href=\"https://git.sr.ht/~cedric/newspipe"
+#~ "\">source code</a>\n"
+#~ " according to the <a href=\"https://www.gnu.org/licenses/agpl-3.0."
+#~ "html\">Affero GPL</a> license."
+#~ msgstr ""
+#~ "Ce logiciel est sous licence AGPLv3. Vous êtes invité à copier, modifier "
+#~ "ou redistribuer le <a href=\"https://git.sr.ht/~cedric/newspipe\">code "
+#~ "source</a> selon la licence <a href=\"https://www.gnu.org/licenses/"
+#~ "agpl-3.0.html\">Affero GPL</a>."
-#: ../templates/feed.html:42
-msgid "between the"
-msgstr "entre le"
+#~ msgid ""
+#~ "Found a bug? Report it <a href=\"https://git.sr.ht/~cedric/newspipe/issues"
+#~ "\">here</a>."
+#~ msgstr ""
+#~ "Vous avez trouvé un bug? Signalez-le <a href=\"https://gitlab.com/"
+#~ "newspipe/newspipe/issues\">ici</a>."
-#: ../templates/feed.html:42
-msgid "and the"
-msgstr "et le"
+#~ msgid "More information"
+#~ msgstr "Plus d'informations"
-#: ../templates/feed.html:53
-msgid "Article"
-msgstr "Article"
+#~ msgid "about this instance."
+#~ msgstr "à propos de cette instance."
-#: ../templates/feed.html:54
-msgid "Date"
-msgstr "Date"
+#~ msgid "Help"
+#~ msgstr "Aide"
-#: ../templates/feed.html:69
-msgid "Most recurrent words"
-msgstr "Mots les plus récurrents"
+#~ msgid ""
+#~ "The documentation of the API is <a href=\"https://newspipe.readthedocs.io/"
+#~ "en/latest/web-services-v3.html\">here</a>."
+#~ msgstr ""
+#~ "La documentation de l'API est <a href=\"https://newspipe.readthedocs.io/"
+#~ "en/latest/web-services-v3.html\">ici</a>."
-#: ../templates/feed_list.html:7
-msgid "Status"
-msgstr "Statut"
+#~ msgid "Contact"
+#~ msgstr "Contact"
-#: ../templates/feed_list.html:9 ../templates/feed_list_simple.html:8
-msgid "Site"
-msgstr "Site"
+#~ msgid ""
+#~ "You can subscribe to new feeds with a bookmarklet. Drag the following "
+#~ "button to your browser bookmarks."
+#~ msgstr ""
+#~ "Vous pouvez vous abonner à de nouveaux flux avec un bookmarklet. Faites "
+#~ "glisser le bouton suivant dans vos favoris."
-#: ../templates/feed_list.html:20
-msgid "Feed enabled"
-msgstr "Flux activé"
+#~ msgid ""
+#~ "<a class=\"btn btn-default\" href=\"%(bookmarklet)s\" rel=\"bookmark"
+#~ "\">Subscribe to this feed using Newspipe</a>"
+#~ msgstr ""
+#~ "<a class=\"btn btn-default\" href=\"%(bookmarklet)s\" rel=\"bookmark"
+#~ "\">Abonnez-vous à ce flux en utilisant Newspipe</a>"
-#: ../templates/feed_list.html:22
-msgid "Feed disabled"
-msgstr "Flux désactivé"
+#~ msgid "Newspipe version"
+#~ msgstr "Version de Newspipe"
-#: ../templates/feed_list.html:25
-msgid "Feed encountered too much errors."
-msgstr "Le flux a rencontré trop d'erreurs."
+#~ msgid "Running on Heroku"
+#~ msgstr "Fonctionne sur Heroku"
-#: ../templates/feed_list.html:32
-msgid "Information"
-msgstr "Information"
+#~ msgid "Registration"
+#~ msgstr "Inscription"
-#: ../templates/feed_list.html:34
-msgid "Duplicate articles"
-msgstr "Articles doublon"
+#~ msgid "Python version"
+#~ msgstr "Version de Python"
-#: ../templates/feeds.html:4
-#, python-format
-msgid "You are subscribed to %(feed_count)d feeds."
-msgstr "Vous êtes abonné à %(feed_count)d flux."
+#~ msgid "Number of users"
+#~ msgstr "Nombre d'utilisateurs"
-#: ../templates/feeds.html:4 ../templates/management.html:8
-msgid "Add"
-msgstr "Ajouter"
+#~ msgid "from"
+#~ msgstr "de"
-#: ../templates/feeds.html:4 ../templates/management.html:8
-msgid "a feed"
-msgstr "un flux"
+#~ msgid "Delete this article"
+#~ msgstr "Supprimer cet article"
-#: ../templates/history.html:4 ../templates/layout.html:100
-msgid "History"
-msgstr "Historique"
+#~ msgid "One of your favorites"
+#~ msgstr "Un de vos favoris"
-#: ../templates/history.html:9
-msgid "all years"
-msgstr "toutes les années"
+#~ msgid "Click if you like this article"
+#~ msgstr "Cliquez si vous aimez cet article"
-#: ../templates/inactives.html:6
-msgid "Days of inactivity"
-msgstr "Jours d'inactivité"
+#~ msgid "Mark this article as unread"
+#~ msgstr "Marquer cet article comme non lu"
-#: ../templates/inactives.html:17
-msgid "days"
-msgstr "jours"
+#~ msgid "Mark this article as read"
+#~ msgstr "Marquer cet article comme lu"
-#: ../templates/inactives.html:22
-msgid "No inactive feeds."
-msgstr "Aucun flux inactifs."
+#~ msgid "Share on"
+#~ msgstr "Partager sur"
-#: ../templates/layout.html:51
-msgid "Fetch"
-msgstr "Télécharger"
+#~ msgid ""
+#~ "You have %(categories)d categories &middot; Add a %(start_link)scategory"
+#~ "%(end_link)s"
+#~ msgstr ""
+#~ "Vous avez %(categories)d catégories &middot; Ajouter une "
+#~ "%(start_link)scategorie%(end_link)s"
-#: ../templates/layout.html:58 ../templates/management.html:14
-msgid "Your bookmarks"
-msgstr "Vos marque-pages"
+#~ msgid "No category"
+#~ msgstr "Aucune catégorie"
-#: ../templates/layout.html:64
-msgid "Add a new feed"
-msgstr "Ajouter un nouveau flux"
+#~ msgid "Name"
+#~ msgstr "Nom de famille"
-#: ../templates/layout.html:70
-msgid "Site or feed url"
-msgstr "Site ou adresse de flux"
+#~ msgid "Feeds"
+#~ msgstr "Flux"
-#: ../templates/layout.html:81
-msgid "Add a new category"
-msgstr "Ajouter une nouvelle catégorie"
+#~ msgid "Articles"
+#~ msgstr "Articles"
-#: ../templates/layout.html:97
-msgid "Feed"
-msgstr "Flux"
+#~ msgid "Actions"
+#~ msgstr "Actions"
-#: ../templates/layout.html:99
-msgid "Inactive"
-msgstr "Flux inactifs"
+#~ msgid "Edit this category"
+#~ msgstr "Éditer la catégorie"
-#: ../templates/layout.html:101
-msgid "All"
-msgstr "Tout"
+#~ msgid "Delete this category"
+#~ msgstr "Supprimer cette catégorie"
-#: ../templates/layout.html:103
-msgid "Popular"
-msgstr "Populaire"
+#~ msgid "You are going to delete this category."
+#~ msgstr "Vous allez supprimer cette catégorie."
-#: ../templates/layout.html:111
-msgid "Profile"
-msgstr "Profil"
+#~ msgid "Duplicates in the feed"
+#~ msgstr "Doublons dans le flux"
-#: ../templates/layout.html:112
-msgid "Your data"
-msgstr "Vos données"
+#~ msgid "Delete all in this column"
+#~ msgstr "Supprimer tout dans cette colonne"
-#: ../templates/layout.html:116
-msgid "Dashboard"
-msgstr "Tableau de bord"
+#~ msgid ""
+#~ "You can add a bookmark with a bookmarklet. Drag the following button to "
+#~ "your browser bookmarks."
+#~ msgstr ""
+#~ "Vous pouvez ajouter un marque-page avec un bookmarklet. Faites glisser le "
+#~ "bouton suivant dans vos favoris."
-#: ../templates/layout.html:119
-msgid "Logout"
-msgstr "Déconnexion"
+#~ msgid ""
+#~ "<a class=\"btn btn-default\" href=\"%(bookmarklet)s\" rel=\"bookmark"
+#~ "\">Bookmark this page using Newspipe</a>"
+#~ msgstr ""
+#~ "<a class=\"btn btn-default\" href=\"%(bookmarklet)s\" rel=\"bookmark"
+#~ "\">Marquez cette page en utilisant Newspipe</a>"
-#: ../templates/layout.html:123 ../views/bookmark.py:87
-msgid "Recent bookmarks"
-msgstr "Marque-pages récents"
+#~ msgid "Import bookmarks from Pinboard"
+#~ msgstr "Importez les marque-pages depuis Pinboard"
-#: ../templates/layout.html:124 ../templates/popular.html:4
-msgid "Popular feeds"
-msgstr "Flux populaires"
+#~ msgid "Optional"
+#~ msgstr "Facultatif"
-#: ../templates/login.html:10 ../templates/signup.html:8
-#, fuzzy
-#| msgid "Your email or nickname"
-msgid "Your nickname"
-msgstr "Votre email ou pseudo"
-
-#: ../templates/login.html:17
-msgid "Your Password"
-msgstr "Votre mot de passe"
+#~ msgid ""
+#~ "If checked, articles of this feed won't be available to others and the "
+#~ "feed won't be listed on <a href='%(url)s'>your profile page</a>."
+#~ msgstr ""
+#~ "Si cette option est cochée, les articles de ce flux ne seront pas "
+#~ "visibles aux autres et ne seront pas répertoriés sur <a "
+#~ "href='%(url)s'>votre profil public</a>."
-#: ../templates/management.html:7
-msgid "Your subscriptions"
-msgstr "Vos abonnements"
+#~ msgid "Check this box if there is a private token in the link of the feed."
+#~ msgstr "Cochez cette case si il ya un token privé dans le lien du flux."
-#: ../templates/management.html:8
-msgid "You are subscribed to"
-msgstr "Vous êtes abonné à"
+#~ msgid "Filters"
+#~ msgstr "Filtres"
-#: ../templates/management.html:8
-msgid "feeds"
-msgstr "flux"
+#~ msgid "simple match"
+#~ msgstr "correspondance exact"
-#: ../templates/management.html:9
-msgid "articles are stored in the database with"
-msgstr "articles sont stockés dans la base avec"
+#~ msgid "regex"
+#~ msgstr "expression régulière"
-#: ../templates/management.html:9
-msgid "unread articles"
-msgstr "articles non lus"
+#~ msgid "match"
+#~ msgstr "correspond"
-#: ../templates/management.html:10 ../templates/management.html:15
-msgid "You have"
-msgstr "Vous avez"
+#~ msgid "no match"
+#~ msgstr "ne correspond pas"
-#: ../templates/management.html:10
-msgid "categories"
-msgstr "categories"
+#~ msgid "mark as read"
+#~ msgstr "Marquer cet article comme lu"
-#: ../templates/management.html:11
-msgid "You are going to delete old articles."
-msgstr "Vous allez supprimer les anciens articles."
+#~ msgid "mark as favorite"
+#~ msgstr "Marquer comme favori"
-#: ../templates/management.html:11
-msgid "Delete articles older than 10 weeks"
-msgstr "Supprimer les articles de plus de 10 semaines"
+#~ msgid "Delete this feed"
+#~ msgstr "Supprimer ce flux"
-#: ../templates/management.html:15
-msgid "bookmarks"
-msgstr "marque-pages"
+#~ msgid "You are going to delete this feed."
+#~ msgstr "Vous allez supprimer ce flux."
-#: ../templates/management.html:16
-msgid "You are going to delete all bookmarks."
-msgstr "Vous allez supprimer tous les marque-pages."
+#~ msgid "Edit this feed"
+#~ msgstr "Éditer ce flux"
-#: ../templates/management.html:16
-msgid "Delete all bookmarks"
-msgstr "Supprimez tous les marque-pages"
+#~ msgid "This feed contains"
+#~ msgstr "Ce flux contient"
-#: ../templates/management.html:23
-msgid "Data liberation"
-msgstr "Libération des données"
+#~ msgid "articles"
+#~ msgstr "articles"
-#: ../templates/management.html:25
-msgid "Import a Newspipe account"
-msgstr "Importer un compte Newspipe"
+#~ msgid "This feed is part of category %(category_name)s"
+#~ msgstr "Ce flux fait partie de la catégorie %(category_name)s"
-#: ../templates/management.html:29
-msgid "Export your Newspipe account to JSON"
-msgstr "Exporter le compte Newspipe au format JSON"
+#~ msgid "Address of the feed"
+#~ msgstr "Adresse du flux"
-#: ../templates/management.html:31
-msgid "Export your bookmarks to JSON"
-msgstr "Exporter les bookmarks au format JSON"
+#~ msgid "Address of the site"
+#~ msgstr "Adresse du site"
-#: ../templates/management.html:34
-msgid "OPML import/export"
-msgstr "Import/export OPML"
+#~ msgid "Last download:"
+#~ msgstr "Dernier téléchargement:"
-#: ../templates/management.html:36
-msgid "Batch import feeds from OPML"
-msgstr "Import en lot via un fichier OPML"
+#~ msgid ""
+#~ "That feed has encountered too much consecutive errors and won't be "
+#~ "retrieved anymore."
+#~ msgstr ""
+#~ "Ce flux a rencontré trop d'erreurs consécutives et ne sera plus récupéré."
-#: ../templates/management.html:36
-msgid "or"
-msgstr "ou"
+#~ msgid ""
+#~ "You can click <a href='%(reset_error_url)s'>here</a> to reset the error "
+#~ "count and reactivate the feed."
+#~ msgstr ""
+#~ "Vous pouvez cliquer <a href='%(reset_error_url)s'>ici</a> pour "
+#~ "réinitialiser le nombre d'erreurs et réactiver le flux."
-#: ../templates/management.html:40
-msgid "Export your feeds to OPML"
-msgstr "Exporter les flux au format OPML"
+#~ msgid ""
+#~ "The download of this feed has encountered some problems. However its "
+#~ "error counter will be reinitialized at the next successful retrieving."
+#~ msgstr ""
+#~ "Le téléchargement de ce flux a rencontré quelques problèmes. Cependant, "
+#~ "son compteur d'erreurs sera réinitialisé lors de la prochaine "
+#~ "récupération réussie."
-#: ../templates/popular.html:11
-msgid "add this feed"
-msgstr "ajouter ce flux"
+#~ msgid "Here's the last error encountered while retrieving this feed:"
+#~ msgstr "Voici la dernière erreur survenue lors de la récupération ce flux:"
-#: ../templates/profile.html:4
-msgid "Your Profile"
-msgstr "Votre profil"
+#~ msgid "The last article was posted"
+#~ msgstr "Le dernier article a été posté il y a"
-#: ../templates/admin/dashboard.html:13 ../templates/profile.html:7
-#: ../templates/profile_public.html:9
-msgid "Member since"
-msgstr "Membre depuis le"
+#~ msgid "day(s) ago."
+#~ msgstr "jours."
-#: ../templates/admin/dashboard.html:14 ../templates/profile.html:8
-#: ../templates/profile_public.html:13
-msgid "Last seen"
-msgstr "Vue la dernière fois le"
+#~ msgid "Daily average"
+#~ msgstr "Moyenne journalière"
-#: ../templates/profile.html:44
-#, python-format
-msgid "Your profile will be available <a href=\"%(url)s\">here</a>."
-msgstr "Votre profil sera accessible <a href=\"%(url)s\">ici</a>."
+#~ msgid "between the"
+#~ msgstr "entre le"
-#: ../templates/profile.html:48
-msgid "Uncheck if you are using your own crawler."
-msgstr "Décochez si vous utilisez votre propre crawler."
+#~ msgid "and the"
+#~ msgstr "et le"
-#: ../templates/profile.html:61
-msgid "You are going to delete your account."
-msgstr "Vous allez supprimer votre compte."
+#~ msgid "Article"
+#~ msgstr "Article"
-#: ../templates/profile.html:61
-msgid "Delete your account"
-msgstr "Supprimer votre compte"
+#~ msgid "Date"
+#~ msgstr "Date"
-#: ../templates/signup.html:9
-msgid "Letters, numbers, dots and underscores only."
-msgstr "Lettres, chiffres, points et '_' seulement."
+#~ msgid "Most recurrent words"
+#~ msgstr "Mots les plus récurrents"
-#: ../templates/signup.html:12
-msgid "Your email"
-msgstr "Votre email"
+#~ msgid "Status"
+#~ msgstr "Statut"
-#: ../templates/signup.html:13
-msgid "Only for account activation. Your email won't be stored."
-msgstr ""
+#~ msgid "Site"
+#~ msgstr "Site"
-#: ../templates/signup.html:16
-#, fuzzy
-#| msgid "Your Password"
-msgid "Your password"
-msgstr "Votre mot de passe"
+#~ msgid "Feed enabled"
+#~ msgstr "Flux activé"
-#: ../templates/signup.html:17
-msgid "Minimum 6 characters."
-msgstr "Minimum 6 caractères."
+#~ msgid "Feed disabled"
+#~ msgstr "Flux désactivé"
-#: ../templates/admin/dashboard.html:7
-msgid "Registered users"
-msgstr "Utilisateurs enregistrés"
+#~ msgid "Feed encountered too much errors."
+#~ msgstr "Le flux a rencontré trop d'erreurs."
-#: ../templates/admin/dashboard.html:33
-msgid "Edit this user"
-msgstr "Éditer cet utilisateur"
+#~ msgid "Information"
+#~ msgstr "Information"
-#: ../templates/admin/dashboard.html:37
-msgid "Disable this account"
-msgstr "Désactiver ce comptes"
+#~ msgid "Duplicate articles"
+#~ msgstr "Articles doublon"
-#: ../templates/admin/dashboard.html:39
-msgid "Enable this account"
-msgstr "Activer ce compte"
+#~ msgid "You are subscribed to %(feed_count)d feeds."
+#~ msgstr "Vous êtes abonné à %(feed_count)d flux."
-#: ../templates/admin/dashboard.html:42
-msgid "Delete this user"
-msgstr "Supprimer cet utilisateur"
+#~ msgid "Add"
+#~ msgstr "Ajouter"
-#: ../templates/admin/dashboard.html:42
-msgid "You are going to delete this account."
-msgstr "Vous allez supprimer ce compte."
+#~ msgid "a feed"
+#~ msgstr "un flux"
-#: ../templates/admin/dashboard.html:49 ../views/admin.py:40
-msgid "Add a new user"
-msgstr "Ajouter un nouvel utilisateur"
+#~ msgid "History"
+#~ msgstr "Historique"
-#: ../views/admin.py:37
-#, python-format
-msgid "Edit the user <i>%(nick)s</i>"
-msgstr "Éditer l'utilisateur <i>%(nick)s</i>"
+#~ msgid "all years"
+#~ msgstr "toutes les années"
-#: ../views/admin.py:58
-msgid "Some errors were found"
-msgstr "Des erreurs ont été trouvées"
+#~ msgid "Days of inactivity"
+#~ msgstr "Jours d'inactivité"
-#: ../views/admin.py:67 ../views/user.py:125
-#, python-format
-msgid "User %(nick)s successfully updated"
-msgstr "Utilisateur %(nick)s mis à jour avec succès."
+#~ msgid "days"
+#~ msgstr "jours"
-#: ../views/admin.py:76
-#, python-format
-msgid "User %(nick)s successfully created"
-msgstr "Utilisateur %(nick)s créé avec succès."
+#~ msgid "No inactive feeds."
+#~ msgstr "Aucun flux inactifs."
-#: ../views/admin.py:90
-#, python-format
-msgid "User %(nick)s successfully deleted"
-msgstr "Utilisateur %(nick)s supprimé avec succès."
+#~ msgid "Fetch"
+#~ msgstr "Télécharger"
-#: ../views/admin.py:94
-#, python-format
-msgid "An error occurred while trying to delete a user: %(error)s"
-msgstr ""
-"Une erreur est apparue lors de la suppression de l'utilisateur: %(error)s"
+#~ msgid "Your bookmarks"
+#~ msgstr "Vos marque-pages"
-#: ../views/admin.py:112
-msgid "This user does not exist."
-msgstr "Cet utilisateur n'existe pas."
+#~ msgid "Add a new feed"
+#~ msgstr "Ajouter un nouveau flux"
-#: ../views/admin.py:117
-#, python-format
-msgid "User %(nickname)s successfully %(is_active)s"
-msgstr "Utilisateur %(nickname)s %(is_active)s avec succès."
+#~ msgid "Site or feed url"
+#~ msgstr "Site ou adresse de flux"
-#: ../views/article.py:77
-#, python-format
-msgid "Article %(article_title)s deleted"
-msgstr "Article %(article_title)s supprimé."
+#~ msgid "Add a new category"
+#~ msgstr "Ajouter une nouvelle catégorie"
-#: ../views/article.py:134
-#, python-format
-msgid "%(count)d articles deleted"
-msgstr "%(count)d articles supprimés."
+#~ msgid "Feed"
+#~ msgstr "Flux"
-#: ../views/article.py:150
-msgid "Error when exporting articles."
-msgstr "Erreur lors de l'export des articles."
+#~ msgid "Inactive"
+#~ msgstr "Flux inactifs"
-#: ../views/article.py:166
-msgid "Export format not supported."
-msgstr "Ce format d'export n'est pas supporté."
+#~ msgid "All"
+#~ msgstr "Tout"
-#: ../views/bookmark.py:58
-msgid "Bookmarks"
-msgstr "Marque-pages"
+#~ msgid "Popular"
+#~ msgstr "Populaire"
-#: ../views/bookmark.py:125
-msgid "Edit bookmark"
-msgstr "Modifiez le marque-page"
+#~ msgid "Profile"
+#~ msgstr "Profil"
-#: ../views/bookmark.py:165
-msgid "Bookmark successfully updated."
-msgstr "Marque-page mis à jour avec succès."
+#~ msgid "Your data"
+#~ msgstr "Vos données"
-#: ../views/bookmark.py:177 ../views/bookmark.py:229
-msgid "Bookmark successfully created."
-msgstr "Marque-page créé avec succès."
+#~ msgid "Dashboard"
+#~ msgstr "Tableau de bord"
-#: ../views/bookmark.py:186
-#, python-format
-msgid "Bookmark %(bookmark_name)s successfully deleted."
-msgstr "Marque-page %(bookmark_name)s supprimé avec succès."
+#~ msgid "Logout"
+#~ msgstr "Déconnexion"
-#: ../views/bookmark.py:197
-msgid "Bookmarks successfully deleted."
-msgstr "Marque-pages supprimés avec succès."
+#~ msgid "Popular feeds"
+#~ msgstr "Flux populaires"
-#: ../views/bookmark.py:208
-msgid "Couldn't add bookmark: url missing."
-msgstr "Impossible d'ajouter le marque-page: URL manquante."
+#, fuzzy
+#~| msgid "Your email or nickname"
+#~ msgid "Your nickname"
+#~ msgstr "Votre email ou pseudo"
-#: ../views/bookmark.py:217
-msgid "Couldn't add bookmark: bookmark already exists."
-msgstr "Impossible d'ajouter le marque-page: l'URL existe déjà."
+#~ msgid "Your Password"
+#~ msgstr "Votre mot de passe"
-#: ../views/bookmark.py:240
-#, python-format
-msgid "%(nb_bookmarks)s bookmarks successfully imported."
-msgstr "%(nb_bookmarks)s marque-pages importés avec succès."
+#~ msgid "Your subscriptions"
+#~ msgstr "Vos abonnements"
-#: ../views/bookmark.py:243
-msgid "Error when importing bookmarks."
-msgstr "Erreur lors de l'import des marque-pages."
+#~ msgid "You are subscribed to"
+#~ msgstr "Vous êtes abonné à"
-#: ../views/category.py:33
-msgid "Add a category"
-msgstr "Ajouter une catégorie"
+#~ msgid "feeds"
+#~ msgstr "flux"
-#: ../views/category.py:39
-msgid "Edit category"
-msgstr "Éditer la catégorie"
+#~ msgid "articles are stored in the database with"
+#~ msgstr "articles sont stockés dans la base avec"
-#: ../views/category.py:52
-#, python-format
-msgid "Category %(category_name)s successfully deleted."
-msgstr "Catégorie %(category_name)s supprimée avec succès."
+#~ msgid "unread articles"
+#~ msgstr "articles non lus"
-#: ../views/category.py:68
-msgid "Couldn't add category: already exists."
-msgstr "Impossible d'ajouter la catégorie: le catégorie existe déjà."
+#~ msgid "You have"
+#~ msgstr "Vous avez"
-#: ../views/category.py:76
-#, python-format
-msgid "Category %(cat_name)r successfully updated."
-msgstr "Catégorie %(cat_name)r mise à jour avec succès."
+#~ msgid "categories"
+#~ msgstr "categories"
-#: ../views/category.py:83
-#, python-format
-msgid "Category %(category_name)r successfully created."
-msgstr "Catégorie %(category_name)r créée avec succès."
+#~ msgid "You are going to delete old articles."
+#~ msgstr "Vous allez supprimer les anciens articles."
-#: ../views/feed.py:98
-#, python-format
-msgid "Feed %(feed_title)s successfully deleted."
-msgstr "Flux %(feed_title)s supprimé avec succès."
+#~ msgid "Delete articles older than 10 weeks"
+#~ msgstr "Supprimer les articles de plus de 10 semaines"
-#: ../views/feed.py:109 ../views/feed.py:226
-#, python-format
-msgid "Feed %(feed_title)r successfully updated."
-msgstr "Flux %(feed_title)r mis à jour avec succès."
+#~ msgid "bookmarks"
+#~ msgstr "marque-pages"
-#: ../views/feed.py:121
-msgid "Couldn't add feed: url missing."
-msgstr "Impossible d'ajouter le flux: URL manquante."
+#~ msgid "You are going to delete all bookmarks."
+#~ msgstr "Vous allez supprimer tous les marque-pages."
-#: ../views/feed.py:126 ../views/feed.py:207
-msgid "Couldn't add feed: feed already exists."
-msgstr "Impossible d'ajouter le flux: le flux existe déjà."
+#~ msgid "Delete all bookmarks"
+#~ msgstr "Supprimez tous les marque-pages"
-#: ../views/feed.py:133
-msgid "Impossible to connect to the address: {}."
-msgstr "Impossible de se connecter à l'adresse: {}."
+#~ msgid "Data liberation"
+#~ msgstr "Libération des données"
-#: ../views/feed.py:141
-msgid ""
-"Couldn't find a feed url, you'll need to find a Atom or RSS link manually "
-"and reactivate this feed"
-msgstr ""
-"Impossible de trouver une URL de flux, vous devez trouver un lien RSS ou "
-"Atom manuellement et réactiver ce flux"
+#~ msgid "Import a Newspipe account"
+#~ msgstr "Importer un compte Newspipe"
-#: ../views/feed.py:145
-msgid "Feed was successfully created."
-msgstr "Flux créé avec succès."
+#~ msgid "Export your Newspipe account to JSON"
+#~ msgstr "Exporter le compte Newspipe au format JSON"
-#: ../views/feed.py:148 ../views/feed.py:238
-msgid "Downloading articles for the new feed..."
-msgstr "Téléchargement des articles du nouveau flux..."
+#~ msgid "Export your bookmarks to JSON"
+#~ msgstr "Exporter les bookmarks au format JSON"
-#: ../views/feed.py:166
-msgid "Feed successfully updated."
-msgstr "Flux mis à jour avec succès."
+#~ msgid "OPML import/export"
+#~ msgstr "Import/export OPML"
-#: ../views/feed.py:175
-msgid "Add a feed"
-msgstr "Ajouter un flux"
+#~ msgid "Batch import feeds from OPML"
+#~ msgstr "Import en lot via un fichier OPML"
-#: ../views/feed.py:186
-msgid "Edit feed"
-msgstr "Éditez ce flux"
+#~ msgid "or"
+#~ msgstr "ou"
-#: ../views/feed.py:233
-#, python-format
-msgid "Feed %(feed_title)r successfully created."
-msgstr "Flux %(feed_title)r créé avec succès."
+#~ msgid "Export your feeds to OPML"
+#~ msgstr "Exporter les flux au format OPML"
-#: ../views/feed.py:263
-msgid "No duplicates in the feed \"{}\"."
-msgstr "Pas de doublon dans le flux \"{}\"."
+#~ msgid "add this feed"
+#~ msgstr "ajouter ce flux"
-#: ../views/home.py:168 ../views/user.py:68
-msgid "Downloading articles..."
-msgstr "Téléchargement des articles."
+#~ msgid "Your Profile"
+#~ msgstr "Votre profil"
-#: ../views/home.py:170
-msgid ""
-"The manual retrieving of news is only available for administrator, on the "
-"Heroku platform."
-msgstr ""
-"La récupération manuelle de nouvelles est disponible uniquement pour "
-"l'administrateur, sur la plate-forme Heroku."
+#~ msgid "Member since"
+#~ msgstr "Membre depuis le"
-#: ../views/session_mgmt.py:28
-msgid "Please log in to access this page."
-msgstr "S'il vous plaît connectez vous pour accéder à cette page."
+#~ msgid "Last seen"
+#~ msgstr "Vue la dernière fois le"
-#: ../views/session_mgmt.py:90
-msgid "Self-registration is disabled."
-msgstr "L'auto-enregistrement est désactivé."
+#~ msgid "Your profile will be available <a href=\"%(url)s\">here</a>."
+#~ msgstr "Votre profil sera accessible <a href=\"%(url)s\">ici</a>."
-#: ../views/session_mgmt.py:104
-#, python-format
-msgid "Problem while sending activation email: %(error)s"
-msgstr "Problème lors de l'envoi d'email d'activation: %(error)s"
+#~ msgid "Uncheck if you are using your own crawler."
+#~ msgstr "Décochez si vous utilisez votre propre crawler."
-#: ../views/session_mgmt.py:108
-msgid "Your account has been created. Check your mail to confirm it."
-msgstr "Votre compte a été créé. Vérifiez votre courrier pour le confirmer."
+#~ msgid "You are going to delete your account."
+#~ msgstr "Vous allez supprimer votre compte."
-#: ../views/user.py:32
-msgid "You must set your profile to public."
-msgstr "Vous devez mettre votre profil en public."
+#~ msgid "Delete your account"
+#~ msgstr "Supprimer votre compte"
-#: ../views/user.py:60 ../views/user.py:76 ../views/user.py:85
-msgid "File not allowed."
-msgstr "Fichier non autorisé."
+#~ msgid "Letters, numbers, dots and underscores only."
+#~ msgstr "Lettres, chiffres, points et '_' seulement."
-#: ../views/user.py:66
-msgid "feeds imported."
-msgstr "flux importés."
+#~ msgid "Your email"
+#~ msgstr "Votre email"
-#: ../views/user.py:70
-msgid "Impossible to import the new feeds."
-msgstr "Impossible d'importer les nouveaux flux."
+#, fuzzy
+#~| msgid "Your Password"
+#~ msgid "Your password"
+#~ msgstr "Votre mot de passe"
-#: ../views/user.py:80
-msgid "Account imported."
-msgstr "Compte importé."
+#~ msgid "Minimum 6 characters."
+#~ msgstr "Minimum 6 caractères."
-#: ../views/user.py:82
-msgid "Impossible to import the account."
-msgstr "Impossible d'importer le compte."
+#~ msgid "Registered users"
+#~ msgstr "Utilisateurs enregistrés"
-#: ../views/user.py:122
-#, python-format
-msgid "Problem while updating your profile: %(error)s"
-msgstr "Problème lors de la mise à jour de votre profil: %(error)s"
+#~ msgid "Edit this user"
+#~ msgstr "Éditer cet utilisateur"
-#: ../views/user.py:143
-msgid "Your account has been deleted."
-msgstr "Votre compte a été supprimé."
+#~ msgid "Disable this account"
+#~ msgstr "Désactiver ce comptes"
-#: ../views/user.py:160
-msgid "Your account has been confirmed."
-msgstr "Votre compte a été confirmé."
+#~ msgid "Enable this account"
+#~ msgstr "Activer ce compte"
-#: ../views/user.py:162
-msgid "Impossible to confirm this account."
-msgstr "Impossible de confirmer ce compte."
+#~ msgid "Delete this user"
+#~ msgstr "Supprimer cet utilisateur"
-#: ../views/views.py:23
-msgid "Authentication required."
-msgstr "Authentification requise."
+#~ msgid "You are going to delete this account."
+#~ msgstr "Vous allez supprimer ce compte."
-#: ../views/views.py:31
-msgid "Forbidden."
-msgstr "Interdit."
+#~ msgid "Export format not supported."
+#~ msgstr "Ce format d'export n'est pas supporté."
#~ msgid "Please enter your email address."
#~ msgstr "S'il vous plaît, entrez votre adresse email."
diff --git a/newspipe/web/translations/internationalization.sh b/newspipe/web/translations/internationalization.sh
index 51efa840..3b377d38 100755
--- a/newspipe/web/translations/internationalization.sh
+++ b/newspipe/web/translations/internationalization.sh
@@ -1,4 +1,4 @@
#! /bin/sh
-pybabel extract -F babel.cfg -k lazy_gettext -o messages.pot ..
-poedit fr/LC_MESSAGES/messages.po
+pybabel extract -F newspipe/web/translations/babel.cfg -k lazy_gettext -o newspipe/web/translations/messages.pot newspipe/web/
+poedit newspipe/web/translations/fr/LC_MESSAGES/messages.po
diff --git a/newspipe/web/translations/messages.pot b/newspipe/web/translations/messages.pot
index e8ded391..893301dd 100644
--- a/newspipe/web/translations/messages.pot
+++ b/newspipe/web/translations/messages.pot
@@ -1,1050 +1,438 @@
# Translations template for PROJECT.
-# Copyright (C) 2018 ORGANIZATION
+# Copyright (C) 2020 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2018-10-15 10:14+0200\n"
+"POT-Creation-Date: 2020-03-14 22:00+0100\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.5.3\n"
+"Generated-By: Babel 2.8.0\n"
-#: ../forms.py:46 ../forms.py:130 ../forms.py:151
-#: ../templates/admin/dashboard.html:12
+#: newspipe/web/forms.py:57 newspipe/web/forms.py:166 newspipe/web/forms.py:192
msgid "Nickname"
msgstr ""
-#: ../forms.py:47 ../forms.py:96 ../forms.py:131 ../forms.py:152
+#: newspipe/web/forms.py:58 newspipe/web/forms.py:125 newspipe/web/forms.py:167
+#: newspipe/web/forms.py:193
msgid "Please enter your nickname."
msgstr ""
-#: ../forms.py:48
+#: newspipe/web/forms.py:61
msgid "Email"
msgstr ""
-#: ../forms.py:51
+#: newspipe/web/forms.py:65
msgid ""
"Please enter your email address (only for account activation, won't be "
"stored)."
msgstr ""
-#: ../forms.py:52 ../forms.py:97 ../forms.py:132 ../forms.py:153
+#: newspipe/web/forms.py:72 newspipe/web/forms.py:129 newspipe/web/forms.py:169
+#: newspipe/web/forms.py:195
msgid "Password"
msgstr ""
-#: ../forms.py:53 ../forms.py:98
+#: newspipe/web/forms.py:74 newspipe/web/forms.py:131
msgid "Please enter a password."
msgstr ""
-#: ../forms.py:55 ../templates/login.html:26
+#: newspipe/web/forms.py:78
msgid "Sign up"
msgstr ""
-#: ../forms.py:64 ../forms.py:140 ../forms.py:172
+#: newspipe/web/forms.py:88 newspipe/web/forms.py:177 newspipe/web/forms.py:213
msgid ""
"This nickname has invalid characters. Please use letters, numbers, dots "
"and underscores only."
msgstr ""
-#: ../forms.py:100 ../templates/login.html:5
+#: newspipe/web/forms.py:135
msgid "Log In"
msgstr ""
-#: ../forms.py:133 ../forms.py:155
+#: newspipe/web/forms.py:170 newspipe/web/forms.py:197
msgid "Automatic crawling"
msgstr ""
-#: ../forms.py:135 ../forms.py:162 ../forms.py:185 ../forms.py:198
-#: ../forms.py:212
+#: newspipe/web/forms.py:171 newspipe/web/forms.py:202
+#: newspipe/web/forms.py:231 newspipe/web/forms.py:244
+#: newspipe/web/forms.py:258
msgid "Save"
msgstr ""
-#: ../forms.py:154
+#: newspipe/web/forms.py:196
msgid "Password Confirmation"
msgstr ""
-#: ../forms.py:157
+#: newspipe/web/forms.py:198
msgid "Bio"
msgstr ""
-#: ../forms.py:158 ../templates/profile_public.html:18
+#: newspipe/web/forms.py:199
msgid "Webpage"
msgstr ""
-#: ../forms.py:159 ../templates/profile_public.html:24
+#: newspipe/web/forms.py:200
msgid "Twitter"
msgstr ""
-#: ../forms.py:160
+#: newspipe/web/forms.py:201
msgid "Public profile"
msgstr ""
-#: ../forms.py:167
+#: newspipe/web/forms.py:207
msgid "Passwords aren't the same."
msgstr ""
-#: ../forms.py:180 ../forms.py:205 ../templates/feed_list.html:8
-#: ../templates/feed_list_simple.html:7
+#: newspipe/web/forms.py:224 newspipe/web/forms.py:251
msgid "Title"
msgstr ""
-#: ../forms.py:181
+#: newspipe/web/forms.py:226
msgid "Feed link"
msgstr ""
-#: ../forms.py:182
+#: newspipe/web/forms.py:227
msgid "Please enter the URL."
msgstr ""
-#: ../forms.py:183
+#: newspipe/web/forms.py:229
msgid "Site link"
msgstr ""
-#: ../forms.py:184
+#: newspipe/web/forms.py:230
msgid "Check for updates"
msgstr ""
-#: ../forms.py:186
+#: newspipe/web/forms.py:233
msgid "Category of the feed"
msgstr ""
-#: ../forms.py:188
+#: newspipe/web/forms.py:235
msgid "Private"
msgstr ""
-#: ../forms.py:197 ../templates/layout.html:87
+#: newspipe/web/forms.py:243
msgid "Category name"
msgstr ""
-#: ../forms.py:202
+#: newspipe/web/forms.py:249
msgid "URL"
msgstr ""
-#: ../forms.py:204
+#: newspipe/web/forms.py:249
msgid "Please enter an URL."
msgstr ""
-#: ../forms.py:207
+#: newspipe/web/forms.py:253
msgid "Description"
msgstr ""
-#: ../forms.py:209
+#: newspipe/web/forms.py:255
msgid "Tags"
msgstr ""
-#: ../forms.py:210
+#: newspipe/web/forms.py:256
msgid "To read"
msgstr ""
-#: ../forms.py:211
+#: newspipe/web/forms.py:257
msgid "Shared"
msgstr ""
-#: ../forms.py:216
+#: newspipe/web/forms.py:263
msgid "Subject"
msgstr ""
-#: ../forms.py:217
+#: newspipe/web/forms.py:264
msgid "Please enter a subject."
msgstr ""
-#: ../forms.py:218
+#: newspipe/web/forms.py:267
msgid "Message"
msgstr ""
-#: ../forms.py:219
+#: newspipe/web/forms.py:268
msgid "Please enter a content."
msgstr ""
-#: ../forms.py:220
+#: newspipe/web/forms.py:270
msgid "Send"
msgstr ""
-#: ../templates/about.html:5 ../templates/layout.html:113
-#: ../templates/layout.html:125
-msgid "About"
-msgstr ""
-
-#: ../templates/about.html:7
-msgid "Newspipe is a news aggregator platform."
-msgstr ""
-
-#: ../templates/about.html:8
-msgid ""
-"You can easily <a "
-"href=\"https://newspipe.readthedocs.io/en/latest/deployment.html\">install"
-" Newspipe on your server</a>."
-msgstr ""
-
-#: ../templates/about.html:9
-msgid "Alternatively, you can deploy your own copy using this button:"
-msgstr ""
-
-#: ../templates/about.html:11
-msgid ""
-"This software is under AGPLv3 license. You are welcome to copy, modify or"
-"\n"
-" redistribute the <a "
-"href=\"https://git.sr.ht/~cedric/newspipe\">source code</a>\n"
-" according to the <a "
-"href=\"https://www.gnu.org/licenses/agpl-3.0.html\">Affero GPL</a> "
-"license."
-msgstr ""
-
-#: ../templates/about.html:14
-msgid ""
-"Found a bug? Report it <a "
-"href=\"https://git.sr.ht/~cedric/newspipe/issues\">here</a>."
-msgstr ""
-
-#: ../templates/about.html:15
-msgid "More information"
-msgstr ""
-
-#: ../templates/about.html:15
-msgid "about this instance."
-msgstr ""
-
-#: ../templates/about.html:18
-msgid "Help"
-msgstr ""
-
-#: ../templates/about.html:19
-msgid ""
-"The documentation of the API is <a "
-"href=\"https://newspipe.readthedocs.io/en/latest/web-"
-"services-v3.html\">here</a>."
-msgstr ""
-
-#: ../templates/about.html:20
-msgid "Contact"
-msgstr ""
-
-#: ../templates/about.html:21
-msgid ""
-"You can subscribe to new feeds with a bookmarklet. Drag the following "
-"button to your browser bookmarks."
-msgstr ""
-
-#: ../templates/about.html:22
-#, python-format
-msgid ""
-"<a class=\"btn btn-default\" href=\"%(bookmarklet)s\" "
-"rel=\"bookmark\">Subscribe to this feed using Newspipe</a>"
-msgstr ""
-
-#: ../templates/about_more.html:5
-msgid "Newspipe version"
-msgstr ""
-
-#: ../templates/about_more.html:6
-msgid "Running on Heroku"
-msgstr ""
-
-#: ../templates/about_more.html:7
-msgid "Registration"
-msgstr ""
-
-#: ../templates/about_more.html:8
-msgid "Python version"
-msgstr ""
-
-#: ../templates/about_more.html:9
-msgid "Number of users"
-msgstr ""
-
-#: ../templates/article.html:6 ../templates/article_pub.html:6
-msgid "from"
-msgstr ""
-
-#: ../templates/article.html:7 ../templates/duplicates.html:22
-#: ../templates/duplicates.html:23
-msgid "Delete this article"
-msgstr ""
-
-#: ../templates/article.html:9
-msgid "One of your favorites"
-msgstr ""
-
-#: ../templates/article.html:11
-msgid "Click if you like this article"
-msgstr ""
-
-#: ../templates/article.html:14
-msgid "Mark this article as unread"
-msgstr ""
-
-#: ../templates/article.html:16
-msgid "Mark this article as read"
-msgstr ""
-
-#: ../templates/article.html:25 ../templates/article.html:28
-#: ../templates/article.html:31 ../templates/article_pub.html:14
-#: ../templates/article_pub.html:17 ../templates/article_pub.html:20
-msgid "Share on"
-msgstr ""
-
-#: ../templates/categories.html:4
-#, python-format
-msgid ""
-"You have %(categories)d categories &middot; Add a "
-"%(start_link)scategory%(end_link)s"
-msgstr ""
-
-#: ../templates/categories.html:6
-msgid "No category"
-msgstr ""
-
-#: ../templates/categories.html:13
-msgid "Name"
-msgstr ""
-
-#: ../templates/categories.html:14 ../templates/profile_public.html:38
-msgid "Feeds"
-msgstr ""
-
-#: ../templates/categories.html:15 ../templates/feed_list.html:10
-msgid "Articles"
-msgstr ""
-
-#: ../templates/admin/dashboard.html:15 ../templates/categories.html:16
-#: ../templates/feed_list.html:11
-msgid "Actions"
-msgstr ""
-
-#: ../templates/categories.html:27
-msgid "Edit this category"
-msgstr ""
-
-#: ../templates/categories.html:28
-msgid "Delete this category"
-msgstr ""
-
-#: ../templates/categories.html:28
-msgid "You are going to delete this category."
-msgstr ""
-
-#: ../templates/duplicates.html:4
-msgid "Duplicates in the feed"
-msgstr ""
-
-#: ../templates/duplicates.html:11 ../templates/duplicates.html:14
-msgid "Delete all in this column"
-msgstr ""
-
-#: ../templates/edit_bookmark.html:65 ../templates/layout.html:59
-#: ../views/bookmark.py:119
-msgid "Add a new bookmark"
-msgstr ""
-
-#: ../templates/edit_bookmark.html:68
-msgid ""
-"You can add a bookmark with a bookmarklet. Drag the following button to "
-"your browser bookmarks."
-msgstr ""
-
-#: ../templates/edit_bookmark.html:69
-#, python-format
-msgid ""
-"<a class=\"btn btn-default\" href=\"%(bookmarklet)s\" "
-"rel=\"bookmark\">Bookmark this page using Newspipe</a>"
-msgstr ""
-
-#: ../templates/edit_bookmark.html:73
-msgid "Import bookmarks from Pinboard"
-msgstr ""
-
-#: ../templates/edit_feed.html:19 ../templates/edit_feed.html:27
-#: ../templates/edit_feed.html:35
-msgid "Optional"
-msgstr ""
-
-#: ../templates/edit_feed.html:55
+#: newspipe/web/views/admin.py:41
#, python-format
-msgid ""
-"If checked, articles of this feed won't be available to others and the "
-"feed won't be listed on <a href='%(url)s'>your profile page</a>."
-msgstr ""
-
-#: ../templates/edit_feed.html:56
-msgid "Check this box if there is a private token in the link of the feed."
-msgstr ""
-
-#: ../templates/edit_feed.html:62
-msgid "Filters"
-msgstr ""
-
-#: ../templates/edit_feed.html:73
-msgid "simple match"
-msgstr ""
-
-#: ../templates/edit_feed.html:74
-msgid "regex"
-msgstr ""
-
-#: ../templates/edit_feed.html:78
-msgid "match"
-msgstr ""
-
-#: ../templates/edit_feed.html:79
-msgid "no match"
-msgstr ""
-
-#: ../templates/edit_feed.html:82
-msgid "mark as read"
-msgstr ""
-
-#: ../templates/edit_feed.html:83
-msgid "mark as favorite"
-msgstr ""
-
-#: ../templates/feed.html:8 ../templates/feed_list.html:35
-msgid "Delete this feed"
-msgstr ""
-
-#: ../templates/feed.html:8 ../templates/feed_list.html:35
-msgid "You are going to delete this feed."
-msgstr ""
-
-#: ../templates/feed.html:9 ../templates/feed_list.html:33
-msgid "Edit this feed"
-msgstr ""
-
-#: ../templates/feed.html:14
-msgid "This feed contains"
-msgstr ""
-
-#: ../templates/feed.html:14
-msgid "articles"
-msgstr ""
-
-#: ../templates/feed.html:16
-#, python-format
-msgid "This feed is part of category %(category_name)s"
-msgstr ""
-
-#: ../templates/feed.html:18
-msgid "Address of the feed"
-msgstr ""
-
-#: ../templates/feed.html:20
-msgid "Address of the site"
-msgstr ""
-
-#: ../templates/feed.html:26
-msgid "Last download:"
-msgstr ""
-
-#: ../templates/feed.html:30
-msgid ""
-"That feed has encountered too much consecutive errors and won't be "
-"retrieved anymore."
-msgstr ""
-
-#: ../templates/feed.html:31
-#, python-format
-msgid ""
-"You can click <a href='%(reset_error_url)s'>here</a> to reset the error "
-"count and reactivate the feed."
-msgstr ""
-
-#: ../templates/feed.html:33
-msgid ""
-"The download of this feed has encountered some problems. However its "
-"error counter will be reinitialized at the next successful retrieving."
-msgstr ""
-
-#: ../templates/feed.html:37
-msgid "Here's the last error encountered while retrieving this feed:"
-msgstr ""
-
-#: ../templates/feed.html:41
-msgid "The last article was posted"
-msgstr ""
-
-#: ../templates/feed.html:41
-msgid "day(s) ago."
-msgstr ""
-
-#: ../templates/feed.html:42
-msgid "Daily average"
-msgstr ""
-
-#: ../templates/feed.html:42
-msgid "between the"
-msgstr ""
-
-#: ../templates/feed.html:42
-msgid "and the"
-msgstr ""
-
-#: ../templates/feed.html:53
-msgid "Article"
-msgstr ""
-
-#: ../templates/feed.html:54
-msgid "Date"
-msgstr ""
-
-#: ../templates/feed.html:69
-msgid "Most recurrent words"
-msgstr ""
-
-#: ../templates/feed_list.html:7
-msgid "Status"
-msgstr ""
-
-#: ../templates/feed_list.html:9 ../templates/feed_list_simple.html:8
-msgid "Site"
-msgstr ""
-
-#: ../templates/feed_list.html:20
-msgid "Feed enabled"
-msgstr ""
-
-#: ../templates/feed_list.html:22
-msgid "Feed disabled"
-msgstr ""
-
-#: ../templates/feed_list.html:25
-msgid "Feed encountered too much errors."
-msgstr ""
-
-#: ../templates/feed_list.html:32
-msgid "Information"
-msgstr ""
-
-#: ../templates/feed_list.html:34
-msgid "Duplicate articles"
-msgstr ""
-
-#: ../templates/feeds.html:4
-#, python-format
-msgid "You are subscribed to %(feed_count)d feeds."
-msgstr ""
-
-#: ../templates/feeds.html:4 ../templates/management.html:8
-msgid "Add"
-msgstr ""
-
-#: ../templates/feeds.html:4 ../templates/management.html:8
-msgid "a feed"
-msgstr ""
-
-#: ../templates/history.html:4 ../templates/layout.html:100
-msgid "History"
-msgstr ""
-
-#: ../templates/history.html:9
-msgid "all years"
-msgstr ""
-
-#: ../templates/inactives.html:6
-msgid "Days of inactivity"
-msgstr ""
-
-#: ../templates/inactives.html:17
-msgid "days"
-msgstr ""
-
-#: ../templates/inactives.html:22
-msgid "No inactive feeds."
-msgstr ""
-
-#: ../templates/layout.html:51
-msgid "Fetch"
-msgstr ""
-
-#: ../templates/layout.html:58 ../templates/management.html:14
-msgid "Your bookmarks"
-msgstr ""
-
-#: ../templates/layout.html:64
-msgid "Add a new feed"
-msgstr ""
-
-#: ../templates/layout.html:70
-msgid "Site or feed url"
-msgstr ""
-
-#: ../templates/layout.html:81
-msgid "Add a new category"
-msgstr ""
-
-#: ../templates/layout.html:97
-msgid "Feed"
-msgstr ""
-
-#: ../templates/layout.html:99
-msgid "Inactive"
-msgstr ""
-
-#: ../templates/layout.html:101
-msgid "All"
-msgstr ""
-
-#: ../templates/layout.html:103
-msgid "Popular"
-msgstr ""
-
-#: ../templates/layout.html:111
-msgid "Profile"
-msgstr ""
-
-#: ../templates/layout.html:112
-msgid "Your data"
-msgstr ""
-
-#: ../templates/layout.html:116
-msgid "Dashboard"
-msgstr ""
-
-#: ../templates/layout.html:119
-msgid "Logout"
-msgstr ""
-
-#: ../templates/layout.html:123 ../views/bookmark.py:87
-msgid "Recent bookmarks"
-msgstr ""
-
-#: ../templates/layout.html:124 ../templates/popular.html:4
-msgid "Popular feeds"
-msgstr ""
-
-#: ../templates/login.html:10 ../templates/signup.html:8
-msgid "Your nickname"
-msgstr ""
-
-#: ../templates/login.html:17
-msgid "Your Password"
-msgstr ""
-
-#: ../templates/management.html:7
-msgid "Your subscriptions"
-msgstr ""
-
-#: ../templates/management.html:8
-msgid "You are subscribed to"
-msgstr ""
-
-#: ../templates/management.html:8
-msgid "feeds"
-msgstr ""
-
-#: ../templates/management.html:9
-msgid "articles are stored in the database with"
-msgstr ""
-
-#: ../templates/management.html:9
-msgid "unread articles"
-msgstr ""
-
-#: ../templates/management.html:10 ../templates/management.html:15
-msgid "You have"
-msgstr ""
-
-#: ../templates/management.html:10
-msgid "categories"
-msgstr ""
-
-#: ../templates/management.html:11
-msgid "You are going to delete old articles."
-msgstr ""
-
-#: ../templates/management.html:11
-msgid "Delete articles older than 10 weeks"
-msgstr ""
-
-#: ../templates/management.html:15
-msgid "bookmarks"
-msgstr ""
-
-#: ../templates/management.html:16
-msgid "You are going to delete all bookmarks."
-msgstr ""
-
-#: ../templates/management.html:16
-msgid "Delete all bookmarks"
-msgstr ""
-
-#: ../templates/management.html:23
-msgid "Data liberation"
-msgstr ""
-
-#: ../templates/management.html:25
-msgid "Import a Newspipe account"
-msgstr ""
-
-#: ../templates/management.html:29
-msgid "Export your Newspipe account to JSON"
-msgstr ""
-
-#: ../templates/management.html:31
-msgid "Export your bookmarks to JSON"
-msgstr ""
-
-#: ../templates/management.html:34
-msgid "OPML import/export"
-msgstr ""
-
-#: ../templates/management.html:36
-msgid "Batch import feeds from OPML"
-msgstr ""
-
-#: ../templates/management.html:36
-msgid "or"
-msgstr ""
-
-#: ../templates/management.html:40
-msgid "Export your feeds to OPML"
-msgstr ""
-
-#: ../templates/popular.html:11
-msgid "add this feed"
-msgstr ""
-
-#: ../templates/profile.html:4
-msgid "Your Profile"
-msgstr ""
-
-#: ../templates/admin/dashboard.html:13 ../templates/profile.html:7
-#: ../templates/profile_public.html:9
-msgid "Member since"
-msgstr ""
-
-#: ../templates/admin/dashboard.html:14 ../templates/profile.html:8
-#: ../templates/profile_public.html:13
-msgid "Last seen"
-msgstr ""
-
-#: ../templates/profile.html:44
-#, python-format
-msgid "Your profile will be available <a href=\"%(url)s\">here</a>."
-msgstr ""
-
-#: ../templates/profile.html:48
-msgid "Uncheck if you are using your own crawler."
-msgstr ""
-
-#: ../templates/profile.html:61
-msgid "You are going to delete your account."
-msgstr ""
-
-#: ../templates/profile.html:61
-msgid "Delete your account"
-msgstr ""
-
-#: ../templates/signup.html:9
-msgid "Letters, numbers, dots and underscores only."
-msgstr ""
-
-#: ../templates/signup.html:12
-msgid "Your email"
-msgstr ""
-
-#: ../templates/signup.html:13
-msgid "Only for account activation. Your email won't be stored."
-msgstr ""
-
-#: ../templates/signup.html:16
-msgid "Your password"
-msgstr ""
-
-#: ../templates/signup.html:17
-msgid "Minimum 6 characters."
-msgstr ""
-
-#: ../templates/admin/dashboard.html:7
-msgid "Registered users"
-msgstr ""
-
-#: ../templates/admin/dashboard.html:33
-msgid "Edit this user"
-msgstr ""
-
-#: ../templates/admin/dashboard.html:37
-msgid "Disable this account"
-msgstr ""
-
-#: ../templates/admin/dashboard.html:39
-msgid "Enable this account"
-msgstr ""
-
-#: ../templates/admin/dashboard.html:42
-msgid "Delete this user"
-msgstr ""
-
-#: ../templates/admin/dashboard.html:42
-msgid "You are going to delete this account."
+msgid "Edit the user <i>%(nick)s</i>"
msgstr ""
-#: ../templates/admin/dashboard.html:49 ../views/admin.py:40
+#: newspipe/web/views/admin.py:44
msgid "Add a new user"
msgstr ""
-#: ../views/admin.py:37
-#, python-format
-msgid "Edit the user <i>%(nick)s</i>"
-msgstr ""
-
-#: ../views/admin.py:58
+#: newspipe/web/views/admin.py:63
msgid "Some errors were found"
msgstr ""
-#: ../views/admin.py:67 ../views/user.py:125
+#: newspipe/web/views/admin.py:78 newspipe/web/views/user.py:184
#, python-format
msgid "User %(nick)s successfully updated"
msgstr ""
-#: ../views/admin.py:76
+#: newspipe/web/views/admin.py:90
#, python-format
msgid "User %(nick)s successfully created"
msgstr ""
-#: ../views/admin.py:90
+#: newspipe/web/views/admin.py:105
#, python-format
msgid "User %(nick)s successfully deleted"
msgstr ""
-#: ../views/admin.py:94
+#: newspipe/web/views/admin.py:109
#, python-format
msgid "An error occurred while trying to delete a user: %(error)s"
msgstr ""
-#: ../views/admin.py:112
+#: newspipe/web/views/admin.py:130
msgid "This user does not exist."
msgstr ""
-#: ../views/admin.py:117
+#: newspipe/web/views/admin.py:135
#, python-format
msgid "User %(nickname)s successfully %(is_active)s"
msgstr ""
-#: ../views/article.py:77
+#: newspipe/web/views/article.py:87
#, python-format
msgid "Article %(article_title)s deleted"
msgstr ""
-#: ../views/article.py:134
+#: newspipe/web/views/article.py:146
#, python-format
msgid "%(count)d articles deleted"
msgstr ""
-#: ../views/article.py:150
+#: newspipe/web/views/article.py:160
msgid "Error when exporting articles."
msgstr ""
-#: ../views/article.py:166
-msgid "Export format not supported."
+#: newspipe/web/views/bookmark.py:61
+msgid "Bookmarks"
msgstr ""
-#: ../views/bookmark.py:58
-msgid "Bookmarks"
+#: newspipe/web/views/bookmark.py:92
+msgid "Recent bookmarks"
+msgstr ""
+
+#: newspipe/web/views/bookmark.py:127
+msgid "Add a new bookmark"
msgstr ""
-#: ../views/bookmark.py:125
+#: newspipe/web/views/bookmark.py:137
msgid "Edit bookmark"
msgstr ""
-#: ../views/bookmark.py:165
+#: newspipe/web/views/bookmark.py:184
msgid "Bookmark successfully updated."
msgstr ""
-#: ../views/bookmark.py:177 ../views/bookmark.py:229
+#: newspipe/web/views/bookmark.py:197 newspipe/web/views/bookmark.py:254
msgid "Bookmark successfully created."
msgstr ""
-#: ../views/bookmark.py:186
+#: newspipe/web/views/bookmark.py:207
#, python-format
msgid "Bookmark %(bookmark_name)s successfully deleted."
msgstr ""
-#: ../views/bookmark.py:197
+#: newspipe/web/views/bookmark.py:222
msgid "Bookmarks successfully deleted."
msgstr ""
-#: ../views/bookmark.py:208
+#: newspipe/web/views/bookmark.py:232
msgid "Couldn't add bookmark: url missing."
msgstr ""
-#: ../views/bookmark.py:217
+#: newspipe/web/views/bookmark.py:242
msgid "Couldn't add bookmark: bookmark already exists."
msgstr ""
-#: ../views/bookmark.py:240
+#: newspipe/web/views/bookmark.py:267
#, python-format
msgid "%(nb_bookmarks)s bookmarks successfully imported."
msgstr ""
-#: ../views/bookmark.py:243
+#: newspipe/web/views/bookmark.py:274
msgid "Error when importing bookmarks."
msgstr ""
-#: ../views/category.py:33
+#: newspipe/web/views/category.py:34
msgid "Add a category"
msgstr ""
-#: ../views/category.py:39
+#: newspipe/web/views/category.py:44
msgid "Edit category"
msgstr ""
-#: ../views/category.py:52
+#: newspipe/web/views/category.py:62
#, python-format
msgid "Category %(category_name)s successfully deleted."
msgstr ""
-#: ../views/category.py:68
+#: newspipe/web/views/category.py:82
msgid "Couldn't add category: already exists."
msgstr ""
-#: ../views/category.py:76
+#: newspipe/web/views/category.py:90
#, python-format
msgid "Category %(cat_name)r successfully updated."
msgstr ""
-#: ../views/category.py:83
+#: newspipe/web/views/category.py:102
#, python-format
msgid "Category %(category_name)r successfully created."
msgstr ""
-#: ../views/feed.py:98
+#: newspipe/web/views/feed.py:126
#, python-format
msgid "Feed %(feed_title)s successfully deleted."
msgstr ""
-#: ../views/feed.py:109 ../views/feed.py:226
+#: newspipe/web/views/feed.py:139 newspipe/web/views/feed.py:271
#, python-format
msgid "Feed %(feed_title)r successfully updated."
msgstr ""
-#: ../views/feed.py:121
+#: newspipe/web/views/feed.py:151
msgid "Couldn't add feed: url missing."
msgstr ""
-#: ../views/feed.py:126 ../views/feed.py:207
+#: newspipe/web/views/feed.py:156 newspipe/web/views/feed.py:247
msgid "Couldn't add feed: feed already exists."
msgstr ""
-#: ../views/feed.py:133
+#: newspipe/web/views/feed.py:163
msgid "Impossible to connect to the address: {}."
msgstr ""
-#: ../views/feed.py:141
+#: newspipe/web/views/feed.py:172
msgid ""
"Couldn't find a feed url, you'll need to find a Atom or RSS link manually"
" and reactivate this feed"
msgstr ""
-#: ../views/feed.py:145
+#: newspipe/web/views/feed.py:179
msgid "Feed was successfully created."
msgstr ""
-#: ../views/feed.py:148 ../views/feed.py:238
+#: newspipe/web/views/feed.py:182 newspipe/web/views/feed.py:289
msgid "Downloading articles for the new feed..."
msgstr ""
-#: ../views/feed.py:166
+#: newspipe/web/views/feed.py:200
msgid "Feed successfully updated."
msgstr ""
-#: ../views/feed.py:175
+#: newspipe/web/views/feed.py:209
msgid "Add a feed"
msgstr ""
-#: ../views/feed.py:186
+#: newspipe/web/views/feed.py:221
msgid "Edit feed"
msgstr ""
-#: ../views/feed.py:233
+#: newspipe/web/views/feed.py:283
#, python-format
msgid "Feed %(feed_title)r successfully created."
msgstr ""
-#: ../views/feed.py:263
+#: newspipe/web/views/feed.py:313
msgid "No duplicates in the feed \"{}\"."
msgstr ""
-#: ../views/home.py:168 ../views/user.py:68
+#: newspipe/web/views/home.py:203 newspipe/web/views/user.py:116
msgid "Downloading articles..."
msgstr ""
-#: ../views/home.py:170
+#: newspipe/web/views/home.py:206
msgid ""
"The manual retrieving of news is only available for administrator, on the"
" Heroku platform."
msgstr ""
-#: ../views/session_mgmt.py:28
+#: newspipe/web/views/session_mgmt.py:37
msgid "Please log in to access this page."
msgstr ""
-#: ../views/session_mgmt.py:90
+#: newspipe/web/views/session_mgmt.py:101
msgid "Self-registration is disabled."
msgstr ""
-#: ../views/session_mgmt.py:104
+#: newspipe/web/views/session_mgmt.py:118
#, python-format
msgid "Problem while sending activation email: %(error)s"
msgstr ""
-#: ../views/session_mgmt.py:108
+#: newspipe/web/views/session_mgmt.py:126
msgid "Your account has been created. Check your mail to confirm it."
msgstr ""
-#: ../views/user.py:32
+#: newspipe/web/views/user.py:33 newspipe/web/views/user.py:58
msgid "You must set your profile to public."
msgstr ""
-#: ../views/user.py:60 ../views/user.py:76 ../views/user.py:85
+#: newspipe/web/views/user.py:109 newspipe/web/views/user.py:123
+#: newspipe/web/views/user.py:131
msgid "File not allowed."
msgstr ""
-#: ../views/user.py:66
+#: newspipe/web/views/user.py:115
msgid "feeds imported."
msgstr ""
-#: ../views/user.py:70
+#: newspipe/web/views/user.py:118
msgid "Impossible to import the new feeds."
msgstr ""
-#: ../views/user.py:80
+#: newspipe/web/views/user.py:127
msgid "Account imported."
msgstr ""
-#: ../views/user.py:82
+#: newspipe/web/views/user.py:129
msgid "Impossible to import the account."
msgstr ""
-#: ../views/user.py:122
+#: newspipe/web/views/user.py:177
#, python-format
msgid "Problem while updating your profile: %(error)s"
msgstr ""
-#: ../views/user.py:143
+#: newspipe/web/views/user.py:203
msgid "Your account has been deleted."
msgstr ""
-#: ../views/user.py:160
+#: newspipe/web/views/user.py:220
msgid "Your account has been confirmed."
msgstr ""
-#: ../views/user.py:162
+#: newspipe/web/views/user.py:222
msgid "Impossible to confirm this account."
msgstr ""
-#: ../views/views.py:23
+#: newspipe/web/views/views.py:22
msgid "Authentication required."
msgstr ""
-#: ../views/views.py:31
+#: newspipe/web/views/views.py:30
msgid "Forbidden."
msgstr ""
diff --git a/runserver.py b/runserver.py
index 603038dc..3db99db1 100755
--- a/runserver.py
+++ b/runserver.py
@@ -35,8 +35,13 @@ def month_name(month_number):
return calendar.month_name[month_number]
+def datetimeformat(value, format="%Y-%m-%d %H:%M"):
+ return value.strftime(format)
+
+
application.jinja_env.filters["month_name"] = month_name
application.jinja_env.filters["datetime"] = format_datetime
+application.jinja_env.filters["datetimeformat"] = datetimeformat
# inject application in Jinja env
application.jinja_env.globals["application"] = application
bgstack15