diff options
Diffstat (limited to 'src')
27 files changed, 590 insertions, 22 deletions
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 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
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 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
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 | ||
448 | error: | ||
449 | page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
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 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
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 | ||
447 | error: | ||
448 | # page_title: An error occurred | ||
449 | |||
447 | flashes: | 450 | flashes: |
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 | ||
371 | developer: | 371 | developer: |
@@ -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 | ||
448 | error: | ||
449 | page_title: Une erreur est survenue | ||
450 | |||
448 | flashes: | 451 | flashes: |
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 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
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 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
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 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
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 @@ | |||
1 | security: | ||
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 | |||
17 | menu: | ||
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 | |||
43 | footer: | ||
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 | |||
51 | config: | ||
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 <= 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 >= 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 | |||
134 | entry: | ||
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"><</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"><</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 | |||
214 | about: | ||
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 | |||
245 | howto: | ||
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 | |||
266 | quickstart: | ||
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 | |||
320 | tag: | ||
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 | |||
326 | import: | ||
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 | |||
371 | developer: | ||
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 | |||
421 | user: | ||
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 | |||
448 | flashes: | ||
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 | ||
448 | error: | ||
449 | # page_title: An error occurred | ||
450 | |||
448 | flashes: | 451 | flashes: |
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 | ||
447 | error: | ||
448 | # page_title: An error occurred | ||
449 | |||
447 | flashes: | 450 | flashes: |
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 @@ | |||
1 | validator: | ||
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 }}…" /> |
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; |