aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.travis.yml2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pt.yml29
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml2
-rw-r--r--app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml2
-rw-r--r--app/Resources/FOSUserBundle/translations/FOSUserBundle.pt.yml2
-rw-r--r--app/config/config.yml5
-rw-r--r--docs/de/index.rst1
-rw-r--r--docs/de/user/backup.rst25
-rw-r--r--docs/de/user/upgrade-2.1.x-2.1.y.rst2
-rw-r--r--docs/en/index.rst1
-rw-r--r--docs/en/user/android.rst2
-rw-r--r--docs/en/user/backup.rst25
-rw-r--r--docs/en/user/upgrade-2.1.x-2.1.y.rst2
-rw-r--r--docs/fr/index.rst1
-rw-r--r--docs/fr/user/backup.rst26
-rw-r--r--docs/fr/user/upgrade-2.1.x-2.1.y.rst2
-rw-r--r--src/Wallabag/CoreBundle/Command/InstallCommand.php2
-rw-r--r--src/Wallabag/CoreBundle/Controller/EntryController.php9
-rw-r--r--src/Wallabag/CoreBundle/Controller/TagController.php1
-rw-r--r--src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php2
-rw-r--r--src/Wallabag/CoreBundle/DependencyInjection/Configuration.php2
-rw-r--r--src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php1
-rw-r--r--src/Wallabag/CoreBundle/Resources/config/services.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.da.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.de.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.en.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.es.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml7
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.it.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml492
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.pt.yml6
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig6
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_title.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig6
-rw-r--r--src/Wallabag/CoreBundle/Twig/WallabagExtension.php5
-rw-r--r--src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php5
-rw-r--r--src/Wallabag/ImportBundle/Import/BrowserImport.php12
-rw-r--r--tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php40
-rw-r--r--tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php2
54 files changed, 761 insertions, 40 deletions
diff --git a/.travis.yml b/.travis.yml
index c7bb05fb..a8f6a744 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -75,4 +75,6 @@ script:
75 - if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then phpunit -v ; fi; 75 - if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then phpunit -v ; fi;
76 - if [[ $CS_FIXER = run ]]; then php bin/php-cs-fixer fix src/ --verbose --dry-run ; fi; 76 - if [[ $CS_FIXER = run ]]; then php bin/php-cs-fixer fix src/ --verbose --dry-run ; fi;
77 - if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations -v ; fi; 77 - if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations -v ; fi;
78 - if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml app/Resources/CraueConfigBundle/translations -v ; fi;
79 - if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml app/Resources/FOSUserBundle/translations -v ; fi;
78 - if [[ $ASSETS = build ]]; then ./node_modules/grunt-cli/bin/grunt tests; fi; 80 - if [[ $ASSETS = build ]]; then ./node_modules/grunt-cli/bin/grunt tests; fi;
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml
index 85079330..3e11d675 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml
@@ -23,7 +23,7 @@ export: "eksport"
23import: "import" 23import: "import"
24misc: "misc" 24misc: "misc"
25modify_settings: "Gem ændring" 25modify_settings: "Gem ændring"
26piwik_host: Hosting af din side hos Piwik 26piwik_host: Hosting af din side hos Piwik (uden http:// eller https://)
27piwik_site_id: ID for din side hos Piwik 27piwik_site_id: ID for din side hos Piwik
28piwik_enabled: Aktiver Piwik 28piwik_enabled: Aktiver Piwik
29demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)" 29demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)"
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml
index b3412af7..c74b5c1f 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml
@@ -23,7 +23,7 @@ export: "Export"
23import: "Import" 23import: "Import"
24misc: "Verschiedenes" 24misc: "Verschiedenes"
25modify_settings: "Übernehmen" 25modify_settings: "Übernehmen"
26piwik_host: Host deiner Webseite in Piwik 26piwik_host: Host deiner Webseite in Piwik (ohne http:// oder https://)
27piwik_site_id: ID deiner Webseite in Piwik 27piwik_site_id: ID deiner Webseite in Piwik
28piwik_enabled: Piwik aktivieren 28piwik_enabled: Piwik aktivieren
29demo_mode_enabled: "Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)" 29demo_mode_enabled: "Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)"
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml
index 8aaa27e7..77c09db4 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml
@@ -23,7 +23,7 @@ export: "export"
23import: "import" 23import: "import"
24misc: "misc" 24misc: "misc"
25modify_settings: "apply" 25modify_settings: "apply"
26piwik_host: Host of your website in Piwik 26piwik_host: Host of your website in Piwik (without http:// ou https://)
27piwik_site_id: ID of your website in Piwik 27piwik_site_id: ID of your website in Piwik
28piwik_enabled: Enable Piwik 28piwik_enabled: Enable Piwik
29demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" 29demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml
index bf3a79af..baa83849 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml
@@ -23,7 +23,7 @@ export: "exportar"
23import: "importar" 23import: "importar"
24misc: "misc" 24misc: "misc"
25modify_settings: "modificar configuración" 25modify_settings: "modificar configuración"
26piwik_host: Host de tu website de Piwik 26piwik_host: Host de tu website de Piwik (sin http:// o https://)
27piwik_site_id: ID de tu website de Piwik 27piwik_site_id: ID de tu website de Piwik
28piwik_enabled: Activar Piwik 28piwik_enabled: Activar Piwik
29demo_mode_enabled: "Activar modo demo (sólo usado para la demo de wallabag)" 29demo_mode_enabled: "Activar modo demo (sólo usado para la demo de wallabag)"
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml
index d86c4343..b394977e 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml
@@ -23,7 +23,7 @@ export: "برون‌سپاری"
23import: "درون‌ریزی" 23import: "درون‌ریزی"
24misc: "غیره" 24misc: "غیره"
25modify_settings: "اعمال" 25modify_settings: "اعمال"
26# piwik_host: Host of your website in Piwik 26# piwik_host: Host of your website in Piwik (without http:// or https://)
27# piwik_site_id: ID of your website in Piwik 27# piwik_site_id: ID of your website in Piwik
28# piwik_enabled: Enable Piwik 28# piwik_enabled: Enable Piwik
29# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" 29# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml
index 5e1ecf26..31a80880 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml
@@ -23,7 +23,7 @@ export: "export"
23import: "import" 23import: "import"
24misc: "divers" 24misc: "divers"
25modify_settings: "appliquer" 25modify_settings: "appliquer"
26piwik_host: URL de votre site dans Piwik 26piwik_host: URL de votre site dans Piwik (sans http:// ou https://)
27piwik_site_id: ID de votre site dans Piwik 27piwik_site_id: ID de votre site dans Piwik
28piwik_enabled: Activer Piwik 28piwik_enabled: Activer Piwik
29demo_mode_enabled: "Activer le mode démo ? (utiliser uniquement pour la démo publique de wallabag)" 29demo_mode_enabled: "Activer le mode démo ? (utiliser uniquement pour la démo publique de wallabag)"
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml
index 9d820e4b..ba038556 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml
@@ -23,7 +23,7 @@ export: "esporta"
23import: "importa" 23import: "importa"
24misc: "misc" 24misc: "misc"
25modify_settings: "applica" 25modify_settings: "applica"
26piwik_host: Host del tuo sito in Piwik 26piwik_host: Host del tuo sito in Piwik (senza http:// o https://)
27piwik_site_id: ID del tuo sito in Piwik 27piwik_site_id: ID del tuo sito in Piwik
28piwik_enabled: Abilita Piwik 28piwik_enabled: Abilita Piwik
29demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)" 29demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)"
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml
index 49dc7732..55249e33 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml
@@ -23,7 +23,7 @@ export: "expòrt"
23import: "impòrt" 23import: "impòrt"
24misc: "divèrs" 24misc: "divèrs"
25modify_settings: "aplicar" 25modify_settings: "aplicar"
26piwik_host: URL de vòstre site dins Piwik 26piwik_host: URL de vòstre site dins Piwik (sense http:// o https://)
27piwik_site_id: ID de vòstre site dins Piwik 27piwik_site_id: ID de vòstre site dins Piwik
28piwik_enabled: Activar Piwik 28piwik_enabled: Activar Piwik
29demo_mode_enabled: "Activar lo mode demostracion ? (utilizar solament per la demostracion publica de wallabag)" 29demo_mode_enabled: "Activar lo mode demostracion ? (utilizar solament per la demostracion publica de wallabag)"
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml
index 7432b0a7..42cc5b52 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml
@@ -23,7 +23,7 @@ export: "eksport"
23import: "import" 23import: "import"
24misc: "różne" 24misc: "różne"
25modify_settings: "zatwierdz" 25modify_settings: "zatwierdz"
26piwik_host: Host twojej strony Piwik 26piwik_host: Host twojej strony Piwik (bez http:// lub https://)
27piwik_site_id: ID twojej strony Piwik 27piwik_site_id: ID twojej strony Piwik
28piwik_enabled: Włacz Piwik 28piwik_enabled: Włacz Piwik
29demo_mode_enabled: "Włacz tryb demo? (używany wyłącznie dla publicznej demonstracji Wallabag)" 29demo_mode_enabled: "Włacz tryb demo? (używany wyłącznie dla publicznej demonstracji Wallabag)"
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pt.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pt.yml
new file mode 100644
index 00000000..e8260422
--- /dev/null
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pt.yml
@@ -0,0 +1,29 @@
1download_pictures: Download imagens no seu servidor
2carrot: Habilitar compartilhamento para o Carrot
3diaspora_url: URL Diaspora, se o serviço está habilitado
4export_epub: Habilita exportação para ePub
5export_mobi: Habilita exportação para .mobi
6export_pdf: Habilita exportação para PDF
7export_csv: Habilita exportação para CSV
8export_json: Habilita exportação para JSON
9export_txt: Habilita exportação para TXT
10export_xml: Habilita exportação para XML
11pocket_consumer_key: Chave de consumidor do Pocket para importar conteúdo (https://getpocket.com/developer/docs/authentication)
12shaarli_url: URL Shaarli, se o serviço está habilitado
13share_diaspora: Habilitar compartilhamento para o Diaspora
14share_mail: Habilitar compartilhamento por e-mail
15share_shaarli: Habilitar compartilhamento para o Shaarli
16share_twitter: Habilitar compartilhamento para o Twitter
17show_printlink: Mostrar um link para imprimir o conteúdo
18wallabag_support_url: URL de Suporte do wallabag
19wallabag_url: URL de *sua* instância do wallabag
20entry: "artigo"
21export: "exportar"
22import: "importar"
23misc: "misc"
24modify_settings: "aplicar"
25piwik_host: Host de seu website Piwik
26piwik_site_id: ID de seu website Piwik
27piwik_enabled: Habilitar Piwik
28demo_mode_enabled: "Habilitar modo demo? (somente usado para o demo público do wallabag)"
29demo_mode_username: "Usuário demo"
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml
index 20d664f7..8e72b955 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml
@@ -23,7 +23,7 @@ export: "exportă"
23import: "importă" 23import: "importă"
24misc: "diverse" 24misc: "diverse"
25modify_settings: "aplică" 25modify_settings: "aplică"
26# piwik_host: Host of your website in Piwik 26# piwik_host: Host of your website in Piwik (without http:// or https://)
27# piwik_site_id: ID of your website in Piwik 27# piwik_site_id: ID of your website in Piwik
28# piwik_enabled: Enable Piwik 28# piwik_enabled: Enable Piwik
29# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" 29# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml
index 4b4d3edb..55f70843 100644
--- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml
+++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml
@@ -23,7 +23,7 @@
23# import: "import" 23# import: "import"
24# misc: "misc" 24# misc: "misc"
25# modify_settings: "apply" 25# modify_settings: "apply"
26# piwik_host: Host of your website in Piwik 26# piwik_host: Host of your website in Piwik (without http:// or https://)
27# piwik_site_id: ID of your website in Piwik 27# piwik_site_id: ID of your website in Piwik
28# piwik_enabled: Enable Piwik 28# piwik_enabled: Enable Piwik
29# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" 29# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
diff --git a/app/Resources/FOSUserBundle/translations/FOSUserBundle.pt.yml b/app/Resources/FOSUserBundle/translations/FOSUserBundle.pt.yml
new file mode 100644
index 00000000..85eadfd8
--- /dev/null
+++ b/app/Resources/FOSUserBundle/translations/FOSUserBundle.pt.yml
@@ -0,0 +1,2 @@
1Login: "Login"
2Enter your email address below and we'll send you password reset instructions.: "Digite seu endereço de e-mail para enviarmos as instruções de recupeção de sua senha."
diff --git a/app/config/config.yml b/app/config/config.yml
index ed2e7416..81d1728a 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.1.2 33 version: 2.1.3-dev
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'
@@ -44,12 +44,15 @@ wallabag_core:
44 es: 'Español' 44 es: 'Español'
45 oc: 'Occitan' 45 oc: 'Occitan'
46 it: 'Italiano' 46 it: 'Italiano'
47 pt: 'Português'
47 items_on_page: 12 48 items_on_page: 12
48 theme: material 49 theme: material
49 language: '%locale%' 50 language: '%locale%'
50 rss_limit: 50 51 rss_limit: 50
51 reading_speed: 1 52 reading_speed: 1
52 cache_lifetime: 10 53 cache_lifetime: 10
54 fetching_error_message: |
55 wallabag can't retrieve contents for this article. Please <a href="http://doc.wallabag.org/en/master/user/errors_during_fetching.html#how-can-i-help-to-fix-that">troubleshoot this issue</a>.
53 56
54wallabag_user: 57wallabag_user:
55 registration_enabled: "%fosuser_registration%" 58 registration_enabled: "%fosuser_registration%"
diff --git a/docs/de/index.rst b/docs/de/index.rst
index a380d7bd..b422bf83 100644
--- a/docs/de/index.rst
+++ b/docs/de/index.rst
@@ -45,6 +45,7 @@ Die Dokumentation ist in anderen Sprachen verfügbar :
45 user/tags 45 user/tags
46 user/android 46 user/android
47 user/parameters 47 user/parameters
48 user/backup
48 49
49.. _dev-docs: 50.. _dev-docs:
50 51
diff --git a/docs/de/user/backup.rst b/docs/de/user/backup.rst
new file mode 100644
index 00000000..ffe3ce37
--- /dev/null
+++ b/docs/de/user/backup.rst
@@ -0,0 +1,25 @@
1wallabag sichern
2================
3Da es manchmal vorkommen kann, dass dir ein Fehler mit deiner wallabag unterläuft und du Daten verlierst oder deine wallabag auf einen anderen Server verschieben willst, ist eine Sicherung der Daten sicher ratsam.
4Dieser Artikel beschreibt, was du für die Sicherung benötigst.
5
6Grundlegende Einstellungen
7--------------------------
8wallabag speichert grundlegende Parameter (etwa der SMTP-Server oder das Datenbank-Backend) in der Datei `app/config/parameters.yml`.
9
10Datenbank
11---------
12Da wallabag verschiedene Datenbank-Typen unterstützt, hängt der Weg der Sicherung von dem verwendeten Typ ab. Daher verweisen wir an dieser Stelle auf die entsprechenden Dokumentationen:
13
14Hier sind einige Beispiele:
15
16- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
17- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
18
19SQLite
20~~~~~~
21Um die SQLite-Datenbank zu sichern, ist es lediglich notwendig, das Verzeichnis `data/db` aus dem wallabag-Installations-Ordner zu kopieren.
22
23Bilder
24------
25Die Bilder, die von wallabag empfangen worden, sind unter `data/assets/images` gespeichert (der Bilder-Speicher wird in wallabag 2.2 implementiert).
diff --git a/docs/de/user/upgrade-2.1.x-2.1.y.rst b/docs/de/user/upgrade-2.1.x-2.1.y.rst
index e638ea9b..2f9b7791 100644
--- a/docs/de/user/upgrade-2.1.x-2.1.y.rst
+++ b/docs/de/user/upgrade-2.1.x-2.1.y.rst
@@ -26,7 +26,7 @@ Lade das neueste Release von wallabag herunter:
26 26
27 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package 27 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
28 28
29(md5 Hashsumme von 2.1.1: ``9584a3b60a2b2a4de87f536548caac93``) 29Du findest die `md5 Hashsumme des neuesten Pakets auf unserer Website <https://www.wallabag.org/pages/download-wallabag.html>`_.
30 30
31Entpacke das Archiv in deinen wallabag Ordner und ersetze ``app/config/parameters.yml`` mit deiner Datei. 31Entpacke das Archiv in deinen wallabag Ordner und ersetze ``app/config/parameters.yml`` mit deiner Datei.
32 32
diff --git a/docs/en/index.rst b/docs/en/index.rst
index 6d85db2b..0ead261b 100644
--- a/docs/en/index.rst
+++ b/docs/en/index.rst
@@ -46,6 +46,7 @@ The documentation is available in other languages:
46 user/tags 46 user/tags
47 user/android 47 user/android
48 user/parameters 48 user/parameters
49 user/backup
49 50
50.. _dev-docs: 51.. _dev-docs:
51 52
diff --git a/docs/en/user/android.rst b/docs/en/user/android.rst
index ccbad264..91dcb2fc 100644
--- a/docs/en/user/android.rst
+++ b/docs/en/user/android.rst
@@ -79,7 +79,7 @@ Known limitations
792FA 792FA
80~~~ 80~~~
81 81
82Currently the does not support two-factor authentication. You should disable that to get the app working. 82Currently the Android application does not support two-factor authentication. You should disable that to get the application working.
83 83
84 84
85Limited amount of articles with wallabag v2 85Limited amount of articles with wallabag v2
diff --git a/docs/en/user/backup.rst b/docs/en/user/backup.rst
new file mode 100644
index 00000000..51721000
--- /dev/null
+++ b/docs/en/user/backup.rst
@@ -0,0 +1,25 @@
1Backup wallabag
2===============
3Because sometimes you may do a mistake with your wallabag and lose data or in case you need to move your wallabag to another server you want to backup your data.
4This articles describes what you need to backup.
5
6Basic settings
7--------------
8wallabag stores some basic parameters (like SMTP server or database backend) in the file `app/config/parameters.yml`.
9
10Database
11--------
12As wallabag supports different kinds of database, the way to perform the backup depends on the database you use, so you need to refer to the vendor documentation.
13
14Here's some examples:
15
16- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
17- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
18
19SQLite
20~~~~~~
21To backup the SQLite database, you just need to copy the directory `data/db` from the wallabag application directory.
22
23Images
24------
25The images retrieved by wallabag are stored under `data/assets/images` (the images storage will be implemented in wallabag 2.2).
diff --git a/docs/en/user/upgrade-2.1.x-2.1.y.rst b/docs/en/user/upgrade-2.1.x-2.1.y.rst
index 575f4ba9..62cb7dc0 100644
--- a/docs/en/user/upgrade-2.1.x-2.1.y.rst
+++ b/docs/en/user/upgrade-2.1.x-2.1.y.rst
@@ -26,7 +26,7 @@ Download the last release of wallabag:
26 26
27 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package 27 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
28 28
29(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``) 29You will find the `md5 hash of the latest package on our website <https://www.wallabag.org/pages/download-wallabag.html>`_.
30 30
31Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours. 31Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.
32 32
diff --git a/docs/fr/index.rst b/docs/fr/index.rst
index 2a265ff3..dbb85910 100644
--- a/docs/fr/index.rst
+++ b/docs/fr/index.rst
@@ -46,6 +46,7 @@ La documentation est disponible dans d'autres langues :
46 user/filters 46 user/filters
47 user/tags 47 user/tags
48 user/parameters 48 user/parameters
49 user/backup
49 50
50.. _dev-docs: 51.. _dev-docs:
51 52
diff --git a/docs/fr/user/backup.rst b/docs/fr/user/backup.rst
new file mode 100644
index 00000000..ec4b1f4d
--- /dev/null
+++ b/docs/fr/user/backup.rst
@@ -0,0 +1,26 @@
1Sauvegarde de wallabag
2======================
3
4Parce que des fois vous faites des erreurs avec votre installation de wallabag et vous perdez des données ou parce que vous souhaitez migrer votre installation sur un autre serveur, vous souhaitez faire une sauvegarde de vos données.
5Cette documentation décrit ce que vous devez sauvegarder.
6
7Configuration
8-------------
9wallabag stocke quelques paramètres (comme la configuration SMTP ou les infos de bases de données) dans le fichier `app/config/parameters.yml`.
10
11Base de données
12---------------
13Comme wallabag supporte différentes sortes de bases de données, la manière de sauvegarder dépend du type de base de données que vous utilisez, donc vous devez vous en référez à la documentation correspondante.
14
15Quelques exemples :
16
17- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
18- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
19
20SQLite
21~~~~~~
22Pour sauvegarder une base SQLite, vous devez juste copier le répertoire `data/db` de votre installation wallabag.
23
24Images
25------
26Les images sauvegardées par wallabag sont stockées dans `data/assets/images` (le stockage des images sera implémenté dans wallabag 2.2).
diff --git a/docs/fr/user/upgrade-2.1.x-2.1.y.rst b/docs/fr/user/upgrade-2.1.x-2.1.y.rst
index c048099f..b6f1a2d0 100644
--- a/docs/fr/user/upgrade-2.1.x-2.1.y.rst
+++ b/docs/fr/user/upgrade-2.1.x-2.1.y.rst
@@ -26,7 +26,7 @@ Téléchargez la dernière version de wallabag :
26 26
27 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package 27 wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
28 28
29(hash md5 de l'archive 2.1.1 : ``9584a3b60a2b2a4de87f536548caac93``) 29Vous trouverez `le hash md5 du dernier package sur notre site <https://www.wallabag.org/pages/download-wallabag.html>`_.
30 30
31Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre. 31Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre.
32 32
diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php
index 8e438229..857a8b4c 100644
--- a/src/Wallabag/CoreBundle/Command/InstallCommand.php
+++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php
@@ -364,7 +364,7 @@ class InstallCommand extends ContainerAwareCommand
364 ], 364 ],
365 [ 365 [
366 'name' => 'piwik_host', 366 'name' => 'piwik_host',
367 'value' => 'http://v2.wallabag.org', 367 'value' => 'v2.wallabag.org',
368 'section' => 'analytics', 368 'section' => 'analytics',
369 ], 369 ],
370 [ 370 [
diff --git a/src/Wallabag/CoreBundle/Controller/EntryController.php b/src/Wallabag/CoreBundle/Controller/EntryController.php
index 3b28e635..97bb3d12 100644
--- a/src/Wallabag/CoreBundle/Controller/EntryController.php
+++ b/src/Wallabag/CoreBundle/Controller/EntryController.php
@@ -330,6 +330,15 @@ class EntryController extends Controller
330 330
331 $this->updateEntry($entry, 'entry_reloaded'); 331 $this->updateEntry($entry, 'entry_reloaded');
332 332
333 // if refreshing entry failed, don't save it
334 if ($this->getParameter('wallabag_core.fetching_error_message') === $entry->getContent()) {
335 $bag = $this->get('session')->getFlashBag();
336 $bag->clear();
337 $bag->add('notice', 'flashes.entry.notice.entry_reloaded_failed');
338
339 return $this->redirect($this->generateUrl('view', ['id' => $entry->getId()]));
340 }
341
333 $em = $this->getDoctrine()->getManager(); 342 $em = $this->getDoctrine()->getManager();
334 $em->persist($entry); 343 $em->persist($entry);
335 $em->flush(); 344 $em->flush();
diff --git a/src/Wallabag/CoreBundle/Controller/TagController.php b/src/Wallabag/CoreBundle/Controller/TagController.php
index 5acc6852..707f3bbe 100644
--- a/src/Wallabag/CoreBundle/Controller/TagController.php
+++ b/src/Wallabag/CoreBundle/Controller/TagController.php
@@ -143,6 +143,7 @@ class TagController extends Controller
143 'form' => null, 143 'form' => null,
144 'entries' => $entries, 144 'entries' => $entries,
145 'currentPage' => $page, 145 'currentPage' => $page,
146 'tag' => $tag->getLabel(),
146 ]); 147 ]);
147 } 148 }
148} 149}
diff --git a/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php b/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php
index 9425f961..a5e1be65 100644
--- a/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php
+++ b/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php
@@ -122,7 +122,7 @@ class LoadSettingData extends AbstractFixture implements OrderedFixtureInterface
122 ], 122 ],
123 [ 123 [
124 'name' => 'piwik_host', 124 'name' => 'piwik_host',
125 'value' => 'http://v2.wallabag.org', 125 'value' => 'v2.wallabag.org',
126 'section' => 'analytics', 126 'section' => 'analytics',
127 ], 127 ],
128 [ 128 [
diff --git a/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php b/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php
index d8141eea..3a3da024 100644
--- a/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php
+++ b/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php
@@ -39,6 +39,8 @@ class Configuration implements ConfigurationInterface
39 ->integerNode('cache_lifetime') 39 ->integerNode('cache_lifetime')
40 ->defaultValue(10) 40 ->defaultValue(10)
41 ->end() 41 ->end()
42 ->scalarNode('fetching_error_message')
43 ->end()
42 ->end() 44 ->end()
43 ; 45 ;
44 46
diff --git a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php
index 0cbde908..b4992d54 100644
--- a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php
+++ b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php
@@ -23,6 +23,7 @@ class WallabagCoreExtension extends Extension
23 $container->setParameter('wallabag_core.version', $config['version']); 23 $container->setParameter('wallabag_core.version', $config['version']);
24 $container->setParameter('wallabag_core.paypal_url', $config['paypal_url']); 24 $container->setParameter('wallabag_core.paypal_url', $config['paypal_url']);
25 $container->setParameter('wallabag_core.cache_lifetime', $config['cache_lifetime']); 25 $container->setParameter('wallabag_core.cache_lifetime', $config['cache_lifetime']);
26 $container->setParameter('wallabag_core.fetching_error_message', $config['fetching_error_message']);
26 27
27 $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); 28 $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
28 $loader->load('services.yml'); 29 $loader->load('services.yml');
diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml
index a4b727f4..614488a6 100644
--- a/src/Wallabag/CoreBundle/Resources/config/services.yml
+++ b/src/Wallabag/CoreBundle/Resources/config/services.yml
@@ -40,7 +40,7 @@ services:
40 class: Graby\Graby 40 class: Graby\Graby
41 arguments: 41 arguments:
42 - 42 -
43 error_message: "wallabag can't retrieve contents for this article. Please report this issue to us." 43 error_message: '%wallabag_core.fetching_error_message%'
44 http_client: 44 http_client:
45 user_agents: 45 user_agents:
46 'lifehacker.com': 'PHP/5.2' 46 'lifehacker.com': 'PHP/5.2'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
index bb23b5fe..6ca7e459 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
@@ -137,7 +137,7 @@ entry:
137 # starred: 'Starred entries' 137 # starred: 'Starred entries'
138 # archived: 'Archived entries' 138 # archived: 'Archived entries'
139 # filtered: 'Filtered entries' 139 # filtered: 'Filtered entries'
140 # filtered_tags: 'Filtered by tags' 140 # filtered_tags: 'Filtered by tags:'
141 # untagged: 'Untagged entries' 141 # untagged: 'Untagged entries'
142 list: 142 list:
143 # number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.' 143 # number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
@@ -445,6 +445,9 @@ user:
445 # delete_confirm: Are you sure? 445 # delete_confirm: Are you sure?
446 # back_to_list: Back to list 446 # back_to_list: Back to list
447 447
448error:
449 # page_title: An error occurred
450
448flashes: 451flashes:
449 config: 452 config:
450 notice: 453 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
index d1df8669..8fd1d82a 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
@@ -137,7 +137,7 @@ entry:
137 starred: 'Favorisierte Einträge' 137 starred: 'Favorisierte Einträge'
138 archived: 'Archivierte Einträge' 138 archived: 'Archivierte Einträge'
139 filtered: 'Gefilterte Einträge' 139 filtered: 'Gefilterte Einträge'
140 filtered_tags: 'Gefiltert nach Tags' 140 filtered_tags: 'Gefiltert nach Tags:'
141 untagged: 'Nicht getaggte Einträge' 141 untagged: 'Nicht getaggte Einträge'
142 list: 142 list:
143 number_on_the_page: '{0} Es gibt keine Einträge.|{1} Es gibt einen Eintrag.|]1,Inf[ Es gibt %count% Einträge.' 143 number_on_the_page: '{0} Es gibt keine Einträge.|{1} Es gibt einen Eintrag.|]1,Inf[ Es gibt %count% Einträge.'
@@ -445,6 +445,9 @@ user:
445 delete_confirm: Bist du sicher? 445 delete_confirm: Bist du sicher?
446 back_to_list: Zurück zur Liste 446 back_to_list: Zurück zur Liste
447 447
448error:
449 # page_title: An error occurred
450
448flashes: 451flashes:
449 config: 452 config:
450 notice: 453 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
index 4a8934b8..02f56535 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
@@ -137,7 +137,7 @@ entry:
137 starred: 'Starred entries' 137 starred: 'Starred entries'
138 archived: 'Archived entries' 138 archived: 'Archived entries'
139 filtered: 'Filtered entries' 139 filtered: 'Filtered entries'
140 filtered_tags: 'Filtered by tags' 140 filtered_tags: 'Filtered by tags:'
141 untagged: 'Untagged entries' 141 untagged: 'Untagged entries'
142 list: 142 list:
143 number_on_the_page: '{0} There are no entries.|{1} There is one entry.|]1,Inf[ There are %count% entries.' 143 number_on_the_page: '{0} There are no entries.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
@@ -445,6 +445,9 @@ user:
445 delete_confirm: Are you sure? 445 delete_confirm: Are you sure?
446 back_to_list: Back to list 446 back_to_list: Back to list
447 447
448error:
449 page_title: An error occurred
450
448flashes: 451flashes:
449 config: 452 config:
450 notice: 453 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
index 29f0676e..42ec8183 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
@@ -137,7 +137,7 @@ entry:
137 starred: 'Artículos favoritos' 137 starred: 'Artículos favoritos'
138 archived: 'Artículos archivados' 138 archived: 'Artículos archivados'
139 filtered: 'Artículos filtrados' 139 filtered: 'Artículos filtrados'
140 # filtered_tags: 'Filtered by tags' 140 # filtered_tags: 'Filtered by tags:'
141 # untagged: 'Untagged entries' 141 # untagged: 'Untagged entries'
142 list: 142 list:
143 number_on_the_page: '{0} No hay artículos.|{1} Hay un artículo.|]1,Inf[ Hay %count% artículos.' 143 number_on_the_page: '{0} No hay artículos.|{1} Hay un artículo.|]1,Inf[ Hay %count% artículos.'
@@ -445,6 +445,9 @@ user:
445 # delete_confirm: Are you sure? 445 # delete_confirm: Are you sure?
446 # back_to_list: Back to list 446 # back_to_list: Back to list
447 447
448error:
449 # page_title: An error occurred
450
448flashes: 451flashes:
449 config: 452 config:
450 notice: 453 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
index 074ab7a8..f82167df 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
@@ -137,7 +137,7 @@ entry:
137 starred: 'مقاله‌های برگزیده' 137 starred: 'مقاله‌های برگزیده'
138 archived: 'مقاله‌های بایگانی‌شده' 138 archived: 'مقاله‌های بایگانی‌شده'
139 filtered: 'مقاله‌های فیلترشده' 139 filtered: 'مقاله‌های فیلترشده'
140 # filtered_tags: 'Filtered by tags' 140 # filtered_tags: 'Filtered by tags:'
141 # untagged: 'Untagged entries' 141 # untagged: 'Untagged entries'
142 list: 142 list:
143 number_on_the_page: '{0} هیج مقاله‌ای نیست.|{1} یک مقاله هست.|]1,Inf[ %count% مقاله هست.' 143 number_on_the_page: '{0} هیج مقاله‌ای نیست.|{1} یک مقاله هست.|]1,Inf[ %count% مقاله هست.'
@@ -444,6 +444,9 @@ user:
444 # delete_confirm: Are you sure? 444 # delete_confirm: Are you sure?
445 # back_to_list: Back to list 445 # back_to_list: Back to list
446 446
447error:
448 # page_title: An error occurred
449
447flashes: 450flashes:
448 config: 451 config:
449 notice: 452 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
index 55453b6c..574cc1a7 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
@@ -137,7 +137,7 @@ entry:
137 starred: 'Articles favoris' 137 starred: 'Articles favoris'
138 archived: 'Articles lus' 138 archived: 'Articles lus'
139 filtered: 'Articles filtrés' 139 filtered: 'Articles filtrés'
140 filtered_tags: 'Articles filtrés par tags' 140 filtered_tags: 'Articles filtrés par tags :'
141 untagged: 'Article sans tag' 141 untagged: 'Article sans tag'
142 list: 142 list:
143 number_on_the_page: "{0} Il n'y a pas d'articles.|{1} Il y a un article.|]1,Inf[ Il y a %count% articles." 143 number_on_the_page: "{0} Il n'y a pas d'articles.|{1} Il y a un article.|]1,Inf[ Il y a %count% articles."
@@ -365,7 +365,7 @@ import:
365 how_to: "Choisissez le fichier de sauvegarde de vos marques-page et cliquez sur le bouton pour l'importer. Soyez avertis que le processus peut prendre un temps assez long car tous les articles doivent être récupérés en ligne." 365 how_to: "Choisissez le fichier de sauvegarde de vos marques-page et cliquez sur le bouton pour l'importer. Soyez avertis que le processus peut prendre un temps assez long car tous les articles doivent être récupérés en ligne."
366 instapaper: 366 instapaper:
367 page_title: 'Import > Instapaper' 367 page_title: 'Import > Instapaper'
368 description: 'Sur la page des paramètres (`https://www.instapaper.com/user<https://www.instapaper.com/user>`_), cliquez sur "Download .CSV file" dans la section "Export". Un fichier CSV se téléchargera ("instapaper-export.csv").' 368 description: 'Sur la page des paramètres (https://www.instapaper.com/user), cliquez sur "Download .CSV file" dans la section "Export". Un fichier CSV se téléchargera ("instapaper-export.csv").'
369 how_to: "Choisissez le fichier de votre export Instapaper et cliquez sur le bouton ci-dessous pour l'importer." 369 how_to: "Choisissez le fichier de votre export Instapaper et cliquez sur le bouton ci-dessous pour l'importer."
370 370
371developer: 371developer:
@@ -445,6 +445,9 @@ user:
445 delete_confirm: Êtes-vous sûr? 445 delete_confirm: Êtes-vous sûr?
446 back_to_list: Revenir à la liste 446 back_to_list: Revenir à la liste
447 447
448error:
449 page_title: Une erreur est survenue
450
448flashes: 451flashes:
449 config: 452 config:
450 notice: 453 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
index 67205c6d..d679ef00 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
@@ -137,7 +137,7 @@ entry:
137 starred: 'Contenuti preferiti' 137 starred: 'Contenuti preferiti'
138 archived: 'Contenuti archiviati' 138 archived: 'Contenuti archiviati'
139 filtered: 'Contenuti filtrati' 139 filtered: 'Contenuti filtrati'
140 # filtered_tags: 'Filtered by tags' 140 # filtered_tags: 'Filtered by tags:'
141 # untagged: 'Untagged entries' 141 # untagged: 'Untagged entries'
142 list: 142 list:
143 number_on_the_page: "{0} Non ci sono contenuti.|{1} C'è un contenuto.|]1,Inf[ Ci sono %count% contenuti." 143 number_on_the_page: "{0} Non ci sono contenuti.|{1} C'è un contenuto.|]1,Inf[ Ci sono %count% contenuti."
@@ -445,6 +445,9 @@ user:
445 # delete_confirm: Are you sure? 445 # delete_confirm: Are you sure?
446 # back_to_list: Back to list 446 # back_to_list: Back to list
447 447
448error:
449 # page_title: An error occurred
450
448flashes: 451flashes:
449 config: 452 config:
450 notice: 453 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
index 25e5f05a..af0fba0d 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
@@ -137,7 +137,7 @@ entry:
137 starred: 'Articles favorits' 137 starred: 'Articles favorits'
138 archived: 'Articles legits' 138 archived: 'Articles legits'
139 filtered: 'Articles filtrats' 139 filtered: 'Articles filtrats'
140 filtered_tags: 'Filtats per etiquetas' 140 filtered_tags: 'Filtats per etiquetas:'
141 untagged: 'Articles sens etiqueta' 141 untagged: 'Articles sens etiqueta'
142 list: 142 list:
143 number_on_the_page: "{0} I a pas cap d'article.|{1} I a un article.|]1,Inf[ I a %count% articles." 143 number_on_the_page: "{0} I a pas cap d'article.|{1} I a un article.|]1,Inf[ I a %count% articles."
@@ -445,6 +445,9 @@ user:
445 # delete_confirm: Are you sure? 445 # delete_confirm: Are you sure?
446 # back_to_list: Back to list 446 # back_to_list: Back to list
447 447
448error:
449 # page_title: An error occurred
450
448flashes: 451flashes:
449 config: 452 config:
450 notice: 453 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
index 392f9c19..bf47b58a 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
@@ -137,7 +137,7 @@ entry:
137 starred: 'Wpisy oznaczone gwiazdką' 137 starred: 'Wpisy oznaczone gwiazdką'
138 archived: 'Zarchiwizowane wpisy' 138 archived: 'Zarchiwizowane wpisy'
139 filtered: 'Odfiltrowane wpisy' 139 filtered: 'Odfiltrowane wpisy'
140 filtered_tags: 'Filtrowane po tagach' 140 filtered_tags: 'Filtrowane po tagach:'
141 untagged: 'Odtaguj wpisy' 141 untagged: 'Odtaguj wpisy'
142 list: 142 list:
143 number_on_the_page: '{0} Nie ma wpisów.|{1} Jest jeden wpis.|]1,Inf[ Są %count% wpisy.' 143 number_on_the_page: '{0} Nie ma wpisów.|{1} Jest jeden wpis.|]1,Inf[ Są %count% wpisy.'
@@ -445,6 +445,9 @@ user:
445 delete_confirm: Jesteś pewien? 445 delete_confirm: Jesteś pewien?
446 back_to_list: Powrót do listy 446 back_to_list: Powrót do listy
447 447
448error:
449 # page_title: An error occurred
450
448flashes: 451flashes:
449 config: 452 config:
450 notice: 453 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
new file mode 100644
index 00000000..f10dc9aa
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
@@ -0,0 +1,492 @@
1security:
2 login:
3 page_title: 'Bem vindo ao wallabag!'
4 keep_logged_in: 'Mantenha-me autenticado'
5 forgot_password: 'Esqueceu a senha?'
6 submit: 'Login'
7 register: 'Registre-se'
8 username: 'Nome de usuário'
9 password: 'Senha'
10 cancel: 'Cancelar'
11 resetting:
12 description: 'Digite seu endereço de e-mail abaixo e enviaremos instruções para resetar sua senha.'
13 register:
14 page_title: 'Criar uma conta'
15 go_to_account: 'Ir para sua conta'
16
17menu:
18 left:
19 unread: 'Não lido'
20 starred: 'Destacado'
21 archive: 'Arquivo'
22 all_articles: 'Todas as entradas'
23 config: 'Configurações'
24 tags: 'Tags'
25 internal_settings: 'Configurações Internas'
26 import: 'Importar'
27 howto: 'How to'
28 developer: 'Desenvolvedor'
29 logout: 'Sair'
30 about: 'Sobre'
31 search: 'Pesquisa'
32 save_link: 'Salvar um link'
33 back_to_unread: 'Voltar para os artigos não lidos'
34 users_management: 'Gestão de Usuários'
35 top:
36 add_new_entry: 'Adicionar uma nova entrada'
37 search: 'Pesquisa'
38 filter_entries: 'Filtrar entradas'
39 export: 'Exportar'
40 search_form:
41 input_label: 'Digite aqui sua pesquisa'
42
43footer:
44 wallabag:
45 elsewhere: 'Leve o wallabag com você'
46 social: 'Social'
47 powered_by: 'provido por'
48 about: 'Sobre'
49 stats: 'Desde %user_creation% você leu %nb_archives% artigos. Isso é %per_day% por dia!'
50
51config:
52 page_title: 'Config'
53 tab_menu:
54 settings: 'Configurações'
55 rss: 'RSS'
56 user_info: 'Informação do Usuário'
57 password: 'Senha'
58 rules: 'Regras de tags'
59 new_user: 'Adicionar um usuário'
60 form:
61 save: 'Salvar'
62 form_settings:
63 theme_label: 'Tema'
64 items_per_page_label: 'Itens por página'
65 language_label: 'Idioma'
66 reading_speed:
67 label: 'Velocidade de leitura'
68 help_message: 'Você pode usar ferramentas online para estimar sua velocidade de leitura:'
69 100_word: 'Posso ler ~100 palavras por minuto'
70 200_word: 'Posso ler ~200 palavras por minuto'
71 300_word: 'Posso ler ~300 palavras por minuto'
72 400_word: 'Posso ler ~400 palavras por minuto'
73 pocket_consumer_key_label: 'Chave do consumidor do Pocket para importar conteúdo'
74 form_rss:
75 description: 'Feeds RSS providos pelo wallabag permitem que você leia seus artigos salvos em seu leitor de RSS favorito. Você precisa gerar um token primeiro.'
76 token_label: 'Token RSS'
77 no_token: 'Nenhum Token'
78 token_create: 'Criar seu token'
79 token_reset: 'Gerar novamente seu token'
80 rss_links: 'Links RSS'
81 rss_link:
82 unread: 'não lido'
83 starred: 'destacado'
84 archive: 'arquivado'
85 rss_limit: 'Número de itens no feed'
86 form_user:
87 two_factor_description: 'Habilitar autenticação de dois passos significa que você receberá um e-mail com um código a cada nova conexão desconhecida.'
88 name_label: 'Nome'
89 email_label: 'E-mail'
90 twoFactorAuthentication_label: 'Autenticação de dois passos'
91 form_password:
92 old_password_label: 'Senha atual'
93 new_password_label: 'Nova senha'
94 repeat_new_password_label: 'Repita a nova senha'
95 form_rules:
96 if_label: 'if'
97 then_tag_as_label: 'então coloque a tag'
98 delete_rule_label: 'apagar'
99 edit_rule_label: 'editar'
100 rule_label: 'Regras'
101 tags_label: 'Tags'
102 faq:
103 title: 'FAQ'
104 tagging_rules_definition_title: 'O que as « regras de tags » significam?'
105 tagging_rules_definition_description: 'São regras usadas pelo Wallabag para automaticamente adicionar tags em novos artigos.<br />Cada vez que um novo artigo é adicionado, todas as regras de tags podem ser usadas para adicionar as tags que você configurou, ajudando-o com o problema de classificar manualmente seus artigos.'
106 how_to_use_them_title: 'Como eu as utilizo?'
107 how_to_use_them_description: 'Vamos dizer que você deseja adicionar a tag « <i>leitura rápida</i> » quando o tempo de leitura for menor que 3 minutos.<br />Neste caso, você deve « readingTime &lt;= 3 » no campo <i>Regra</i> e « <i>leitura rápida</i> » no campo <i>Tags</i>.<br />Diversas tags podem ser adicionadas simultâneamente separando-as com vírgula: « <i>leitura rápida, precisa ser lido</i> »<br />Regras complexas podem ser escritas usando os seguintes operadores pré-definidos: if « <i>readingTime &gt;= 5 AND domainName = "github.com"</i> » então adicione a tag « <i>leitura longa, github </i> »'
108 variables_available_title: 'Quais variáveis e operadores eu posso usar para escrever regras?'
109 variables_available_description: 'As seguintes variáveis e operadores podem ser usados para criar regras de tags:'
110 meaning: 'Meaning'
111 variable_description:
112 label: 'Variável'
113 title: 'Título da entrada'
114 url: 'URL da entrada'
115 isArchived: 'Se a entrada está arquivada ou não'
116 isDestacado: 'Se a entrada está destacada ou não'
117 content: 'O conteúdo da entrada'
118 language: 'O idioma da entrada'
119 mimetype: 'O mime-type da entrada'
120 readingTime: 'O tempo estimado de leitura da entrada, em minutos'
121 domainName: 'O domínio da entrada'
122 operator_description:
123 label: 'Operador'
124 less_than: 'Menor que...'
125 strictly_less_than: 'Estritamente menor que...'
126 greater_than: 'Maior que...'
127 strictly_greater_than: 'Estritamente maior que...'
128 equal_to: 'Igual a...'
129 not_equal_to: 'Diferente de...'
130 or: 'Uma regra OU outra'
131 and: 'Uma regra E outra'
132 matches: 'Testa que um <i>assunto</i> corresponde a uma <i>pesquisa</i> (maiúscula ou minúscula).<br />Exemplo: <code>título corresponde a "futebol"</code>'
133
134entry:
135 page_titles:
136 unread: 'Entradas não lidas'
137 starred: 'Entradas destacadas'
138 archived: 'Entradas arquivadas'
139 filtered: 'Entradas filtradas'
140 filtered_tags: 'Filtrar por tags:'
141 untagged: 'Entradas sem tags'
142 list:
143 number_on_the_page: '{0} Não existem entradas.|{1} Existe uma entrada.|]1,Inf[ Existem %count% entradas.'
144 reading_time: 'tempo estimado de leitura'
145 reading_time_minutes: 'tempo estimado de leitura: %readingTime% min'
146 reading_time_less_one_minute: 'tempo estimado de leitura: <small class="inferieur">&lt;</small> 1 min'
147 number_of_tags: '{1}e uma outra tag|]1,Inf[e %count% outras tags'
148 reading_time_minutes_short: '%readingTime% min'
149 reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
150 original_article: 'original'
151 toogle_as_read: 'Marcar como lido'
152 toogle_as_star: 'Marcar como destacado'
153 delete: 'Apagar'
154 export_title: 'Exportar'
155 filters:
156 title: 'Filtros'
157 status_label: 'Status'
158 archived_label: 'Arquivado'
159 starred_label: 'Destacado'
160 unread_label: 'Não Lido'
161 preview_picture_label: 'Possui uma imagem de preview'
162 preview_picture_help: 'Imagem de preview'
163 language_label: 'Idioma'
164 reading_time:
165 label: 'Tempo de leitura em minutos'
166 from: 'de'
167 to: 'para'
168 domain_label: 'Nome do domínio'
169 created_at:
170 label: 'Data de criação'
171 from: 'de'
172 to: 'para'
173 action:
174 clear: 'Limpar'
175 filter: 'Filtro'
176 view:
177 left_menu:
178 back_to_top: 'Voltar ao topo'
179 back_to_homepage: 'Voltar'
180 set_as_read: 'Marcar como lido'
181 set_as_unread: 'Marcar como não lido'
182 set_as_starred: 'Alternar destaque'
183 view_original_article: 'Artigo original'
184 re_fetch_content: 'Recapturar o conteúdo'
185 delete: 'Apagar'
186 add_a_tag: 'Adicionar uma tag'
187 share_content: 'Compartilhar'
188 share_email_label: 'E-mail'
189 public_link: 'link público'
190 delete_public_link: 'apagar link público'
191 download: 'Download'
192 print: 'Imprimir'
193 problem:
194 label: 'Problemas?'
195 description: 'este artigo aparece errado?'
196 edit_title: 'Editar título'
197 original_article: 'original'
198 annotations_on_the_entry: '{0} Sem anotações|{1} Uma anotação|]1,Inf[ %nbAnnotations% anotações'
199 created_at: 'Data de criação'
200 new:
201 page_title: 'Salvar nova entrada'
202 placeholder: 'http://website.com'
203 form_new:
204 url_label: Url
205 edit:
206 page_title: 'Editar uma entrada'
207 title_label: 'Título'
208 url_label: 'Url'
209 is_public_label: 'Público'
210 save_label: 'Salvar'
211 public:
212 shared_by_wallabag: "Este artigo foi compartilhado pelo <a href='%wallabag_instance%'>wallabag</a>"
213
214about:
215 page_title: 'Sobre'
216 top_menu:
217 who_behind_wallabag: 'Quem está por trás do wallabag'
218 getting_help: 'Obtendo ajuda'
219 helping: 'Ajudando o wallabag'
220 contributors: 'Contribuidores'
221 third_party: 'Bibliotecas terceiras'
222 who_behind_wallabag:
223 developped_by: 'Desenvolvido por'
224 website: 'website'
225 many_contributors: 'E muitos outros contribuidores ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">no Github</a>'
226 project_website: 'Website do projeto'
227 license: 'Licença'
228 version: 'Versão'
229 getting_help:
230 documentation: 'Documentação'
231 bug_reports: 'Informar bugs'
232 support: '<a href="https://support.wallabag.org">Em nosso site de suporte</a> ou <a href="https://github.com/wallabag/wallabag/issues">no GitHub</a>'
233 helping:
234 description: 'wallabag é livre e software livre. Você pode nos ajudar:'
235 by_contributing: 'contribuindo com o projeto:'
236 by_contributing_2: 'uma lista de todas as nossas necessidades'
237 by_paypal: 'via Paypal'
238 contributors:
239 description: 'Obrigado por contribuir com a aplicação web wallabag'
240 third_party:
241 description: 'Aqui está a lista de bibliotecas terceiras usadas no wallabag (com suas licenças):'
242 package: 'Pacote'
243 license: 'Licença'
244
245howto:
246 page_title: 'How to'
247 page_description: 'Existem diferentes formas de salvar um artigo:'
248 top_menu:
249 browser_addons: 'Extensões de navegadores'
250 mobile_apps: "App's móveis"
251 bookmarklet: 'Bookmarklet'
252 form:
253 description: 'Obrigado por este formulário'
254 browser_addons:
255 firefox: 'Extensão padrão do Firefox'
256 chrome: 'Extensão do Chrome'
257 mobile_apps:
258 android:
259 via_f_droid: 'via F-Droid'
260 via_google_play: 'via Google Play'
261 ios: 'na iTunes Store'
262 windows: 'na Microsoft Store'
263 bookmarklet:
264 description: 'Arraste e solve este link na sua barra de favoritos:'
265
266quickstart:
267 page_title: 'Começo Rápido'
268 more: 'Mais...'
269 intro:
270 title: 'Bem-vindo ao wallabag!'
271 paragraph_1: 'Nós podemos acompanhar você em sua visita ao wallabag e mostrar algumas funcionalidades que podem lhe interessar.'
272 paragraph_2: 'Siga-nos!'
273 configure:
274 title: 'Configurar a aplicação'
275 description: 'Para ter uma aplicação que atende você, dê uma olhada na configuração do wallabag.'
276 language: 'Alterar idioma e design'
277 rss: 'Habilitar feeds RSS'
278 tagging_rules: 'Escrever regras para acrescentar tags automaticamente em seus artigos'
279 admin:
280 title: 'Administração'
281 description: 'Como administrador você tem privilégios no wallabag. Você pode:'
282 new_user: 'Criar um novo usuário'
283 analytics: 'Configurar o analytics'
284 sharing: 'habilitar alguns parâmetros para compartilhamento de artigos'
285 export: 'Configurar exportação'
286 import: 'Configurar importação'
287 first_steps:
288 title: 'Primeiros passos'
289 description: "Agora o wallabag está bem configurado, é hora de arquivar a web. Você pode clicar no sinal de + no topo a direita para adicionar um link."
290 new_article: 'Salvar seu primeiro artigo'
291 unread_articles: 'E classificá-lo!'
292 migrate:
293 title: 'Migrar de um serviço existente'
294 description: 'Você está usando um outro serviço? Nós podemos ajudá-lo a recuperar seus dados para o wallabag.'
295 pocket: 'Migrar do Pocket'
296 wallabag_v1: 'Migrar do wallabag v1'
297 wallabag_v2: 'Migrar do wallabag v2'
298 readability: 'Migrate from Readability'
299 instapaper: 'Migrate from Instapaper'
300 developer:
301 title: 'Desenvolvedores'
302 description: 'Nós também agradecemos os desenvolvedores: Docker, API, traduções, etc.'
303 create_application: 'Criar sua aplicação terceira'
304 use_docker: 'Usar o Docker para instalar o wallabag'
305 docs:
306 title: 'Documentação completa'
307 description: "Existem muitas funcionalidades no wallabag. Não hesite em ler o manual para conhecê-las e aprender como usá-las."
308 annotate: 'Anotar seu artigo'
309 export: 'Converter seu artigo em ePUB ou PDF'
310 search_filters: 'veja coo você pode encontrar um artigo usanndo o motor de busca e filtros'
311 fetching_errors: 'O que eu posso fazer quando um artigo encontra erros na recuperação?'
312 all_docs: 'E outros muitos artigos!'
313 support:
314 title: 'Suporte'
315 description: 'Se você precisa de ajuda, nós estamos aqui.'
316 github: 'No GitHub'
317 email: 'Por e-mail'
318 gitter: 'No Gitter'
319
320tag:
321 page_title: 'Tags'
322 list:
323 number_on_the_page: '{0} Não existem tags.|{1} Uma tag.|]1,Inf[ Existem %count% tags.'
324 see_untagged_entries: 'Ver entradas sem tags'
325
326import:
327 page_title: 'Importar'
328 page_description: 'Bem-vindo ao importador do wallabag. Por favo selecione o serviço do qual deseja migrar.'
329 action:
330 import_contents: 'Importar conteúdos'
331 form:
332 mark_as_read_title: 'Marcar todos como lidos?'
333 mark_as_read_label: 'Marcar todas as entradas importadas como lidas'
334 file_label: 'Arquivo'
335 save_label: 'Carregar arquivo'
336 pocket:
337 page_title: 'Importar > Pocket'
338 description: 'Com este importador você importa todos os seus dados do Pocket. O Pocket não nos permite recuperar o conteúdo de seu serviço, então o conteúdo que pode ser lido é recarregado pelo wallabag.'
339 config_missing:
340 description: 'O importador do Pocket não está configurado.'
341 admin_message: 'Você precisa definir uma %keyurls%a pocket_consumer_key%keyurle%.'
342 user_message: 'Seu administrador do servidor precisa definir uma chave de API para o Pocket.'
343 authorize_message: 'Você pode importar seus dados de sua conta do Pocket. Você somente precisa clicar no botão abaixo e autorizar a aplicação a conectar-se ao getpocket.com.'
344 connect_to_pocket: 'Conecte ao Pocket e importe os dados'
345 wallabag_v1:
346 page_title: 'Importar > Wallabag v1'
347 description: 'Com este importador você importa todos os seus artigos do wallabag v1. Na sua página de configuração, clique em "JSON export" na opção "Export your wallabag data". Você irá criar um arquivo "wallabag-export-1-xxxx-xx-xx.json".'
348 how_to: 'Por favor, selecione seu exportador wallabag e clique no botão abaixo para carregar e importar.'
349 wallabag_v2:
350 page_title: 'Importar > Wallabag v2'
351 description: 'Com este importador você importa todos os seus artigos do wallabag v2. Vá em Todos os artigos e então, na barra lateral de exportação, clique em "JSON". Você irá criar um arquivo "All articles.json".'
352 readability:
353 page_title: 'Importar > Readability'
354 description: 'Este importador pode importar todos os artigos do Readability. Nas página ferramentas (https://www.readability.com/tools/), clique em "Export your data" na seção "Data Export". Você receberá um e-mail para fazer o download de um json (que de fato não termina com .json).'
355 how_to: 'Por favor, selecione sua exportação do Readability e clique no botão abaixo para importá-la.'
356 worker:
357 enabled: "A importação é feita assíncronamente. Uma vez que a tarefa de importação é iniciada, um trabalho externo pode executar tarefas uma por vez. O serviço atual é:"
358 firefox:
359 page_title: 'Importar > Firefox'
360 description: "Com este importador você importa todos os favoritos de seu Firefox. Somente vá até seus favoritos (Ctrl+Maj+O), e em \"Importar e Backup\" e escolha \"Backup...\". Você terá então um arquivo .json."
361 how_to: "Por favor, escolha o arquivo de backup dos favoritos e clique no botão abaixo para importá-lo. Note que o processo pode demorar até que todos os artigos tenham sido copiados."
362 chrome:
363 page_title: 'Importar > Chrome'
364 description: "Com este importador você importa todos os favoritos de seu Chrome. A localização do arquivo depende de seu sistema operacional: <ul><li>Em Linux, vá para o diretório <code>~/.config/chromium/Default/</code></li><li>Em Windows, ele deve estar em <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code></li><li>Em OS X, ele deve estar em <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code></li></ul>Uma vez que você pegou o arquivo, copie-o para algum lugar que você o encontre.<em><br>Note que se você possui o Chromium ao invés do Chrome, você precisa corrigir os caminhos.</em></p>"
365 how_to: "Por favor, escolha o arquivo de backup dos favoritos e clique no botão abaixo para importá-lo. Note que o processo pode demorar até que todos os artigos tenham sido copiados."
366 instapaper:
367 page_title: 'Importar > Instapaper'
368 description: 'Este importador pode importar todos os artigos do seu Instapaper. Nas página de configurações (https://www.instapaper.com/user), clique em "Download .CSV file" na seção "Export". Um arquivo CSV será baixado (algo como "instapaper-export.csv").'
369 how_to: 'Por favor, selecione sua exportação do seu Instapaper e clique no botão abaixo para importá-la.'
370
371developer:
372 page_title: 'Desenvolvedor'
373 welcome_message: 'Bem-vindo a API do wallabag'
374 documentation: 'Documentação'
375 how_to_first_app: 'Como criar minha primeira aplicação'
376 full_documentation: 'Ver a documentação completa da API'
377 list_methods: 'Lista de métodos da API'
378 clients:
379 title: 'Clientes'
380 create_new: 'Criar um novo cliente'
381 existing_clients:
382 title: 'Clientes existentes'
383 field_id: 'ID do cliente'
384 field_secret: 'Chave do cliente'
385 field_uris: 'URIs de redirecionamento'
386 field_grant_types: 'Tipo permitido'
387 no_client: 'Nenhum cliente até agora.'
388 remove:
389 warn_message_1: 'Você tem permissão pare remover este cliente. Esta ação é IRREVERSÍVEL !'
390 warn_message_2: 'Se você remover isso, todo o aplicativo configurado com este cliente não poderá se autenticar no seu wallabag.'
391 action: 'Remover este cliente'
392 client:
393 page_title: 'Desenvolvedor > Novo cliente'
394 page_description: 'Você está prestes a criar um novo cliente. Por favor preencha o campo abaixo para a URI de redirecionamento de sua aplicação.'
395 form:
396 name_label: 'Nome do cliente'
397 redirect_uris_label: 'URIs de redirecionamento'
398 save_label: 'Criar um novo cliente'
399 action_back: 'Voltar'
400 client_parameter:
401 page_title: 'Desenvolvedor > Parâmetros de clientes'
402 page_description: 'Aqui estão os parâmetros de seus clientes.'
403 field_name: 'Nome do cliente'
404 field_id: 'ID do cliente'
405 field_secret: 'Chave do cliente'
406 back: 'Voltar'
407 read_howto: 'Leia o how-to "Criar minha primeira aplicação"'
408 howto:
409 page_title: 'Desenvolvedor > Criar minha primeira aplicação'
410 description:
411 paragraph_1: 'Os seguintes comandos fazem uso da <a href="https://github.com/jkbrzt/httpie">biblioteca HTTPie</a>. Tenha certeza que ela está instalada em seu servidor antes de usá-la.'
412 paragraph_2: 'Você precisa de um token para a comunicação entre sua aplicação terceira e a API do wallabag.'
413 paragraph_3: 'Para criar este token, você precisa <a href="%link%">criar um novo cliente</a>.'
414 paragraph_4: 'Agora, crie seu token (altere client_id, client_secret, username e password com os valores corretos):'
415 paragraph_5: 'A API pode retornar uma resposta como essa:'
416 paragraph_6: 'O access_token é utilizável para fazer uma chamada para o endpoint da API. Por exemplo:'
417 paragraph_7: 'Esta chamada pode retornar todas as entradas de seu usuário.'
418 paragraph_8: 'Se você deseja ver todos os endpoints da API, dê uma olhada <a href="%link%">em nossa documentação da API</a>.'
419 back: 'Voltar'
420
421user:
422 page_title: 'Gerenciamento de Usuários'
423 new_user: 'Criar um novo usuário'
424 edit_user: 'Editar um usuário existente'
425 description: 'Aqui você gerencia todos os usuários (cria, edita e apaga)'
426 list:
427 actions: 'Ações'
428 edit_action: 'Editar'
429 yes: 'Sim'
430 no: 'Não'
431 create_new_one: 'Criar um novo usuário'
432 form:
433 username_label: 'Nome de Usuário'
434 name_label: 'Nome'
435 password_label: 'Senha'
436 repeat_new_password_label: 'Repita a nova senha'
437 plain_password_label: '????'
438 email_label: 'E-mail'
439 enabled_label: 'Habilitado'
440 locked_label: 'Travado'
441 last_login_label: 'Último login'
442 twofactor_label: 'Autenticação de dois passos'
443 save: 'Salvar'
444 delete: 'Apagar'
445 delete_confirm: 'Tem certeza?'
446 back_to_list: 'Voltar para a lista'
447
448flashes:
449 config:
450 notice:
451 config_saved: 'Configiração salva. Alguns parâmetros podem ser considerados depois da desconexão.'
452 password_updated: 'Senha atualizada'
453 password_not_updated_demo: 'Em modo de demonstração, você não pode alterar a senha deste usuário.'
454 user_updated: 'Informação atualizada'
455 rss_updated: 'Informação de RSS atualizada'
456 tagging_rules_updated: 'Regras de tags atualizadas'
457 tagging_rules_deleted: 'Regra de tag apagada'
458 rss_token_updated: 'Token RSS atualizado'
459 entry:
460 notice:
461 entry_already_saved: 'Entrada já foi salva em %date%'
462 entry_saved: 'Entrada salva'
463 entry_saved_failed: 'Failed to save entry'
464 entry_updated: 'Entrada atualizada'
465 entry_reloaded: 'Entrada recarregada'
466 entry_reloaded_failed: 'Falha em recarregar a entrada'
467 entry_archived: 'Entrada arquivada'
468 entry_unarchived: 'Entrada desarquivada'
469 entry_starred: 'Entrada destacada'
470 entry_unstarred: 'Entrada não destacada'
471 entry_deleted: 'Entrada apagada'
472 tag:
473 notice:
474 tag_added: 'Tag adicionada'
475 import:
476 notice:
477 failed: 'Importação falhou, por favor tente novamente.'
478 failed_on_file: 'Erro ao processar a importação. Por favor verifique seu arquivo de importação.'
479 summary: 'relatório de importação: %imported% importados, %skipped% já existem.'
480 summary_with_queue: 'Importar sumáario: %queued% agendados.'
481 error:
482 redis_enabled_not_installed: 'O Redis está habilitado para importação assíncrona mas parece que <u>não podemos nos conectar nele</u>. Por favor verifique as configurações do Redis.'
483 rabbit_enabled_not_installed: 'O RabbitMQ está habilitado para importação assíncrona mas parece que <u>não podemos nos conectar nele</u>. Por favor verifique as configurações do RabbitMQ.'
484 developer:
485 notice:
486 client_created: 'Novo cliente criado.'
487 client_deleted: 'Cliente removido'
488 user:
489 notice:
490 added: 'Usuário "%username%" adicionado'
491 updated: 'Usuário "%username%" atualizado'
492 deleted: 'Usuário "%username%" removido'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
index 152d5020..875c82e8 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
@@ -137,7 +137,7 @@ entry:
137 # starred: 'Starred entries' 137 # starred: 'Starred entries'
138 # archived: 'Archived entries' 138 # archived: 'Archived entries'
139 # filtered: 'Filtered entries' 139 # filtered: 'Filtered entries'
140 # filtered_tags: 'Filtered by tags' 140 # filtered_tags: 'Filtered by tags:'
141 # untagged: 'Untagged entries' 141 # untagged: 'Untagged entries'
142 list: 142 list:
143 # number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.' 143 # number_on_the_page: '{0} There is no entry.|{1} There is one entry.|]1,Inf[ There are %count% entries.'
@@ -445,6 +445,9 @@ user:
445 # delete_confirm: Are you sure? 445 # delete_confirm: Are you sure?
446 # back_to_list: Back to list 446 # back_to_list: Back to list
447 447
448error:
449 # page_title: An error occurred
450
448flashes: 451flashes:
449 config: 452 config:
450 notice: 453 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
index a2eca59b..f50f629a 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
@@ -136,7 +136,7 @@ entry:
136 # starred: 'Starred entries' 136 # starred: 'Starred entries'
137 # archived: 'Archived entries' 137 # archived: 'Archived entries'
138 # filtered: 'Filtered entries' 138 # filtered: 'Filtered entries'
139 # filtered_tags: 'Filtered by tags' 139 # filtered_tags: 'Filtered by tags:'
140 # untagged: 'Untagged entries' 140 # untagged: 'Untagged entries'
141 list: 141 list:
142 number_on_the_page: '{0} Herhangi bir makale yok.|{1} Burada bir adet makale var.|]1,Inf[ Burada %count% adet makale var.' 142 number_on_the_page: '{0} Herhangi bir makale yok.|{1} Burada bir adet makale var.|]1,Inf[ Burada %count% adet makale var.'
@@ -444,6 +444,9 @@ user:
444 # delete_confirm: Are you sure? 444 # delete_confirm: Are you sure?
445 # back_to_list: Back to list 445 # back_to_list: Back to list
446 446
447error:
448 # page_title: An error occurred
449
447flashes: 450flashes:
448 config: 451 config:
449 notice: 452 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.pt.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.pt.yml
new file mode 100644
index 00000000..49890830
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.pt.yml
@@ -0,0 +1,6 @@
1validator:
2 password_must_match: 'Os campos de senha devem coincidir.'
3 password_too_short: 'A senha deve ter pelo menos 8 caracteres'
4 password_wrong_value: 'A senha atual informada está errada'
5 item_per_page_too_high: 'Certamente isso pode matar a aplicação'
6 rss_limit_too_hight: 'Certamente isso pode matar a aplicação'
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
index 3af88b23..f19f2922 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
@@ -1,7 +1,11 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %} 1{% extends "WallabagCoreBundle::layout.html.twig" %}
2 2
3{% block title %} 3{% block title %}
4 {% include "@WallabagCore/themes/common/Entry/_title.html.twig" %} 4 {% set currentTag = '' %}
5 {% if tag is defined %}
6 {% set currentTag = tag %}
7 {% endif %}
8 {% include "@WallabagCore/themes/common/Entry/_title.html.twig" with {'currentTag': currentTag} %}
5{% endblock %} 9{% endblock %}
6 10
7{% block content %} 11{% block content %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_title.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_title.html.twig
index d1c2f203..92cabdd9 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_title.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_title.html.twig
@@ -7,7 +7,7 @@
7{% elseif currentRoute == 'all' %} 7{% elseif currentRoute == 'all' %}
8 {{ 'entry.page_titles.filtered'|trans }} 8 {{ 'entry.page_titles.filtered'|trans }}
9{% elseif currentRoute == 'tag_entries' %} 9{% elseif currentRoute == 'tag_entries' %}
10 {{ 'entry.page_titles.filtered_tags'|trans }} 10 {{ 'entry.page_titles.filtered_tags'|trans }} {{ currentTag }}
11{% elseif currentRoute == 'untagged' %} 11{% elseif currentRoute == 'untagged' %}
12 {{ 'entry.page_titles.untagged'|trans }} 12 {{ 'entry.page_titles.untagged'|trans }}
13{% else %} 13{% else %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig
index 804adb36..f77264c6 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig
@@ -39,7 +39,7 @@
39 <meta name="twitter:image" content="{{ picturePath }}" /> 39 <meta name="twitter:image" content="{{ picturePath }}" />
40 <meta name="twitter:site" content="@wallabagapp" /> 40 <meta name="twitter:site" content="@wallabagapp" />
41 <meta name="twitter:title" content="{{ entry.title | raw }}" /> 41 <meta name="twitter:title" content="{{ entry.title | raw }}" />
42 <meta name="twitter:description" content="{{ entry.title | raw }}" /> 42 <meta name="twitter:description" content="{{ entry.content|striptags|slice(0, 300)|raw }}&hellip;" />
43 </head> 43 </head>
44 <body> 44 <body>
45 <header> 45 <header>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
index 919f94ec..5c7cfd65 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
@@ -1,7 +1,11 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %} 1{% extends "WallabagCoreBundle::layout.html.twig" %}
2 2
3{% block title %} 3{% block title %}
4 {% include "@WallabagCore/themes/common/Entry/_title.html.twig" %} 4 {% set currentTag = '' %}
5 {% if tag is defined %}
6 {% set currentTag = tag %}
7 {% endif %}
8 {% include "@WallabagCore/themes/common/Entry/_title.html.twig" with {'currentTag': currentTag} %}
5{% endblock %} 9{% endblock %}
6 10
7{% block content %} 11{% block content %}
diff --git a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
index 783cde3e..a305c53f 100644
--- a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
+++ b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
@@ -138,8 +138,11 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
138 $interval = $user->getCreatedAt()->diff(new \DateTime('now')); 138 $interval = $user->getCreatedAt()->diff(new \DateTime('now'));
139 $nbDays = (int) $interval->format('%a') ?: 1; 139 $nbDays = (int) $interval->format('%a') ?: 1;
140 140
141 // force setlocale for date translation
142 setlocale(LC_TIME, strtolower($user->getConfig()->getLanguage()).'_'.strtoupper(strtolower($user->getConfig()->getLanguage())));
143
141 return $this->translator->trans('footer.stats', [ 144 return $this->translator->trans('footer.stats', [
142 '%user_creation%' => $user->getCreatedAt()->format('F jS, Y'), 145 '%user_creation%' => strftime('%e %B %Y', $user->getCreatedAt()->getTimestamp()),
143 '%nb_archives%' => $nbArchives, 146 '%nb_archives%' => $nbArchives,
144 '%per_day%' => round($nbArchives / $nbDays, 2), 147 '%per_day%' => round($nbArchives / $nbDays, 2),
145 ]); 148 ]);
diff --git a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php
index 2b85ad76..b893ea29 100644
--- a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php
+++ b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php
@@ -50,9 +50,10 @@ abstract class AbstractConsumer
50 $entry = $this->import->parseEntry($storedEntry); 50 $entry = $this->import->parseEntry($storedEntry);
51 51
52 if (null === $entry) { 52 if (null === $entry) {
53 $this->logger->warning('Unable to parse entry', ['entry' => $storedEntry]); 53 $this->logger->warning('Entry already exists', ['entry' => $storedEntry]);
54 54
55 return false; 55 // return true to skip message
56 return true;
56 } 57 }
57 58
58 try { 59 try {
diff --git a/src/Wallabag/ImportBundle/Import/BrowserImport.php b/src/Wallabag/ImportBundle/Import/BrowserImport.php
index 9d75685b..2ca1683b 100644
--- a/src/Wallabag/ImportBundle/Import/BrowserImport.php
+++ b/src/Wallabag/ImportBundle/Import/BrowserImport.php
@@ -139,12 +139,24 @@ abstract class BrowserImport extends AbstractImport
139 public function parseEntry(array $importedEntry) 139 public function parseEntry(array $importedEntry)
140 { 140 {
141 if ((!array_key_exists('guid', $importedEntry) || (!array_key_exists('id', $importedEntry))) && is_array(reset($importedEntry))) { 141 if ((!array_key_exists('guid', $importedEntry) || (!array_key_exists('id', $importedEntry))) && is_array(reset($importedEntry))) {
142 if ($this->producer) {
143 $this->parseEntriesForProducer($importedEntry);
144
145 return;
146 }
147
142 $this->parseEntries($importedEntry); 148 $this->parseEntries($importedEntry);
143 149
144 return; 150 return;
145 } 151 }
146 152
147 if (array_key_exists('children', $importedEntry)) { 153 if (array_key_exists('children', $importedEntry)) {
154 if ($this->producer) {
155 $this->parseEntriesForProducer($importedEntry['children']);
156
157 return;
158 }
159
148 $this->parseEntries($importedEntry['children']); 160 $this->parseEntries($importedEntry['children']);
149 161
150 return; 162 return;
diff --git a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
index 9b03a519..05113650 100644
--- a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
@@ -359,11 +359,49 @@ class EntryControllerTest extends WallabagCoreTestCase
359 359
360 $content = $em 360 $content = $em
361 ->getRepository('WallabagCoreBundle:Entry') 361 ->getRepository('WallabagCoreBundle:Entry')
362 ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); 362 ->find($content->getId());
363 363
364 $this->assertNotEmpty($content->getContent()); 364 $this->assertNotEmpty($content->getContent());
365 } 365 }
366 366
367 /**
368 * @depends testPostNewOk
369 */
370 public function testReloadWithFetchingFailed()
371 {
372 $this->logInAs('admin');
373 $client = $this->getClient();
374
375 $em = $client->getContainer()
376 ->get('doctrine.orm.entity_manager');
377
378 $content = $em
379 ->getRepository('WallabagCoreBundle:Entry')
380 ->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
381
382 // put a known failed url
383 $content->setUrl('http://0.0.0.0/failed.html');
384 $em->persist($content);
385 $em->flush();
386
387 $client->request('GET', '/reload/'.$content->getId());
388
389 $this->assertEquals(302, $client->getResponse()->getStatusCode());
390
391 // force EntityManager to clear previous entity
392 // otherwise, retrieve the same entity will retrieve change from the previous request :0
393 $em->clear();
394 $newContent = $em
395 ->getRepository('WallabagCoreBundle:Entry')
396 ->find($content->getId());
397
398 $newContent->setUrl($this->url);
399 $em->persist($newContent);
400 $em->flush();
401
402 $this->assertNotEquals($client->getContainer()->getParameter('wallabag_core.fetching_error_message'), $newContent->getContent());
403 }
404
367 public function testEdit() 405 public function testEdit()
368 { 406 {
369 $this->logInAs('admin'); 407 $this->logInAs('admin');
diff --git a/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php b/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php
index 5e8ee41d..01a92ad2 100644
--- a/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php
+++ b/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php
@@ -219,7 +219,7 @@ JSON;
219 219
220 $res = $consumer->manage($body); 220 $res = $consumer->manage($body);
221 221
222 $this->assertFalse($res); 222 $this->assertTrue($res);
223 $this->assertFalse($consumer->isStopJob($body)); 223 $this->assertFalse($consumer->isStopJob($body));
224 } 224 }
225} 225}