aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag
diff options
context:
space:
mode:
Diffstat (limited to 'src/Wallabag')
-rw-r--r--src/Wallabag/CoreBundle/Controller/ConfigController.php48
-rw-r--r--src/Wallabag/CoreBundle/Repository/EntryRepository.php2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.da.yml11
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.de.yml11
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.en.yml11
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.es.yml11
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml10
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml11
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.it.yml11
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml63
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml11
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml11
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml10
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig1
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Static/quickstart.html.twig142
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig3
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig15
-rw-r--r--src/Wallabag/CoreBundle/Twig/WallabagExtension.php40
18 files changed, 328 insertions, 94 deletions
diff --git a/src/Wallabag/CoreBundle/Controller/ConfigController.php b/src/Wallabag/CoreBundle/Controller/ConfigController.php
index 75a9af0b..f1e212d9 100644
--- a/src/Wallabag/CoreBundle/Controller/ConfigController.php
+++ b/src/Wallabag/CoreBundle/Controller/ConfigController.php
@@ -108,7 +108,21 @@ class ConfigController extends Controller
108 108
109 // handle tagging rule 109 // handle tagging rule
110 $taggingRule = new TaggingRule(); 110 $taggingRule = new TaggingRule();
111 $newTaggingRule = $this->createForm(TaggingRuleType::class, $taggingRule, ['action' => $this->generateUrl('config').'#set5']); 111 $action = $this->generateUrl('config').'#set5';
112
113 if ($request->query->has('tagging-rule')) {
114 $taggingRule = $this->getDoctrine()
115 ->getRepository('WallabagCoreBundle:TaggingRule')
116 ->find($request->query->get('tagging-rule'));
117
118 if ($this->getUser()->getId() !== $taggingRule->getConfig()->getUser()->getId()) {
119 return $this->redirect($action);
120 }
121
122 $action = $this->generateUrl('config').'?tagging-rule='.$taggingRule->getId().'#set5';
123 }
124
125 $newTaggingRule = $this->createForm(TaggingRuleType::class, $taggingRule, ['action' => $action]);
112 $newTaggingRule->handleRequest($request); 126 $newTaggingRule->handleRequest($request);
113 127
114 if ($newTaggingRule->isValid()) { 128 if ($newTaggingRule->isValid()) {
@@ -205,9 +219,7 @@ class ConfigController extends Controller
205 */ 219 */
206 public function deleteTaggingRuleAction(TaggingRule $rule) 220 public function deleteTaggingRuleAction(TaggingRule $rule)
207 { 221 {
208 if ($this->getUser()->getId() != $rule->getConfig()->getUser()->getId()) { 222 $this->validateRuleAction($rule);
209 throw $this->createAccessDeniedException('You can not access this tagging rule.');
210 }
211 223
212 $em = $this->getDoctrine()->getManager(); 224 $em = $this->getDoctrine()->getManager();
213 $em->remove($rule); 225 $em->remove($rule);
@@ -222,6 +234,34 @@ class ConfigController extends Controller
222 } 234 }
223 235
224 /** 236 /**
237 * Edit a tagging rule.
238 *
239 * @param TaggingRule $rule
240 *
241 * @Route("/tagging-rule/edit/{id}", requirements={"id" = "\d+"}, name="edit_tagging_rule")
242 *
243 * @return RedirectResponse
244 */
245 public function editTaggingRuleAction(TaggingRule $rule)
246 {
247 $this->validateRuleAction($rule);
248
249 return $this->redirect($this->generateUrl('config').'?tagging-rule='.$rule->getId().'#set5');
250 }
251
252 /**
253 * Validate that a rule can be edited/deleted by the current user.
254 *
255 * @param TaggingRule $rule
256 */
257 private function validateRuleAction(TaggingRule $rule)
258 {
259 if ($this->getUser()->getId() != $rule->getConfig()->getUser()->getId()) {
260 throw $this->createAccessDeniedException('You can not access this tagging rule.');
261 }
262 }
263
264 /**
225 * Retrieve config for the current user. 265 * Retrieve config for the current user.
226 * If no config were found, create a new one. 266 * If no config were found, create a new one.
227 * 267 *
diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php
index 302e5a53..1b023e96 100644
--- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php
+++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php
@@ -281,7 +281,7 @@ class EntryRepository extends EntityRepository
281 public function findByUrlAndUserId($url, $userId) 281 public function findByUrlAndUserId($url, $userId)
282 { 282 {
283 $res = $this->createQueryBuilder('e') 283 $res = $this->createQueryBuilder('e')
284 ->where('e.url = :url')->setParameter('url', $url) 284 ->where('e.url = :url')->setParameter('url', urldecode($url))
285 ->andWhere('e.user = :user_id')->setParameter('user_id', $userId) 285 ->andWhere('e.user = :user_id')->setParameter('user_id', $userId)
286 ->getQuery() 286 ->getQuery()
287 ->getResult(); 287 ->getResult();
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
index 7ad5c100..da7e2652 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
@@ -45,6 +45,7 @@ footer:
45 # social: 'Social' 45 # social: 'Social'
46 # powered_by: 'powered by' 46 # powered_by: 'powered by'
47 about: 'Om' 47 about: 'Om'
48 # stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day!
48 49
49config: 50config:
50 page_title: 'Opsætning' 51 page_title: 'Opsætning'
@@ -94,6 +95,7 @@ config:
94 # if_label: 'if' 95 # if_label: 'if'
95 # then_tag_as_label: 'then tag as' 96 # then_tag_as_label: 'then tag as'
96 # delete_rule_label: 'delete' 97 # delete_rule_label: 'delete'
98 # edit_rule_label: 'edit'
97 # rule_label: 'Rule' 99 # rule_label: 'Rule'
98 # tags_label: 'Tags' 100 # tags_label: 'Tags'
99 # faq: 101 # faq:
@@ -266,12 +268,14 @@ howto:
266 268
267quickstart: 269quickstart:
268 # page_title: 'Quickstart' 270 # page_title: 'Quickstart'
271 # more: 'More…'
269 # intro: 272 # intro:
270 # title: 'Welcome to wallabag!' 273 # title: 'Welcome to wallabag!'
271 # paragraph_1: "We'll accompany you to visit wallabag and show you some features which can interest you." 274 # paragraph_1: "We'll accompany you to visit wallabag and show you some features which can interest you."
272 # paragraph_2: 'Follow us!' 275 # paragraph_2: 'Follow us!'
273 # configure: 276 # configure:
274 # title: 'Configure the application' 277 # title: 'Configure the application'
278 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
275 # language: 'Change language and design' 279 # language: 'Change language and design'
276 # rss: 'Enable RSS feeds' 280 # rss: 'Enable RSS feeds'
277 # tagging_rules: 'Write rules to automatically tag your articles' 281 # tagging_rules: 'Write rules to automatically tag your articles'
@@ -285,6 +289,7 @@ quickstart:
285 # import: 'Configure import' 289 # import: 'Configure import'
286 # first_steps: 290 # first_steps:
287 # title: 'First steps' 291 # title: 'First steps'
292 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link."
288 # new_article: 'Save your first article' 293 # new_article: 'Save your first article'
289 # unread_articles: 'And classify it!' 294 # unread_articles: 'And classify it!'
290 # migrate: 295 # migrate:
@@ -294,11 +299,15 @@ quickstart:
294 # wallabag_v1: 'Migrate from wallabag v1' 299 # wallabag_v1: 'Migrate from wallabag v1'
295 # wallabag_v2: 'Migrate from wallabag v2' 300 # wallabag_v2: 'Migrate from wallabag v2'
296 # readability: 'Migrate from Readability' 301 # readability: 'Migrate from Readability'
302 # instapaper: 'Migrate from Instapaper'
297 # developer: 303 # developer:
298 # title: 'Developers' 304 # title: 'Developers'
305 # description: 'We also thought to the developers: Docker, API, translations, etc.'
299 # create_application: 'Create your third application' 306 # create_application: 'Create your third application'
307 # use_docker: 'Use Docker to install wallabag'
300 # docs: 308 # docs:
301 # title: 'Full documentation' 309 # title: 'Full documentation'
310 # description: "There are so much features in wallabag. Don't hesitate to read the manual to know them and to learn how to use them."
302 # annotate: 'Annotate your article' 311 # annotate: 'Annotate your article'
303 # export: 'Convert your articles into ePUB or PDF' 312 # export: 'Convert your articles into ePUB or PDF'
304 # search_filters: 'See how you can look for an article by using search engine and filters' 313 # search_filters: 'See how you can look for an article by using search engine and filters'
@@ -351,7 +360,7 @@ import:
351 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:" 360 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:"
352 # firefox: 361 # firefox:
353 # page_title: 'Import > Firefox' 362 # page_title: 'Import > Firefox'
354 # description: "This importer will import all your Firefox bookmarks. <p>For Firefox, just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file." 363 # description: "This importer will import all your Firefox bookmarks. Just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file."
355 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 364 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched."
356 #chrome: 365 #chrome:
357 # page_title: 'Import > Chrome' 366 # page_title: 'Import > Chrome'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
index 650e4761..eb82f13f 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
@@ -45,6 +45,7 @@ footer:
45 social: 'Soziales' 45 social: 'Soziales'
46 powered_by: 'angetrieben von' 46 powered_by: 'angetrieben von'
47 about: 'Über' 47 about: 'Über'
48 # stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day!
48 49
49config: 50config:
50 page_title: 'Einstellungen' 51 page_title: 'Einstellungen'
@@ -94,6 +95,7 @@ config:
94 if_label: 'Wenn' 95 if_label: 'Wenn'
95 then_tag_as_label: 'dann tagge als' 96 then_tag_as_label: 'dann tagge als'
96 delete_rule_label: 'löschen' 97 delete_rule_label: 'löschen'
98 # edit_rule_label: 'edit'
97 rule_label: 'Regel' 99 rule_label: 'Regel'
98 tags_label: 'Tags' 100 tags_label: 'Tags'
99 faq: 101 faq:
@@ -266,12 +268,14 @@ howto:
266 268
267quickstart: 269quickstart:
268 page_title: 'Schnelleinstieg' 270 page_title: 'Schnelleinstieg'
271 # more: 'More…'
269 intro: 272 intro:
270 title: 'Willkommen zu wallabag!' 273 title: 'Willkommen zu wallabag!'
271 paragraph_1: "Wir werden dich bei der Benutzung von wallabag begleiten und dir einige Funktionen zeigen, die dich interessieren könnten." 274 paragraph_1: "Wir werden dich bei der Benutzung von wallabag begleiten und dir einige Funktionen zeigen, die dich interessieren könnten."
272 paragraph_2: 'Folge uns!' 275 paragraph_2: 'Folge uns!'
273 configure: 276 configure:
274 title: 'Anwendung konfigurieren' 277 title: 'Anwendung konfigurieren'
278 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
275 language: 'Sprache und Design ändern' 279 language: 'Sprache und Design ändern'
276 rss: 'RSS-Feeds aktivieren' 280 rss: 'RSS-Feeds aktivieren'
277 tagging_rules: 'Schreibe Regeln, um deine Beiträge automatisch zu taggen (verschlagworten)' 281 tagging_rules: 'Schreibe Regeln, um deine Beiträge automatisch zu taggen (verschlagworten)'
@@ -285,6 +289,7 @@ quickstart:
285 import: 'Import-Einstellungen ändern' 289 import: 'Import-Einstellungen ändern'
286 first_steps: 290 first_steps:
287 title: 'Erste Schritte' 291 title: 'Erste Schritte'
292 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link"
288 new_article: 'Speichere deinen ersten Artikel' 293 new_article: 'Speichere deinen ersten Artikel'
289 unread_articles: 'Und klassifiziere ihn!' 294 unread_articles: 'Und klassifiziere ihn!'
290 migrate: 295 migrate:
@@ -294,11 +299,15 @@ quickstart:
294 wallabag_v1: 'von wallabag v1 migrieren' 299 wallabag_v1: 'von wallabag v1 migrieren'
295 wallabag_v2: 'von wallabag v2 migrieren' 300 wallabag_v2: 'von wallabag v2 migrieren'
296 readability: 'von Readability migrieren' 301 readability: 'von Readability migrieren'
302 instapaper: 'von Instapaper migrieren'
297 developer: 303 developer:
298 title: 'Entwickler' 304 title: 'Entwickler'
305 # description: 'We also thought to the developers: Docker, API, translations, etc.'
299 create_application: 'Erstelle eine Anwendung und nutze die wallabag API' 306 create_application: 'Erstelle eine Anwendung und nutze die wallabag API'
307 # use_docker: 'Use Docker to install wallabag'
300 docs: 308 docs:
301 title: 'Komplette Dokumentation' 309 title: 'Komplette Dokumentation'
310 # description: "There are so much features in wallabag. Don't hesitate to read the manual to know them and to learn how to use them."
302 annotate: 'Anmerkungen zu Artikeln hinzufügen' 311 annotate: 'Anmerkungen zu Artikeln hinzufügen'
303 export: 'Artikel nach ePUB oder PDF konvertieren' 312 export: 'Artikel nach ePUB oder PDF konvertieren'
304 search_filters: 'Schau nach, wie du nach einem Artikel über die Such- und Filterfunktion suchen kannst' 313 search_filters: 'Schau nach, wie du nach einem Artikel über die Such- und Filterfunktion suchen kannst'
@@ -351,7 +360,7 @@ import:
351 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:" 360 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:"
352 firefox: 361 firefox:
353 page_title: 'Aus Firefox importieren' 362 page_title: 'Aus Firefox importieren'
354 # description: "This importer will import all your Firefox bookmarks. <p>For Firefox, just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file." 363 # description: "This importer will import all your Firefox bookmarks. Just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file."
355 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 364 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched."
356 chrome: 365 chrome:
357 page_title: 'Aus Chrome importieren' 366 page_title: 'Aus Chrome importieren'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
index d5842cc5..01d8053b 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
@@ -45,6 +45,7 @@ footer:
45 social: 'Social' 45 social: 'Social'
46 powered_by: 'powered by' 46 powered_by: 'powered by'
47 about: 'About' 47 about: 'About'
48 stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day!
48 49
49config: 50config:
50 page_title: 'Config' 51 page_title: 'Config'
@@ -94,6 +95,7 @@ config:
94 if_label: 'if' 95 if_label: 'if'
95 then_tag_as_label: 'then tag as' 96 then_tag_as_label: 'then tag as'
96 delete_rule_label: 'delete' 97 delete_rule_label: 'delete'
98 edit_rule_label: 'edit'
97 rule_label: 'Rule' 99 rule_label: 'Rule'
98 tags_label: 'Tags' 100 tags_label: 'Tags'
99 faq: 101 faq:
@@ -266,12 +268,14 @@ howto:
266 268
267quickstart: 269quickstart:
268 page_title: 'Quickstart' 270 page_title: 'Quickstart'
271 more: 'More…'
269 intro: 272 intro:
270 title: 'Welcome to wallabag!' 273 title: 'Welcome to wallabag!'
271 paragraph_1: "We'll accompany you on your visit to wallabag and show you some features that might interest you." 274 paragraph_1: "We'll accompany you on your visit to wallabag and show you some features that might interest you."
272 paragraph_2: 'Follow us!' 275 paragraph_2: 'Follow us!'
273 configure: 276 configure:
274 title: 'Configure the application' 277 title: 'Configure the application'
278 description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
275 language: 'Change language and design' 279 language: 'Change language and design'
276 rss: 'Enable RSS feeds' 280 rss: 'Enable RSS feeds'
277 tagging_rules: 'Write rules to automatically tag your articles' 281 tagging_rules: 'Write rules to automatically tag your articles'
@@ -285,6 +289,7 @@ quickstart:
285 import: 'Configure import' 289 import: 'Configure import'
286 first_steps: 290 first_steps:
287 title: 'First steps' 291 title: 'First steps'
292 description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link."
288 new_article: 'Save your first article' 293 new_article: 'Save your first article'
289 unread_articles: 'And classify it!' 294 unread_articles: 'And classify it!'
290 migrate: 295 migrate:
@@ -294,11 +299,15 @@ quickstart:
294 wallabag_v1: 'Migrate from wallabag v1' 299 wallabag_v1: 'Migrate from wallabag v1'
295 wallabag_v2: 'Migrate from wallabag v2' 300 wallabag_v2: 'Migrate from wallabag v2'
296 readability: 'Migrate from Readability' 301 readability: 'Migrate from Readability'
302 instapaper: 'Migrate from Instapaper'
297 developer: 303 developer:
298 title: 'Developers' 304 title: 'Developers'
305 description: 'We also thought to the developers: Docker, API, translations, etc.'
299 create_application: 'Create your third application' 306 create_application: 'Create your third application'
307 use_docker: 'Use Docker to install wallabag'
300 docs: 308 docs:
301 title: 'Full documentation' 309 title: 'Full documentation'
310 description: "There are so much features in wallabag. Don't hesitate to read the manual to know them and to learn how to use them."
302 annotate: 'Annotate your article' 311 annotate: 'Annotate your article'
303 export: 'Convert your articles into ePUB or PDF' 312 export: 'Convert your articles into ePUB or PDF'
304 search_filters: 'See how you can look for an article by using the search engine and filters' 313 search_filters: 'See how you can look for an article by using the search engine and filters'
@@ -351,7 +360,7 @@ import:
351 enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:" 360 enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:"
352 firefox: 361 firefox:
353 page_title: 'Import > Firefox' 362 page_title: 'Import > Firefox'
354 description: "This importer will import all your Firefox bookmarks. <p>For Firefox, just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file." 363 description: "This importer will import all your Firefox bookmarks. Just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file."
355 how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 364 how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched."
356 chrome: 365 chrome:
357 page_title: 'Import > Chrome' 366 page_title: 'Import > Chrome'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
index bd691c1c..5364e99a 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
@@ -45,6 +45,7 @@ footer:
45 social: 'Social' 45 social: 'Social'
46 powered_by: 'funciona por' 46 powered_by: 'funciona por'
47 about: 'Acerca de' 47 about: 'Acerca de'
48 # stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day!
48 49
49config: 50config:
50 page_title: 'Configuración' 51 page_title: 'Configuración'
@@ -94,6 +95,7 @@ config:
94 if_label: 'si' 95 if_label: 'si'
95 then_tag_as_label: 'Etiquete como' 96 then_tag_as_label: 'Etiquete como'
96 delete_rule_label: 'Borre' 97 delete_rule_label: 'Borre'
98 # edit_rule_label: 'edit'
97 rule_label: 'Regla' 99 rule_label: 'Regla'
98 tags_label: 'Etiquetas' 100 tags_label: 'Etiquetas'
99 faq: 101 faq:
@@ -266,12 +268,14 @@ howto:
266 268
267quickstart: 269quickstart:
268 page_title: 'Comienzo rápido' 270 page_title: 'Comienzo rápido'
271 # more: 'More…'
269 intro: 272 intro:
270 title: 'Bienvenido a wallabag !' 273 title: 'Bienvenido a wallabag !'
271 paragraph_1: "Le acompañaremos a su visita de wallabag y le mostraremos algunas características que le pueden interesar." 274 paragraph_1: "Le acompañaremos a su visita de wallabag y le mostraremos algunas características que le pueden interesar."
272 paragraph_2: '¡Síganos!' 275 paragraph_2: '¡Síganos!'
273 configure: 276 configure:
274 title: 'Configure la aplicación' 277 title: 'Configure la aplicación'
278 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
275 language: 'Cambie el idioma y el diseño de la aplicación' 279 language: 'Cambie el idioma y el diseño de la aplicación'
276 rss: 'Activar los feeds RSS' 280 rss: 'Activar los feeds RSS'
277 tagging_rules: 'Escribir reglas para etiquetear automaticamente sus artículos' 281 tagging_rules: 'Escribir reglas para etiquetear automaticamente sus artículos'
@@ -285,6 +289,7 @@ quickstart:
285 import: 'Configure importación' 289 import: 'Configure importación'
286 first_steps: 290 first_steps:
287 title: 'Primeros pasos' 291 title: 'Primeros pasos'
292 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link."
288 new_article: 'Guarde su primer artículo' 293 new_article: 'Guarde su primer artículo'
289 unread_articles: '¡Y clasifíquelo!' 294 unread_articles: '¡Y clasifíquelo!'
290 migrate: 295 migrate:
@@ -294,11 +299,15 @@ quickstart:
294 wallabag_v1: 'Migrar desde wallabag v1' 299 wallabag_v1: 'Migrar desde wallabag v1'
295 wallabag_v2: 'Migrar desde wallabag v2' 300 wallabag_v2: 'Migrar desde wallabag v2'
296 readability: 'Migrar desde Readability' 301 readability: 'Migrar desde Readability'
302 instapaper: 'Migrar desde Instapaper'
297 developer: 303 developer:
298 title: 'Promotores' 304 title: 'Promotores'
305 # description: 'We also thought to the developers: Docker, API, translations, etc.'
299 create_application: 'Cree su tercera aplicación' 306 create_application: 'Cree su tercera aplicación'
307 # use_docker: 'Use Docker to install wallabag'
300 docs: 308 docs:
301 title: 'Documentación completa' 309 title: 'Documentación completa'
310 # description: "There are so much features in wallabag. Don't hesitate to read the manual to know them and to learn how to use them."
302 annotate: 'Anote su artículo' 311 annotate: 'Anote su artículo'
303 export: 'Convierta sus artículos a ePub o a PDF' 312 export: 'Convierta sus artículos a ePub o a PDF'
304 search_filters: 'Aprenda a utilizar el buscador y los filtros para encontrar el artículo que le interese' 313 search_filters: 'Aprenda a utilizar el buscador y los filtros para encontrar el artículo que le interese'
@@ -351,7 +360,7 @@ import:
351 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:" 360 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:"
352 firefox: 361 firefox:
353 page_title: 'Importar > Firefox' 362 page_title: 'Importar > Firefox'
354 # description: "This importer will import all your Firefox bookmarks. <p>For Firefox, just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file." 363 # description: "This importer will import all your Firefox bookmarks. Just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file."
355 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 364 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched."
356 chrome: 365 chrome:
357 page_title: 'Importar > Chrome' 366 page_title: 'Importar > Chrome'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
index a9989a83..6f42b173 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
@@ -45,6 +45,7 @@ footer:
45 social: 'شبکه‌های اجتماعی' 45 social: 'شبکه‌های اجتماعی'
46 powered_by: 'توانمند با' 46 powered_by: 'توانمند با'
47 about: 'درباره' 47 about: 'درباره'
48 # stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day!
48 49
49config: 50config:
50 page_title: 'پیکربندی' 51 page_title: 'پیکربندی'
@@ -94,6 +95,7 @@ config:
94 if_label: 'اگر' 95 if_label: 'اگر'
95 then_tag_as_label: 'این برچسب را بزن' 96 then_tag_as_label: 'این برچسب را بزن'
96 delete_rule_label: 'پاک کن' 97 delete_rule_label: 'پاک کن'
98 # edit_rule_label: 'edit'
97 rule_label: 'قانون' 99 rule_label: 'قانون'
98 tags_label: 'برچسب‌ها' 100 tags_label: 'برچسب‌ها'
99 faq: 101 faq:
@@ -266,6 +268,7 @@ howto:
266 268
267quickstart: 269quickstart:
268 page_title: 'Quickstart' 270 page_title: 'Quickstart'
271 # more: 'More…'
269 intro: 272 intro:
270 title: 'به wallabag خوش آمدید!!' 273 title: 'به wallabag خوش آمدید!!'
271 paragraph_1: "به شما کمک خواهیم کرد تا wallabag را بشناسید و با برخی از ویژگی‌های جالبش آشنا شوید" 274 paragraph_1: "به شما کمک خواهیم کرد تا wallabag را بشناسید و با برخی از ویژگی‌های جالبش آشنا شوید"
@@ -285,6 +288,7 @@ quickstart:
285 import: 'درون‌ریزی را تنظیم کنید' 288 import: 'درون‌ریزی را تنظیم کنید'
286 first_steps: 289 first_steps:
287 title: 'گام نخست' 290 title: 'گام نخست'
291 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link."
288 new_article: 'نخستین مقالهٔ خود را ذخیره کنید' 292 new_article: 'نخستین مقالهٔ خود را ذخیره کنید'
289 unread_articles: 'و آن را طبقه‌بندی کنید!' 293 unread_articles: 'و آن را طبقه‌بندی کنید!'
290 migrate: 294 migrate:
@@ -294,11 +298,15 @@ quickstart:
294 wallabag_v1: 'مهاجرت از نسخهٔ یکم wallabag' 298 wallabag_v1: 'مهاجرت از نسخهٔ یکم wallabag'
295 wallabag_v2: 'مهاجرت از نسخهٔ دوم wallabag' 299 wallabag_v2: 'مهاجرت از نسخهٔ دوم wallabag'
296 readability: 'مهاجرت از نسخهٔ دوم Readability' 300 readability: 'مهاجرت از نسخهٔ دوم Readability'
301 instapaper: 'مهاجرت از نسخهٔ دوم Instapaper'
297 developer: 302 developer:
298 title: 'برنامه‌نویسان' 303 title: 'برنامه‌نویسان'
304 # description: 'We also thought to the developers: Docker, API, translations, etc.'
299 create_application: 'برنامهٔ wallabag خود را بسازید' 305 create_application: 'برنامهٔ wallabag خود را بسازید'
306 # use_docker: 'Use Docker to install wallabag'
300 docs: 307 docs:
301 title: 'راهنمای کامل' 308 title: 'راهنمای کامل'
309 # description: "There are so much features in wallabag. Don't hesitate to read the manual to know them and to learn how to use them."
302 annotate: 'روی مقاله‌هایتان یادداشت بگذارید' 310 annotate: 'روی مقاله‌هایتان یادداشت بگذارید'
303 export: 'مقاله‌هایتان را به قالب ePUB یا PDF دربیاورید' 311 export: 'مقاله‌هایتان را به قالب ePUB یا PDF دربیاورید'
304 search_filters: 'به کمک موتور جستجو و فیلترها به دنبال مقاله‌هایتان بگردید' 312 search_filters: 'به کمک موتور جستجو و فیلترها به دنبال مقاله‌هایتان بگردید'
@@ -351,7 +359,7 @@ import:
351 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:" 359 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:"
352 firefox: 360 firefox:
353 page_title: 'درون‌ریزی > Firefox' 361 page_title: 'درون‌ریزی > Firefox'
354 # description: "This importer will import all your Firefox bookmarks. <p>For Firefox, just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file." 362 # description: "This importer will import all your Firefox bookmarks. Just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file."
355 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 363 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched."
356 chrome: 364 chrome:
357 page_title: 'درون‌ریزی > Chrome' 365 page_title: 'درون‌ریزی > Chrome'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
index b70ca64d..6984be83 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
@@ -45,6 +45,7 @@ footer:
45 social: 'Social' 45 social: 'Social'
46 powered_by: 'propulsé par' 46 powered_by: 'propulsé par'
47 about: 'À propos' 47 about: 'À propos'
48 stats: Depuis le %user_creation% vous avez lu %nb_archives% articles. Ce qui fait %per_day% par jour !
48 49
49config: 50config:
50 page_title: 'Configuration' 51 page_title: 'Configuration'
@@ -94,6 +95,7 @@ config:
94 if_label: 'si' 95 if_label: 'si'
95 then_tag_as_label: 'alors attribuer les tags' 96 then_tag_as_label: 'alors attribuer les tags'
96 delete_rule_label: 'supprimer' 97 delete_rule_label: 'supprimer'
98 edit_rule_label: 'éditer'
97 rule_label: 'Règle' 99 rule_label: 'Règle'
98 tags_label: 'Tags' 100 tags_label: 'Tags'
99 faq: 101 faq:
@@ -266,12 +268,14 @@ howto:
266 268
267quickstart: 269quickstart:
268 page_title: 'Pour bien débuter' 270 page_title: 'Pour bien débuter'
271 more: 'Et plus encore…'
269 intro: 272 intro:
270 title: 'Bienvenue sur wallabag !' 273 title: 'Bienvenue sur wallabag !'
271 paragraph_1: "Nous allons vous accompagner pour vous faire faire le tour de la maison et vous présenter quelques fonctionnalités qui pourraient vous intéresser pour vous approprier cet outil." 274 paragraph_1: "Nous allons vous accompagner pour vous faire faire le tour de la maison et vous présenter quelques fonctionnalités qui pourraient vous intéresser pour vous approprier cet outil."
272 paragraph_2: 'Suivez-nous !' 275 paragraph_2: 'Suivez-nous !'
273 configure: 276 configure:
274 title: "Configurez l'application" 277 title: "Configurez l'application"
278 description: 'Pour voir une application qui vous correspond, allez voir du côté de la configuration de wallabag.'
275 language: "Changez la langue et le design de l'application" 279 language: "Changez la langue et le design de l'application"
276 rss: 'Activez les flux RSS' 280 rss: 'Activez les flux RSS'
277 tagging_rules: 'Écrivez des règles pour classer automatiquement vos articles' 281 tagging_rules: 'Écrivez des règles pour classer automatiquement vos articles'
@@ -285,6 +289,7 @@ quickstart:
285 import: "Configurer l'import" 289 import: "Configurer l'import"
286 first_steps: 290 first_steps:
287 title: 'Premiers pas' 291 title: 'Premiers pas'
292 description: "Maintenant que wallabag est bien configuré, il est temps d'archiver le web. Vous pouvez cliquer sur le signe + dans le coin en haut à droite."
288 new_article: 'Ajoutez votre premier article' 293 new_article: 'Ajoutez votre premier article'
289 unread_articles: 'Et rangez-le !' 294 unread_articles: 'Et rangez-le !'
290 migrate: 295 migrate:
@@ -294,11 +299,15 @@ quickstart:
294 wallabag_v1: 'Migrer depuis wallabag v1' 299 wallabag_v1: 'Migrer depuis wallabag v1'
295 wallabag_v2: 'Migrer depuis wallabag v2' 300 wallabag_v2: 'Migrer depuis wallabag v2'
296 readability: 'Migrer depuis Readability' 301 readability: 'Migrer depuis Readability'
302 instapaper: 'Migrer depuis Instapaper'
297 developer: 303 developer:
298 title: 'Pour les développeurs' 304 title: 'Pour les développeurs'
305 description: 'Nous avons aussi pensé aux développeurs : Docker, API, traductions, etc.'
299 create_application: 'Créer votre application tierce' 306 create_application: 'Créer votre application tierce'
307 use_docker: 'Utiliser Docker pour installer wallabag'
300 docs: 308 docs:
301 title: 'Documentation complète' 309 title: 'Documentation complète'
310 description: "Il y a tellement de fonctionnalités dans wallabag. N'hésitez pas à lire le manuel pour les connaitre et apprendre comment les utiliser."
302 annotate: 'Annoter votre article' 311 annotate: 'Annoter votre article'
303 export: 'Convertissez vos articles en ePub ou en PDF' 312 export: 'Convertissez vos articles en ePub ou en PDF'
304 search_filters: "Apprenez à utiliser le moteur de recherche et les filtres pour retrouver l'article qui vous intéresse" 313 search_filters: "Apprenez à utiliser le moteur de recherche et les filtres pour retrouver l'article qui vous intéresse"
@@ -351,7 +360,7 @@ import:
351 enabled: "Les imports sont asynchrones. Une fois l'import commencé un worker externe traitera les messages un par un. Le service activé est :" 360 enabled: "Les imports sont asynchrones. Une fois l'import commencé un worker externe traitera les messages un par un. Le service activé est :"
352 firefox: 361 firefox:
353 page_title: 'Import > Firefox' 362 page_title: 'Import > Firefox'
354 description: "Cet outil va vous permettre d'importer tous vos marques-pages de Firefox. <p>Pour Firefox, ouvrez le panneau des marques-pages (Ctrl+Maj+O), puis dans « Importation et sauvegarde », choisissez « Sauvegarde... ». Vous allez récupérer un fichier .json. </p>" 363 description: "Cet outil va vous permettre d'importer tous vos marques-pages de Firefox. Ouvrez le panneau des marques-pages (Ctrl+Maj+O), puis dans « Importation et sauvegarde », choisissez « Sauvegarde... ». Vous allez récupérer un fichier .json. </p>"
355 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." 364 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."
356 chrome: 365 chrome:
357 page_title: 'Import > Chrome' 366 page_title: 'Import > Chrome'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
index 118098fe..30b3287e 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
@@ -45,6 +45,7 @@ footer:
45 social: 'Social' 45 social: 'Social'
46 powered_by: 'powered by' 46 powered_by: 'powered by'
47 about: 'About' 47 about: 'About'
48 # stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day!
48 49
49config: 50config:
50 page_title: 'Configurazione' 51 page_title: 'Configurazione'
@@ -94,6 +95,7 @@ config:
94 if_label: 'se' 95 if_label: 'se'
95 then_tag_as_label: 'allora tagga come' 96 then_tag_as_label: 'allora tagga come'
96 delete_rule_label: 'elimina' 97 delete_rule_label: 'elimina'
98 # edit_rule_label: 'edit'
97 rule_label: 'Regola' 99 rule_label: 'Regola'
98 tags_label: 'Tag' 100 tags_label: 'Tag'
99 faq: 101 faq:
@@ -265,12 +267,14 @@ howto:
265 267
266quickstart: 268quickstart:
267 page_title: 'Introduzione' 269 page_title: 'Introduzione'
270 # more: 'More…'
268 intro: 271 intro:
269 title: 'Benvenuto su wallabag!' 272 title: 'Benvenuto su wallabag!'
270 paragraph_1: "Un tour in cui ti guideremo per scoprire e che ti mostrerà delle funzionalità che potrebbero interessarti." 273 paragraph_1: "Un tour in cui ti guideremo per scoprire e che ti mostrerà delle funzionalità che potrebbero interessarti."
271 paragraph_2: 'Seguici!' 274 paragraph_2: 'Seguici!'
272 configure: 275 configure:
273 title: "Configura l'applicazione" 276 title: "Configura l'applicazione"
277 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
274 language: 'Cambia lingua e design' 278 language: 'Cambia lingua e design'
275 rss: 'Abilita i feed RSS' 279 rss: 'Abilita i feed RSS'
276 tagging_rules: 'Scrivi delle regole per taggare automaticamente i contenuti' 280 tagging_rules: 'Scrivi delle regole per taggare automaticamente i contenuti'
@@ -284,6 +288,7 @@ quickstart:
284 import: "Configura l'importazione" 288 import: "Configura l'importazione"
285 first_steps: 289 first_steps:
286 title: 'Pimi passi' 290 title: 'Pimi passi'
291 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link."
287 new_article: 'Salva il tuo primo contenuto' 292 new_article: 'Salva il tuo primo contenuto'
288 unread_articles: 'E classificalo!' 293 unread_articles: 'E classificalo!'
289 migrate: 294 migrate:
@@ -293,11 +298,15 @@ quickstart:
293 wallabag_v1: 'Trasferisci da wallabag v1' 298 wallabag_v1: 'Trasferisci da wallabag v1'
294 wallabag_v2: 'Trasferisci da wallabag v2' 299 wallabag_v2: 'Trasferisci da wallabag v2'
295 readability: 'Trasferisci da Readability' 300 readability: 'Trasferisci da Readability'
301 instapaper: 'Trasferisci da Instapaper'
296 developer: 302 developer:
297 title: 'Sviluppatori' 303 title: 'Sviluppatori'
304 # description: 'We also thought to the developers: Docker, API, translations, etc.'
298 create_application: 'Crea la tua applicazione' 305 create_application: 'Crea la tua applicazione'
306 # use_docker: 'Use Docker to install wallabag'
299 docs: 307 docs:
300 title: 'Documentazione completa' 308 title: 'Documentazione completa'
309 # description: "There are so much features in wallabag. Don't hesitate to read the manual to know them and to learn how to use them."
301 annotate: 'Annota il tuo contenuto' 310 annotate: 'Annota il tuo contenuto'
302 export: 'Converti i tuoi contenuti in EPUB o PDF' 311 export: 'Converti i tuoi contenuti in EPUB o PDF'
303 search_filters: 'Impara come puoi recuperare un contenuto tramite la ricerca e i filtri' 312 search_filters: 'Impara come puoi recuperare un contenuto tramite la ricerca e i filtri'
@@ -350,7 +359,7 @@ import:
350 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:" 359 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:"
351 firefox: 360 firefox:
352 page_title: 'Importa da > Firefox' 361 page_title: 'Importa da > Firefox'
353 # description: "This importer will import all your Firefox bookmarks. <p>For Firefox, just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file." 362 # description: "This importer will import all your Firefox bookmarks. Just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file."
354 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 363 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched."
355 chrome: 364 chrome:
356 page_title: 'Importa da > Chrome' 365 page_title: 'Importa da > Chrome'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
index 93467dac..a077f1bf 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
@@ -19,14 +19,14 @@ menu:
19 unread: 'Pas legits' 19 unread: 'Pas legits'
20 starred: 'Favorits' 20 starred: 'Favorits'
21 archive: 'Legits' 21 archive: 'Legits'
22 all_articles: 'Tots los articles' 22 all_articles: 'Totes los articles'
23 config: 'Configuracion' 23 config: 'Configuracion'
24 tags: 'Etiquetas' 24 tags: 'Etiquetas'
25 internal_settings: 'Configuracion interna' 25 internal_settings: 'Configuracion interna'
26 import: 'Importar' 26 import: 'Importar'
27 howto: 'Ajuda' 27 howto: 'Ajuda'
28 developer: 'Desvolopador' 28 developer: 'Desvolopador'
29 logout: 'Déconnexion' 29 logout: 'Desconnexion'
30 about: 'A prepaus' 30 about: 'A prepaus'
31 search: 'Cercar' 31 search: 'Cercar'
32 save_link: 'Enregistrar un novèl article' 32 save_link: 'Enregistrar un novèl article'
@@ -45,9 +45,10 @@ footer:
45 social: 'Social' 45 social: 'Social'
46 powered_by: 'propulsat per' 46 powered_by: 'propulsat per'
47 about: 'A prepaus' 47 about: 'A prepaus'
48 page_title: 'Configuracion' 48 # stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day!
49 49
50config: 50config:
51 page_title: 'Configuracion'
51 tab_menu: 52 tab_menu:
52 settings: 'Paramètres' 53 settings: 'Paramètres'
53 rss: 'RSS' 54 rss: 'RSS'
@@ -72,8 +73,8 @@ config:
72 form_rss: 73 form_rss:
73 description: "Los fluxes RSS fornits per wallabag vos permeton de legir vòstres articles salvagardats dins vòstre lector de fluxes preferit. Per los poder emplegar, vos cal, d'en primièr crear un geton." 74 description: "Los fluxes RSS fornits per wallabag vos permeton de legir vòstres articles salvagardats dins vòstre lector de fluxes preferit. Per los poder emplegar, vos cal, d'en primièr crear un geton."
74 token_label: 'Geton RSS' 75 token_label: 'Geton RSS'
75 no_token: 'Aucun jeton généré' 76 no_token: 'Pas cap de geton generat'
76 token_create: 'Pas cap de geton generat' 77 token_create: 'Creatz vòstre geton'
77 token_reset: 'Reïnicializatz vòstre geton' 78 token_reset: 'Reïnicializatz vòstre geton'
78 rss_links: 'URL de vòstres fluxes RSS' 79 rss_links: 'URL de vòstres fluxes RSS'
79 rss_link: 80 rss_link:
@@ -94,6 +95,7 @@ config:
94 if_label: 'se' 95 if_label: 'se'
95 then_tag_as_label: 'alara atribuir las etiquetas' 96 then_tag_as_label: 'alara atribuir las etiquetas'
96 delete_rule_label: 'suprimir' 97 delete_rule_label: 'suprimir'
98 # edit_rule_label: 'edit'
97 rule_label: 'Règla' 99 rule_label: 'Règla'
98 tags_label: 'Etiquetas' 100 tags_label: 'Etiquetas'
99 faq: 101 faq:
@@ -187,7 +189,7 @@ entry:
187 re_fetch_content: 'Tornar cargar lo contengut' 189 re_fetch_content: 'Tornar cargar lo contengut'
188 delete: 'Suprimir' 190 delete: 'Suprimir'
189 add_a_tag: 'Ajustar una etiqueta' 191 add_a_tag: 'Ajustar una etiqueta'
190 share_content: 'Partatjar' 192 share_content: 'Partejar'
191 share_email_label: 'Corrièl' 193 share_email_label: 'Corrièl'
192 public_link: 'ligam public' 194 public_link: 'ligam public'
193 delete_public_link: 'suprimir lo ligam public' 195 delete_public_link: 'suprimir lo ligam public'
@@ -224,7 +226,7 @@ about:
224 developped_by: 'Desvolopat per' 226 developped_by: 'Desvolopat per'
225 website: 'Site web' 227 website: 'Site web'
226 many_contributors: 'E un fum de contributors ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">sur Github</a>' 228 many_contributors: 'E un fum de contributors ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">sur Github</a>'
227 project_website: 'Site web del projète' 229 project_website: 'Site web del projècte'
228 license: 'Licéncia' 230 license: 'Licéncia'
229 version: 'Version' 231 version: 'Version'
230 getting_help: 232 getting_help:
@@ -245,7 +247,7 @@ about:
245 247
246howto: 248howto:
247 page_title: 'Ajuda' 249 page_title: 'Ajuda'
248 page_description: "I a mai d'un biai d'enregistrar un article :" 250 page_description: "I a mai d'un biais d'enregistrar un article :"
249 top_menu: 251 top_menu:
250 browser_addons: 'Extensions de navigator' 252 browser_addons: 'Extensions de navigator'
251 mobile_apps: 'Aplicacions mobil' 253 mobile_apps: 'Aplicacions mobil'
@@ -266,12 +268,14 @@ howto:
266 268
267quickstart: 269quickstart:
268 page_title: 'Per ben començar' 270 page_title: 'Per ben començar'
271 # more: 'More…'
269 intro: 272 intro:
270 title: 'Benvenguda sus wallabag !' 273 title: 'Benvenguda sus wallabag !'
271 paragraph_1: "Anem vos guidar per far lo torn de la proprietat e vos presentar unas fonccionalitats que vos poirián interessar per vos apropriar aquesta aisina." 274 paragraph_1: "Anem vos guidar per far lo torn de la proprietat e vos presentar unas fonccionalitats que vos poirián interessar per vos apropriar aquesta aisina."
272 paragraph_2: 'Seguètz-nos ' 275 paragraph_2: 'Seguètz-nos '
273 configure: 276 configure:
274 title: "Configuratz l'aplicacio" 277 title: "Configuratz l'aplicacio"
278 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
275 language: "Cambiatz la lenga e l'estil de l'aplicacion" 279 language: "Cambiatz la lenga e l'estil de l'aplicacion"
276 rss: 'Activatz los fluxes RSS' 280 rss: 'Activatz los fluxes RSS'
277 tagging_rules: 'Escrivètz de règlas per classar automaticament vòstres articles' 281 tagging_rules: 'Escrivètz de règlas per classar automaticament vòstres articles'
@@ -285,6 +289,7 @@ quickstart:
285 import: 'Configurar los impòrt' 289 import: 'Configurar los impòrt'
286 first_steps: 290 first_steps:
287 title: 'Primièrs passes' 291 title: 'Primièrs passes'
292 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link."
288 new_article: 'Ajustatz vòstre primièr article' 293 new_article: 'Ajustatz vòstre primièr article'
289 unread_articles: 'E racaptatz-lo !' 294 unread_articles: 'E racaptatz-lo !'
290 migrate: 295 migrate:
@@ -294,11 +299,15 @@ quickstart:
294 wallabag_v1: 'Migrar dempuèi wallabag v1' 299 wallabag_v1: 'Migrar dempuèi wallabag v1'
295 wallabag_v2: 'Migrar dempuèi wallabag v2' 300 wallabag_v2: 'Migrar dempuèi wallabag v2'
296 readability: 'Migrar dempuèi Readability' 301 readability: 'Migrar dempuèi Readability'
302 instapaper: 'Migrar dempuèi Instapaper'
297 developer: 303 developer:
298 title: 'Pels desvolopadors' 304 title: 'Pels desvolopadors'
305 # description: 'We also thought to the developers: Docker, API, translations, etc.'
299 create_application: 'Crear vòstra aplicacion tèrça' 306 create_application: 'Crear vòstra aplicacion tèrça'
307 # use_docker: 'Use Docker to install wallabag'
300 docs: 308 docs:
301 title: 'Documentacion complèta' 309 title: 'Documentacion complèta'
310 # description: "There are so much features in wallabag. Don't hesitate to read the manual to know them and to learn how to use them."
302 annotate: 'Anotatar vòstre article' 311 annotate: 'Anotatar vòstre article'
303 export: 'Convertissètz vòstres articles en ePub o en PDF' 312 export: 'Convertissètz vòstres articles en ePub o en PDF'
304 search_filters: "Aprenètz a utilizar lo motor de recèrca e los filtres per retrobar l'article que vos interèssa" 313 search_filters: "Aprenètz a utilizar lo motor de recèrca e los filtres per retrobar l'article que vos interèssa"
@@ -344,26 +353,26 @@ import:
344 page_title: 'Importar > Wallabag v2' 353 page_title: 'Importar > Wallabag v2'
345 description: "Aquesta aisina importarà totas vòstras donadas d'una instància mai de wallabag v2. Anatz dins totes vòstres articles, puèi, sus la barra laterala, clicatz sus \"JSON\". Traparatz un fichièr \"All articles.json\"" 354 description: "Aquesta aisina importarà totas vòstras donadas d'una instància mai de wallabag v2. Anatz dins totes vòstres articles, puèi, sus la barra laterala, clicatz sus \"JSON\". Traparatz un fichièr \"All articles.json\""
346 readability: 355 readability:
347 page_title: 'Importer > Readability' 356 page_title: 'Importar > Readability'
348 description: "Aquesta aisina importarà totas vòstres articles de Readability. Sus la pagina de l'aisina (https://www.readability.com/tools/), clicatz sus \"Export your data\" dins la seccion \"Data Export\". Recebretz un corrièl per telecargar un json (qu'acaba pas amb un .json de fach)." 357 description: "Aquesta aisina importarà totas vòstres articles de Readability. Sus la pagina de l'aisina (https://www.readability.com/tools/), clicatz sus \"Export your data\" dins la seccion \"Data Export\". Recebretz un corrièl per telecargar un json (qu'acaba pas amb un .json de fach)."
349 how_to: "Mercés de seleccionar vòstre Readability fichièr e de clicar sul boton dejós per lo telecargar e l'importar." 358 how_to: "Mercés de seleccionar vòstre Readability fichièr e de clicar sul boton dejós per lo telecargar e l'importar."
350 worker: 359 worker:
351 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:" 360 enabled: "L'importacion se fa de manièra asincròna. Un còp l'importacion lançada, una aisina externa s'ocuparà dels messatges un per un. Lo servici actual es : "
352 firefox: 361 firefox:
353 page_title: 'Importer > Firefox' 362 page_title: 'Importar > Firefox'
354 # description: "This importer will import all your Firefox bookmarks. <p>For Firefox, just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file." 363 description: "Aquesta aisina importarà totas vòstres favorits de Firefox. Just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file."
355 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 364 how_to: "Mercés de causir lo fichièr de salvagarda e de clicar sul boton dejós per l'importar. Notatz que lo tractament pòt durar un moment ja que totes los articles an d'èsser recuperats."
356 chrome: 365 chrome:
357 page_title: 'Importer > Chrome' 366 page_title: 'Importar > Chrome'
358 # description: "This importer will import all your Chrome bookmarks. The location of the file depends on your operating system : <ul><li>On Linux, go into the <code>~/.config/chromium/Default/</code> directory</li><li>On Windows, it should be at <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code></li><li>On OS X, it should be at <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code></li></ul>Once you got there, copy the Bookmarks file someplace you'll find.<em><br>Note that if you have Chromium instead of Chrome, you'll have to correct paths accordingly.</em></p>" 367 description: "Aquesta aisina importarà totas vòstres favorits de Chrome. L'emplaçament del fichièr depend de vòstre sistèma operatiu : <ul><li>Sus Linux, anatz al dorsièr <code>~/.config/chromium/Default/</code></li><li>Sus Windows, deu èsser dins <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code></li><li>sus OS X, deu èsser dins <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code></li></ul>Un còp enlà, copiatz lo fichièr de favorits dins un endrech que volètz.<em><br>Notatz que s'avètz Chromium al lòc de Chrome, vos cal cambiar lo camin segon aquesta situacion.</em></p>"
359 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 368 how_to: "Mercés de causir lo fichièr de salvagarda e de clicar sul boton dejós per l'importar. Notatz que lo tractament pòt durar un moment ja que totes los articles an d'èsser recuperats."
360 instapaper: 369 instapaper:
361 page_title: 'Importer > Instapaper' 370 page_title: 'Importar > Instapaper'
362 # description: 'This importer will import all your Instapaper articles. On the settings (https://www.instapaper.com/user) page, click on "Download .CSV file" in the "Export" section. A CSV file will be downloaded (like "instapaper-export.csv").' 371 description: "Aquesta aisina importarà totas vòstres articles d'Instapaper. Sus la pagina de paramètres (https://www.instapaper.com/user), clicatz sus \"Download .CSV file\" dins la seccion \"Export\". Un fichièr CSV serà telecargat (aital \"instapaper-export.csv\")."
363 # how_to: 'Please select your Instapaper export and click on the below button to upload and import it.' 372 how_to: "Mercés de causir vòstre fichièr Instapaper e de clicar sul boton dejós per lo telecargar e l'importar"
364 373
365developer: 374developer:
366 page_title: 'Desvolopador' 375 page_title: 'Desvolopaire'
367 welcome_message: "Benvenguda sus l'API de wallabag" 376 welcome_message: "Benvenguda sus l'API de wallabag"
368 documentation: 'Documentacion' 377 documentation: 'Documentacion'
369 how_to_first_app: 'Cossí crear vòstra primièra aplicacion' 378 how_to_first_app: 'Cossí crear vòstra primièra aplicacion'
@@ -387,16 +396,18 @@ developer:
387 page_title: 'Desvlopador > Novèl client' 396 page_title: 'Desvlopador > Novèl client'
388 page_description: "Anatz crear un novèl client. Mercés de cumplir l'url de redireccion cap a vòstra aplicacion." 397 page_description: "Anatz crear un novèl client. Mercés de cumplir l'url de redireccion cap a vòstra aplicacion."
389 form: 398 form:
399 name_label: "Nom del client"
390 redirect_uris_label: 'URLs de redireccion' 400 redirect_uris_label: 'URLs de redireccion'
391 save_label: 'Crear un novèl client' 401 save_label: 'Crear un novèl client'
392 action_back: 'Retorn' 402 action_back: 'Retorn'
393 client_parameter: 403 client_parameter:
394 page_title: 'Desvolopador > Los paramètres de vòstre client' 404 page_title: 'Desvolopador > Los paramètres de vòstre client'
395 page_description: 'Vaquí los paramètres de vòstre client' 405 page_description: 'Vaquí los paramètres de vòstre client'
406 field_name: 'Nom del client'
396 field_id: 'ID Client' 407 field_id: 'ID Client'
397 field_secret: 'Clau secreta' 408 field_secret: 'Clau secreta'
398 back: 'Retour' 409 back: 'Retour'
399 read_howto: 'Legir \"cossí crear ma primièra aplicacion\"' 410 read_howto: 'Legir "cossí crear ma primièra aplicacion"'
400 howto: 411 howto:
401 page_title: 'Desvolopador > Cossí crear ma primièra aplicacion' 412 page_title: 'Desvolopador > Cossí crear ma primièra aplicacion'
402 description: 413 description:
@@ -426,10 +437,10 @@ flashes:
426 notice: 437 notice:
427 entry_already_saved: 'Article ja salvargardat lo %date%' 438 entry_already_saved: 'Article ja salvargardat lo %date%'
428 entry_saved: 'Article enregistrat' 439 entry_saved: 'Article enregistrat'
429 # entry_saved_failed: 'Entry saved but fetching content failed' 440 entry_saved_failed: 'Article salvat mai fracàs de la recuperacion del contengut'
430 entry_updated: 'Article mes a jorn' 441 entry_updated: 'Article mes a jorn'
431 entry_reloaded: 'Article recargat' 442 entry_reloaded: 'Article recargat'
432 # entry_reload_failed: 'Entry reloaded but fetching content failed' 443 entry_reload_failed: "L'article es estat cargat de u mai la recuperacion del contengut a fracassat"
433 entry_archived: 'Article marcat coma legit' 444 entry_archived: 'Article marcat coma legit'
434 entry_unarchived: 'Article marcat coma pas legit' 445 entry_unarchived: 'Article marcat coma pas legit'
435 entry_starred: 'Article apondut dins los favorits' 446 entry_starred: 'Article apondut dins los favorits'
@@ -443,10 +454,10 @@ flashes:
443 failed: "L'importacion a fracassat, mercés de tornar ensajar" 454 failed: "L'importacion a fracassat, mercés de tornar ensajar"
444 failed_on_file: "Errorr pendent du tractament de l'import. Mercés de verificar vòstre fichièr." 455 failed_on_file: "Errorr pendent du tractament de l'import. Mercés de verificar vòstre fichièr."
445 summary: "Rapòrt d'import: %imported% importats, %skipped% ja presents." 456 summary: "Rapòrt d'import: %imported% importats, %skipped% ja presents."
446 # summary_with_queue: 'Import summary: %queued% queued.' 457 summary_with_queue: "Rapòrt d'import : %queued% en espèra de tractament."
447 error: 458 error:
448 # redis_enabled_not_installed: Redis is enabled for handle asynchronous import but it looks like <u>we can't connect to it</u>. Please check Redis configuration. 459 redis_enabled_not_installed: "Redis es capable d'importar de manièra asincròna mai sembla que <u>podèm pas nos conectar amb el</u>. Mercés de verificar la configuracion de Redis."
449 # rabbit_enabled_not_installed: RabbitMQ is enabled for handle asynchronous import but it looks like <u>we can't connect to it</u>. Please check RabbitMQ configuration. 460 rabbit_enabled_not_installed: "RabbitMQ es capable d'importar de manièra asincròna mai sembla que <u>podèm pas nos conectar amb el</u>. Mercés de verificar la configuracion de RabbitMQ."
450 developer: 461 developer:
451 notice: 462 notice:
452 client_created: 'Novèl client creat' 463 client_created: 'Novèl client creat'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
index 27507a81..cad94dd5 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
@@ -45,6 +45,7 @@ footer:
45 social: 'Społeczność' 45 social: 'Społeczność'
46 powered_by: 'Kontrolowany przez' 46 powered_by: 'Kontrolowany przez'
47 about: 'O nas' 47 about: 'O nas'
48 # stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day!
48 49
49config: 50config:
50 page_title: 'Konfiguracja' 51 page_title: 'Konfiguracja'
@@ -94,6 +95,7 @@ config:
94 if_label: 'jeżeli' 95 if_label: 'jeżeli'
95 then_tag_as_label: 'wtedy otaguj jako' 96 then_tag_as_label: 'wtedy otaguj jako'
96 delete_rule_label: 'usuń' 97 delete_rule_label: 'usuń'
98 # edit_rule_label: 'edit'
97 rule_label: 'Reguła' 99 rule_label: 'Reguła'
98 tags_label: 'Tagi' 100 tags_label: 'Tagi'
99 faq: 101 faq:
@@ -266,12 +268,14 @@ howto:
266 268
267quickstart: 269quickstart:
268 page_title: 'Szybki start' 270 page_title: 'Szybki start'
271 # more: 'More…'
269 intro: 272 intro:
270 title: 'Witaj w wallabag!' 273 title: 'Witaj w wallabag!'
271 paragraph_1: "Będziemy ci towarzyszyli w Twojej poznaniu wallabag i pokażemy możliwości, które mogą cię zainteresować." 274 paragraph_1: "Będziemy ci towarzyszyli w Twojej poznaniu wallabag i pokażemy możliwości, które mogą cię zainteresować."
272 paragraph_2: 'Śledź nas!' 275 paragraph_2: 'Śledź nas!'
273 configure: 276 configure:
274 title: 'Konfiguruj aplikację' 277 title: 'Konfiguruj aplikację'
278 description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
275 language: 'Zmień język i wygląd' 279 language: 'Zmień język i wygląd'
276 rss: 'Włącz kanały RSS' 280 rss: 'Włącz kanały RSS'
277 tagging_rules: 'Napisz reguły pozwalające na automatyczne otagowanie twoich artykułów' 281 tagging_rules: 'Napisz reguły pozwalające na automatyczne otagowanie twoich artykułów'
@@ -285,6 +289,7 @@ quickstart:
285 import: 'Skonfigurować import' 289 import: 'Skonfigurować import'
286 first_steps: 290 first_steps:
287 title: 'Pierwsze kroki' 291 title: 'Pierwsze kroki'
292 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link"
288 new_article: 'Zapisz swój pierwszy artukuł' 293 new_article: 'Zapisz swój pierwszy artukuł'
289 unread_articles: 'I sklasyfikuj go!' 294 unread_articles: 'I sklasyfikuj go!'
290 migrate: 295 migrate:
@@ -294,11 +299,15 @@ quickstart:
294 wallabag_v1: 'Migruj z wallabag v1' 299 wallabag_v1: 'Migruj z wallabag v1'
295 wallabag_v2: 'Migruj z wallabag v2' 300 wallabag_v2: 'Migruj z wallabag v2'
296 readability: 'Migruj z Readability' 301 readability: 'Migruj z Readability'
302 instapaper: 'Migruj z Instapaper'
297 developer: 303 developer:
298 title: 'Deweloperzy' 304 title: 'Deweloperzy'
305 # description: 'We also thought to the developers: Docker, API, translations, etc.'
299 create_application: 'Stwórz swoją aplikację' 306 create_application: 'Stwórz swoją aplikację'
307 # use_docker: 'Use Docker to install wallabag'
300 docs: 308 docs:
301 title: 'Pełna Dokumentacja' 309 title: 'Pełna Dokumentacja'
310 # description: "There are so much features in wallabag. Don't hesitate to read the manual to know them and to learn how to use them."
302 annotate: 'Dadaj adnotację do swojego artykułu' 311 annotate: 'Dadaj adnotację do swojego artykułu'
303 export: 'Konwertuj swoje artykuły do ePUB lub PDF' 312 export: 'Konwertuj swoje artykuły do ePUB lub PDF'
304 search_filters: 'Zabacz jak możesz znaleźć artykuł dzięku użyciu silnika wyszukiwarki i filtrów' 313 search_filters: 'Zabacz jak możesz znaleźć artykuł dzięku użyciu silnika wyszukiwarki i filtrów'
@@ -351,7 +360,7 @@ import:
351 enabled: "Import jest wykonywany asynchronicznie. Od momentu rozpoczęcia importu, zewnętrzna usługa może zajmować się na raz tylko jednym zadaniem. Bieżącą usługą jest:" 360 enabled: "Import jest wykonywany asynchronicznie. Od momentu rozpoczęcia importu, zewnętrzna usługa może zajmować się na raz tylko jednym zadaniem. Bieżącą usługą jest:"
352 firefox: 361 firefox:
353 page_title: 'Import > Firefox' 362 page_title: 'Import > Firefox'
354 description: "Ten importer zaimportuje wszystkie twoje zakładki z Firefoksa. <p>Dla Firefoksa, idź do twoich zakładek (Ctrl+Shift+O), następnie w \"Import i kopie zapasowe\", wybierz \"Utwórz kopię zapasową...\". Uzyskasz plik .json." 363 description: "Ten importer zaimportuje wszystkie twoje zakładki z Firefoksa. Idź do twoich zakładek (Ctrl+Shift+O), następnie w \"Import i kopie zapasowe\", wybierz \"Utwórz kopię zapasową...\". Uzyskasz plik .json."
355 how_to: "Wybierz swój plik z zakładkami i naciśnij poniższy przycisk, aby je zaimportować. Może to zająć dłuższą chwilę, zanim wszystkie artykuły zostaną przeniesione." 364 how_to: "Wybierz swój plik z zakładkami i naciśnij poniższy przycisk, aby je zaimportować. Może to zająć dłuższą chwilę, zanim wszystkie artykuły zostaną przeniesione."
356 chrome: 365 chrome:
357 page_title: 'Import > Chrome' 366 page_title: 'Import > Chrome'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
index 7c77ffb7..a271d6f3 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
@@ -45,6 +45,7 @@ footer:
45 # social: 'Social' 45 # social: 'Social'
46 # powered_by: 'powered by' 46 # powered_by: 'powered by'
47 about: 'Despre' 47 about: 'Despre'
48 # stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day!
48 49
49config: 50config:
50 page_title: 'Configurație' 51 page_title: 'Configurație'
@@ -94,6 +95,7 @@ config:
94 # if_label: 'if' 95 # if_label: 'if'
95 # then_tag_as_label: 'then tag as' 96 # then_tag_as_label: 'then tag as'
96 # delete_rule_label: 'delete' 97 # delete_rule_label: 'delete'
98 # edit_rule_label: 'edit'
97 # rule_label: 'Rule' 99 # rule_label: 'Rule'
98 # tags_label: 'Tags' 100 # tags_label: 'Tags'
99 # faq: 101 # faq:
@@ -266,12 +268,14 @@ howto:
266 268
267quickstart: 269quickstart:
268 # page_title: 'Quickstart' 270 # page_title: 'Quickstart'
271 # more: 'More…'
269 # intro: 272 # intro:
270 # title: 'Welcome to wallabag!' 273 # title: 'Welcome to wallabag!'
271 # paragraph_1: "We'll accompany you to visit wallabag and show you some features which can interest you." 274 # paragraph_1: "We'll accompany you to visit wallabag and show you some features which can interest you."
272 # paragraph_2: 'Follow us!' 275 # paragraph_2: 'Follow us!'
273 # configure: 276 # configure:
274 # title: 'Configure the application' 277 # title: 'Configure the application'
278 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
275 # language: 'Change language and design' 279 # language: 'Change language and design'
276 # rss: 'Enable RSS feeds' 280 # rss: 'Enable RSS feeds'
277 # tagging_rules: 'Write rules to automatically tag your articles' 281 # tagging_rules: 'Write rules to automatically tag your articles'
@@ -285,6 +289,7 @@ quickstart:
285 # import: 'Configure import' 289 # import: 'Configure import'
286 # first_steps: 290 # first_steps:
287 # title: 'First steps' 291 # title: 'First steps'
292 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link."
288 # new_article: 'Save your first article' 293 # new_article: 'Save your first article'
289 # unread_articles: 'And classify it!' 294 # unread_articles: 'And classify it!'
290 # migrate: 295 # migrate:
@@ -294,11 +299,15 @@ quickstart:
294 # wallabag_v1: 'Migrate from wallabag v1' 299 # wallabag_v1: 'Migrate from wallabag v1'
295 # wallabag_v2: 'Migrate from wallabag v2' 300 # wallabag_v2: 'Migrate from wallabag v2'
296 # readability: 'Migrate from Readability' 301 # readability: 'Migrate from Readability'
302 # instapaper: 'Migrate from Instapaper'
297 # developer: 303 # developer:
298 # title: 'Developers' 304 # title: 'Developers'
305 # description: 'We also thought to the developers: Docker, API, translations, etc.'
299 # create_application: 'Create your third application' 306 # create_application: 'Create your third application'
307 # use_docker: 'Use Docker to install wallabag'
300 # docs: 308 # docs:
301 # title: 'Full documentation' 309 # title: 'Full documentation'
310 # description: "There are so much features in wallabag. Don't hesitate to read the manual to know them and to learn how to use them."
302 # annotate: 'Annotate your article' 311 # annotate: 'Annotate your article'
303 # export: 'Convert your articles into ePUB or PDF' 312 # export: 'Convert your articles into ePUB or PDF'
304 # search_filters: 'See how you can look for an article by using search engine and filters' 313 # search_filters: 'See how you can look for an article by using search engine and filters'
@@ -351,7 +360,7 @@ import:
351 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:" 360 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:"
352 # firefox: 361 # firefox:
353 # page_title: 'Import > Firefox' 362 # page_title: 'Import > Firefox'
354 # description: "This importer will import all your Firefox bookmarks. <p>For Firefox, just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file." 363 # description: "This importer will import all your Firefox bookmarks. Just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file."
355 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 364 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched."
356 # chrome: 365 # chrome:
357 # page_title: 'Import > Chrome' 366 # page_title: 'Import > Chrome'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
index 8bc0c4b9..f2307e65 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
@@ -45,6 +45,7 @@ footer:
45 social: 'Sosyal' 45 social: 'Sosyal'
46 powered_by: 'powered by' 46 powered_by: 'powered by'
47 about: 'Hakkımızda' 47 about: 'Hakkımızda'
48 # stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day!
48 49
49config: 50config:
50 page_title: 'Yapılandırma' 51 page_title: 'Yapılandırma'
@@ -266,12 +267,14 @@ howto:
266 267
267quickstart: 268quickstart:
268 page_title: 'Hızlı başlangıç' 269 page_title: 'Hızlı başlangıç'
270 # more: 'More…'
269 intro: 271 intro:
270 title: 'wallabag' 272 title: 'wallabag'
271 paragraph_1: "wallabag kurduğunuz için teşekkür ederiz. Bu sayfada biz size eşlik edecek ve ilginizi çekecek birkaç özellik göstereceğim." 273 paragraph_1: "wallabag kurduğunuz için teşekkür ederiz. Bu sayfada biz size eşlik edecek ve ilginizi çekecek birkaç özellik göstereceğim."
272 paragraph_2: 'Bizi takip edin!' 274 paragraph_2: 'Bizi takip edin!'
273 configure: 275 configure:
274 title: 'Uygulamayı Yapılandırma' 276 title: 'Uygulamayı Yapılandırma'
277 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
275 language: 'Dili ve tasarımı değiştirme' 278 language: 'Dili ve tasarımı değiştirme'
276 rss: 'RSS akışını aktifleştirme' 279 rss: 'RSS akışını aktifleştirme'
277 # tagging_rules: 'Write rules to automatically tag your articles' 280 # tagging_rules: 'Write rules to automatically tag your articles'
@@ -285,6 +288,7 @@ quickstart:
285 # import: 'Configure import' 288 # import: 'Configure import'
286 first_steps: 289 first_steps:
287 title: 'İlk adım' 290 title: 'İlk adım'
291 # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link."
288 new_article: 'İlk makalenizi kaydedin' 292 new_article: 'İlk makalenizi kaydedin'
289 unread_articles: 'Ve bunu sınıflandırın!' 293 unread_articles: 'Ve bunu sınıflandırın!'
290 migrate: 294 migrate:
@@ -294,11 +298,15 @@ quickstart:
294 wallabag_v1: "wallabag v1 üzerindeki verilerinizi wallabag'in yeni sürümüne aktarın" 298 wallabag_v1: "wallabag v1 üzerindeki verilerinizi wallabag'in yeni sürümüne aktarın"
295 wallabag_v2: "wallabag v2 üzerindeki verilerinizi wallabag'in yeni sürümüne aktarın" 299 wallabag_v2: "wallabag v2 üzerindeki verilerinizi wallabag'in yeni sürümüne aktarın"
296 readability: "Readability üzerindeki verilerinizi wallabag'e aktarın'" 300 readability: "Readability üzerindeki verilerinizi wallabag'e aktarın'"
301 instapaper: "Instapaper üzerindeki verilerinizi wallabag'e aktarın'"
297 developer: 302 developer:
298 # title: 'Developers' 303 # title: 'Developers'
304 # description: 'We also thought to the developers: Docker, API, translations, etc.'
299 # create_application: 'Create your third application' 305 # create_application: 'Create your third application'
306 # use_docker: 'Use Docker to install wallabag'
300 docs: 307 docs:
301 title: 'Dokümantasyon' 308 title: 'Dokümantasyon'
309 # description: "There are so much features in wallabag. Don't hesitate to read the manual to know them and to learn how to use them."
302 # annotate: 'Annotate your article' 310 # annotate: 'Annotate your article'
303 export: 'Makalelerinizi ePUB ya da PDF formatına çevirme' 311 export: 'Makalelerinizi ePUB ya da PDF formatına çevirme'
304 search_filters: 'Makaleleri görüntülemek için arama motorlarını ve filteri kullanma' 312 search_filters: 'Makaleleri görüntülemek için arama motorlarını ve filteri kullanma'
@@ -351,7 +359,7 @@ import:
351 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:" 359 # enabled: "Import is made asynchronously. Once the import task is started, an external worker will handle jobs one at a time. The current service is:"
352 firefox: 360 firefox:
353 page_title: 'İçe Aktar > Firefox' 361 page_title: 'İçe Aktar > Firefox'
354 # description: "This importer will import all your Firefox bookmarks. <p>For Firefox, just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file." 362 # description: "This importer will import all your Firefox bookmarks. Just go to your bookmarks (Ctrl+Maj+O), then into \"Import and backup\", choose \"Backup...\". You will obtain a .json file."
355 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." 363 # how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched."
356 chrome: 364 chrome:
357 page_title: 'İçe Aktar > Chrome' 365 page_title: 'İçe Aktar > Chrome'
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
index 6446cf2c..dd4f7b00 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
@@ -191,6 +191,7 @@
191 « {{ tagging_rule.rule }} » 191 « {{ tagging_rule.rule }} »
192 {{ 'config.form_rules.then_tag_as_label'|trans }} 192 {{ 'config.form_rules.then_tag_as_label'|trans }}
193 « {{ tagging_rule.tags|join(', ') }} » 193 « {{ tagging_rule.tags|join(', ') }} »
194 <a href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}" class="tool mode_edit">✎</a>
194 <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}" class="tool delete icon-trash icon"></a> 195 <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}" class="tool delete icon-trash icon"></a>
195 </li> 196 </li>
196 {% endfor %} 197 {% endfor %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/quickstart.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/quickstart.html.twig
index 8cbf4ab4..226bafea 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/quickstart.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/quickstart.html.twig
@@ -10,64 +10,106 @@
10 10
11 <div class="row"> 11 <div class="row">
12 <h3>{{ 'quickstart.intro.title'|trans }}</h3> 12 <h3>{{ 'quickstart.intro.title'|trans }}</h3>
13 <p>{{ 'quickstart.intro.paragraph_1'|trans }}</p>
14 <p>{{ 'quickstart.intro.paragraph_2'|trans }}</p>
15 13
16 <h4>{{ 'quickstart.configure.title'|trans }}</h4> 14 <ul class="row data">
17 <ul> 15 <li class="col l4 m6 s12">
18 <li><a href="{{ path('config') }}">{{ 'quickstart.configure.language'|trans }}</a></li> 16 <div class="card teal darken-1">
19 <li><a href="{{ path('config') }}#set2">{{ 'quickstart.configure.rss'|trans }}</a></li> 17 <div class="card-content white-text">
20 <li><a href="{{ path('config') }}#set5">{{ 'quickstart.configure.tagging_rules'|trans }}</a></li> 18 <span class="card-title">{{ 'quickstart.configure.title'|trans }}</span>
21 </ul> 19 <p>{{ 'quickstart.configure.description'|trans }}</p>
20 </div>
21 <div class="card-action">
22 <ul>
23 <li><a href="{{ path('config') }}">{{ 'quickstart.configure.language'|trans }}</a></li>
24 <li><a href="{{ path('config') }}#set2">{{ 'quickstart.configure.rss'|trans }}</a></li>
25 <li><a href="{{ path('config') }}#set5">{{ 'quickstart.more'|trans }}</a></li>
26 </ul>
27 </div>
28 </div>
29 </li>
22 30
23 {% if is_granted('ROLE_SUPER_ADMIN') %} 31 <li class="col l4 m6 s12">
24 <h4>{{ 'quickstart.admin.title'|trans }}</h4> 32 <div class="card green darken-1">
25 <p>{{ 'quickstart.admin.description'|trans }}</p> 33 <div class="card-content white-text">
26 <ul> 34 <span class="card-title">{{ 'quickstart.first_steps.title'|trans }}</span>
27 <li><a href="{{ path('config') }}#set6">{{ 'quickstart.admin.new_user'|trans }}</a></li> 35 <p>{{ 'quickstart.first_steps.description'|trans }}</p>
28 <li><a href="{{ path('craue_config_settings_modify') }}#set-analytics">{{ 'quickstart.admin.analytics'|trans }}</a></li> 36 </div>
29 <li><a href="{{ path('craue_config_settings_modify') }}#set-entry">{{ 'quickstart.admin.sharing'|trans }}</a></li> 37 <div class="card-action">
30 <li><a href="{{ path('craue_config_settings_modify') }}#set-export">{{ 'quickstart.admin.export'|trans }}</a></li> 38 <ul>
31 <li><a href="{{ path('craue_config_settings_modify') }}#set-import">{{ 'quickstart.admin.import'|trans }}</a></li> 39 <li><a href="{{ path('new') }}">{{ 'quickstart.first_steps.new_article'|trans }}</a></li>
32 </ul> 40 <li><a href="{{ path('unread') }}">{{ 'quickstart.first_steps.unread_articles'|trans }}</a></li>
33 {% endif %} 41 </ul>
42 </div>
43 </div>
44 </li>
34 45
35 <h4>{{ 'quickstart.first_steps.title'|trans }}</h4> 46 <li class="col l4 m6 s12">
36 <ul> 47 <div class="card light-green darken-1">
37 <li><a href="{{ path('new') }}">{{ 'quickstart.first_steps.new_article'|trans }}</a></li> 48 <div class="card-content white-text">
38 <li><a href="{{ path('unread') }}">{{ 'quickstart.first_steps.unread_articles'|trans }}</a></li> 49 <span class="card-title">{{ 'quickstart.migrate.title'|trans }}</span>
39 </ul> 50 <p>{{ 'quickstart.migrate.description'|trans }}</p>
51 </div>
52 <div class="card-action">
53 <ul>
54 <li><a href="{{ path('import_pocket') }}">{{ 'quickstart.migrate.pocket'|trans }}</a></li>
55 <li><a href="{{ path('import_readability') }}">{{ 'quickstart.migrate.readability'|trans }}</a></li>
56 <li><a href="{{ path('import_instapaper') }}">{{ 'quickstart.migrate.instapaper'|trans }}</a></li>
57 <li><a href="{{ path('import') }}">{{ 'quickstart.more'|trans }}</a></li>
58 </ul>
59 </div>
60 </div>
61 </li>
40 62
41 <h4>{{ 'quickstart.migrate.title'|trans }}</h4> 63 <li class="col l4 m6 s12">
42 <p>{{ 'quickstart.migrate.description'|trans }}</p> 64 <div class="card blue darken-1">
43 <ul> 65 <div class="card-content white-text">
44 <li><a href="{{ path('import_pocket') }}">{{ 'quickstart.migrate.pocket'|trans }}</a></li> 66 <span class="card-title">{{ 'quickstart.developer.title'|trans }}</span>
45 <li><a href="{{ path('import_wallabag_v1') }}">{{ 'quickstart.migrate.wallabag_v1'|trans }}</a></li> 67 <p>{{ 'quickstart.developer.description'|trans }}</p>
46 <li><a href="{{ path('import_wallabag_v2') }}">{{ 'quickstart.migrate.wallabag_v2'|trans }}</a></li> 68 </div>
47 <li><a href="{{ path('import_readability') }}">{{ 'quickstart.migrate.readability'|trans }}</a></li> 69 <div class="card-action">
48 </ul> 70 <ul>
71 <li><a href="{{ path('developer') }}">{{ 'quickstart.developer.create_application'|trans }}</a></li>
72 <li><a href="http://doc.wallabag.org/en/master/developer/docker.html">{{ 'quickstart.developer.use_docker'|trans }}</a></li>
73 <li><a href="http://doc.wallabag.org/en/master/index.html#dev-docs">{{ 'quickstart.more'|trans }}</a></li>
74 </ul>
75 </div>
76 </div>
77 </li>
49 78
50 <h4>{{ 'quickstart.developer.title'|trans }}</h4> 79 <li class="col l4 m6 s12">
51 <ul> 80 <div class="card light-blue darken-1">
52 <li><a href="{{ path('developer') }}">{{ 'quickstart.developer.create_application'|trans }}</a></li> 81 <div class="card-content white-text">
53 </ul> 82 <span class="card-title">{{ 'quickstart.docs.title'|trans }}</span>
83 <p>{{ 'quickstart.docs.description'|trans }}</p>
84 </div>
85 <div class="card-action">
86 <ul>
87 <li><a href="http://doc.wallabag.org/en/master/user/annotations.html">{{ 'quickstart.docs.annotate'|trans }}</a></li>
88 <li><a href="http://doc.wallabag.org/en/master/user/download_articles.html">{{ 'quickstart.docs.export'|trans }}</a></li>
89 <li><a href="http://doc.wallabag.org/">{{ 'quickstart.docs.all_docs'|trans }}</a></li>
90 </ul>
91 </div>
92 </div>
93 </li>
54 94
55 <h4>{{ 'quickstart.docs.title'|trans }}</h4> 95 <li class="col l4 m6 s12">
56 <ul> 96 <div class="card cyan darken-1">
57 <li><a href="http://doc.wallabag.org/en/master/user/annotations.html">{{ 'quickstart.docs.annotate'|trans }}</a></li> 97 <div class="card-content white-text">
58 <li><a href="http://doc.wallabag.org/en/master/user/download_articles.html">{{ 'quickstart.docs.export'|trans }}</a></li> 98 <span class="card-title">{{ 'quickstart.support.title'|trans }}</span>
59 <li><a href="http://doc.wallabag.org/en/master/user/filters.html">{{ 'quickstart.docs.search_filters'|trans }}</a></li> 99 <p>{{ 'quickstart.support.description'|trans }}</p>
60 <li><a href="http://doc.wallabag.org/en/master/user/errors_during_fetching.html">{{ 'quickstart.docs.fetching_errors'|trans }}</a></li> 100 </div>
61 <li><a href="http://doc.wallabag.org/">{{ 'quickstart.docs.all_docs'|trans }}</a></li> 101 <div class="card-action">
62 </ul> 102 <ul>
103 <li><a href="https://github.com/wallabag/wallabag/issues/">{{ 'quickstart.support.github'|trans }}</a></li>
104 <li><a href="mailto:hello@wallabag.org">{{ 'quickstart.support.email'|trans }}</a></li>
105 <li><a href="https://gitter.im/wallabag/wallabag">{{ 'quickstart.support.gitter'|trans }}</a></li>
106 </ul>
107 </div>
108 </div>
109 </li>
63 110
64 <h4>{{ 'quickstart.support.title'|trans }}</h4>
65 <p>{{ 'quickstart.support.description'|trans }}</p>
66 <ul>
67 <li><a href="https://github.com/wallabag/wallabag/issues/">{{ 'quickstart.support.github'|trans }}</a></li>
68 <li><a href="mailto:hello@wallabag.org">{{ 'quickstart.support.email'|trans }}</a></li>
69 <li><a href="https://gitter.im/wallabag/wallabag">{{ 'quickstart.support.gitter'|trans }}</a></li>
70 </ul> 111 </ul>
112
71 </div> 113 </div>
72 114
73 </div> 115 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
index 5330c353..650a3ae2 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
@@ -218,6 +218,9 @@
218 « {{ tagging_rule.rule }} » 218 « {{ tagging_rule.rule }} »
219 {{ 'config.form_rules.then_tag_as_label'|trans }} 219 {{ 'config.form_rules.then_tag_as_label'|trans }}
220 « {{ tagging_rule.tags|join(', ') }} » 220 « {{ tagging_rule.tags|join(', ') }} »
221 <a href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}">
222 <i class="tool grey-text mode_edit material-icons">mode_edit</i>
223 </a>
221 <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}"> 224 <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}">
222 <i class="tool grey-text delete material-icons">delete</i> 225 <i class="tool grey-text delete material-icons">delete</i>
223 </a> 226 </a>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
index df05e2a4..b2d77c2e 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
@@ -122,8 +122,19 @@
122 <footer class="page-footer cyan darken-2"> 122 <footer class="page-footer cyan darken-2">
123 <div class="footer-copyright"> 123 <div class="footer-copyright">
124 <div class="container"> 124 <div class="container">
125 <p>{{ 'footer.wallabag.powered_by'|trans }} <a target="_blank" href="https://wallabag.org" class="grey-text text-lighten-4">wallabag</a></p> 125 <div class="row">
126 <a class="grey-text text-lighten-4 right" href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans }}</a> 126 <div class="col s8">
127 <p>
128 {{ display_stats() }}
129 </p>
130 </div>
131 <div class="col s4">
132 <p>
133 {{ 'footer.wallabag.powered_by'|trans }} <a target="_blank" href="https://wallabag.org" class="grey-text text-lighten-4">wallabag</a> –
134 <a class="grey-text text-lighten-4" href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans|lower }}</a>
135 </p>
136 </div>
137 </div>
127 </div> 138 </div>
128 </div> 139 </div>
129 </footer> 140 </footer>
diff --git a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
index fb4c7412..783cde3e 100644
--- a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
+++ b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
@@ -5,6 +5,7 @@ namespace Wallabag\CoreBundle\Twig;
5use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; 5use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
6use Wallabag\CoreBundle\Repository\EntryRepository; 6use Wallabag\CoreBundle\Repository\EntryRepository;
7use Wallabag\CoreBundle\Repository\TagRepository; 7use Wallabag\CoreBundle\Repository\TagRepository;
8use Symfony\Component\Translation\TranslatorInterface;
8 9
9class WallabagExtension extends \Twig_Extension implements \Twig_Extension_GlobalsInterface 10class WallabagExtension extends \Twig_Extension implements \Twig_Extension_GlobalsInterface
10{ 11{
@@ -12,13 +13,15 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
12 private $entryRepository; 13 private $entryRepository;
13 private $tagRepository; 14 private $tagRepository;
14 private $lifeTime; 15 private $lifeTime;
16 private $translator;
15 17
16 public function __construct(EntryRepository $entryRepository = null, TagRepository $tagRepository = null, TokenStorageInterface $tokenStorage = null, $lifeTime = 0) 18 public function __construct(EntryRepository $entryRepository, TagRepository $tagRepository, TokenStorageInterface $tokenStorage, $lifeTime, TranslatorInterface $translator)
17 { 19 {
18 $this->entryRepository = $entryRepository; 20 $this->entryRepository = $entryRepository;
19 $this->tagRepository = $tagRepository; 21 $this->tagRepository = $tagRepository;
20 $this->tokenStorage = $tokenStorage; 22 $this->tokenStorage = $tokenStorage;
21 $this->lifeTime = $lifeTime; 23 $this->lifeTime = $lifeTime;
24 $this->translator = $translator;
22 } 25 }
23 26
24 public function getFilters() 27 public function getFilters()
@@ -33,6 +36,7 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
33 return array( 36 return array(
34 new \Twig_SimpleFunction('count_entries', [$this, 'countEntries']), 37 new \Twig_SimpleFunction('count_entries', [$this, 'countEntries']),
35 new \Twig_SimpleFunction('count_tags', [$this, 'countTags']), 38 new \Twig_SimpleFunction('count_tags', [$this, 'countTags']),
39 new \Twig_SimpleFunction('display_stats', [$this, 'displayStats']),
36 ); 40 );
37 } 41 }
38 42
@@ -107,6 +111,40 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
107 return $this->tagRepository->countAllTags($user->getId()); 111 return $this->tagRepository->countAllTags($user->getId());
108 } 112 }
109 113
114 /**
115 * Display a single line about reading stats.
116 *
117 * @return string
118 */
119 public function displayStats()
120 {
121 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;
122
123 if (null === $user || !is_object($user)) {
124 return 0;
125 }
126
127 $query = $this->entryRepository->getBuilderForArchiveByUser($user->getId())
128 ->select('e.id')
129 ->groupBy('e.id')
130 ->getQuery();
131
132 $query->useQueryCache(true);
133 $query->useResultCache(true);
134 $query->setResultCacheLifetime($this->lifeTime);
135
136 $nbArchives = count($query->getArrayResult());
137
138 $interval = $user->getCreatedAt()->diff(new \DateTime('now'));
139 $nbDays = (int) $interval->format('%a') ?: 1;
140
141 return $this->translator->trans('footer.stats', [
142 '%user_creation%' => $user->getCreatedAt()->format('F jS, Y'),
143 '%nb_archives%' => $nbArchives,
144 '%per_day%' => round($nbArchives / $nbDays, 2),
145 ]);
146 }
147
110 public function getName() 148 public function getName()
111 { 149 {
112 return 'wallabag_extension'; 150 return 'wallabag_extension';