aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag
diff options
context:
space:
mode:
authorJeremy Benoist <jeremy.benoist@gmail.com>2016-10-24 12:03:17 +0200
committerJeremy Benoist <jeremy.benoist@gmail.com>2016-10-24 12:03:17 +0200
commit64a8781e453c40ff144d03405abe2dc1ccfacbe0 (patch)
tree311473a357e3dedd496e1417293eed9a2a116ad6 /src/Wallabag
parent9313ea9d440e3f93a6bb2d8c0fb6717364cd27f5 (diff)
parentc64b4941d5222586a82d2c8d6a61969bb9cfe96b (diff)
downloadwallabag-64a8781e453c40ff144d03405abe2dc1ccfacbe0.tar.gz
wallabag-64a8781e453c40ff144d03405abe2dc1ccfacbe0.tar.zst
wallabag-64a8781e453c40ff144d03405abe2dc1ccfacbe0.zip
Merge remote-tracking branch 'origin/master' into 2.2
Diffstat (limited to 'src/Wallabag')
-rw-r--r--src/Wallabag/CoreBundle/Command/InstallCommand.php2
-rw-r--r--src/Wallabag/CoreBundle/Controller/EntryController.php9
-rw-r--r--src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php2
-rw-r--r--src/Wallabag/CoreBundle/DependencyInjection/Configuration.php2
-rw-r--r--src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php1
-rw-r--r--src/Wallabag/CoreBundle/Resources/config/services.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.da.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.de.yml99
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.en.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.es.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml5
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.it.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig28
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Static/about.html.twig11
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig10
-rw-r--r--src/Wallabag/CoreBundle/Twig/WallabagExtension.php5
-rw-r--r--src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php5
-rw-r--r--src/Wallabag/ImportBundle/Import/BrowserImport.php12
-rw-r--r--src/Wallabag/UserBundle/Resources/views/Security/login.html.twig6
25 files changed, 146 insertions, 84 deletions
diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php
index 82cd9daf..277f8524 100644
--- a/src/Wallabag/CoreBundle/Command/InstallCommand.php
+++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php
@@ -380,7 +380,7 @@ class InstallCommand extends ContainerAwareCommand
380 ], 380 ],
381 [ 381 [
382 'name' => 'piwik_host', 382 'name' => 'piwik_host',
383 'value' => 'http://v2.wallabag.org', 383 'value' => 'v2.wallabag.org',
384 'section' => 'analytics', 384 'section' => 'analytics',
385 ], 385 ],
386 [ 386 [
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/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 048a72fc..cc5f9e9a 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 7c8ae66e..c0595583 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
@@ -457,6 +457,9 @@ user:
457 # delete_confirm: Are you sure? 457 # delete_confirm: Are you sure?
458 # back_to_list: Back to list 458 # back_to_list: Back to list
459 459
460error:
461 # page_title: An error occurred
462
460flashes: 463flashes:
461 config: 464 config:
462 notice: 465 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
index 20f9753b..0051da2f 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
@@ -11,8 +11,8 @@ security:
11 resetting: 11 resetting:
12 description: "Gib unten deine E-Mail-Adresse ein und wir senden dir eine Anleitung für das Zurücksetzen deines Kennworts." 12 description: "Gib unten deine E-Mail-Adresse ein und wir senden dir eine Anleitung für das Zurücksetzen deines Kennworts."
13 register: 13 register:
14 page_title: 'Account erstellen' 14 page_title: 'Konto erstellen'
15 go_to_account: 'Gehe zu deinem Account' 15 go_to_account: 'Gehe zu deinem Konto'
16 16
17menu: 17menu:
18 left: 18 left:
@@ -53,7 +53,7 @@ config:
53 tab_menu: 53 tab_menu:
54 settings: 'Einstellungen' 54 settings: 'Einstellungen'
55 rss: 'RSS' 55 rss: 'RSS'
56 user_info: 'Benutzer-Information' 56 user_info: 'Benutzerinformation'
57 password: 'Kennwort' 57 password: 'Kennwort'
58 rules: 'Tagging-Regeln' 58 rules: 'Tagging-Regeln'
59 new_user: 'Benutzer hinzufügen' 59 new_user: 'Benutzer hinzufügen'
@@ -73,18 +73,18 @@ config:
73 pocket_consumer_key_label: Consumer-Key für Pocket, um Inhalte zu importieren 73 pocket_consumer_key_label: Consumer-Key für Pocket, um Inhalte zu importieren
74 form_rss: 74 form_rss:
75 description: 'Die RSS-Feeds von wallabag erlauben es dir, deine gespeicherten Artikel mit deinem bevorzugten RSS-Reader zu lesen. Vorher musst du jedoch einen Token erstellen.' 75 description: 'Die RSS-Feeds von wallabag erlauben es dir, deine gespeicherten Artikel mit deinem bevorzugten RSS-Reader zu lesen. Vorher musst du jedoch einen Token erstellen.'
76 token_label: 'RSS-token' 76 token_label: 'RSS-Token'
77 no_token: 'Kein Token' 77 no_token: 'Kein Token'
78 token_create: 'Token erstellen' 78 token_create: 'Token erstellen'
79 token_reset: 'Token zurücksetzen' 79 token_reset: 'Token zurücksetzen'
80 rss_links: 'RSS-Links' 80 rss_links: 'RSS-Links'
81 rss_link: 81 rss_link:
82 unread: 'ungelesen' 82 unread: 'Ungelesene'
83 starred: 'favoriten' 83 starred: 'Favoriten'
84 archive: 'archiv' 84 archive: 'Archivierte'
85 rss_limit: 'Anzahl der Einträge im Feed' 85 rss_limit: 'Anzahl der Einträge pro Feed'
86 form_user: 86 form_user:
87 two_factor_description: "Wenn du die Zwei-Faktor-Authentifizierung aktivierst, erhältst du eine E-Mail mit einem Code bei jeder nicht vertraulichen Verbindung" 87 two_factor_description: "Wenn du die Zwei-Faktor-Authentifizierung aktivierst, erhältst du eine E-Mail mit einem Code bei jeder nicht vertrauenswürdigen Verbindung"
88 name_label: 'Name' 88 name_label: 'Name'
89 email_label: 'E-Mail-Adresse' 89 email_label: 'E-Mail-Adresse'
90 twoFactorAuthentication_label: 'Zwei-Faktor-Authentifizierung' 90 twoFactorAuthentication_label: 'Zwei-Faktor-Authentifizierung'
@@ -114,10 +114,10 @@ config:
114 faq: 114 faq:
115 title: 'FAQ' 115 title: 'FAQ'
116 tagging_rules_definition_title: 'Was bedeuten die "Tagging-Regeln"?' 116 tagging_rules_definition_title: 'Was bedeuten die "Tagging-Regeln"?'
117 tagging_rules_definition_description: 'Dies sind Regeln von wallabag, um neu hinzugefügte Einträge autmatisch zu taggen.<br />Jedes Mal, wenn ein neuer Eintrag hinzufügt wird, werden die Tagging-Regeln angewandt. Dies erleichtert dir die Arbeit, deine Einträge manuell zu klassifizieren.' 117 tagging_rules_definition_description: 'Dies sind Regeln von wallabag, um neu hinzugefügte Einträge automatisch zu taggen.<br />Jedes Mal, wenn ein neuer Eintrag hinzugefügt wird, werden die Tagging-Regeln angewandt. Dies erleichtert dir die Arbeit, deine Einträge manuell zu kategorisieren.'
118 how_to_use_them_title: 'Wie nutze ich sie?' 118 how_to_use_them_title: 'Wie nutze ich sie?'
119 how_to_use_them_description: 'Nehmen wir an, du möchtest deine Einträge als "<i>schnell lesbar</i>" taggen, wenn die Lesezeit kürzer als drei Minuten ist.<br />In diesem Falle solltest du "readingTime &lt;= 3" in das <i>Regel</i>-Feld und "<i>schnell lesbar</i>" in das <i>Tags</i>-Feld schreiben.<br />Mehrere Tags können gleichzeitig hinzugefügt werden, indem sie durch ein Kommata getrennt werden: "<i>schnell lesbar, interessant</i>"<br />Komplexe Regeln können durch vordefinierte Operatoren geschrieben werden: if "<i>readingTime &gt;= 5 AND domainName = "github.com"</i>" then tag as "<i>long reading, github </i>"' 119 how_to_use_them_description: 'Nehmen wir an, du möchtest deine Einträge als "<i>schnell lesbar</i>" taggen, wenn die Lesezeit kürzer als drei Minuten ist.<br />In diesem Fall solltest du "readingTime &lt;= 3" in das Feld <i>Regel</i> und "<i>schnell lesbar</i>" in das Feld <i>Tags</i> schreiben.<br />Mehrere Tags können gleichzeitig hinzugefügt werden, indem sie durch ein Komma getrennt werden: "<i>schnell lesbar, interessant</i>".<br />Komplexe Regeln können durch vordefinierte Operatoren geschrieben werden: if "<i>readingTime &gt;= 5 AND domainName = "github.com"</i>" dann tagge als "<i>länger lesen, github</i>".'
120 variables_available_title: 'Welche Variablen und Operatoren kann ich nutzen, um Regeln zu schreiben?' 120 variables_available_title: 'Welche Variablen und Operatoren kann ich benutzen, um Regeln zu schreiben?'
121 variables_available_description: 'Die folgenden Variablen und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen:' 121 variables_available_description: 'Die folgenden Variablen und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen:'
122 meaning: 'Bedeutung' 122 meaning: 'Bedeutung'
123 variable_description: 123 variable_description:
@@ -130,7 +130,7 @@ config:
130 language: "Sprache des Eintrags" 130 language: "Sprache des Eintrags"
131 mimetype: "MIME-Typ des Eintrags" 131 mimetype: "MIME-Typ des Eintrags"
132 readingTime: "Die geschätzte Lesezeit in Minuten" 132 readingTime: "Die geschätzte Lesezeit in Minuten"
133 domainName: 'Der Domain-Name des Eintrags' 133 domainName: 'Der Domainname des Eintrags'
134 operator_description: 134 operator_description:
135 label: 'Operator' 135 label: 'Operator'
136 less_than: 'Weniger oder gleich als…' 136 less_than: 'Weniger oder gleich als…'
@@ -141,7 +141,7 @@ config:
141 not_equal_to: 'ungleich' 141 not_equal_to: 'ungleich'
142 or: 'Eine Regel ODER die andere' 142 or: 'Eine Regel ODER die andere'
143 and: 'Eine Regel UND eine andere' 143 and: 'Eine Regel UND eine andere'
144 matches: 'Tests, ob eine <i>Variable</i> auf eine <i>Suche</i> zutrifft (Groß- und Kleinschreibung wird nicht berücksichtigt).<br />Beispiel: <code>title matches "Fußball"</code>' 144 matches: 'Testet, ob eine <i>Variable</i> auf eine <i>Suche</i> zutrifft (Groß- und Kleinschreibung wird nicht berücksichtigt).<br />Beispiel: <code>title matches "Fußball"</code>'
145 145
146entry: 146entry:
147 page_titles: 147 page_titles:
@@ -159,13 +159,13 @@ entry:
159 number_of_tags: '{1}und ein anderer Tag|]1,Inf[und %count% andere Tags' 159 number_of_tags: '{1}und ein anderer Tag|]1,Inf[und %count% andere Tags'
160 reading_time_minutes_short: '%readingTime% min' 160 reading_time_minutes_short: '%readingTime% min'
161 reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min' 161 reading_time_less_one_minute_short: '<small class="inferieur">&lt;</small> 1 min'
162 original_article: 'original' 162 original_article: 'Original'
163 toogle_as_read: 'Gelesen-Status ändern' 163 toogle_as_read: 'Gelesen-Status ändern'
164 toogle_as_star: 'Favoriten-Status ändern' 164 toogle_as_star: 'Favoriten-Status ändern'
165 delete: 'Löschen' 165 delete: 'Löschen'
166 export_title: 'Exportieren' 166 export_title: 'Exportieren'
167 filters: 167 filters:
168 title: 'Filters' 168 title: 'Filter'
169 status_label: 'Status' 169 status_label: 'Status'
170 archived_label: 'Archiviert' 170 archived_label: 'Archiviert'
171 starred_label: 'Favorisiert' 171 starred_label: 'Favorisiert'
@@ -177,14 +177,14 @@ entry:
177 label: 'Lesezeit in Minuten' 177 label: 'Lesezeit in Minuten'
178 from: 'von' 178 from: 'von'
179 to: 'bis' 179 to: 'bis'
180 domain_label: 'Domain-Name' 180 domain_label: 'Domainname'
181 created_at: 181 created_at:
182 label: 'Erstellungsdatum' 182 label: 'Erstellungsdatum'
183 from: 'von' 183 from: 'von'
184 to: 'bis' 184 to: 'bis'
185 action: 185 action:
186 clear: 'Zurücksetzen' 186 clear: 'Zurücksetzen'
187 filter: 'Filter' 187 filter: 'Filtern'
188 view: 188 view:
189 left_menu: 189 left_menu:
190 back_to_top: 'Nach oben' 190 back_to_top: 'Nach oben'
@@ -192,7 +192,7 @@ entry:
192 set_as_read: 'Als gelesen markieren' 192 set_as_read: 'Als gelesen markieren'
193 set_as_unread: 'Als ungelesen markieren' 193 set_as_unread: 'Als ungelesen markieren'
194 set_as_starred: 'Favorisieren' 194 set_as_starred: 'Favorisieren'
195 view_original_article: 'Original-Artikel' 195 view_original_article: 'Originalartikel'
196 re_fetch_content: 'Inhalt neu laden' 196 re_fetch_content: 'Inhalt neu laden'
197 delete: 'Löschen' 197 delete: 'Löschen'
198 add_a_tag: 'Tag hinzufügen' 198 add_a_tag: 'Tag hinzufügen'
@@ -221,7 +221,7 @@ entry:
221 is_public_label: 'Öffentlich' 221 is_public_label: 'Öffentlich'
222 save_label: 'Speichern' 222 save_label: 'Speichern'
223 public: 223 public:
224 # shared_by_wallabag: "This article has been shared by <a href='%wallabag_instance%'>wallabag</a>" 224 shared_by_wallabag: "Dieser Artikel wurde mittels <a href='%wallabag_instance%'>wallabag</a> geteilt"
225 225
226about: 226about:
227 page_title: 'Über' 227 page_title: 'Über'
@@ -230,7 +230,7 @@ about:
230 getting_help: 'Hilfe bekommen' 230 getting_help: 'Hilfe bekommen'
231 helping: 'wallabag unterstützen' 231 helping: 'wallabag unterstützen'
232 contributors: 'Unterstützer' 232 contributors: 'Unterstützer'
233 third_party: 'Third-party libraries' 233 third_party: 'Bibliotheken von Drittanbietern'
234 who_behind_wallabag: 234 who_behind_wallabag:
235 developped_by: 'Entwickelt von' 235 developped_by: 'Entwickelt von'
236 website: 'Webseite' 236 website: 'Webseite'
@@ -240,12 +240,12 @@ about:
240 version: 'Version' 240 version: 'Version'
241 getting_help: 241 getting_help:
242 documentation: 'Dokumentation' 242 documentation: 'Dokumentation'
243 bug_reports: 'Bugs' 243 bug_reports: 'Fehlerberichte'
244 support: '<a href="https://support.wallabag.org">Auf unserer Support-Webseite</a> oder <a href="https://github.com/wallabag/wallabag/issues">auf GitHub</a>' 244 support: '<a href="https://support.wallabag.org">Auf unserer Support-Webseite</a> oder <a href="https://github.com/wallabag/wallabag/issues">auf GitHub</a>'
245 helping: 245 helping:
246 description: 'wallabag ist kostenlos und Open-Source. Du kannst uns helfen:' 246 description: 'wallabag ist frei und Open Source. Du kannst uns helfen:'
247 by_contributing: 'indem du zu dem Projekt beiträgst:' 247 by_contributing: 'indem du zu dem Projekt beiträgst:'
248 by_contributing_2: 'ein Issue listet alle unsere Bedürfnisse:' 248 by_contributing_2: 'ein Ticket listet alle unsere Bedürfnisse:'
249 by_paypal: 'via PayPal' 249 by_paypal: 'via PayPal'
250 contributors: 250 contributors:
251 description: 'Ein Dankeschön an die Unterstützer von wallabag' 251 description: 'Ein Dankeschön an die Unterstützer von wallabag'
@@ -258,11 +258,11 @@ howto:
258 page_title: 'How-To' 258 page_title: 'How-To'
259 page_description: 'Es gibt mehrere Möglichkeiten, einen Artikel zu speichern:' 259 page_description: 'Es gibt mehrere Möglichkeiten, einen Artikel zu speichern:'
260 top_menu: 260 top_menu:
261 browser_addons: 'Browser-Addons' 261 browser_addons: 'Browser-Erweiterungen'
262 mobile_apps: 'Apps' 262 mobile_apps: 'Apps'
263 bookmarklet: 'Bookmarklet' 263 bookmarklet: 'Lesezeichen'
264 form: 264 form:
265 description: 'Danke an dieses Formular' 265 description: 'Dank dieses Formulars'
266 browser_addons: 266 browser_addons:
267 firefox: 'Firefox-Erweiterung' 267 firefox: 'Firefox-Erweiterung'
268 chrome: 'Chrome-Erweiterung' 268 chrome: 'Chrome-Erweiterung'
@@ -291,16 +291,16 @@ quickstart:
291 admin: 291 admin:
292 title: 'Administration' 292 title: 'Administration'
293 description: 'Als Adminstrator hast du einige Privilegien. Du kannst:' 293 description: 'Als Adminstrator hast du einige Privilegien. Du kannst:'
294 new_user: 'Einen neuen Nutzer anlegen' 294 new_user: 'Einen neuen Benutzer anlegen'
295 analytics: 'das Tracking konfigurieren' 295 analytics: 'das Tracking konfigurieren'
296 sharing: 'Einige Parameter für das Teilen von Artikel setzen' 296 sharing: 'Einige Parameter für das Teilen von Artikel setzen'
297 export: 'Export-Einstellungen ändern' 297 export: 'Export-Einstellungen ändern'
298 import: 'Import-Einstellungen ändern' 298 import: 'Import-Einstellungen ändern'
299 first_steps: 299 first_steps:
300 title: 'Erste Schritte' 300 title: 'Erste Schritte'
301 description: "Jetzt ist wallabag gut konfiguriert, es ist Zeit das Web zu archivieren. Du kannst auf das Plussymbol + oben rechts klicken, um einen Link hinzuzufügen" 301 description: "Jetzt ist wallabag gut konfiguriert, es ist Zeit, das Web zu archivieren. Du kannst auf das Plussymbol + oben rechts klicken, um einen Link hinzuzufügen"
302 new_article: 'Speichere deinen ersten Artikel' 302 new_article: 'Speichere deinen ersten Artikel'
303 unread_articles: 'Und klassifiziere ihn!' 303 unread_articles: 'Und kategorisiere ihn!'
304 migrate: 304 migrate:
305 title: 'Von einem anderen Dienst migrieren' 305 title: 'Von einem anderen Dienst migrieren'
306 description: "Du nutzt einen anderen Dienst? Wir helfen dir, um deine Daten zu wallabag zu transportieren." 306 description: "Du nutzt einen anderen Dienst? Wir helfen dir, um deine Daten zu wallabag zu transportieren."
@@ -333,7 +333,7 @@ tag:
333 page_title: 'Tags' 333 page_title: 'Tags'
334 list: 334 list:
335 number_on_the_page: '{0} Es gibt keine Tags.|{1} Es gibt einen Tag.|]1,Inf[ Es gibt %count% Tags.' 335 number_on_the_page: '{0} Es gibt keine Tags.|{1} Es gibt einen Tag.|]1,Inf[ Es gibt %count% Tags.'
336 see_untagged_entries: 'Siehe nicht getaggte Einträge' 336 see_untagged_entries: 'Zeige nicht getaggte Einträge'
337 337
338import: 338import:
339 page_title: 'Importieren' 339 page_title: 'Importieren'
@@ -350,14 +350,14 @@ import:
350 description: "Dieser Importer wird all deine Pocket-Daten importieren. Pocket erlaubt es uns nicht, den Inhalt zu migrieren, daher wird der lesbare Inhalt erneut von wallabag heruntergeladen." 350 description: "Dieser Importer wird all deine Pocket-Daten importieren. Pocket erlaubt es uns nicht, den Inhalt zu migrieren, daher wird der lesbare Inhalt erneut von wallabag heruntergeladen."
351 config_missing: 351 config_missing:
352 description: "Pocket-Import ist nicht konfiguriert." 352 description: "Pocket-Import ist nicht konfiguriert."
353 admin_message: 'Du musst noch den %keyurls%a pocket_consumer_key%keyurle% definieren.' 353 admin_message: 'Du musst noch den %keyurls%pocket_consumer_key%keyurle% eintragen.'
354 user_message: 'Der Server-Administrator muss noch einen API-Key für Pocket konfigurieren.' 354 user_message: 'Der Administrator des Servers muss noch einen API-Schlüssel für Pocket konfigurieren.'
355 authorize_message: 'Du kannst deine Daten von deinem Pocket-Account importieren. Dazu musst du nur den nachfolgenden Button klicken und die Anwendung authentifizieren, sich mit getpocket.com zu verbinden.' 355 authorize_message: 'Du kannst deine Daten von deinem Pocket-Konto importieren. Dazu musst du nur den nachfolgenden Button klicken und die Anwendung authentifizieren, sich mit getpocket.com zu verbinden zu dürfen.'
356 connect_to_pocket: 'Mit Pocket verbinden und Daten importieren' 356 connect_to_pocket: 'Mit Pocket verbinden und Daten importieren'
357 wallabag_v1: 357 wallabag_v1:
358 page_title: 'Aus wallabag v1 importieren' 358 page_title: 'Aus wallabag v1 importieren'
359 description: 'Dieser Import wird all deine Artikel aus wallabag v1 importieren. Klicke auf der Konfigurations-Seite auf "JSON-Export" im "wallabag-Daten exportieren"-Abschnitt. Du erhältst eine "wallabag-export-1-xxxx-xx-xx.json"-Datei.' 359 description: 'Dieser Import wird all deine Artikel aus wallabag v1 importieren. Klicke in der Konfigurationsseite auf "JSON-Export" im "wallabag-Daten exportieren"-Abschnitt. Du erhältst eine "wallabag-export-1-xxxx-xx-xx.json"-Datei.'
360 how_to: 'Wähle die Export-Datei aus und klicke den nachfolgenden Button, um diese hochzuladen und zu importieren.' 360 how_to: 'Wähle die exportierte Datei aus und klicke den nachfolgenden Button, um diese hochzuladen und zu importieren.'
361 wallabag_v2: 361 wallabag_v2:
362 page_title: 'Aus wallabag v2 importieren' 362 page_title: 'Aus wallabag v2 importieren'
363 description: 'Dieser Import wird all deine Artikel aus wallabag v2 importieren. Gehe auf "Alle Artikel" und dann, in der Exportieren-Seitenleiste auf "JSON". Dabei erhältst du eine "All articles.json"-Datei.' 363 description: 'Dieser Import wird all deine Artikel aus wallabag v2 importieren. Gehe auf "Alle Artikel" und dann, in der Exportieren-Seitenleiste auf "JSON". Dabei erhältst du eine "All articles.json"-Datei.'
@@ -369,11 +369,11 @@ import:
369 enabled: "Der Import erfolgt asynchron. Sobald der Import gestartet ist, wird diese Aufgabe extern abgearbeitet. Der aktuelle Service dafür ist:" 369 enabled: "Der Import erfolgt asynchron. Sobald der Import gestartet ist, wird diese Aufgabe extern abgearbeitet. Der aktuelle Service dafür ist:"
370 firefox: 370 firefox:
371 page_title: 'Aus Firefox importieren' 371 page_title: 'Aus Firefox importieren'
372 description: "Dieser Import wird all deine Firefox Lesezeichen importieren. Gehe zu deinen Lesezeichen (Strg+Shift+O), dann auf \"Importen und Sichern\", wähle \"Sichern…\". Du erhälst eine .json Datei." 372 description: "Dieser Import wird all deine Lesezeichen aus Firefox importieren. Gehe zu deinen Lesezeichen (Strg+Shift+O), dann auf \"Importen und Sichern\", wähle \"Sichern…\". Du erhälst eine .json Datei."
373 how_to: "Bitte wähle deine Lesezeichensicherungsdatei aus und klicke den nachfolgenden Button zum Importieren. Beachte, dass dieser Prozess eine lange Zeit in Anspruch nehmen kann, da alle Artikel geladen werden müssen." 373 how_to: "Bitte wähle deine Lesezeichensicherungsdatei aus und klicke den nachfolgenden Button zum Importieren. Beachte, dass dieser Prozess eine lange Zeit in Anspruch nehmen kann, da alle Artikel geladen werden müssen."
374 chrome: 374 chrome:
375 page_title: 'Aus Chrome importieren' 375 page_title: 'Aus Chrome importieren'
376 description: "Dieser Import wird all deine Chrome Lesezeichen importieren. Der Pfad zu der Datei hängt von deinem Betriebssystem ab: <ul><li>In Linux gehst du zu dem <code>~/.config/chromium/Default/</code> Verzeichnis</li><li>In Windows sollte es unter <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code> sein</li><li>In OS X sollte es unter <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code> sein</li></ul>Wenn du dort angekommen bist, kopiere die Lesezeichendatei zu einem Ort, den du später wiederfindest.<em><br>Beachte falls du Chromium statt Chrome hast, dass du den zuvor genannten Pfad entsprechend anpasst.</em></p>" 376 description: "Dieser Import wird all deine Lesezeichen aus Chrome importieren. Der Pfad zu der Datei hängt von deinem Betriebssystem ab: <ul><li>In Linux gehst du zu dem <code>~/.config/chromium/Default/</code> Verzeichnis</li><li>In Windows sollte es unter <code>%LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default</code> sein</li><li>In OS X sollte es unter <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code> sein</li></ul>Wenn du dort angekommen bist, kopiere die Lesezeichendatei <code>Bookmarks</code> zu einem Ort, den du später wiederfindest.<em><br>Beachte falls du Chromium statt Chrome hast, dass du den zuvor genannten Pfad entsprechend anpasst.</em></p>"
377 how_to: "Bitte wähle deine Lesezeichensicherungsdatei aus und klicke den nachfolgenden Button zum Importieren. Beachte, dass dieser Prozess eine lange Zeit in Anspruch nehmen kann, da alle Artikel geladen werden müssen." 377 how_to: "Bitte wähle deine Lesezeichensicherungsdatei aus und klicke den nachfolgenden Button zum Importieren. Beachte, dass dieser Prozess eine lange Zeit in Anspruch nehmen kann, da alle Artikel geladen werden müssen."
378 instapaper: 378 instapaper:
379 page_title: 'Aus Instapaper importieren' 379 page_title: 'Aus Instapaper importieren'
@@ -382,7 +382,7 @@ import:
382 382
383developer: 383developer:
384 page_title: 'Entwickler' 384 page_title: 'Entwickler'
385 welcome_message: 'Willkomen zur wallabag-API' 385 welcome_message: 'Willkomen zur wallabag API'
386 documentation: 'Dokumentation' 386 documentation: 'Dokumentation'
387 how_to_first_app: 'Wie erstelle ich meine erste Anwendung' 387 how_to_first_app: 'Wie erstelle ich meine erste Anwendung'
388 full_documentation: 'Komplette API-Dokumentation einsehen' 388 full_documentation: 'Komplette API-Dokumentation einsehen'
@@ -399,7 +399,7 @@ developer:
399 no_client: 'Bisher kein Client.' 399 no_client: 'Bisher kein Client.'
400 remove: 400 remove:
401 warn_message_1: 'Du hast die Möglichkeit, diesen Client zu entfernen. DIESE AKTION IST NICHT WIDERRUFBAR!' 401 warn_message_1: 'Du hast die Möglichkeit, diesen Client zu entfernen. DIESE AKTION IST NICHT WIDERRUFBAR!'
402 warn_message_2: "Wenn du ihn entfernst, hat keine der damit konfigurierten Anwendungen mehr die Möglichkeit, sich in deinen wallabag-Account anzumelden." 402 warn_message_2: "Wenn du ihn entfernst, hat keine der damit konfigurierten Anwendungen mehr die Möglichkeit, sich in deinen wallabag-Konto anzumelden."
403 action: 'Client entfernen' 403 action: 'Client entfernen'
404 client: 404 client:
405 page_title: 'Entwickler > Neuer Client' 405 page_title: 'Entwickler > Neuer Client'
@@ -457,12 +457,15 @@ user:
457 delete_confirm: Bist du sicher? 457 delete_confirm: Bist du sicher?
458 back_to_list: Zurück zur Liste 458 back_to_list: Zurück zur Liste
459 459
460error:
461 # page_title: An error occurred
462
460flashes: 463flashes:
461 config: 464 config:
462 notice: 465 notice:
463 config_saved: 'Konfiguration gespeichert. Einige Einstellungen werden erst nach einer erneuten Anmeldung übernommen.' 466 config_saved: 'Konfiguration gespeichert. Einige Einstellungen werden erst nach einer erneuten Anmeldung übernommen.'
464 password_updated: 'Kennwort aktualisiert' 467 password_updated: 'Kennwort aktualisiert'
465 password_not_updated_demo: "Im Test-Modus kannst du das Kennwort nicht ändern." 468 password_not_updated_demo: "Im Testmodus kannst du das Kennwort nicht ändern."
466 user_updated: 'Information aktualisiert' 469 user_updated: 'Information aktualisiert'
467 rss_updated: 'RSS-Informationen aktualisiert' 470 rss_updated: 'RSS-Informationen aktualisiert'
468 tagging_rules_updated: 'Tagging-Regeln aktualisiert' 471 tagging_rules_updated: 'Tagging-Regeln aktualisiert'
@@ -480,11 +483,11 @@ flashes:
480 entry_updated: 'Eintrag aktualisiert' 483 entry_updated: 'Eintrag aktualisiert'
481 entry_reloaded: 'Eintrag neugeladen' 484 entry_reloaded: 'Eintrag neugeladen'
482 entry_reloaded_failed: 'Eintrag neugeladen, aber das Abrufen des Inhalts ist fehlgeschlagen' 485 entry_reloaded_failed: 'Eintrag neugeladen, aber das Abrufen des Inhalts ist fehlgeschlagen'
483 entry_archived: 'Artikel archiviert' 486 entry_archived: 'Eintrag archiviert'
484 entry_unarchived: 'Artikel dearchiviert' 487 entry_unarchived: 'Eintrag dearchiviert'
485 entry_starred: 'Artikel favorisiert' 488 entry_starred: 'Eintrag favorisiert'
486 entry_unstarred: 'Artikel defavorisiert' 489 entry_unstarred: 'Eintrag defavorisiert'
487 entry_deleted: 'Artikel gelöscht' 490 entry_deleted: 'Eintrag gelöscht'
488 tag: 491 tag:
489 notice: 492 notice:
490 tag_added: 'Tag hinzugefügt' 493 tag_added: 'Tag hinzugefügt'
@@ -492,8 +495,8 @@ flashes:
492 notice: 495 notice:
493 failed: 'Import fehlgeschlagen, bitte erneut probieren.' 496 failed: 'Import fehlgeschlagen, bitte erneut probieren.'
494 failed_on_file: 'Fehler während des Imports. Bitte überprüfe deine Import-Datei.' 497 failed_on_file: 'Fehler während des Imports. Bitte überprüfe deine Import-Datei.'
495 summary: 'Import-Zusammenfassung: %imported% importiert, %skipped% bereits gespeichert.' 498 summary: 'Importzusammenfassung: %imported% importiert, %skipped% bereits gespeichert.'
496 summary_with_queue: 'Import-Zusammenfassung: %queued% eingereiht.' 499 summary_with_queue: 'Importzusammenfassung: %queued% eingereiht.'
497 error: 500 error:
498 redis_enabled_not_installed: 'Redis ist aktiviert, um den asynchronen Import zu bewerkstelligen, aber es sieht so aus, dass <u>wir keine Verbindung herstellen können</u>. Bitte prüfe deine Redis-Konfiguration.' 501 redis_enabled_not_installed: 'Redis ist aktiviert, um den asynchronen Import zu bewerkstelligen, aber es sieht so aus, dass <u>wir keine Verbindung herstellen können</u>. Bitte prüfe deine Redis-Konfiguration.'
499 rabbit_enabled_not_installed: 'RabbitMQ ist aktiviert, um den asynchronen Import zu bewerkstelligen, aber es sieht so aus, dass <u>wir keine Verbindung herstellen können</u>. Bitte prüfe deine RabbitMQ-Konfiguration.' 502 rabbit_enabled_not_installed: 'RabbitMQ ist aktiviert, um den asynchronen Import zu bewerkstelligen, aber es sieht so aus, dass <u>wir keine Verbindung herstellen können</u>. Bitte prüfe deine RabbitMQ-Konfiguration.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
index 35dde535..462be556 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
@@ -373,7 +373,7 @@ import:
373 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." 373 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."
374 chrome: 374 chrome:
375 page_title: 'Import > Chrome' 375 page_title: 'Import > Chrome'
376 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>" 376 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 <code>Bookmarks</code> 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>"
377 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." 377 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."
378 instapaper: 378 instapaper:
379 page_title: 'Import > Instapaper' 379 page_title: 'Import > Instapaper'
@@ -457,6 +457,9 @@ user:
457 delete_confirm: Are you sure? 457 delete_confirm: Are you sure?
458 back_to_list: Back to list 458 back_to_list: Back to list
459 459
460error:
461 page_title: An error occurred
462
460flashes: 463flashes:
461 config: 464 config:
462 notice: 465 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
index 13f2e977..cfabe09f 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
@@ -457,6 +457,9 @@ user:
457 # delete_confirm: Are you sure? 457 # delete_confirm: Are you sure?
458 # back_to_list: Back to list 458 # back_to_list: Back to list
459 459
460error:
461 # page_title: An error occurred
462
460flashes: 463flashes:
461 config: 464 config:
462 notice: 465 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
index 5ee1f62d..07b5bee7 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
@@ -456,6 +456,9 @@ user:
456 # delete_confirm: Are you sure? 456 # delete_confirm: Are you sure?
457 # back_to_list: Back to list 457 # back_to_list: Back to list
458 458
459error:
460 # page_title: An error occurred
461
459flashes: 462flashes:
460 config: 463 config:
461 notice: 464 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
index 14bdbbc7..db6f9f7e 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
@@ -377,7 +377,7 @@ import:
377 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." 377 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."
378 instapaper: 378 instapaper:
379 page_title: 'Import > Instapaper' 379 page_title: 'Import > Instapaper'
380 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").' 380 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").'
381 how_to: "Choisissez le fichier de votre export Instapaper et cliquez sur le bouton ci-dessous pour l'importer." 381 how_to: "Choisissez le fichier de votre export Instapaper et cliquez sur le bouton ci-dessous pour l'importer."
382 382
383developer: 383developer:
@@ -457,6 +457,9 @@ user:
457 delete_confirm: Êtes-vous sûr? 457 delete_confirm: Êtes-vous sûr?
458 back_to_list: Revenir à la liste 458 back_to_list: Revenir à la liste
459 459
460error:
461 page_title: Une erreur est survenue
462
460flashes: 463flashes:
461 config: 464 config:
462 notice: 465 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
index bc4448bd..f1aff51a 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
@@ -457,6 +457,9 @@ user:
457 # delete_confirm: Are you sure? 457 # delete_confirm: Are you sure?
458 # back_to_list: Back to list 458 # back_to_list: Back to list
459 459
460error:
461 # page_title: An error occurred
462
460flashes: 463flashes:
461 config: 464 config:
462 notice: 465 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
index 7d1a801a..e0567d7e 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
@@ -457,6 +457,9 @@ user:
457 delete_confirm: 'Sètz segur ?' 457 delete_confirm: 'Sètz segur ?'
458 back_to_list: 'Tornar a la lista' 458 back_to_list: 'Tornar a la lista'
459 459
460error:
461 # page_title: An error occurred
462
460flashes: 463flashes:
461 config: 464 config:
462 notice: 465 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
index b05a9dfd..8eef998b 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
@@ -457,6 +457,9 @@ user:
457 delete_confirm: Jesteś pewien? 457 delete_confirm: Jesteś pewien?
458 back_to_list: Powrót do listy 458 back_to_list: Powrót do listy
459 459
460error:
461 # page_title: An error occurred
462
460flashes: 463flashes:
461 config: 464 config:
462 notice: 465 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
index 571452c0..6e4813e5 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
@@ -457,6 +457,9 @@ user:
457 # delete_confirm: Are you sure? 457 # delete_confirm: Are you sure?
458 # back_to_list: Back to list 458 # back_to_list: Back to list
459 459
460error:
461 # page_title: An error occurred
462
460flashes: 463flashes:
461 config: 464 config:
462 notice: 465 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
index 8e429653..76903102 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
@@ -456,6 +456,9 @@ user:
456 # delete_confirm: Are you sure? 456 # delete_confirm: Are you sure?
457 # back_to_list: Back to list 457 # back_to_list: Back to list
458 458
459error:
460 # page_title: An error occurred
461
459flashes: 462flashes:
460 config: 463 config:
461 notice: 464 notice:
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
index 30fd0d85..a046f7cf 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
@@ -23,12 +23,12 @@
23{% block menu %} 23{% block menu %}
24 <button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button> 24 <button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button>
25 <ul id="links" class="links"> 25 <ul id="links" class="links">
26 <li><a href="{{ path('unread') }}">{{ 'menu.left.unread'|trans }}</a></li> 26 <li class="menu unread"><a href="{{ path('unread') }}">{{ 'menu.left.unread'|trans }}</a></li>
27 <li><a href="{{ path('starred') }}">{{ 'menu.left.starred'|trans }}</a></li> 27 <li class="menu starred"><a href="{{ path('starred') }}">{{ 'menu.left.starred'|trans }}</a></li>
28 <li><a href="{{ path('archive') }}">{{ 'menu.left.archive'|trans }}</a></li> 28 <li class="menu archive"><a href="{{ path('archive') }}">{{ 'menu.left.archive'|trans }}</a></li>
29 <li><a href="{{ path('all') }}">{{ 'menu.left.all_articles'|trans }}</a></li> 29 <li class="menu all"><a href="{{ path('all') }}">{{ 'menu.left.all_articles'|trans }}</a></li>
30 <li><a href="{{ path('tag') }}">{{ 'menu.left.tags'|trans }}</a></li> 30 <li class="menu tag"><a href="{{ path('tag') }}">{{ 'menu.left.tags'|trans }}</a></li>
31 <li><a href="{{ path('new') }}">{{ 'menu.left.save_link'|trans }}</a></li> 31 <li class="menu new"><a href="{{ path('new') }}">{{ 'menu.left.save_link'|trans }}</a></li>
32 <!--<li style="position: relative;"><a href="javascript: void(null);" id="search">{{ 'menu.left.search'|trans }}</a> 32 <!--<li style="position: relative;"><a href="javascript: void(null);" id="search">{{ 'menu.left.search'|trans }}</a>
33 <div id="search-form" class="messages info popup-form"> 33 <div id="search-form" class="messages info popup-form">
34 <form method="get" action="index.php"> 34 <form method="get" action="index.php">
@@ -40,16 +40,16 @@
40 </form> 40 </form>
41 </div> 41 </div>
42 </li>--> 42 </li>-->
43 <li><a href="{{ path('config') }}">{{ 'menu.left.config'|trans }}</a></li> 43 <li class="menu config"><a href="{{ path('config') }}">{{ 'menu.left.config'|trans }}</a></li>
44 {% if is_granted('ROLE_SUPER_ADMIN') %} 44 {% if is_granted('ROLE_SUPER_ADMIN') %}
45 <li><a href="{{ path('user_index') }}">{{ 'menu.left.users_management'|trans }}</a></li> 45 <li class="menu users"><a href="{{ path('user_index') }}">{{ 'menu.left.users_management'|trans }}</a></li>
46 <li><a href="{{ path('craue_config_settings_modify') }}">{{ 'menu.left.internal_settings'|trans }}</a></li> 46 <li class="menu internal"><a href="{{ path('craue_config_settings_modify') }}">{{ 'menu.left.internal_settings'|trans }}</a></li>
47 {% endif %} 47 {% endif %}
48 <li><a href="{{ path('import') }}">{{ 'menu.left.import'|trans }}</a></li> 48 <li class="menu import"><a href="{{ path('import') }}">{{ 'menu.left.import'|trans }}</a></li>
49 <li><a href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a></li> 49 <li class="menu howto"><a href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a></li>
50 <li><a href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a></li> 50 <li class="menu developer"><a href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a></li>
51 <li><a href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans }}</a></li> 51 <li class="menu about"><a href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans }}</a></li>
52 <li><a class="icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a></li> 52 <li class="menu logout"><a class="icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a></li>
53 </ul> 53 </ul>
54{% endblock %} 54{% endblock %}
55 55
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig
index 804adb36..f77264c6 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig
@@ -39,7 +39,7 @@
39 <meta name="twitter:image" content="{{ picturePath }}" /> 39 <meta name="twitter:image" content="{{ picturePath }}" />
40 <meta name="twitter:site" content="@wallabagapp" /> 40 <meta name="twitter:site" content="@wallabagapp" />
41 <meta name="twitter:title" content="{{ entry.title | raw }}" /> 41 <meta name="twitter:title" content="{{ entry.title | raw }}" />
42 <meta name="twitter:description" content="{{ entry.title | raw }}" /> 42 <meta name="twitter:description" content="{{ entry.content|striptags|slice(0, 300)|raw }}&hellip;" />
43 </head> 43 </head>
44 <body> 44 <body>
45 <header> 45 <header>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/about.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/about.html.twig
index d0b94279..db193e81 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/about.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/about.html.twig
@@ -11,11 +11,11 @@
11 <div class="row"> 11 <div class="row">
12 <div class="div_tabs col s12"> 12 <div class="div_tabs col s12">
13 <ul class="tabs"> 13 <ul class="tabs">
14 <li class="tab col s3"><a class="active" href="#set1">{{ 'about.top_menu.who_behind_wallabag'|trans }}</a></li> 14 <li class="tab col s12 m6 l3"><a class="active" href="#set1">{{ 'about.top_menu.who_behind_wallabag'|trans }}</a></li>
15 <li class="tab col s3"><a href="#set2">{{ 'about.top_menu.getting_help'|trans }}</a></li> 15 <li class="tab col s12 m6 l3"><a href="#set2">{{ 'about.top_menu.getting_help'|trans }}</a></li>
16 <li class="tab col s3"><a href="#set3">{{ 'about.top_menu.helping'|trans }}</a></li> 16 <li class="tab col s12 m6 l3"><a href="#set3">{{ 'about.top_menu.helping'|trans }}</a></li>
17 <li class="tab col s3"><a href="#set4">{{ 'about.top_menu.contributors'|trans }}</a></li> 17 <li class="tab col s12 m6 l3"><a href="#set4">{{ 'about.top_menu.contributors'|trans }}</a></li>
18 <li class="tab col s3"><a href="#set5">{{ 'about.top_menu.third_party'|trans }}</a></li> 18 <li class="tab col s12 m6 l3"><a href="#set5">{{ 'about.top_menu.third_party'|trans }}</a></li>
19 </ul> 19 </ul>
20 </div> 20 </div>
21 21
@@ -36,6 +36,7 @@
36 <dt>{{ 'about.getting_help.documentation'|trans }}</dt> 36 <dt>{{ 'about.getting_help.documentation'|trans }}</dt>
37 <dd><a href="http://doc.wallabag.org/en/master/">english</a></dd> 37 <dd><a href="http://doc.wallabag.org/en/master/">english</a></dd>
38 <dd><a href="http://doc.wallabag.org/fr/master/">français</a></dd> 38 <dd><a href="http://doc.wallabag.org/fr/master/">français</a></dd>
39 <dd><a href="http://doc.wallabag.org/de/master/">deutsch</a></dd>
39 40
40 <dt>{{ 'about.getting_help.bug_reports'|trans }}</dt> 41 <dt>{{ 'about.getting_help.bug_reports'|trans }}</dt>
41 <dd>{{ 'about.getting_help.support'|trans|raw }}</dd> 42 <dd>{{ 'about.getting_help.support'|trans|raw }}</dd>
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 79826e0f..b53ae2fe 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
@@ -11,11 +11,11 @@
11 <div class="row"> 11 <div class="row">
12 <div class="div_tabs col s12"> 12 <div class="div_tabs col s12">
13 <ul class="tabs"> 13 <ul class="tabs">
14 <li class="tab col s3"><a class="active" href="#set1">{{ 'config.tab_menu.settings'|trans }}</a></li> 14 <li class="tab col s12 m6 l3"><a class="active" href="#set1">{{ 'config.tab_menu.settings'|trans }}</a></li>
15 <li class="tab col s3"><a href="#set2">{{ 'config.tab_menu.rss'|trans }}</a></li> 15 <li class="tab col s12 m6 l3"><a href="#set2">{{ 'config.tab_menu.rss'|trans }}</a></li>
16 <li class="tab col s3"><a href="#set3">{{ 'config.tab_menu.user_info'|trans }}</a></li> 16 <li class="tab col s12 m6 l3"><a href="#set3">{{ 'config.tab_menu.user_info'|trans }}</a></li>
17 <li class="tab col s3"><a href="#set4">{{ 'config.tab_menu.password'|trans }}</a></li> 17 <li class="tab col s12 m6 l3"><a href="#set4">{{ 'config.tab_menu.password'|trans }}</a></li>
18 <li class="tab col s3"><a href="#set5">{{ 'config.tab_menu.rules'|trans }}</a></li> 18 <li class="tab col s12 m6 l3"><a href="#set5">{{ 'config.tab_menu.rules'|trans }}</a></li>
19 </ul> 19 </ul>
20 </div> 20 </div>
21 21
diff --git a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
index 783cde3e..a305c53f 100644
--- a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
+++ b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php
@@ -138,8 +138,11 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
138 $interval = $user->getCreatedAt()->diff(new \DateTime('now')); 138 $interval = $user->getCreatedAt()->diff(new \DateTime('now'));
139 $nbDays = (int) $interval->format('%a') ?: 1; 139 $nbDays = (int) $interval->format('%a') ?: 1;
140 140
141 // force setlocale for date translation
142 setlocale(LC_TIME, strtolower($user->getConfig()->getLanguage()).'_'.strtoupper(strtolower($user->getConfig()->getLanguage())));
143
141 return $this->translator->trans('footer.stats', [ 144 return $this->translator->trans('footer.stats', [
142 '%user_creation%' => $user->getCreatedAt()->format('F jS, Y'), 145 '%user_creation%' => strftime('%e %B %Y', $user->getCreatedAt()->getTimestamp()),
143 '%nb_archives%' => $nbArchives, 146 '%nb_archives%' => $nbArchives,
144 '%per_day%' => round($nbArchives / $nbDays, 2), 147 '%per_day%' => round($nbArchives / $nbDays, 2),
145 ]); 148 ]);
diff --git a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php
index 2b85ad76..b893ea29 100644
--- a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php
+++ b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php
@@ -50,9 +50,10 @@ abstract class AbstractConsumer
50 $entry = $this->import->parseEntry($storedEntry); 50 $entry = $this->import->parseEntry($storedEntry);
51 51
52 if (null === $entry) { 52 if (null === $entry) {
53 $this->logger->warning('Unable to parse entry', ['entry' => $storedEntry]); 53 $this->logger->warning('Entry already exists', ['entry' => $storedEntry]);
54 54
55 return false; 55 // return true to skip message
56 return true;
56 } 57 }
57 58
58 try { 59 try {
diff --git a/src/Wallabag/ImportBundle/Import/BrowserImport.php b/src/Wallabag/ImportBundle/Import/BrowserImport.php
index 9d75685b..2ca1683b 100644
--- a/src/Wallabag/ImportBundle/Import/BrowserImport.php
+++ b/src/Wallabag/ImportBundle/Import/BrowserImport.php
@@ -139,12 +139,24 @@ abstract class BrowserImport extends AbstractImport
139 public function parseEntry(array $importedEntry) 139 public function parseEntry(array $importedEntry)
140 { 140 {
141 if ((!array_key_exists('guid', $importedEntry) || (!array_key_exists('id', $importedEntry))) && is_array(reset($importedEntry))) { 141 if ((!array_key_exists('guid', $importedEntry) || (!array_key_exists('id', $importedEntry))) && is_array(reset($importedEntry))) {
142 if ($this->producer) {
143 $this->parseEntriesForProducer($importedEntry);
144
145 return;
146 }
147
142 $this->parseEntries($importedEntry); 148 $this->parseEntries($importedEntry);
143 149
144 return; 150 return;
145 } 151 }
146 152
147 if (array_key_exists('children', $importedEntry)) { 153 if (array_key_exists('children', $importedEntry)) {
154 if ($this->producer) {
155 $this->parseEntriesForProducer($importedEntry['children']);
156
157 return;
158 }
159
148 $this->parseEntries($importedEntry['children']); 160 $this->parseEntries($importedEntry['children']);
149 161
150 return; 162 return;
diff --git a/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig b/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig
index 938f1a31..fc0d97e7 100644
--- a/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig
+++ b/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig
@@ -5,11 +5,11 @@
5 <div class="card-content"> 5 <div class="card-content">
6 6
7 {% if error %} 7 {% if error %}
8 <span class="black-text">{{ error.message }}</span> 8 <script>Materialize.toast('{{ error.message }}', 4000)</script>
9 {% endif %} 9 {% endif %}
10 10
11 {% for flashMessage in app.session.flashbag.get('notice') %} 11 {% for flashMessage in app.session.flashbag.get('notice') %}
12 <span class="black-text"><p>{{ flashMessage }}</p></span> 12 <script>Materialize.toast('{{ flashMessage }}')</script>
13 {% endfor %} 13 {% endfor %}
14 14
15 <div class="row"> 15 <div class="row">
@@ -41,7 +41,7 @@
41 <i class="material-icons right">send</i> 41 <i class="material-icons right">send</i>
42 </button> 42 </button>
43 </div> 43 </div>
44 <div class="row center"> 44 <div class="card-action center">
45 <a href="{{ path('fos_user_resetting_request') }}">{{ 'security.login.forgot_password'|trans }}</a> 45 <a href="{{ path('fos_user_resetting_request') }}">{{ 'security.login.forgot_password'|trans }}</a>
46 </div> 46 </div>
47</form> 47</form>