aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE.md2
-rw-r--r--README.md5
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml29
-rw-r--r--app/Resources/FOSUserBundle/translations/FOSUserBundle.oc.yml2
-rw-r--r--app/config/config.yml3
-rw-r--r--composer.json3
-rw-r--r--docs/en/developer/api.rst235
-rw-r--r--docs/en/index.rst3
-rw-r--r--docs/en/user/installation.rst12
-rw-r--r--docs/en/user/migration.rst22
-rw-r--r--docs/fr/developer/api.rst235
-rw-r--r--docs/fr/index.rst2
-rw-r--r--docs/fr/user/installation.rst12
-rw-r--r--docs/fr/user/migration.rst22
-rw-r--r--src/Wallabag/CoreBundle/Command/InstallCommand.php7
-rw-r--r--src/Wallabag/CoreBundle/Resources/config/services.yml17
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/public/themes/baggy/js/saveLink.js13
-rwxr-xr-xsrc/Wallabag/CoreBundle/Resources/public/themes/material/css/main.css14
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.da.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.de.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.en.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.es.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml425
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/base.html.twig4
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig91
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig3
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig18
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/about.html.twig7
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/howto.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig4
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig136
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig3
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig8
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Static/about.html.twig7
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Static/howto.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig4
42 files changed, 1216 insertions, 165 deletions
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index 87e1d42f..6e8a87a9 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
@@ -6,7 +6,7 @@ Remember, this is _not_ a place to ask questions. For that, go to http://gitter.
6### Environment 6### Environment
7 7
8* wallabag version (or git revision) that exhibits the issue: 8* wallabag version (or git revision) that exhibits the issue:
9* How did you install wallabag? Via `composer create-project` or by downloading the package? 9* How did you install wallabag? Via `git clone` or by downloading the package?
10* Last wallabag version that did not exhibit the issue (if applicable): 10* Last wallabag version that did not exhibit the issue (if applicable):
11* php version: 11* php version:
12* OS: 12* OS:
diff --git a/README.md b/README.md
index e175b6c3..0e59e40f 100644
--- a/README.md
+++ b/README.md
@@ -8,8 +8,7 @@ Click, save and read it when you can. It extracts content so that you can read i
8 8
9More informations on our website: [wallabag.org](https://wallabag.org) 9More informations on our website: [wallabag.org](https://wallabag.org)
10 10
11# Want to test the v2? 11# Install wallabag
12Keep in mind it's an **unstable** branch, everything can be broken :)
13 12
14If you don't have it yet, please [install composer](https://getcomposer.org/download/). 13If you don't have it yet, please [install composer](https://getcomposer.org/download/).
15Then you can install wallabag by executing the following commands: 14Then you can install wallabag by executing the following commands:
@@ -17,7 +16,7 @@ Then you can install wallabag by executing the following commands:
17``` 16```
18 git clone https://github.com/wallabag/wallabag.git 17 git clone https://github.com/wallabag/wallabag.git
19 cd wallabag 18 cd wallabag
20 git checkout 2.0.0-beta.2 19 git checkout 2.0.0
21 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist 20 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
22 php bin/console wallabag:install --env=prod 21 php bin/console wallabag:install --env=prod
23 php bin/console server:run --env=prod 22 php bin/console server:run --env=prod
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml
new file mode 100644
index 00000000..67880b8b
--- /dev/null
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml
@@ -0,0 +1,29 @@
1download_pictures: Telecargar los imatges sul servidor
2carrot: Activar lo partatge cap a Carrot
3diaspora_url: URL de Diaspora, se lo servici Diaspora es activat
4export_epub: Activar l'expòrt ePub
5export_mobi: Activar l'expòrt .mobi
6export_pdf: Activar l'expòrt PDF
7export_csv: Activar l'expòrt CSV
8export_json: Activar l'expòrt JSON
9export_txt: Activar l'expòrt TXT
10export_xml: Activar l'expòrt XML
11pocket_consumer_key: Clau d'autentificacion Pocket per importar las donadas (https://getpocket.com/developer/docs/authentication)
12shaarli_url: URL de Shaarli, se lo servici Shaarli es activat
13share_diaspora: Activar lo partatge cap a Diaspora
14share_mail: Activar lo partatge per corrièl
15share_shaarli: Activar lo partatge cap a Shaarli
16share_twitter: Activar lo partatge cap a Twitter
17show_printlink: Afichar un ligam per imprimir
18wallabag_support_url: URL d'assisténcia de wallabag
19wallabag_url: URL de *vòstra* instància de wallabag
20entry: "article"
21export: "expòrt"
22import: "impòrt"
23misc: "divèrs"
24modify_settings: "aplicar"
25piwik_host: URL de vòstre site dins Piwik
26piwik_site_id: ID de vòstre site dins Piwik
27piwik_enabled: Activar Piwik
28demo_mode_enabled: "Activar lo mode demostracion ? (utilizar solament per la demostracion publica de wallabag)"
29demo_mode_username: "Utilizaire de la demostracion"
diff --git a/app/Resources/FOSUserBundle/translations/FOSUserBundle.oc.yml b/app/Resources/FOSUserBundle/translations/FOSUserBundle.oc.yml
new file mode 100644
index 00000000..b8a75172
--- /dev/null
+++ b/app/Resources/FOSUserBundle/translations/FOSUserBundle.oc.yml
@@ -0,0 +1,2 @@
1Login: "Se connectar"
2Enter your email address below and we'll send you password reset instructions.: "Picatz vòstra adreça de corrièl çai-jos, vos mandarem las instruccions per reïnicializar vòstre senhal."
diff --git a/app/config/config.yml b/app/config/config.yml
index 5265be8a..a8766694 100644
--- a/app/config/config.yml
+++ b/app/config/config.yml
@@ -28,7 +28,7 @@ framework:
28 assets: ~ 28 assets: ~
29 29
30wallabag_core: 30wallabag_core:
31 version: 2.0.0-beta.2 31 version: 2.0.0
32 paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb" 32 paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
33 languages: 33 languages:
34 en: 'English' 34 en: 'English'
@@ -40,6 +40,7 @@ wallabag_core:
40 pl: 'Polish' 40 pl: 'Polish'
41 da: 'Dansk' 41 da: 'Dansk'
42 es: 'Español' 42 es: 'Español'
43 oc: 'Occitan'
43 items_on_page: 12 44 items_on_page: 12
44 theme: material 45 theme: material
45 language: en 46 language: en
diff --git a/composer.json b/composer.json
index 4c3fbdaf..7dbc6772 100644
--- a/composer.json
+++ b/composer.json
@@ -80,7 +80,8 @@
80 "paragonie/random_compat": "~1.0", 80 "paragonie/random_compat": "~1.0",
81 "craue/config-bundle": "~1.4", 81 "craue/config-bundle": "~1.4",
82 "mnapoli/piwik-twig-extension": "^1.0", 82 "mnapoli/piwik-twig-extension": "^1.0",
83 "lexik/maintenance-bundle": "~2.1" 83 "lexik/maintenance-bundle": "~2.1",
84 "ocramius/proxy-manager": "1.*"
84 }, 85 },
85 "require-dev": { 86 "require-dev": {
86 "doctrine/doctrine-fixtures-bundle": "~2.2", 87 "doctrine/doctrine-fixtures-bundle": "~2.2",
diff --git a/docs/en/developer/api.rst b/docs/en/developer/api.rst
new file mode 100644
index 00000000..ac00d3a4
--- /dev/null
+++ b/docs/en/developer/api.rst
@@ -0,0 +1,235 @@
1API documentation
2=================
3
4Thanks to this documentation, we'll see how to interact with the wallabag API.
5
6Requirements
7------------
8
9* wallabag freshly (or not) installed on http://localhost:8000
10* ``httpie`` installed on your computer (`see project website <https://github.com/jkbrzt/httpie>`__). Note that you can also adapt the commands using curl or wget.
11* all the API methods are documented here http://localhost:8000/api/doc
12
13Creating a new API client
14-------------------------
15
16In your wallabag account, you can create a new API client at this URL http://localhost:8000/developer/client/create.
17
18Just give the redirect URL of your application and create your client. If your application is a desktop one, put whatever URL suits you the most.
19
20You get information like this:
21
22::
23
24 Client ID:
25
26 1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc
27
28 Client secret:
29
30 636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4
31
32
33Obtaining a refresh token
34-------------------------
35
36For each API call, you'll need a token. Let's create it with this command (replace ``client_id``, ``client_secret``, ``username`` and ``password`` with their values):
37
38::
39
40 http POST http://localhost:8000/oauth/v2/token \
41 grant_type=password \
42 client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc \
43 client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 \
44 username=wallabag \
45 password=wallabag
46
47You'll have this in return:
48
49::
50
51 HTTP/1.1 200 OK
52 Cache-Control: no-store, private
53 Connection: close
54 Content-Type: application/json
55 Date: Tue, 05 Apr 2016 08:44:33 GMT
56 Host: localhost:8000
57 Pragma: no-cache
58 X-Debug-Token: 19c8e0
59 X-Debug-Token-Link: /_profiler/19c8e0
60 X-Powered-By: PHP/7.0.4
61
62 {
63 "access_token": "ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA",
64 "expires_in": 3600,
65 "refresh_token": "OTNlZGE5OTJjNWQwYzc2NDI5ZGE5MDg3ZTNjNmNkYTY0ZWZhZDVhNDBkZTc1ZTNiMmQ0MjQ0OThlNTFjNTQyMQ",
66 "scope": null,
67 "token_type": "bearer"
68 }
69
70We'll work with the ``access_token`` value in our next calls.
71
72Getting existing entries
73------------------------
74
75Documentation for this method: http://localhost:8000/api/doc#get--api-entries.{_format}
76
77As we work on a fresh wallabag installation, we'll have no result with this command:
78
79::
80
81 http GET http://localhost:8000/api/entries.json \
82 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
83
84returns:
85
86::
87
88 HTTP/1.1 200 OK
89 0: application/json
90 Cache-Control: no-cache
91 Connection: close
92 Content-Type: application/json
93 Date: Tue, 05 Apr 2016 08:51:32 GMT
94 Host: localhost:8000
95 Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly
96 X-Debug-Token: 4fbbc4
97 X-Debug-Token-Link: /_profiler/4fbbc4
98 X-Powered-By: PHP/7.0.4
99
100 {
101 "_embedded": {
102 "items": []
103 },
104 "_links": {
105 "first": {
106 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
107 },
108 "last": {
109 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
110 },
111 "self": {
112 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
113 }
114 },
115 "limit": 30,
116 "page": 1,
117 "pages": 1,
118 "total": 0
119 }
120
121The ``items`` array is empty.
122
123Adding your first entry
124-----------------------
125
126Documentation for this method: http://localhost:8000/api/doc#post--api-entries.{_format}
127
128::
129
130 http POST http://localhost:8000/api/entries.json \
131 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" \
132 url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
133
134returns
135
136::
137
138 HTTP/1.1 200 OK
139 0: application/json
140 Cache-Control: no-cache
141 Connection: close
142 Content-Type: application/json
143 Date: Tue, 05 Apr 2016 09:07:54 GMT
144 Host: localhost:8000
145 Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly
146 X-Debug-Token: e01c51
147 X-Debug-Token-Link: /_profiler/e01c51
148 X-Powered-By: PHP/7.0.4
149
150 {
151 "_links": {
152 "self": {
153 "href": "/api/entries/1"
154 }
155 },
156 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
157 "created_at": "2016-04-05T09:07:54+0000",
158 "domain_name": "www.numerama.com",
159 "id": 1,
160 "is_archived": 0,
161 "is_starred": 0,
162 "language": "fr-FR",
163 "mimetype": "text/html",
164 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
165 "reading_time": 2,
166 "tags": [],
167 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
168 "updated_at": "2016-04-05T09:07:54+0000",
169 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
170 "user_email": "",
171 "user_id": 1,
172 "user_name": "wallabag"
173 }
174
175Now, if you execute the previous command (see **Get existing entries**), you'll have data.
176
177Deleting an entry
178-----------------
179
180Documentation for this method: http://localhost:8000/api/doc#delete--api-entries-{entry}.{_format}
181
182::
183
184 http DELETE http://localhost:8000/api/entries/1.json \
185 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
186
187returns
188
189::
190
191 HTTP/1.1 200 OK
192 0: application/json
193 Cache-Control: no-cache
194 Connection: close
195 Content-Type: application/json
196 Date: Tue, 05 Apr 2016 09:19:07 GMT
197 Host: localhost:8000
198 Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly
199 X-Debug-Token: 887cef
200 X-Debug-Token-Link: /_profiler/887cef
201 X-Powered-By: PHP/7.0.4
202
203 {
204 "_links": {
205 "self": {
206 "href": "/api/entries/"
207 }
208 },
209 "annotations": [],
210 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
211 "created_at": "2016-04-05T09:07:54+0000",
212 "domain_name": "www.numerama.com",
213 "is_archived": 0,
214 "is_starred": 0,
215 "language": "fr-FR",
216 "mimetype": "text/html",
217 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
218 "reading_time": 2,
219 "tags": [],
220 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
221 "updated_at": "2016-04-05T09:07:54+0000",
222 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
223 "user_email": "",
224 "user_id": 1,
225 "user_name": "wallabag"
226 }
227
228And if you want to list the existing entries (see **Get existing entries**), the array is empty.
229
230Other methods
231-------------
232
233We won't write samples for each API method.
234
235Have a look on the listing here: http://localhost:8000/api/doc to know each method.
diff --git a/docs/en/index.rst b/docs/en/index.rst
index 3367c8a9..87b62121 100644
--- a/docs/en/index.rst
+++ b/docs/en/index.rst
@@ -24,6 +24,7 @@ The main documentation for this application is organized into a couple sections:
24 :caption: User documentation 24 :caption: User documentation
25 25
26 user/installation 26 user/installation
27 user/migration
27 user/create_account 28 user/create_account
28 user/login 29 user/login
29 user/configuration 30 user/configuration
@@ -41,7 +42,7 @@ The main documentation for this application is organized into a couple sections:
41 :maxdepth: 2 42 :maxdepth: 2
42 :caption: Developer documentation 43 :caption: Developer documentation
43 44
45 developer/api
44 developer/docker 46 developer/docker
45 developer/translate 47 developer/translate
46 developer/maintenance 48 developer/maintenance
47 developer/releasing
diff --git a/docs/en/user/installation.rst b/docs/en/user/installation.rst
index 28da67b7..586b01ad 100644
--- a/docs/en/user/installation.rst
+++ b/docs/en/user/installation.rst
@@ -4,9 +4,9 @@ Install wallabag
4Requirements 4Requirements
5------------ 5------------
6 6
7wallabag is compatible with php >= 5.5, including php 7. 7wallabag is compatible with PHP >= 5.5, including PHP 7.
8 8
9You'll need the following extensions for wallabag to work. Some of these may already activated in your version of php, so you may not have to install all corresponding packages. 9You'll need the following extensions for wallabag to work. Some of these may already activated in your version of PHP, so you may not have to install all corresponding packages.
10 10
11- php-session 11- php-session
12- php-ctype 12- php-ctype
@@ -25,9 +25,9 @@ You'll need the following extensions for wallabag to work. Some of these may alr
25 25
26wallabag uses PDO to connect to database, so you'll need one of: 26wallabag uses PDO to connect to database, so you'll need one of:
27 27
28- php-pdo_mysql 28- pdo_mysql
29- php-pdo_sqlite 29- pdo_sqlite
30- php-pdo_pgsql 30- pdo_pgsql
31 31
32and it's corresponding database server. 32and it's corresponding database server.
33 33
@@ -50,7 +50,7 @@ To install wallabag itself, you must run these two commands:
50 50
51 git clone https://github.com/wallabag/wallabag.git 51 git clone https://github.com/wallabag/wallabag.git
52 cd wallabag 52 cd wallabag
53 git checkout 2.0.0-beta.2 53 git checkout 2.0.0
54 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist 54 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
55 php bin/console wallabag:install --env=prod 55 php bin/console wallabag:install --env=prod
56 56
diff --git a/docs/en/user/migration.rst b/docs/en/user/migration.rst
index 9e7d1a1e..e1fee961 100644
--- a/docs/en/user/migration.rst
+++ b/docs/en/user/migration.rst
@@ -24,6 +24,28 @@ After creating an user account on your new wallabag v2 instance, you must head o
24 :alt: Import from wallabag v1 24 :alt: Import from wallabag v1
25 :align: center 25 :align: center
26 26
27Import via command-line interface (CLI)
28~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29
30If you have a CLI access on your web server, you can execute this command to import your wallabag v1 export:
31
32::
33
34 bin/console wallabag:import-v1 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
35
36Please replace values:
37
38* ``1`` is the user identifier in database (The ID of the first user created on wallabag is 1)
39* ``~/Downloads/wallabag-export-1-2016-04-05.json`` is the path of your wallabag v1 export
40
41You'll have this in return:
42
43::
44
45 Start : 05-04-2016 11:36:07 ---
46 403 imported
47 0 already saved
48 End : 05-04-2016 11:36:09 ---
27 49
28From wallabag 2.x 50From wallabag 2.x
29----------------- 51-----------------
diff --git a/docs/fr/developer/api.rst b/docs/fr/developer/api.rst
new file mode 100644
index 00000000..9c8e25a9
--- /dev/null
+++ b/docs/fr/developer/api.rst
@@ -0,0 +1,235 @@
1Documentation de l'API
2======================
3
4Grâce à cette documentation, nous allons voir comment interagir avec l'API de wallabag.
5
6Pré-requis
7----------
8
9* wallabag fraichement installé et disponible à http://localhost:8000
10* ``httpie`` installé sur votre ordinateur (`voir le site du projet <https://github.com/jkbrzt/httpie>`__). Vous pouvez également adapter les commandes en utilisant curl ou wget.
11* toutes les méthodes de l'API documentées ici http://localhost:8000/api/doc
12
13Créer un nouveau client d'API
14-----------------------------
15
16Depuis votre wallabag, vous pouvez créer un nouveau client d'API à cette URL http://localhost:8000/developer/client/create.
17
18Vous devez renseigner l'URL de redirection de votre application et créer votre client. Si votre application est une application desktop, renseignez l'URL que vous souhaitez.
19
20Vous obtiendrez les informations suivantes :
21
22::
23
24 Client ID:
25
26 1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc
27
28 Client secret:
29
30 636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4
31
32
33Créer un jeton
34--------------
35
36Pour chaque appel d'API, vous aurez besoin d'un jeton. Créons-le avec la commande suivante (remplacez ``client_id``, ``client_secret``, ``username`` and ``password`` par leur valeur):
37
38::
39
40 http POST http://localhost:8000/oauth/v2/token \
41 grant_type=password \
42 client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc \
43 client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 \
44 username=wallabag \
45 password=wallabag
46
47Vous obtiendrez :
48
49::
50
51 HTTP/1.1 200 OK
52 Cache-Control: no-store, private
53 Connection: close
54 Content-Type: application/json
55 Date: Tue, 05 Apr 2016 08:44:33 GMT
56 Host: localhost:8000
57 Pragma: no-cache
58 X-Debug-Token: 19c8e0
59 X-Debug-Token-Link: /_profiler/19c8e0
60 X-Powered-By: PHP/7.0.4
61
62 {
63 "access_token": "ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA",
64 "expires_in": 3600,
65 "refresh_token": "OTNlZGE5OTJjNWQwYzc2NDI5ZGE5MDg3ZTNjNmNkYTY0ZWZhZDVhNDBkZTc1ZTNiMmQ0MjQ0OThlNTFjNTQyMQ",
66 "scope": null,
67 "token_type": "bearer"
68 }
69
70Nous allons utiliser la valeur de ``access_token`` dans nos prochains appels.
71
72Récupérer les articles existants
73--------------------------------
74
75Documentation pour cette méthode : http://localhost:8000/api/doc#get--api-entries.{_format}
76
77Comme nous venons tout juste d'installer wallabag, nous n'aurons aucun résultat avec cette commande :
78
79::
80
81 http GET http://localhost:8000/api/entries.json \
82 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
83
84retournera :
85
86::
87
88 HTTP/1.1 200 OK
89 0: application/json
90 Cache-Control: no-cache
91 Connection: close
92 Content-Type: application/json
93 Date: Tue, 05 Apr 2016 08:51:32 GMT
94 Host: localhost:8000
95 Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly
96 X-Debug-Token: 4fbbc4
97 X-Debug-Token-Link: /_profiler/4fbbc4
98 X-Powered-By: PHP/7.0.4
99
100 {
101 "_embedded": {
102 "items": []
103 },
104 "_links": {
105 "first": {
106 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
107 },
108 "last": {
109 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
110 },
111 "self": {
112 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
113 }
114 },
115 "limit": 30,
116 "page": 1,
117 "pages": 1,
118 "total": 0
119 }
120
121Le tableau ``items`` est vide.
122
123Créer votre premier article
124---------------------------
125
126Documentation pour cette méthode : http://localhost:8000/api/doc#post--api-entries.{_format}
127
128::
129
130 http POST http://localhost:8000/api/entries.json \
131 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" \
132 url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
133
134retournera :
135
136::
137
138 HTTP/1.1 200 OK
139 0: application/json
140 Cache-Control: no-cache
141 Connection: close
142 Content-Type: application/json
143 Date: Tue, 05 Apr 2016 09:07:54 GMT
144 Host: localhost:8000
145 Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly
146 X-Debug-Token: e01c51
147 X-Debug-Token-Link: /_profiler/e01c51
148 X-Powered-By: PHP/7.0.4
149
150 {
151 "_links": {
152 "self": {
153 "href": "/api/entries/1"
154 }
155 },
156 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
157 "created_at": "2016-04-05T09:07:54+0000",
158 "domain_name": "www.numerama.com",
159 "id": 1,
160 "is_archived": 0,
161 "is_starred": 0,
162 "language": "fr-FR",
163 "mimetype": "text/html",
164 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
165 "reading_time": 2,
166 "tags": [],
167 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
168 "updated_at": "2016-04-05T09:07:54+0000",
169 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
170 "user_email": "",
171 "user_id": 1,
172 "user_name": "wallabag"
173 }
174
175Maintenant, si vous exécutez la précédente commande (voir **Récupérer les articles existants**), vous obtiendrez quelque chose.
176
177Supprimer un article
178--------------------
179
180Documentation pour cette méthode : http://localhost:8000/api/doc#delete--api-entries-{entry}.{_format}
181
182::
183
184 http DELETE http://localhost:8000/api/entries/1.json \
185 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
186
187retournera :
188
189::
190
191 HTTP/1.1 200 OK
192 0: application/json
193 Cache-Control: no-cache
194 Connection: close
195 Content-Type: application/json
196 Date: Tue, 05 Apr 2016 09:19:07 GMT
197 Host: localhost:8000
198 Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly
199 X-Debug-Token: 887cef
200 X-Debug-Token-Link: /_profiler/887cef
201 X-Powered-By: PHP/7.0.4
202
203 {
204 "_links": {
205 "self": {
206 "href": "/api/entries/"
207 }
208 },
209 "annotations": [],
210 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
211 "created_at": "2016-04-05T09:07:54+0000",
212 "domain_name": "www.numerama.com",
213 "is_archived": 0,
214 "is_starred": 0,
215 "language": "fr-FR",
216 "mimetype": "text/html",
217 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
218 "reading_time": 2,
219 "tags": [],
220 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
221 "updated_at": "2016-04-05T09:07:54+0000",
222 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
223 "user_email": "",
224 "user_id": 1,
225 "user_name": "wallabag"
226 }
227
228Et si vous voulez voir la liste des articles existants (voir **Récupérer les articles existants**), le tableau sera vide.
229
230Autres méthodes
231---------------
232
233Nous n'écrirons pas d'exemples pour toutes les méthodes de l'API.
234
235Jetez un œil à la liste complète ici http://localhost:8000/api/doc pour connaitre chaque méthode.
diff --git a/docs/fr/index.rst b/docs/fr/index.rst
index 48310680..628c62a5 100644
--- a/docs/fr/index.rst
+++ b/docs/fr/index.rst
@@ -25,6 +25,7 @@ La documentation principale de cette application est découpée en plusieurs sec
25 :caption: Documentation utilisateur 25 :caption: Documentation utilisateur
26 26
27 user/installation 27 user/installation
28 user/migration
28 user/create_account 29 user/create_account
29 user/login 30 user/login
30 user/configuration 31 user/configuration
@@ -42,6 +43,7 @@ La documentation principale de cette application est découpée en plusieurs sec
42 :maxdepth: 2 43 :maxdepth: 2
43 :caption: Documentation développeur 44 :caption: Documentation développeur
44 45
46 developer/api
45 developer/docker 47 developer/docker
46 developer/translate 48 developer/translate
47 developer/maintenance 49 developer/maintenance
diff --git a/docs/fr/user/installation.rst b/docs/fr/user/installation.rst
index 49e72f83..53cc4adf 100644
--- a/docs/fr/user/installation.rst
+++ b/docs/fr/user/installation.rst
@@ -4,9 +4,9 @@ Installer wallabag
4Pré-requis 4Pré-requis
5------------ 5------------
6 6
7wallabag est compatible avec php >= 5.5, php 7 inclus. 7wallabag est compatible avec PHP >= 5.5, PHP 7 inclus.
8 8
9Vous aurez besoin des extensions suivantes pour que wallabag fonctionne. Il est possible que certaines de ces extensions soient déjà activées dans votre version de php, donc vous n'avez pas forcément besoin d'installer tous les paquets correspondants. 9Vous aurez besoin des extensions suivantes pour que wallabag fonctionne. Il est possible que certaines de ces extensions soient déjà activées dans votre version de PHP, donc vous n'avez pas forcément besoin d'installer tous les paquets correspondants.
10 10
11- php-session 11- php-session
12- php-ctype 12- php-ctype
@@ -25,9 +25,9 @@ Vous aurez besoin des extensions suivantes pour que wallabag fonctionne. Il est
25 25
26wallabag utilise PDO afin de se connecter à une base de données, donc vous aurez besoin d'une extension et d'un système de bases de données parmi : 26wallabag utilise PDO afin de se connecter à une base de données, donc vous aurez besoin d'une extension et d'un système de bases de données parmi :
27 27
28- php-pdo_mysql 28- pdo_mysql
29- php-pdo_sqlite 29- pdo_sqlite
30- php-pdo_pgsql 30- pdo_pgsql
31 31
32Installation 32Installation
33------------ 33------------
@@ -48,7 +48,7 @@ Pour installer wallabag, vous devez exécuter ces deux commandes :
48 48
49 git clone https://github.com/wallabag/wallabag.git 49 git clone https://github.com/wallabag/wallabag.git
50 cd wallabag 50 cd wallabag
51 git checkout 2.0.0-beta.2 51 git checkout 2.0.0
52 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist 52 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
53 php bin/console wallabag:install --env=prod 53 php bin/console wallabag:install --env=prod
54 54
diff --git a/docs/fr/user/migration.rst b/docs/fr/user/migration.rst
index b315ff5c..9e09b0c4 100644
--- a/docs/fr/user/migration.rst
+++ b/docs/fr/user/migration.rst
@@ -24,6 +24,28 @@ Une fois que vous avez créé un compte utilisateur sur votre nouvelle instance
24 :alt: Import depuis wallabag v1 24 :alt: Import depuis wallabag v1
25 :align: center 25 :align: center
26 26
27Import via via la ligne de commande (CLI)
28~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29
30Si vous avez accès à la ligne de commandes de votre serveur web, vous pouvez exécuter cette commande pour import votre fichier wallabag v1 :
31
32::
33
34 bin/console wallabag:import-v1 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
35
36Remplacez les valeurs :
37
38* ``1`` est l'identifiant de votre utilisateur en base (l'ID de votre premier utilisateur créé sur wallabag est 1)
39* ``~/Downloads/wallabag-export-1-2016-04-05.json`` est le chemin de votre export wallabag v1
40
41Vous obtiendrez :
42
43::
44
45 Start : 05-04-2016 11:36:07 ---
46 403 imported
47 0 already saved
48 End : 05-04-2016 11:36:09 ---
27 49
28Depuis wallabag 2.x 50Depuis wallabag 2.x
29------------------- 51-------------------
diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php
index 7c3d1c52..6665f4b5 100644
--- a/src/Wallabag/CoreBundle/Command/InstallCommand.php
+++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php
@@ -73,13 +73,14 @@ class InstallCommand extends ContainerAwareCommand
73 73
74 $fulfilled = true; 74 $fulfilled = true;
75 75
76 $label = '<comment>PDO Drivers</comment>'; 76 $label = '<comment>PDO Driver</comment>';
77 $status = '<info>OK!</info>'; 77 $status = '<info>OK!</info>';
78 $help = ''; 78 $help = '';
79 if (!(extension_loaded('pdo_sqlite') || extension_loaded('pdo_mysql') || extension_loaded('pdo_pgsql'))) { 79
80 if (!extension_loaded($this->getContainer()->getParameter('database_driver'))) {
80 $fulfilled = false; 81 $fulfilled = false;
81 $status = '<error>ERROR!</error>'; 82 $status = '<error>ERROR!</error>';
82 $help = 'Needs one of sqlite, mysql or pgsql PDO drivers'; 83 $help = 'Database driver "'.$this->getContainer()->getParameter('database_driver').'" is not installed.';
83 } 84 }
84 85
85 $rows = []; 86 $rows = [];
diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml
index 677c33da..a36f3392 100644
--- a/src/Wallabag/CoreBundle/Resources/config/services.yml
+++ b/src/Wallabag/CoreBundle/Resources/config/services.yml
@@ -39,7 +39,22 @@ services:
39 wallabag_core.graby: 39 wallabag_core.graby:
40 class: Graby\Graby 40 class: Graby\Graby
41 arguments: 41 arguments:
42 - { error_message: "wallabag can't retrieve contents for this article. Please report this issue to us." } 42 -
43 error_message: "wallabag can't retrieve contents for this article. Please report this issue to us."
44 http_client:
45 user_agents:
46 'lifehacker.com': 'PHP/5.2'
47 'gawker.com': 'PHP/5.2'
48 'deadspin.com': 'PHP/5.2'
49 'kotaku.com': 'PHP/5.2'
50 'jezebel.com': 'PHP/5.2'
51 'io9.com': 'PHP/5.2'
52 'jalopnik.com': 'PHP/5.2'
53 'gizmodo.com': 'PHP/5.2'
54 '.wikipedia.org': 'Mozilla/5.2'
55 '.fok.nl': 'Googlebot/2.1'
56 'getpocket.com': 'PHP/5.2'
57 'iansommerville.com': 'PHP/5.2'
43 calls: 58 calls:
44 - [ setLogger, [ "@logger" ] ] 59 - [ setLogger, [ "@logger" ] ]
45 tags: 60 tags:
diff --git a/src/Wallabag/CoreBundle/Resources/public/themes/baggy/js/saveLink.js b/src/Wallabag/CoreBundle/Resources/public/themes/baggy/js/saveLink.js
index a7acd84c..34e934cc 100755
--- a/src/Wallabag/CoreBundle/Resources/public/themes/baggy/js/saveLink.js
+++ b/src/Wallabag/CoreBundle/Resources/public/themes/baggy/js/saveLink.js
@@ -79,19 +79,6 @@ $.fn.ready(function() {
79 }); 79 });
80 80
81 /* ========================================================================== 81 /* ==========================================================================
82 Keyboard gestion
83 ========================================================================== */
84
85 $(window).keydown(function(e){
86 if ( ( e.target.tagName.toLowerCase() !== 'input' && e.keyCode == 83 ) || (e.keyCode == 27 && $bagitForm.is(':visible') ) ) {
87 $bagit.removeClass("current");
88 $("#bagit-arrow").removeClass("arrow-down");
89 toggleSaveLinkForm();
90 return false;
91 }
92 });
93
94 /* ==========================================================================
95 Process all links inside an article 82 Process all links inside an article
96 ========================================================================== */ 83 ========================================================================== */
97 84
diff --git a/src/Wallabag/CoreBundle/Resources/public/themes/material/css/main.css b/src/Wallabag/CoreBundle/Resources/public/themes/material/css/main.css
index 6f44e1da..96c38822 100755
--- a/src/Wallabag/CoreBundle/Resources/public/themes/material/css/main.css
+++ b/src/Wallabag/CoreBundle/Resources/public/themes/material/css/main.css
@@ -54,20 +54,6 @@ body.login main {
54 padding: 0; 54 padding: 0;
55} 55}
56 56
57#warning_message {
58 position: fixed;
59 background-color: #ff6347;
60 z-index: 1000;
61 bottom: 0;
62 left: 0;
63 width: 100%;
64 color: #000;
65}
66
67#warning_message a {
68 color: #555;
69}
70
71.border-bottom { 57.border-bottom {
72 border-bottom: 1px solid #DDD; 58 border-bottom: 1px solid #DDD;
73} 59}
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
index 40ae4e5a..d19cf1bf 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
@@ -137,7 +137,7 @@ entry:
137 page_titles: 137 page_titles:
138 # unread: 'Unread entries' 138 # unread: 'Unread entries'
139 # starred: 'Starred entries' 139 # starred: 'Starred entries'
140 # archive: 'Archived entries' 140 # archived: 'Archived entries'
141 # filtered: 'Filtered entries' 141 # filtered: 'Filtered entries'
142 list: 142 list:
143 # number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.' 143 # number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
@@ -338,6 +338,7 @@ developer:
338 # documentation: 'Documentation' 338 # documentation: 'Documentation'
339 # how_to_first_app: 'How to create my first application' 339 # how_to_first_app: 'How to create my first application'
340 # full_documentation: 'View full API documentation' 340 # full_documentation: 'View full API documentation'
341 # list_methods: 'List API methods'
341 # clients: 342 # clients:
342 # title: 'Clients' 343 # title: 'Clients'
343 # create_new: 'Create a new client' 344 # create_new: 'Create a new client'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
index ff6255b7..f1e7b6b8 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
@@ -137,7 +137,7 @@ entry:
137 page_titles: 137 page_titles:
138 unread: 'Ungelesene Einträge' 138 unread: 'Ungelesene Einträge'
139 starred: 'Favorisierte Einträge' 139 starred: 'Favorisierte Einträge'
140 archive: 'Archivierte Einträge' 140 archived: 'Archivierte Einträge'
141 filtered: 'Gefilterte Einträge' 141 filtered: 'Gefilterte Einträge'
142 list: 142 list:
143 number_on_the_page: '{0} Es gibt keine Einträge.|{1} Es gibt einen Eintrag.|]1,Inf[ Es gibt %count% Einträge.' 143 number_on_the_page: '{0} Es gibt keine Einträge.|{1} Es gibt einen Eintrag.|]1,Inf[ Es gibt %count% Einträge.'
@@ -338,6 +338,7 @@ developer:
338 documentation: 'Dokumentation' 338 documentation: 'Dokumentation'
339 how_to_first_app: 'Wie erstelle ich meine erste Anwendung' 339 how_to_first_app: 'Wie erstelle ich meine erste Anwendung'
340 full_documentation: 'Komplette API-Dokumentation einsehen' 340 full_documentation: 'Komplette API-Dokumentation einsehen'
341 # list_methods: 'List API methods'
341 clients: 342 clients:
342 title: 'Clients' 343 title: 'Clients'
343 create_new: 'Neuen Client erstellen' 344 create_new: 'Neuen Client erstellen'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
index 1e49d4ba..3dc22998 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
@@ -137,7 +137,7 @@ entry:
137 page_titles: 137 page_titles:
138 unread: 'Unread entries' 138 unread: 'Unread entries'
139 starred: 'Starred entries' 139 starred: 'Starred entries'
140 archive: 'Archived entries' 140 archived: 'Archived entries'
141 filtered: 'Filtered entries' 141 filtered: 'Filtered entries'
142 list: 142 list:
143 number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.' 143 number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
@@ -338,6 +338,7 @@ developer:
338 documentation: 'Documentation' 338 documentation: 'Documentation'
339 how_to_first_app: 'How to create my first application' 339 how_to_first_app: 'How to create my first application'
340 full_documentation: 'View full API documentation' 340 full_documentation: 'View full API documentation'
341 list_methods: 'List API methods'
341 clients: 342 clients:
342 title: 'Clients' 343 title: 'Clients'
343 create_new: 'Create a new client' 344 create_new: 'Create a new client'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
index f1ac5b2f..a8fcbcf6 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
@@ -137,7 +137,7 @@ entry:
137 page_titles: 137 page_titles:
138 # unread: 'Unread entries' 138 # unread: 'Unread entries'
139 # starred: 'Starred entries' 139 # starred: 'Starred entries'
140 # archive: 'Archived entries' 140 # archived: 'Archived entries'
141 # filtered: 'Filtered entries' 141 # filtered: 'Filtered entries'
142 list: 142 list:
143 number_on_the_page: '{0} No hay artículos.|{1} Hay un artículo.|]1,Inf[ Hay %count% artículos.' 143 number_on_the_page: '{0} No hay artículos.|{1} Hay un artículo.|]1,Inf[ Hay %count% artículos.'
@@ -338,6 +338,7 @@ developer:
338 # documentation: 'Documentation' 338 # documentation: 'Documentation'
339 # how_to_first_app: 'How to create my first application' 339 # how_to_first_app: 'How to create my first application'
340 # full_documentation: 'View full API documentation' 340 # full_documentation: 'View full API documentation'
341 # list_methods: 'List API methods'
341 # clients: 342 # clients:
342 # title: 'Clients' 343 # title: 'Clients'
343 # create_new: 'Create a new client' 344 # create_new: 'Create a new client'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
index 97f52a78..6be7d22e 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
@@ -137,7 +137,7 @@ entry:
137 page_titles: 137 page_titles:
138 # unread: 'Unread entries' 138 # unread: 'Unread entries'
139 # starred: 'Starred entries' 139 # starred: 'Starred entries'
140 # archive: 'Archived entries' 140 # archived: 'Archived entries'
141 # filtered: 'Filtered entries' 141 # filtered: 'Filtered entries'
142 list: 142 list:
143 # number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.' 143 # number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
@@ -338,6 +338,7 @@ developer:
338 # documentation: 'Documentation' 338 # documentation: 'Documentation'
339 # how_to_first_app: 'How to create my first application' 339 # how_to_first_app: 'How to create my first application'
340 # full_documentation: 'View full API documentation' 340 # full_documentation: 'View full API documentation'
341 # list_methods: 'List API methods'
341 # clients: 342 # clients:
342 # title: 'Clients' 343 # title: 'Clients'
343 # create_new: 'Create a new client' 344 # create_new: 'Create a new client'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
index 56172463..6ff1a3b1 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
@@ -137,7 +137,7 @@ entry:
137 page_titles: 137 page_titles:
138 unread: 'Articles non lus' 138 unread: 'Articles non lus'
139 starred: 'Articles favoris' 139 starred: 'Articles favoris'
140 archive: 'Articles lus' 140 archived: 'Articles lus'
141 filtered: 'Articles filtrés' 141 filtered: 'Articles filtrés'
142 list: 142 list:
143 number_on_the_page: "{0} Il n'y a pas d'articles.|{1} Il y a un article.|]1,Inf[ Il y a %count% articles." 143 number_on_the_page: "{0} Il n'y a pas d'articles.|{1} Il y a un article.|]1,Inf[ Il y a %count% articles."
@@ -338,6 +338,7 @@ developer:
338 documentation: 'Documentation' 338 documentation: 'Documentation'
339 how_to_first_app: 'Comment créer votre première application' 339 how_to_first_app: 'Comment créer votre première application'
340 full_documentation: "Voir la documentation complète de l'API" 340 full_documentation: "Voir la documentation complète de l'API"
341 list_methods: "Lister toutes les méthodes de l'API"
341 clients: 342 clients:
342 title: 'Clients' 343 title: 'Clients'
343 create_new: 'Créer une nouveau client' 344 create_new: 'Créer une nouveau client'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
new file mode 100644
index 00000000..bbd813e2
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
@@ -0,0 +1,425 @@
1security:
2 login:
3 page_title: 'Benvenguda sus wallabag !'
4 keep_logged_in: 'Demorar connectat'
5 forgot_password: 'Senhal doblidat ?'
6 submit: 'Se connectar'
7 register: 'Crear un compte'
8 username: "Nom d'utilizaire"
9 password: 'Senhal'
10 cancel: 'Anullar'
11 resetting:
12 description: "Picatz vòstra adreça de corrièl çai-jos, vos mandarem las instruccions per reïnicializar vòstre senhal."
13 register:
14 page_title: 'Se crear un compte'
15 go_to_account: 'Anar sus vòstre compte'
16
17menu:
18 left:
19 unread: 'Pas legits'
20 starred: 'Favorits'
21 archive: 'Legits'
22 all_articles: 'Tots los articles'
23 config: 'Configuracion'
24 tags: 'Etiquetas'
25 internal_settings: 'Configuracion interna'
26 import: 'Importar'
27 howto: 'Ajuda'
28 developer: 'Desvolopador'
29 logout: 'Déconnexion'
30 about: 'A prepaus'
31 search: 'Cercar'
32 save_link: 'Enregistrar un novèl article'
33 back_to_unread: 'Tornar als articles pas legits'
34 top:
35 add_new_entry: 'Enregistrar un novèl article'
36 search: 'Cercar'
37 filter_entries: 'Filtrar los articles'
38 export: 'Exportar'
39 search_form:
40 input_label: 'Picatz vòstre mot-clau a cercar aquí'
41
42footer:
43 wallabag:
44 elsewhere: 'Emportatz wallabag amb vosaultres'
45 social: 'Social'
46 powered_by: 'propulsat per'
47 about: 'A prepaus'
48 page_title: 'Configuracion'
49
50config:
51 tab_menu:
52 settings: 'Paramètres'
53 rss: 'RSS'
54 user_info: 'Mon compte'
55 password: 'Senhal'
56 rules: "Règlas d'etiquetas automaticas"
57 new_user: 'Crear un compte'
58 form:
59 save: 'Enregistrar'
60 form_settings:
61 theme_label: 'Tèma'
62 items_per_page_label: "Nombre d'articles per pagina"
63 language_label: 'Lenga'
64 reading_speed:
65 label: 'Velocitat de lectura'
66 help_message: 'Podètz utilizar una aisina en linha per estimar vòstra velocitat de lectura :'
67 100_word: "Legissi a l'entorn de 100 mots per minuta"
68 200_word: "Legissi a l'entorn de 200 mots per minuta"
69 300_word: "Legissi a l'entorn de 300 mots per minuta"
70 400_word: "Legissi a l'entorn de 400 mots per minuta"
71 form_rss:
72 description: "Los fluxes RSS fornits per wallabag vos permeton de legir vòstres articles salvagardats dins vòstre lector de fluxes preferit. Per los poder emplegar, vos cal, d'en primièr crear un geton."
73 token_label: 'Geton RSS'
74 no_token: 'Aucun jeton généré'
75 token_create: 'Pas cap de geton generat'
76 token_reset: 'Reïnicializatz vòstre geton'
77 rss_links: 'URL de vòstres fluxes RSS'
78 rss_link:
79 unread: 'pas legits'
80 starred: 'favorits'
81 archive: 'legits'
82 rss_limit: "Nombre d'articles dins un flux RSS"
83 form_user:
84 two_factor_description: "Activar l'autentificacion doble-factor vòl dire que recebretz un còdi per corrièl per cada novèla connexion pas aprovada."
85 name_label: 'Nom'
86 email_label: 'Adreça de corrièl'
87 twoFactorAuthentication_label: 'Dobla autentificacion'
88 form_password:
89 old_password_label: 'Senhal actual'
90 new_password_label: 'Senhal novèl'
91 repeat_new_password_label: 'Confirmatz vòstre novèl senhal'
92 form_rules:
93 if_label: 'se'
94 then_tag_as_label: 'alara atribuir las etiquetas'
95 delete_rule_label: 'suprimir'
96 rule_label: 'Règla'
97 tags_label: 'Etiquetas'
98 faq:
99 title: 'FAQ'
100 tagging_rules_definition_title: "Qué significa las règlas d'etiquetas automaticas ?"
101 tagging_rules_definition_description: "Son de règlas utilizadas per wallabad per classar automaticament vòstres novèls articles.<br />Cada còp qu'un novèl article es apondut, totas las règlas d'etiquetas automaticas seràn utilizadas per ajustar d'etiquetas qu'avètz configuradas, en vos esparnhant l'esfòrç de classificar vòstres articles manualament."
102 how_to_use_them_title: 'Cossí las utilizar ?'
103 how_to_use_them_description: "Imaginem que volètz atribuir als novèls article l'etiqueta « <i>lectura corta</i> » quand lo temps per legir es inferior a 3 minutas.<br />Dins aquel cas, deuriatz metre « readingTime &lt;= 3 » dins lo camp <i>Règla</i> e « <i>lectura corta</i> » dins lo camp <i>Etiqueta</i>.<br />Mai d'una etiquetas pòdon èsser apondudas simultanèament ne las separant amb de virgulas : « <i>lectura corta, per ligir</i> »<br />De règlas complèxas pòdon èsser creadas en emplegant d'operators predefinits : se « <i>readingTime &gt;= 5 AND domainName = \"github.com\"</i> » alara atribuir las etiquetas « <i>lectura longa, github </i> »"
104 variables_available_title: 'Quinas variablas e operators pòdi utilizar per escriure de règlas ?'
105 variables_available_description: "Las variablas e operators seguents pòdon èsser utilizats per escriure de règlas d'etiquetas automaticas :"
106 meaning: 'Significacion'
107 variable_description:
108 label: 'Variabla'
109 title: "Títol de l'article"
110 url: "URL de l'article"
111 isArchived: "Se l'article es archivat o pas"
112 isStarred: "Se l'article es favorit o pas"
113 content: "Lo contengut de l'article"
114 language: "La lenga de l'article"
115 mimetype: "Lo tipe MIME de l'article"
116 readingTime: "Lo temps de lectura estimat de l'article, en minutas"
117 domainName: "Lo nom de domeni de l'article"
118 operator_description:
119 label: 'Operator'
120 less_than: 'Mens que…...'
121 strictly_less_than: 'Estrictament mens que…'
122 greater_than: 'Mai que…'
123 strictly_greater_than: 'Estrictament mai que…'
124 equal_to: 'Egal a…'
125 not_equal_to: 'Diferent de…'
126 or: "Una règla O l'autra"
127 and: "Una règla E l'autra"
128 matches: 'Teste se un <i>subjècte</i> correspond a una <i>recerca</i> (non sensibla a la cassa).<br />Exemple : <code>title matches \"football\"</code>'
129 form_new_user:
130 username_label: "Nom d'utilizaire"
131 password_label: 'Senhal'
132 repeat_new_password_label: 'Confirmatz vòstre novèl senhal'
133 plain_password_label: 'Senhal en clar'
134 email_label: 'Adreça de corrièl'
135
136entry:
137 page_titles:
138 unread: 'Articles pas legits'
139 starred: 'Articles favorits'
140 archived: 'Articles legits'
141 filtered: 'Articles filtrats'
142 list:
143 number_on_the_page: "{0} I a pas cap d'article.|{1} I a un article.|]1,Inf[ I a %count% articles."
144 reading_time: 'durada de lectura'
145 reading_time_minutes: 'durada de lectura : %readingTime% min'
146 reading_time_less_one_minute: 'durada de lectura : <small class="inferieur">&lt;</small> 1 min'
147 original_article: 'original'
148 toogle_as_read: 'Marcar coma legit/pas legit'
149 toogle_as_star: 'Marcar coma favorit'
150 delete: 'Suprimir'
151 export_title: 'Exportar'
152 filters:
153 title: 'Filtres'
154 status_label: 'Estatus'
155 archived_label: 'Legits'
156 starred_label: 'Favorits'
157 preview_picture_label: 'A una fotò'
158 preview_picture_help: 'Fotò'
159 language_label: 'Lenga'
160 reading_time:
161 label: 'Durada de lectura en minutas'
162 from: 'de'
163 to: 'per'
164 domain_label: 'Nom de domeni'
165 created_at:
166 label: 'Data de creacion'
167 from: 'de'
168 to: 'per'
169 action:
170 clear: 'Escafar'
171 filter: 'Filtrar'
172 view:
173 left_menu:
174 back_to_top: 'Tornar en naut'
175 back_to_homepage: 'Tornar'
176 set_as_read: 'Marcar coma legit'
177 set_as_unread: 'Marcar coma pas legit'
178 set_as_favorite: 'Metre en favori'
179 view_original_article: 'Article original'
180 re_fetch_content: 'Tornar cargar lo contengut'
181 delete: 'Suprimir'
182 add_a_tag: 'Ajustar una etiqueta'
183 share_content: 'Partatjar'
184 share_email_label: 'Corrièl'
185 download: 'Telecargar'
186 print: 'Imprimir'
187 problem:
188 label: 'Un problèma ?'
189 description: "Marca mal la presentacion d'aqueste article ?"
190 edit_title: 'Modificar lo títol'
191 original_article: 'original'
192 annotations_on_the_entry: "{0} Pas cap d'anotacion|{1} Una anotacion|]1,Inf[ %nbAnnotations% anotacions"
193 new:
194 page_title: 'Enregistrar un novèl article'
195 placeholder: 'http://website.com'
196 form_new:
197 url_label: Url
198 edit:
199 page_title: 'Modificar un article'
200 title_label: 'Títol'
201 url_label: 'Url'
202 is_public_label: 'Public'
203 save_label: 'Enregistrar'
204
205about:
206 page_title: 'A prepaus'
207 top_menu:
208 who_behind_wallabag: "L'equipa darrèr wallabag"
209 getting_help: "Besonh d'ajuda"
210 helping: 'Ajudar wallabag'
211 contributors: 'Contributors'
212 third_party: 'Bibliotècas tèrças'
213 who_behind_wallabag:
214 developped_by: 'Desvolopat per'
215 website: 'Site web'
216 many_contributors: 'E un fum de contributors ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">sur Github</a>'
217 project_website: 'Site web del projète'
218 license: 'Licéncia'
219 version: 'Version'
220 getting_help:
221 documentation: 'Documentacion'
222 bug_reports: 'Rapòrt de bugs'
223 support: "<a href=\"https://support.wallabag.org\">Sus nòstre site d'assisténcia</a> ou <a href=\"https://github.com/wallabag/wallabag/issues\">sur GitHub</a>"
224 helping:
225 description: 'wallabag es a gratuit e opensource. Nos podètz ajudar :'
226 by_contributing: 'en ajudant lo projècte :'
227 by_contributing_2: 'un bilhet recensa totes nòstres besonhs'
228 by_paypal: 'via Paypal'
229 contributors:
230 description: "Mercés als contributors de l'aplicacion web de wallabag"
231 third_party:
232 description: 'Aquí la lista de las dependéncias utilizadas dins wallabag (e lor licéncia) :'
233 package: 'Dependéncia'
234 license: 'Licéncia'
235
236howto:
237 page_title: 'Ajuda'
238 page_description: "I a mai d'un biai d'enregistrar un article :"
239 top_menu:
240 browser_addons: 'Extensions de navigator'
241 mobile_apps: 'Aplicacions mobil'
242 bookmarklet: 'Bookmarklet'
243 form:
244 description: 'Gràcias a aqueste formulari'
245 browser_addons:
246 firefox: 'Extension Firefox'
247 chrome: 'Extension Chrome'
248 mobile_apps:
249 android:
250 via_f_droid: 'via F-Droid'
251 via_google_play: 'via Google Play'
252 ios: 'sus iTunes Store'
253 windows: 'sus Microsoft Store'
254 bookmarklet:
255 description: 'Lisatz-depausatz aqueste ligam dins vòstra barra de favorits :'
256
257quickstart:
258 page_title: 'Per ben començar'
259 intro:
260 title: 'Benvenguda sus wallabag !'
261 paragraph_1: "Anem vos guidar per far lo torn de la proprietat e vos presentar unas fonccionalitats que vos poirián interessar per vos apropriar aquesta aisina."
262 paragraph_2: 'Seguètz-nos '
263 configure:
264 title: "Configuratz l'aplicacio"
265 language: "Cambiatz la lenga e l'estil de l'aplicacion"
266 rss: 'Activatz los fluxes RSS'
267 tagging_rules: 'Escrivètz de règlas per classar automaticament vòstres articles'
268 admin:
269 title: 'Administracion'
270 description: "En qualitat d'adminitrastor sus wallabag, avètz de privilègis que vos permeton de :"
271 new_user: 'Crear un novèl utilizaire'
272 analytics: 'Configurar las estadisticas'
273 sharing: 'Activar de paramètres de partatge'
274 export: 'Configurar los expòrt'
275 import: 'Configurar los impòrt'
276 first_steps:
277 title: 'Primièrs passes'
278 new_article: 'Ajustatz vòstre primièr article'
279 unread_articles: 'E racaptatz-lo !'
280 migrate:
281 title: 'Migrar dempuèi un servici existent'
282 description: "Sètz un ancian utilizaire d'un servici existent ? Vos ajudarem a trapar vòstras donadas sus wallabag."
283 pocket: 'Migrar dempuèi Pocket'
284 wallabag_v1: 'Migrar dempuèi wallabag v1'
285 wallabag_v2: 'Migrar dempuèi wallabag v2'
286 developer:
287 title: 'Pels desvolopadors'
288 create_application: 'Crear vòstra aplicacion tèrça'
289 docs:
290 title: 'Documentacion complèta'
291 annotate: 'Anotatar vòstre article'
292 export: 'Convertissètz vòstres articles en ePub o en PDF'
293 search_filters: "Aprenètz a utilizar lo motor de recèrca e los filtres per retrobar l'article que vos interèssa"
294 fetching_errors: "Qué far se mon article es pas recuperat coma cal ?"
295 all_docs: "E encara plen de causas mai !"
296 support:
297 title: 'Assisténcia'
298 description: 'Perque avètz benlèu besonh de nos pausar una question, sèm disponibles per vosautres.'
299 github: 'Sus GitHub'
300 email: 'Per e-mail'
301 gitter: 'Sus Gitter'
302
303tag:
304 page_title: 'Etiquetas'
305 list:
306 number_on_the_page: "{0} I a pas cap d'etiquetas.|{1} I a una etiqueta.|]1,Inf[ I a %count% etiquetas."
307
308import:
309 page_title: 'Importar'
310 page_description: "Benvenguda sus l'aisina de migracion de wallabag. Causissètz çai-jos lo servici dempuèi lo qual volètz migrar."
311 action:
312 import_contents: 'Importar los contenguts'
313 form:
314 mark_as_read_title: 'Tot marcar coma legit ?'
315 mark_as_read_label: 'Marcar tot los contenguts importats coma legits'
316 file_label: 'Fichièr'
317 save_label: 'Importar lo fichièr'
318 pocket:
319 page_title: 'Importer > Pocket'
320 description: "Aquesta aisina importarà totas vòstras donadas de Pocket. Pocket nos permet pas de recuperar lo contengut dempuèi lor servidor, alara wallabag deu tornar fulhetar cada article per recuperar son contengut."
321 config_missing:
322 description: "L'importacion dempuèi Pocket es pas configurada."
323 admin_message: "Vos cal definir %keyurls% una clau per l'API Pocket %keyurle%."
324 user_message: "L'administrator de vòstre servidor deu definir una clau per l'API Pocket."
325 authorize_message: "Podètz importar vòstras donadas dempuèi vòstre compte Pocket. Vos cal pas que clicar sul boton çai-jos e autorizar wallabag a se connectar a getpocket.com."
326 connect_to_pocket: 'Se connectar a Pocket e importar las donadas'
327 wallabag_v1:
328 page_title: 'Importer > Wallabag v1'
329 description: 'Aquesta aisina importarà totas vòstras donadas de wallabag v1. Sus vòstre pagina de configuracion de wallabag v1, clicatz sus \"Export JSON\" dins la seccion \"Exportar vòstras donadas de wallabag\". Traparatz un fichièr \"wallabag-export-1-xxxx-xx-xx.json\".'
330 how_to: "Causissètz lo fichièr de vòstra exportacion wallabag v1 e clicatz sul boton çai-jos per l'importar."
331 wallabag_v2:
332 page_title: 'Importer > Wallabag v2'
333 description: "Aquesta aisina importarà totas vòstras donadas d'una instància mai de wallabag v2. Anatz dins totes vòstres articles, puèi, sus la barra laterala, clicatz sus \"JSON\". Traparatz un fichièr \"All articles.json\""
334
335developer:
336 page_title: 'Desvolopador'
337 welcome_message: "Benvenguda sus l'API de wallabag"
338 documentation: 'Documentacion'
339 how_to_first_app: 'Cossí crear vòstra primièra aplicacion'
340 full_documentation: "Veire la documentacion completa de l'API"
341 # list_methods: 'List API methods'
342 clients:
343 title: 'Clients'
344 create_new: 'Crear un novèl client'
345 existing_clients:
346 title: 'Los clients existents'
347 field_id: 'ID Client'
348 field_secret: 'Clé secreta'
349 field_uris: 'URLs de redireccion'
350 field_grant_types: 'Tipe de privilègi acordat'
351 no_client: 'Pas cap de client pel moment'
352 remove:
353 warn_message_1: 'Avètz la possibilitat de supriimr un client. Aquesta accion es IRREVERSIBLA !'
354 warn_message_2: "Se suprimissètz un client, totas las aplicacions que l'emplegan foncionaràn pas mai amb vòstre compte wallabag."
355 action: 'Suprimir aqueste client'
356 client:
357 page_title: 'Desvlopador > Novèl client'
358 page_description: "Anatz crear un novèl client. Mercés de cumplir l'url de redireccion cap a vòstra aplicacion."
359 form:
360 redirect_uris_label: 'URLs de redireccion'
361 save_label: 'Crear un novèl client'
362 action_back: 'Retorn'
363 client_parameter:
364 page_title: 'Desvolopador > Los paramètres de vòstre client'
365 page_description: 'Vaquí los paramètres de vòstre client'
366 field_id: 'ID Client'
367 field_secret: 'Clau secreta'
368 back: 'Retour'
369 read_howto: 'Legir \"cossí crear ma primièra aplicacion\"'
370 howto:
371 page_title: 'Desvolopador > Cossí crear ma primièra aplicacion'
372 description:
373 paragraph_1: "Las comandas seguentas utilizan la <a href=\"https://github.com/jkbrzt/httpie\">libraria HTTPie</a>. Asseguratz-vos que siasqueòu installadas abans de l'utilizar."
374 paragraph_2: "Vos cal un geton per escambiar entre vòstra aplicacion e l'API de wallabar."
375 paragraph_3: 'Per crear un geton, vos cal crear <a href=\"%link%\">crear un novèl client</a>.'
376 paragraph_4: 'Ara creatz un geton (remplaçar client_id, client_secret, username e password amb las bonas valors) :'
377 paragraph_5: "L'API vos tornarà una responsa coma aquò :"
378 paragraph_6: "L'access_token deu èsser emplegat per far una requèsta a l'API. Per exemple :"
379 paragraph_7: "Aquesta requèsta tornarà totes los articles de l'utilizaire."
380 paragraph_8: "Se volètz totas las adreças d'accès de l'API, donatz un còp d’uèlh <a href=\"%link%\">a la documentacion de l'API</a>."
381 back: 'Retorn'
382
383validator:
384 password_must_match: 'Cal que los dos senhals siasquen los meteisses'
385 password_too_short: 'Lo senhal deu aver almens 8 caractèrs'
386 password_wrong_value: 'Vòstre senhal actual es pas bon'
387 item_per_page_too_high: "Aquò li agradarà pas a l'aplicacion"
388 rss_limit_too_hight: "Aquò li agradarà pas a l'aplicacion"
389
390flashes:
391 config:
392 notice:
393 config_saved: 'Los paramètres son ben estats meses a jorn. Certans seràn aplicats aprèp desconnexion.'
394 password_updated: 'Vòstre senhal es ben estat mes a jorn'
395 password_not_updated_demo: "En demostration, podètz pas cambiar lo senhal d'aqueste utilizaire."
396 user_updated: 'Vòstres informacions personnelas son ben estadas mesas a jorn'
397 rss_updated: 'La configuracion dels fluxes RSS es ben estada mesa a jorn'
398 tagging_rules_updated: 'Règlas misa a jorn'
399 tagging_rules_deleted: 'Règla suprimida'
400 user_added: 'Utilizaire "%username%" apondut'
401 rss_token_updated: 'Geton RSS mes a jorn'
402 entry:
403 notice:
404 entry_already_saved: 'Article ja salvargardat lo %date%'
405 entry_saved: 'Article enregistrat'
406 entry_updated: 'Article mes a jorn'
407 entry_reloaded: 'Article recargat'
408 entry_reload_failed: "Fracàs de l'actualizacion de l'article"
409 entry_archived: 'Article marcat coma legit'
410 entry_unarchived: 'Article marcat coma pas legit'
411 entry_starred: 'Article apondut dins los favorits'
412 entry_unstarred: 'Article quitat dels favorits'
413 entry_deleted: 'Article suprimit'
414 tag:
415 notice:
416 tag_added: 'Etiqueta aponduda'
417 import:
418 notice:
419 failed: "L'importacion a fracassat, mercés de tornar ensajar"
420 failed_on_file: "Errorr pendent du tractament de l'import. Mercés de verificar vòstre fichièr."
421 summary: "Rapòrt d'import: %imported% importats, %skipped% ja presents."
422 developer:
423 notice:
424 client_created: 'Novèl client creat'
425 client_deleted: 'Client suprimit'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
index 1ca3e6b0..fb26de89 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
@@ -137,7 +137,7 @@ entry:
137 page_titles: 137 page_titles:
138 unread: 'Nieprzeczytane wpisy' 138 unread: 'Nieprzeczytane wpisy'
139 starred: 'Wpisy oznaczone gwiazdką' 139 starred: 'Wpisy oznaczone gwiazdką'
140 archive: 'Zarchiwizowane wpisy' 140 archived: 'Zarchiwizowane wpisy'
141 filtered: 'Odfiltrowane wpisy' 141 filtered: 'Odfiltrowane wpisy'
142 list: 142 list:
143 number_on_the_page: '{0} Nie ma wpisów.|{1} Jest jeden wpis.|]1,Inf[ Są %count% wpisy.' 143 number_on_the_page: '{0} Nie ma wpisów.|{1} Jest jeden wpis.|]1,Inf[ Są %count% wpisy.'
@@ -338,6 +338,7 @@ developer:
338 documentation: 'Dokumentacja' 338 documentation: 'Dokumentacja'
339 how_to_first_app: 'Jak stworzyć moją pierwszą aplikację' 339 how_to_first_app: 'Jak stworzyć moją pierwszą aplikację'
340 full_documentation: 'Pokaż pełne API' 340 full_documentation: 'Pokaż pełne API'
341 # list_methods: 'List API methods'
341 clients: 342 clients:
342 title: 'Klienci' 343 title: 'Klienci'
343 create_new: 'Utwórz nowego klienta' 344 create_new: 'Utwórz nowego klienta'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
index af4470b2..bb817cb3 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
@@ -137,7 +137,7 @@ entry:
137 page_titles: 137 page_titles:
138 # unread: 'Unread entries' 138 # unread: 'Unread entries'
139 # starred: 'Starred entries' 139 # starred: 'Starred entries'
140 # archive: 'Archived entries' 140 # archived: 'Archived entries'
141 # filtered: 'Filtered entries' 141 # filtered: 'Filtered entries'
142 list: 142 list:
143 # number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.' 143 # number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
@@ -338,6 +338,7 @@ developer:
338 # documentation: 'Documentation' 338 # documentation: 'Documentation'
339 # how_to_first_app: 'How to create my first application' 339 # how_to_first_app: 'How to create my first application'
340 # full_documentation: 'View full API documentation' 340 # full_documentation: 'View full API documentation'
341 # list_methods: 'List API methods'
341 # clients: 342 # clients:
342 # title: 'Clients' 343 # title: 'Clients'
343 # create_new: 'Create a new client' 344 # create_new: 'Create a new client'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
index 5d859950..897cc2f4 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
@@ -137,7 +137,7 @@ entry:
137 page_titles: 137 page_titles:
138 # unread: 'Unread entries' 138 # unread: 'Unread entries'
139 # starred: 'Starred entries' 139 # starred: 'Starred entries'
140 # archive: 'Archived entries' 140 # archived: 'Archived entries'
141 # filtered: 'Filtered entries' 141 # filtered: 'Filtered entries'
142 list: 142 list:
143 number_on_the_page: '{0} Herhangi bir makale yok.|{1} Burada bir adet makale var.|]1,Inf[ Burada %count% adet makale var.' 143 number_on_the_page: '{0} Herhangi bir makale yok.|{1} Burada bir adet makale var.|]1,Inf[ Burada %count% adet makale var.'
@@ -338,6 +338,7 @@ developer:
338 # documentation: 'Documentation' 338 # documentation: 'Documentation'
339 # how_to_first_app: 'How to create my first application' 339 # how_to_first_app: 'How to create my first application'
340 # full_documentation: 'View full API documentation' 340 # full_documentation: 'View full API documentation'
341 # list_methods: 'List API methods'
341 # clients: 342 # clients:
342 # title: 'Clients' 343 # title: 'Clients'
343 # create_new: 'Create a new client' 344 # create_new: 'Create a new client'
diff --git a/src/Wallabag/CoreBundle/Resources/views/base.html.twig b/src/Wallabag/CoreBundle/Resources/views/base.html.twig
index dacdb9ca..f024b633 100644
--- a/src/Wallabag/CoreBundle/Resources/views/base.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/base.html.twig
@@ -70,10 +70,6 @@
70 70
71 {% block footer %}{% endblock %} 71 {% block footer %}{% endblock %}
72 72
73 <div id="warning_message">
74 You're trying wallabag v2, which is in beta version. If you find a bug, please have a look to <a href="https://github.com/wallabag/wallabag/issues">our issues list</a> and <a href="https://github.com/wallabag/wallabag/issues/new">open a new one if necessary</a>.
75 </div>
76
77 {% if craue_setting('piwik_enabled') %} 73 {% if craue_setting('piwik_enabled') %}
78 {{ piwik(craue_setting('piwik_host'), craue_setting('piwik_site_id')) }} 74 {{ piwik(craue_setting('piwik_host'), craue_setting('piwik_site_id')) }}
79 {% endif %} 75 {% endif %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
index 89e6e076..0798962c 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
@@ -49,7 +49,7 @@
49 49
50 <h2>{{ 'config.tab_menu.rss'|trans }}</h2> 50 <h2>{{ 'config.tab_menu.rss'|trans }}</h2>
51 51
52 {{ form_start(form.rss) }} 52 {{ form_start(form.rss) }}
53 {{ form_errors(form.rss) }} 53 {{ form_errors(form.rss) }}
54 54
55 <div class="row"> 55 <div class="row">
@@ -169,7 +169,7 @@
169 {{ form_rest(form.pwd) }} 169 {{ form_rest(form.pwd) }}
170 </form> 170 </form>
171 171
172 <h2>{{ 'config.tab_menu.rules'|trans }}}</h2> 172 <h2>{{ 'config.tab_menu.rules'|trans }}</h2>
173 173
174 <ul> 174 <ul>
175 {% for tagging_rule in app.user.config.taggingRules %} 175 {% for tagging_rule in app.user.config.taggingRules %}
@@ -183,7 +183,7 @@
183 {% endfor %} 183 {% endfor %}
184 </ul> 184 </ul>
185 185
186 {{ form_start(form.new_tagging_rule) }} 186 {{ form_start(form.new_tagging_rule) }}
187 {{ form_errors(form.new_tagging_rule) }} 187 {{ form_errors(form.new_tagging_rule) }}
188 188
189 <fieldset class="w500p inline"> 189 <fieldset class="w500p inline">
@@ -205,6 +205,91 @@
205 {{ form_rest(form.new_tagging_rule) }} 205 {{ form_rest(form.new_tagging_rule) }}
206 </form> 206 </form>
207 207
208 <div class="row">
209 <div class="input-field col s12">
210 <h3>{{ 'config.form_rules.faq.title'|trans }}</h3>
211
212 <h4>{{ 'config.form_rules.faq.tagging_rules_definition_title'|trans }}</h4>
213 <p class="help">{{ 'config.form_rules.faq.tagging_rules_definition_description'|trans|raw }}</p>
214
215 <h4>{{ 'config.form_rules.faq.how_to_use_them_title'|trans }}</h4>
216 <p class="help">{{ 'config.form_rules.faq.how_to_use_them_description'|trans|raw }}</p>
217
218 <h4>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h4>
219 <p class="help">
220 {{ 'config.form_rules.faq.variables_available_description'|trans }}
221 </p>
222
223 <table class="bordered">
224 <thead>
225 <tr>
226 <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
227 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
228 <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
229 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
230 </tr>
231 </thead>
232
233 <tbody>
234 <tr>
235 <td>title</td>
236 <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
237 <td>&lt;=</td>
238 <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
239 </tr>
240 <tr>
241 <td>url</td>
242 <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
243 <td>&lt;</td>
244 <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
245 </tr>
246 <tr>
247 <td>isArchived</td>
248 <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
249 <td>=&gt;</td>
250 <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
251 </tr>
252 <tr>
253 <td>isStarred</td>
254 <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
255 <td>&gt;</td>
256 <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
257 </tr>
258 <tr>
259 <td>content</td>
260 <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
261 <td>=</td>
262 <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
263 </tr>
264 <tr>
265 <td>language</td>
266 <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
267 <td>!=</td>
268 <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
269 </tr>
270 <tr>
271 <td>mimetype</td>
272 <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
273 <td>OR</td>
274 <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
275 </tr>
276 <tr>
277 <td>readingTime</td>
278 <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
279 <td>AND</td>
280 <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
281 </tr>
282 <tr>
283 <td>domainName</td>
284 <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
285 <td>matches</td>
286 <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
287 </tr>
288 </tbody>
289 </table>
290 </div>
291 </div>
292
208 {% if is_granted('ROLE_SUPER_ADMIN') %} 293 {% if is_granted('ROLE_SUPER_ADMIN') %}
209 <h2>{{ 'config.tab_menu.new_user'|trans }}</h2> 294 <h2>{{ 'config.tab_menu.new_user'|trans }}</h2>
210 295
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig
index e12779b7..7ff64ca6 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Developer/index.html.twig
@@ -14,7 +14,8 @@
14 14
15 <ul> 15 <ul>
16 <li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li> 16 <li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li>
17 <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.full_documentation'|trans }}</a></li> 17 <li><a href="http://doc.wallabag.org/en/v2-documentation-api/developer/api.html">{{ 'developer.full_documentation'|trans }}</a></li>
18 <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.list_methods'|trans }}</a></li>
18 </ul> 19 </ul>
19 20
20 <h4>{{ 'developer.clients.title'|trans }}</h4> 21 <h4>{{ 'developer.clients.title'|trans }}</h4>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
index f718043b..22f456da 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
@@ -23,19 +23,17 @@
23 {% for entry in entries %} 23 {% for entry in entries %}
24 <div id="entry-{{ entry.id|e }}" class="entry"> 24 <div id="entry-{{ entry.id|e }}" class="entry">
25 <h2><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></h2> 25 <h2><a href="{{ path('view', { 'id': entry.id }) }}">{{ entry.title|raw }}</a></h2>
26 {% if entry.readingTime > 0 %} 26
27 <div class="estimatedTime"> 27 {% set readingTime = entry.readingTime / app.user.config.readingSpeed %}
28 <div class="estimatedTime">
28 <span class="tool reading-time"> 29 <span class="tool reading-time">
29 {{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': entry.readingTime}) }} 30 {% if readingTime > 0 %}
30 </span> 31 {{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': readingTime|round}) }}
31 </div>
32 {% else %} 32 {% else %}
33 <div class="estimatedTime"> 33 {{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
34 <span class="tool reading-time">
35 {{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
36 </span>
37 </div>
38 {% endif %} 34 {% endif %}
35 </span>
36 </div>
39 37
40 <ul class="tools links"> 38 <ul class="tools links">
41 <li><a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool icon-check icon {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{{ 'entry.list.toogle_as_read'|trans }}</span></a></li> 39 <li><a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool icon-check icon {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{{ 'entry.list.toogle_as_read'|trans }}</span></a></li>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/about.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/about.html.twig
index 5c0046d1..5687e48c 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/about.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/about.html.twig
@@ -7,7 +7,7 @@
7 7
8 <dl> 8 <dl>
9 <dt>{{ 'about.who_behind_wallabag.developped_by'|trans }}</dt> 9 <dt>{{ 'about.who_behind_wallabag.developped_by'|trans }}</dt>
10 <dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd> 10 <dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://www.loeuillet.org">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd>
11 <dd>Thomas Citharel — <a href="https://tcit.fr">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd> 11 <dd>Thomas Citharel — <a href="https://tcit.fr">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd>
12 <dd>Jérémy Benoist — <a href="http://www.j0k3r.net">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd> 12 <dd>Jérémy Benoist — <a href="http://www.j0k3r.net">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd>
13 13
@@ -25,9 +25,8 @@
25 25
26 <dl> 26 <dl>
27 <dt>{{ 'about.getting_help.documentation'|trans }}</dt> 27 <dt>{{ 'about.getting_help.documentation'|trans }}</dt>
28 <dd><a href="https://doc.wallabag.org/en">english</a></dd> 28 <dd><a href="http://doc.wallabag.org/en/v2/">english</a></dd>
29 <dd><a href="https://doc.wallabag.org/fr">français</a></dd> 29 <dd><a href="http://doc.wallabag.org/fr/v2/">français</a></dd>
30 <dd><a href="https://doc.wallabag.org/de">deutsch</a></dd>
31 30
32 <dt>{{ 'about.getting_help.bug_reports'|trans }}</dt> 31 <dt>{{ 'about.getting_help.bug_reports'|trans }}</dt>
33 <dd>{{ 'about.getting_help.support'|trans|raw }}</dd> 32 <dd>{{ 'about.getting_help.support'|trans|raw }}</dd>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/howto.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/howto.html.twig
index 8da1afa0..eab092c7 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/howto.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Static/howto.html.twig
@@ -11,7 +11,7 @@
11 </ul> 11 </ul>
12 <h3>{{ 'howto.top_menu.browser_addons'|trans }}</h3> 12 <h3>{{ 'howto.top_menu.browser_addons'|trans }}</h3>
13 <ul> 13 <ul>
14 <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{{ 'howto.browser_addons.firefox'|trans }}</a></li> 14 <li><a href="https://addons.mozilla.org/firefox/addon/wallabag-v2/" target="_blank">{{ 'howto.browser_addons.firefox'|trans }}</a></li>
15 <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{{ 'howto.browser_addons.chrome'|trans }}</a></li> 15 <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{{ 'howto.browser_addons.chrome'|trans }}</a></li>
16 </ul> 16 </ul>
17 <h3>{{ 'howto.top_menu.mobile_apps'|trans }}</h3> 17 <h3>{{ 'howto.top_menu.mobile_apps'|trans }}</h3>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
index bac92ffa..2c15ad95 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
@@ -39,7 +39,7 @@
39 <li><a href="{{ path('all') }}">{{ 'menu.left.all_articles'|trans }}</a></li> 39 <li><a href="{{ path('all') }}">{{ 'menu.left.all_articles'|trans }}</a></li>
40 <li><a href="{{ path('tag') }}">{{ 'menu.left.tags'|trans }}</a></li> 40 <li><a href="{{ path('tag') }}">{{ 'menu.left.tags'|trans }}</a></li>
41 <li><a href="{{ path('new') }}">{{ 'menu.left.save_link'|trans }}</a></li> 41 <li><a href="{{ path('new') }}">{{ 'menu.left.save_link'|trans }}</a></li>
42 <li style="position: relative;"><a href="javascript: void(null);" id="search">{{ 'menu.left.search'|trans }}</a> 42 <!--<li style="position: relative;"><a href="javascript: void(null);" id="search">{{ 'menu.left.search'|trans }}</a>
43 <div id="search-form" class="messages info popup-form"> 43 <div id="search-form" class="messages info popup-form">
44 <form method="get" action="index.php"> 44 <form method="get" action="index.php">
45 <h2>{{ 'menu.left.search'|trans }}</h2> 45 <h2>{{ 'menu.left.search'|trans }}</h2>
@@ -49,7 +49,7 @@
49 <input id="submit-search" type="submit" value="{{ 'menu.left.search'|trans }}"> 49 <input id="submit-search" type="submit" value="{{ 'menu.left.search'|trans }}">
50 </form> 50 </form>
51 </div> 51 </div>
52 </li> 52 </li>-->
53 <li><a href="{{ path('config') }}">{{ 'menu.left.config'|trans }}</a></li> 53 <li><a href="{{ path('config') }}">{{ 'menu.left.config'|trans }}</a></li>
54 {% if is_granted('ROLE_SUPER_ADMIN') %} 54 {% if is_granted('ROLE_SUPER_ADMIN') %}
55 <li><a href="{{ path('craue_config_settings_modify') }}">{{ 'menu.left.internal_settings'|trans }}</a></li> 55 <li><a href="{{ path('craue_config_settings_modify') }}">{{ 'menu.left.internal_settings'|trans }}</a></li>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
index 3343a1d2..5b94f01c 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
@@ -250,75 +250,75 @@
250 <h5>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h5> 250 <h5>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h5>
251 <p class="help"> 251 <p class="help">
252 {{ 'config.form_rules.faq.variables_available_description'|trans }} 252 {{ 'config.form_rules.faq.variables_available_description'|trans }}
253
254 <table class="bordered">
255 <thead>
256 <tr>
257 <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
258 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
259 <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
260 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
261 </tr>
262 </thead>
263
264 <tbody>
265 <tr>
266 <td>title</td>
267 <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
268 <td>&lt;=</td>
269 <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
270 </tr>
271 <tr>
272 <td>url</td>
273 <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
274 <td>&lt;</td>
275 <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
276 </tr>
277 <tr>
278 <td>isArchived</td>
279 <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
280 <td>=&gt;</td>
281 <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
282 </tr>
283 <tr>
284 <td>isStarred</td>
285 <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
286 <td>&gt;</td>
287 <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
288 </tr>
289 <tr>
290 <td>content</td>
291 <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
292 <td>=</td>
293 <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
294 </tr>
295 <tr>
296 <td>language</td>
297 <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
298 <td>!=</td>
299 <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
300 </tr>
301 <tr>
302 <td>mimetype</td>
303 <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
304 <td>OR</td>
305 <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
306 </tr>
307 <tr>
308 <td>readingTime</td>
309 <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
310 <td>AND</td>
311 <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
312 </tr>
313 <tr>
314 <td>domainName</td>
315 <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
316 <td>matches</td>
317 <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
318 </tr>
319 </tbody>
320 </table>
321 </p> 253 </p>
254
255 <table class="bordered">
256 <thead>
257 <tr>
258 <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
259 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
260 <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
261 <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
262 </tr>
263 </thead>
264
265 <tbody>
266 <tr>
267 <td>title</td>
268 <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
269 <td>&lt;=</td>
270 <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
271 </tr>
272 <tr>
273 <td>url</td>
274 <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
275 <td>&lt;</td>
276 <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
277 </tr>
278 <tr>
279 <td>isArchived</td>
280 <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
281 <td>=&gt;</td>
282 <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
283 </tr>
284 <tr>
285 <td>isStarred</td>
286 <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
287 <td>&gt;</td>
288 <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
289 </tr>
290 <tr>
291 <td>content</td>
292 <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
293 <td>=</td>
294 <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
295 </tr>
296 <tr>
297 <td>language</td>
298 <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
299 <td>!=</td>
300 <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
301 </tr>
302 <tr>
303 <td>mimetype</td>
304 <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
305 <td>OR</td>
306 <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
307 </tr>
308 <tr>
309 <td>readingTime</td>
310 <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
311 <td>AND</td>
312 <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
313 </tr>
314 <tr>
315 <td>domainName</td>
316 <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
317 <td>matches</td>
318 <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
319 </tr>
320 </tbody>
321 </table>
322 </div> 322 </div>
323 </div> 323 </div>
324 </div> 324 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig
index e12779b7..7ff64ca6 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Developer/index.html.twig
@@ -14,7 +14,8 @@
14 14
15 <ul> 15 <ul>
16 <li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li> 16 <li><a href="{{ path('developer_howto_firstapp') }}">{{ 'developer.how_to_first_app'|trans }}</a></li>
17 <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.full_documentation'|trans }}</a></li> 17 <li><a href="http://doc.wallabag.org/en/v2-documentation-api/developer/api.html">{{ 'developer.full_documentation'|trans }}</a></li>
18 <li><a href="{{ path('nelmio_api_doc_index') }}">{{ 'developer.list_methods'|trans }}</a></li>
18 </ul> 19 </ul>
19 20
20 <h4>{{ 'developer.clients.title'|trans }}</h4> 21 <h4>{{ 'developer.clients.title'|trans }}</h4>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
index 433b1cae..8782d639 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
@@ -54,7 +54,7 @@
54 <span class="tool reading-time"> 54 <span class="tool reading-time">
55 {% set readingTime = entry.readingTime / app.user.config.readingSpeed %} 55 {% set readingTime = entry.readingTime / app.user.config.readingSpeed %}
56 {% if readingTime > 0 %} 56 {% if readingTime > 0 %}
57 {{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': readingTime}) }} 57 {{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': readingTime|round}) }}
58 {% else %} 58 {% else %}
59 {{ 'entry.list.reading_time_less_one_minute'|trans|raw }} 59 {{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
60 {% endif %} 60 {% endif %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
index 032d2d9b..66435699 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
@@ -192,14 +192,14 @@
192 {% endfor %} 192 {% endfor %}
193 </div> 193 </div>
194 194
195 {% if entry.previewPicture is not null %}
196 <div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|raw }}" /></div>
197 {% endif %}
198
199 <div class="input-field nav-panel-add-tag" style="display: none"> 195 <div class="input-field nav-panel-add-tag" style="display: none">
200 {{ render(controller( "WallabagCoreBundle:Tag:addTagForm", { 'id': entry.id } )) }} 196 {{ render(controller( "WallabagCoreBundle:Tag:addTagForm", { 'id': entry.id } )) }}
201 </div> 197 </div>
202 198
199 {% if entry.previewPicture is not null %}
200 <div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|raw }}" /></div>
201 {% endif %}
202
203 </aside> 203 </aside>
204 <article> 204 <article>
205 {{ entry.content | raw }} 205 {{ entry.content | raw }}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Static/about.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Static/about.html.twig
index a294b74d..4b1fdcce 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Static/about.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Static/about.html.twig
@@ -21,7 +21,7 @@
21 21
22 <div id="set1" class="col s12"> 22 <div id="set1" class="col s12">
23 <dt>{{ 'about.who_behind_wallabag.developped_by'|trans }}</dt> 23 <dt>{{ 'about.who_behind_wallabag.developped_by'|trans }}</dt>
24 <dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd> 24 <dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://www.loeuillet.org">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd>
25 <dd>Thomas Citharel — <a href="https://tcit.fr">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd> 25 <dd>Thomas Citharel — <a href="https://tcit.fr">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd>
26 <dd>Jérémy Benoist — <a href="http://www.j0k3r.net">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd> 26 <dd>Jérémy Benoist — <a href="http://www.j0k3r.net">{{ 'about.who_behind_wallabag.website'|trans }}</a></dd>
27 <dt>{{ 'about.who_behind_wallabag.many_contributors'|trans|raw }}</dt> 27 <dt>{{ 'about.who_behind_wallabag.many_contributors'|trans|raw }}</dt>
@@ -34,9 +34,8 @@
34 <div id="set2" class="col s12"> 34 <div id="set2" class="col s12">
35 <dl> 35 <dl>
36 <dt>{{ 'about.getting_help.documentation'|trans }}</dt> 36 <dt>{{ 'about.getting_help.documentation'|trans }}</dt>
37 <dd><a href="https://doc.wallabag.org/en">english</a></dd> 37 <dd><a href="http://doc.wallabag.org/en/v2/">english</a></dd>
38 <dd><a href="https://doc.wallabag.org/fr">français</a></dd> 38 <dd><a href="http://doc.wallabag.org/fr/v2/">français</a></dd>
39 <dd><a href="https://doc.wallabag.org/de">deutsch</a></dd>
40 39
41 <dt>{{ 'about.getting_help.bug_reports'|trans }}</dt> 40 <dt>{{ 'about.getting_help.bug_reports'|trans }}</dt>
42 <dd>{{ 'about.getting_help.support'|trans|raw }}</dd> 41 <dd>{{ 'about.getting_help.support'|trans|raw }}</dd>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Static/howto.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Static/howto.html.twig
index 15b548d8..4354a6b7 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Static/howto.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Static/howto.html.twig
@@ -18,7 +18,7 @@
18 <div class="col s12"> 18 <div class="col s12">
19 <h5>{{ 'howto.top_menu.browser_addons'|trans }}</h5> 19 <h5>{{ 'howto.top_menu.browser_addons'|trans }}</h5>
20 <ul> 20 <ul>
21 <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{{ 'howto.browser_addons.firefox'|trans }}</a></li> 21 <li><a href="https://addons.mozilla.org/firefox/addon/wallabag-v2/" target="_blank">{{ 'howto.browser_addons.firefox'|trans }}</a></li>
22 <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{{ 'howto.browser_addons.chrome'|trans }}</a></li> 22 <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{{ 'howto.browser_addons.chrome'|trans }}</a></li>
23 </ul> 23 </ul>
24 </div> 24 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
index 48eaca81..75170f91 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
@@ -88,11 +88,11 @@
88 <i class="mdi-content-add"></i> 88 <i class="mdi-content-add"></i>
89 </a> 89 </a>
90 </li> 90 </li>
91 <li> 91 <!--<li>
92 <a title="{{ 'menu.top.search'|trans }}" class="waves-effect" href="javascript: void(null);" id="nav-btn-search"> 92 <a title="{{ 'menu.top.search'|trans }}" class="waves-effect" href="javascript: void(null);" id="nav-btn-search">
93 <i class="mdi-action-search"></i> 93 <i class="mdi-action-search"></i>
94 </a> 94 </a>
95 </li> 95 </li>-->
96 <li id="button_filters"> 96 <li id="button_filters">
97 <a title="{{ 'menu.top.filter_entries'|trans }}" href="#" data-activates="filters" class="nav-panel-menu button-collapse-right"> 97 <a title="{{ 'menu.top.filter_entries'|trans }}" href="#" data-activates="filters" class="nav-panel-menu button-collapse-right">
98 <i class="mdi-content-filter-list"></i> 98 <i class="mdi-content-filter-list"></i>