aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.travis.yml1
-rw-r--r--CHANGELOG.md21
-rw-r--r--README.md2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml28
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml8
-rw-r--r--app/config/config.yml2
-rw-r--r--composer.json2
-rw-r--r--docs/de/developer/api.rst7
-rw-r--r--docs/de/index.rst1
-rw-r--r--docs/de/user/configuration.rst4
-rw-r--r--docs/de/user/configuring_mobile.rst12
-rw-r--r--docs/de/user/installation.rst6
-rw-r--r--docs/en/developer/api.rst7
-rw-r--r--docs/en/developer/paywall.rst15
-rw-r--r--docs/en/index.rst1
-rw-r--r--docs/en/user/configuration.rst4
-rw-r--r--docs/en/user/configuring_mobile.rst14
-rw-r--r--docs/en/user/first_article.rst66
-rw-r--r--docs/en/user/installation.rst23
-rw-r--r--docs/en/user/share.rst17
-rw-r--r--docs/fr/developer/api.rst5
-rw-r--r--docs/fr/developer/paywall.rst15
-rw-r--r--docs/fr/index.rst1
-rw-r--r--docs/fr/user/configuration.rst4
-rw-r--r--docs/fr/user/configuring_mobile.rst12
-rw-r--r--docs/fr/user/installation.rst24
-rw-r--r--docs/it/conf.py55
-rw-r--r--docs/it/developer/api.rst269
-rw-r--r--docs/it/developer/asynchronous.rst162
-rw-r--r--docs/it/developer/docker.rst41
-rw-r--r--docs/it/developer/documentation.rst12
-rw-r--r--docs/it/developer/paywall.rst52
-rw-r--r--docs/it/developer/testsuite.rst6
-rw-r--r--docs/it/developer/translate.rst55
-rw-r--r--docs/it/index.rst53
-rw-r--r--docs/it/requirements.txt2
-rw-r--r--docs/it/user/android.rst107
-rw-r--r--docs/it/user/articles.rst115
-rw-r--r--docs/it/user/backup.rst30
-rw-r--r--docs/it/user/configuration.rst103
-rw-r--r--docs/it/user/configuring_mobile.rst12
-rw-r--r--docs/it/user/create_account.rst38
-rw-r--r--docs/it/user/errors_during_fetching.rst37
-rw-r--r--docs/it/user/faq.rst53
-rw-r--r--docs/it/user/filters.rst45
-rw-r--r--docs/it/user/import.rst115
-rw-r--r--docs/it/user/installation.rst339
-rw-r--r--docs/it/user/parameters.rst93
-rw-r--r--docs/it/user/upgrade.rst102
-rw-r--r--scripts/release.sh1
-rw-r--r--src/Wallabag/CoreBundle/Helper/HttpClientFactory.php10
-rw-r--r--src/Wallabag/CoreBundle/Repository/EntryRepository.php3
-rw-r--r--src/Wallabag/CoreBundle/Resources/config/services.yml1
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.es.yml532
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.it.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/base.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_full_image.html.twig4
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_no_preview.html.twig4
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_preview.html.twig8
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig20
-rw-r--r--src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php3
-rw-r--r--src/Wallabag/UserBundle/Resources/translations/wallabag_user.es.yml11
-rw-r--r--tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php24
-rw-r--r--tests/Wallabag/ImportBundle/Consumer/AMQPEntryConsumerTest.php4
-rw-r--r--tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php2
66 files changed, 2410 insertions, 421 deletions
diff --git a/.travis.yml b/.travis.yml
index 1603ea9b..77872f49 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -43,7 +43,6 @@ matrix:
43 - php: 7.0 43 - php: 7.0
44 env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite 44 env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite
45 allow_failures: 45 allow_failures:
46 - php: 7.1
47 - php: nightly 46 - php: nightly
48 47
49# exclude v1 branches 48# exclude v1 branches
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a87f1d82..c5096fdf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,26 @@
1## Changelog 1## Changelog
2 2
3### 2.2.2 2017/03/02
4
5- [#2950](https://github.com/wallabag/wallabag/pull/2950) Fixed symlinks issue during release creation (@nicosomb)
6- [#2832](https://github.com/wallabag/wallabag/pull/2832) Search by term: extend to entries url (@Kdecherf)
7- [#2830](https://github.com/wallabag/wallabag/pull/2830) Fixed rendering of entry title in Twig views (@Kdecherf)
8- [#2892](https://github.com/wallabag/wallabag/pull/2892) Updated spanish translation (@ngosang)
9- [#2915](https://github.com/wallabag/wallabag/pull/2915) Import: we now skip messages when user is null (@nicosomb)
10- [#2905](https://github.com/wallabag/wallabag/pull/2905) Alert that 2FA must be authorized in app/config/parameters.yml (@nicofrand)
11- [#2832](https://github.com/wallabag/wallabag/pull/2832) Search by term: extend to entries url (@Kdecherf)
12- [#2878](https://github.com/wallabag/wallabag/pull/2878) Added italian documentation (@matteocoder)
13- [#2860](https://github.com/wallabag/wallabag/pull/2860) Documentation: update java wrapper, add cmd tool to add article (@Strubbl)
14- [#2874](https://github.com/wallabag/wallabag/pull/2874) Added informations about Apache 2.4 (@kgaut)
15- [#2869](https://github.com/wallabag/wallabag/pull/2869) Added log for restricted access value (@j0k3r)
16- [#2846](https://github.com/wallabag/wallabag/pull/2846) Fixed misspells in polish translation (@mruminski)
17- [#2842](https://github.com/wallabag/wallabag/pull/2842) Update RulerZ (@K-Phoen)
18- [#2841](https://github.com/wallabag/wallabag/pull/2841) Show active list in the left menu during search (@Kdecherf)
19- [#2788](https://github.com/wallabag/wallabag/pull/2788) Documentation on how to configure mobile apps to work with wallabag (@Zettt)
20- [#2839](https://github.com/wallabag/wallabag/pull/2839) Fixed `composer.phar: not found` in update script (@foxmask)
21- [#2818](https://github.com/wallabag/wallabag/pull/2818) Fix nav-panel-search height (@Kdecherf)
22- [#2824](https://github.com/wallabag/wallabag/pull/2824) Renamed Developer section to API client management (@nicosomb)
23
3### 2.2.1 2017/01/31 24### 2.2.1 2017/01/31
4 25
5- [#2809](https://github.com/wallabag/wallabag/pull/2809) Fixed duplicate entry for share_public in craue_setting_table and added documentation about migration (@nicosomb) 26- [#2809](https://github.com/wallabag/wallabag/pull/2809) Fixed duplicate entry for share_public in craue_setting_table and added documentation about migration (@nicosomb)
diff --git a/README.md b/README.md
index f96e2b8c..1b20e5d1 100644
--- a/README.md
+++ b/README.md
@@ -8,6 +8,8 @@ Click, save and read it when you can. It extracts content so that you can read i
8 8
9More information on our website: [wallabag.org](https://wallabag.org). 9More information on our website: [wallabag.org](https://wallabag.org).
10 10
11If you do not have your own server, consider [the wallabag.it hosting solution](https://wallabag.it).
12
11![wallabag logo](https://raw.githubusercontent.com/wallabag/logo/master/_default/typo-horizontal/png/sm/logo-typo-horizontal-black-no-bg-no-border-sm.png) 13![wallabag logo](https://raw.githubusercontent.com/wallabag/logo/master/_default/typo-horizontal/png/sm/logo-typo-horizontal-black-no-bg-no-border-sm.png)
12 14
13# Install wallabag 15# Install wallabag
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml
index dbec0e81..c338836d 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml
@@ -1,7 +1,7 @@
1# settings_changed: Configuration updated 1settings_changed: Configuración actualizada
2download_pictures: Descargar imágenes 2download_pictures: Descargar imágenes en el servidor
3carrot: Activar compartir con Carrot 3carrot: Activar compartir con Carrot
4diaspora_url: Diaspora URL, si el servicio está activado 4diaspora_url: URL de Diaspora, si el servicio está activado
5export_epub: Activar exportación a ePub 5export_epub: Activar exportación a ePub
6export_mobi: Activar exportación a .mobi 6export_mobi: Activar exportación a .mobi
7export_pdf: Activar exportación a PDF 7export_pdf: Activar exportación a PDF
@@ -9,11 +9,11 @@ export_csv: Activar exportación a CSV
9export_json: Activar exportación a JSON 9export_json: Activar exportación a JSON
10export_txt: Activar exportación a TXT 10export_txt: Activar exportación a TXT
11export_xml: Activar exportación a XML 11export_xml: Activar exportación a XML
12# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously 12import_with_rabbitmq: Activar RabbitMQ para importar datos de forma asíncrona
13# import_with_redis: Enable Redis to import data asynchronously 13import_with_redis: Activar Redis para importar datos de forma asíncrona
14shaarli_url: Shaarli URL, si el servicio está activado 14shaarli_url: URL de Shaarli, si el servicio está activado
15share_diaspora: Activar compartir con Diaspora 15share_diaspora: Activar compartir con Diaspora
16share_mail: Activar compartir con email 16share_mail: Activar compartir con Email
17share_shaarli: Activar compartir con Shaarli 17share_shaarli: Activar compartir con Shaarli
18share_twitter: Activar compartir con Twitter 18share_twitter: Activar compartir con Twitter
19share_unmark: Activar compartir con Unmark.it 19share_unmark: Activar compartir con Unmark.it
@@ -24,12 +24,12 @@ entry: "artículo"
24export: "exportar" 24export: "exportar"
25import: "importar" 25import: "importar"
26misc: "misc" 26misc: "misc"
27modify_settings: "modificar configuración" 27modify_settings: "guardar"
28piwik_host: Host de tu website de Piwik (sin http:// o https://) 28piwik_host: Host de tu website en Piwik (sin http:// o https://)
29piwik_site_id: ID de tu website de Piwik 29piwik_site_id: ID de tu website en Piwik
30piwik_enabled: Activar Piwik 30piwik_enabled: Activar Piwik
31demo_mode_enabled: "Activar modo demo (sólo usado para la demo de wallabag)" 31demo_mode_enabled: "Activar modo demo (sólo usado en la demo pública de wallabag)"
32demo_mode_username: "Nombre de usuario demo" 32demo_mode_username: "Nombre de usuario demo"
33# share_public: Allow public url for entries 33share_public: Permitir URL pública para los artículos
34# download_images_enabled: Download images locally 34download_images_enabled: Descargar imágenes localmente
35# restricted_access: Enable authentication for websites with paywall 35restricted_access: Activar autenticación para websites con paywall
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml
index 744031e8..1203e159 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml
@@ -1,4 +1,4 @@
1# settings_changed: Configuration updated 1settings_changed: Konfiguracja zaktualizowana
2download_pictures: Pobierz obrazy na swój serwer 2download_pictures: Pobierz obrazy na swój serwer
3carrot: Włącz udostępnianie dla Carrot 3carrot: Włącz udostępnianie dla Carrot
4diaspora_url: Adres URL Diaspora, jeżeli usługa jest włączona 4diaspora_url: Adres URL Diaspora, jeżeli usługa jest włączona
@@ -24,12 +24,12 @@ entry: "artykuł"
24export: "eksport" 24export: "eksport"
25import: "import" 25import: "import"
26misc: "różne" 26misc: "różne"
27modify_settings: "zatwierdz" 27modify_settings: "zatwierdź"
28piwik_host: Host twojej strony Piwik (bez http:// lub https://) 28piwik_host: Host twojej strony Piwik (bez http:// lub https://)
29piwik_site_id: ID twojej strony Piwik 29piwik_site_id: ID twojej strony Piwik
30piwik_enabled: WÅ‚acz Piwik 30piwik_enabled: WÅ‚acz Piwik
31demo_mode_enabled: "Włacz tryb demo? (używany wyłącznie dla publicznej demonstracji Wallabag)" 31demo_mode_enabled: "Włacz tryb demo? (używany wyłącznie dla publicznej demonstracji Wallabag)"
32demo_mode_username: "Użytkownik Demonstracyjny" 32demo_mode_username: "Użytkownik Demonstracyjny"
33share_public: Zezwalaj na publiczny adres url dla wpisow 33share_public: Zezwalaj na publiczny adres url dla wpisow
34# download_images_enabled: Download images locally 34download_images_enabled: Pobierz obrazy lokalnie
35# restricted_access: Enable authentication for websites with paywall 35restricted_access: WÅ‚Ä…cz autoryzacjÄ™ dla stron z paywallem
diff --git a/app/config/config.yml b/app/config/config.yml
index 4e802c98..d7231112 100644
--- a/app/config/config.yml
+++ b/app/config/config.yml
@@ -30,7 +30,7 @@ framework:
30 assets: ~ 30 assets: ~
31 31
32wallabag_core: 32wallabag_core:
33 version: 2.2.1 33 version: 2.2.2
34 paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb" 34 paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
35 languages: 35 languages:
36 en: 'English' 36 en: 'English'
diff --git a/composer.json b/composer.json
index 55bd179a..ed0e30c1 100644
--- a/composer.json
+++ b/composer.json
@@ -58,7 +58,7 @@
58 "jms/serializer-bundle": "~1.1", 58 "jms/serializer-bundle": "~1.1",
59 "nelmio/api-doc-bundle": "~2.7", 59 "nelmio/api-doc-bundle": "~2.7",
60 "mgargano/simplehtmldom": "~1.5", 60 "mgargano/simplehtmldom": "~1.5",
61 "tecnickcom/tc-lib-pdf": "dev-master", 61 "wallabag/tcpdf": "^6.2",
62 "simplepie/simplepie": "~1.3.1", 62 "simplepie/simplepie": "~1.3.1",
63 "willdurand/hateoas-bundle": "~1.0", 63 "willdurand/hateoas-bundle": "~1.0",
64 "htmlawed/htmlawed": "~1.1.19", 64 "htmlawed/htmlawed": "~1.1.19",
diff --git a/docs/de/developer/api.rst b/docs/de/developer/api.rst
index 9d230e31..7a18afde 100644
--- a/docs/de/developer/api.rst
+++ b/docs/de/developer/api.rst
@@ -254,7 +254,7 @@ cURL Beispiel:
254Andere Methoden 254Andere Methoden
255--------------- 255---------------
256 256
257Wir werden nicht für jede API Methode Beispiele schreiben. 257Wir werden nicht für jede API Methode Beispiele schreiben.
258 258
259Wirf einen Blick in die Liste http://localhost:8000/api/doc, um alle Methode kennenzulernen. 259Wirf einen Blick in die Liste http://localhost:8000/api/doc, um alle Methode kennenzulernen.
260 260
@@ -264,8 +264,9 @@ Drittanbieter Ressourcen
264 264
265Einige Applikationen oder Bibliotheken nutzen unsere API. Hier ist eine nicht abschließende Aufzählung von ihnen: 265Einige Applikationen oder Bibliotheken nutzen unsere API. Hier ist eine nicht abschließende Aufzählung von ihnen:
266 266
267- `Java wrapper for the wallabag API <https://github.com/Strubbl/jWallabag>`_ von Strubbl. 267- `Java wrapper for the wallabag API <https://github.com/di72nn/wallabag-api-wrapper>`_ von Dmitriy Bogdanov.
268- `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ von Julian Oster. 268- `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ von Julian Oster.
269- `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ von FoxMaSk, für sein Projekt `Trigger Happy <https://blog.trigger-happy.eu/>`_. 269- `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ von FoxMaSk, für sein Projekt `Trigger Happy <https://blog.trigger-happy.eu/>`_.
270- `A plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ entworfen für `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_, das die wallabag v2 API nutzt. Von Josh Panter. 270- `A plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ entworfen für `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_, das die wallabag v2 API nutzt. Von Josh Panter.
271- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ von Strubbl, für sein Projekt `wallabag-stats Graph <https://github.com/Strubbl/wallabag-stats>`_. 271- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ von Strubbl, für seine Projekte `wallabag-stats Graph <https://github.com/Strubbl/wallabag-stats>`_ und das Kommandozeilentool `wallabag-add-article <https://github.com/Strubbl/wallabag-add-article>`_.
272- Tool, um automatisiert wallabag Artikel auf den lokalen PC oder ebook reader zu laden `wallabako <https://gitlab.com/anarcat/wallabako>`_ von anarcat.
diff --git a/docs/de/index.rst b/docs/de/index.rst
index 1c3e4873..6e725fbe 100644
--- a/docs/de/index.rst
+++ b/docs/de/index.rst
@@ -33,6 +33,7 @@ Die Dokumentation ist in anderen Sprachen verfügbar :
33 user/errors_during_fetching 33 user/errors_during_fetching
34 user/filters 34 user/filters
35 user/tags 35 user/tags
36 user/configuring_mobile
36 user/android 37 user/android
37 user/parameters 38 user/parameters
38 user/backup 39 user/backup
diff --git a/docs/de/user/configuration.rst b/docs/de/user/configuration.rst
index 47c60f4c..c0c04bde 100644
--- a/docs/de/user/configuration.rst
+++ b/docs/de/user/configuration.rst
@@ -66,7 +66,9 @@ Zwei-Faktor-Authentifizierung (2FA)
66 Die Zwei-Faktor-Authentifizierung (2FA) dient dem Identitätsnachweis eines Nutzers mittels der 66 Die Zwei-Faktor-Authentifizierung (2FA) dient dem Identitätsnachweis eines Nutzers mittels der
67 Kombination zweier verschiedener und insbesondere unabhängiger Komponenten (Faktoren). 67 Kombination zweier verschiedener und insbesondere unabhängiger Komponenten (Faktoren).
68 68
69https://de.wikipedia.org/wiki/Zwei-Faktor-Authentifizierung 69 https://de.wikipedia.org/wiki/Zwei-Faktor-Authentifizierung
70
71**Warnung:** Das Aktivieren von 2FA über das Konfigurations-Interface ist nur möglich, wenn vorher in der `app/config/parameters.yml` die `twofactor_auth`-Eigenschaft auf `true` gesetzt wurde (nach der Konfiguration das Leeren des Cache mit `php bin/console cache:clear -e=prod` nicht vergessen).
70 72
71Wenn du 2FA aktivierst, erhälst du jedes Mal, wenn du dich bei wallabag einloggen willst, einen Code per 73Wenn du 2FA aktivierst, erhälst du jedes Mal, wenn du dich bei wallabag einloggen willst, einen Code per
72Mail. Du musst den Code in das folgende Formular eingeben. 74Mail. Du musst den Code in das folgende Formular eingeben.
diff --git a/docs/de/user/configuring_mobile.rst b/docs/de/user/configuring_mobile.rst
new file mode 100644
index 00000000..c80320c9
--- /dev/null
+++ b/docs/de/user/configuring_mobile.rst
@@ -0,0 +1,12 @@
1Konfiguration mobiler Apps für wallabag
2=======================================
3
4Schritte zum Konfigurieren der App
5----------------------------------
6
7- Als Erstes erstellst du einen *neuen Client* in dem Abschnitt ``API Client Management``. Der Name deiner App ist dabei nicht so wichtig wie die ``Client-ID`` und das ``Client-Secret``. Schreib diese zwei Werte auf.
8- Wenn du eine mobile App herunterlädst, wird sie dich nach der Server-Adresse deiner wallabag-Instanz fragen. Zum Beispiel ist es ``https://app.wallabag.it`` bei wallabag.it.
9- Sie wird dich auch nach den zuvor genannten ``Client-ID`` und ``Client-Secret`` fragen. Bitte trage diese in die Textfelder ein, wenn du danach gefragt wirst.
10- Zuletzt musst du deinen ``Benutzernamen`` und ``Passwort`` bereitstellen. Diese Zugangsdaten sind die gleichen, die du zum Login bei wallabag nutzt.
11
12Bitte schaue auch auf die `Android <android.html>`_ Seite und dort insbesondere den Abschnitt *Bekannte Limitierungen*.
diff --git a/docs/de/user/installation.rst b/docs/de/user/installation.rst
index 1b7f0dee..8393455a 100644
--- a/docs/de/user/installation.rst
+++ b/docs/de/user/installation.rst
@@ -111,6 +111,12 @@ Virtualhosts
111Konfiguration von Apache 111Konfiguration von Apache
112~~~~~~~~~~~~~~~~~~~~~~~~ 112~~~~~~~~~~~~~~~~~~~~~~~~
113 113
114Vergiss nicht, die *rewrite* mod von Apache zu aktivieren.
115
116.. code-block:: bash
117
118 a2enmod rewrite && systemctl reload apache2
119
114Angenommen du willst wallabag in das Verzeichnis ``/var/www/wallabag`` installieren und du willst PHP als Apache Modul nutzen, dann ist hier ein vhost für wallabag: 120Angenommen du willst wallabag in das Verzeichnis ``/var/www/wallabag`` installieren und du willst PHP als Apache Modul nutzen, dann ist hier ein vhost für wallabag:
115 121
116:: 122::
diff --git a/docs/en/developer/api.rst b/docs/en/developer/api.rst
index b6c9ed3f..80c96025 100644
--- a/docs/en/developer/api.rst
+++ b/docs/en/developer/api.rst
@@ -8,7 +8,7 @@ Requirements
8 8
9* wallabag freshly (or not) installed on http://localhost:8000 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. 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 (on your instance) and `on our example instance <http://v2.wallabag.org/api/doc>`_ 11* all the API methods are documented here http://localhost:8000/api/doc (on your instance) and `on our example instance <http://v2.wallabag.org/api/doc>`_
12 12
13Creating a new API client 13Creating a new API client
14------------------------- 14-------------------------
@@ -263,8 +263,9 @@ Third party resources
263 263
264Some applications or libraries use our API. Here is a non-exhaustive list of them: 264Some applications or libraries use our API. Here is a non-exhaustive list of them:
265 265
266- `Java wrapper for the wallabag API <https://github.com/Strubbl/jWallabag>`_ by Strubbl. 266- `Java wrapper for the wallabag API <https://github.com/di72nn/wallabag-api-wrapper>`_ by Dmitriy Bogdanov.
267- `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ by Julian Oster. 267- `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ by Julian Oster.
268- `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ by FoxMaSk, for his project `Trigger Happy <https://blog.trigger-happy.eu/>`_. 268- `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ by FoxMaSk, for his project `Trigger Happy <https://blog.trigger-happy.eu/>`_.
269- `A plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ designed for `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_ that makes use of the wallabag v2 API. By Josh Panter. 269- `A plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ designed for `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_ that makes use of the wallabag v2 API. By Josh Panter.
270- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ by Strubbl, for his project `wallabag-stats graph <https://github.com/Strubbl/wallabag-stats>`_. 270- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ by Strubbl, for his projects `wallabag-stats graph <https://github.com/Strubbl/wallabag-stats>`_ and the command line tool `wallabag-add-article <https://github.com/Strubbl/wallabag-add-article>`_.
271- Tool to automatically download Wallabag articles into your local computer or Kobo ebook reader `wallabako <https://gitlab.com/anarcat/wallabako>`_ by anarcat.
diff --git a/docs/en/developer/paywall.rst b/docs/en/developer/paywall.rst
index 365027b4..153afa6f 100644
--- a/docs/en/developer/paywall.rst
+++ b/docs/en/developer/paywall.rst
@@ -6,12 +6,16 @@ wallabag can fetch articles from websites which use a paywall system.
6Enable paywall authentication 6Enable paywall authentication
7----------------------------- 7-----------------------------
8 8
9In internal settings, in the **Article** section, enable authentication for websites with paywall (with the value 1). 9In internal settings, as a wallabag administrator, in the **Article** section, enable authentication for websites with paywall (with the value 1).
10 10
11Configure credentials in wallabag 11Configure credentials in wallabag
12--------------------------------- 12---------------------------------
13 13
14Edit your ``app/config/parameters.yml`` file to edit credentials for each website with paywall. Here is an example for some french websites: 14Edit your ``app/config/parameters.yml`` file to edit credentials for each website with paywall. For example, under Ubuntu:
15
16``sudo -u www-data nano /var/www/html/wallabag/app/config/parameters.yml``
17
18Here is an example for some french websites (be careful: don't use the "tab" key, only spaces):
15 19
16.. code:: yaml 20.. code:: yaml
17 21
@@ -28,7 +32,7 @@ Parsing configuration files
28 32
29.. note:: 33.. note::
30 34
31 Read `this part of the documentation <http://doc.wallabag.org/en/master/user/errors_during_fetching.html>`_ to understand the configuration files. 35 Read `this part of the documentation <http://doc.wallabag.org/en/master/user/errors_during_fetching.html>`_ to understand the configuration files, which are located under ``vendor/j0k3r/graby-site-config/``. For most of the websites, this file is already configured: the following instructions are only for the websites that are not configured yet.
32 36
33Each parsing configuration file needs to be improved by adding ``requires_login``, ``login_uri``, 37Each parsing configuration file needs to be improved by adding ``requires_login``, ``login_uri``,
34``login_username_field``, ``login_password_field`` and ``not_logged_in_xpath``. 38``login_username_field``, ``login_password_field`` and ``not_logged_in_xpath``.
@@ -54,3 +58,8 @@ For example:
54 login_password_field: password 58 login_password_field: password
55 59
56 not_logged_in_xpath: //body[@class="not-logged-in"] 60 not_logged_in_xpath: //body[@class="not-logged-in"]
61
62Last step: clear the cache
63--------------------------
64
65It's necessary to clear the wallabag cache with the following command (here under Ubuntu): ``sudo -u www-data php /var/www/html/wallabag/bin/console cache:clear -e=prod``
diff --git a/docs/en/index.rst b/docs/en/index.rst
index 2e20aee6..89f61d6d 100644
--- a/docs/en/index.rst
+++ b/docs/en/index.rst
@@ -33,6 +33,7 @@ The documentation is available in other languages:
33 user/errors_during_fetching 33 user/errors_during_fetching
34 user/filters 34 user/filters
35 user/tags 35 user/tags
36 user/configuring_mobile
36 user/android 37 user/android
37 user/parameters 38 user/parameters
38 user/backup 39 user/backup
diff --git a/docs/en/user/configuration.rst b/docs/en/user/configuration.rst
index caca834f..bba12cb9 100644
--- a/docs/en/user/configuration.rst
+++ b/docs/en/user/configuration.rst
@@ -68,7 +68,9 @@ Two factor authentication (2FA)
68 Two-factor authentication (also known as 2FA) is a technology patented in 1984 68 Two-factor authentication (also known as 2FA) is a technology patented in 1984
69 that provides identification of users by means of the combination of two different components. 69 that provides identification of users by means of the combination of two different components.
70 70
71https://en.wikipedia.org/wiki/Two-factor_authentication 71 https://en.wikipedia.org/wiki/Two-factor_authentication
72
73**Warning**: enabling 2FA from the configuration interface is only possible if it has been authorized before in `app/config/parameters.yml` by setting the *twofactor_auth* property to `true` (do not forget to run `php bin/console cache:clear -e=prod` after modification).
72 74
73If you enable 2FA, each time you want to login to wallabag, you'll receive 75If you enable 2FA, each time you want to login to wallabag, you'll receive
74a code by email. You have to put this code on the following form. 76a code by email. You have to put this code on the following form.
diff --git a/docs/en/user/configuring_mobile.rst b/docs/en/user/configuring_mobile.rst
index 2bcf3bcb..7229aed6 100644
--- a/docs/en/user/configuring_mobile.rst
+++ b/docs/en/user/configuring_mobile.rst
@@ -1,13 +1,13 @@
1Configuring Mobile Apps to Work With wallabag.it 1Configuring mobile apps to work with wallabag
2================================================ 2=============================================
3 3
4Steps to configure the app 4Steps to configure the app
5--------------------------- 5--------------------------
6 6
7- First *create a new client* in the ``Developer`` section. The name of your app doesn't matter as much as the ``Client ID`` and the ``Client secret``. Write these two values down. 7- First *create a new client* in the ``API clients management`` section. The name of your app doesn't matter as much as the ``Client ID`` and the ``Client secret``. Write these two values down.
8- When you download a mobile app, it's going to ask for the server address of the hosted wallabag instance. With wallabag.it that is: ``https://app.wallabag.it``. 8- When you download a mobile app, it's going to ask for the server address of the hosted wallabag instance. For example, with wallabag.it that is: ``https://app.wallabag.it``.
9- It's also going to ask for the aforementioned ``Client ID`` and ``secret``. Please insert those in the text fields, when asked. 9- It's also going to ask for the aforementioned ``Client ID`` and ``secret``. Please insert those in the text fields, when asked.
10- Lastly you need to provide your ``username`` and ``password``. These are the same credentials you use to login in to wallabag.it. 10- Lastly you need to provide your ``username`` and ``password``. These are the same credentials you use to login in to wallabag.
11 11
12Please also have a look at `Android <android>`_. Especially the section on *known limitations*. 12Please also have a look at `Android <android.html>`_ page. Especially the section on *known limitations*.
13 13
diff --git a/docs/en/user/first_article.rst b/docs/en/user/first_article.rst
deleted file mode 100644
index 1400e1e8..00000000
--- a/docs/en/user/first_article.rst
+++ /dev/null
@@ -1,66 +0,0 @@
1Save your first article
2=======================
3
4The main purpose of wallabag is to save web articles. You have many ways to do it.
5
6.. note::
7
8 A quickstart will be displayed in the application until you save your first article.
9
10By using a bookmarklet
11----------------------
12
13On the ``Howto`` page, you have a ``Bookmarklet`` tab. Drag and drop the ``bag it!``
14link to your bookmarks bar of your browser.
15
16Now, each time you're reading an article on the web and you want to save it,
17click on the ``bag it!`` link in your bookmarks bar. The article is saved.
18
19By using the classic form
20-------------------------
21
22In the top bar of your screen, you have 3 icons. With the first one, a plus sign,
23you can easily save a new article.
24
25.. image:: ../../img/user/topbar.png
26 :alt: Top bar
27 :align: center
28
29Click on it to display a new field, paste the article URL inside and press your
30``Return`` key. The article is saved.
31
32By using a browser add-on
33-------------------------
34
35Firefox
36~~~~~~~
37
38*This addon is not yet available for wallabag v2*.
39
40Chrome
41~~~~~~
42
43*This addon is not yet available for wallabag v2*.
44
45By using your smarphone application
46-----------------------------------
47
48Android
49~~~~~~~
50
51*This application is not yet available for wallabag v2*.
52
53Firefox OS
54~~~~~~~~~~
55
56*This application is not yet available for wallabag v2*.
57
58Windows Phone
59~~~~~~~~~~~~~
60
61*This application is not yet available for wallabag v2*.
62
63iOS
64~~~
65
66*This application is not yet available for wallabag v2*.
diff --git a/docs/en/user/installation.rst b/docs/en/user/installation.rst
index 5b229bda..2c4b8749 100644
--- a/docs/en/user/installation.rst
+++ b/docs/en/user/installation.rst
@@ -110,6 +110,12 @@ Virtual hosts
110Configuration on Apache 110Configuration on Apache
111~~~~~~~~~~~~~~~~~~~~~~~ 111~~~~~~~~~~~~~~~~~~~~~~~
112 112
113Do not forget to active the *rewrite* mod of Apache
114
115.. code-block:: bash
116
117 a2enmod rewrite && systemctl reload apache2
118
113Assuming you install wallabag in the ``/var/www/wallabag`` folder and that you want to use PHP as an Apache module, here's a vhost for wallabag: 119Assuming you install wallabag in the ``/var/www/wallabag`` folder and that you want to use PHP as an Apache module, here's a vhost for wallabag:
114 120
115:: 121::
@@ -149,6 +155,23 @@ Assuming you install wallabag in the ``/var/www/wallabag`` folder and that you w
149 ErrorLog /var/log/apache2/wallabag_error.log 155 ErrorLog /var/log/apache2/wallabag_error.log
150 CustomLog /var/log/apache2/wallabag_access.log combined 156 CustomLog /var/log/apache2/wallabag_access.log combined
151 </VirtualHost> 157 </VirtualHost>
158
159
160.. tip:: Note for Apache 2.4, in the section `<Directory /var/www/wallabag/web>` you have to replace the directives :
161
162::
163
164 AllowOverride None
165 Order Allow,Deny
166 Allow from All
167
168
169by
170
171::
172
173 Require All granted
174
152 175
153After reloading or restarting Apache, you should now be able to access wallabag at http://domain.tld. 176After reloading or restarting Apache, you should now be able to access wallabag at http://domain.tld.
154 177
diff --git a/docs/en/user/share.rst b/docs/en/user/share.rst
deleted file mode 100644
index e99e51ab..00000000
--- a/docs/en/user/share.rst
+++ /dev/null
@@ -1,17 +0,0 @@
1Share articles
2==============
3
4When you're reading an article, you can share it. Just click on the share button:
5
6.. image:: ../../img/user/share.png
7 :alt: share article
8 :align: center
9
10Now, you can share the article:
11
12- with a public URL (you'll have a light view of the article)
13- with a tweet
14- into your Shaarli
15- with a post in Diaspora*
16- to Carrot
17- with an email
diff --git a/docs/fr/developer/api.rst b/docs/fr/developer/api.rst
index 8a6e2a13..e7bb264f 100644
--- a/docs/fr/developer/api.rst
+++ b/docs/fr/developer/api.rst
@@ -263,8 +263,9 @@ Ressources tierces
263 263
264Certaines applications ou bibliothèques utilisent notre API. En voici une liste non exhaustive : 264Certaines applications ou bibliothèques utilisent notre API. En voici une liste non exhaustive :
265 265
266- `Java wrapper for the wallabag API <https://github.com/Strubbl/jWallabag>`_ par Strubbl. 266- `Java wrapper for the wallabag API <https://github.com/di72nn/wallabag-api-wrapper>`_ par Dmitriy Bogdanov.
267- `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ par Julian Oster. 267- `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ par Julian Oster.
268- `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ par FoxMaSk, pour son projet `Trigger Happy <https://blog.trigger-happy.eu/>`_. 268- `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ par FoxMaSk, pour son projet `Trigger Happy <https://blog.trigger-happy.eu/>`_.
269- `Un plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ conçu pour `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_ qui utilise l'API wallabag v2. Par Josh Panter. 269- `Un plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ conçu pour `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_ qui utilise l'API wallabag v2. Par Josh Panter.
270- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ par Strubbl, pour son projet `wallabag-stats graphe <https://github.com/Strubbl/wallabag-stats>`_. 270- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ par Strubbl, pour son projets `wallabag-stats graphe <https://github.com/Strubbl/wallabag-stats>`_ et l'outil de ligne de commande `wallabag-add-article <https://github.com/Strubbl/wallabag-add-article>`_.
271- Tool to automatically download Wallabag articles into your local computer or Kobo ebook reader `wallabako <https://gitlab.com/anarcat/wallabako>`_ par anarcat.
diff --git a/docs/fr/developer/paywall.rst b/docs/fr/developer/paywall.rst
index c1c410b1..ddba839a 100644
--- a/docs/fr/developer/paywall.rst
+++ b/docs/fr/developer/paywall.rst
@@ -6,12 +6,16 @@ wallabag peut récupérer le contenu des articles des sites qui utilisent un sys
6Activer l'authentification pour les paywall 6Activer l'authentification pour les paywall
7------------------------------------------- 7-------------------------------------------
8 8
9Dans les paramètres internes, section **Article**, activez l'authentification pour les articles derrière un paywall (avec la valeur 1). 9Dans les paramètres internes, en tant qu'administrateur de wallabag, section **Article**, activez l'authentification pour les articles derrière un paywall (avec la valeur 1).
10 10
11Configurer les accès dans wallabag 11Configurer les accès dans wallabag
12---------------------------------- 12----------------------------------
13 13
14Éditez le fichier ``app/config/parameters.yml`` pour modifier les accès aux sites avec paywall. Voici un exemple pour certains sites : 14Éditez le fichier ``app/config/parameters.yml`` pour modifier les accès aux sites avec paywall. Par exemple, sous Ubuntu :
15
16``sudo -u www-data nano /var/www/html/wallabag/app/config/parameters.yml``
17
18Voici un exemple pour certains sites (attention, ne pas utiliser la touche "tab", seulement des espaces) :
15 19
16.. code:: yaml 20.. code:: yaml
17 21
@@ -28,7 +32,7 @@ Fichiers de configuration pour parser les articles
28 32
29.. note:: 33.. note::
30 34
31 Lisez `cette documentation <http://doc.wallabag.org/fr/master/user/errors_during_fetching.html>`_ pour en savoir plus sur ces fichiers de configuration. 35 Lisez `cette documentation <http://doc.wallabag.org/fr/master/user/errors_during_fetching.html>`_ pour en savoir plus sur ces fichiers de configuration, qui se trouvent dans le répertoire ``vendor/j0k3r/graby-site-config/``. Pour la majorité des sites, ce fichier est déjà configuré : les instructions qui suivent concernent seulement les sites non encore configurés.
32 36
33Chaque fichier de configuration doit être enrichi en ajoutant ``requires_login``, ``login_uri``, 37Chaque fichier de configuration doit être enrichi en ajoutant ``requires_login``, ``login_uri``,
34``login_username_field``, ``login_password_field`` et ``not_logged_in_xpath``. 38``login_username_field``, ``login_password_field`` et ``not_logged_in_xpath``.
@@ -54,3 +58,8 @@ Par exemple :
54 login_password_field: password 58 login_password_field: password
55 59
56 not_logged_in_xpath: //body[@class="not-logged-in"] 60 not_logged_in_xpath: //body[@class="not-logged-in"]
61
62Dernière étape : nettoyer le cache
63----------------------------------
64
65Il est nécessaire de nettoyer le cache de wallabag avec la commande suivante (ici sous Ubuntu) : ``sudo -u www-data php /var/www/html/wallabag/bin/console cache:clear -e=prod``
diff --git a/docs/fr/index.rst b/docs/fr/index.rst
index e3f14b04..99aaa35a 100644
--- a/docs/fr/index.rst
+++ b/docs/fr/index.rst
@@ -34,6 +34,7 @@ La documentation est disponible dans d'autres langues :
34 user/errors_during_fetching 34 user/errors_during_fetching
35 user/filters 35 user/filters
36 user/tags 36 user/tags
37 user/configuring_mobile
37 user/android 38 user/android
38 user/parameters 39 user/parameters
39 user/backup 40 user/backup
diff --git a/docs/fr/user/configuration.rst b/docs/fr/user/configuration.rst
index 025b05bb..772000c3 100644
--- a/docs/fr/user/configuration.rst
+++ b/docs/fr/user/configuration.rst
@@ -69,7 +69,9 @@ Double authentification (2FA)
69 L'authentification à deux facteurs (également appelée 2FA) est une technologie brevetée en 1984 69 L'authentification à deux facteurs (également appelée 2FA) est une technologie brevetée en 1984
70 qui fournit l'identification des utilisateurs au moyen de la combinaison de deux composants différents . 70 qui fournit l'identification des utilisateurs au moyen de la combinaison de deux composants différents .
71 71
72https://fr.wikipedia.org/wiki/Authentification_forte 72 https://fr.wikipedia.org/wiki/Authentification_forte
73
74**Attention**: l'activation de la 2FA depuis l'interface de configuration n'est possible que si elle a au préalable été autorisée dans `app/config/parameters.yml` en passant la propriété *twofactor_auth* à `true` (n'oubliez pas d'exécuter `php bin/console cache:clear -e=prod` après modification).
73 75
74Si vous activez 2FA, à chaque tentative de connexion à wallabag, vous recevrez 76Si vous activez 2FA, à chaque tentative de connexion à wallabag, vous recevrez
75un code par email. Vous devez renseigner ce code dans le formulaire suivant : 77un code par email. Vous devez renseigner ce code dans le formulaire suivant :
diff --git a/docs/fr/user/configuring_mobile.rst b/docs/fr/user/configuring_mobile.rst
new file mode 100644
index 00000000..4036c354
--- /dev/null
+++ b/docs/fr/user/configuring_mobile.rst
@@ -0,0 +1,12 @@
1Configurer les applications mobile pour wallabag
2================================================
3
4Étapes pour configurer les applications
5---------------------------------------
6
7- Tout d'abord, *créez un nouveau client* dans la section ``Gestion des clients API``. Le nom de votre application importe peu. Ce qui nous intéresse, ce sont l'``ID Client`` et la ``clé secrète``. Notez bien ces deux valeurs.
8- Quand vous installez une application smartphone, on va vous demander de renseigner l'adresse de votre serveur de wallabag. Par exemple, pour wallabag.it, c'est ``https://app.wallabag.it``.
9- Les deux valeurs notées précédemment vous seront également demandées. Insérez-les dans les champs correspondants.
10- Enfin, vous devez renseigner votre ``nom d'utilisateur`` et votre ``mot de passe``. Ce sont les mêmes valeurs que lorsque vous vous connectez à wallabag.
11
12Vous pouvez également regarder du côté de la page `Android <android.html>`_. Particulièrement la section sur les *limitations connues*.
diff --git a/docs/fr/user/installation.rst b/docs/fr/user/installation.rst
index 0884608d..9dcb0efb 100644
--- a/docs/fr/user/installation.rst
+++ b/docs/fr/user/installation.rst
@@ -107,6 +107,12 @@ Virtual hosts
107Configuration avec Apache 107Configuration avec Apache
108~~~~~~~~~~~~~~~~~~~~~~~~~ 108~~~~~~~~~~~~~~~~~~~~~~~~~
109 109
110N'oubliez pas d'activer le mod *rewrite* de Apache
111
112.. code-block:: bash
113
114 a2enmod rewrite && systemctl reload apache2
115
110En imaginant que vous vouliez installer wallabag dans le dossier ``/var/www/wallabag`` et que vous utilisiez PHP comme un module Apache, voici un vhost pour wallabag : 116En imaginant que vous vouliez installer wallabag dans le dossier ``/var/www/wallabag`` et que vous utilisiez PHP comme un module Apache, voici un vhost pour wallabag :
111 117
112:: 118::
@@ -147,6 +153,24 @@ En imaginant que vous vouliez installer wallabag dans le dossier ``/var/www/wall
147 CustomLog /var/log/apache2/wallabag_access.log combined 153 CustomLog /var/log/apache2/wallabag_access.log combined
148 </VirtualHost> 154 </VirtualHost>
149 155
156.. tip:: Pour Apache 2.4, dans la section `<Directory /var/www/wallabag/web>` vous devez remplacer les directives suivantes :
157
158::
159
160 AllowOverride None
161 Order Allow,Deny
162 Allow from All
163
164
165par
166
167::
168
169 Require All granted
170
171
172
173
150Après que vous ayez rechargé/redémarré Apache, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld. 174Après que vous ayez rechargé/redémarré Apache, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld.
151 175
152Configuration avec Nginx 176Configuration avec Nginx
diff --git a/docs/it/conf.py b/docs/it/conf.py
new file mode 100644
index 00000000..717b35f1
--- /dev/null
+++ b/docs/it/conf.py
@@ -0,0 +1,55 @@
1# -*- coding: utf-8 -*-
2#
3# wallabag documentation build configuration file, created by
4# sphinx-quickstart on Fri Oct 16 06:47:23 2015.
5
6import sys
7import os
8
9extensions = []
10templates_path = ['_templates']
11source_suffix = '.rst'
12master_doc = 'index'
13project = u'wallabag'
14copyright = u'2013-2016, Nicolas LÅ“uillet - MIT Licence'
15version = '2.1.0'
16release = version
17exclude_patterns = ['_build']
18pygments_style = 'sphinx'
19html_theme = 'default'
20html_static_path = ['_static']
21htmlhelp_basename = 'wallabagdoc'
22latex_elements = {
23
24}
25
26latex_documents = [
27 ('index', 'wallabag.tex', u'wallabag Documentation',
28 u'Nicolas LÅ“uillet', 'manual'),
29]
30
31man_pages = [
32 ('index', 'wallabag', u'wallabag Documentation',
33 [u'Nicolas LÅ“uillet'], 1)
34]
35
36texinfo_documents = [
37 ('index', 'wallabag', u'wallabag Documentation',
38 u'Nicolas LÅ“uillet', 'wallabag', 'wallabag is an opensource read-it-later.',
39 'Miscellaneous'),
40]
41
42##### Guzzle sphinx theme
43
44import guzzle_sphinx_theme
45html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator'
46html_theme_path = guzzle_sphinx_theme.html_theme_path()
47html_theme = 'guzzle_sphinx_theme'
48
49# Custom sidebar templates, maps document names to template names.
50html_sidebars = {
51 '**': ['logo-text.html', 'globaltoc.html', 'searchbox.html']
52}
53
54# Register the theme as an extension to generate a sitemap.xml
55extensions.append("guzzle_sphinx_theme")
diff --git a/docs/it/developer/api.rst b/docs/it/developer/api.rst
new file mode 100644
index 00000000..fc19a175
--- /dev/null
+++ b/docs/it/developer/api.rst
@@ -0,0 +1,269 @@
1Documentazione su API
2---------------------
3
4Grazie a questa documentazione, vedremo come interagire con l'API di wallabag.
5
6Requisiti
7---------
8
9* wallabag appena (o no) installato su http://localhost:8000
10* ``httpie`` installato sul vostro computer (`guardate il sito del progetto <https://github.com/jkbrzt/httpie>`__). Da notare che potete anche adattare i comandi usando curl o wget.
11* tutti i metodi API documentati qui http://localhost:8000/api/doc (sulla vostra istanza) e `sulla nostra istanza d'esempio <http://v2.wallabag.org/api/doc>`_
12
13Creare un nuovo client API
14--------------------------
15
16Sul vostro account wallabag potete creare un nuovo client API presso questo URL http://localhost:8000/developer/client/create.
17
18Date solamente l'URL per il reindirizzamento della vostra applicazione e create il vostro client. Se la vostra applicazione è desktop, inserite l'URL che preferite.
19
20Toverete informazioni come queste:
21
22::
23
24 Client ID:
25
26 1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc
27
28 Client secret:
29
30 636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4
31
32
33Ottenere un token per il ricaricamento
34--------------------------------------
35
36Per ogni chiamata API avrete bisogno di un token. Creiamolo con questo comando (rimpiazzate ``client_id``, ``client_secret``, ``username`` and ``password`` con i loro valori):
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
47Otterrete questo risultato:
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
70Lavoreremo con il valore ``access_token`` nelle nostre prossime chiamate.
71
72esempio di cURL:
73
74::
75
76 curl -s "https://localhost:8000/oauth/v2/token?grant_type=password&client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc&client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4&username=wallabag&password=wallabag"
77
78Ottenere voci esistenti
79-----------------------
80
81Documentazione per questo metodo: http://localhost:8000/api/doc#get--api-entries.{_format}
82
83Mentre lavoriamo su una nuova installazione di wallabag, non otterremo risultati con questo comando:
84
85::
86
87 http GET http://localhost:8000/api/entries.json \
88 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
89
90restituisce:
91
92::
93
94 HTTP/1.1 200 OK
95 0: application/json
96 Cache-Control: no-cache
97 Connection: close
98 Content-Type: application/json
99 Date: Tue, 05 Apr 2016 08:51:32 GMT
100 Host: localhost:8000
101 Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly
102 X-Debug-Token: 4fbbc4
103 X-Debug-Token-Link: /_profiler/4fbbc4
104 X-Powered-By: PHP/7.0.4
105
106 {
107 "_embedded": {
108 "items": []
109 },
110 "_links": {
111 "first": {
112 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
113 },
114 "last": {
115 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
116 },
117 "self": {
118 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
119 }
120 },
121 "limit": 30,
122 "page": 1,
123 "pages": 1,
124 "total": 0
125 }
126
127L'insieme ``items`` è vuoto.
128
129esempio di cURL:
130
131::
132
133 curl --get "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
134
135Aggiungere la vostra prima voce
136-------------------------------
137
138Documentazione per questo metodo: http://localhost:8000/api/doc#post--api-entries.{_format}
139
140::
141
142 http POST http://localhost:8000/api/entries.json \
143 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" \
144 url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
145
146restituisce:
147
148::
149
150 HTTP/1.1 200 OK
151 0: application/json
152 Cache-Control: no-cache
153 Connection: close
154 Content-Type: application/json
155 Date: Tue, 05 Apr 2016 09:07:54 GMT
156 Host: localhost:8000
157 Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly
158 X-Debug-Token: e01c51
159 X-Debug-Token-Link: /_profiler/e01c51
160 X-Powered-By: PHP/7.0.4
161
162 {
163 "_links": {
164 "self": {
165 "href": "/api/entries/1"
166 }
167 },
168 "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",
169 "created_at": "2016-04-05T09:07:54+0000",
170 "domain_name": "www.numerama.com",
171 "id": 1,
172 "is_archived": 0,
173 "is_starred": 0,
174 "language": "fr-FR",
175 "mimetype": "text/html",
176 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
177 "reading_time": 2,
178 "tags": [],
179 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
180 "updated_at": "2016-04-05T09:07:54+0000",
181 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
182 "user_email": "",
183 "user_id": 1,
184 "user_name": "wallabag"
185 }
186
187Ora, se eseguite il comando precedente (vedere **Ottenere voci esistenti**), avrete dei dati.
188
189esempio di cURL:
190
191::
192
193 curl "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA&url=http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
194
195Eliminare una voce
196------------------
197
198Documentazione per questo metodo: http://localhost:8000/api/doc#delete--api-entries-{entry}.{_format}
199
200::
201
202 http DELETE http://localhost:8000/api/entries/1.json \
203 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
204
205restituisce
206
207::
208
209 HTTP/1.1 200 OK
210 0: application/json
211 Cache-Control: no-cache
212 Connection: close
213 Content-Type: application/json
214 Date: Tue, 05 Apr 2016 09:19:07 GMT
215 Host: localhost:8000
216 Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly
217 X-Debug-Token: 887cef
218 X-Debug-Token-Link: /_profiler/887cef
219 X-Powered-By: PHP/7.0.4
220
221 {
222 "_links": {
223 "self": {
224 "href": "/api/entries/"
225 }
226 },
227 "annotations": [],
228 "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",
229 "created_at": "2016-04-05T09:07:54+0000",
230 "domain_name": "www.numerama.com",
231 "is_archived": 0,
232 "is_starred": 0,
233 "language": "fr-FR",
234 "mimetype": "text/html",
235 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
236 "reading_time": 2,
237 "tags": [],
238 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
239 "updated_at": "2016-04-05T09:07:54+0000",
240 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
241 "user_email": "",
242 "user_id": 1,
243 "user_name": "wallabag"
244 }
245
246E se volete elencare le voci esistenti (vedere **Ottenere voci esistenti**), l'insieme è vuoto.
247
248esempio di cURL:
249
250::
251
252 curl --request DELETE "https://localhost:8000/api/entries/1.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
253
254Altri metodi
255------------
256
257Non scriveremo esempi per ogni metodo API.
258Guardate l'elenco qui : http://localhost:8000/api/doc per ogni metodo conosciuto.
259
260Risorse di terze parti
261----------------------
262
263Alcune applicazioni o librerie usano le nostre API. Ecco una lista non esaustiva:
264
265- `Wrapper Java per l'API di wallabag <https://github.com/Strubbl/jWallabag>`_ di Strubbl.
266- `Libreria .NET per l'API di wallabag v2 <https://github.com/jlnostr/wallabag-api>`_ di Julian Oster.
267- `API di Python per wallabag <https://github.com/foxmask/wallabag_api>`_ di FoxMaSk, per il suo progetto `Trigger Happy <https://blog.trigger-happy.eu/>`_.
268- `Un plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ creato per `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_ questo usa l'API di wallabag v2. Di Josh Panter.
269- `Wrapper Golang per l'API di wallabag <https://github.com/Strubbl/wallabago>`_ di Strubbl, per il suo progetto `wallabag-stats graph <https://github.com/Strubbl/wallabag-stats>`_.
diff --git a/docs/it/developer/asynchronous.rst b/docs/it/developer/asynchronous.rst
new file mode 100644
index 00000000..d753bd23
--- /dev/null
+++ b/docs/it/developer/asynchronous.rst
@@ -0,0 +1,162 @@
1Compiti Asincroni
2=================
3
4Per avviare compiti asincroni (utile ad esempio per grandi importazioni), Possiamo usare RabbitMQ o Redis.
5
6Installare RabbitMQ per compiti asincroni
7-----------------------------------------
8
9Requisiti
10^^^^^^^^^
11
12Dovete avere RabbitMQ installato sul vostro server.
13
14Installazione
15^^^^^^^^^^^^^
16
17.. code:: bash
18
19 wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
20 apt-key add rabbitmq-signing-key-public.asc
21 apt-get update
22 apt-get install rabbitmq-server
23
24Configurazione ed avvio
25^^^^^^^^^^^^^^^^^^^^^^^
26
27.. code:: bash
28
29 rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
30 rabbitmq-server -detached
31
32Fermare RabbitMQ
33^^^^^^^^^^^^^^^^
34
35.. code:: bash
36
37 rabbitmqctl stop
38
39
40Configurare RabbitMQ in wallabag
41^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
42
43Modificate il vostro file ``app/config/parameters.yml`` per modificare la configurazione di RabbitMQ. Quella di default dovrebbe andare bene:
44
45.. code:: yaml
46
47 rabbitmq_host: localhost
48 rabbitmq_port: 5672
49 rabbitmq_user: guest
50 rabbitmq_password: guest
51 rabbitmq_prefetch_count: 10 # read http://www.rabbitmq.com/consumer-prefetch.html
52
53Abilitare RabbitMQ su wallabag
54^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55
56Su Strumenti, nella sezione **Importa**, abilitate RabbitMQ (con il valore 1).
57
58Avviare RabbitMQ consumer
59^^^^^^^^^^^^^^^^^^^^^^^^^
60
61Dipendendo da quale servizio vogliate importare, dovrete abilitare uno (o più se volete supportare molti) o più cronjob:
62
63.. code:: bash
64
65 # per importare da Pocket
66 bin/console rabbitmq:consumer -e=prod import_pocket -w
67
68 # per importare da Readability
69 bin/console rabbitmq:consumer -e=prod import_readability -w
70
71 # per importare da Instapaper
72 bin/console rabbitmq:consumer -e=prod import_instapaper -w
73
74 # per importare da wallabag v1
75 bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
76
77 # per importare da wallabag v2
78 bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
79
80 # per importare da Firefox
81 bin/console rabbitmq:consumer -e=prod import_firefox -w
82
83 # per importare da Chrome
84 bin/console rabbitmq:consumer -e=prod import_chrome -w
85
86Installare Redis per compiti asincroni
87--------------------------------------
88
89Per avviare compiti asincroni (utile ad esempio per grandi importazioni), Possiamo usare Redis.
90
91Requisiti
92^^^^^^^^^
93
94Dovete avere Redis installato sul vostro server.
95
96Installazione
97^^^^^^^^^^^^^
98
99.. code:: bash
100
101 apt-get install redis-server
102
103
104Avvio
105^^^^^
106
107Il server dovrebbe già essere attivo dopo l'installazione, altrimenti potete avviarlo usando:
108
109.. code:: bash
110
111 redis-server
112
113
114Configurare Redis su wallabag
115^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
116
117Modificate il vostro file ``app/config/parameters.yml`` per modificare la configurazione di Redis. Quella di default dovrebbe andare bene:
118
119.. code:: yaml
120
121 redis_host: localhost
122 redis_port: 6379
123
124Abilitare Redis su wallabag
125^^^^^^^^^^^^^^^^^^^^^^^^^^^
126
127Su Strumenti, nella sezione **Importa**, abilitate Redis (con il valore 1).
128
129Avviare Redis consumer
130^^^^^^^^^^^^^^^^^^^^^^
131
132Dipendendo da quale servizio vogliate importare, dovrete abilitare uno (o più se volete supportare molti) o più cronjob:
133
134.. code:: bash
135
136 # per importare da Pocket
137 bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
138
139 # per importare da Readability
140 bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
141
142 # per importare da Instapaper
143 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
144
145 # per importare da wallabag v1
146 bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
147
148 # per importare da wallabag v2
149 bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
150
151 # per importare da Firefox
152 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
153
154 # per importare da Chrome
155 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
156
157Se volete avviare l'importazione solamente per alcuni messaggi e non tutti, potete specificare questo numero (qui 12) e il programma si fermerà dopo il dodicesimo messaggio:
158
159.. code:: bash
160
161 bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12
162
diff --git a/docs/it/developer/docker.rst b/docs/it/developer/docker.rst
new file mode 100644
index 00000000..f07df20d
--- /dev/null
+++ b/docs/it/developer/docker.rst
@@ -0,0 +1,41 @@
1Eseguite wallabag in docker-compose
2===================================
3
4Per eseguire la vostra propria istanza di sviluppo di wallabag, dovreste usare i file docker compose preconfigurati.
5
6Requisiti
7---------
8
9Assicuratevi di avere `Docker
10<https://docs.docker.com/installation/ubuntulinux/>` e `Docker
11Compose <https://docs.docker.com/compose/install/>`__ disponibili sul vostro sistema e aggiornati.
12
13Cambiate DBMS
14-------------
15
16Per default, wallabag inizierá con un database SQLite.
17Visto che wallabag supporta Postgresql e MySQL, i container di docker sono disponibili anche per questi.
18
19In ``docker-compose.yml``, per il DBMS scelto, togliete i commenti:
20
21- la definizione del container (blocco a livello root ``postgres`` o ``mariadb``)
22- il link del container nel container``php``
23- il file env del container nel container ``php``
24
25Per far continuare ad eseguire i comandi Symfony sul vostro host (come ``wallabag:install``), dovreste anche:
26
27- caricare i file env appropriati sulla vostra riga di comando, in modo che possano esistere variabili come ``SYMFONY__ENV__DATABASE_HOST``.
28- creare un ``127.0.0.1 rdbms`` sul vostro file di sistema ``hosts``
29
30Eseguite wallabag
31-----------------
32
33#. Fate un fork o clonate il progetto
34#. Modificate ``app/config/parameters.yml`` per rimpiazzare le proprietá di ``database_*`` con quelle commentate (con valori con prefisso ``env.``)
35#. ``composer install`` per installare le dipendenze del progetto
36#. ``php bin/console wallabag:install`` per creare lo schema
37#. ``docker-compose up`` per eseguire i containers
38#. Infine, andate su http://localhost:8080/ per trovare il vostro wallabag appena installato.
39
40Durante i vari passi potreste incontrare problemi di permessi UNIX, percorsi sbagliati nella cache generata, etc...
41Operazioni come cambiare i file della cache o cambiare i proprietari dei file potrebbero essere richiesto frequentemente, per cui non abbiate paura!
diff --git a/docs/it/developer/documentation.rst b/docs/it/developer/documentation.rst
new file mode 100644
index 00000000..d4b63bb6
--- /dev/null
+++ b/docs/it/developer/documentation.rst
@@ -0,0 +1,12 @@
1Contribuite a questa documentazione
2===================================
3
4Le fonti della nostra documentazione sono qui https://github.com/wallabag/wallabag/tree/master/docs
5
6Usiamo `ReadTheDocs
7<https://readthedocs.org>`__ per generarla.
8
9Le pagine sono scritte nel formato `Restructured Text
10<https://en.wikipedia.org/wiki/ReStructuredText>`__. Potete usare strumenti online come http://rst.aaroniles.net/ o http://rst.ninjs.org/ per vedere un'anteprima dei vostri articoli.
11
12Se create una nuova pagina, non scordatevi di modificare il file `index.rst <https://raw.githubusercontent.com/wallabag/wallabag/master/docs/en/index.rst>`__ per aggiungere un link nella barra laterale.
diff --git a/docs/it/developer/paywall.rst b/docs/it/developer/paywall.rst
new file mode 100644
index 00000000..2c4e1bf7
--- /dev/null
+++ b/docs/it/developer/paywall.rst
@@ -0,0 +1,52 @@
1Articoli dietro ad un paywall
2=============================
3
4wallabag puó acquisire articoli da siti web che usano un sistema paywall
5
6Abilitate l'autenticazione paywall
7----------------------------------
8
9Su impostazioni interne, nella sezione **Articolo**, abilitate l'autenticazione per siti con paywall (con il valore 1).
10
11Configurate le credenziali in wallabag
12--------------------------------------
13
14Modificate il vostro file ``app/config/parameters.yml`` per modificare le credenziali per ogni sito con paywall. Ecco un esempio di alcuni siti francesi:
15
16.. code:: yaml
17
18 sites_credentials:
19 mediapart.fr: {username: "myMediapartLogin", password: "mypassword"}
20 arretsurimages.net: {username: "myASILogin", password: "mypassword"}
21
22.. note::
23
24 These credentials will be shared between each user of your wallabag instance.
25
26Fate il parsing dei file di configurazione
27------------------------------------------
28
29Leggete `questa parte della documentazione *link mancante*` per capire i file di configurazione.
30
31Ogni file di configurazione del parsing deve essere migliorato aggiungendo ``requires_login``, ``login_uri``, ``login_username_field``, ``login_password_field`` e ``not_logged_in_xpath``.
32
33Fate attenzione, il modulo di login deve essere nel contenuto della pagina quando wallabag lo carica. É impossibile per wallab essere autenticato su un sito dove il modulo di login é caricato dopo la pagina (da ajax per esempio).
34
35``login_uri`` é l'URL di azione del modulo (l'attributo ``action`` del modulo).
36``login_username_field`` é l'attributo ``name`` nel campo di login.
37``login_password_field`` é l'attributo ``name`` nel campo password.
38
39Per esempio:
40
41.. code::
42
43 title://div[@id="titrage-contenu"]/h1[@class="title"]
44 body: //div[@class="contenu-html"]/div[@class="page-pane"]
45
46 requires_login: yes
47
48 login_uri: http://www.arretsurimages.net/forum/login.php
49 login_username_field: username
50 login_password_field: password
51
52 not_logged_in_xpath: //body[@class="not-logged-in"]
diff --git a/docs/it/developer/testsuite.rst b/docs/it/developer/testsuite.rst
new file mode 100644
index 00000000..fdb72401
--- /dev/null
+++ b/docs/it/developer/testsuite.rst
@@ -0,0 +1,6 @@
1Testsuite
2=========
3Per assicurare la qualità di sviluppo di wallabag, abbiamo scritto i test con `PHPUnit <https://phpunit.de>`_.
4Se contribuite al progetto (traducendo l'applicazione, risolvendo i bug o aggiungendo nuove funzioni), si prega di scrivere i propri test.
5
6Per avviare la testsuite di wallabag dovete installare `ant <http://ant.apache.org>`_. Poi, eseguite il comando ``make test``. \ No newline at end of file
diff --git a/docs/it/developer/translate.rst b/docs/it/developer/translate.rst
new file mode 100644
index 00000000..c0b8e265
--- /dev/null
+++ b/docs/it/developer/translate.rst
@@ -0,0 +1,55 @@
1Tradurre wallabag
2=================
3
4wallabag web app
5----------------
6
7File per la traduzione
8~~~~~~~~~~~~~~~~~~~~~~
9
10.. note::
11
12 Visto che wallabag é principalmente sviluppato da un team francese, si prega di considerare che la traduzione francese é la più aggiornata, e si prega di copiarla e di creare la vostra propria traduzione.
13
14Potete trovare qui i file per la traduzione:
15https://github.com/wallabag/wallabag/tree/master/src/Wallabag/CoreBundle/Resources/translations.
16
17Dovrete creare ``messages.CODE.yml`` e ``validators.CODE.yml``, dove CODE é il codice ISO 639-1 della vostra lingua (`guardate wikipedia <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`__).
18
19Altri file da tradurre:
20
21- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
22- https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.
23
24Dovete creare i file ``THE_TRANSLATION_FILE.CODE.yml``.
25
26File di configurazione
27~~~~~~~~~~~~~~~~~~~~~~
28
29Dovete modificare `app/config/config.yml
30<https://github.com/wallabag/wallabag/blob/master/app/config/config.yml>`__ per mostrare il vostro linguaggio nella pagina di configurazione di wallabag (per consentire agli utenti di passare a questa nuova traduzione).
31
32Nella sezione ``wallabag_core.languages``, dovete aggiungere una nuova linea con la vostra traduzione. Per esempio:
33
34::
35
36 wallabag_core:
37 ...
38 languages:
39 en: 'English'
40 fr: 'Français'
41
42Nella prima colonna (``en``, ``fr``, etc.), dovete aggiungere il codice ISO 639-1 della vostra lingua (vedete sopra).
43
44Nella seconda colonna, aggiungete solamente il nome della vostra lingua.
45
46documentazione di wallabag
47--------------------------
48
49.. note::
50 Contrariamente alla web app, il linguaggio principale per la documentazione é l'inglese.
51
52I file della documentazione sono memorizzati qui: https://github.com/wallabag/wallabag/tree/master/docs
53
54Dovete rispettare la struttura della cartella ``en`` quando create la vostra traduzione.
55
diff --git a/docs/it/index.rst b/docs/it/index.rst
new file mode 100644
index 00000000..92896fbf
--- /dev/null
+++ b/docs/it/index.rst
@@ -0,0 +1,53 @@
1Documentazione di wallabag
2--------------------------
3
4.. image:: ../img/wallabag.png
5 :alt: wallabag logo
6 :align: center
7
8**wallabag** è un'applicazione read-it-later: salva una pagina web lasciando solamente il contenuto. Elementi come comandi di navigazione o pubblicità sono rimossi.
9
10La documentazione principale per quest'applicazione è organizzata in un paio di sezioni:
11
12* :ref:`user-docs`
13* :ref:`dev-docs`
14
15La documentazione è disponibile anche in altre lingue:
16
17* `Documentation en français <http://doc.wallabag.org/fr/master/>`_
18* `Dokumentation in Deutsch <http://doc.wallabag.org/de/master/>`_
19* `Documentation in English <http://doc.wallabag.org/en/master/>`_
20
21.. _user-docs:
22
23.. toctree::
24 :maxdepth: 2
25 :caption: User documentation
26
27 user/installation
28 user/upgrade
29 user/configuration
30 user/import
31 user/create_account
32 user/articles
33 user/errors_during_fetching
34 user/filters
35 user/tags
36 user/configuring_mobile
37 user/android
38 user/parameters
39 user/backup
40 user/faq
41
42.. _dev-docs:
43
44.. toctree::
45 :maxdepth: 2
46 :caption: Developer documentation
47
48 developer/api
49 developer/docker
50 developer/paywall
51 developer/documentation
52 developer/translate
53 developer/asynchronous
diff --git a/docs/it/requirements.txt b/docs/it/requirements.txt
new file mode 100644
index 00000000..06fc8973
--- /dev/null
+++ b/docs/it/requirements.txt
@@ -0,0 +1,2 @@
1Sphinx>=1.3.0,<1.4.0
2guzzle_sphinx_theme>=0.7.0,<0.8.0
diff --git a/docs/it/user/android.rst b/docs/it/user/android.rst
new file mode 100644
index 00000000..a82bbef5
--- /dev/null
+++ b/docs/it/user/android.rst
@@ -0,0 +1,107 @@
1Applicazione Android
2====================
3
4Scopo di questo documento
5-------------------------
6
7Questo documento spiega come configurare la vostra applicazione Android in modo che funzioni con la vostra istanza di wallabag. Non vi é differenza in questa procedura sia per wallabag v1 che per v2.
8
9Passi per configurare la vostra app
10-----------------------------------
11
12Quando aprirete l'app per la prima volta, vedrete una schermata di benvenuto dove vi si consiglia per prima cosa di configurare l'app per la vostra istanza di wallabag.
13
14.. image:: ../../img/user/android_welcome_screen.en.png
15 :alt: Welcome screen
16 :align: center
17
18Confermate semplicemente quel messaggio e verrete reindirizzati alla schermata delle impostazioni.
19
20.. image:: ../../img/user/android_configuration_screen.en.png
21 :alt: Settings screen
22 :align: center
23
24Inserite i vostri dati di wallabag. Dovrete inserire il vostro indirizzo di wallabag. **É importante che questo URL non finisca con una barra**. Inserite anche le vostre credenziali nei campi user name e password.
25
26.. image:: ../../img/user/android_configuration_filled_in.en.png
27 :alt: Filled in settings
28 :align: center
29
30Dopo aver completato l'inserimento dei dati, premete il bottone Connection test e aspettate che il test finisca.
31
32.. image:: ../../img/user/android_configuration_connection_test.en.png
33 :alt: Connection test with your wallabag data
34 :align: center
35
36Il test di connessione dovrebbe finire con successo. In caso contrario, dovrete prima risolvere questo problema fino a che possiate procedere.
37
38.. image:: ../../img/user/android_configuration_connection_test_success.en.png
39 :alt: Connection test successful
40 :align: center
41
42Dopo che il test sará avvenuto con successo, potrete premere il bottone per ottenere le credenziali del vostro feed. L'app cercherá di connettersi alla vostra istanza di wallabag e ottenere l'id utente e il token corrispondente per i feed.
43
44.. image:: ../../img/user/android_configuration_get_feed_credentials.en.png
45 :alt: Getting the feed credentials
46 :align: center
47
48Quando il processo di ottenimento delle credenziali del vostro feed sará concluso con successo, vedrete un messaggio toast, il quale avviserá che l'id utente ed il token sono stati inseriti nel modulo.
49
50.. image:: ../../img/user/android_configuration_feed_credentials_automatically_filled_in.en.png
51 :alt: Getting feed credentials successful
52 :align: center
53
54Ora dovrete scorrere fino alla fine del menu delle impostazioni. Ovviamente potrete cambiare le impostazioni in base alle vostre preferenze.
55Terminate la configurazione della vostra app premendo il bottone per il salvataggio.
56
57.. image:: ../../img/user/android_configuration_scroll_bottom.en.png
58 :alt: Bottom of the settings screen
59 :align: center
60
61Dopo aver premuto il bottone apparirá la seguente schermata. L'app proporrá di iniziare il processo di sincronizzazione per aggiornare i vostri feed ed articoli. É raccomandato accettare quest'azione e premere Sí.
62
63.. image:: ../../img/user/android_configuration_saved_feed_update.en.png
64 :alt: Settings saved the first time
65 :align: center
66
67Alla fine, dopo che la sincronizzazione sará avvenuta con successo, apparirá la lista degli articoli non letti.
68
69.. image:: ../../img/user/android_unread_feed_synced.en.png
70 :alt: Filled article list cause feeds successfully synchronized
71 :align: center
72
73Limiti conosciuti
74-----------------
75
76Autenticazione a due fattori (2FA)
77~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78
79Attualmente l'applicazione Android non supporta l'autenticazione a due fattori. Dovreste disabilitare questa opzione in modo da far funzionare l'applicazione.
80
81Quantitá limitata di articoli con wallabag v2
82~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83
84Nella vostra istanza web di wallabag potete configurare quanti oggetti sono parte del feed RSS. Questa opzione non esisteva in wallabag v1, dove tutti gli articoli erano parte del feed. Quindi se imposterete il numero di articoli da visualizzare maggiore del numero di oggetti che sono contenuti nel vostro feed RSS, vedrete solamente il numero di oggetti nel vostro feed RSS.
85
86Crittografia SSL/TLS
87~~~~~~~~~~~~~~~~~~~~
88
89Se potete raggiungere la vostra istanza web di wallabag via HTTPS, dovreste usare quest'ultimo, in particolar modo se il vostro URL HTTP vi reindirizza a quello HTTPS. Attualmente l'app non puó gestire propriamente il reindirizzamento.
90
91Riferimenti
92-----------
93
94- `Codice sorgente dell'applicazione Android <https://github.com/wallabag/android-app>`_
95- `Applicazione Android su F-Droid <https://f-droid.org/repository/browse/?fdfilter=wallabag&fdid=fr.gaulupeau.apps.InThePoche>`_
96- `Applicazione Android su Google Play <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_
97
98
99
100
101
102
103
104
105
106
107
diff --git a/docs/it/user/articles.rst b/docs/it/user/articles.rst
new file mode 100644
index 00000000..944b23ef
--- /dev/null
+++ b/docs/it/user/articles.rst
@@ -0,0 +1,115 @@
1
2Articoli
3========
4
5Salvate il vostro primo articolo
6--------------------------------
7
8Il proposito principale di wallabag é di salvare articoli web, e potete farlo in molti modi. Se pensate che l'articolo sia mostrato in modo sbagliato, `potete leggere questa documentazione`_.
9
10Usando un bookmarklet
11^^^^^^^^^^^^^^^^^^^^^
12
13Nella pagina ``Howto`` avete una sezione ``Bookmarklet``. Trascinate il link ``bag it!`` sulla barra dei preferiti del vostro browser.
14
15
16Ora, ogni volta che leggiate un articolo sul web e vogliate salvarlo, cliccate sul link ``bag it!`` sulla vostra barra dei preferiti. L'articolo é salvato.
17
18Usando la maniera classica
19^^^^^^^^^^^^^^^^^^^^^^^^^^
20
21Sulla barra in alto del vostro schermo avete 3 icone. Con la prima, un simbolo "piú", potrete salvare facilmente un articolo.
22
23.. image:: ../../img/user/topbar.png
24 :alt: Top bar
25 :align: center
26
27Cliccateci sopra per mostrare un nuovo campo, inserite in quest'ultimo la URL dell'articolo e premete il tasto ``Return``. L'articolo é salvato.
28
29Usando un add-on del browser
30^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31
32Firefox
33"""""""
34
35Potete scaricare `qui l'addon per Firefox <https://addons.mozilla.org/firefox/addon/wallabag-v2/>`_.
36
37Chrome
38""""""
39
40Potete scaricare `qui l'addon per Chrome <https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj?hl=fr>`_.
41
42Usando la vostra applicazione per smartphone
43^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44
45Android
46"""""""
47
48Potete scaricare `qui l'applicazione per Android <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_.
49
50Windows Phone
51"""""""""""""
52
53Potete scaricare `qui l'applicazione per Windows Phone <https://www.microsoft.com/store/apps/9nblggh5x3p6>`_.
54
55Scaricate i vostri articoli
56---------------------------
57
58Potete scaricare ogni articolo in vari formati: ePUB, MOBI, PDF, XML, JSON, CSV.
59
60Sulla vista dell'articolo, cliccate su questa icona, nella barra laterale:
61
62.. image:: ../../img/user/download_article.png
63 :alt: download article
64 :align: center
65
66Potete anche scaricare una categoria completa di articoli (unread, starred, archive) in questi formati. Per esempio, nella vista **Unread**, cliccate su questa icona sulla barra superiore:
67
68.. image:: ../../img/user/download_articles.png
69 :alt: download articles
70 :align: center
71
72Condividete i vostri articoli
73-----------------------------
74
75Quando leggete un articolo, potete condividerlo. Cliccate semplicemente sul bottone di condivisione:
76
77.. image:: ../../img/user/share.png
78 :alt: share article
79 :align: center
80
81Ora potete condividere l'articolo:
82
83- attraverso una URL pubblica (avrete una vista semplificata dell'articolo)
84- attraverso un tweet
85- nel vostro Shaarli
86- attraverso un post su Diaspora*
87- su Carrot
88- attraverso un'email
89
90Annotate i vostri articoli
91--------------------------
92
93in ogni articolo che leggiate potete scrivere delle note. É piú facile da capire con delle immagini.
94
95Selezionate la parte dell'articolo che volete annotare e cliccate sulla matita:
96
97.. image:: ../../img/user/annotations_1.png
98 :alt: Select your text
99 :align: center
100
101Scrivete poi la vostra nota:
102
103.. image:: ../../img/user/annotations_2.png
104 :alt: Write your annotation
105 :align: center
106
107Il testo é ora sottolineato e potrete leggere la vostra nota muovendo il cursore su di esso.
108
109.. image:: ../../img/user/annotations_3.png
110 :alt: Read your annotation
111 :align: center
112
113Potete creare quante note vogliate.
114
115
diff --git a/docs/it/user/backup.rst b/docs/it/user/backup.rst
new file mode 100644
index 00000000..548c675b
--- /dev/null
+++ b/docs/it/user/backup.rst
@@ -0,0 +1,30 @@
1Eseguire il backup di wallabag
2==============================
3
4Siccome a volte potreste commettere errori con il vostro wallabag e perdere i vostri dati, oppure in caso dobbiate spostare il vostro wallabag su un altro server, dovete fare un backup dei vostri dati.
5
6Impostazioni base
7-----------------
8
9wallabag memorizza alcuni parametri base (come il server SMTP o il backend del database) nel file `app/config/parameters.yml`.
10
11Database
12--------
13
14Per il fatto che wallabag supporta vari tipi di database, il modo di eseguire backup dipende dal database che stiate usando, quindi dovrete fare riferimento alla documentazione del venditore.
15
16Ecco alcuni esempi:
17
18- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
19- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
20
21SQLite
22~~~~~~
23
24Per eseguire il backup di un database SQLite, dovete semplicemente copiare la directory `data/db` dalla directory dell'applicazione wallabag.
25
26Immagini
27--------
28
29Le immagini recuperate da wallabag sono memorizzate in `web/assets/images` (la memoria delle immagini sará implementata in wallabag 2.2).
30
diff --git a/docs/it/user/configuration.rst b/docs/it/user/configuration.rst
new file mode 100644
index 00000000..3bd3bc91
--- /dev/null
+++ b/docs/it/user/configuration.rst
@@ -0,0 +1,103 @@
1Configurazione
2==============
3
4Ora che siete acceduti, é ora di configurare il vostro account come volete.
5
6cliccate sul menu ``Configurazione``. Avrete cinque tab: ``Impostazioni``, ``RSS``, ``Informazioni utente``, ``Password`` e ``Regole di tagging``.
7
8Impostazioni
9------------
10
11Tema
12~~~~
13
14wallabag é personalizzabile. Potete scegliere il vostro tema preferito qui. Il tema di default é ``Material``, é il tema usato nelle immagini della documentazione.
15
16Oggetti per pagina
17~~~~~~~~~~~~~~~~~~
18
19Potete cambiare il numero di articoli mostrati su ogni pagina.
20
21Velocitá di lettura
22~~~~~~~~~~~~~~~~~~~
23
24wallabag calcola un tempo di lettura per ogni articolo. Potete definire qui, grazie a questa lista, se siete dei lettori lenti of veloci. wallabag ricalcolerá il tempo di lettura per ogni articolo.
25
26Lingua
27~~~~~~
28
29Potete cambiare la lingua dell'interfaccia di wallabag.
30
31RSS
32---
33
34wallabag offre feed RSS per ogni stato dell'articolo: non letto, preferito e archiviato.
35
36Per prima cosa dovete creare un token personale: cliccate su ``Crea il tuo token``. É possibile cambiare il proprio token cliccando su ``Rigenera il tuo token``.
37
38Ora avrete tre link, uno per ogni stato: aggiungeteli al vostro lettore RSS preferito.
39
40Potete anche definire quanti articoli volete nel vostro feed RSS (valore di default: 50)-
41
42Informazioni dell'utente
43------------------------
44
45Potete cambiare il vostro nome, il vostro indirizzo email e abilitare l'``Autenticazione a due fattori``.
46
47Autenticazione a due fattori (2FA)
48~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49
50 L'autenticazione a due fattori (conosciuta anche come 2FA) é una tecnologia brevettata nel 1984 che offre l'identificazione degli utenti tramite una combinazione di due componenti differenti.
51
52 https://it.wikipedia.org/wiki/Autenticazione_a_due_fattori
53
54**Attenzione**: abilitare la 2FA dall'interfaccia di configurazione è possibile solamente se ciò è stato abilitato precedentemente in app/config/parameters.yml impostando la proprietà twofactor_auth su true (non dimenticate di eseguire il comando `php bin/console cache:clear -e=prod` dopo la modifica).
55
56Se abilitate la 2FA, ogni volta che vogliate accedere a wallabag, riceverete un codice via email. Dovrete inserire il codice nel seguente modulo.
57
58.. image:: ../../img/user/2FA_form.png
59 :alt: Two factor authentication
60 :align: center
61
62Se non volete ricevere il codice ogni volta che vogliate accedere, potete spuntare la casella ``I'm on a trusted computer``: wallabag vi ricorderá per 15 giorni.
63
64Password
65--------
66
67Qui potete cambiare la password (minimo 8 caratteri)
68
69Regole di tagging
70-----------------
71
72Se volete assegnare un tag ai nuovi articoli, questa parte della configurazione fa per voi.
73
74Cosa significa « regole di tagging » ?
75~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76
77Sono regole usate da wallabag per etichettare i nuovi articoli. Ogni volta che un nuovo articolo viene aggiunto, verranno usate tutte le regole di tagging per aggiungere le etichette che avete configurato, risparmiandovi quindi il lavoro di classificare manualmente i vostri articoli.
78
79Come le uso?
80~~~~~~~~~~~~
81
82Immaginiamo che vogliate taggare un contenuto come *« lettura corta »* quando il tempo di lettura è inferiore ai 3 minuti. In questo caso, dovreste mettere « readingTime <= 3 » nel campo **Regola**
83e *« lettura corta »* nel campo **Tag**. Molte etichette possono essere aggiunte simultaneamente separandole con una virgola: *« lettura corta, da leggere »*.
84Si possono scrivere regole complesse usando gli operatori predefiniti:
85se *« readingTime >= 5 AND domainName = "github.com" »* allora etichetta come *« lettura lunga, github »*.
86
87Quali variabili ed operatori posso usare per scrivere le regole?
88
89I seguenti operatori e variabili possono essere usati per creare regole di tagging (attenzione, per alcuni valori, dovete aggiungere le virgolette, per esempio ``language = "en"``):
90
91=========== ============================================== ========= ===========
92Variabile Significato Operatore Significato
93----------- ---------------------------------------------- --------- -----------
94title Titolo dell'articolo <= Minore di…
95url URL dell'articolo < Strettamente minore di…
96isArchived Se l'articolo é archiviato o no => Maggiore di…
97isStarred Se l'articolo é preferito o no > Strettamente maggiore di…
98content Il contenuto dell'articolo = Uguale a…
99language La lingua dell'aritcolo != Diverso da…
100mimetype The entry's mime-type OR Una regola o l'altra
101readingTime Il tempo di lettura dell'articolo stimato AND Una regola e l'altra
102domainName Il nome del dominio dell'articolo matches Vede se un soggetto corrisponde alla ricerca (indipendentemente dal maiuscolo o minuscolo). Esempio: titolo corrisponde a "football"
103=========== ============================================== ======== ==========
diff --git a/docs/it/user/configuring_mobile.rst b/docs/it/user/configuring_mobile.rst
new file mode 100644
index 00000000..f0ea54f1
--- /dev/null
+++ b/docs/it/user/configuring_mobile.rst
@@ -0,0 +1,12 @@
1Configurare le app mobili in modo che funzionino con wallabag
2=============================================================
3
4Passi per configurare l'app
5---------------------------
6
7- Per prima cosa *create un nuovo client* nella sezione ``API clients management``. Il nome della vostra app non importa quanto il ``Client ID`` ed il ``Client secret``. Segnatevi questi due valori.
8- Quando scaricate un'app mobile, questa chiederà l'indirizzo del server dell'istanza di wallabag ospitata. Per esempio, con wallabag.it questo è: ``https://app.wallabag.it``.
9- Chiederà anche i sopracitati ``Client ID`` e ``secret``. Si prega di inserirli nei campi di testo, quando richiesto.
10- Infine dovrete fornire il vostro ``username`` e la vostra ``password``. Queste sono le stesse credenziali che usate per fare il login in wallabag.
11
12Si prega anche di guardare la pagina `Android <android.html>`_. Specialmente la sezione *Limiti conosciuti*.
diff --git a/docs/it/user/create_account.rst b/docs/it/user/create_account.rst
new file mode 100644
index 00000000..c569962d
--- /dev/null
+++ b/docs/it/user/create_account.rst
@@ -0,0 +1,38 @@
1Creazione di un account e autenticazione
2========================================
3
4Registrazione
5-------------
6
7Sulla pagina di login, cliccate sul bottone ``Register``
8
9.. image:: ../../img/user/registration_form.png
10 :alt: Registration form
11 :align: center
12
13Dovrete completare il modulo. Assicuratevi di inserire un indirizzo email valido, quindi vi invieremo un'email di attivazione.
14
15.. image:: ../../img/user/sent_email.png
16 :alt: Email was sent to activate account
17 :align: center
18
19Controllate la vostra casella, in cui avrete una nuova mail con un link che assomiglia a questo ``http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4``. Cliccateci sopra per attivare il vostro account.
20
21Il vostro account é ora attivo
22
23.. image:: ../../img/user/activated_account.png
24 :alt: Welcome on board!
25 :align: center
26
27Login
28-----
29
30Il vostro account é ora abilitato, congratulazioni!
31
32Se siete sul vostro computer personale e volete restare connessi, spuntate la casella ``Keep me logged in``: wallabag vi ricorderá per un anno.
33
34.. image:: ../../img/user/login_form.png
35 :alt: Login form
36 :align: center
37
38
diff --git a/docs/it/user/errors_during_fetching.rst b/docs/it/user/errors_during_fetching.rst
new file mode 100644
index 00000000..d92b83dc
--- /dev/null
+++ b/docs/it/user/errors_during_fetching.rst
@@ -0,0 +1,37 @@
1
2Errori durante l'ottenimento degli articoli
3===========================================
4
5Perché l'ottenimento di un articolo fallisce?
6---------------------------------------------
7
8Ci possono essere varie ragioni:
9
10- problema del network
11- wallabag non può ottenere il contenuto a causa della struttura del sito web
12
13Potete provare a risolvere il problema da soli ( in modo che noi possiamo concentrarci nel migliorare wallabag internamente invece di scrivere siteconfig
14:) ).
15
16Potete provare a vedere se funziona qui: `http://f43.me/feed/test <http://f43.me/feed/test>`_ (usa quasi lo stesso sistema per ottenere contenuto).
17
18Se funziona lì e non su wallabag, significa che c'è qualcosa all'interno di wallabag che causa il malfunzionamento del parser (difficile da aggiustare: si prega di riportare il problema).
19
20Se non funziona, provate a estrarre un site config usando: `http://siteconfig.fivefilters.org/ <http://siteconfig.fivefilters.org/>`_ (seleziona quale parte del contenuto é effettivamente contenuto). Potete `leggere prima questa documentazione <http://help.fivefilters.org/customer/en/portal/articles/223153-site-patterns>`_.
21
22Potete testarlo sul sito **f43.m3**: cliccate su **Want to try a custom siteconfig?** e inseritvi il file generato in and put the generated file from siteconfig.fivefilters.org.
23
24Ripetete finché non avrete qualcosa di buono.
25
26Potete poi inviare una pull request a `https://github.com/fivefilters/ftr-site-config <https://github.com/fivefilters/ftr-site-config>`_ il quale é il repository ufficiale per i file siteconfig.
27
28Come posso provare a riottenere questo articolo?
29------------------------------------------------
30
31Se wallabag ha fallito a ottenere l'articolo, potete cliccare sul bottone di ricaricamento (il terzo bottone nella figura sottostante).
32
33.. image:: ../../img/user/refetch.png
34 :alt: Refetch content
35 :align: center
36
37
diff --git a/docs/it/user/faq.rst b/docs/it/user/faq.rst
new file mode 100644
index 00000000..decdfab1
--- /dev/null
+++ b/docs/it/user/faq.rst
@@ -0,0 +1,53 @@
1Domande frequenti
2=================
3
4Durante l'installazione ho riscontrato l'errore ``Error Output: sh: 1: @post-cmd: not found``
5---------------------------------------------------------------------------------------------
6
7Sembra che ci sia un problema con la vostra installazione di ``composer``. Provate a disinstallarlo e reinstallarlo.
8
9`Leggete la documentazione su composer per sapere come installarlo
10<https://getcomposer.org/doc/00-intro.md>`__.
11
12Non riesco a convalidare il modulo di registrazione
13---------------------------------------------------
14
15Assicuratevi che tutti i campi siano riempiti correttamente:
16
17* indirizzo email valido
18* stessa password nei due campi
19
20Non riesco a ricevere la mia mail di attivazione
21------------------------------------------------
22
23Siete sicuri che il vostro indirizzo email sia corretto? avete controllato la cartella di spam?
24
25Se ancora non vedete la mail di attivazione, assicuratevi di aver installato e configurato a dovere un mail transfer agent. Assicuratevi di includere una regola del firewall per SMTP. Per esempio, se usate firewalld:
26
27::
28
29 firewall-cmd --permanent --add-service=smtp
30 firewall-cmd --reload
31
32Infine, se avete SELinux abilitato, impostate la seguente regola:
33
34``setsebool -P httpd_can_sendmail 1``
35
36Quando clicco il link di attivazione, mi appare questo messaggio: ``L'utente con token di conferma "DtrOPfbQeVkWf6N" non esiste``.
37----------------------------------------------------------------------------------------------------------------------------------
38
39Avete giá attivato il vostro account oppure l'URL dell'email di attivazione é sbagliato.
40
41Ho dimenticato la mia password
42------------------------------
43
44Potete ripristinare la password cliccando il link``Hai dimenticato la password?``, nella pagina di login. Quindi, riempite il modulo con la vostra email o il vostro username e riceverete un'email per ripristinare la vostra password.
45
46Ho riscontrato l'errore ``failed to load external entity`` cercando di installare wallabag
47------------------------------------------------------------------------------------------
48
49Come descritto `qui <https://github.com/wallabag/wallabag/issues/2529>`_, modificate il vostro file ``web/app.php`` ed aggiungete questa linea: ``libxml_disable_entity_loader(false);`` sulla linea 5.
50
51Questo é un bug di Doctrine / PHP, non possiamo farci nulla.
52
53
diff --git a/docs/it/user/filters.rst b/docs/it/user/filters.rst
new file mode 100644
index 00000000..105cb1d6
--- /dev/null
+++ b/docs/it/user/filters.rst
@@ -0,0 +1,45 @@
1Trovate i vostri articoli grazie ai filtri
2------------------------------------------
3
4Per trovare facilmente gli articoli, potete usare i filtri.
5
6.. image:: ../../img/user/topbar.png
7 :alt: Top bar
8 :align: center
9
10Tutti questi filtri possono essere combinati.
11
12.. image:: ../../img/user/filters.png
13 :alt: Combine all filters
14 :align: center
15
16Stato
17-----
18
19Usate queste caselle per trovare articoli archiviati o preferiti.
20
21Immagine di anteprima
22---------------------
23
24Selezionate questo filtro se volete trovare articoli con un'immagine di anteprima.
25
26Lingua
27------
28
29wallabag (attraverso graby) puó individuare la lingua di un articolo. É facile per voi trovare articoli scritti in una lingua specifica.
30
31Tempo di lettura
32----------------
33
34wallabag stima quanto tempo é necessario per leggere un articolo. Con questo filtro potete, per esempio, trovare articoli con un tempo di lettura compreso fra 2 e 5 minuti.
35
36Nome di dominio
37---------------
38
39Grazie a questo filtro potete trovare articoli dallo stesso nome di dominio. Per esempio, scrivete in questo campo ``bbc.co.uk`` per trovare gli articoli di questo sito.
40
41Data di creazione
42-----------------
43
44Quando salvate un articolo, wallabag memorizza la data corrente. ció é comodo, per esempio, per trovare articoli salvati tra il primo ed il 31 di Gennaio.
45
diff --git a/docs/it/user/import.rst b/docs/it/user/import.rst
new file mode 100644
index 00000000..c249acfd
--- /dev/null
+++ b/docs/it/user/import.rst
@@ -0,0 +1,115 @@
1Migrare da...
2=============
3
4In wallabag 2.x, potete importare dati da:
5
6- `Pocket <#id1>`_
7- `Readability <#id2>`_
8- `Instapaper <#id4>`_
9- `wallabag 1.x <#id6>`_
10- `wallabag 2.x <#id7>`_
11
12Abbiamo anche sviluppato `uno script per eseguire migrazioni tramite la linea di comando <#import-via-command-line-interface-cli>`_.
13
14Poiché le importazioni possono richiedere molto tempo, abbiamo sviluppato un sistema di compiti asincroni. *inserisci qui link una volta tradotto articolo su asynchronous*
15
16Pocket
17------
18
19Creare una nuova applicazione su Pocket
20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22Per importare dati da Pocket usiamo l'API di Pocket. Dovete creare una nuova applicazione sul loro sito per sviluppatori per continuare.
23
24* Create una nuova applicazione `sul sito per sviluppatori <https://getpocket.com/developer/apps/new>`_
25* Riempite i campi richiesti: nome dell'applicazione, descrizione dell'applicazione, permessi (solo **retrieve**), piattaforma (**web**), accettate i termini di servizio ed inviate la vostra nuova applicazione
26
27Pocket vi dará una **Consumer Key** (per esempio, `49961-985e4b92fe21fe4c78d682c1`). Dovete configurare la ``pocket_consumer_key`` dal menu ``Config``.
28
29Ora é tutto pronto per migrare da Pocket.
30
31Importate i vostri dati su wallabag 2.x
32~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33
34Cliccate sul link `Importa` nel menu, su `Importa contenuti` nella sezione Pocket e poi su ``Connetti a Pocket ed importa i dati``
35
36Dovete autorizzare wallabag a interagire con il vostro account Pocket.
37I vostri dati saranno importati. L'importazione di dati puó essere un processo esigente per il vostro server.
38
39Instapaper
40----------
41
42Esportate i vostri dati di Instapaper
43~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44
45Sulla pagina delle impostazioni (`https://www.instapaper.com/user <https://www.instapaper.com/user>`_), cliccate su "Download .CSV file" nella sezione "Export". Verrá scaricato un file CSV (like ``instapaper-export.csv``).
46
47Importate i vostri dati in wallabag 2.x
48~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49
50Cliccate sul link `Importa` sul menu, poi su `Importa contenuti` nella sezione di Instapaper, quindi selezionate il vostro file CSV e caricatelo.
51
52I vostri dati saranno importati. L'importazione di dati puó essere un'operazione esigente per il server.
53
54wallabag 1.x
55------------
56
57Se state usando wallabag 1.x, dovete esportare i dati prima di migrare a wallabag 2.x, poiché l'applicazione ed il suo database sono cambiati molto. Potete esportare i vostri dati dalla vostra vecchia installazione di wallabag sulla pagina Config di questa.
58
59.. image:: ../../img/user/export_v1.png
60 :alt: Exporting from wallabag v1
61 :align: center
62
63.. nota::
64 Se avete account multipli nella stessa istanza di wallabag, ogni utente dovrá esportare da v1 ed importare su v2.
65
66.. nota::
67 Se riscontrate problemi durante l'importazione o l'esportazione, non esitate a `chiedere supporto <https://www.wallabag.org/pages/support.html>`__.
68
69Quando avrete ottenuto il file json contenente i vostri articoli, potrete installare wallabag v2 seguendo, se necessario, `la procedura standard *link mancante*.
70
71Dopo aver creato un account utente sulla vostra nuova istanza di wallabag v2, dovete andare alla sezione `Importa` e selezionare `Importa da wallabag v1`. Selezionate il vostro file json e caricatelo.
72
73.. image:: ../../img/user/import_wallabagv1.png
74 :alt: Import from wallabag v1
75 :align: center
76
77wallabag 2.x
78------------
79
80Dalla istanza di wallabag precedente sulla quale eravate prima, andate su `Tutti gli articoli`, poi esportate questi articoli come json.
81
82.. image:: ../../img/user/export_v2.png
83 :alt: Export depuis wallabag v2
84 :align: center
85
86Dalla vostra nuova istanza di wallabag, create un account utente e cliccate sul link nel menu per procedere all'importazione. Scegliete di importare da wallabag v2 e selezionate il vostro file json per caricarlo.
87
88.. nota::
89 Se riscontrate problemi durante l'importazione o l'esportazione, non esitate a `chiedere supporto <https://www.wallabag.org/pages/support.html>`__.
90
91Importate dall'interfaccia a riga di comando (CLI)
92--------------------------------------------------
93
94Se avete un accesso CLI al vostro server web, potete eseguire questo comando per importare ció che avete esportato da wallabag v1:
95
96::
97
98 bin/console wallabag:import 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
99
100Rimpiazzate i valori:
101
102* ``1`` é l'identificatore utente nel database (l'ID del primo utente creato su wallabag é 1)
103* ``~/Downloads/wallabag-export-1-2016-04-05.json`` é il percorso del file esportato da wallabag v1
104
105Se volete segnare tutti questi articoli come giá letti, potete aggiungere l'opzione ``--markAsRead``.
106Per importare un file di wallabag v2, dovete aggiungere l'opzione ``--importer=v2``.
107
108Come risultato avrete questo messaggio:
109
110::
111
112 Start : 05-04-2016 11:36:07 ---
113 403 imported
114 0 already saved
115 End : 05-04-2016 11:36:09 ---
diff --git a/docs/it/user/installation.rst b/docs/it/user/installation.rst
new file mode 100644
index 00000000..a79a31d3
--- /dev/null
+++ b/docs/it/user/installation.rst
@@ -0,0 +1,339 @@
1
2
3Installa wallabag
4=================
5
6Requisiti
7---------
8wallabag é compatibile con PHP >= 5.5, incluso PHP 7.
9
10.. nota::
11
12 Per installare facilmente wallabag vi forniamo un Makefile, dunque avrete bisogno dello strumento make.
13
14wallabag utilizza un gran numero di librerie PHP per funzionare. Queste librerie vanno installate tramite uno strumento chiamato Composer. Dovete installarlo se non lo avete giá fatto e assicuratevi di usare la versione 1.2 ( se giá avete Composer, esegui il comando composer selfupdate).
15
16Installa Composer:
17
18::
19 curl -s http://getcomposer.org/installer | php
20
21`Qui <https://getcomposer.org/doc/00-intro.md>`__ puoi trovare istruzioni specifiche.
22
23Per far funzionare wallabag avrete anche bisogno delle seguenti estensioni. Alcune di queste dovrebbero essere giá attive nella vostra versione di PHP, per cui potrebbe non essere necessario installare tutti i pacchetti corrispondenti.
24
25- php-session
26- php-ctype
27- php-dom
28- php-hash
29- php-simplexml
30- php-json
31- php-gd
32- php-mbstring
33- php-xml
34- php-tidy
35- php-iconv
36- php-curl
37- php-gettext
38- php-tokenizer
39- php-bcmath
40
41wallabag usa PDO per connettersi, per cui avrete bisogno di uno dei seguenti:
42
43-pdo_mysql
44-pdo_sqlite
45-pdo_pgsql
46
47E il corrispondente database server.
48
49Installazione
50-------------
51
52Su un web server dedicato (raccomandato)
53~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54
55Per installare wallabag stesso dovete eseguire i seguenti comandi:
56
57::
58
59 git clone https://github.com/wallabag/wallabag.git
60 cd wallabag && make install
61
62Per attivare il server incorporato di PHP e verificare che l’installazione sia andata a buon fine potete eseguire:
63
64::
65
66 make run
67
68E accedere a wallabag all’indirizzo http://ipdeltuoserver:8000
69
70.. consiglio::
71
72 Per definire i parametri con variabili d’ambiente é necessario impostare queste ultime con il prefisso ``SYMFONY_``. Per esempio, ``SYMFONY__DATABASE_DRIVER``. Puoi guardare la `documentazione di Symfony <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ per maggiori informazioni.
73
74A proposito di hosting condiviso
75~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76
77Offriamo un pacchetto con tutte le dipendenze incluse. La configurazione di default usa SQLite per il database. Se volete cambiare queste impostazioni, modificate app/config/parameters.yml.
78
79Abbiamo giá creato un utente: il login e la password sono wallabag.
80
81.. attenzione:
82
83 Con questo pacchetto, wallabag non controlla le estensioni obbligatorie usate nell’applicazione (questi controlli sono fatti durante ``composer install`` quando hai un server web dedicato, vedi sopra).
84
85Eseguite questo comando per scaricare ed estrarre il pacchetto piú aggiornato:
86
87.. code-block:: bash
88
89 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
90
91Troverete il `hash md5 del pacchetto piú aggiornato sul nostro sito <https://www.wallabag.org/pages/download-wallabag.html>`_.
92
93Ora leggete la seguente documentazione per creare il vostro host virtuale poi accedete al vostro wallabag. Se avete cambiato la configurazione del database per usare MySQL o PostrgreSQL, dovrete creare un utente con il comando php bin/console wallabag:install --env=prod .
94
95Installazione con Docker
96~~~~~~~~~~~~~~~~~~~~~~~~
97
98Offriamo un’immagine Docker per installare wallabag facilmente. Guarda la nostra repository su `Docker Hub <https://hub.docker.com/r/wallabag/wallabag/>`__ per maggiori informazioni.
99
100Comando per avviare il container
101
102.. code-block:: bash
103
104 docker pull wallabag/wallabag
105
106
107Host virtuali
108-------------
109
110Configurazione su Apache
111~~~~~~~~~~~~~~~~~~~~~~~~
112
113Non dimenticate di attivare la mod *rewrite* di Apache
114
115.. code-block:: bash
116
117 a2enmod rewrite && systemctl reload apache2
118
119Assumendo che voi abbiate installato wallabag nella cartella ``/var/www/wallabag`` e che vogliate usare PHP come un modulo Apache, ecco un vhost per l’applicazione:
120
121::
122
123 <VirtualHost *:80>
124 ServerName domain.tld
125 ServerAlias www.domain.tld
126
127 DocumentRoot /var/www/wallabag/web
128 <Directory /var/www/wallabag/web>
129 AllowOverride None
130 Order Allow,Deny
131 Allow from All
132
133 <IfModule mod_rewrite.c>
134 Options -MultiViews
135 RewriteEngine On
136 RewriteCond %{REQUEST_FILENAME} !-f
137 RewriteRule ^(.*)$ app.php [QSA,L]
138 </IfModule>
139 </Directory>
140
141 # uncomment the following lines if you install assets as symlinks
142 # or run into problems when compiling LESS/Sass/CoffeScript assets
143 # <Directory /var/www/wallabag>
144 # Options FollowSymlinks
145 # </Directory>
146
147 # optionally disable the RewriteEngine for the asset directories
148 # which will allow apache to simply reply with a 404 when files are
149 # not found instead of passing the request into the full symfony stack
150 <Directory /var/www/wallabag/web/bundles>
151 <IfModule mod_rewrite.c>
152 RewriteEngine Off
153 </IfModule>
154 </Directory>
155 ErrorLog /var/log/apache2/wallabag_error.log
156 CustomLog /var/log/apache2/wallabag_access.log combined
157 </VirtualHost>
158
159Dopo aver riavviato o ricaricato Apache dovreste essere in grado di accedere a wallabag tramite l’indirizzo http://domain.tld.
160
161Configurazione su Nginx
162~~~~~~~~~~~~~~~~~~~~~~~
163
164Assumendo che abbiate installato wallabag nella cartella ``/var/www/wallabag``, ecco una ricetta per l’applicazione:
165
166::
167
168 server {
169 server_name domain.tld www.domain.tld;
170 root /var/www/wallabag/web;
171
172 location / {
173 # try to serve file directly, fallback to app.php
174 try_files $uri /app.php$is_args$args;
175 }
176 location ~ ^/app\.php(/|$) {
177 fastcgi_pass unix:/var/run/php5-fpm.sock;
178 fastcgi_split_path_info ^(.+\.php)(/.*)$;
179 include fastcgi_params;
180 # When you are using symlinks to link the document root to the
181 # current version of your application, you should pass the real
182 # application path instead of the path to the symlink to PHP
183 # FPM.
184 # Otherwise, PHP's OPcache may not properly detect changes to
185 # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
186 # for more information).
187 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
188 fastcgi_param DOCUMENT_ROOT $realpath_root;
189 # Prevents URIs that include the front controller. This will 404:
190 # http://domain.tld/app.php/some-path
191 # Remove the internal directive to allow URIs like this
192 internal;
193 }
194
195 # return 404 for all other php files not matching the front controller
196 # this prevents access to other php files you don't want to be accessible.
197 location ~ \.php$ {
198 return 404;
199 }
200
201 error_log /var/log/nginx/wallabag_error.log;
202 access_log /var/log/nginx/wallabag_access.log;
203 }
204
205
206Dopo aver riavviato o ricaricato Nginx dovreste essere in grado di accedere a wallabag tramite l’indirizzo http://domain.tld.
207
208Configurazione su lighttpd
209~~~~~~~~~~~~~~~~~~~~~~~~~~
210
211Assumendo che abbiate installato wallabag nella cartella /var/www/wallabag, ecco una ricetta per l’applicazione (modificate il vostro file lighttpd.conf e incollatevi questa configurazione):
212
213::
214
215 server.modules = (
216 "mod_fastcgi",
217 "mod_access",
218 "mod_alias",
219 "mod_compress",
220 "mod_redirect",
221 "mod_rewrite",
222 )
223 server.document-root = "/var/www/wallabag/web"
224 server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
225 server.errorlog = "/var/log/lighttpd/error.log"
226 server.pid-file = "/var/run/lighttpd.pid"
227 server.username = "www-data"
228 server.groupname = "www-data"
229 server.port = 80
230 server.follow-symlink = "enable"
231 index-file.names = ( "index.php", "index.html", "index.lighttpd.html")
232 url.access-deny = ( "~", ".inc" )
233 static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
234 compress.cache-dir = "/var/cache/lighttpd/compress/"
235 compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
236 include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
237 include_shell "/usr/share/lighttpd/create-mime.assign.pl"
238 include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
239 dir-listing.activate = "disable"
240
241 url.rewrite-if-not-file = (
242 "^/([^?]*)(?:\?(.*))?" => "/app.php?$1&$2",
243 "^/([^?]*)" => "/app.php?=$1",
244 )
245
246
247Diritti di accesso alle cartelle del progetto
248---------------------------------------------
249
250Ambiente di test
251~~~~~~~~~~~~~~~~
252
253Quando vorremo solamente testare wallabag, eseguiremo il comando ``make run`` per avviare la nostra istanza di wallabag e tutto funzionerá correttamente poiché l’utente che ha iniziato il progetto puó accedere alla cartella corrente senza problemi.
254
255Ambiente di produzione
256~~~~~~~~~~~~~~~~~~~~~~
257
258Non appena useremo Apache o Nginx per accedere alla nostra istanza di wallabag, e non avviandola con il comando ``make run``, dovremo aver cura di concedere i giusti diritti sulle giuste cartelle per far rimanere sicure tutte le cartelle del progetto.
259
260Per fare ció, il nome della cartella, conosciuta come ``DocumentRoot`` (per Apache) o ``root`` (per Nginx), deve essere assolutamente accessibile all’utente Apache/Nginx. Il suo nome è generalmente ``www-data``, ``apache`` o ``nobody`` (dipendendo dal sistema Linux utilizzato).
261
262Quindi la cartella ``/var/www/wallabag/web`` deve essere accessibile da quest’ultimo. Questo tuttavia potrebbe non essere sufficiente se solo ci importa di questa cartella poiché potremmo incontrare una pagina bianca o un errore 500 quando cerchiamo di accedere alla homepage del progetto.
263
264Questo é dato dal fatto che dovremo concedere gli stessi diritti di accesso di ``/var/www/wallabag/web`` alla cartella ``/var/www/wallabag/var`` . Risolveremo quindi il problema con il seguente comando:
265
266.. code-block:: bash
267
268 chown -R www-data:www-data /var/www/wallabag/var
269
270
271Deve essere tutto uguale per le seguenti cartelle:
272
273* /var/www/wallabag/bin/
274* /var/www/wallabag/app/config/
275* /var/www/wallabag/vendor/
276* /var/www/wallabag/data/
277
278inserendo
279
280.. code-block:: bash
281
282 chown -R www-data:www-data /var/www/wallabag/bin
283 chown -R www-data:www-data /var/www/wallabag/app/config
284 chown -R www-data:www-data /var/www/wallabag/vendor
285 chown -R www-data:www-data /var/www/wallabag/data/
286
287Altrimenti prima o poi incontreremo questi messaggi di errore:
288
289.. code-block:: bash
290
291 Unable to write to the "bin" directory.
292 file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied
293 file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied
294
295Regole aggiuntive per SELinux
296~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
297
298se SELinux é abilitato sul vostro sistema, dovrete configurare contesti aggiuntivi in modo che wallabag funzioni correttamente. Per controllare se SELinux é abilitato, semplicemente inserisci ció che segue:
299
300``getenforce``
301
302Questo mostrerá ``Enforcing`` se SELinux é abilitato. Creare un nuovo contesto coinvolge la seguente sintassi:
303
304``semanage fcontext -a -t <context type> <full path>``
305
306Per esempio:
307
308``semanage fcontext -a -t httpd_sys_content_t "/var/www/wallabag(/.*)?"``
309
310Questo applicherá ricorsivamente il constesto httpd_sys_content_t alla cartella wallabag e a tutti i file e cartelle sottostanti. Sono necessarie le seguenti regole:
311
312+-----------------------------------+----------------------------+
313| Percorso completo | Contesto |
314+===================================+============================+
315| /var/www/wallabag(/.*)? | ``httpd_sys_content_t`` |
316+-----------------------------------+----------------------------+
317| /var/www/wallabag/data(/.*)? | ``httpd_sys_rw_content_t`` |
318+-----------------------------------+----------------------------+
319| /var/www/wallabag/var/logs(/.*)? | ``httpd_log_t`` |
320+-----------------------------------+----------------------------+
321| /var/www/wallabag/var/cache(/.*)? | ``httpd_cache_t`` |
322+-----------------------------------+----------------------------+
323
324Dopo aver creato questi contesti, inserite ció che segue per applicare le vostre regole:
325
326``restorecon -R -v /var/www/wallabag``
327
328Potrete controllare i contesti in una cartella scrivendo ``ls -lZ`` e potrete vedere tutte le regole correnti con ``semanage fcontext -l -C``.
329
330Se state installando il pacchetto latest-v2-package, é necessaria un'ulteriore regola durante la configurazione iniziale:
331
332``semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/wallabag/var"``
333
334Dopo che siate acceduti con successo al vostro wallabag e abbiate completato la configurazione iniziale, questo contesto puó essere rimosso:
335
336::
337
338 semanage fcontext -d -t httpd_sys_rw_content_t "/var/www/wallabag/var"
339 retorecon -R -v /var/www/wallabag/var
diff --git a/docs/it/user/parameters.rst b/docs/it/user/parameters.rst
new file mode 100644
index 00000000..da9555e1
--- /dev/null
+++ b/docs/it/user/parameters.rst
@@ -0,0 +1,93 @@
1Qual'é il significato dei parametri?
2====================================
3
4File `parameters.yml` di default
5--------------------------------
6
7Ecco l'ultima versione del file `app/config/parameters.yml` di default. Assicuratevi che la vostra rispetti questa.
8Se non sapete quale parametro dovete impostare, si prega di lasciare quello di default.
9
10.. code-block:: yml
11
12 parameters:
13 database_driver: pdo_sqlite
14 database_host: 127.0.0.1
15 database_port: null
16 database_name: symfony
17 database_user: root
18 database_password: null
19 database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite'
20 database_table_prefix: wallabag_
21 database_socket: null
22 mailer_transport: smtp
23 mailer_host: 127.0.0.1
24 mailer_user: null
25 mailer_password: null
26 locale: en
27 secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
28 twofactor_auth: true
29 twofactor_sender: no-reply@wallabag.org
30 fosuser_registration: true
31 fosuser_confirmation: true
32 from_email: no-reply@wallabag.org
33 rss_limit: 50
34 rabbitmq_host: localhost
35 rabbitmq_port: 5672
36 rabbitmq_user: guest
37 rabbitmq_password: guest
38 redis_scheme: tcp
39 redis_host: localhost
40 redis_port: 6379
41 redis_path: null
42
43Significato di ogni parametro
44-----------------------------
45
46.. csv-table:: Parametri del database
47 :header: "nome", "default", "descrizione"
48
49 "database_driver", "pdo_sqlite", "Dovrebbe essere pdo_sqlite o pdo_mysql o pdo_pgsql"
50 "database_host", "127.0.0.1", "Host del vostro database (generalmente localhost o 127.0.0.1)"
51 "database_port", "~", "Porta del vostro database (potete lasciare ``~`` per usare quella di default)"
52 "database_name", "symfony", "Nome del vostro database"
53 "database_user", "root", "L'utente che puó scrivere su questo database"
54 "database_password", "~", "Password di quell'utente"
55 "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "Solo per SQLite, definite dove mettere il file del database. Lasciatelo vuoto se usate un altro database"
56 "database_table_prefix", "wallabag_", "Tutte le tavole di wallabag avranno quella stringa come prefisso. Potete includere un ``_`` per maggior chiarezza"
57 "database_socket", "null", "Se il vostro database usa un socket al posto di tcp, inserite il percorso del socket (altri parametri di connessione saranno ignorati)"
58
59.. csv-table:: Configurazione per inviare email da wallabag
60 :header: "nome", "default", "descrizione"
61
62 "mailer_transport", "smtp", "Il metodo di trasporto esatto usato per consegnare email. Valori validi sono: smtp, gmail, mail, sendmail, null (ció disattiva il mailer)"
63 "mailer_host", "127.0.0.1", "L'host al quale connettersi quando si usa smtp come metodo di trasporto."
64 "mailer_user", "~", "Lo username quando si usa smtp come metodo di trasporto."
65 "mailer_password", "~", "La password quando si usa smtp come metodo di trasporto."
66
67.. csv-table:: Altre opzioni di wallabag
68 :header: "nome", "default", "descrizione"
69
70 "locale", "en", "Lingua di default della vostra istanza di wallabag (come en, fr, es, etc.)"
71 "secret", "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv", "Questa é una stringa che dovrebbe essere unica per la vostra applicazione ed é usata comunemente per aggiungere piú entropia alle operazioni di sicurezza."
72 "twofactor_auth", "true", "true per abilitare l'autenticazione a due fattori"
73 "twofactor_sender", "no-reply@wallabag.org", "Email del mittente per ricevere il codice a due fattori"
74 "fosuser_registration", "true", "true per abilitare la registrazione pubblica"
75 "fosuser_confirmation", "true", "true per inviare una mail di conferma per ogni registrazione"
76 "from_email", "no-reply@wallabag.org", "Indirizzo email usato nel campo Da: in ogni email"
77 "rss_limit", "50", "Limite per i feed RSS"
78
79.. csv-table:: Configurazione di RabbitMQ
80 :header: "nome", "default", "descrizione"
81
82 "rabbitmq_host", "localhost", "Host del vostro RabbitMQ"
83 "rabbitmq_port", "5672", "Porta del vostro RabbitMQ"
84 "rabbitmq_user", "guest", "Utente che puó leggere le code"
85 "rabbitmq_password", "guest", "Password di quell'utente"
86
87.. csv-table:: Configurazione di Redis
88 :header: "nome", "default", "descrizione"
89
90 "redis_scheme", "tcp", "Specifica il protocollo da usare per comunicare con una istanza di Redis. Valori validi sono: tcp, unix, http"
91 "redis_host", "localhost", "IP o hostname del server bersaglio (ignorato per lo schema unix)"
92 "redis_port", "6379", "Porta TCP/IP del server bersaglio (ignorato per lo schema unix)"
93 "redis_path", "null", "Percorso del file domain socket di UNIX usato quando ci si connette a Redis usando domain socket di UNIX"
diff --git a/docs/it/user/upgrade.rst b/docs/it/user/upgrade.rst
new file mode 100644
index 00000000..86122223
--- /dev/null
+++ b/docs/it/user/upgrade.rst
@@ -0,0 +1,102 @@
1Aggiornate la vostra installazione di wallabag
2==============================================
3
4Troverete qui i differenti modi per aggiornare il vostro wallabag:
5
6- `da 2.0.x a 2.1.1 <#upgrade-from-2-0-x-to-2-1-1>`_
7- `da 2.1.x a 2.1.y <#upgrading-from-2-1-x-to-2-1-y>`_
8- `da 1.x a 2.x <#from-wallabag-1-x>`_
9
10Aggiornate da 2.0.x a 2.1.1
11---------------------------
12
13.. attenzione::
14
15 prima di questa migrazione, se avete configurato l'importazione di Pocket aggiungendo la vostra consumer key nelle Impostazioni interne, si prega di farne un backup: dovrete aggiungere questa nella pagina di configurazione dopo l'aggiornamento.
16
17Aggiornamento su un web server dedicato
18^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19:
20
21 rm -rf var/cache/*
22 git fetch origin
23 git fetch --tags
24 git checkout 2.1.1 --force
25 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
26 php bin/console doctrine:migrations:migrate --env=prod
27 php bin/console cache:clear --env=prod
28
29Aggiornamento su un hosting condiviso
30^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31Fate un backup del file ``app/config/parameters.yml``.
32Scaricate la versione 2.1.1 di wallabag:
33
34.. code-block:: bash
35
36 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
37
38(hash md5 del pacchetto 2.1.1: ``9584a3b60a2b2a4de87f536548caac93``)
39
40Estraete l'archivio nella vostra cartella di wallabag e sostituite ``app/config/parameters.yml`` con il vostro.
41
42Controllate che il vostro ``app/config/parameters.yml`` contenga tutti i parametri richiesti. Potete trovare qui la documentazione sui parametri *link mancante*.
43
44Se usate SQLite, dovete anche copiare la vostra cartella ``data/`` dentro la nuova installazione.
45
46Svuotate la cartella ``var/cache``.
47
48Dovete eseguire delle query di SQL per aggiornare il vostro database. Assumiamo che il prefisso della tabella sia ``wallabag_`` e che il database sia MySQL:
49
50.. code-block:: sql
51
52 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
53 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
54 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
55 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
56 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
57 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
58 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
59
60Aggiornamento da 2.1.x a 2.1.y
61------------------------------
62
63Aggiornamento su un web server dedicato
64^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
65
66Per aggiornare la vostra installazione di wallabag ed ottenere l'ultima versione, eseguite il seguente comando nella vostra cartella wallabag:
67
68::
69
70 make update
71
72Aggiornamento su un hosting condiviso
73^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
74
75Fate un backup del file ``app/config/parameters.yml``.
76
77Scaricate l'ultima versione di wallabag:
78
79. code-block:: bash
80
81 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
82
83Troverete il `hash md5 dell'ultima versione del pacchetto sul nostro sito <https://www.wallabag.org/pages/download-wallabag.html>`_.
84
85Estraete l'archivio nella vostra cartella di wallabag e rimpiazzate ``app/config/parameters.yml`` con il vostro.
86
87Controllate che il vostro ``app/config/parameters.yml`` contenga tutti i parametri richiesti.
88
89Potete trovare qui la documentazione sui parametri *link mancante*.
90
91Se usate SQLite, dovete anche copiare la vostra cartella ``data/`` dentro la nuova installazione.
92
93Svuotate la cartella ``var/cache``.
94
95Da wallabag 1.x
96---------------
97
98Non esiste uno script automatico per aggiornare da wallabag 1.x a wallabag 2.x. Dovete:
99
100- esportare i vostri dati
101- installare wallabag 2.x (leggete la documentazione a proposito dell'installazione *link mancante*)
102- importate i dati in questa nuova installazione (leggete la documentazione a proposito dell'importazione)
diff --git a/scripts/release.sh b/scripts/release.sh
index e118b87e..bfb65684 100644
--- a/scripts/release.sh
+++ b/scripts/release.sh
@@ -12,6 +12,7 @@ mkdir $TMP_FOLDER/$RELEASE_FOLDER
12git clone git@github.com:wallabag/wallabag.git -b $VERSION $TMP_FOLDER/$RELEASE_FOLDER/$VERSION 12git clone git@github.com:wallabag/wallabag.git -b $VERSION $TMP_FOLDER/$RELEASE_FOLDER/$VERSION
13cd $TMP_FOLDER/$RELEASE_FOLDER/$VERSION && SYMFONY_ENV=$ENV composer up -n --no-dev 13cd $TMP_FOLDER/$RELEASE_FOLDER/$VERSION && SYMFONY_ENV=$ENV composer up -n --no-dev
14cd $TMP_FOLDER/$RELEASE_FOLDER/$VERSION && php bin/console wallabag:install --env=$ENV 14cd $TMP_FOLDER/$RELEASE_FOLDER/$VERSION && php bin/console wallabag:install --env=$ENV
15cd $TMP_FOLDER/$RELEASE_FOLDER/$VERSION && php bin/console assets:install --env=$ENV --symlink --relative
15cd $TMP_FOLDER/$RELEASE_FOLDER && tar czf wallabag-$VERSION.tar.gz --exclude="var/cache/*" --exclude="var/logs/*" --exclude="var/sessions/*" --exclude=".git" $VERSION 16cd $TMP_FOLDER/$RELEASE_FOLDER && tar czf wallabag-$VERSION.tar.gz --exclude="var/cache/*" --exclude="var/logs/*" --exclude="var/sessions/*" --exclude=".git" $VERSION
16echo "MD5 checksum of the package for wallabag $VERSION" 17echo "MD5 checksum of the package for wallabag $VERSION"
17md5 $TMP_FOLDER/$RELEASE_FOLDER/wallabag-$VERSION.tar.gz 18md5 $TMP_FOLDER/$RELEASE_FOLDER/wallabag-$VERSION.tar.gz
diff --git a/src/Wallabag/CoreBundle/Helper/HttpClientFactory.php b/src/Wallabag/CoreBundle/Helper/HttpClientFactory.php
index 8891887b..1ac8feb1 100644
--- a/src/Wallabag/CoreBundle/Helper/HttpClientFactory.php
+++ b/src/Wallabag/CoreBundle/Helper/HttpClientFactory.php
@@ -6,6 +6,7 @@ use Graby\Ring\Client\SafeCurlHandler;
6use GuzzleHttp\Client; 6use GuzzleHttp\Client;
7use GuzzleHttp\Cookie\CookieJar; 7use GuzzleHttp\Cookie\CookieJar;
8use GuzzleHttp\Event\SubscriberInterface; 8use GuzzleHttp\Event\SubscriberInterface;
9use Psr\Log\LoggerInterface;
9 10
10/** 11/**
11 * Builds and configures the Guzzle HTTP client. 12 * Builds and configures the Guzzle HTTP client.
@@ -19,6 +20,7 @@ class HttpClientFactory
19 private $cookieJar; 20 private $cookieJar;
20 21
21 private $restrictedAccess; 22 private $restrictedAccess;
23 private $logger;
22 24
23 /** 25 /**
24 * HttpClientFactory constructor. 26 * HttpClientFactory constructor.
@@ -26,12 +28,14 @@ class HttpClientFactory
26 * @param \GuzzleHttp\Event\SubscriberInterface $authenticatorSubscriber 28 * @param \GuzzleHttp\Event\SubscriberInterface $authenticatorSubscriber
27 * @param \GuzzleHttp\Cookie\CookieJar $cookieJar 29 * @param \GuzzleHttp\Cookie\CookieJar $cookieJar
28 * @param string $restrictedAccess this param is a kind of boolean. Values: 0 or 1 30 * @param string $restrictedAccess this param is a kind of boolean. Values: 0 or 1
31 * @param LoggerInterface $logger
29 */ 32 */
30 public function __construct(SubscriberInterface $authenticatorSubscriber, CookieJar $cookieJar, $restrictedAccess) 33 public function __construct(SubscriberInterface $authenticatorSubscriber, CookieJar $cookieJar, $restrictedAccess, LoggerInterface $logger)
31 { 34 {
32 $this->authenticatorSubscriber = $authenticatorSubscriber; 35 $this->authenticatorSubscriber = $authenticatorSubscriber;
33 $this->cookieJar = $cookieJar; 36 $this->cookieJar = $cookieJar;
34 $this->restrictedAccess = $restrictedAccess; 37 $this->restrictedAccess = $restrictedAccess;
38 $this->logger = $logger;
35 } 39 }
36 40
37 /** 41 /**
@@ -39,8 +43,10 @@ class HttpClientFactory
39 */ 43 */
40 public function buildHttpClient() 44 public function buildHttpClient()
41 { 45 {
46 $this->logger->log('debug', 'Restricted access config enabled?', array('enabled' => (int) $this->restrictedAccess));
47
42 if (0 === (int) $this->restrictedAccess) { 48 if (0 === (int) $this->restrictedAccess) {
43 return null; 49 return;
44 } 50 }
45 51
46 // we clear the cookie to avoid websites who use cookies for analytics 52 // we clear the cookie to avoid websites who use cookies for analytics
diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php
index b9532fa2..4071301d 100644
--- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php
+++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php
@@ -106,8 +106,9 @@ class EntryRepository extends EntityRepository
106 $qb->andWhere('e.isArchived = true'); 106 $qb->andWhere('e.isArchived = true');
107 } 107 }
108 108
109 // We lower() all parts here because PostgreSQL 'LIKE' verb is case-sensitive
109 $qb 110 $qb
110 ->andWhere('e.content LIKE :term OR e.title LIKE :term')->setParameter('term', '%'.$term.'%') 111 ->andWhere('lower(e.content) LIKE lower(:term) OR lower(e.title) LIKE lower(:term) OR lower(e.url) LIKE lower(:term)')->setParameter('term', '%'.$term.'%')
111 ->leftJoin('e.tags', 't') 112 ->leftJoin('e.tags', 't')
112 ->groupBy('e.id'); 113 ->groupBy('e.id');
113 114
diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml
index 036735ec..51d6ab47 100644
--- a/src/Wallabag/CoreBundle/Resources/config/services.yml
+++ b/src/Wallabag/CoreBundle/Resources/config/services.yml
@@ -74,6 +74,7 @@ services:
74 - "@bd_guzzle_site_authenticator.authenticator_subscriber" 74 - "@bd_guzzle_site_authenticator.authenticator_subscriber"
75 - "@wallabag_core.guzzle.cookie_jar" 75 - "@wallabag_core.guzzle.cookie_jar"
76 - '@=service(''craue_config'').get(''restricted_access'')' 76 - '@=service(''craue_config'').get(''restricted_access'')'
77 - '@logger'
77 78
78 wallabag_core.guzzle.cookie_jar: 79 wallabag_core.guzzle.cookie_jar:
79 class: GuzzleHttp\Cookie\FileCookieJar 80 class: GuzzleHttp\Cookie\FileCookieJar
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
index 8ae1c400..3d65c311 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
@@ -1,7 +1,7 @@
1security: 1security:
2 login: 2 login:
3 page_title: '¡Bienvenido a wallabag !' 3 page_title: '¡Bienvenido a wallabag!'
4 keep_logged_in: 'Manténgame conectado' 4 keep_logged_in: 'Permanecer conectado'
5 forgot_password: '¿Se ha olvidado de su contraseña?' 5 forgot_password: '¿Se ha olvidado de su contraseña?'
6 submit: 'Conectarse' 6 submit: 'Conectarse'
7 register: 'Registrarse' 7 register: 'Registrarse'
@@ -9,7 +9,7 @@ security:
9 password: 'Contraseña' 9 password: 'Contraseña'
10 cancel: 'Cancelar' 10 cancel: 'Cancelar'
11 resetting: 11 resetting:
12 description: "Introduzca su dirección del correo electrónico y le enviaremos las instrucciones para reiniciar la contraseña" 12 description: "Introduzca su dirección de correo electrónico y le enviaremos las instrucciones para reiniciar la contraseña."
13 register: 13 register:
14 page_title: 'Crear una cuenta' 14 page_title: 'Crear una cuenta'
15 go_to_account: 'Acceder su cuenta' 15 go_to_account: 'Acceder su cuenta'
@@ -19,19 +19,19 @@ menu:
19 unread: 'Sin leer' 19 unread: 'Sin leer'
20 starred: 'Favoritos' 20 starred: 'Favoritos'
21 archive: 'Archivo' 21 archive: 'Archivo'
22 all_articles: 'Todos artículos' 22 all_articles: 'Todos los artículos'
23 config: 'Configuración' 23 config: 'Configuración'
24 tags: 'Etiquetas' 24 tags: 'Etiquetas'
25 internal_settings: 'Configuración interna' 25 internal_settings: 'Configuración interna'
26 import: 'Importar' 26 import: 'Importar'
27 howto: 'Ayuda' 27 howto: 'Ayuda'
28 # developer: 'API clients management' 28 developer: 'Configuración de clientes API'
29 logout: 'Desconectarse' 29 logout: 'Desconectarse'
30 about: 'Acerca de' 30 about: 'Acerca de'
31 search: 'Buscar' 31 search: 'Buscar'
32 save_link: 'Archivar un enlace' 32 save_link: 'Guardar un enlace'
33 back_to_unread: 'Volver a los artículos sin leer' 33 back_to_unread: 'Volver a los artículos sin leer'
34 # users_management: 'Users management' 34 users_management: 'Configuración de usuarios'
35 top: 35 top:
36 add_new_entry: 'Añadir un nuevo artículo' 36 add_new_entry: 'Añadir un nuevo artículo'
37 search: 'Buscar' 37 search: 'Buscar'
@@ -42,11 +42,11 @@ menu:
42 42
43footer: 43footer:
44 wallabag: 44 wallabag:
45 elsewhere: 'Lleve wallabag consigo' 45 elsewhere: 'Lleva wallabag contigo'
46 social: 'Social' 46 social: 'Social'
47 powered_by: 'funciona por' 47 powered_by: 'funciona con'
48 about: 'Acerca de' 48 about: 'Acerca de'
49 # stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day! 49 stats: Desde el %user_creation% has leído %nb_archives% artículos. ¡Eso hace unos %per_day% por día!
50 50
51config: 51config:
52 page_title: 'Configuración' 52 page_title: 'Configuración'
@@ -64,96 +64,96 @@ config:
64 items_per_page_label: 'Número de artículos por página' 64 items_per_page_label: 'Número de artículos por página'
65 language_label: 'Idioma' 65 language_label: 'Idioma'
66 reading_speed: 66 reading_speed:
67 label: 'Velocidad de leer' 67 label: 'Velocidad de lectura'
68 help_message: 'Se puede usar las técnicas para calcular su velocidad de leer:' 68 help_message: 'Puede utilizar herramientas en línea para calcular su velocidad de lectura:'
69 100_word: 'Leo ~100 palabras por minuto' 69 100_word: 'Leo ~100 palabras por minuto'
70 200_word: 'Leo ~200 palabras por minuto' 70 200_word: 'Leo ~200 palabras por minuto'
71 300_word: 'Leo ~300 palabras por minuto' 71 300_word: 'Leo ~300 palabras por minuto'
72 400_word: 'Leo ~400 palabras por minuto' 72 400_word: 'Leo ~400 palabras por minuto'
73 action_mark_as_read: 73 action_mark_as_read:
74 # label: 'Where do you to be redirected after mark an article as read?' 74 label: '¿Dónde quieres ser redirigido después de marcar un artículo como leído?'
75 # redirect_homepage: 'To the homepage' 75 redirect_homepage: 'A la página de inicio'
76 # redirect_current_page: 'To the current page' 76 redirect_current_page: 'A la página actual'
77 # pocket_consumer_key_label: Consumer key for Pocket to import contents 77 pocket_consumer_key_label: Clave de consumidor para importar contenidos de Pocket
78 # android_configuration: Configure your Android application 78 android_configuration: Configura tu aplicación Android
79 # help_theme: "wallabag is customizable. You can choose your prefered theme here." 79 help_theme: "wallabag es personalizable. Puedes elegir tu tema preferido aquí."
80 # help_items_per_page: "You can change the number of articles displayed on each page." 80 help_items_per_page: "Puedes cambiar el número de artículos mostrados en cada página."
81 # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article." 81 help_reading_speed: "wallabag calcula un tiempo de lectura para cada artículo. Puedes definir aquí, gracias a esta lista, si eres un lector rápido o lento. wallabag recalculará el tiempo de lectura para cada artículo."
82 # help_language: "You can change the language of wallabag interface." 82 help_language: "Puedes cambiar el idioma de la interfaz de wallabag."
83 # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account." 83 help_pocket_consumer_key: "Requerido para la importación desde Pocket. Puedes crearla en tu cuenta de Pocket."
84 form_rss: 84 form_rss:
85 description: 'Los feeds RSS de wallabag permiten leer los artículos guardados con su lector RSS favorito. Necesita generar un token primero' 85 description: 'Los feeds RSS de wallabag permiten leer los artículos guardados con su lector RSS favorito. Primero necesitas generar un token.'
86 token_label: 'RSS token' 86 token_label: 'Token RSS'
87 no_token: 'No token' 87 no_token: 'Sin token'
88 token_create: 'Crear token' 88 token_create: 'Crear token'
89 token_reset: 'Reiniciar token' 89 token_reset: 'Reiniciar token'
90 rss_links: 'URL de su feed RSS' 90 rss_links: 'URLs de feeds RSS'
91 rss_link: 91 rss_link:
92 unread: 'sin leer' 92 unread: 'sin leer'
93 starred: 'favoritos' 93 starred: 'favoritos'
94 archive: 'archivo' 94 archive: 'archivados'
95 rss_limit: 'Límite de artículos en feed RSS' 95 rss_limit: 'Límite de artículos en feed RSS'
96 form_user: 96 form_user:
97 two_factor_description: "Con la autentificación de dos factores recibirá código mediante email en cada nueva conexión que no sea de confianza" 97 two_factor_description: "Con la autenticación en dos pasos recibirá código por e-mail en cada nueva conexión que no sea de confianza."
98 name_label: 'Nombre' 98 name_label: 'Nombre'
99 email_label: 'Direccion e-mail' 99 email_label: 'Dirección de e-mail'
100 twoFactorAuthentication_label: 'Autentificación de dos factores' 100 twoFactorAuthentication_label: 'Autenticación en dos pasos'
101 # help_twoFactorAuthentication: "If you enable 2FA, each time you want to login to wallabag, you'll receive a code by email." 101 help_twoFactorAuthentication: "Si activas la autenticación en dos pasos, cada vez que quieras iniciar sesión en wallabag recibirás un código por e-mail."
102 delete: 102 delete:
103 # title: Delete my account (a.k.a danger zone) 103 title: Eliminar mi cuenta (Zona peligrosa)
104 # description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out. 104 description: Si eliminas tu cuenta, TODOS tus artículos, TODAS tus etiquetas, TODAS tus anotaciones y tu cuenta serán eliminadas de forma PERMANENTE (no se puede deshacer). Después serás desconectado.
105 # confirm: Are you really sure? (THIS CAN'T BE UNDONE) 105 confirm: ¿Estás completamente seguro? (NO SE PUEDE DESHACER)
106 # button: Delete my account 106 button: Eliminar mi cuenta
107 reset: 107 reset:
108 # title: Reset area (a.k.a danger zone) 108 title: Reiniciar mi cuenta (Zona peligrosa)
109 # description: By hiting buttons below you'll have ability to remove some informations from your account. Be aware that these actions are IRREVERSIBLE. 109 description: Pulsando los botones de abajo puedes eliminar información de tu cuenta. Ten en cuenta que estas acciones son IRREVERSIBLES.
110 # annotations: Remove ALL annotations 110 annotations: Eliminar TODAS las anotaciones
111 # tags: Remove ALL tags 111 tags: Eliminar TODAS las etiquetas
112 # entries: Remove ALL entries 112 entries: Eliminar TODOS los artículos
113 # confirm: Are you really really sure? (THIS CAN'T BE UNDONE) 113 confirm: ¿Estás completamente seguro? (NO SE PUEDE DESHACER)
114 form_password: 114 form_password:
115 # description: "You can change your password here. Your new password should by at least 8 characters long." 115 description: "Puedes cambiar la contraseña aquí. Tu nueva contraseña debe tener al menos 8 caracteres."
116 old_password_label: 'Contraseña actual' 116 old_password_label: 'Contraseña actual'
117 new_password_label: 'Nueva contraseña' 117 new_password_label: 'Nueva contraseña'
118 repeat_new_password_label: 'Confirmar la nueva contraseña' 118 repeat_new_password_label: 'Confirmar nueva contraseña'
119 form_rules: 119 form_rules:
120 if_label: 'si' 120 if_label: 'si'
121 then_tag_as_label: 'Etiquete como' 121 then_tag_as_label: 'etiquetar como'
122 delete_rule_label: 'Borre' 122 delete_rule_label: 'borrar'
123 # edit_rule_label: 'edit' 123 edit_rule_label: 'editar'
124 rule_label: 'Regla' 124 rule_label: 'Regla'
125 tags_label: 'Etiquetas' 125 tags_label: 'Etiquetas'
126 faq: 126 faq:
127 title: 'FAQ' 127 title: 'Preguntas frecuentes'
128 tagging_rules_definition_title: '¿Qué significa reglas de etiquetado autómaticas?' 128 tagging_rules_definition_title: '¿Qué significa « reglas de etiquetado automático »?'
129 tagging_rules_definition_description: 'Son las reglas usadas por Wallabag para etiquetar automáticamente los nuevos artículos.<br />Cada vez que un nuevo artículo sea añadido, todas las reglas de etiquetado automáticas serán usadas para etiquetarlo, ayudándole a clasificar automáticamente los artículos.' 129 tagging_rules_definition_description: 'Son las reglas usadas por wallabag para etiquetar automáticamente los nuevos artículos.<br />Cada vez que un artículo sea añadido, todas las reglas de etiquetado automático serán usadas para etiquetarlo, ayudándote a clasificar automáticamente tus artículos.'
130 how_to_use_them_title: '¿Cómo se utilizan?' 130 how_to_use_them_title: '¿Cómo se utilizan?'
131 how_to_use_them_description: 'Supongamos que quiere etiquetar nuevos artículos como « <i>lectura corta</i> » cuando el tiempo de leer sea menos de 3 minutos. <br /> En ese caso, debe poner « tiempo de leer &lt;= 3 » en el <i>Regla</i> campo y « <i>lectura corta</i> » en el <i>Etiquetas</i> campo.<br />Algunas etiquetas se pueden ser añadidas al mismo tiempo por separarlas con una coma: « <i>lectura corta, debe leer</i> »<br />Reglas complejas se pueden ser escritas por usar operadores predefinidos: si « <i>tiempo de leer &gt;= 5 Y nombre del dominio = "github.com"</i> » entonces etiquete como « <i>lectura larga, github </i> »' 131 how_to_use_them_description: 'Supongamos que quiere etiquetar los artículos nuevos como « <i>lectura corta</i> » cuando el tiempo de lectura sea menos de 3 minutos.<br /> En ese caso, debe poner « readingTime &lt;= 3 » en el campo <i>Regla</i> y « <i>lectura corta</i> » en el campo <i>Etiquetas</i>.<br />Se pueden añadir varias etiquetas al mismo tiempo separadas por comas: « <i>lectura corta, lectura obligada</i> »<br />Se pueden escribir reglas complejas utilizando los operadores predefinidos: si « <i>readingTime &gt;= 5 AND domainName = "github.com"</i> » entonces etiqueta como « <i>lectura larga, github </i> »'
132 variables_available_title: '¿Qué variables y operadores se pueden utilizar para escribir las reglas?' 132 variables_available_title: '¿Qué variables y operadores se pueden utilizar para escribir las reglas?'
133 variables_available_description: 'Las siguientes variables y operadores se pueden utilizar para crear las reglas de etiquetado automáticas:' 133 variables_available_description: 'Las siguientes variables y operadores se pueden utilizar para crear reglas de etiquetado automático:'
134 meaning: 'Significado' 134 meaning: 'Significado'
135 variable_description: 135 variable_description:
136 label: 'Variable' 136 label: 'Variable'
137 title: 'Titúlo del artículo' 137 title: 'Título del artículo'
138 url: 'URL del artículo' 138 url: 'URL del artículo'
139 isArchived: 'El artículo está guardado o no' 139 isArchived: 'Si artículo está archivado o no'
140 isStarred: 'Si el artículo es un favorito o no' 140 isStarred: 'Si el artículo está en favoritos o no'
141 content: "El contenido del artículo" 141 content: "El contenido del artículo"
142 language: "El idioma del artículo" 142 language: "El idioma del artículo"
143 mimetype: "Tipo MIME del artículo" 143 mimetype: "El tipo MIME del artículo"
144 readingTime: "El tiempo estimado de lectura del artículo, en minutos" 144 readingTime: "El tiempo estimado de lectura del artículo, en minutos"
145 domainName: 'El dominio del artículo' 145 domainName: 'El nombre de dominio del artículo'
146 operator_description: 146 operator_description:
147 label: 'Operador' 147 label: 'Operador'
148 less_than: 'Menos que…' 148 less_than: 'Menor que…'
149 strictly_less_than: 'Estrictámente menos que…' 149 strictly_less_than: 'Estrictamente menor que…'
150 greater_than: 'Más que…' 150 greater_than: 'Mayor que…'
151 strictly_greater_than: 'Estrictámente mas que…' 151 strictly_greater_than: 'Estrictamente mayor que…'
152 equal_to: 'Egual a…' 152 equal_to: 'Igual a…'
153 not_equal_to: 'Diferente de…' 153 not_equal_to: 'Diferente de…'
154 or: 'Una regla U otra' 154 or: 'Una regla U otra'
155 and: 'Una regla Y la otra' 155 and: 'Una regla Y la otra'
156 matches: 'Pruebe si un <i>sujeto</i> corresponde a una <i>búsqueda</i> (insensible a mayusculas).<br />Ejemplo : <code>título coincide "football"</code>' 156 matches: 'Prueba si un <i>sujeto</i> corresponde a una <i>búsqueda</i> (insensible a mayusculas).<br />Ejemplo : <code>title matches "fútbol"</code>'
157 157
158entry: 158entry:
159 page_titles: 159 page_titles:
@@ -161,32 +161,32 @@ entry:
161 starred: 'Artículos favoritos' 161 starred: 'Artículos favoritos'
162 archived: 'Artículos archivados' 162 archived: 'Artículos archivados'
163 filtered: 'Artículos filtrados' 163 filtered: 'Artículos filtrados'
164 # filtered_tags: 'Filtered by tags:' 164 filtered_tags: 'Filtrado por etiquetas:'
165 # filtered_search: 'Filtered by search:' 165 filtered_search: 'Filtrado por búsqueda:'
166 # untagged: 'Untagged entries' 166 untagged: 'Artículos sin etiquetas'
167 list: 167 list:
168 number_on_the_page: '{0} No hay artículos.|{1} Hay un artículo.|]1,Inf[ Hay %count% artículos.' 168 number_on_the_page: '{0} No hay artículos.|{1} Hay un artículo.|]1,Inf[ Hay %count% artículos.'
169 reading_time: 'tiempo estimado de lectura' 169 reading_time: 'tiempo estimado de lectura'
170 reading_time_minutes: 'tiempo estimado de lectura: %readingTime% min' 170 reading_time_minutes: 'tiempo estimado de lectura: %readingTime% min'
171 reading_time_less_one_minute: 'tiempo estimado de lectura: &lt; 1 min' 171 reading_time_less_one_minute: 'tiempo estimado de lectura: &lt; 1 min'
172 # number_of_tags: '{1}and one other tag|]1,Inf[and %count% other tags' 172 number_of_tags: '{1}y una etiqueta más|]1,Inf[y %count% etiquetas más'
173 reading_time_minutes_short: '%readingTime% min' 173 reading_time_minutes_short: '%readingTime% min'
174 reading_time_less_one_minute_short: '&lt; 1 min' 174 reading_time_less_one_minute_short: '&lt; 1 min'
175 original_article: 'original' 175 original_article: 'original'
176 toogle_as_read: 'Marcar como leído/ no leído' 176 toogle_as_read: 'Marcar como leído / no leído'
177 toogle_as_star: 'Marcar como favorito/ no favorito' 177 toogle_as_star: 'Marcar como favorito / no favorito'
178 delete: 'Suprimir' 178 delete: 'Eliminar'
179 export_title: 'Exportar' 179 export_title: 'Exportar'
180 filters: 180 filters:
181 title: 'Filtros' 181 title: 'Filtros'
182 status_label: 'Estatus' 182 status_label: 'Estado'
183 archived_label: 'Archivado' 183 archived_label: 'Archivado'
184 starred_label: 'Favorito' 184 starred_label: 'Favorito'
185 unread_label: 'Sin leer' 185 unread_label: 'Sin leer'
186 preview_picture_label: 'Hay una foto' 186 preview_picture_label: 'Tiene imagen de previsualización'
187 preview_picture_help: 'Foto de preview' 187 preview_picture_help: 'Imagen de previsualización'
188 language_label: 'Idioma' 188 language_label: 'Idioma'
189 # http_status_label: 'HTTP status' 189 http_status_label: 'Código de estado HTTP'
190 reading_time: 190 reading_time:
191 label: 'Duración de lectura en minutos' 191 label: 'Duración de lectura en minutos'
192 from: 'de' 192 from: 'de'
@@ -208,12 +208,12 @@ entry:
208 set_as_starred: 'Marcar como favorito' 208 set_as_starred: 'Marcar como favorito'
209 view_original_article: 'Artículo original' 209 view_original_article: 'Artículo original'
210 re_fetch_content: 'Redescargar el contenido' 210 re_fetch_content: 'Redescargar el contenido'
211 delete: 'Suprimir' 211 delete: 'Eliminar'
212 add_a_tag: 'Añadir una etiqueta' 212 add_a_tag: 'Añadir una etiqueta'
213 share_content: 'Compartir' 213 share_content: 'Compartir'
214 share_email_label: 'Dirección e-mail' 214 share_email_label: 'e-mail'
215 # public_link: 'public link' 215 public_link: 'enlace público'
216 # delete_public_link: 'delete public link' 216 delete_public_link: 'eliminar enlace público'
217 download: 'Descargar' 217 download: 'Descargar'
218 print: 'Imprimir' 218 print: 'Imprimir'
219 problem: 219 problem:
@@ -225,32 +225,32 @@ entry:
225 created_at: 'Fecha de creación' 225 created_at: 'Fecha de creación'
226 new: 226 new:
227 page_title: 'Guardar un nuevo artículo' 227 page_title: 'Guardar un nuevo artículo'
228 placeholder: 'http://website.com' 228 placeholder: 'http://sitioweb.com'
229 form_new: 229 form_new:
230 url_label: Url 230 url_label: URL
231 search: 231 search:
232 # placeholder: 'What are you looking for?' 232 placeholder: '¿Qué estás buscando?'
233 edit: 233 edit:
234 page_title: 'Editar un artículo' 234 page_title: 'Editar un artículo'
235 title_label: 'Título' 235 title_label: 'Título'
236 url_label: 'Url' 236 url_label: 'URL'
237 is_public_label: 'Es Público' 237 is_public_label: 'Es público'
238 save_label: 'Guardar' 238 save_label: 'Guardar'
239 public: 239 public:
240 # shared_by_wallabag: "This article has been shared by <a href='%wallabag_instance%'>wallabag</a>" 240 shared_by_wallabag: "Este artículo se ha compartido con <a href='%wallabag_instance%'>wallabag</a>"
241 241
242about: 242about:
243 page_title: 'Acerca de' 243 page_title: 'Acerca de'
244 top_menu: 244 top_menu:
245 who_behind_wallabag: 'Equipo del desarrollo de wallabag' 245 who_behind_wallabag: 'Quién está detrás de wallabag'
246 getting_help: 'Pedir ayuda' 246 getting_help: 'Pedir ayuda'
247 helping: 'Ayudar a wallabag' 247 helping: 'Ayudar a wallabag'
248 contributors: 'Colaboradores' 248 contributors: 'Colaboradores'
249 third_party: 'Librerías de terceros' 249 third_party: 'Bibliotecas de terceros'
250 who_behind_wallabag: 250 who_behind_wallabag:
251 developped_by: 'Desarrollado por' 251 developped_by: 'Desarrollado por'
252 website: 'Sitio web' 252 website: 'Sitio web'
253 many_contributors: 'Y muchos otros colaboradores ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">en Github</a>' 253 many_contributors: 'Y otros muchos colaboradores ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">en Github</a>'
254 project_website: 'Sitio web del proyecto' 254 project_website: 'Sitio web del proyecto'
255 license: 'Licencia' 255 license: 'Licencia'
256 version: 'Versión' 256 version: 'Versión'
@@ -259,306 +259,306 @@ about:
259 bug_reports: 'Reporte de errores' 259 bug_reports: 'Reporte de errores'
260 support: '<a href="https://github.com/wallabag/wallabag/issues">en GitHub</a>' 260 support: '<a href="https://github.com/wallabag/wallabag/issues">en GitHub</a>'
261 helping: 261 helping:
262 description: 'wallabag es libre y gratuito. Usted puede ayudarnos :' 262 description: 'wallabag es software libre y gratuito. Usted puede ayudarnos :'
263 by_contributing: 'contribuyendo al proyecto :' 263 by_contributing: 'contribuyendo al proyecto :'
264 by_contributing_2: 'nuestras necesidades están en un ticket' 264 by_contributing_2: 'nuestras necesidades están en un ticket'
265 by_paypal: 'via Paypal' 265 by_paypal: 'vía Paypal'
266 contributors: 266 contributors:
267 description: 'Gracias a los colaboradores de la aplicación web de wallabag' 267 description: 'Gracias a los colaboradores de la aplicación web de wallabag'
268 third_party: 268 third_party:
269 description: 'Aquí está la lista de las dependencias utilizadas por wallabag (con sus licencias) :' 269 description: 'Aquí está la lista de bibliotecas de terceros utilizadas por wallabag (con sus licencias) :'
270 package: 'Paquete' 270 package: 'Paquete'
271 license: 'Licencia' 271 license: 'Licencia'
272 272
273howto: 273howto:
274 page_title: 'Ayuda' 274 page_title: 'Ayuda'
275 page_description: 'Hay muchas maneras para guardar un artículo:'
276 tab_menu: 275 tab_menu:
277 # add_link: "Add a link" 276 add_link: "Añadir un artículo"
278 # shortcuts: "Use shortcuts" 277 shortcuts: "Utilizar atajos de teclado"
278 page_description: 'Hay muchas maneras de guardar un artículo:'
279 top_menu: 279 top_menu:
280 browser_addons: 'Extensiones de navigador' 280 browser_addons: 'Extensiones de navegador'
281 mobile_apps: 'Aplicaciones para smartphone' 281 mobile_apps: 'Aplicaciones para smartphone'
282 bookmarklet: 'Bookmarklet' 282 bookmarklet: 'Bookmarklet'
283 form: 283 form:
284 description: 'Gracias a este formulario' 284 description: 'Gracias a este formulario'
285 browser_addons: 285 browser_addons:
286 firefox: 'Extensión Firefox' 286 firefox: 'Extensión para Firefox'
287 chrome: 'Extensión Chrome' 287 chrome: 'Extensión para Chrome'
288 opera: 'Extensión Opera' 288 opera: 'Extensión para Opera'
289 mobile_apps: 289 mobile_apps:
290 android: 290 android:
291 via_f_droid: 'via F-Droid' 291 via_f_droid: 'en F-Droid'
292 via_google_play: 'via Google Play' 292 via_google_play: 'en Google Play'
293 ios: 'por la tienda de iTunes' 293 ios: 'en la tienda de iTunes'
294 windows: 'por la tienda de Microsoft' 294 windows: 'en la tienda de Microsoft'
295 bookmarklet: 295 bookmarklet:
296 description: 'Desplazar y soltar este link en la barra de marcadores :' 296 description: 'Arrastra y suelta este enlace en la barra de marcadores:'
297 shortcuts: 297 shortcuts:
298 # page_description: Here are the shortcuts available in wallabag. 298 page_description: Estos son los atajos de teclado disponibles en wallabag.
299 # shortcut: Shortcut 299 shortcut: Atajo de teclado
300 # action: Action 300 action: Acción
301 # all_pages_title: Shortcuts available in all pages 301 all_pages_title: Atajos de teclado disponibles en todas las páginas
302 # go_unread: Go to unread 302 go_unread: Ir a sin leer
303 # go_starred: Go to starred 303 go_starred: Ir a favoritos
304 # go_archive: Go to archive 304 go_archive: Ir a archivados
305 # go_all: Go to all entries 305 go_all: Ir a todos los artículos
306 # go_tags: Go to tags 306 go_tags: Ir a etiquetas
307 # go_config: Go to config 307 go_config: Ir a configuración
308 # go_import: Go to import 308 go_import: Ir a importar
309 # go_developers: Go to developers 309 go_developers: Ir a desarrolladores
310 # go_howto: Go to howto (this page!) 310 go_howto: Ir a ayuda (esta página)
311 # go_logout: Logout 311 go_logout: Desconectar
312 # list_title: Shortcuts available in listing pages 312 list_title: Atajos de teclado disponibles en las páginas de listados
313 # search: Display the search form 313 search: Mostrar el formulario de búsqueda
314 # article_title: Shortcuts available in entry view 314 article_title: Atajos de teclado disponibles en el artículo
315 # open_original: Open original URL of the entry 315 open_original: Abrir la URL original de un artículo
316 # toggle_favorite: Toggle star status for the entry 316 toggle_favorite: Marcar como favorito / no favorito el artículo
317 # toggle_archive: Toggle read status for the entry 317 toggle_archive: marcar como leído / no leído el artículo
318 # delete: Delete the entry 318 delete: Borrar el artículo
319 # material_title: Shortcuts available with Material theme only 319 material_title: Atajos de teclado disponibles solo en el tema Material
320 # add_link: Add a new link 320 add_link: Añadir un nuevo artículo
321 # hide_form: Hide the current form (search or new link) 321 hide_form: Ocultar el formulario actual (búsqueda o nuevo artículo)
322 # arrows_navigation: Navigate through articles 322 arrows_navigation: Navegar por los artículos
323 # open_article: Display the selected entry 323 open_article: Mostrar el artículo seleccionado
324 324
325quickstart: 325quickstart:
326 page_title: 'Comienzo rápido' 326 page_title: 'Inicio rápido'
327 # more: 'More…' 327 more: 'Más…'
328 intro: 328 intro:
329 title: 'Bienvenido a wallabag !' 329 title: '¡Bienvenido a wallabag!'
330 paragraph_1: "Le acompañaremos a su visita de wallabag y le mostraremos algunas características que le pueden interesar." 330 paragraph_1: "Le acompañaremos en su visita a wallabag y le mostraremos algunas características que le pueden interesar."
331 paragraph_2: '¡Síganos!' 331 paragraph_2: '¡Síguenos!'
332 configure: 332 configure:
333 title: 'Configure la aplicación' 333 title: 'Configure la aplicación'
334 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.' 334 description: 'Para que la aplicación se ajuste a tus necesidades, echa un vistazo a la configuración de wallabag.'
335 language: 'Cambie el idioma y el diseño de la aplicación' 335 language: 'Cambie el idioma y el diseño'
336 rss: 'Activar los feeds RSS' 336 rss: 'Activar los feeds RSS'
337 tagging_rules: 'Escribir reglas para etiquetear automaticamente sus artículos' 337 tagging_rules: 'Escribe reglas para etiquetar automáticamente tus artículos'
338 admin: 338 admin:
339 title: 'Administración' 339 title: 'Administración'
340 description: 'Como administrador, tiene privilegios por wallabag. Se puede:' 340 description: 'Como administrador, tiene algunos privilegios en wallabag. Puedes:'
341 new_user: 'Crear un nuevo usuario' 341 new_user: 'Crear un nuevo usuario'
342 analytics: 'Configure analíticas' 342 analytics: 'Configurar analíticas'
343 sharing: 'Active unos parámetros de compartir artículos' 343 sharing: 'Activar algunos parámetros de compartir artículos'
344 export: 'Configure exportación' 344 export: 'Configurar exportación'
345 import: 'Configure importación' 345 import: 'Configurar importación'
346 first_steps: 346 first_steps:
347 title: 'Primeros pasos' 347 title: 'Primeros pasos'
348 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link." 348 description: "Ahora que wallabag está bien configurado, es el momento de archivar la web. Puedes hacer clic en el signo + de la parte superior derecha para añadir un artículo."
349 new_article: 'Guarde su primer artículo' 349 new_article: 'Guarda tu primer artículo'
350 unread_articles: '¡Y clasifíquelo!' 350 unread_articles: '¡Y clasifícalo!'
351 migrate: 351 migrate:
352 title: 'Migrar de un servicio existente' 352 title: 'Migrar de un servicio existente'
353 description: "¿Está usando otro servicio? Le ayudaremos a migrar sus datos a wallabag." 353 description: "¿Estás usando otro servicio? Le ayudaremos a migrar sus datos a wallabag."
354 pocket: 'Migrar desde Pocket' 354 pocket: 'Migrar desde Pocket'
355 wallabag_v1: 'Migrar desde wallabag v1' 355 wallabag_v1: 'Migrar desde wallabag v1'
356 wallabag_v2: 'Migrar desde wallabag v2' 356 wallabag_v2: 'Migrar desde wallabag v2'
357 readability: 'Migrar desde Readability' 357 readability: 'Migrar desde Readability'
358 instapaper: 'Migrar desde Instapaper' 358 instapaper: 'Migrar desde Instapaper'
359 developer: 359 developer:
360 title: 'Promotores' 360 title: 'Desarrolladores'
361 # description: 'We also thought to the developers: Docker, API, translations, etc.' 361 description: 'Nosotros también pensamos en los desarrolladores: Docker, API, traducciones, etc.'
362 create_application: 'Cree su tercera aplicación' 362 create_application: 'Cree su aplicación de terceros'
363 # use_docker: 'Use Docker to install wallabag' 363 use_docker: 'Utilice Docker para instalar wallabag'
364 docs: 364 docs:
365 title: 'Documentación completa' 365 title: 'Documentación completa'
366 # description: "There are so much features in wallabag. Don't hesitate to read the manual to know them and to learn how to use them." 366 description: "Hay muchas funcionalidades en wallabag. No dudes en leer el manual para conocerlas y aprender a utilizarlas."
367 annotate: 'Anote su artículo' 367 annotate: 'Anotar en un artículo'
368 export: 'Convierta sus artículos a ePub o a PDF' 368 export: 'Convertir tus artículos a ePUB o PDF'
369 search_filters: 'Aprenda a utilizar el buscador y los filtros para encontrar el artículo que le interese' 369 search_filters: 'Aprender a utilizar el buscador y los filtros para encontrar artículos'
370 fetching_errors: '¿Qué puedo hacer si un artículo encuentra errores por la búsqueda?' 370 fetching_errors: '¿Qué puedo hacer si se encuentran errores mientras se descarga un artículo?'
371 all_docs: '¡Y muchos más artículos!' 371 all_docs: '¡Y muchos más artículos!'
372 support: 372 support:
373 title: 'Apoyo' 373 title: 'Apoyo'
374 description: 'Si necesita ayuda, estamos disponibles para usted.' 374 description: 'Si necesitas ayuda, estamos a tu disposición.'
375 github: 'En GitHub' 375 github: 'En GitHub'
376 email: 'Por email' 376 email: 'Por e-mail'
377 gitter: 'En Gitter' 377 gitter: 'En Gitter'
378 378
379tag: 379tag:
380 page_title: 'Etiquetas' 380 page_title: 'Etiquetas'
381 list: 381 list:
382 number_on_the_page: '{0} No hay ninguna etiqueta.|{1} Hay una etiqueta.|]1,Inf[ Hay %count% etiquetas.' 382 number_on_the_page: '{0} No hay ninguna etiqueta.|{1} Hay una etiqueta.|]1,Inf[ Hay %count% etiquetas.'
383 # see_untagged_entries: 'See untagged entries' 383 see_untagged_entries: 'Ver artículos sin etiquetas'
384 new: 384 new:
385 # add: 'Add' 385 add: 'Añadir'
386 # placeholder: 'You can add several tags, separated by a comma.' 386 placeholder: 'Puedes añadir varias etiquetas, separadas por una coma.'
387 387
388import: 388import:
389 page_title: 'Importar' 389 page_title: 'Importar'
390 page_description: 'Bienvenido al útil de migración de wallabag. Seleccione el servicio previo del que usted quiera migrar.' 390 page_description: 'Bienvenido a la herramienta de importación de wallabag. Seleccione el servicio desde el que desea migrar.'
391 action: 391 action:
392 import_contents: 'Importar los contenidos' 392 import_contents: 'Importar los contenidos'
393 form: 393 form:
394 mark_as_read_title: '¿Marcar todos como leídos?' 394 mark_as_read_title: '¿Marcar todos como leídos?'
395 mark_as_read_label: 'Marcar todos artículos importados como leídos' 395 mark_as_read_label: 'Marcar todos artículos importados como leídos'
396 file_label: 'Fichero' 396 file_label: 'Archivo'
397 save_label: 'Importar el fichero' 397 save_label: 'Subir el archivo'
398 pocket: 398 pocket:
399 page_title: 'Importar > Pocket' 399 page_title: 'Importar > Pocket'
400 description: "Va a importar sus datos de Pocket. Pocket no nos permite descargar el contenido de su servicio, así que el contenido de cada artículo será redescargado por wallabag." 400 description: "Importa todos tus datos de Pocket. Pocket no nos permite descargar el contenido desde su servicio, de manera que el contenido de cada artículo será redescargado por wallabag."
401 config_missing: 401 config_missing:
402 description: "La importación de Pocket no está configurada." 402 description: "La importación de Pocket no está configurada."
403 admin_message: 'Debe definir %keyurls%una clava del API Pocket%keyurle%.' 403 admin_message: 'Debe definir %keyurls%una clave del API Pocket%keyurle%.'
404 user_message: 'El administrador de su servidor debe definir una clave API Pocket.' 404 user_message: 'El administrador de su servidor debe definir una clave del API Pocket.'
405 authorize_message: 'Puede importar sus datos desde su cuenta de Pocket. Sólo tiene que oprimir el botón para autorizar que wallabag se conecte a getpocket.com.' 405 authorize_message: 'Puede importar sus datos desde su cuenta de Pocket. Sólo tiene que hacer clic el botón para autorizar que wallabag se conecte a getpocket.com.'
406 connect_to_pocket: 'Conéctese a Pocket para importar los datos' 406 connect_to_pocket: 'Conectar a Pocket e importar los datos'
407 wallabag_v1: 407 wallabag_v1:
408 page_title: 'Importar > Wallabag v1' 408 page_title: 'Importar > Wallabag v1'
409 description: 'Va a importar sus artículos de wallabag v1. En su configuración de wallabag v1, oprima "Exportar JSON" dentro de la sección "Exportar sus datos de wallabag". Usted tendrá un fichero "wallabag-export-1-xxxx-xx-xx.json".' 409 description: 'Importa todos tus artículos de wallabag v1. En la configuración de wallabag v1, haga clic en "Exportar JSON" dentro de la sección "Exportar datos de wallabag". Obtendrás un archivo llamado "wallabag-export-1-xxxx-xx-xx.json".'
410 how_to: 'Seleccione el fichero de su exportación de wallabag v1 y oprima el botón para subirlo y importarlo.' 410 how_to: 'Seleccione el archivo exportado de wallabag v1 y haga clic en el botón para subirlo e importarlo.'
411 wallabag_v2: 411 wallabag_v2:
412 page_title: 'Importar > Wallabag v2' 412 page_title: 'Importar > Wallabag v2'
413 description: 'Va a importar sus artículos de otra instancia de wallabag v2. Vaya a Todos los artículos, entonces, en la barra lateral, oprima en "JSON". Usted tendrá un fichero "All articles.json"' 413 description: 'Importa todos tus artículos de wallabag v2. En la sección Todos los artículos, en la barra lateral, haga clic en "JSON". Obtendrás un archivo llamado "All articles.json".'
414 readability: 414 readability:
415 page_title: 'Importar > Readability' 415 page_title: 'Importar > Readability'
416 # description: 'This importer will import all your Readability articles. On the tools (https://www.readability.com/tools/) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).' 416 description: 'Importa todos tus artículos de Readability. En la página de herramientas (https://www.readability.com/tools/), haga clic en "Exportar tus datos" en la sección "Exportar datos". Recibirás un e-mail para descargar un JSON (que no tiene extensión .json).'
417 # how_to: 'Please select your Readability export and click on the below button to upload and import it.' 417 how_to: 'Seleccione el archivo exportado de Readability y haga clic en el botón para subirlo e importarlo.'
418 worker: 418 worker:
419 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:" 419 enabled: "La importación se realiza de forma asíncrona. Una vez que la tarea de importación ha comenzado, un trabajador externo se encargará de los artículos uno a uno. El servicio actual es:"
420 # download_images_warning: "You enabled downloading images for your articles. Combined with classic import it can take ages to proceed (or maybe failed). We <strong>strongly recommend</strong> to enable asynchronous import to avoid errors." 420 download_images_warning: "Tienes activado descargar imágenes de los artículos. Esto justo con la importación clásica de artículos puede tardar mucho tiempo en ser procesado (o incluso fallar). <strong>Recomendamos encarecidamente</strong> habilitar la importación asíncrona para evitar errores."
421 firefox: 421 firefox:
422 page_title: 'Importar > Firefox' 422 page_title: 'Importar > Firefox'
423 # description: "This importer will import all your Firefox bookmarks. Just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file." 423 description: "Importa todos tus marcadores de Firefox. En la ventana de marcadores (Ctrl+Mayus+O), en \"Importar y respaldar\", elige \"Copiar...\". Obtendrás un archivo .json."
424 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 424 how_to: "Seleccione el archivo exportado de Firefox y haga clic en el botón para subirlo e importarlo. Tenga en cuenta que este proceso puede tardar ya que se tienen que descargar todos los artículos."
425 chrome: 425 chrome:
426 page_title: 'Importar > Chrome' 426 page_title: 'Importar > Chrome'
427 # description: "This importer will import all your Chrome bookmarks. The location of the file depends on your operating system : <ul><li>On Linux, go into the <code>~/.config/chromium/Default/</code> directory</li><li>On Windows, it should be at <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code></li><li>On OS X, it should be at <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code></li></ul>Once you got there, copy the Bookmarks file someplace you'll find.<em><br>Note that if you have Chromium instead of Chrome, you'll have to correct paths accordingly.</em></p>" 427 description: "Importa todos tus marcadores de Chrome. La ubicación del archivo depende de tu sistema operativo : <ul><li>En Linux, <code>~/.config/chromium/Default/</code></li><li>En Windows, <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code></li><li>En OS X, <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code></li></ul>Una vez estés en ese directorio, copia el archivo de favoritos (bookmarks) en algún sitio fácil de encontrar.<em><br>Ten en cuenta que si utilizas Chromium en vez de Chrome, la ubicación del archivo cambia.</em></p>"
428 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 428 how_to: "Seleccione el archivo exportado de Chrome y haga clic en el botón para subirlo e importarlo. Tenga en cuenta que este proceso puede tardar ya que se tienen que descargar todos los artículos."
429 instapaper: 429 instapaper:
430 page_title: 'Importar > Instapaper' 430 page_title: 'Importar > Instapaper'
431 # description: 'This importer will import all your Instapaper articles. On the settings (https://www.instapaper.com/user) page, click on "Download .CSV file" in the "Export" section. A CSV file will be downloaded (like "instapaper-export.csv").' 431 description: 'Importa todos tus artículos de Instapaper. En la página de preferencias (https://www.instapaper.com/user), haz clic en "Descargar archivo .CSV" en la sección "Exportar". Obtendrás un archivo CSV llamado "instapaper-export.csv".'
432 # how_to: 'Please select your Instapaper export and click on the below button to upload and import it.' 432 how_to: 'Seleccione el archivo exportado de Instapaper y haga clic en el botón para subirlo e importarlo.'
433 pinboard: 433 pinboard:
434 page_title: "Importar > Pinboard" 434 page_title: "Importar > Pinboard"
435 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' 435 description: 'Importa todos tus artículos de Pinboard. En la página de backup (https://pinboard.in/settings/backup), haz clic en "JSON" en la sección "Marcadores". Obtendrás un archivo JSON llamado "pinboard_export".'
436 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' 436 how_to: 'Seleccione el archivo exportado de Pinboard y haga clic en el botón para subirlo e importarlo.'
437 437
438developer: 438developer:
439 # page_title: 'API clients management' 439 page_title: 'Gestión de clientes API'
440 welcome_message: 'Bienvenido a wallabag API' 440 welcome_message: 'Bienvenido al API de wallabag'
441 documentation: 'Documentación' 441 documentation: 'Documentación'
442 how_to_first_app: 'Cómo crear mi primera aplicación' 442 how_to_first_app: 'Cómo crear mi primera aplicación'
443 full_documentation: 'Ver documentación de API entera' 443 full_documentation: 'Ver documentación completa del API'
444 list_methods: 'Hacer una lista de métodos API' 444 list_methods: 'Lista con los métodos del API'
445 clients: 445 clients:
446 title: 'Clientes' 446 title: 'Clientes'
447 create_new: 'Crear un nuevo cliente' 447 create_new: 'Crear un nuevo cliente'
448 existing_clients: 448 existing_clients:
449 title: 'Clientes actuales' 449 title: 'Clientes existentes'
450 field_id: 'identificación del cliente' 450 field_id: 'Identificador del cliente'
451 field_secret: 'Cliente secreto' 451 field_secret: 'Secreto del cliente'
452 field_uris: 'Redirigir los URI' 452 field_uris: 'URIs de redirección'
453 field_grant_types: 'Conceder manera permitida' 453 field_grant_types: 'Permisos concedidos'
454 no_client: 'No cliente todavía.' 454 no_client: 'Todavía no hay clientes.'
455 remove: 455 remove:
456 warn_message_1: 'Se puede quitar este cliente. ¡Está acción no se puede ser irreversible !' 456 warn_message_1: 'Tienes permiso para eliminar el cliente %name%. ¡Está acción es IRREVERSIBLE!'
457 warn_message_2: "Si lo elimine, cada aplicación configurada con ese cliente no se puede ser autorizada por su wallbag." 457 warn_message_2: "Si lo eliminas, cada aplicación configurada con ese cliente no podrá autenticarse en wallabag."
458 action: 'Quite este cliente' 458 action: 'Eliminar el cliente %name%'
459 client: 459 client:
460 # page_title: 'API clients management > Nuevo cliente' 460 page_title: 'Gestión de clientes API > Nuevo cliente'
461 page_description: 'Va a crear un nuevo cliente. Por favor, llene el campo abajo para URI redirigido de su aplicación.' 461 page_description: 'Está a punto de crear un nuevo cliente. Por favor, rellene el campo de abajo con la URI de redirección de su aplicación.'
462 form: 462 form:
463 # name_label: 'Name of the client' 463 name_label: 'Nombre del cliente'
464 redirect_uris_label: 'los URI redirigidos' 464 redirect_uris_label: 'URIs de redirección'
465 save_label: 'Crear un nuevo cliente' 465 save_label: 'Crear un nuevo cliente'
466 action_back: 'Atrás' 466 action_back: 'Volver'
467 client_parameter: 467 client_parameter:
468 # page_title: 'API clients management > Parámetros del cliente' 468 page_title: 'Gestión de clientes API > Parámetros del cliente'
469 page_description: 'Aquí hay sus parámetros del cliente.' 469 page_description: 'Aquí están los parámetros del cliente.'
470 # field_name: 'Client name' 470 field_name: 'Nombre del cliente'
471 field_id: 'Identificación del cliente' 471 field_id: 'Identificador del cliente'
472 field_secret: 'Cliente secreto' 472 field_secret: 'Secreto del cliente'
473 back: 'Atrás' 473 back: 'Volver'
474 read_howto: 'Leer el howto "Crear mi primera aplicación"' 474 read_howto: 'Lea la guía "Crear mi primera aplicación"'
475 howto: 475 howto:
476 # page_title: 'API clients management > Cómo crear mi primera aplicación' 476 page_title: 'Gestión de clientes API > Cómo crear mi primera aplicación'
477 description: 477 description:
478 paragraph_1: 'Los siguientes comandos se usan el <a href="https://github.com/jkbrzt/httpie">HTTPie library</a>. Esté seguro de que se instalen en sus sistema antes de usarlos.' 478 paragraph_1: 'Los siguientes comandos hacen uso de la <a href="https://github.com/jkbrzt/httpie">biblioteca HTTPie</a>. Compruebe que está instalada en su sistema antes de usarla.'
479 paragraph_2: 'Necesita un token para comunicar entre su tercera aplicación y wallabag API.' 479 paragraph_2: 'Necesitas un token para establecer la comunicación entre una aplicación de terceros y la API de wallabag.'
480 paragraph_3: 'Para crear este token, necesita <a href="%link%">to create a new client</a>.' 480 paragraph_3: 'Para crear este token, necesitas <a href="%link%">crear un nuevo cliente</a>.'
481 paragraph_4: 'Ahora, cree su token (reemplace cliente_id, cliente_secreto, usuario y contraseñ con las buenas entradas):' 481 paragraph_4: 'Ahora crea tu token (reemplace client_id, client_secret, username y password con los valores generados):'
482 paragraph_5: 'Este API devolverá una respuestas así:' 482 paragraph_5: 'Este API devolverá una respuesta como esta:'
483 paragraph_6: 'El acceso_token es útil para hacer una llamada al final API. Por ejempolo:' 483 paragraph_6: 'El access_token es útil para llamar a los métodos del API. Por ejemplo:'
484 paragraph_7: 'Esta llamada devolverá todos los artículos para su usuario.' 484 paragraph_7: 'Esta llamada devolverá todos los artículos de tu usuario.'
485 paragraph_8: 'Si quiere ver todos los fines de API, se puede ver <a href="%link%">a nuestra documentación API</a>.' 485 paragraph_8: 'Si quiere ver todos los métodos del API, puede verlos en <a href="%link%">nuestra documentación del API</a>.'
486 back: 'Atrás' 486 back: 'Volver'
487 487
488user: 488user:
489 # page_title: Users management 489 page_title: Gestión de usuarios
490 # new_user: Create a new user 490 new_user: Crear un usuario
491 # edit_user: Edit an existing user 491 edit_user: Editar un usuario existente
492 # description: "Here you can manage all users (create, edit and delete)" 492 description: "Aquí puedes gestionar todos los usuarios (crear, editar y eliminar)"
493 # list: 493 list:
494 # actions: Actions 494 actions: Acciones
495 # edit_action: Edit 495 edit_action: Editar
496 # yes: Yes 496 yes: Sí
497 # no: No 497 no: No
498 # create_new_one: Create a new user 498 create_new_one: Crear un usuario
499 form: 499 form:
500 username_label: 'Nombre de usuario' 500 username_label: 'Nombre de usuario'
501 # name_label: 'Name' 501 name_label: 'Nombre'
502 password_label: 'Contraseña' 502 password_label: 'Contraseña'
503 repeat_new_password_label: 'Confirmar la nueva contraseña' 503 repeat_new_password_label: 'Confirmar la contraseña'
504 plain_password_label: '????' 504 plain_password_label: '????'
505 email_label: 'Email' 505 email_label: 'E-mail'
506 # enabled_label: 'Enabled' 506 enabled_label: 'Activado'
507 # last_login_label: 'Last login' 507 last_login_label: 'Último inicio de sesión'
508 # twofactor_label: Two factor authentication 508 twofactor_label: Autenticación en dos pasos
509 # save: Save 509 save: Guardar
510 # delete: Delete 510 delete: Eliminar
511 # delete_confirm: Are you sure? 511 delete_confirm: ¿Estás seguro?
512 # back_to_list: Back to list 512 back_to_list: Volver a la lista
513 513
514error: 514error:
515 # page_title: An error occurred 515 page_title: Ha ocurrido un error
516 516
517flashes: 517flashes:
518 config: 518 config:
519 notice: 519 notice:
520 config_saved: 'Configuración guardada.' 520 config_saved: 'Configuración guardada.'
521 password_updated: 'Contraseña actualizada' 521 password_updated: 'Contraseña actualizada'
522 password_not_updated_demo: "En modo demo, no puede cambiar la contraseña del usuario." 522 password_not_updated_demo: "En el modo demo, no puede cambiar la contraseña del usuario."
523 user_updated: 'Su información personal ha sido actualizada' 523 user_updated: 'Información actualizada'
524 rss_updated: 'La configuración de los feeds RSS ha sido actualizada' 524 rss_updated: 'Configuración RSS actualizada'
525 tagging_rules_updated: 'Regla de etiquetado borrada' 525 tagging_rules_updated: 'Regla de etiquetado actualizada'
526 tagging_rules_deleted: 'Regla de etiquetado actualizada' 526 tagging_rules_deleted: 'Regla de etiquetado eliminada'
527 rss_token_updated: 'RSS token actualizado' 527 rss_token_updated: 'Token RSS actualizado'
528 # annotations_reset: Annotations reset 528 annotations_reset: Anotaciones reiniciadas
529 # tags_reset: Tags reset 529 tags_reset: Etiquetas reiniciadas
530 # entries_reset: Entries reset 530 entries_reset: Artículos reiniciados
531 entry: 531 entry:
532 notice: 532 notice:
533 entry_already_saved: 'Entrada ya guardada por %fecha%' 533 entry_already_saved: 'Artículo ya guardado el %fecha%'
534 entry_saved: 'Entrada guardada' 534 entry_saved: 'Artículo guardado'
535 # entry_saved_failed: 'Entry saved but fetching content failed' 535 entry_saved_failed: 'Artículo guardado pero falló la descarga del contenido'
536 entry_updated: 'Entrada actualizada' 536 entry_updated: 'Artículo actualizado'
537 entry_reloaded: 'Entrada recargada' 537 entry_reloaded: 'Artículo redescargado'
538 # entry_reloaded_failed: 'Entry reloaded but fetching content failed' 538 entry_reloaded_failed: 'Artículo redescargado pero falló la descarga del contenido'
539 entry_archived: 'Artículo archivado' 539 entry_archived: 'Artículo archivado'
540 entry_unarchived: 'Artículo desarchivado' 540 entry_unarchived: 'Artículo desarchivado'
541 entry_starred: 'Artículo guardado en los favoritos' 541 entry_starred: 'Artículo marcado como favorito'
542 entry_unstarred: 'Artículo retirado de los favoritos' 542 entry_unstarred: 'Artículo desmarcado como favorito'
543 entry_deleted: 'Artículo suprimido' 543 entry_deleted: 'Artículo eliminado'
544 tag: 544 tag:
545 notice: 545 notice:
546 tag_added: 'Etiqueta añadida' 546 tag_added: 'Etiqueta añadida'
547 import: 547 import:
548 notice: 548 notice:
549 failed: 'Importación reprobada, por favor inténtelo de nuevo.' 549 failed: 'Importación fallida, por favor, inténtelo de nuevo.'
550 failed_on_file: 'Se ocurre un error por procesar importación. Por favor verifique su archivo importado.' 550 failed_on_file: 'Ocurrió un error al procesar la importación. Por favor, verifique el archivo importado.'
551 summary: 'Resúmen importado: %importado% importado, %saltados% ya guardado.' 551 summary: 'Resúmen de la importación: %imported% importados, %skipped% ya guardados.'
552 # summary_with_queue: 'Import summary: %queued% queued.' 552 summary_with_queue: 'Resúmen de la importación: %queued% encolados.'
553 error: 553 error:
554 # redis_enabled_not_installed: Redis is enabled for handle asynchronous import but it looks like <u>we can't connect to it</u>. Please check Redis configuration. 554 redis_enabled_not_installed: Redis está activado para gestionar la importación asíncrona pero parece que <u>no se puede conectar</u>. Por favor, comprueba la configuración de Redis.
555 # rabbit_enabled_not_installed: RabbitMQ is enabled for handle asynchronous import but it looks like <u>we can't connect to it</u>. Please check RabbitMQ configuration. 555 rabbit_enabled_not_installed: RabbitMQ está activado para gestionar la importación asíncrona pero parece que <u>no se puede conectar</u>. Por favor, comprueba la configuración de RabbitMQ.
556 developer: 556 developer:
557 notice: 557 notice:
558 client_created: 'Nuevo cliente creado.' 558 client_created: 'Creado el cliente %name%.'
559 client_deleted: 'Cliente suprimido' 559 client_deleted: 'Eliminado el cliente %name%'
560 user: 560 user:
561 notice: 561 notice:
562 # added: 'User "%username%" added' 562 added: 'Añadido el usuario "%username%"'
563 # updated: 'User "%username%" updated' 563 updated: 'Actualizado el usuario "%username%"'
564 # deleted: 'User "%username%" deleted' 564 deleted: 'Eliminado el usuario "%username%"'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
index bb0ed48d..992ff71c 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
@@ -344,7 +344,7 @@ quickstart:
344 export: "Configura l'esportazione" 344 export: "Configura l'esportazione"
345 import: "Configura l'importazione" 345 import: "Configura l'importazione"
346 first_steps: 346 first_steps:
347 title: 'Pimi passi' 347 title: 'Primi passi'
348 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link." 348 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link."
349 new_article: 'Salva il tuo primo contenuto' 349 new_article: 'Salva il tuo primo contenuto'
350 unread_articles: 'E classificalo!' 350 unread_articles: 'E classificalo!'
diff --git a/src/Wallabag/CoreBundle/Resources/views/base.html.twig b/src/Wallabag/CoreBundle/Resources/views/base.html.twig
index 289458d4..020d8efc 100644
--- a/src/Wallabag/CoreBundle/Resources/views/base.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/base.html.twig
@@ -3,7 +3,7 @@
3<!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="en"><![endif]--> 3<!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="en"><![endif]-->
4<!--[if IE 8]><html class="no-js ie8 ie678" lang="en"><![endif]--> 4<!--[if IE 8]><html class="no-js ie8 ie678" lang="en"><![endif]-->
5<!--[if gt IE 8]><html class="no-js" lang="en"><![endif]--> 5<!--[if gt IE 8]><html class="no-js" lang="en"><![endif]-->
6<html lang="fr"> 6<html>
7 <head> 7 <head>
8 {% block head %} 8 {% block head %}
9 <meta name="viewport" content="initial-scale=1.0"> 9 <meta name="viewport" content="initial-scale=1.0">
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_full_image.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_full_image.html.twig
index 91a1bac0..58757158 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_full_image.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_full_image.html.twig
@@ -11,8 +11,8 @@
11 11
12 <div class="card-content"> 12 <div class="card-content">
13 <span class="card-title dot-ellipsis dot-resize-update"> 13 <span class="card-title dot-ellipsis dot-resize-update">
14 <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title| e | raw | striptags }}"> 14 <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title| striptags | e('html_attr') }}">
15 {{ entry.title | e | raw | striptags | truncate(80, true, '…') }} 15 {{ entry.title | striptags | truncate(80, true, '…') | raw }}
16 </a> 16 </a>
17 </span> 17 </span>
18 18
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig
index bb9b64ce..3ba6253a 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig
@@ -2,7 +2,7 @@
2 <div class="card-stacked"> 2 <div class="card-stacked">
3 <div class="card-content"> 3 <div class="card-content">
4 <span class="card-title dot-ellipsis dot-resize-update"> 4 <span class="card-title dot-ellipsis dot-resize-update">
5 <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | raw | striptags }}"> 5 <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | striptags | e('html_attr') }}">
6 {{ entry.title| striptags | truncate(120, true, '…') | raw }} 6 {{ entry.title| striptags | truncate(120, true, '…') | raw }}
7 </a> 7 </a>
8 </span> 8 </span>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_no_preview.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_no_preview.html.twig
index ed916e79..eb158659 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_no_preview.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_no_preview.html.twig
@@ -2,8 +2,8 @@
2 <div class="card-body"> 2 <div class="card-body">
3 <div class="card-content"> 3 <div class="card-content">
4 <span class="card-title dot-ellipsis dot-resize-update"> 4 <span class="card-title dot-ellipsis dot-resize-update">
5 <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | e | raw | striptags }}"> 5 <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | striptags | e('html_attr') }}">
6 {{ entry.title | e | raw | striptags | truncate(80, true, '…') }} 6 {{ entry.title | striptags | truncate(80, true, '…') | raw }}
7 </a> 7 </a>
8 </span> 8 </span>
9 9
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_preview.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_preview.html.twig
index d23be4d0..fb5301c8 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_preview.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_preview.html.twig
@@ -13,8 +13,8 @@
13 <i class="grey-text text-darken-4 activator material-icons right">more_vert</i> 13 <i class="grey-text text-darken-4 activator material-icons right">more_vert</i>
14 14
15 <span class="card-title dot-ellipsis dot-resize-update"> 15 <span class="card-title dot-ellipsis dot-resize-update">
16 <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | e | raw | striptags }}"> 16 <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | striptags | e('html_attr') }}">
17 {{ entry.title | e | striptags | truncate(80, true, '…') | raw }} 17 {{ entry.title | striptags | truncate(80, true, '…') | raw }}
18 </a> 18 </a>
19 </span> 19 </span>
20 20
@@ -29,8 +29,8 @@
29 <div class="card-reveal"> 29 <div class="card-reveal">
30 <i class="card-title activator grey-text text-darken-4 material-icons right">clear</i> 30 <i class="card-title activator grey-text text-darken-4 material-icons right">clear</i>
31 <span class="card-title"> 31 <span class="card-title">
32 <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | e | raw | striptags }}"> 32 <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | striptags | e('html_attr') }}">
33 {{ entry.title | e | raw | striptags | truncate(80, true, '…') }} 33 {{ entry.title | striptags | truncate(80, true, '…') | raw }}
34 </a> 34 </a>
35 </span> 35 </span>
36 36
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 15428b92..c3508083 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
@@ -1,6 +1,6 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %} 1{% extends "WallabagCoreBundle::layout.html.twig" %}
2 2
3{% block title %}{{ entry.title|e|raw }} ({{ entry.domainName|removeWww }}){% endblock %} 3{% block title %}{{ entry.title|striptags|raw }} ({{ entry.domainName|removeWww }}){% endblock %}
4 4
5{% block body_class %}entry{% endblock %} 5{% block body_class %}entry{% endblock %}
6 6
@@ -118,14 +118,14 @@
118 {% endif %} 118 {% endif %}
119 {% if craue_setting('share_twitter') %} 119 {% if craue_setting('share_twitter') %}
120 <li> 120 <li>
121 <a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool icon-twitter" title="twitter"> 121 <a href="https://twitter.com/home?status={{entry.title|striptags|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool icon-twitter" title="twitter">
122 <span>twitter</span> 122 <span>twitter</span>
123 </a> 123 </a>
124 </li> 124 </li>
125 {% endif %} 125 {% endif %}
126 {% if craue_setting('share_shaarli') %} 126 {% if craue_setting('share_shaarli') %}
127 <li> 127 <li>
128 <a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}&amp;tags={{ entry.tags|join(',')|url_encode }}" target="_blank"> 128 <a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|striptags|url_encode }}&amp;tags={{ entry.tags|join(',')|striptags|url_encode }}" target="_blank">
129 <i class="tool icon-image icon-image--shaarli" title="shaarli"></i> 129 <i class="tool icon-image icon-image--shaarli" title="shaarli"></i>
130 <span>shaarli</span> 130 <span>shaarli</span>
131 </a> 131 </a>
@@ -133,7 +133,7 @@
133 {% endif %} 133 {% endif %}
134 {% if craue_setting('share_diaspora') %} 134 {% if craue_setting('share_diaspora') %}
135 <li> 135 <li>
136 <a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&notes=&v=1&noui=1&jump=doclose" target="_blank"> 136 <a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&amp;title={{ entry.title|striptags|url_encode }}&amp;notes=&amp;v=1&amp;noui=1&amp;jump=doclose" target="_blank">
137 <i class="tool icon-image icon-image--diaspora" title="diaspora"></i> 137 <i class="tool icon-image icon-image--diaspora" title="diaspora"></i>
138 <span>diaspora*</span> 138 <span>diaspora*</span>
139 </a> 139 </a>
@@ -141,7 +141,7 @@
141 {% endif %} 141 {% endif %}
142 {% if craue_setting('share_unmark') %} 142 {% if craue_setting('share_unmark') %}
143 <li> 143 <li>
144 <a href="{{ craue_setting('unmark_url') }}/mark/add?url={{ entry.url|url_encode }}&amp;title={{entry.title|url_encode}}&amp;v=6" target="_blank"> 144 <a href="{{ craue_setting('unmark_url') }}/mark/add?url={{ entry.url|url_encode }}&amp;title={{entry.title|striptags|url_encode}}&amp;v=6" target="_blank">
145 <i class="tool icon-image icon-image--unmark" title="unmark"></i> 145 <i class="tool icon-image icon-image--unmark" title="unmark"></i>
146 <span>unmark.it</span> 146 <span>unmark.it</span>
147 </a> 147 </a>
@@ -149,7 +149,7 @@
149 {% endif %} 149 {% endif %}
150 {% if craue_setting('carrot') %} 150 {% if craue_setting('carrot') %}
151 <li> 151 <li>
152 <a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" title="carrot"> 152 <a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&amp;title={{ entry.title|striptags|url_encode }}" target="_blank" title="carrot">
153 <i class="tool icon-image icon-image--carrot"></i> 153 <i class="tool icon-image icon-image--carrot"></i>
154 <span>Carrot</span> 154 <span>Carrot</span>
155 </a> 155 </a>
@@ -157,7 +157,7 @@
157 {% endif %} 157 {% endif %}
158 {% if craue_setting('share_mail') %} 158 {% if craue_setting('share_mail') %}
159 <li> 159 <li>
160 <a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" title="{{ 'entry.view.left_menu.share_email_label'|trans }}" class="tool email icon icon-mail"> 160 <a href="mailto:?subject={{ entry.title|striptags|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" title="{{ 'entry.view.left_menu.share_email_label'|trans }}" class="tool email icon icon-mail">
161 <span>{{ 'entry.view.left_menu.share_email_label'|trans }}</span> 161 <span>{{ 'entry.view.left_menu.share_email_label'|trans }}</span>
162 </a> 162 </a>
163 </li> 163 </li>
@@ -209,7 +209,7 @@
209{% block content %} 209{% block content %}
210 <div id="article"> 210 <div id="article">
211 <header class="mbm"> 211 <header class="mbm">
212 <h1>{{ entry.title|e|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1> 212 <h1>{{ entry.title|striptags|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1>
213 </header> 213 </header>
214 <aside> 214 <aside>
215 <ul class="tools"> 215 <ul class="tools">
@@ -222,7 +222,7 @@
222 </li> 222 </li>
223 <li> 223 <li>
224 <i class="material-icons link">link</i> 224 <i class="material-icons link">link</i>
225 <a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e }}" class="tool"> 225 <a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|striptags }}" class="tool">
226 {{ entry.domainName|removeWww }} 226 {{ entry.domainName|removeWww }}
227 </a> 227 </a>
228 </li> 228 </li>
@@ -244,7 +244,7 @@
244 </div> 244 </div>
245 245
246 {% if entry.previewPicture is not null %} 246 {% if entry.previewPicture is not null %}
247 <div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|raw }}" /></div> 247 <div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|striptags|e('html_attr') }}" /></div>
248 {% endif %} 248 {% endif %}
249 249
250 </aside> 250 </aside>
diff --git a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php
index fc175f67..992ce1ad 100644
--- a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php
+++ b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php
@@ -46,7 +46,8 @@ abstract class AbstractConsumer
46 if (null === $user) { 46 if (null === $user) {
47 $this->logger->warning('Unable to retrieve user', ['entry' => $storedEntry]); 47 $this->logger->warning('Unable to retrieve user', ['entry' => $storedEntry]);
48 48
49 return false; 49 // return true to skip message
50 return true;
50 } 51 }
51 52
52 $this->import->setUser($user); 53 $this->import->setUser($user);
diff --git a/src/Wallabag/UserBundle/Resources/translations/wallabag_user.es.yml b/src/Wallabag/UserBundle/Resources/translations/wallabag_user.es.yml
new file mode 100644
index 00000000..eb867a76
--- /dev/null
+++ b/src/Wallabag/UserBundle/Resources/translations/wallabag_user.es.yml
@@ -0,0 +1,11 @@
1# Two factor mail
2auth_code:
3 on: 'on'
4 mailer:
5 subject: 'código de autenticación de wallabag'
6 body:
7 hello: "Hola %user%,"
8 first_para: "Debido a que tienes activada la autenticación en dos pasos y acabas de iniciar sesión en un nuevo dispositivo (ordenador, teléfono, etc.), hemos enviado un código para validar tu conexión."
9 second_para: "Este es el código:"
10 support: "Por favor, no dudes en contactarnos si tienes algún problema:"
11 signature: "El equipo de wallabag"
diff --git a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
index 06ed2db6..3eb6d47f 100644
--- a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
@@ -1093,5 +1093,29 @@ class EntryControllerTest extends WallabagCoreTestCase
1093 $crawler = $client->submit($form, $data); 1093 $crawler = $client->submit($form, $data);
1094 1094
1095 $this->assertCount(0, $crawler->filter('div[class=entry]')); 1095 $this->assertCount(0, $crawler->filter('div[class=entry]'));
1096
1097 // test url search on list of all articles
1098 $crawler = $client->request('GET', '/all/list');
1099
1100 $form = $crawler->filter('form[name=search]')->form();
1101 $data = [
1102 'search_entry[term]' => 'domain', // the search will match an entry with 'domain' in its url
1103 ];
1104
1105 $crawler = $client->submit($form, $data);
1106
1107 $this->assertCount(1, $crawler->filter('div[class=entry]'));
1108
1109 // same as previous test but for case-sensitivity
1110 $crawler = $client->request('GET', '/all/list');
1111
1112 $form = $crawler->filter('form[name=search]')->form();
1113 $data = [
1114 'search_entry[term]' => 'doMain', // the search will match an entry with 'domain' in its url
1115 ];
1116
1117 $crawler = $client->submit($form, $data);
1118
1119 $this->assertCount(1, $crawler->filter('div[class=entry]'));
1096 } 1120 }
1097} 1121}
diff --git a/tests/Wallabag/ImportBundle/Consumer/AMQPEntryConsumerTest.php b/tests/Wallabag/ImportBundle/Consumer/AMQPEntryConsumerTest.php
index 856954a6..a989ec7f 100644
--- a/tests/Wallabag/ImportBundle/Consumer/AMQPEntryConsumerTest.php
+++ b/tests/Wallabag/ImportBundle/Consumer/AMQPEntryConsumerTest.php
@@ -183,7 +183,9 @@ JSON;
183 183
184 $message = new AMQPMessage($body); 184 $message = new AMQPMessage($body);
185 185
186 $consumer->execute($message); 186 $res = $consumer->execute($message);
187
188 $this->assertTrue($res);
187 } 189 }
188 190
189 public function testMessageWithEntryProcessed() 191 public function testMessageWithEntryProcessed()
diff --git a/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php b/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php
index 3b92f759..78bd83ba 100644
--- a/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php
+++ b/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php
@@ -182,7 +182,7 @@ JSON;
182 182
183 $res = $consumer->manage($body); 183 $res = $consumer->manage($body);
184 184
185 $this->assertFalse($res); 185 $this->assertTrue($res);
186 } 186 }
187 187
188 public function testMessageWithEntryProcessed() 188 public function testMessageWithEntryProcessed()