aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/CoreBundle/Resources
diff options
context:
space:
mode:
Diffstat (limited to 'src/Wallabag/CoreBundle/Resources')
-rw-r--r--src/Wallabag/CoreBundle/Resources/config/services.yml52
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.da.yml85
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.de.yml91
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.en.yml97
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.es.yml207
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml85
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml98
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.it.yml85
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml89
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml87
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml373
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml89
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml130
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.th.yml87
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml113
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.da.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.de.yml3
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.en.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.es.yml8
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.fa.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.fr.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.it.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.oc.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.pl.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.pt.yml4
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.ro.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/translations/validators.tr.yml2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/base.html.twig13
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig182
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig55
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig29
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig12
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig24
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig1
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig28
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig4
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig15
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_feed_link.html.twig11
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_rss_link.html.twig11
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/entries.xml.twig83
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig3
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/common/Static/quickstart.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig261
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig63
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/Card/_content.html.twig5
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_actions.html.twig12
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_reading_time.html.twig2
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig24
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig18
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/new_form.html.twig4
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/search_form.html.twig4
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/Tag/tags.html.twig23
-rw-r--r--src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig14
54 files changed, 1904 insertions, 802 deletions
diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml
index 85306276..3f3d4de7 100644
--- a/src/Wallabag/CoreBundle/Resources/config/services.yml
+++ b/src/Wallabag/CoreBundle/Resources/config/services.yml
@@ -22,10 +22,10 @@ services:
22 tags: 22 tags:
23 - { name: form.type } 23 - { name: form.type }
24 24
25 wallabag_core.param_converter.username_rsstoken_converter: 25 wallabag_core.param_converter.username_feed_token_converter:
26 class: Wallabag\CoreBundle\ParamConverter\UsernameRssTokenConverter 26 class: Wallabag\CoreBundle\ParamConverter\UsernameFeedTokenConverter
27 tags: 27 tags:
28 - { name: request.param_converter, converter: username_rsstoken_converter } 28 - { name: request.param_converter, converter: username_feed_token_converter }
29 arguments: 29 arguments:
30 - "@doctrine" 30 - "@doctrine"
31 31
@@ -42,7 +42,7 @@ services:
42 - 42 -
43 error_message: '%wallabag_core.fetching_error_message%' 43 error_message: '%wallabag_core.fetching_error_message%'
44 error_message_title: '%wallabag_core.fetching_error_message_title%' 44 error_message_title: '%wallabag_core.fetching_error_message_title%'
45 - "@wallabag_core.guzzle.http_client" 45 - "@wallabag_core.http_client"
46 - "@wallabag_core.graby.config_builder" 46 - "@wallabag_core.graby.config_builder"
47 calls: 47 calls:
48 - [ setLogger, [ "@logger" ] ] 48 - [ setLogger, [ "@logger" ] ]
@@ -55,9 +55,8 @@ services:
55 - {} 55 - {}
56 - "@logger" 56 - "@logger"
57 57
58 wallabag_core.guzzle.http_client: 58 wallabag_core.http_client:
59 class: GuzzleHttp\ClientInterface 59 alias: 'httplug.client.wallabag_core'
60 factory: ["@wallabag_core.guzzle.http_client_factory", buildHttpClient]
61 60
62 wallabag_core.guzzle_authenticator.config_builder: 61 wallabag_core.guzzle_authenticator.config_builder:
63 class: Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder 62 class: Wallabag\CoreBundle\GuzzleSiteAuthenticator\GrabySiteConfigBuilder
@@ -73,7 +72,7 @@ services:
73 bd_guzzle_site_authenticator.site_config_builder: 72 bd_guzzle_site_authenticator.site_config_builder:
74 alias: wallabag_core.guzzle_authenticator.config_builder 73 alias: wallabag_core.guzzle_authenticator.config_builder
75 74
76 wallabag_core.guzzle.http_client_factory: 75 wallabag_core.http_client_factory:
77 class: Wallabag\CoreBundle\Helper\HttpClientFactory 76 class: Wallabag\CoreBundle\Helper\HttpClientFactory
78 arguments: 77 arguments:
79 - "@wallabag_core.guzzle.cookie_jar" 78 - "@wallabag_core.guzzle.cookie_jar"
@@ -83,8 +82,10 @@ services:
83 - ["addSubscriber", ["@bd_guzzle_site_authenticator.authenticator_subscriber"]] 82 - ["addSubscriber", ["@bd_guzzle_site_authenticator.authenticator_subscriber"]]
84 83
85 wallabag_core.guzzle.cookie_jar: 84 wallabag_core.guzzle.cookie_jar:
86 class: GuzzleHttp\Cookie\FileCookieJar 85 class: Wallabag\CoreBundle\Helper\FileCookieJar
87 arguments: ["%kernel.cache_dir%/cookiejar.json"] 86 arguments:
87 - "@logger"
88 - "%kernel.cache_dir%/cookiejar.json"
88 89
89 wallabag_core.content_proxy: 90 wallabag_core.content_proxy:
90 class: Wallabag\CoreBundle\Helper\ContentProxy 91 class: Wallabag\CoreBundle\Helper\ContentProxy
@@ -181,6 +182,7 @@ services:
181 182
182 wallabag_core.exception_controller: 183 wallabag_core.exception_controller:
183 class: Wallabag\CoreBundle\Controller\ExceptionController 184 class: Wallabag\CoreBundle\Controller\ExceptionController
185 public: true
184 arguments: 186 arguments:
185 - '@twig' 187 - '@twig'
186 - '%kernel.debug%' 188 - '%kernel.debug%'
@@ -211,10 +213,38 @@ services:
211 - "@logger" 213 - "@logger"
212 214
213 wallabag_core.entry.download_images.client: 215 wallabag_core.entry.download_images.client:
214 class: GuzzleHttp\Client 216 alias: 'httplug.client.wallabag_core.entry.download_images'
215 217
216 wallabag_core.helper.crypto_proxy: 218 wallabag_core.helper.crypto_proxy:
217 class: Wallabag\CoreBundle\Helper\CryptoProxy 219 class: Wallabag\CoreBundle\Helper\CryptoProxy
218 arguments: 220 arguments:
219 - "%wallabag_core.site_credentials.encryption_key_path%" 221 - "%wallabag_core.site_credentials.encryption_key_path%"
220 - "@logger" 222 - "@logger"
223
224 wallabag_core.command.clean_duplicates:
225 class: Wallabag\CoreBundle\Command\CleanDuplicatesCommand
226 tags: ['console.command']
227
228 wallabag_core.command.export:
229 class: Wallabag\CoreBundle\Command\ExportCommand
230 tags: ['console.command']
231
232 wallabag_core.command.install:
233 class: Wallabag\CoreBundle\Command\InstallCommand
234 tags: ['console.command']
235
236 wallabag_core.command.list_user:
237 class: Wallabag\CoreBundle\Command\ListUserCommand
238 tags: ['console.command']
239
240 wallabag_core.command.reload_entry:
241 class: Wallabag\CoreBundle\Command\ReloadEntryCommand
242 tags: ['console.command']
243
244 wallabag_core.command.show_user:
245 class: Wallabag\CoreBundle\Command\ShowUserCommand
246 tags: ['console.command']
247
248 wallabag_core.command.tag_all:
249 class: Wallabag\CoreBundle\Command\TagAllCommand
250 tags: ['console.command']
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
index e3ff21f1..47de066f 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
@@ -33,10 +33,12 @@ menu:
33 back_to_unread: 'Tilbage til de ulæste artikler' 33 back_to_unread: 'Tilbage til de ulæste artikler'
34 # users_management: 'Users management' 34 # users_management: 'Users management'
35 # site_credentials: 'Site credentials' 35 # site_credentials: 'Site credentials'
36 # quickstart: "Quickstart"
36 top: 37 top:
37 add_new_entry: 'Tilføj ny artikel' 38 add_new_entry: 'Tilføj ny artikel'
38 search: 'Søg' 39 search: 'Søg'
39 filter_entries: 'Filtrer artikler' 40 filter_entries: 'Filtrer artikler'
41 # random_entry: Jump to a random entry from that list
40 # export: 'Export' 42 # export: 'Export'
41 search_form: 43 search_form:
42 input_label: 'Indtast søgning' 44 input_label: 'Indtast søgning'
@@ -53,11 +55,12 @@ config:
53 page_title: 'Opsætning' 55 page_title: 'Opsætning'
54 tab_menu: 56 tab_menu:
55 settings: 'Indstillinger' 57 settings: 'Indstillinger'
56 rss: 'RSS' 58 feed: 'RSS'
57 user_info: 'Brugeroplysninger' 59 user_info: 'Brugeroplysninger'
58 password: 'Adgangskode' 60 password: 'Adgangskode'
59 # rules: 'Tagging rules' 61 # rules: 'Tagging rules'
60 new_user: 'Tilføj bruger' 62 new_user: 'Tilføj bruger'
63 # reset: 'Reset area'
61 form: 64 form:
62 save: 'Gem' 65 save: 'Gem'
63 form_settings: 66 form_settings:
@@ -65,12 +68,8 @@ config:
65 items_per_page_label: 'Poster pr. side' 68 items_per_page_label: 'Poster pr. side'
66 language_label: 'Sprog' 69 language_label: 'Sprog'
67 reading_speed: 70 reading_speed:
68 # label: 'Reading speed' 71 # label: 'Reading speed (words per minute)'
69 # help_message: 'You can use online tools to estimate your reading speed:' 72 # help_message: 'You can use online tools to estimate your reading speed:'
70 # 100_word: 'I read ~100 words per minute'
71 # 200_word: 'I read ~200 words per minute'
72 # 300_word: 'I read ~300 words per minute'
73 # 400_word: 'I read ~400 words per minute'
74 action_mark_as_read: 73 action_mark_as_read:
75 # label: 'Where do you want to be redirected to after marking an article as read?' 74 # label: 'Where do you want to be redirected to after marking an article as read?'
76 # redirect_homepage: 'To the homepage' 75 # redirect_homepage: 'To the homepage'
@@ -83,25 +82,35 @@ config:
83 # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article." 82 # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article."
84 # help_language: "You can change the language of wallabag interface." 83 # help_language: "You can change the language of wallabag interface."
85 # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account." 84 # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account."
86 form_rss: 85 form_feed:
87 description: 'RSS-feeds fra wallabag gør det muligt at læse de artikler, der gemmes i wallabag, med din RSS-læser. Det kræver, at du genererer et token først.' 86 description: 'RSS-feeds fra wallabag gør det muligt at læse de artikler, der gemmes i wallabag, med din RSS-læser. Det kræver, at du genererer et token først.'
88 token_label: 'RSS-Token' 87 token_label: 'RSS-Token'
89 no_token: 'Intet token' 88 no_token: 'Intet token'
90 token_create: 'Opret token' 89 token_create: 'Opret token'
91 token_reset: 'Nulstil token' 90 token_reset: 'Nulstil token'
92 rss_links: 'RSS-Links' 91 # token_revoke: 'Revoke the token'
93 rss_link: 92 feed_links: 'RSS-Links'
93 feed_link:
94 unread: 'Ulæst' 94 unread: 'Ulæst'
95 starred: 'Favoritter' 95 starred: 'Favoritter'
96 archive: 'Arkiv' 96 archive: 'Arkiv'
97 # all: 'All' 97 # all: 'All'
98 # rss_limit: 'Number of items in the feed' 98 # feed_limit: 'Number of items in the feed'
99 form_user: 99 form_user:
100 # two_factor_description: "Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion" 100 # two_factor_description: "Enabling two factor authentication means you'll receive an email with a code OR need to use an OTP app (like Google Authenticator, Authy or FreeOTP) to get a one time code on every new untrusted connection. You can't choose both option."
101 # login_label: 'Login (can not be changed)'
101 name_label: 'Navn' 102 name_label: 'Navn'
102 email_label: 'Emailadresse' 103 email_label: 'Emailadresse'
103 # twoFactorAuthentication_label: 'Two factor authentication' 104 two_factor:
104 # help_twoFactorAuthentication: "If you enable 2FA, each time you want to login to wallabag, you'll receive a code by email." 105 # emailTwoFactor_label: 'Using email (receive a code by email)'
106 # googleTwoFactor_label: 'Using an OTP app (open the app, like Google Authenticator, Authy or FreeOTP, to get a one time code)'
107 # table_method: Method
108 # table_state: State
109 # table_action: Action
110 # state_enabled: Enabled
111 # state_disabled: Disabled
112 # action_email: Use email
113 # action_app: Use OTP App
105 delete: 114 delete:
106 # title: Delete my account (a.k.a danger zone) 115 # title: Delete my account (a.k.a danger zone)
107 # description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out. 116 # description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out.
@@ -127,6 +136,15 @@ config:
127 # edit_rule_label: 'edit' 136 # edit_rule_label: 'edit'
128 # rule_label: 'Rule' 137 # rule_label: 'Rule'
129 # tags_label: 'Tags' 138 # tags_label: 'Tags'
139 # card:
140 # new_tagging_rule: Create a tagging rule
141 # import_tagging_rules: Import tagging rules
142 # import_tagging_rules_detail: You have to select the JSON file you previously exported.
143 # export_tagging_rules: Export tagging rules
144 # export_tagging_rules_detail: This will download a JSON file that you can use to import tagging rules elsewhere or to backup them.
145 # file_label: JSON file
146 # import_submit: Import
147 # export: Export
130 # faq: 148 # faq:
131 # title: 'FAQ' 149 # title: 'FAQ'
132 # tagging_rules_definition_title: 'What does « tagging rules » mean?' 150 # tagging_rules_definition_title: 'What does « tagging rules » mean?'
@@ -159,6 +177,15 @@ config:
159 # and: 'One rule AND another' 177 # and: 'One rule AND another'
160 # matches: 'Tests that a <i>subject</i> matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>' 178 # matches: 'Tests that a <i>subject</i> matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>'
161 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>' 179 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>'
180 otp:
181 # page_title: Two-factor authentication
182 # app:
183 # two_factor_code_description_1: You just enabled the OTP two factor authentication, open your OTP app and use that code to get a one time password. It'll disapear after a page reload.
184 # two_factor_code_description_2: 'You can scan that QR Code with your app:'
185 # two_factor_code_description_3: 'Also, save these backup codes in a safe place, you can use them in case you lose access to your OTP app:'
186 # two_factor_code_description_4: 'Test an OTP code from your configured app:'
187 # cancel: Cancel
188 # enable: Enable
162 189
163entry: 190entry:
164 # default_title: 'Title of the entry' 191 # default_title: 'Title of the entry'
@@ -237,7 +264,7 @@ entry:
237 # provided_by: 'Provided by' 264 # provided_by: 'Provided by'
238 new: 265 new:
239 page_title: 'Gem ny artikel' 266 page_title: 'Gem ny artikel'
240 placeholder: 'http://website.com' 267 placeholder: 'https://website.dk'
241 form_new: 268 form_new:
242 url_label: Url 269 url_label: Url
243 search: 270 search:
@@ -253,6 +280,11 @@ entry:
253 confirm: 280 confirm:
254 # delete: "Are you sure you want to remove that article?" 281 # delete: "Are you sure you want to remove that article?"
255 # delete_tag: "Are you sure you want to remove that tag from that article?" 282 # delete_tag: "Are you sure you want to remove that tag from that article?"
283 metadata:
284 # reading_time: "Estimated reading time"
285 # reading_time_minutes_short: "%readingTime% min"
286 # address: "Address"
287 # added_on: "Added on"
256 288
257about: 289about:
258 page_title: 'Om' 290 page_title: 'Om'
@@ -348,7 +380,7 @@ quickstart:
348 # title: 'Configure the application' 380 # title: 'Configure the application'
349 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.' 381 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
350 # language: 'Change language and design' 382 # language: 'Change language and design'
351 # rss: 'Enable RSS feeds' 383 # feed: 'Enable RSS feeds'
352 # tagging_rules: 'Write rules to automatically tag your articles' 384 # tagging_rules: 'Write rules to automatically tag your articles'
353 # admin: 385 # admin:
354 # title: 'Administration' 386 # title: 'Administration'
@@ -396,12 +428,16 @@ tag:
396 list: 428 list:
397 # number_on_the_page: '{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.' 429 # number_on_the_page: '{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.'
398 # see_untagged_entries: 'See untagged entries' 430 # see_untagged_entries: 'See untagged entries'
431 # no_untagged_entries: 'There are no untagged entries.'
399 new: 432 new:
400 # add: 'Add' 433 # add: 'Add'
401 # placeholder: 'You can add several tags, separated by a comma.' 434 # placeholder: 'You can add several tags, separated by a comma.'
435 rename:
436 # placeholder: 'You can update tag name.'
402 437
403# export: 438# export:
404# footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>' 439# footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>'
440# unknown: 'Unknown'
405 441
406import: 442import:
407 # page_title: 'Import' 443 # page_title: 'Import'
@@ -429,6 +465,9 @@ import:
429 # wallabag_v2: 465 # wallabag_v2:
430 # page_title: 'Import > Wallabag v2' 466 # page_title: 'Import > Wallabag v2'
431 # description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.' 467 # description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.'
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
432 # readability: 471 # readability:
433 # page_title: 'Import > Readability' 472 # page_title: 'Import > Readability'
434 # description: 'This importer will import all your Readability articles. On the tools (https://www.readability.com/tools/) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).' 473 # description: 'This importer will import all your Readability articles. On the tools (https://www.readability.com/tools/) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).'
@@ -482,6 +521,7 @@ developer:
482 # redirect_uris_label: 'Redirect URIs' 521 # redirect_uris_label: 'Redirect URIs'
483 # save_label: 'Create a new client' 522 # save_label: 'Create a new client'
484 # action_back: 'Back' 523 # action_back: 'Back'
524 # copy_to_clipboard: Copy
485 # client_parameter: 525 # client_parameter:
486 # page_title: 'API clients management > Client parameters' 526 # page_title: 'API clients management > Client parameters'
487 # page_description: 'Here are your client parameters.' 527 # page_description: 'Here are your client parameters.'
@@ -523,7 +563,8 @@ user:
523 email_label: 'Emailadresse' 563 email_label: 'Emailadresse'
524 # enabled_label: 'Enabled' 564 # enabled_label: 'Enabled'
525 # last_login_label: 'Last login' 565 # last_login_label: 'Last login'
526 # twofactor_label: Two factor authentication 566 # twofactor_email_label: Two factor authentication by email
567 # twofactor_google_label: Two factor authentication by OTP app
527 # save: Save 568 # save: Save
528 # delete: Delete 569 # delete: Delete
529 # delete_confirm: Are you sure? 570 # delete_confirm: Are you sure?
@@ -544,7 +585,7 @@ site_credential:
544 # create_new_one: Create a new credential 585 # create_new_one: Create a new credential
545 # form: 586 # form:
546 # username_label: 'Username' 587 # username_label: 'Username'
547 # host_label: 'Host' 588 # host_label: 'Host (subdomain.example.org, .example.org, etc.)'
548 # password_label: 'Password' 589 # password_label: 'Password'
549 # save: Save 590 # save: Save
550 # delete: Delete 591 # delete: Delete
@@ -561,14 +602,18 @@ flashes:
561 password_updated: 'Adgangskode opdateret' 602 password_updated: 'Adgangskode opdateret'
562 # password_not_updated_demo: "In demonstration mode, you can't change password for this user." 603 # password_not_updated_demo: "In demonstration mode, you can't change password for this user."
563 user_updated: 'Oplysninger opdateret' 604 user_updated: 'Oplysninger opdateret'
564 rss_updated: 'RSS-oplysninger opdateret' 605 feed_updated: 'RSS-oplysninger opdateret'
565 # tagging_rules_updated: 'Tagging rules updated' 606 # tagging_rules_updated: 'Tagging rules updated'
566 # tagging_rules_deleted: 'Tagging rule deleted' 607 # tagging_rules_deleted: 'Tagging rule deleted'
567 # rss_token_updated: 'RSS token updated' 608 # feed_token_updated: 'RSS token updated'
609 # feed_token_revoked: 'RSS token revoked'
568 # annotations_reset: Annotations reset 610 # annotations_reset: Annotations reset
569 # tags_reset: Tags reset 611 # tags_reset: Tags reset
570 # entries_reset: Entries reset 612 # entries_reset: Entries reset
571 # archived_reset: Archived entries deleted 613 # archived_reset: Archived entries deleted
614 # otp_enabled: Two-factor authentication enabled
615 # tagging_rules_imported: Tagging rules imported
616 # tagging_rules_not_imported: Error while importing tagging rules
572 entry: 617 entry:
573 notice: 618 notice:
574 # entry_already_saved: 'Entry already saved on %date%' 619 # entry_already_saved: 'Entry already saved on %date%'
@@ -582,9 +627,11 @@ flashes:
582 entry_starred: 'Artikel markeret som favorit' 627 entry_starred: 'Artikel markeret som favorit'
583 entry_unstarred: 'Artikel ikke længere markeret som favorit' 628 entry_unstarred: 'Artikel ikke længere markeret som favorit'
584 entry_deleted: 'Artikel slettet' 629 entry_deleted: 'Artikel slettet'
630 # no_random_entry: 'No article with these criterias was found'
585 tag: 631 tag:
586 notice: 632 notice:
587 # tag_added: 'Tag added' 633 # tag_added: 'Tag added'
634 # tag_renamed: 'Tag renamed'
588 import: 635 import:
589 notice: 636 notice:
590 # failed: 'Import failed, please try again.' 637 # failed: 'Import failed, please try again.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
index c297ffb5..50e67d47 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
@@ -33,10 +33,12 @@ menu:
33 back_to_unread: 'Zurück zu ungelesenen Artikeln' 33 back_to_unread: 'Zurück zu ungelesenen Artikeln'
34 users_management: 'Benutzerverwaltung' 34 users_management: 'Benutzerverwaltung'
35 site_credentials: 'Zugangsdaten' 35 site_credentials: 'Zugangsdaten'
36 quickstart: "Schnelleinstieg"
36 top: 37 top:
37 add_new_entry: 'Neuen Artikel hinzufügen' 38 add_new_entry: 'Neuen Artikel hinzufügen'
38 search: 'Suche' 39 search: 'Suche'
39 filter_entries: 'Artikel filtern' 40 filter_entries: 'Artikel filtern'
41 # random_entry: Jump to a random entry from that list
40 export: 'Exportieren' 42 export: 'Exportieren'
41 search_form: 43 search_form:
42 input_label: 'Suchbegriff hier eingeben' 44 input_label: 'Suchbegriff hier eingeben'
@@ -53,11 +55,12 @@ config:
53 page_title: 'Einstellungen' 55 page_title: 'Einstellungen'
54 tab_menu: 56 tab_menu:
55 settings: 'Einstellungen' 57 settings: 'Einstellungen'
56 rss: 'RSS' 58 feed: 'RSS'
57 user_info: 'Benutzerinformation' 59 user_info: 'Benutzerinformation'
58 password: 'Kennwort' 60 password: 'Kennwort'
59 rules: 'Tagging-Regeln' 61 rules: 'Tagging-Regeln'
60 new_user: 'Benutzer hinzufügen' 62 new_user: 'Benutzer hinzufügen'
63 reset: 'Zurücksetzen'
61 form: 64 form:
62 save: 'Speichern' 65 save: 'Speichern'
63 form_settings: 66 form_settings:
@@ -65,12 +68,8 @@ config:
65 items_per_page_label: 'Einträge pro Seite' 68 items_per_page_label: 'Einträge pro Seite'
66 language_label: 'Sprache' 69 language_label: 'Sprache'
67 reading_speed: 70 reading_speed:
68 label: 'Lesegeschwindigkeit' 71 label: 'Lesegeschwindigkeit (Wörter pro Minute)'
69 help_message: 'Du kannst Online-Tools nutzen, um deine Lesegeschwindigkeit herauszufinden.' 72 help_message: 'Du kannst Online-Tools nutzen, um deine Lesegeschwindigkeit herauszufinden.'
70 100_word: 'Ich lese ~100 Wörter pro Minute'
71 200_word: 'Ich lese ~200 Wörter pro Minute'
72 300_word: 'Ich lese ~300 Wörter pro Minute'
73 400_word: 'Ich lese ~400 Wörter pro Minute'
74 action_mark_as_read: 73 action_mark_as_read:
75 label: 'Wohin soll nach dem Gelesenmarkieren eines Artikels weitergeleitet werden?' 74 label: 'Wohin soll nach dem Gelesenmarkieren eines Artikels weitergeleitet werden?'
76 redirect_homepage: 'Zur Homepage' 75 redirect_homepage: 'Zur Homepage'
@@ -83,25 +82,35 @@ config:
83 help_reading_speed: "wallabag berechnet eine Lesezeit pro Artikel. Hier kannst du definieren, ob du ein schneller oder langsamer Leser bist. wallabag wird die Lesezeiten danach neu berechnen." 82 help_reading_speed: "wallabag berechnet eine Lesezeit pro Artikel. Hier kannst du definieren, ob du ein schneller oder langsamer Leser bist. wallabag wird die Lesezeiten danach neu berechnen."
84 help_language: "Du kannst die Sprache der wallabag-Oberfläche ändern." 83 help_language: "Du kannst die Sprache der wallabag-Oberfläche ändern."
85 help_pocket_consumer_key: "Nötig für den Pocket-Import. Du kannst ihn in deinem Pocket account einrichten." 84 help_pocket_consumer_key: "Nötig für den Pocket-Import. Du kannst ihn in deinem Pocket account einrichten."
86 form_rss: 85 form_feed:
87 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.' 86 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.'
88 token_label: 'RSS-Token' 87 token_label: 'RSS-Token'
89 no_token: 'Kein Token' 88 no_token: 'Kein Token'
90 token_create: 'Token erstellen' 89 token_create: 'Token erstellen'
91 token_reset: 'Token zurücksetzen' 90 token_reset: 'Token zurücksetzen'
92 rss_links: 'RSS-Links' 91 # token_revoke: 'Revoke the token'
93 rss_link: 92 feed_links: 'RSS-Links'
93 feed_link:
94 unread: 'Ungelesene' 94 unread: 'Ungelesene'
95 starred: 'Favoriten' 95 starred: 'Favoriten'
96 archive: 'Archivierte' 96 archive: 'Archivierte'
97 all: 'Alle' 97 all: 'Alle'
98 rss_limit: 'Anzahl der Einträge pro Feed' 98 feed_limit: 'Anzahl der Einträge pro Feed'
99 form_user: 99 form_user:
100 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" 100 # two_factor_description: "Enabling two factor authentication means you'll receive an email with a code OR need to use an OTP app (like Google Authenticator, Authy or FreeOTP) to get a one time code on every new untrusted connection. You can't choose both option."
101 # login_label: 'Login (can not be changed)'
101 name_label: 'Name' 102 name_label: 'Name'
102 email_label: 'E-Mail-Adresse' 103 email_label: 'E-Mail-Adresse'
103 twoFactorAuthentication_label: 'Zwei-Faktor-Authentifizierung' 104 two_factor:
104 help_twoFactorAuthentication: "Wenn du 2FA aktivierst, wirst du bei jedem Login einen Code per E-Mail bekommen." 105 # emailTwoFactor_label: 'Using email (receive a code by email)'
106 # googleTwoFactor_label: 'Using an OTP app (open the app, like Google Authenticator, Authy or FreeOTP, to get a one time code)'
107 # table_method: Method
108 # table_state: State
109 # table_action: Action
110 # state_enabled: Enabled
111 # state_disabled: Disabled
112 # action_email: Use email
113 # action_app: Use OTP App
105 delete: 114 delete:
106 title: 'Lösche mein Konto (a.k.a Gefahrenzone)' 115 title: 'Lösche mein Konto (a.k.a Gefahrenzone)'
107 description: 'Wenn du dein Konto löschst, werden ALL deine Artikel, ALL deine Tags, ALL deine Anmerkungen und dein Konto dauerhaft gelöscht (kann NICHT RÜCKGÄNGIG gemacht werden). Du wirst anschließend ausgeloggt.' 116 description: 'Wenn du dein Konto löschst, werden ALL deine Artikel, ALL deine Tags, ALL deine Anmerkungen und dein Konto dauerhaft gelöscht (kann NICHT RÜCKGÄNGIG gemacht werden). Du wirst anschließend ausgeloggt.'
@@ -127,6 +136,15 @@ config:
127 edit_rule_label: 'bearbeiten' 136 edit_rule_label: 'bearbeiten'
128 rule_label: 'Regel' 137 rule_label: 'Regel'
129 tags_label: 'Tags' 138 tags_label: 'Tags'
139 # card:
140 # new_tagging_rule: Create a tagging rule
141 # import_tagging_rules: Import tagging rules
142 # import_tagging_rules_detail: You have to select the JSON file you previously exported.
143 # export_tagging_rules: Export tagging rules
144 # export_tagging_rules_detail: This will download a JSON file that you can use to import tagging rules elsewhere or to backup them.
145 # file_label: JSON file
146 # import_submit: Import
147 # export: Export
130 faq: 148 faq:
131 title: 'FAQ' 149 title: 'FAQ'
132 tagging_rules_definition_title: 'Was bedeuten die "Tagging-Regeln"?' 150 tagging_rules_definition_title: 'Was bedeuten die "Tagging-Regeln"?'
@@ -159,6 +177,15 @@ config:
159 and: 'Eine Regel UND eine andere' 177 and: 'Eine Regel UND eine andere'
160 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>' 178 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>'
161 notmatches: 'Testet, ob ein <i>Titel</i> nicht auf eine <i>Suche</i> zutrifft (Groß- und Kleinschreibung wird nicht berücksichtigt).<br />Beispiel: <code>title notmatches "Fußball"</code>' 179 notmatches: 'Testet, ob ein <i>Titel</i> nicht auf eine <i>Suche</i> zutrifft (Groß- und Kleinschreibung wird nicht berücksichtigt).<br />Beispiel: <code>title notmatches "Fußball"</code>'
180 otp:
181 # page_title: Two-factor authentication
182 # app:
183 # two_factor_code_description_1: You just enabled the OTP two factor authentication, open your OTP app and use that code to get a one time password. It'll disapear after a page reload.
184 # two_factor_code_description_2: 'You can scan that QR Code with your app:'
185 # two_factor_code_description_3: 'Also, save these backup codes in a safe place, you can use them in case you lose access to your OTP app:'
186 # two_factor_code_description_4: 'Test an OTP code from your configured app:'
187 # cancel: Cancel
188 # enable: Enable
162 189
163entry: 190entry:
164 default_title: 'Titel des Eintrags' 191 default_title: 'Titel des Eintrags'
@@ -253,6 +280,11 @@ entry:
253 confirm: 280 confirm:
254 delete: 'Bist du sicher, dass du diesen Artikel löschen möchtest?' 281 delete: 'Bist du sicher, dass du diesen Artikel löschen möchtest?'
255 delete_tag: 'Bist du sicher, dass du diesen Tag vom Artikel entfernen möchtest?' 282 delete_tag: 'Bist du sicher, dass du diesen Tag vom Artikel entfernen möchtest?'
283 metadata:
284 # reading_time: "Estimated reading time"
285 # reading_time_minutes_short: "%readingTime% min"
286 # address: "Address"
287 # added_on: "Added on"
256 288
257about: 289about:
258 page_title: 'Über' 290 page_title: 'Über'
@@ -348,7 +380,7 @@ quickstart:
348 title: 'Anwendung konfigurieren' 380 title: 'Anwendung konfigurieren'
349 description: 'Um die Applikation für dich anzupassen, schau in die Konfiguration von wallabag.' 381 description: 'Um die Applikation für dich anzupassen, schau in die Konfiguration von wallabag.'
350 language: 'Sprache und Design ändern' 382 language: 'Sprache und Design ändern'
351 rss: 'RSS-Feeds aktivieren' 383 feed: 'RSS-Feeds aktivieren'
352 tagging_rules: 'Schreibe Regeln, um deine Beiträge automatisch zu taggen (verschlagworten)' 384 tagging_rules: 'Schreibe Regeln, um deine Beiträge automatisch zu taggen (verschlagworten)'
353 admin: 385 admin:
354 title: 'Administration' 386 title: 'Administration'
@@ -396,12 +428,16 @@ tag:
396 list: 428 list:
397 number_on_the_page: '{0} Es gibt keine Tags.|{1} Es gibt einen Tag.|]1,Inf[ Es gibt %count% Tags.' 429 number_on_the_page: '{0} Es gibt keine Tags.|{1} Es gibt einen Tag.|]1,Inf[ Es gibt %count% Tags.'
398 see_untagged_entries: 'Zeige nicht getaggte Einträge' 430 see_untagged_entries: 'Zeige nicht getaggte Einträge'
431 # no_untagged_entries: 'There are no untagged entries.'
399 new: 432 new:
400 add: 'Hinzufügen' 433 add: 'Hinzufügen'
401 placeholder: 'Du kannst verschiedene Tags, getrennt von einem Komma, hinzufügen.' 434 placeholder: 'Du kannst verschiedene Tags, getrennt von einem Komma, hinzufügen.'
435 rename:
436 # placeholder: 'You can update tag name.'
402 437
403export: 438export:
404 footer_template: '<div style="text-align:center;"><p>Generiert von wallabag mit Hilfe von %method%</p><p>Bitte öffne <a href="https://github.com/wallabag/wallabag/issues">ein Ticket</a> wenn du ein Problem mit der Darstellung von diesem E-Book auf deinem Gerät hast.</p></div>' 439 footer_template: '<div style="text-align:center;"><p>Generiert von wallabag mit Hilfe von %method%</p><p>Bitte öffne <a href="https://github.com/wallabag/wallabag/issues">ein Ticket</a> wenn du ein Problem mit der Darstellung von diesem E-Book auf deinem Gerät hast.</p></div>'
440 # unknown: 'Unknown'
405 441
406import: 442import:
407 page_title: 'Importieren' 443 page_title: 'Importieren'
@@ -429,6 +465,9 @@ import:
429 wallabag_v2: 465 wallabag_v2:
430 page_title: 'Aus wallabag v2 importieren' 466 page_title: 'Aus wallabag v2 importieren'
431 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.' 467 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.'
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
432 readability: 471 readability:
433 page_title: 'Aus Readability importieren' 472 page_title: 'Aus Readability importieren'
434 description: 'Dieser Import wird all deine Artikel aus Readability importieren. Auf der Tools Seite (https://www.readability.com/tools/) klickst du auf "Exportiere deine Daten" in dem Abschnitt "Datenexport". Du wirst eine E-Mail mit einem Downloadlink zu einer json Datei, die aber nicht auf .json endet, erhalten' 473 description: 'Dieser Import wird all deine Artikel aus Readability importieren. Auf der Tools Seite (https://www.readability.com/tools/) klickst du auf "Exportiere deine Daten" in dem Abschnitt "Datenexport". Du wirst eine E-Mail mit einem Downloadlink zu einer json Datei, die aber nicht auf .json endet, erhalten'
@@ -482,6 +521,7 @@ developer:
482 redirect_uris_label: 'Weiterleitungs-URIs' 521 redirect_uris_label: 'Weiterleitungs-URIs'
483 save_label: 'Neuen Client erstellen' 522 save_label: 'Neuen Client erstellen'
484 action_back: 'Zurück' 523 action_back: 'Zurück'
524 # copy_to_clipboard: Copy
485 client_parameter: 525 client_parameter:
486 page_title: 'API-Client-Verwaltung > Client-Parameter' 526 page_title: 'API-Client-Verwaltung > Client-Parameter'
487 page_description: 'Dies sind deine Client-Parameter.' 527 page_description: 'Dies sind deine Client-Parameter.'
@@ -523,7 +563,8 @@ user:
523 email_label: 'E-Mail-Adresse' 563 email_label: 'E-Mail-Adresse'
524 enabled_label: 'Aktiviert' 564 enabled_label: 'Aktiviert'
525 last_login_label: 'Letzter Login' 565 last_login_label: 'Letzter Login'
526 twofactor_label: 'Zwei-Faktor-Authentifizierung' 566 # twofactor_email_label: Two factor authentication by email
567 # twofactor_google_label: Two factor authentication by OTP app
527 save: 'Speichern' 568 save: 'Speichern'
528 delete: 'Löschen' 569 delete: 'Löschen'
529 delete_confirm: 'Bist du sicher?' 570 delete_confirm: 'Bist du sicher?'
@@ -544,7 +585,7 @@ site_credential:
544 create_new_one: 'Einen neuen Seitenzugang anlegen' 585 create_new_one: 'Einen neuen Seitenzugang anlegen'
545 form: 586 form:
546 username_label: 'Benutzername' 587 username_label: 'Benutzername'
547 host_label: 'Host' 588 host_label: 'Host (subdomain.example.org, .example.org, etc.)'
548 password_label: 'Passwort' 589 password_label: 'Passwort'
549 save: 'Speichern' 590 save: 'Speichern'
550 delete: 'Löschen' 591 delete: 'Löschen'
@@ -561,14 +602,18 @@ flashes:
561 password_updated: 'Kennwort aktualisiert' 602 password_updated: 'Kennwort aktualisiert'
562 password_not_updated_demo: 'Im Testmodus kannst du das Kennwort nicht ändern.' 603 password_not_updated_demo: 'Im Testmodus kannst du das Kennwort nicht ändern.'
563 user_updated: 'Information aktualisiert' 604 user_updated: 'Information aktualisiert'
564 rss_updated: 'RSS-Informationen aktualisiert' 605 feed_updated: 'RSS-Informationen aktualisiert'
565 tagging_rules_updated: 'Tagging-Regeln aktualisiert' 606 tagging_rules_updated: 'Tagging-Regeln aktualisiert'
566 tagging_rules_deleted: 'Tagging-Regel gelöscht' 607 tagging_rules_deleted: 'Tagging-Regel gelöscht'
567 rss_token_updated: 'RSS-Token aktualisiert' 608 feed_token_updated: 'RSS-Token aktualisiert'
568 annotations_reset: 'Anmerkungen zurücksetzen' 609 # feed_token_revoked: 'RSS token revoked'
569 tags_reset: 'Tags zurücksetzen' 610 annotations_reset: Anmerkungen zurücksetzen
570 entries_reset: 'Einträge zurücksetzen' 611 tags_reset: Tags zurücksetzen
571 archived_reset: 'Archiverte Einträge zurücksetzen' 612 entries_reset: Einträge zurücksetzen
613 archived_reset: Archiverte Einträge zurücksetzen
614 # otp_enabled: Two-factor authentication enabled
615 # tagging_rules_imported: Tagging rules imported
616 # tagging_rules_not_imported: Error while importing tagging rules
572 entry: 617 entry:
573 notice: 618 notice:
574 entry_already_saved: 'Eintrag bereits am %date% gespeichert' 619 entry_already_saved: 'Eintrag bereits am %date% gespeichert'
@@ -582,9 +627,11 @@ flashes:
582 entry_starred: 'Eintrag favorisiert' 627 entry_starred: 'Eintrag favorisiert'
583 entry_unstarred: 'Eintrag defavorisiert' 628 entry_unstarred: 'Eintrag defavorisiert'
584 entry_deleted: 'Eintrag gelöscht' 629 entry_deleted: 'Eintrag gelöscht'
630 # no_random_entry: 'No article with these criterias was found'
585 tag: 631 tag:
586 notice: 632 notice:
587 tag_added: 'Tag hinzugefügt' 633 tag_added: 'Tag hinzugefügt'
634 #tag_renamed: 'Tag renamed'
588 import: 635 import:
589 notice: 636 notice:
590 failed: 'Import fehlgeschlagen, bitte erneut probieren.' 637 failed: 'Import fehlgeschlagen, bitte erneut probieren.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
index 169ae728..27585f77 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
@@ -5,7 +5,7 @@ security:
5 forgot_password: 'Forgot your password?' 5 forgot_password: 'Forgot your password?'
6 submit: 'Login' 6 submit: 'Login'
7 register: 'Register' 7 register: 'Register'
8 username: 'Username' 8 username: 'Login'
9 password: 'Password' 9 password: 'Password'
10 cancel: 'Cancel' 10 cancel: 'Cancel'
11 resetting: 11 resetting:
@@ -33,10 +33,12 @@ menu:
33 back_to_unread: 'Back to unread articles' 33 back_to_unread: 'Back to unread articles'
34 users_management: 'Users management' 34 users_management: 'Users management'
35 site_credentials: 'Site credentials' 35 site_credentials: 'Site credentials'
36 quickstart: "Quickstart"
36 top: 37 top:
37 add_new_entry: 'Add a new entry' 38 add_new_entry: 'Add a new entry'
38 search: 'Search' 39 search: 'Search'
39 filter_entries: 'Filter entries' 40 filter_entries: 'Filter entries'
41 random_entry: Jump to a random entry from that list
40 export: 'Export' 42 export: 'Export'
41 search_form: 43 search_form:
42 input_label: 'Enter your search here' 44 input_label: 'Enter your search here'
@@ -53,11 +55,12 @@ config:
53 page_title: 'Config' 55 page_title: 'Config'
54 tab_menu: 56 tab_menu:
55 settings: 'Settings' 57 settings: 'Settings'
56 rss: 'RSS' 58 feed: 'Feeds'
57 user_info: 'User information' 59 user_info: 'User information'
58 password: 'Password' 60 password: 'Password'
59 rules: 'Tagging rules' 61 rules: 'Tagging rules'
60 new_user: 'Add a user' 62 new_user: 'Add a user'
63 reset: 'Reset area'
61 form: 64 form:
62 save: 'Save' 65 save: 'Save'
63 form_settings: 66 form_settings:
@@ -65,12 +68,8 @@ config:
65 items_per_page_label: 'Items per page' 68 items_per_page_label: 'Items per page'
66 language_label: 'Language' 69 language_label: 'Language'
67 reading_speed: 70 reading_speed:
68 label: 'Reading speed' 71 label: 'Reading speed (words per minute)'
69 help_message: 'You can use online tools to estimate your reading speed:' 72 help_message: 'You can use online tools to estimate your reading speed:'
70 100_word: 'I read ~100 words per minute'
71 200_word: 'I read ~200 words per minute'
72 300_word: 'I read ~300 words per minute'
73 400_word: 'I read ~400 words per minute'
74 action_mark_as_read: 73 action_mark_as_read:
75 label: 'What to do after removing, starring or marking as read an article?' 74 label: 'What to do after removing, starring or marking as read an article?'
76 redirect_homepage: 'Go to the homepage' 75 redirect_homepage: 'Go to the homepage'
@@ -83,25 +82,35 @@ config:
83 help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article." 82 help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article."
84 help_language: "You can change the language of wallabag interface." 83 help_language: "You can change the language of wallabag interface."
85 help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account." 84 help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account."
86 form_rss: 85 form_feed:
87 description: 'RSS feeds provided by wallabag allow you to read your saved articles with your favourite RSS reader. You need to generate a token first.' 86 description: 'Atom feeds provided by wallabag allow you to read your saved articles with your favourite Atom reader. You need to generate a token first.'
88 token_label: 'RSS token' 87 token_label: 'Feed token'
89 no_token: 'No token' 88 no_token: 'No token'
90 token_create: 'Create your token' 89 token_create: 'Create your token'
91 token_reset: 'Regenerate your token' 90 token_reset: 'Regenerate your token'
92 rss_links: 'RSS links' 91 token_revoke: 'Revoke the token'
93 rss_link: 92 feed_links: 'Feed links'
93 feed_link:
94 unread: 'Unread' 94 unread: 'Unread'
95 starred: 'Starred' 95 starred: 'Starred'
96 archive: 'Archived' 96 archive: 'Archived'
97 all: 'All' 97 all: 'All'
98 rss_limit: 'Number of items in the feed' 98 feed_limit: 'Number of items in the feed'
99 form_user: 99 form_user:
100 two_factor_description: "Enabling two factor authentication means you'll receive an email with a code on every new untrusted connection." 100 two_factor_description: "Enabling two factor authentication means you'll receive an email with a code OR need to use an OTP app (like Google Authenticator, Authy or FreeOTP) to get a one time code on every new untrusted connection. You can't choose both option."
101 login_label: 'Login (can not be changed)'
101 name_label: 'Name' 102 name_label: 'Name'
102 email_label: 'Email' 103 email_label: 'Email'
103 twoFactorAuthentication_label: 'Two factor authentication' 104 two_factor:
104 help_twoFactorAuthentication: "If you enable 2FA, each time you want to login to wallabag, you'll receive a code by email." 105 emailTwoFactor_label: 'Using email (receive a code by email)'
106 googleTwoFactor_label: 'Using an OTP app (open the app, like Google Authenticator, Authy or FreeOTP, to get a one time code)'
107 table_method: Method
108 table_state: State
109 table_action: Action
110 state_enabled: Enabled
111 state_disabled: Disabled
112 action_email: Use email
113 action_app: Use OTP App
105 delete: 114 delete:
106 title: Delete my account (a.k.a danger zone) 115 title: Delete my account (a.k.a danger zone)
107 description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out. 116 description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out.
@@ -127,6 +136,15 @@ config:
127 edit_rule_label: 'edit' 136 edit_rule_label: 'edit'
128 rule_label: 'Rule' 137 rule_label: 'Rule'
129 tags_label: 'Tags' 138 tags_label: 'Tags'
139 card:
140 new_tagging_rule: Create a tagging rule
141 import_tagging_rules: Import tagging rules
142 import_tagging_rules_detail: You have to select the JSON file you previously exported.
143 export_tagging_rules: Export tagging rules
144 export_tagging_rules_detail: This will download a JSON file that you can use to import tagging rules elsewhere or to backup them.
145 file_label: JSON file
146 import_submit: Import
147 export: Export
130 faq: 148 faq:
131 title: 'FAQ' 149 title: 'FAQ'
132 tagging_rules_definition_title: 'What does « tagging rules » mean?' 150 tagging_rules_definition_title: 'What does « tagging rules » mean?'
@@ -159,6 +177,15 @@ config:
159 and: 'One rule AND another' 177 and: 'One rule AND another'
160 matches: 'Tests that a <i>subject</i> matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>' 178 matches: 'Tests that a <i>subject</i> matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>'
161 notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>' 179 notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>'
180 otp:
181 page_title: Two-factor authentication
182 app:
183 two_factor_code_description_1: You just enabled the OTP two factor authentication, open your OTP app and use that code to get a one time password. It'll disapear after a page reload.
184 two_factor_code_description_2: 'You can scan that QR Code with your app:'
185 two_factor_code_description_3: 'Also, save these backup codes in a safe place, you can use them in case you lose access to your OTP app:'
186 two_factor_code_description_4: 'Test an OTP code from your configured app:'
187 cancel: Cancel
188 enable: Enable
162 189
163entry: 190entry:
164 default_title: 'Title of the entry' 191 default_title: 'Title of the entry'
@@ -237,7 +264,7 @@ entry:
237 provided_by: 'Provided by' 264 provided_by: 'Provided by'
238 new: 265 new:
239 page_title: 'Save new entry' 266 page_title: 'Save new entry'
240 placeholder: 'http://website.com' 267 placeholder: 'https://website.com'
241 form_new: 268 form_new:
242 url_label: Url 269 url_label: Url
243 search: 270 search:
@@ -253,6 +280,11 @@ entry:
253 confirm: 280 confirm:
254 delete: "Are you sure you want to remove that article?" 281 delete: "Are you sure you want to remove that article?"
255 delete_tag: "Are you sure you want to remove that tag from that article?" 282 delete_tag: "Are you sure you want to remove that tag from that article?"
283 metadata:
284 reading_time: "Estimated reading time"
285 reading_time_minutes_short: "%readingTime% min"
286 address: "Address"
287 added_on: "Added on"
256 288
257about: 289about:
258 page_title: 'About' 290 page_title: 'About'
@@ -348,7 +380,7 @@ quickstart:
348 title: 'Configure the application' 380 title: 'Configure the application'
349 description: 'In order to have an application which suits you, have a look into the configuration of wallabag.' 381 description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
350 language: 'Change language and design' 382 language: 'Change language and design'
351 rss: 'Enable RSS feeds' 383 feed: 'Enable feeds'
352 tagging_rules: 'Write rules to automatically tag your articles' 384 tagging_rules: 'Write rules to automatically tag your articles'
353 admin: 385 admin:
354 title: 'Administration' 386 title: 'Administration'
@@ -396,12 +428,16 @@ tag:
396 list: 428 list:
397 number_on_the_page: '{0} There are no tags.|{1} There is one tag.|]1,Inf[ There are %count% tags.' 429 number_on_the_page: '{0} There are no tags.|{1} There is one tag.|]1,Inf[ There are %count% tags.'
398 see_untagged_entries: 'See untagged entries' 430 see_untagged_entries: 'See untagged entries'
431 no_untagged_entries: 'There are no untagged entries.'
399 new: 432 new:
400 add: 'Add' 433 add: 'Add'
401 placeholder: 'You can add several tags, separated by a comma.' 434 placeholder: 'You can add several tags, separated by a comma.'
435 rename:
436 placeholder: 'You can update tag name.'
402 437
403export: 438export:
404 footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>' 439 footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>'
440 unknown: 'Unknown'
405 441
406import: 442import:
407 page_title: 'Import' 443 page_title: 'Import'
@@ -429,6 +465,9 @@ import:
429 wallabag_v2: 465 wallabag_v2:
430 page_title: 'Import > Wallabag v2' 466 page_title: 'Import > Wallabag v2'
431 description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.' 467 description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.'
468 elcurator:
469 page_title: 'Import > elCurator'
470 description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
432 readability: 471 readability:
433 page_title: 'Import > Readability' 472 page_title: 'Import > Readability'
434 description: 'This importer will import all your Readability articles. On the tools (https://www.readability.com/tools/) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).' 473 description: 'This importer will import all your Readability articles. On the tools (https://www.readability.com/tools/) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).'
@@ -482,6 +521,7 @@ developer:
482 redirect_uris_label: 'Redirect URIs (optional)' 521 redirect_uris_label: 'Redirect URIs (optional)'
483 save_label: 'Create a new client' 522 save_label: 'Create a new client'
484 action_back: 'Back' 523 action_back: 'Back'
524 copy_to_clipboard: Copy
485 client_parameter: 525 client_parameter:
486 page_title: 'API clients management > Client parameters' 526 page_title: 'API clients management > Client parameters'
487 page_description: 'Here are your client parameters.' 527 page_description: 'Here are your client parameters.'
@@ -515,7 +555,7 @@ user:
515 no: No 555 no: No
516 create_new_one: Create a new user 556 create_new_one: Create a new user
517 form: 557 form:
518 username_label: 'Username' 558 username_label: 'Login'
519 name_label: 'Name' 559 name_label: 'Name'
520 password_label: 'Password' 560 password_label: 'Password'
521 repeat_new_password_label: 'Repeat new password' 561 repeat_new_password_label: 'Repeat new password'
@@ -523,13 +563,14 @@ user:
523 email_label: 'Email' 563 email_label: 'Email'
524 enabled_label: 'Enabled' 564 enabled_label: 'Enabled'
525 last_login_label: 'Last login' 565 last_login_label: 'Last login'
526 twofactor_label: Two factor authentication 566 twofactor_email_label: Two factor authentication by email
567 twofactor_google_label: Two factor authentication by OTP app
527 save: Save 568 save: Save
528 delete: Delete 569 delete: Delete
529 delete_confirm: Are you sure? 570 delete_confirm: Are you sure?
530 back_to_list: Back to list 571 back_to_list: Back to list
531 search: 572 search:
532 placeholder: Filter by username or email 573 placeholder: Filter by login or email
533 574
534site_credential: 575site_credential:
535 page_title: Site credentials management 576 page_title: Site credentials management
@@ -543,8 +584,8 @@ site_credential:
543 no: No 584 no: No
544 create_new_one: Create a new credential 585 create_new_one: Create a new credential
545 form: 586 form:
546 username_label: 'Username' 587 username_label: 'Login'
547 host_label: 'Host' 588 host_label: 'Host (subdomain.example.org, .example.org, etc.)'
548 password_label: 'Password' 589 password_label: 'Password'
549 save: Save 590 save: Save
550 delete: Delete 591 delete: Delete
@@ -561,14 +602,18 @@ flashes:
561 password_updated: 'Password updated' 602 password_updated: 'Password updated'
562 password_not_updated_demo: "In demonstration mode, you can't change password for this user." 603 password_not_updated_demo: "In demonstration mode, you can't change password for this user."
563 user_updated: 'Information updated' 604 user_updated: 'Information updated'
564 rss_updated: 'RSS information updated' 605 feed_updated: 'Feed information updated'
565 tagging_rules_updated: 'Tagging rules updated' 606 tagging_rules_updated: 'Tagging rules updated'
566 tagging_rules_deleted: 'Tagging rule deleted' 607 tagging_rules_deleted: 'Tagging rule deleted'
567 rss_token_updated: 'RSS token updated' 608 feed_token_updated: 'Feed token updated'
609 feed_token_revoked: 'RSS token revoked'
568 annotations_reset: Annotations reset 610 annotations_reset: Annotations reset
569 tags_reset: Tags reset 611 tags_reset: Tags reset
570 entries_reset: Entries reset 612 entries_reset: Entries reset
571 archived_reset: Archived entries deleted 613 archived_reset: Archived entries deleted
614 otp_enabled: Two-factor authentication enabled
615 tagging_rules_imported: Tagging rules imported
616 tagging_rules_not_imported: Error while importing tagging rules
572 entry: 617 entry:
573 notice: 618 notice:
574 entry_already_saved: 'Entry already saved on %date%' 619 entry_already_saved: 'Entry already saved on %date%'
@@ -582,9 +627,11 @@ flashes:
582 entry_starred: 'Entry starred' 627 entry_starred: 'Entry starred'
583 entry_unstarred: 'Entry unstarred' 628 entry_unstarred: 'Entry unstarred'
584 entry_deleted: 'Entry deleted' 629 entry_deleted: 'Entry deleted'
630 no_random_entry: 'No article with these criterias was found'
585 tag: 631 tag:
586 notice: 632 notice:
587 tag_added: 'Tag added' 633 tag_added: 'Tag added'
634 tag_renamed: 'Tag renamed'
588 import: 635 import:
589 notice: 636 notice:
590 failed: 'Import failed, please try again.' 637 failed: 'Import failed, please try again.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
index 039a1867..2cf67176 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
@@ -32,11 +32,13 @@ menu:
32 save_link: 'Guardar un enlace' 32 save_link: 'Guardar un enlace'
33 back_to_unread: 'Volver a los artículos sin leer' 33 back_to_unread: 'Volver a los artículos sin leer'
34 users_management: 'Configuración de usuarios' 34 users_management: 'Configuración de usuarios'
35 # site_credentials: 'Site credentials' 35 site_credentials: 'Credenciales del sitio'
36 quickstart: "Inicio rápido"
36 top: 37 top:
37 add_new_entry: 'Añadir un nuevo artículo' 38 add_new_entry: 'Añadir un nuevo artículo'
38 search: 'Buscar' 39 search: 'Buscar'
39 filter_entries: 'Filtrar los artículos' 40 filter_entries: 'Filtrar los artículos'
41 random_entry: 'Ir a un artículo aleatório de esta lista'
40 export: 'Exportar' 42 export: 'Exportar'
41 search_form: 43 search_form:
42 input_label: 'Introduzca su búsqueda aquí' 44 input_label: 'Introduzca su búsqueda aquí'
@@ -45,7 +47,7 @@ footer:
45 wallabag: 47 wallabag:
46 elsewhere: 'Lleva wallabag contigo' 48 elsewhere: 'Lleva wallabag contigo'
47 social: 'Social' 49 social: 'Social'
48 powered_by: 'funciona con' 50 powered_by: 'impulsado por'
49 about: 'Acerca de' 51 about: 'Acerca de'
50 stats: Desde el %user_creation% has leído %nb_archives% artículos. ¡Eso hace unos %per_day% por día! 52 stats: Desde el %user_creation% has leído %nb_archives% artículos. ¡Eso hace unos %per_day% por día!
51 53
@@ -53,11 +55,12 @@ config:
53 page_title: 'Configuración' 55 page_title: 'Configuración'
54 tab_menu: 56 tab_menu:
55 settings: 'Configuración' 57 settings: 'Configuración'
56 rss: 'RSS' 58 feed: 'RSS'
57 user_info: 'Información de usuario' 59 user_info: 'Información de usuario'
58 password: 'Contraseña' 60 password: 'Contraseña'
59 rules: 'Reglas de etiquetado automáticas' 61 rules: 'Reglas de etiquetado automáticas'
60 new_user: 'Añadir un usuario' 62 new_user: 'Añadir un usuario'
63 reset: 'Reiniciar mi cuenta'
61 form: 64 form:
62 save: 'Guardar' 65 save: 'Guardar'
63 form_settings: 66 form_settings:
@@ -65,43 +68,49 @@ config:
65 items_per_page_label: 'Número de artículos por página' 68 items_per_page_label: 'Número de artículos por página'
66 language_label: 'Idioma' 69 language_label: 'Idioma'
67 reading_speed: 70 reading_speed:
68 label: 'Velocidad de lectura' 71 label: 'Velocidad de lectura (palabras por minuto)'
69 help_message: 'Puede utilizar herramientas en línea para calcular su velocidad de lectura:' 72 help_message: 'Puede utilizar herramientas en línea para calcular su velocidad de lectura:'
70 100_word: 'Leo ~100 palabras por minuto'
71 200_word: 'Leo ~200 palabras por minuto'
72 300_word: 'Leo ~300 palabras por minuto'
73 400_word: 'Leo ~400 palabras por minuto'
74 action_mark_as_read: 73 action_mark_as_read:
75 label: '¿Dónde quieres ser redirigido después de marcar un artículo como leído?' 74 label: '¿Dónde quieres ser redirigido después de marcar un artículo como leído?'
76 redirect_homepage: 'A la página de inicio' 75 redirect_homepage: 'A la página de inicio'
77 redirect_current_page: 'A la página actual' 76 redirect_current_page: 'A la página actual'
78 pocket_consumer_key_label: Clave de consumidor para importar contenidos de Pocket 77 pocket_consumer_key_label: Clave de consumidor para importar contenidos de Pocket
79 android_configuration: Configura tu aplicación Android 78 android_configuration: Configura tu aplicación Android
80 # android_instruction: "Touch here to prefill your Android application" 79 android_instruction: "Toca aquí para prellenar tu aplicación Android"
81 help_theme: "wallabag es personalizable. Puedes elegir tu tema preferido aquí." 80 help_theme: "wallabag es personalizable. Puedes elegir tu tema preferido aquí."
82 help_items_per_page: "Puedes cambiar el número de artículos mostrados en cada página." 81 help_items_per_page: "Puedes cambiar el número de artículos mostrados en cada página."
83 help_reading_speed: "wallabag calcula un tiempo de lectura para cada artículo. Puedes definir aquí, gracias a esta lista, si eres un lector rápido o lento. wallabag recalculará el tiempo de lectura para cada artículo." 82 help_reading_speed: "wallabag calcula un tiempo de lectura para cada artículo. Puedes definir aquí, gracias a esta lista, si eres un lector rápido o lento. wallabag recalculará el tiempo de lectura para cada artículo."
84 help_language: "Puedes cambiar el idioma de la interfaz de wallabag." 83 help_language: "Puedes cambiar el idioma de la interfaz de wallabag."
85 help_pocket_consumer_key: "Requerido para la importación desde Pocket. Puedes crearla en tu cuenta de Pocket." 84 help_pocket_consumer_key: "Requerido para la importación desde Pocket. Puedes crearla en tu cuenta de Pocket."
86 form_rss: 85 form_feed:
87 description: 'Los feeds RSS de wallabag permiten leer los artículos guardados con su lector RSS favorito. Primero necesitas generar un token.' 86 description: 'Los feeds RSS de wallabag permiten leer los artículos guardados con tu lector RSS favorito. Primero necesitas generar un token.'
88 token_label: 'Token RSS' 87 token_label: 'Token RSS'
89 no_token: 'Sin token' 88 no_token: 'Sin token'
90 token_create: 'Crear token' 89 token_create: 'Crear token'
91 token_reset: 'Reiniciar token' 90 token_reset: 'Reiniciar token'
92 rss_links: 'URLs de feeds RSS' 91 token_revoke: 'Revocar token'
93 rss_link: 92 feed_links: 'URLs de feeds RSS'
94 unread: 'sin leer' 93 feed_link:
95 starred: 'favoritos' 94 unread: 'Sin leer'
96 archive: 'archivados' 95 starred: 'Favoritos'
97 # all: 'All' 96 archive: 'Archivados'
98 rss_limit: 'Límite de artículos en feed RSS' 97 all: 'Todos'
98 feed_limit: 'Límite de artículos en feed RSS'
99 form_user: 99 form_user:
100 two_factor_description: "Con la autenticación en dos pasos recibirá código por e-mail en cada nueva conexión que no sea de confianza." 100 two_factor_description: "Activar la autenticación de dos pasos significa que recibirás un correo electrónico con un código o que necesitarás usar una aplicación OTP (como Google Authenticator, Authy or FreeOTP) para conseguir un código de utilización única en cada nueva conexión no confiable. No puedes usar los dos métodos."
101 login_label: 'Nombre de usuario (no se puede cambiar)'
101 name_label: 'Nombre' 102 name_label: 'Nombre'
102 email_label: 'Dirección de e-mail' 103 email_label: 'Dirección de correo electrónico'
103 twoFactorAuthentication_label: 'Autenticación en dos pasos' 104 two_factor:
104 help_twoFactorAuthentication: "Si activas la autenticación en dos pasos, cada vez que quieras iniciar sesión en wallabag recibirás un código por e-mail." 105 emailTwoFactor_label: 'Usando el correo electrónico (recibe un código por correo electrónico)'
106 googleTwoFactor_label: 'Usando una aplicación OTP (abre la aplicación, por ejemplo Google Authenticator, Authy o FreeOTP, para conseguir un código de utilización única)'
107 table_method: 'Método'
108 table_state: 'Estado'
109 table_action: 'Acción'
110 state_enabled: 'Activado'
111 state_disabled: 'Desactivado'
112 action_email: 'Usar correo electrónico'
113 action_app: 'Usar aplicación OTP'
105 delete: 114 delete:
106 title: Eliminar mi cuenta (Zona peligrosa) 115 title: Eliminar mi cuenta (Zona peligrosa)
107 description: Si eliminas tu cuenta, TODOS tus artículos, TODAS tus etiquetas, TODAS tus anotaciones y tu cuenta serán eliminadas de forma PERMANENTE (no se puede deshacer). Después serás desconectado. 116 description: Si eliminas tu cuenta, TODOS tus artículos, TODAS tus etiquetas, TODAS tus anotaciones y tu cuenta serán eliminadas de forma PERMANENTE (no se puede deshacer). Después serás desconectado.
@@ -113,7 +122,7 @@ config:
113 annotations: Eliminar TODAS las anotaciones 122 annotations: Eliminar TODAS las anotaciones
114 tags: Eliminar TODAS las etiquetas 123 tags: Eliminar TODAS las etiquetas
115 entries: Eliminar TODOS los artículos 124 entries: Eliminar TODOS los artículos
116 # archived: Remove ALL archived entries 125 archived: Eliminar TODOS los artículos archivados
117 confirm: ¿Estás completamente seguro? (NO SE PUEDE DESHACER) 126 confirm: ¿Estás completamente seguro? (NO SE PUEDE DESHACER)
118 form_password: 127 form_password:
119 description: "Puedes cambiar la contraseña aquí. Tu nueva contraseña debe tener al menos 8 caracteres." 128 description: "Puedes cambiar la contraseña aquí. Tu nueva contraseña debe tener al menos 8 caracteres."
@@ -127,6 +136,15 @@ config:
127 edit_rule_label: 'editar' 136 edit_rule_label: 'editar'
128 rule_label: 'Regla' 137 rule_label: 'Regla'
129 tags_label: 'Etiquetas' 138 tags_label: 'Etiquetas'
139 card:
140 new_tagging_rule: Crear una regla de etiquetado
141 import_tagging_rules: Importar reglas de etiquetado
142 import_tagging_rules_detail: Debes seleccionar un archivo JSON exportado previamente.
143 export_tagging_rules: Exportar reglas de etiquetado
144 export_tagging_rules_detail: Un archivo JSON será descargado y este podrá ser utilizado para volver a importar las reglas de etiquetado o como copia de seguridad.
145 file_label: Archivo JSON
146 import_submit: Importar
147 export: Exportar
130 faq: 148 faq:
131 title: 'Preguntas frecuentes' 149 title: 'Preguntas frecuentes'
132 tagging_rules_definition_title: '¿Qué significa « reglas de etiquetado automático »?' 150 tagging_rules_definition_title: '¿Qué significa « reglas de etiquetado automático »?'
@@ -157,8 +175,17 @@ config:
157 not_equal_to: 'Diferente de…' 175 not_equal_to: 'Diferente de…'
158 or: 'Una regla U otra' 176 or: 'Una regla U otra'
159 and: 'Una regla Y la otra' 177 and: 'Una regla Y la otra'
160 matches: 'Prueba si un <i>sujeto</i> corresponde a una <i>búsqueda</i> (insensible a mayusculas).<br />Ejemplo : <code>title matches "fútbol"</code>' 178 matches: 'Prueba si un <i>sujeto</i> corresponde a una <i>búsqueda</i> (insensible a mayúsculas).<br />Ejemplo : <code>title matches "fútbol"</code>'
161 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>' 179 notmatches: 'Prueba si <i>subject</i> no corresponde a una <i>búsqueda</i> (insensible a mayúsculas).<br />Example: <code>title notmatches "fútbol"</code>'
180 otp:
181 page_title: Autenticación de dos pasos
182 app:
183 two_factor_code_description_1: Acabas de activar la autenticación en dos factores con OTP, abre tu aplicación OTP y consigue un código de utilización única. Desaparecerá al volver a cargar la página.
184 two_factor_code_description_2: 'Puedes escanear el código QR con tu aplicación:'
185 two_factor_code_description_3: 'No olvides guardar los códigos de seguridad en un lugar seguro, los puedes utilizar en caso de que pierdas el accesso a tu aplicación OTP:'
186 two_factor_code_description_4: 'Prueba un código generado por tu aplicación OTP:'
187 cancel: Cancelar
188 enable: Activar
162 189
163entry: 190entry:
164 default_title: 'Título del artículo' 191 default_title: 'Título del artículo'
@@ -192,8 +219,8 @@ entry:
192 unread_label: 'Sin leer' 219 unread_label: 'Sin leer'
193 preview_picture_label: 'Tiene imagen de previsualización' 220 preview_picture_label: 'Tiene imagen de previsualización'
194 preview_picture_help: 'Imagen de previsualización' 221 preview_picture_help: 'Imagen de previsualización'
195 # is_public_label: 'Has a public link' 222 is_public_label: 'Tiene un enlace público'
196 # is_public_help: 'Public link' 223 is_public_help: 'Enlace público'
197 language_label: 'Idioma' 224 language_label: 'Idioma'
198 http_status_label: 'Código de estado HTTP' 225 http_status_label: 'Código de estado HTTP'
199 reading_time: 226 reading_time:
@@ -220,7 +247,7 @@ entry:
220 delete: 'Eliminar' 247 delete: 'Eliminar'
221 add_a_tag: 'Añadir una etiqueta' 248 add_a_tag: 'Añadir una etiqueta'
222 share_content: 'Compartir' 249 share_content: 'Compartir'
223 share_email_label: 'e-mail' 250 share_email_label: 'Correo electrónico'
224 public_link: 'enlace público' 251 public_link: 'enlace público'
225 delete_public_link: 'eliminar enlace público' 252 delete_public_link: 'eliminar enlace público'
226 export: 'Exportar' 253 export: 'Exportar'
@@ -232,12 +259,12 @@ entry:
232 original_article: 'original' 259 original_article: 'original'
233 annotations_on_the_entry: '{0} Sin anotaciones|{1} Una anotación|]1,Inf[ %count% anotaciones' 260 annotations_on_the_entry: '{0} Sin anotaciones|{1} Una anotación|]1,Inf[ %count% anotaciones'
234 created_at: 'Fecha de creación' 261 created_at: 'Fecha de creación'
235 # published_at: 'Publication date' 262 published_at: 'Fecha de publicación'
236 # published_by: 'Published by' 263 published_by: 'Publicado por'
237 # provided_by: 'Provided by' 264 provided_by: 'Proporcionado por'
238 new: 265 new:
239 page_title: 'Guardar un nuevo artículo' 266 page_title: 'Guardar un nuevo artículo'
240 placeholder: 'http://sitioweb.com' 267 placeholder: 'https://sitioweb.es'
241 form_new: 268 form_new:
242 url_label: URL 269 url_label: URL
243 search: 270 search:
@@ -246,13 +273,18 @@ entry:
246 page_title: 'Editar un artículo' 273 page_title: 'Editar un artículo'
247 title_label: 'Título' 274 title_label: 'Título'
248 url_label: 'URL' 275 url_label: 'URL'
249 # origin_url_label: 'Origin url (from where you found that entry)' 276 origin_url_label: 'URL de origen (de nde has encontrado este artículo)'
250 save_label: 'Guardar' 277 save_label: 'Guardar'
251 public: 278 public:
252 shared_by_wallabag: "Este artículo se ha compartido con <a href='%wallabag_instance%'>wallabag</a>" 279 shared_by_wallabag: "Este artículo se ha compartido con <a href='%wallabag_instance%'>wallabag</a>"
253 confirm: 280 confirm:
254 # delete: "Are you sure you want to remove that article?" 281 delete: "¿Estás seguro de que quieres eliminar este artículo?"
255 # delete_tag: "Are you sure you want to remove that tag from that article?" 282 delete_tag: "¿Estás seguro de que quieres eliminar esta etiqueta de este artículo?"
283 metadata:
284 reading_time: "Tiempo de lectura estimado"
285 reading_time_minutes_short: "%readingTime% min"
286 address: "Dirección"
287 added_on: "Añadido el"
256 288
257about: 289about:
258 page_title: 'Acerca de' 290 page_title: 'Acerca de'
@@ -274,14 +306,14 @@ about:
274 bug_reports: 'Reporte de errores' 306 bug_reports: 'Reporte de errores'
275 support: '<a href="https://github.com/wallabag/wallabag/issues">en GitHub</a>' 307 support: '<a href="https://github.com/wallabag/wallabag/issues">en GitHub</a>'
276 helping: 308 helping:
277 description: 'wallabag es software libre y gratuito. Usted puede ayudarnos :' 309 description: 'wallabag es software libre y gratuito. Usted puede ayudarnos:'
278 by_contributing: 'contribuyendo al proyecto :' 310 by_contributing: 'contribuyendo al proyecto :'
279 by_contributing_2: 'nuestras necesidades están en un ticket' 311 by_contributing_2: 'nuestras necesidades están en un ticket'
280 by_paypal: 'vía Paypal' 312 by_paypal: 'vía Paypal'
281 contributors: 313 contributors:
282 description: 'Gracias a los colaboradores de la aplicación web de wallabag' 314 description: 'Gracias a los colaboradores de la aplicación web de wallabag'
283 third_party: 315 third_party:
284 description: 'Aquí está la lista de bibliotecas de terceros utilizadas por wallabag (con sus licencias) :' 316 description: 'Aquí está la lista de bibliotecas de terceros utilizadas por wallabag (con sus licencias):'
285 package: 'Paquete' 317 package: 'Paquete'
286 license: 'Licencia' 318 license: 'Licencia'
287 319
@@ -329,7 +361,7 @@ howto:
329 article_title: Atajos de teclado disponibles en el artículo 361 article_title: Atajos de teclado disponibles en el artículo
330 open_original: Abrir la URL original de un artículo 362 open_original: Abrir la URL original de un artículo
331 toggle_favorite: Marcar como favorito / no favorito el artículo 363 toggle_favorite: Marcar como favorito / no favorito el artículo
332 toggle_archive: marcar como leído / no leído el artículo 364 toggle_archive: Marcar como leído / no leído el artículo
333 delete: Borrar el artículo 365 delete: Borrar el artículo
334 material_title: Atajos de teclado disponibles solo en el tema Material 366 material_title: Atajos de teclado disponibles solo en el tema Material
335 add_link: Añadir un nuevo artículo 367 add_link: Añadir un nuevo artículo
@@ -348,7 +380,7 @@ quickstart:
348 title: 'Configure la aplicación' 380 title: 'Configure la aplicación'
349 description: 'Para que la aplicación se ajuste a tus necesidades, echa un vistazo a la configuración de wallabag.' 381 description: 'Para que la aplicación se ajuste a tus necesidades, echa un vistazo a la configuración de wallabag.'
350 language: 'Cambie el idioma y el diseño' 382 language: 'Cambie el idioma y el diseño'
351 rss: 'Activar los feeds RSS' 383 feed: 'Activar los feeds RSS'
352 tagging_rules: 'Escribe reglas para etiquetar automáticamente tus artículos' 384 tagging_rules: 'Escribe reglas para etiquetar automáticamente tus artículos'
353 admin: 385 admin:
354 title: 'Administración' 386 title: 'Administración'
@@ -388,7 +420,7 @@ quickstart:
388 title: 'Apoyo' 420 title: 'Apoyo'
389 description: 'Si necesitas ayuda, estamos a tu disposición.' 421 description: 'Si necesitas ayuda, estamos a tu disposición.'
390 github: 'En GitHub' 422 github: 'En GitHub'
391 email: 'Por e-mail' 423 email: 'Por correo electrónico'
392 gitter: 'En Gitter' 424 gitter: 'En Gitter'
393 425
394tag: 426tag:
@@ -396,12 +428,16 @@ tag:
396 list: 428 list:
397 number_on_the_page: '{0} No hay ninguna etiqueta.|{1} Hay una etiqueta.|]1,Inf[ Hay %count% etiquetas.' 429 number_on_the_page: '{0} No hay ninguna etiqueta.|{1} Hay una etiqueta.|]1,Inf[ Hay %count% etiquetas.'
398 see_untagged_entries: 'Ver artículos sin etiquetas' 430 see_untagged_entries: 'Ver artículos sin etiquetas'
431 no_untagged_entries: 'No hay artículos sin etiquetas.'
399 new: 432 new:
400 add: 'Añadir' 433 add: 'Añadir'
401 placeholder: 'Puedes añadir varias etiquetas, separadas por una coma.' 434 placeholder: 'Puedes añadir varias etiquetas, separadas por una coma.'
435 rename:
436 placeholder: 'Puedes actualizar el nombre de la etiqueta.'
402 437
403# export: 438export:
404# footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>' 439 footer_template: '<div style="text-align:center;"><p>Producido por wallabag con %method%</p><p>Por favor abre <a href="https://github.com/wallabag/wallabag/issues">un ticket</a> si tienes algún problema con la visualización de este E-Book en tu dispositivo.</p></div>'
440 unknown: 'Desconocido'
405 441
406import: 442import:
407 page_title: 'Importar' 443 page_title: 'Importar'
@@ -421,7 +457,7 @@ import:
421 admin_message: 'Debe definir %keyurls%una clave del API Pocket%keyurle%.' 457 admin_message: 'Debe definir %keyurls%una clave del API Pocket%keyurle%.'
422 user_message: 'El administrador de su servidor debe definir una clave del API Pocket.' 458 user_message: 'El administrador de su servidor debe definir una clave del API Pocket.'
423 authorize_message: 'Puede importar sus datos desde su cuenta de Pocket. Sólo tiene que hacer clic el botón para autorizar que wallabag se conecte a getpocket.com.' 459 authorize_message: 'Puede importar sus datos desde su cuenta de Pocket. Sólo tiene que hacer clic el botón para autorizar que wallabag se conecte a getpocket.com.'
424 connect_to_pocket: 'Conectar a Pocket e importar los datos' 460 connect_to_pocket: 'Conectarse a Pocket e importar los datos'
425 wallabag_v1: 461 wallabag_v1:
426 page_title: 'Importar > Wallabag v1' 462 page_title: 'Importar > Wallabag v1'
427 description: 'Importa todos tus artículos de wallabag v1. En la configuración de wallabag v1, haga clic en "Exportar JSON" dentro de la sección "Exportar datos de wallabag". Obtendrás un archivo llamado "wallabag-export-1-xxxx-xx-xx.json".' 463 description: 'Importa todos tus artículos de wallabag v1. En la configuración de wallabag v1, haga clic en "Exportar JSON" dentro de la sección "Exportar datos de wallabag". Obtendrás un archivo llamado "wallabag-export-1-xxxx-xx-xx.json".'
@@ -429,13 +465,16 @@ import:
429 wallabag_v2: 465 wallabag_v2:
430 page_title: 'Importar > Wallabag v2' 466 page_title: 'Importar > Wallabag v2'
431 description: 'Importa todos tus artículos de wallabag v2. En la sección Todos los artículos, en la barra lateral, haga clic en "JSON". Obtendrás un archivo llamado "All articles.json".' 467 description: 'Importa todos tus artículos de wallabag v2. En la sección Todos los artículos, en la barra lateral, haga clic en "JSON". Obtendrás un archivo llamado "All articles.json".'
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
432 readability: 471 readability:
433 page_title: 'Importar > Readability' 472 page_title: 'Importar > Readability'
434 description: 'Importa todos tus artículos de Readability. En la página de herramientas (https://www.readability.com/tools/), haga clic en "Exportar tus datos" en la sección "Exportar datos". Recibirás un e-mail para descargar un JSON (que no tiene extensión .json).' 473 description: 'Importa todos tus artículos de Readability. En la página de herramientas (https://www.readability.com/tools/), haga clic en "Exportar tus datos" en la sección "Exportar datos". Recibirás un correo electrónico para descargar un JSON (que no tiene extensión .json).'
435 how_to: 'Seleccione el archivo exportado de Readability y haga clic en el botón para subirlo e importarlo.' 474 how_to: 'Seleccione el archivo exportado de Readability y haga clic en el botón para subirlo e importarlo.'
436 worker: 475 worker:
437 enabled: "La importación se realiza de forma asíncrona. Una vez que la tarea de importación ha comenzado, un trabajador externo se encargará de los artículos uno a uno. El servicio actual es:" 476 enabled: "La importación se realiza de forma asíncrona. Una vez que la tarea de importación ha comenzado, un trabajador externo se encargará de los artículos uno a uno. El servicio actual es:"
438 download_images_warning: "Tienes activado descargar imágenes de los artículos. Esto justo con la importación clásica de artículos puede tardar mucho tiempo en ser procesado (o incluso fallar). <strong>Recomendamos encarecidamente</strong> habilitar la importación asíncrona para evitar errores." 477 download_images_warning: "Tienes activado descargar imágenes de los artículos. Esto junto con la importación clásica de artículos puede tardar mucho tiempo en ser procesado (o incluso fallar). <strong>Recomendamos encarecidamente</strong> habilitar la importación asíncrona para evitar errores."
439 firefox: 478 firefox:
440 page_title: 'Importar > Firefox' 479 page_title: 'Importar > Firefox'
441 description: "Importa todos tus marcadores de Firefox. En la ventana de marcadores (Ctrl+Mayus+O), en \"Importar y respaldar\", elige \"Copiar...\". Obtendrás un archivo .json." 480 description: "Importa todos tus marcadores de Firefox. En la ventana de marcadores (Ctrl+Mayus+O), en \"Importar y respaldar\", elige \"Copiar...\". Obtendrás un archivo .json."
@@ -482,6 +521,7 @@ developer:
482 redirect_uris_label: 'URIs de redirección' 521 redirect_uris_label: 'URIs de redirección'
483 save_label: 'Crear un nuevo cliente' 522 save_label: 'Crear un nuevo cliente'
484 action_back: 'Volver' 523 action_back: 'Volver'
524 copy_to_clipboard: 'Copiar'
485 client_parameter: 525 client_parameter:
486 page_title: 'Gestión de clientes API > Parámetros del cliente' 526 page_title: 'Gestión de clientes API > Parámetros del cliente'
487 page_description: 'Aquí están los parámetros del cliente.' 527 page_description: 'Aquí están los parámetros del cliente.'
@@ -493,14 +533,14 @@ developer:
493 howto: 533 howto:
494 page_title: 'Gestión de clientes API > Cómo crear mi primera aplicación' 534 page_title: 'Gestión de clientes API > Cómo crear mi primera aplicación'
495 description: 535 description:
496 paragraph_1: 'Los siguientes comandos hacen uso de la <a href="https://github.com/jkbrzt/httpie">biblioteca HTTPie</a>. Compruebe que está instalada en su sistema antes de usarla.' 536 paragraph_1: 'Los siguientes comandos hacen uso de la <a href="https://github.com/jkbrzt/httpie">biblioteca HTTPie</a>. Comprueba que está instalada en tu sistema antes de usarla.'
497 paragraph_2: 'Necesitas un token para establecer la comunicación entre una aplicación de terceros y la API de wallabag.' 537 paragraph_2: 'Necesitas un token para establecer la comunicación entre una aplicación de terceros y la API de wallabag.'
498 paragraph_3: 'Para crear este token, necesitas <a href="%link%">crear un nuevo cliente</a>.' 538 paragraph_3: 'Para crear este token, necesitas <a href="%link%">crear un nuevo cliente</a>.'
499 paragraph_4: 'Ahora crea tu token (reemplace client_id, client_secret, username y password con los valores generados):' 539 paragraph_4: 'Ahora crea tu token (reemplaza client_id, client_secret, username y password con los valores generados):'
500 paragraph_5: 'Este API devolverá una respuesta como esta:' 540 paragraph_5: 'Este API devolverá una respuesta como esta:'
501 paragraph_6: 'El access_token es útil para llamar a los métodos del API. Por ejemplo:' 541 paragraph_6: 'El access_token es útil para llamar a los métodos del API. Por ejemplo:'
502 paragraph_7: 'Esta llamada devolverá todos los artículos de tu usuario.' 542 paragraph_7: 'Esta llamada devolverá todos los artículos de tu usuario.'
503 paragraph_8: 'Si quiere ver todos los métodos del API, puede verlos en <a href="%link%">nuestra documentación del API</a>.' 543 paragraph_8: 'Si quieres ver todos los métodos del API, puedes verlos en <a href="%link%">nuestra documentación del API</a>.'
504 back: 'Volver' 544 back: 'Volver'
505 545
506user: 546user:
@@ -520,36 +560,37 @@ user:
520 password_label: 'Contraseña' 560 password_label: 'Contraseña'
521 repeat_new_password_label: 'Confirmar la contraseña' 561 repeat_new_password_label: 'Confirmar la contraseña'
522 plain_password_label: '????' 562 plain_password_label: '????'
523 email_label: 'E-mail' 563 email_label: 'Correo electrónico'
524 enabled_label: 'Activado' 564 enabled_label: 'Activado'
525 last_login_label: 'Último inicio de sesión' 565 last_login_label: 'Último inicio de sesión'
526 twofactor_label: Autenticación en dos pasos 566 twofactor_email_label: 'Autenticación de dos pasos por correo electrónico'
567 twofactor_google_label: 'Autenticación de dos pasos por aplicación OTP'
527 save: Guardar 568 save: Guardar
528 delete: Eliminar 569 delete: Eliminar
529 delete_confirm: ¿Estás seguro? 570 delete_confirm: ¿Estás seguro?
530 back_to_list: Volver a la lista 571 back_to_list: Volver a la lista
531 search: 572 search:
532 # placeholder: Filter by username or email 573 placeholder: 'Filtrar por nombre de usuario o correo electrónico'
533 574
534site_credential: 575site_credential:
535 # page_title: Site credentials management 576 page_title: 'Gestión de credenciales del sitio'
536 # new_site_credential: Create a credential 577 new_site_credential: 'Crear una credencial'
537 # edit_site_credential: Edit an existing credential 578 edit_site_credential: 'Editar una credencial existente'
538 # description: "Here you can manage all credentials for sites which required them (create, edit and delete), like a paywall, an authentication, etc." 579 description: "Aquí puedes gestionar todas las credenciales para los sitios que las necesiten (crear, editar y borrar), como un paywall, una autenticación, etc."
539 # list: 580 list:
540 # actions: Actions 581 actions: 'Acciones'
541 # edit_action: Edit 582 edit_action: 'Editar'
542 # yes: Yes 583 yes: 'Sí'
543 # no: No 584 no: 'No'
544 # create_new_one: Create a new credential 585 create_new_one: 'Crear una nueva credencial'
545 # form: 586 form:
546 # username_label: 'Username' 587 username_label: 'Nombre de usuario'
547 # host_label: 'Host' 588 host_label: 'Host (subdominio.ejemplo.org, .ejemplo.org, etc.)'
548 # password_label: 'Password' 589 password_label: 'Contraseña'
549 # save: Save 590 save: 'Guardar'
550 # delete: Delete 591 delete: 'Borrar'
551 # delete_confirm: Are you sure? 592 delete_confirm: '¿Estás seguro?'
552 # back_to_list: Back to list 593 back_to_list: 'Volver a la lista'
553 594
554error: 595error:
555 page_title: Ha ocurrido un error 596 page_title: Ha ocurrido un error
@@ -561,14 +602,18 @@ flashes:
561 password_updated: 'Contraseña actualizada' 602 password_updated: 'Contraseña actualizada'
562 password_not_updated_demo: "En el modo demo, no puede cambiar la contraseña del usuario." 603 password_not_updated_demo: "En el modo demo, no puede cambiar la contraseña del usuario."
563 user_updated: 'Información actualizada' 604 user_updated: 'Información actualizada'
564 rss_updated: 'Configuración RSS actualizada' 605 feed_updated: 'Configuración RSS actualizada'
565 tagging_rules_updated: 'Regla de etiquetado actualizada' 606 tagging_rules_updated: 'Regla de etiquetado actualizada'
566 tagging_rules_deleted: 'Regla de etiquetado eliminada' 607 tagging_rules_deleted: 'Regla de etiquetado eliminada'
567 rss_token_updated: 'Token RSS actualizado' 608 feed_token_updated: 'Token RSS actualizado'
609 feed_token_revoked: 'Token RSS revocado'
568 annotations_reset: Anotaciones reiniciadas 610 annotations_reset: Anotaciones reiniciadas
569 tags_reset: Etiquetas reiniciadas 611 tags_reset: Etiquetas reiniciadas
570 entries_reset: Artículos reiniciados 612 entries_reset: Artículos reiniciados
571 # archived_reset: Archived entries deleted 613 archived_reset: Artículos archivados borrados
614 otp_enabled: Autenticación de dos pasos activada
615 tagging_rules_imported: Reglas de etiquetado importadas
616 tagging_rules_not_imported: Un error se ha producico en la importación de las reglas de etiquetado
572 entry: 617 entry:
573 notice: 618 notice:
574 entry_already_saved: 'Artículo ya guardado el %fecha%' 619 entry_already_saved: 'Artículo ya guardado el %fecha%'
@@ -582,9 +627,11 @@ flashes:
582 entry_starred: 'Artículo marcado como favorito' 627 entry_starred: 'Artículo marcado como favorito'
583 entry_unstarred: 'Artículo desmarcado como favorito' 628 entry_unstarred: 'Artículo desmarcado como favorito'
584 entry_deleted: 'Artículo eliminado' 629 entry_deleted: 'Artículo eliminado'
630 no_random_entry: 'Ningún artículo con esos criterios fue encontrado'
585 tag: 631 tag:
586 notice: 632 notice:
587 tag_added: 'Etiqueta añadida' 633 tag_added: 'Etiqueta añadida'
634 tag_renamed: 'Etiqueta renombrada'
588 import: 635 import:
589 notice: 636 notice:
590 failed: 'Importación fallida, por favor, inténtelo de nuevo.' 637 failed: 'Importación fallida, por favor, inténtelo de nuevo.'
@@ -596,15 +643,15 @@ flashes:
596 rabbit_enabled_not_installed: RabbitMQ está activado para gestionar la importación asíncrona pero parece que <u>no se puede conectar</u>. Por favor, comprueba la configuración de RabbitMQ. 643 rabbit_enabled_not_installed: RabbitMQ está activado para gestionar la importación asíncrona pero parece que <u>no se puede conectar</u>. Por favor, comprueba la configuración de RabbitMQ.
597 developer: 644 developer:
598 notice: 645 notice:
599 client_created: 'Creado el cliente %name%.' 646 client_created: 'El cliente %name% ha sido creado.'
600 client_deleted: 'Eliminado el cliente %name%' 647 client_deleted: 'El cliente %name% ha sido eliminado'
601 user: 648 user:
602 notice: 649 notice:
603 added: 'Añadido el usuario "%username%"' 650 added: 'El usuario "%username%" ha sido añadido'
604 updated: 'Actualizado el usuario "%username%"' 651 updated: 'El usuario "%username%" ha sido actualizado'
605 deleted: 'Eliminado el usuario "%username%"' 652 deleted: 'El usuario "%username%" ha sido eliminado'
606 site_credential: 653 site_credential:
607 notice: 654 notice:
608 # added: 'Site credential for "%host%" added' 655 added: 'Credenciales del sitio añadidas para "%host%"'
609 # updated: 'Site credential for "%host%" updated' 656 updated: 'Credenciales del sitio actualizadas para "%host%"'
610 # deleted: 'Site credential for "%host%" deleted' 657 deleted: 'Credenciales del sitio eliminadas para "%host%"'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
index b3f2eb58..c1fb74d3 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
@@ -33,10 +33,12 @@ menu:
33 back_to_unread: 'بازگشت به خوانده‌نشده‌ها' 33 back_to_unread: 'بازگشت به خوانده‌نشده‌ها'
34 # users_management: 'Users management' 34 # users_management: 'Users management'
35 # site_credentials: 'Site credentials' 35 # site_credentials: 'Site credentials'
36 quickstart: "Quickstart"
36 top: 37 top:
37 add_new_entry: 'افزودن مقالهٔ تازه' 38 add_new_entry: 'افزودن مقالهٔ تازه'
38 search: 'جستجو' 39 search: 'جستجو'
39 filter_entries: 'فیلترکردن مقاله‌ها' 40 filter_entries: 'فیلترکردن مقاله‌ها'
41 # random_entry: Jump to a random entry from that list
40 export: 'برون‌بری' 42 export: 'برون‌بری'
41 search_form: 43 search_form:
42 input_label: 'جستجوی خود را این‌جا بنویسید:' 44 input_label: 'جستجوی خود را این‌جا بنویسید:'
@@ -53,11 +55,12 @@ config:
53 page_title: 'پیکربندی' 55 page_title: 'پیکربندی'
54 tab_menu: 56 tab_menu:
55 settings: 'تنظیمات' 57 settings: 'تنظیمات'
56 rss: 'آر-اس-اس' 58 feed: 'آر-اس-اس'
57 user_info: 'اطلاعات کاربر' 59 user_info: 'اطلاعات کاربر'
58 password: 'رمز' 60 password: 'رمز'
59 rules: 'برچسب‌گذاری خودکار' 61 rules: 'برچسب‌گذاری خودکار'
60 new_user: 'افزودن کاربر' 62 new_user: 'افزودن کاربر'
63 # reset: 'Reset area'
61 form: 64 form:
62 save: 'ذخیره' 65 save: 'ذخیره'
63 form_settings: 66 form_settings:
@@ -65,12 +68,8 @@ config:
65 items_per_page_label: 'تعداد مقاله در هر صفحه' 68 items_per_page_label: 'تعداد مقاله در هر صفحه'
66 language_label: 'زبان' 69 language_label: 'زبان'
67 reading_speed: 70 reading_speed:
68 label: 'سرعت خواندن' 71 # label: 'Reading speed (words per minute)'
69 help_message: 'سرعت خواندن‌تان را با ابزارهای آنلاین تخمین بزنید:' 72 help_message: 'سرعت خواندن‌تان را با ابزارهای آنلاین تخمین بزنید:'
70 100_word: 'من تقریباً ۱۰۰ واژه را در دقیقه می‌خوانم'
71 200_word: 'من تقریباً ۲۰۰ واژه را در دقیقه می‌خوانم'
72 300_word: 'من تقریباً ۳۰۰ واژه را در دقیقه می‌خوانم'
73 400_word: 'من تقریباً ۴۰۰ واژه را در دقیقه می‌خوانم'
74 action_mark_as_read: 73 action_mark_as_read:
75 # label: 'Where do you want to be redirected to after marking an article as read?' 74 # label: 'Where do you want to be redirected to after marking an article as read?'
76 # redirect_homepage: 'To the homepage' 75 # redirect_homepage: 'To the homepage'
@@ -83,25 +82,35 @@ config:
83 # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article." 82 # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article."
84 # help_language: "You can change the language of wallabag interface." 83 # help_language: "You can change the language of wallabag interface."
85 # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account." 84 # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account."
86 form_rss: 85 form_feed:
87 description: 'با خوراک آر-اس-اس که wallabag در اختیارتان می‌گذارد، می‌توانید مقاله‌های ذخیره‌شده را در نرم‌افزار آر-اس-اس دلخواه خود بخوانید. برای این کار نخست باید یک کد بسازید.' 86 description: 'با خوراک آر-اس-اس که wallabag در اختیارتان می‌گذارد، می‌توانید مقاله‌های ذخیره‌شده را در نرم‌افزار آر-اس-اس دلخواه خود بخوانید. برای این کار نخست باید یک کد بسازید.'
88 token_label: 'کد آر-اس-اس' 87 token_label: 'کد آر-اس-اس'
89 no_token: 'بدون کد' 88 no_token: 'بدون کد'
90 token_create: 'کد خود را بسازید' 89 token_create: 'کد خود را بسازید'
91 token_reset: 'بازنشانی کد' 90 token_reset: 'بازنشانی کد'
92 rss_links: 'پیوند آر-اس-اس' 91 # token_revoke: 'Revoke the token'
93 rss_link: 92 feed_links: 'پیوند آر-اس-اس'
93 feed_link:
94 unread: 'خوانده‌نشده' 94 unread: 'خوانده‌نشده'
95 starred: 'برگزیده' 95 starred: 'برگزیده'
96 archive: 'بایگانی' 96 archive: 'بایگانی'
97 # all: 'All' 97 # all: 'All'
98 rss_limit: 'محدودیت آر-اس-اس' 98 feed_limit: 'محدودیت آر-اس-اس'
99 form_user: 99 form_user:
100 two_factor_description: "با فعال‌کردن تأیید ۲مرحله‌ای هر بار که اتصال تأییدنشده‌ای برقرار شد، به شما یک کد از راه ایمیل فرستاده می‌شود" 100 # two_factor_description: "Enabling two factor authentication means you'll receive an email with a code OR need to use an OTP app (like Google Authenticator, Authy or FreeOTP) to get a one time code on every new untrusted connection. You can't choose both option."
101 # login_label: 'Login (can not be changed)'
101 name_label: 'نام' 102 name_label: 'نام'
102 email_label: 'نشانی ایمیل' 103 email_label: 'نشانی ایمیل'
103 twoFactorAuthentication_label: 'تأیید ۲مرحله‌ای' 104 two_factor:
104 # help_twoFactorAuthentication: "If you enable 2FA, each time you want to login to wallabag, you'll receive a code by email." 105 # emailTwoFactor_label: 'Using email (receive a code by email)'
106 # googleTwoFactor_label: 'Using an OTP app (open the app, like Google Authenticator, Authy or FreeOTP, to get a one time code)'
107 # table_method: Method
108 # table_state: State
109 # table_action: Action
110 # state_enabled: Enabled
111 # state_disabled: Disabled
112 # action_email: Use email
113 # action_app: Use OTP App
105 delete: 114 delete:
106 # title: Delete my account (a.k.a danger zone) 115 # title: Delete my account (a.k.a danger zone)
107 # description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out. 116 # description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out.
@@ -127,6 +136,15 @@ config:
127 # edit_rule_label: 'edit' 136 # edit_rule_label: 'edit'
128 rule_label: 'قانون' 137 rule_label: 'قانون'
129 tags_label: 'برچسب‌ها' 138 tags_label: 'برچسب‌ها'
139 # card:
140 # new_tagging_rule: Create a tagging rule
141 # import_tagging_rules: Import tagging rules
142 # import_tagging_rules_detail: You have to select the JSON file you previously exported.
143 # export_tagging_rules: Export tagging rules
144 # export_tagging_rules_detail: This will download a JSON file that you can use to import tagging rules elsewhere or to backup them.
145 # file_label: JSON file
146 # import_submit: Import
147 # export: Export
130 faq: 148 faq:
131 title: 'پرسش‌های متداول' 149 title: 'پرسش‌های متداول'
132 tagging_rules_definition_title: 'برچسب‌گذاری خودکار یعنی چه؟' 150 tagging_rules_definition_title: 'برچسب‌گذاری خودکار یعنی چه؟'
@@ -159,6 +177,15 @@ config:
159 # and: 'One rule AND another' 177 # and: 'One rule AND another'
160 # matches: 'Tests that a <i>subject</i> matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>' 178 # matches: 'Tests that a <i>subject</i> matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>'
161 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>' 179 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>'
180 otp:
181 # page_title: Two-factor authentication
182 # app:
183 # two_factor_code_description_1: You just enabled the OTP two factor authentication, open your OTP app and use that code to get a one time password. It'll disapear after a page reload.
184 # two_factor_code_description_2: 'You can scan that QR Code with your app:'
185 # two_factor_code_description_3: 'Also, save these backup codes in a safe place, you can use them in case you lose access to your OTP app:'
186 # two_factor_code_description_4: 'Test an OTP code from your configured app:'
187 # cancel: Cancel
188 # enable: Enable
162 189
163entry: 190entry:
164 # default_title: 'Title of the entry' 191 # default_title: 'Title of the entry'
@@ -237,7 +264,7 @@ entry:
237 # provided_by: 'Provided by' 264 # provided_by: 'Provided by'
238 new: 265 new:
239 page_title: 'ذخیرهٔ مقالهٔ تازه' 266 page_title: 'ذخیرهٔ مقالهٔ تازه'
240 placeholder: 'http://website.com' 267 placeholder: 'https://website.ir'
241 form_new: 268 form_new:
242 url_label: نشانی 269 url_label: نشانی
243 search: 270 search:
@@ -253,6 +280,11 @@ entry:
253 confirm: 280 confirm:
254 # delete: "Are you sure you want to remove that article?" 281 # delete: "Are you sure you want to remove that article?"
255 # delete_tag: "Are you sure you want to remove that tag from that article?" 282 # delete_tag: "Are you sure you want to remove that tag from that article?"
283 metadata:
284 # reading_time: "Estimated reading time"
285 # reading_time_minutes_short: "%readingTime% min"
286 # address: "Address"
287 # added_on: "Added on"
256 288
257about: 289about:
258 page_title: 'درباره' 290 page_title: 'درباره'
@@ -348,7 +380,7 @@ quickstart:
348 title: 'برنامه را تنظیم کنید' 380 title: 'برنامه را تنظیم کنید'
349 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.' 381 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
350 language: 'زبان و نمای برنامه را تغییر دهید' 382 language: 'زبان و نمای برنامه را تغییر دهید'
351 rss: 'خوراک آر-اس-اس را فعال کنید' 383 feed: 'خوراک آر-اس-اس را فعال کنید'
352 tagging_rules: 'قانون‌های برچسب‌گذاری خودکار مقاله‌هایتان را تعریف کنید' 384 tagging_rules: 'قانون‌های برچسب‌گذاری خودکار مقاله‌هایتان را تعریف کنید'
353 admin: 385 admin:
354 title: 'مدیریت' 386 title: 'مدیریت'
@@ -396,12 +428,16 @@ tag:
396 list: 428 list:
397 number_on_the_page: '{0} هیچ برچسبی نیست.|{1} یک برچسب هست.|]1,Inf[ %count% برچسب هست.' 429 number_on_the_page: '{0} هیچ برچسبی نیست.|{1} یک برچسب هست.|]1,Inf[ %count% برچسب هست.'
398 # see_untagged_entries: 'See untagged entries' 430 # see_untagged_entries: 'See untagged entries'
431 # no_untagged_entries: 'There are no untagged entries.'
399 new: 432 new:
400 # add: 'Add' 433 # add: 'Add'
401 # placeholder: 'You can add several tags, separated by a comma.' 434 # placeholder: 'You can add several tags, separated by a comma.'
435 rename:
436 # placeholder: 'You can update tag name.'
402 437
403# export: 438# export:
404# footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>' 439# footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>'
440# unknown: 'Unknown'
405 441
406import: 442import:
407 page_title: 'درون‌ریزی' 443 page_title: 'درون‌ریزی'
@@ -429,6 +465,9 @@ import:
429 wallabag_v2: 465 wallabag_v2:
430 page_title: 'درون‌ریزی > Wallabag v2' 466 page_title: 'درون‌ریزی > Wallabag v2'
431 description: 'این برنامه همهٔ داده‌های شما را در نسخهٔ ۲ wallabag درون‌ریزی می‌کند. به بخش «همهٔ مقاله‌ها» بروید و در بخش «برون‌ریزی» روی "JSON" کلیک کنید. با این کار شما پرونده‌ای به شکل "All articles.json" دریافت خواهید کرد.' 467 description: 'این برنامه همهٔ داده‌های شما را در نسخهٔ ۲ wallabag درون‌ریزی می‌کند. به بخش «همهٔ مقاله‌ها» بروید و در بخش «برون‌ریزی» روی "JSON" کلیک کنید. با این کار شما پرونده‌ای به شکل "All articles.json" دریافت خواهید کرد.'
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
432 readability: 471 readability:
433 page_title: 'درون‌ریزی > Readability' 472 page_title: 'درون‌ریزی > Readability'
434 # description: 'This importer will import all your Readability articles. On the tools (https://www.readability.com/tools/) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).' 473 # description: 'This importer will import all your Readability articles. On the tools (https://www.readability.com/tools/) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).'
@@ -482,6 +521,7 @@ developer:
482 # redirect_uris_label: 'Redirect URIs' 521 # redirect_uris_label: 'Redirect URIs'
483 # save_label: 'Create a new client' 522 # save_label: 'Create a new client'
484 # action_back: 'بازگشت' 523 # action_back: 'بازگشت'
524 # copy_to_clipboard: Copy
485 # client_parameter: 525 # client_parameter:
486 # page_title: 'API clients management > Client parameters' 526 # page_title: 'API clients management > Client parameters'
487 # page_description: 'Here are your client parameters.' 527 # page_description: 'Here are your client parameters.'
@@ -523,7 +563,8 @@ user:
523 email_label: 'نشانی ایمیل' 563 email_label: 'نشانی ایمیل'
524 # enabled_label: 'Enabled' 564 # enabled_label: 'Enabled'
525 # last_login_label: 'Last login' 565 # last_login_label: 'Last login'
526 # twofactor_label: Two factor authentication 566 # twofactor_email_label: Two factor authentication by email
567 # twofactor_google_label: Two factor authentication by OTP app
527 # save: Save 568 # save: Save
528 # delete: Delete 569 # delete: Delete
529 # delete_confirm: Are you sure? 570 # delete_confirm: Are you sure?
@@ -544,7 +585,7 @@ site_credential:
544 # create_new_one: Create a new credential 585 # create_new_one: Create a new credential
545 # form: 586 # form:
546 # username_label: 'Username' 587 # username_label: 'Username'
547 # host_label: 'Host' 588 # host_label: 'Host (subdomain.example.org, .example.org, etc.)'
548 # password_label: 'Password' 589 # password_label: 'Password'
549 # save: Save 590 # save: Save
550 # delete: Delete 591 # delete: Delete
@@ -561,14 +602,18 @@ flashes:
561 password_updated: 'رمز به‌روز شد' 602 password_updated: 'رمز به‌روز شد'
562 password_not_updated_demo: "در حالت نمایشی نمی‌توانید رمز کاربر را عوض کنید." 603 password_not_updated_demo: "در حالت نمایشی نمی‌توانید رمز کاربر را عوض کنید."
563 user_updated: 'اطلاعات به‌روز شد' 604 user_updated: 'اطلاعات به‌روز شد'
564 rss_updated: 'اطلاعات آر-اس-اس به‌روز شد' 605 feed_updated: 'اطلاعات آر-اس-اس به‌روز شد'
565 tagging_rules_updated: 'برچسب‌گذاری خودکار به‌روز شد' 606 tagging_rules_updated: 'برچسب‌گذاری خودکار به‌روز شد'
566 tagging_rules_deleted: 'قانون برچسب‌گذاری پاک شد' 607 tagging_rules_deleted: 'قانون برچسب‌گذاری پاک شد'
567 rss_token_updated: 'کد آر-اس-اس به‌روز شد' 608 feed_token_updated: 'کد آر-اس-اس به‌روز شد'
609 # feed_token_revoked: 'RSS token revoked'
568 # annotations_reset: Annotations reset 610 # annotations_reset: Annotations reset
569 # tags_reset: Tags reset 611 # tags_reset: Tags reset
570 # entries_reset: Entries reset 612 # entries_reset: Entries reset
571 # archived_reset: Archived entries deleted 613 # archived_reset: Archived entries deleted
614 # otp_enabled: Two-factor authentication enabled
615 # tagging_rules_imported: Tagging rules imported
616 # tagging_rules_not_imported: Error while importing tagging rules
572 entry: 617 entry:
573 notice: 618 notice:
574 entry_already_saved: 'این مقاله در تاریخ %date% ذخیره شده بود' 619 entry_already_saved: 'این مقاله در تاریخ %date% ذخیره شده بود'
@@ -582,9 +627,11 @@ flashes:
582 entry_starred: 'مقاله برگزیده شد' 627 entry_starred: 'مقاله برگزیده شد'
583 entry_unstarred: 'مقاله نابرگزیده شد' 628 entry_unstarred: 'مقاله نابرگزیده شد'
584 entry_deleted: 'مقاله پاک شد' 629 entry_deleted: 'مقاله پاک شد'
630 # no_random_entry: 'No article with these criterias was found'
585 tag: 631 tag:
586 notice: 632 notice:
587 tag_added: 'برچسب افزوده شد' 633 tag_added: 'برچسب افزوده شد'
634 # tag_renamed: 'Tag renamed'
588 import: 635 import:
589 notice: 636 notice:
590 failed: 'درون‌ریزی شکست خورد. لطفاً دوباره تلاش کنید.' 637 failed: 'درون‌ریزی شکست خورد. لطفاً دوباره تلاش کنید.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
index 5cdd836e..2b8bb092 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
@@ -5,7 +5,7 @@ security:
5 forgot_password: "Mot de passe oublié ?" 5 forgot_password: "Mot de passe oublié ?"
6 submit: "Se connecter" 6 submit: "Se connecter"
7 register: "Créer un compte" 7 register: "Créer un compte"
8 username: "Nom d’utilisateur" 8 username: "Identifiant"
9 password: "Mot de passe" 9 password: "Mot de passe"
10 cancel: "Annuler" 10 cancel: "Annuler"
11 resetting: 11 resetting:
@@ -33,10 +33,12 @@ menu:
33 back_to_unread: "Retour aux articles non lus" 33 back_to_unread: "Retour aux articles non lus"
34 users_management: "Gestion des utilisateurs" 34 users_management: "Gestion des utilisateurs"
35 site_credentials: 'Accès aux sites' 35 site_credentials: 'Accès aux sites'
36 quickstart: "Pour bien débuter"
36 top: 37 top:
37 add_new_entry: "Sauvegarder un nouvel article" 38 add_new_entry: "Sauvegarder un nouvel article"
38 search: "Rechercher" 39 search: "Rechercher"
39 filter_entries: "Filtrer les articles" 40 filter_entries: "Filtrer les articles"
41 random_entry: Aller à un article aléatoire de cette liste
40 export: "Exporter" 42 export: "Exporter"
41 search_form: 43 search_form:
42 input_label: "Saisissez votre terme de recherche" 44 input_label: "Saisissez votre terme de recherche"
@@ -53,11 +55,12 @@ config:
53 page_title: "Configuration" 55 page_title: "Configuration"
54 tab_menu: 56 tab_menu:
55 settings: "Paramètres" 57 settings: "Paramètres"
56 rss: "RSS" 58 feed: "Flux"
57 user_info: "Mon compte" 59 user_info: "Mon compte"
58 password: "Mot de passe" 60 password: "Mot de passe"
59 rules: "Règles de tag automatiques" 61 rules: "Règles de tag automatiques"
60 new_user: "Créer un compte" 62 new_user: "Créer un compte"
63 reset: "Réinitialisation"
61 form: 64 form:
62 save: "Enregistrer" 65 save: "Enregistrer"
63 form_settings: 66 form_settings:
@@ -65,14 +68,10 @@ config:
65 items_per_page_label: "Nombre d’articles par page" 68 items_per_page_label: "Nombre d’articles par page"
66 language_label: "Langue" 69 language_label: "Langue"
67 reading_speed: 70 reading_speed:
68 label: "Vitesse de lecture" 71 label: "Vitesse de lecture (mots par minute)"
69 help_message: "Vous pouvez utiliser un outil en ligne pour estimer votre vitesse de lecture :" 72 help_message: "Vous pouvez utiliser un outil en ligne pour estimer votre vitesse de lecture :"
70 100_word: "Je lis environ 100 mots par minute"
71 200_word: "Je lis environ 200 mots par minute"
72 300_word: "Je lis environ 300 mots par minute"
73 400_word: "Je lis environ 400 mots par minute"
74 action_mark_as_read: 73 action_mark_as_read:
75 label: "Que faire lorsqu'un article est supprimé, marqué comme lu ou marqué comme favoris ?" 74 label: "Que faire lorsqu'un article est supprimé, marqué comme lu ou marqué comme favori ?"
76 redirect_homepage: "Retourner à la page d’accueil" 75 redirect_homepage: "Retourner à la page d’accueil"
77 redirect_current_page: "Rester sur la page actuelle" 76 redirect_current_page: "Rester sur la page actuelle"
78 pocket_consumer_key_label: "Clé d’authentification Pocket pour importer les données" 77 pocket_consumer_key_label: "Clé d’authentification Pocket pour importer les données"
@@ -83,25 +82,35 @@ config:
83 help_reading_speed: "wallabag calcule une durée de lecture pour chaque article. Vous pouvez définir ici, grâce à cette liste déroulante, si vous lisez plus ou moins vite. wallabag recalculera la durée de lecture de chaque article." 82 help_reading_speed: "wallabag calcule une durée de lecture pour chaque article. Vous pouvez définir ici, grâce à cette liste déroulante, si vous lisez plus ou moins vite. wallabag recalculera la durée de lecture de chaque article."
84 help_language: "Vous pouvez définir la langue de l’interface de wallabag." 83 help_language: "Vous pouvez définir la langue de l’interface de wallabag."
85 help_pocket_consumer_key: "Nécessaire pour l’import depuis Pocket. Vous pouvez le créer depuis votre compte Pocket." 84 help_pocket_consumer_key: "Nécessaire pour l’import depuis Pocket. Vous pouvez le créer depuis votre compte Pocket."
86 form_rss: 85 form_feed:
87 description: "Les flux RSS fournis par wallabag vous permettent de lire vos articles sauvegardés dans votre lecteur de flux préféré. Pour pouvoir les utiliser, vous devez d’abord créer un jeton." 86 description: "Les flux Atom fournis par wallabag vous permettent de lire vos articles sauvegardés dans votre lecteur de flux préféré. Pour pouvoir les utiliser, vous devez d’abord créer un jeton."
88 token_label: "Jeton RSS" 87 token_label: "Jeton de flux"
89 no_token: "Aucun jeton généré" 88 no_token: "Aucun jeton généré"
90 token_create: "Créez votre jeton" 89 token_create: "Créez votre jeton"
91 token_reset: "Réinitialisez votre jeton" 90 token_reset: "Réinitialisez votre jeton"
92 rss_links: "Adresses de vos flux RSS" 91 token_revoke: 'Supprimer le jeton'
93 rss_link: 92 feed_links: "Adresses de vos flux"
93 feed_link:
94 unread: "Non lus" 94 unread: "Non lus"
95 starred: "Favoris" 95 starred: "Favoris"
96 archive: "Lus" 96 archive: "Lus"
97 all: "Tous" 97 all: "Tous"
98 rss_limit: "Nombre d’articles dans le flux" 98 feed_limit: "Nombre d’articles dans le flux"
99 form_user: 99 form_user:
100 two_factor_description: "Activer l’authentification double-facteur veut dire que vous allez recevoir un code par courriel à chaque nouvelle connexion non approuvée." 100 two_factor_description: "Activer l’authentification double-facteur veut dire que vous allez recevoir un code par courriel OU que vous devriez utiliser une application de mot de passe à usage unique (comme Google Authenticator, Authy or FreeOTP) pour obtenir un code temporaire à chaque nouvelle connexion non approuvée. Vous ne pouvez pas choisir les deux options."
101 login_label: 'Identifiant'
101 name_label: "Nom" 102 name_label: "Nom"
102 email_label: "Adresse courriel" 103 email_label: "Adresse courriel"
103 twoFactorAuthentication_label: "Double authentification" 104 two_factor:
104 help_twoFactorAuthentication: "Si vous activez 2FA, à chaque tentative de connexion à wallabag, vous recevrez un code par email." 105 emailTwoFactor_label: 'En utlisant l’email (recevez un code par email)'
106 googleTwoFactor_label: 'En utilisant une application de mot de passe à usage unique (ouvrez l’app, comme Google Authenticator, Authy or FreeOTP, pour obtenir un mot de passe à usage unique)'
107 table_method: Méthode
108 table_state: État
109 table_action: Action
110 state_enabled: Activé
111 state_disabled: Désactivé
112 action_email: Utiliser l'email
113 action_app: Utiliser une app OTP
105 delete: 114 delete:
106 title: "Supprimer mon compte (attention danger !)" 115 title: "Supprimer mon compte (attention danger !)"
107 description: "Si vous confirmez la suppression de votre compte, TOUS les articles, TOUS les tags, TOUTES les annotations et votre compte seront DÉFINITIVEMENT supprimé (c’est IRRÉVERSIBLE). Vous serez ensuite déconnecté." 116 description: "Si vous confirmez la suppression de votre compte, TOUS les articles, TOUS les tags, TOUTES les annotations et votre compte seront DÉFINITIVEMENT supprimé (c’est IRRÉVERSIBLE). Vous serez ensuite déconnecté."
@@ -127,6 +136,15 @@ config:
127 edit_rule_label: "éditer" 136 edit_rule_label: "éditer"
128 rule_label: "Règle" 137 rule_label: "Règle"
129 tags_label: "Tags" 138 tags_label: "Tags"
139 card:
140 new_tagging_rule: Créer une règle
141 import_tagging_rules: Importer des règles
142 import_tagging_rules_detail: Vous devez sélectionné un fichier JSON que vous avez précédemment exporté.
143 export_tagging_rules: Exporter les règles
144 export_tagging_rules_detail: Un fichier JSON sera téléchargé et vous pourrez l'utiliser pour ré-importer les règles ou comme sauvegarde.
145 file_label: Fichier JSON
146 import_submit: Importer
147 export: Export
130 faq: 148 faq:
131 title: "FAQ" 149 title: "FAQ"
132 tagging_rules_definition_title: "Que signifient les règles de tag automatiques ?" 150 tagging_rules_definition_title: "Que signifient les règles de tag automatiques ?"
@@ -159,6 +177,15 @@ config:
159 and: "Une règle ET l’autre" 177 and: "Une règle ET l’autre"
160 matches: "Teste si un <i>sujet</i> correspond à une <i>recherche</i> (non sensible à la casse).<br />Exemple : <code>title matches \"football\"</code>" 178 matches: "Teste si un <i>sujet</i> correspond à une <i>recherche</i> (non sensible à la casse).<br />Exemple : <code>title matches \"football\"</code>"
161 notmatches: "Teste si un <i>sujet</i> ne correspond pas à une <i>recherche</i> (non sensible à la casse).<br />Exemple : <code>title notmatches \"football\"</code>" 179 notmatches: "Teste si un <i>sujet</i> ne correspond pas à une <i>recherche</i> (non sensible à la casse).<br />Exemple : <code>title notmatches \"football\"</code>"
180 otp:
181 page_title: Authentification double-facteur
182 app:
183 two_factor_code_description_1: Vous venez d’activer l’authentification double-facteur, ouvrez votre application OTP pour configurer la génération du mot de passe à usage unique. Ces informations disparaîtront après un rechargement de la page.
184 two_factor_code_description_2: 'Vous pouvez scanner le QR code avec votre application :'
185 two_factor_code_description_3: 'N’oubliez pas de sauvegarder ces codes de secours dans un endroit sûr, vous pourrez les utiliser si vous ne pouvez plus accéder à votre application OTP :'
186 two_factor_code_description_4: 'Testez un code généré par votre application OTP :'
187 cancel: Annuler
188 enable: Activer
162 189
163entry: 190entry:
164 default_title: "Titre de l’article" 191 default_title: "Titre de l’article"
@@ -237,7 +264,7 @@ entry:
237 provided_by: "Fourni par" 264 provided_by: "Fourni par"
238 new: 265 new:
239 page_title: "Sauvegarder un nouvel article" 266 page_title: "Sauvegarder un nouvel article"
240 placeholder: "http://website.com" 267 placeholder: "https://website.fr"
241 form_new: 268 form_new:
242 url_label: "Adresse" 269 url_label: "Adresse"
243 search: 270 search:
@@ -253,6 +280,11 @@ entry:
253 confirm: 280 confirm:
254 delete: "Voulez-vous vraiment supprimer cet article ?" 281 delete: "Voulez-vous vraiment supprimer cet article ?"
255 delete_tag: "Voulez-vous vraiment supprimer ce tag de cet article ?" 282 delete_tag: "Voulez-vous vraiment supprimer ce tag de cet article ?"
283 metadata:
284 reading_time: "Durée de lecture estimée"
285 reading_time_minutes_short: "%readingTime% min"
286 address: "Adresse"
287 added_on: "Ajouté le"
256 288
257about: 289about:
258 page_title: "À propos" 290 page_title: "À propos"
@@ -290,7 +322,7 @@ howto:
290 tab_menu: 322 tab_menu:
291 add_link: "Ajouter un lien" 323 add_link: "Ajouter un lien"
292 shortcuts: "Utiliser les raccourcis" 324 shortcuts: "Utiliser les raccourcis"
293 page_description: "Il y a plusieurs façon d’enregistrer un article :" 325 page_description: "Il y a plusieurs façons d’enregistrer un article :"
294 top_menu: 326 top_menu:
295 browser_addons: "Extensions de navigateur" 327 browser_addons: "Extensions de navigateur"
296 mobile_apps: "Applications smartphone" 328 mobile_apps: "Applications smartphone"
@@ -348,7 +380,7 @@ quickstart:
348 title: "Configurez l’application" 380 title: "Configurez l’application"
349 description: "Pour voir une application qui vous correspond, allez voir du côté de la configuration de wallabag." 381 description: "Pour voir une application qui vous correspond, allez voir du côté de la configuration de wallabag."
350 language: "Changez la langue et le design de l’application" 382 language: "Changez la langue et le design de l’application"
351 rss: "Activez les flux RSS" 383 feed: "Activez les flux Atom"
352 tagging_rules: "Écrivez des règles pour classer automatiquement vos articles" 384 tagging_rules: "Écrivez des règles pour classer automatiquement vos articles"
353 admin: 385 admin:
354 title: "Administration" 386 title: "Administration"
@@ -396,12 +428,16 @@ tag:
396 list: 428 list:
397 number_on_the_page: "{0} Il n’y a pas de tag.|{1} Il y a un tag.|]1,Inf[ Il y a %count% tags." 429 number_on_the_page: "{0} Il n’y a pas de tag.|{1} Il y a un tag.|]1,Inf[ Il y a %count% tags."
398 see_untagged_entries: "Voir les articles sans tag" 430 see_untagged_entries: "Voir les articles sans tag"
431 no_untagged_entries: 'Aucun article sans tag.'
399 new: 432 new:
400 add: "Ajouter" 433 add: "Ajouter"
401 placeholder: "Vous pouvez ajouter plusieurs tags, séparés par une virgule." 434 placeholder: "Vous pouvez ajouter plusieurs tags, séparés par une virgule."
435 rename:
436 placeholder: 'Vous pouvez changer le nom de votre tag.'
402 437
403export: 438export:
404 footer_template: '<div style="text-align:center;"><p>Généré par wallabag with %method%</p><p>Merci d''ouvrir <a href="https://github.com/wallabag/wallabag/issues">un ticket</a> si vous rencontrez des soucis d''affichage avec ce document sur votre support.</p></div>' 439 footer_template: '<div style="text-align:center;"><p>Généré par wallabag with %method%</p><p>Merci d''ouvrir <a href="https://github.com/wallabag/wallabag/issues">un ticket</a> si vous rencontrez des soucis d''affichage avec ce document sur votre support.</p></div>'
440 unknown: 'Inconnu'
405 441
406import: 442import:
407 page_title: "Importer" 443 page_title: "Importer"
@@ -429,6 +465,9 @@ import:
429 wallabag_v2: 465 wallabag_v2:
430 page_title: "Importer > wallabag v2" 466 page_title: "Importer > wallabag v2"
431 description: "Cet outil va importer tous vos articles d’une autre instance de wallabag v2. Allez dans tous vos articles, puis, sur la barre latérale, cliquez sur « JSON ». Vous allez récupérer un fichier « All articles.json »" 467 description: "Cet outil va importer tous vos articles d’une autre instance de wallabag v2. Allez dans tous vos articles, puis, sur la barre latérale, cliquez sur « JSON ». Vous allez récupérer un fichier « All articles.json »"
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
432 readability: 471 readability:
433 page_title: "Importer > Readability" 472 page_title: "Importer > Readability"
434 description: "Cet outil va importer toutes vos données de Readability. Sur la page des outils (https://www.readability.com/tools/), cliquez sur « Export your data » dans la section « Data Export ». Vous allez recevoir un courriel avec un lien pour télécharger le json." 473 description: "Cet outil va importer toutes vos données de Readability. Sur la page des outils (https://www.readability.com/tools/), cliquez sur « Export your data » dans la section « Data Export ». Vous allez recevoir un courriel avec un lien pour télécharger le json."
@@ -482,6 +521,7 @@ developer:
482 redirect_uris_label: "Adresses de redirection (optionnel)" 521 redirect_uris_label: "Adresses de redirection (optionnel)"
483 save_label: "Créer un nouveau client" 522 save_label: "Créer un nouveau client"
484 action_back: "Retour" 523 action_back: "Retour"
524 copy_to_clipboard: Copier
485 client_parameter: 525 client_parameter:
486 page_title: "Gestion des clients API > Les paramètres de votre client" 526 page_title: "Gestion des clients API > Les paramètres de votre client"
487 page_description: "Voilà les paramètres de votre client" 527 page_description: "Voilà les paramètres de votre client"
@@ -515,7 +555,7 @@ user:
515 no: "Non" 555 no: "Non"
516 create_new_one: "Créer un nouvel utilisateur" 556 create_new_one: "Créer un nouvel utilisateur"
517 form: 557 form:
518 username_label: "Nom d’utilisateur" 558 username_label: "Identifiant (ne peut être changé)"
519 name_label: "Nom" 559 name_label: "Nom"
520 password_label: "Mot de passe" 560 password_label: "Mot de passe"
521 repeat_new_password_label: "Confirmez votre nouveau mot de passe" 561 repeat_new_password_label: "Confirmez votre nouveau mot de passe"
@@ -524,12 +564,14 @@ user:
524 enabled_label: "Activé" 564 enabled_label: "Activé"
525 last_login_label: "Dernière connexion" 565 last_login_label: "Dernière connexion"
526 twofactor_label: "Double authentification" 566 twofactor_label: "Double authentification"
567 twofactor_email_label: Double authentification par email
568 twofactor_google_label: Double authentification par OTP app
527 save: "Sauvegarder" 569 save: "Sauvegarder"
528 delete: "Supprimer" 570 delete: "Supprimer"
529 delete_confirm: "Êtes-vous sûr ?" 571 delete_confirm: "Êtes-vous sûr ?"
530 back_to_list: "Revenir à la liste" 572 back_to_list: "Revenir à la liste"
531 search: 573 search:
532 placeholder: "Filtrer par nom d’utilisateur ou email" 574 placeholder: "Filtrer par identifiant ou email"
533 575
534site_credential: 576site_credential:
535 page_title: Gestion des accès aux sites 577 page_title: Gestion des accès aux sites
@@ -544,7 +586,7 @@ site_credential:
544 create_new_one: Créer un nouvel accès à un site 586 create_new_one: Créer un nouvel accès à un site
545 form: 587 form:
546 username_label: 'Identifiant' 588 username_label: 'Identifiant'
547 host_label: 'Domaine' 589 host_label: 'Domaine (subdomain.example.org, .example.org, etc.)'
548 password_label: 'Mot de passe' 590 password_label: 'Mot de passe'
549 save: "Sauvegarder" 591 save: "Sauvegarder"
550 delete: "Supprimer" 592 delete: "Supprimer"
@@ -561,14 +603,18 @@ flashes:
561 password_updated: "Votre mot de passe a bien été mis à jour" 603 password_updated: "Votre mot de passe a bien été mis à jour"
562 password_not_updated_demo: "En démo, vous ne pouvez pas changer le mot de passe de cet utilisateur." 604 password_not_updated_demo: "En démo, vous ne pouvez pas changer le mot de passe de cet utilisateur."
563 user_updated: "Vos informations personnelles ont bien été mises à jour" 605 user_updated: "Vos informations personnelles ont bien été mises à jour"
564 rss_updated: "La configuration des flux RSS a bien été mise à jour" 606 feed_updated: "La configuration des flux a bien été mise à jour"
565 tagging_rules_updated: "Règles mises à jour" 607 tagging_rules_updated: "Règles mises à jour"
566 tagging_rules_deleted: "Règle supprimée" 608 tagging_rules_deleted: "Règle supprimée"
567 rss_token_updated: "Jeton RSS mis à jour" 609 feed_token_updated: "Jeton des flux mis à jour"
610 feed_token_revoked: 'Jeton des flux supprimé'
568 annotations_reset: "Annotations supprimées" 611 annotations_reset: "Annotations supprimées"
569 tags_reset: "Tags supprimés" 612 tags_reset: "Tags supprimés"
570 entries_reset: "Articles supprimés" 613 entries_reset: "Articles supprimés"
571 archived_reset: "Articles archivés supprimés" 614 archived_reset: "Articles archivés supprimés"
615 otp_enabled: "Authentification à double-facteur activée"
616 tagging_rules_imported: Règles bien importées
617 tagging_rules_not_imported: Impossible d'importer les règles
572 entry: 618 entry:
573 notice: 619 notice:
574 entry_already_saved: "Article déjà sauvegardé le %date%" 620 entry_already_saved: "Article déjà sauvegardé le %date%"
@@ -582,9 +628,11 @@ flashes:
582 entry_starred: "Article ajouté dans les favoris" 628 entry_starred: "Article ajouté dans les favoris"
583 entry_unstarred: "Article retiré des favoris" 629 entry_unstarred: "Article retiré des favoris"
584 entry_deleted: "Article supprimé" 630 entry_deleted: "Article supprimé"
631 no_random_entry: "Aucun article correspond aux critères n'a été trouvé"
585 tag: 632 tag:
586 notice: 633 notice:
587 tag_added: "Tag ajouté" 634 tag_added: "Tag ajouté"
635 tag_renamed: "Tag renommé"
588 import: 636 import:
589 notice: 637 notice:
590 failed: "L’import a échoué, veuillez ré-essayer" 638 failed: "L’import a échoué, veuillez ré-essayer"
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
index 83b3edcd..8cee3e52 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
@@ -33,10 +33,12 @@ menu:
33 back_to_unread: 'Torna ai contenuti non letti' 33 back_to_unread: 'Torna ai contenuti non letti'
34 users_management: 'Gestione utenti' 34 users_management: 'Gestione utenti'
35 site_credentials: 'Credenziali sito' 35 site_credentials: 'Credenziali sito'
36 quickstart: "Introduzione"
36 top: 37 top:
37 add_new_entry: 'Aggiungi un nuovo contenuto' 38 add_new_entry: 'Aggiungi un nuovo contenuto'
38 search: 'Cerca' 39 search: 'Cerca'
39 filter_entries: 'Filtra contenuti' 40 filter_entries: 'Filtra contenuti'
41 # random_entry: Jump to a random entry from that list
40 export: 'Esporta' 42 export: 'Esporta'
41 search_form: 43 search_form:
42 input_label: 'Inserisci qui la tua ricerca' 44 input_label: 'Inserisci qui la tua ricerca'
@@ -53,11 +55,12 @@ config:
53 page_title: 'Configurazione' 55 page_title: 'Configurazione'
54 tab_menu: 56 tab_menu:
55 settings: 'Impostazioni' 57 settings: 'Impostazioni'
56 rss: 'RSS' 58 feed: 'RSS'
57 user_info: 'Informazioni utente' 59 user_info: 'Informazioni utente'
58 password: 'Password' 60 password: 'Password'
59 rules: 'Regole di etichettatura' 61 rules: 'Regole di etichettatura'
60 new_user: 'Aggiungi utente' 62 new_user: 'Aggiungi utente'
63 reset: 'Area di reset'
61 form: 64 form:
62 save: 'Salva' 65 save: 'Salva'
63 form_settings: 66 form_settings:
@@ -65,12 +68,8 @@ config:
65 items_per_page_label: 'Elementi per pagina' 68 items_per_page_label: 'Elementi per pagina'
66 language_label: 'Lingua' 69 language_label: 'Lingua'
67 reading_speed: 70 reading_speed:
68 label: 'Velocità di lettura' 71 label: 'Velocità di lettura (parole al minuto)'
69 help_message: 'Puoi utilizzare degli strumenti online per valutare la tua velocità di lettura:' 72 help_message: 'Puoi utilizzare degli strumenti online per valutare la tua velocità di lettura:'
70 100_word: 'Leggo ~100 parole al minuto'
71 200_word: 'Leggo ~200 parole al minuto'
72 300_word: 'Leggo ~300 parole al minuto'
73 400_word: 'Leggo ~400 parole al minuto'
74 action_mark_as_read: 73 action_mark_as_read:
75 label: "Dove vuoi essere reindirizzato dopo aver segnato l'articolo come già letto?" 74 label: "Dove vuoi essere reindirizzato dopo aver segnato l'articolo come già letto?"
76 redirect_homepage: 'Alla homepage' 75 redirect_homepage: 'Alla homepage'
@@ -83,25 +82,35 @@ config:
83 help_reading_speed: "wallabag calcola un tempo di lettura per ogni articolo. Puoi definire qui, grazie a questa lista, se sei un lettore lento o veloce. wallabag ricalcolerà la velocità di lettura per ogni articolo." 82 help_reading_speed: "wallabag calcola un tempo di lettura per ogni articolo. Puoi definire qui, grazie a questa lista, se sei un lettore lento o veloce. wallabag ricalcolerà la velocità di lettura per ogni articolo."
84 help_language: "Puoi cambiare la lingua dell'interfaccia di wallabag." 83 help_language: "Puoi cambiare la lingua dell'interfaccia di wallabag."
85 help_pocket_consumer_key: "Richiesta per importare da Pocket. La puoi creare nel tuo account Pocket." 84 help_pocket_consumer_key: "Richiesta per importare da Pocket. La puoi creare nel tuo account Pocket."
86 form_rss: 85 form_feed:
87 description: 'I feed RSS generati da wallabag ti permettono di leggere i tuoi contenuti salvati con il tuo lettore di RSS preferito. Prima, devi generare un token.' 86 description: 'I feed RSS generati da wallabag ti permettono di leggere i tuoi contenuti salvati con il tuo lettore di RSS preferito. Prima, devi generare un token.'
88 token_label: 'Token RSS' 87 token_label: 'Token RSS'
89 no_token: 'Nessun token' 88 no_token: 'Nessun token'
90 token_create: 'Crea il tuo token' 89 token_create: 'Crea il tuo token'
91 token_reset: 'Rigenera il tuo token' 90 token_reset: 'Rigenera il tuo token'
92 rss_links: 'Collegamenti RSS' 91 # token_revoke: 'Revoke the token'
93 rss_link: 92 feed_links: 'Collegamenti RSS'
93 feed_link:
94 unread: 'Non letti' 94 unread: 'Non letti'
95 starred: 'Preferiti' 95 starred: 'Preferiti'
96 archive: 'Archiviati' 96 archive: 'Archiviati'
97 # all: 'All' 97 # all: 'All'
98 rss_limit: 'Numero di elementi nel feed' 98 feed_limit: 'Numero di elementi nel feed'
99 form_user: 99 form_user:
100 two_factor_description: "Abilitando l'autenticazione a due fattori riceverai una e-mail con un codice per ogni nuova connesione non verificata" 100 # two_factor_description: "Enabling two factor authentication means you'll receive an email with a code OR need to use an OTP app (like Google Authenticator, Authy or FreeOTP) to get a one time code on every new untrusted connection. You can't choose both option."
101 # login_label: 'Login (can not be changed)'
101 name_label: 'Nome' 102 name_label: 'Nome'
102 email_label: 'E-mail' 103 email_label: 'E-mail'
103 twoFactorAuthentication_label: 'Autenticazione a due fattori' 104 two_factor:
104 help_twoFactorAuthentication: "Se abiliti l'autenticazione a due fattori, ogni volta che vorrai connetterti a wallabag, riceverai un codice via E-mail." 105 # emailTwoFactor_label: 'Using email (receive a code by email)'
106 # googleTwoFactor_label: 'Using an OTP app (open the app, like Google Authenticator, Authy or FreeOTP, to get a one time code)'
107 # table_method: Method
108 # table_state: State
109 # table_action: Action
110 # state_enabled: Enabled
111 # state_disabled: Disabled
112 # action_email: Use email
113 # action_app: Use OTP App
105 delete: 114 delete:
106 title: Cancella il mio account (zona pericolosa) 115 title: Cancella il mio account (zona pericolosa)
107 description: Rimuovendo il tuo account, TUTTI i tuoi articoli, TUTTE le tue etichette, TUTTE le tue annotazioni ed il tuo account verranno rimossi PERMANENTEMENTE (impossibile da ANNULLARE). Verrai poi disconnesso. 116 description: Rimuovendo il tuo account, TUTTI i tuoi articoli, TUTTE le tue etichette, TUTTE le tue annotazioni ed il tuo account verranno rimossi PERMANENTEMENTE (impossibile da ANNULLARE). Verrai poi disconnesso.
@@ -127,6 +136,15 @@ config:
127 edit_rule_label: 'modifica' 136 edit_rule_label: 'modifica'
128 rule_label: 'Regola' 137 rule_label: 'Regola'
129 tags_label: 'Etichetta' 138 tags_label: 'Etichetta'
139 # card:
140 # new_tagging_rule: Create a tagging rule
141 # import_tagging_rules: Import tagging rules
142 # import_tagging_rules_detail: You have to select the JSON file you previously exported.
143 # export_tagging_rules: Export tagging rules
144 # export_tagging_rules_detail: This will download a JSON file that you can use to import tagging rules elsewhere or to backup them.
145 # file_label: JSON file
146 # import_submit: Import
147 # export: Export
130 faq: 148 faq:
131 title: 'FAQ' 149 title: 'FAQ'
132 tagging_rules_definition_title: 'Cosa significa « regole di etichettatura » ?' 150 tagging_rules_definition_title: 'Cosa significa « regole di etichettatura » ?'
@@ -159,6 +177,15 @@ config:
159 and: "Una regola E un'altra" 177 and: "Una regola E un'altra"
160 matches: 'Verifica che un <i>oggetto</i> risulti in una <i>ricerca</i> (case-insensitive).<br />Esempio: <code>titolo contiene "football"</code>' 178 matches: 'Verifica che un <i>oggetto</i> risulti in una <i>ricerca</i> (case-insensitive).<br />Esempio: <code>titolo contiene "football"</code>'
161 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>' 179 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>'
180 otp:
181 # page_title: Two-factor authentication
182 # app:
183 # two_factor_code_description_1: You just enabled the OTP two factor authentication, open your OTP app and use that code to get a one time password. It'll disapear after a page reload.
184 # two_factor_code_description_2: 'You can scan that QR Code with your app:'
185 # two_factor_code_description_3: 'Also, save these backup codes in a safe place, you can use them in case you lose access to your OTP app:'
186 # two_factor_code_description_4: 'Test an OTP code from your configured app:'
187 # cancel: Cancel
188 # enable: Enable
162 189
163entry: 190entry:
164 default_title: "Titolo del contenuto" 191 default_title: "Titolo del contenuto"
@@ -237,7 +264,7 @@ entry:
237 # provided_by: 'Provided by' 264 # provided_by: 'Provided by'
238 new: 265 new:
239 page_title: 'Salva un nuovo contenuto' 266 page_title: 'Salva un nuovo contenuto'
240 placeholder: 'http://website.com' 267 placeholder: 'https://website.it'
241 form_new: 268 form_new:
242 url_label: Url 269 url_label: Url
243 search: 270 search:
@@ -253,6 +280,11 @@ entry:
253 confirm: 280 confirm:
254 delete: "Vuoi veramente rimuovere quell'articolo?" 281 delete: "Vuoi veramente rimuovere quell'articolo?"
255 delete_tag: "Vuoi veramente rimuovere quell'etichetta da quell'articolo?" 282 delete_tag: "Vuoi veramente rimuovere quell'etichetta da quell'articolo?"
283 metadata:
284 # reading_time: "Estimated reading time"
285 # reading_time_minutes_short: "%readingTime% min"
286 # address: "Address"
287 # added_on: "Added on"
256 288
257about: 289about:
258 page_title: 'A proposito' 290 page_title: 'A proposito'
@@ -348,7 +380,7 @@ quickstart:
348 title: "Configura l'applicazione" 380 title: "Configura l'applicazione"
349 description: "Per avere un'applicazione che ti soddisfi, dai un'occhiata alla configurazione di wallabag." 381 description: "Per avere un'applicazione che ti soddisfi, dai un'occhiata alla configurazione di wallabag."
350 language: 'Cambia lingua e design' 382 language: 'Cambia lingua e design'
351 rss: 'Abilita i feed RSS' 383 feed: 'Abilita i feed RSS'
352 tagging_rules: 'Scrivi delle regole per taggare automaticamente i contenuti' 384 tagging_rules: 'Scrivi delle regole per taggare automaticamente i contenuti'
353 admin: 385 admin:
354 title: 'Amministrazione' 386 title: 'Amministrazione'
@@ -396,12 +428,16 @@ tag:
396 list: 428 list:
397 number_on_the_page: "{0} Non ci sono etichette.|{1} C'è un'etichetta.|]1,Inf[ ci sono %count% etichette." 429 number_on_the_page: "{0} Non ci sono etichette.|{1} C'è un'etichetta.|]1,Inf[ ci sono %count% etichette."
398 see_untagged_entries: 'Vedi articoli non etichettati' 430 see_untagged_entries: 'Vedi articoli non etichettati'
431 # no_untagged_entries: 'There are no untagged entries.'
399 new: 432 new:
400 add: 'Aggiungi' 433 add: 'Aggiungi'
401 placeholder: 'Puoi aggiungere varie etichette, separate da una virgola.' 434 placeholder: 'Puoi aggiungere varie etichette, separate da una virgola.'
435 rename:
436 # placeholder: 'You can update tag name.'
402 437
403# export: 438# export:
404# footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>' 439# footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>'
440# unknown: 'Unknown'
405 441
406import: 442import:
407 page_title: 'Importa' 443 page_title: 'Importa'
@@ -429,6 +465,9 @@ import:
429 wallabag_v2: 465 wallabag_v2:
430 page_title: 'Importa da > Wallabag v2' 466 page_title: 'Importa da > Wallabag v2'
431 description: 'Questo importatore copierà tutti i tuoi dati da un wallabag v2. Vai in "Tutti i contenuti", e, nella barra laterale di esportazione, clicca su "JSON". Otterrai un file "Tutti i contenuti.json' 467 description: 'Questo importatore copierà tutti i tuoi dati da un wallabag v2. Vai in "Tutti i contenuti", e, nella barra laterale di esportazione, clicca su "JSON". Otterrai un file "Tutti i contenuti.json'
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
432 readability: 471 readability:
433 page_title: 'Importa da > Readability' 472 page_title: 'Importa da > Readability'
434 description: 'Questo importatore copierà tutti i tuoi articoli da Readability. Nella pagina strumenti (https://www.readability.com/tools/), clicca su "Export your data" nella sezione "Data Export". Riceverai una E-mail per scaricare un file json (che tuttavia non termina con .json).' 473 description: 'Questo importatore copierà tutti i tuoi articoli da Readability. Nella pagina strumenti (https://www.readability.com/tools/), clicca su "Export your data" nella sezione "Data Export". Riceverai una E-mail per scaricare un file json (che tuttavia non termina con .json).'
@@ -482,6 +521,7 @@ developer:
482 redirect_uris_label: 'Redirect URI' 521 redirect_uris_label: 'Redirect URI'
483 save_label: 'Crea un nuovo client' 522 save_label: 'Crea un nuovo client'
484 action_back: 'Indietro' 523 action_back: 'Indietro'
524 # copy_to_clipboard: Copy
485 client_parameter: 525 client_parameter:
486 page_title: 'Gestione client API > Parametri Client' 526 page_title: 'Gestione client API > Parametri Client'
487 page_description: 'Questi sono i tuoi parametri del client.' 527 page_description: 'Questi sono i tuoi parametri del client.'
@@ -523,7 +563,8 @@ user:
523 email_label: 'E-mail' 563 email_label: 'E-mail'
524 enabled_label: 'Abilitato' 564 enabled_label: 'Abilitato'
525 last_login_label: 'Ultima connessione' 565 last_login_label: 'Ultima connessione'
526 twofactor_label: Autenticazione a due fattori 566 # twofactor_email_label: Two factor authentication by email
567 # twofactor_google_label: Two factor authentication by OTP app
527 save: Salva 568 save: Salva
528 delete: Cancella 569 delete: Cancella
529 delete_confirm: Sei sicuro? 570 delete_confirm: Sei sicuro?
@@ -544,7 +585,7 @@ site_credential:
544 # create_new_one: Create a new credential 585 # create_new_one: Create a new credential
545 # form: 586 # form:
546 # username_label: 'Username' 587 # username_label: 'Username'
547 # host_label: 'Host' 588 # host_label: 'Host (subdomain.example.org, .example.org, etc.)'
548 # password_label: 'Password' 589 # password_label: 'Password'
549 # save: Save 590 # save: Save
550 # delete: Delete 591 # delete: Delete
@@ -561,14 +602,18 @@ flashes:
561 password_updated: 'Password aggiornata' 602 password_updated: 'Password aggiornata'
562 password_not_updated_demo: "In modalità demo, non puoi cambiare la password dell'utente." 603 password_not_updated_demo: "In modalità demo, non puoi cambiare la password dell'utente."
563 user_updated: 'Informazioni aggiornate' 604 user_updated: 'Informazioni aggiornate'
564 rss_updated: 'Informazioni RSS aggiornate' 605 feed_updated: 'Informazioni RSS aggiornate'
565 tagging_rules_updated: 'Regole di etichettatura aggiornate' 606 tagging_rules_updated: 'Regole di etichettatura aggiornate'
566 tagging_rules_deleted: 'Regola di etichettatura eliminate' 607 tagging_rules_deleted: 'Regola di etichettatura eliminate'
567 rss_token_updated: 'RSS token aggiornato' 608 feed_token_updated: 'RSS token aggiornato'
609 # feed_token_revoked: 'RSS token revoked'
568 annotations_reset: Reset annotazioni 610 annotations_reset: Reset annotazioni
569 tags_reset: Reset etichette 611 tags_reset: Reset etichette
570 entries_reset: Reset articoli 612 entries_reset: Reset articoli
571 # archived_reset: Archived entries deleted 613 # archived_reset: Archived entries deleted
614 # otp_enabled: Two-factor authentication enabled
615 # tagging_rules_imported: Tagging rules imported
616 # tagging_rules_not_imported: Error while importing tagging rules
572 entry: 617 entry:
573 notice: 618 notice:
574 entry_already_saved: 'Contenuto già salvato in data %date%' 619 entry_already_saved: 'Contenuto già salvato in data %date%'
@@ -582,9 +627,11 @@ flashes:
582 entry_starred: 'Contenuto segnato come preferito' 627 entry_starred: 'Contenuto segnato come preferito'
583 entry_unstarred: 'Contenuto rimosso dai preferiti' 628 entry_unstarred: 'Contenuto rimosso dai preferiti'
584 entry_deleted: 'Contenuto eliminato' 629 entry_deleted: 'Contenuto eliminato'
630 # no_random_entry: 'No article with these criterias was found'
585 tag: 631 tag:
586 notice: 632 notice:
587 tag_added: 'Etichetta aggiunta' 633 tag_added: 'Etichetta aggiunta'
634 # tag_renamed: 'Tag renamed'
588 import: 635 import:
589 notice: 636 notice:
590 failed: 'Importazione fallita, riprova.' 637 failed: 'Importazione fallita, riprova.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
index 95bc9560..052582ab 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
@@ -33,10 +33,12 @@ menu:
33 back_to_unread: 'Tornar als articles pas legits' 33 back_to_unread: 'Tornar als articles pas legits'
34 users_management: 'Gestion dels utilizaires' 34 users_management: 'Gestion dels utilizaires'
35 site_credentials: 'Identificants del site' 35 site_credentials: 'Identificants del site'
36 quickstart: "Per ben començar"
36 top: 37 top:
37 add_new_entry: 'Enregistrar un novèl article' 38 add_new_entry: 'Enregistrar un novèl article'
38 search: 'Cercar' 39 search: 'Cercar'
39 filter_entries: 'Filtrar los articles' 40 filter_entries: 'Filtrar los articles'
41 random_entry: "Sautar a un article a l'azard"
40 export: 'Exportar' 42 export: 'Exportar'
41 search_form: 43 search_form:
42 input_label: 'Picatz vòstre mot-clau a cercar aquí' 44 input_label: 'Picatz vòstre mot-clau a cercar aquí'
@@ -53,11 +55,12 @@ config:
53 page_title: 'Configuracion' 55 page_title: 'Configuracion'
54 tab_menu: 56 tab_menu:
55 settings: 'Paramètres' 57 settings: 'Paramètres'
56 rss: 'RSS' 58 feed: 'RSS'
57 user_info: 'Mon compte' 59 user_info: 'Mon compte'
58 password: 'Senhal' 60 password: 'Senhal'
59 rules: "Règlas d'etiquetas automaticas" 61 rules: "Règlas d'etiquetas automaticas"
60 new_user: 'Crear un compte' 62 new_user: 'Crear un compte'
63 reset: 'Zòna de reïnicializacion'
61 form: 64 form:
62 save: 'Enregistrar' 65 save: 'Enregistrar'
63 form_settings: 66 form_settings:
@@ -65,12 +68,8 @@ config:
65 items_per_page_label: "Nombre d'articles per pagina" 68 items_per_page_label: "Nombre d'articles per pagina"
66 language_label: 'Lenga' 69 language_label: 'Lenga'
67 reading_speed: 70 reading_speed:
68 label: 'Velocitat de lectura' 71 label: 'Velocitat de lectura (mots per minuta)'
69 help_message: 'Podètz utilizar una aisina en linha per estimar vòstra velocitat de lectura :' 72 help_message: 'Podètz utilizar una aisina en linha per estimar vòstra velocitat de lectura :'
70 100_word: "Legissi a l'entorn de 100 mots per minuta"
71 200_word: "Legissi a l'entorn de 200 mots per minuta"
72 300_word: "Legissi a l'entorn de 300 mots per minuta"
73 400_word: "Legissi a l'entorn de 400 mots per minuta"
74 action_mark_as_read: 73 action_mark_as_read:
75 label: 'Ont volètz èsser menat aprèp aver marcat un article coma legit ?' 74 label: 'Ont volètz èsser menat aprèp aver marcat un article coma legit ?'
76 redirect_homepage: "A la pagina d’acuèlh" 75 redirect_homepage: "A la pagina d’acuèlh"
@@ -83,25 +82,35 @@ config:
83 help_reading_speed: "wallabag calcula lo temps de lectura per cada article. Podètz lo definir aquí, gràcias a aquesta lista, se sètz un legeire rapid o lent. wallabag tornarà calcular lo temps de lectura per cada article." 82 help_reading_speed: "wallabag calcula lo temps de lectura per cada article. Podètz lo definir aquí, gràcias a aquesta lista, se sètz un legeire rapid o lent. wallabag tornarà calcular lo temps de lectura per cada article."
84 help_language: "Podètz cambiar la lenga de l'interfàcia de wallabag." 83 help_language: "Podètz cambiar la lenga de l'interfàcia de wallabag."
85 help_pocket_consumer_key: "Requesida per l'importacion de Pocket. Podètz la crear dins vòstre compte Pocket." 84 help_pocket_consumer_key: "Requesida per l'importacion de Pocket. Podètz la crear dins vòstre compte Pocket."
86 form_rss: 85 form_feed:
87 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." 86 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."
88 token_label: 'Geton RSS' 87 token_label: 'Geton RSS'
89 no_token: 'Pas cap de geton generat' 88 no_token: 'Pas cap de geton generat'
90 token_create: 'Creatz vòstre geton' 89 token_create: 'Creatz vòstre geton'
91 token_reset: 'Reïnicializatz vòstre geton' 90 token_reset: 'Reïnicializatz vòstre geton'
92 rss_links: 'URLs de vòstres fluxes RSS' 91 oken_revoke: 'Revocar lo geton'
93 rss_link: 92 feed_links: 'URLs de vòstres fluxes RSS'
93 feed_link:
94 unread: 'Pas legits' 94 unread: 'Pas legits'
95 starred: 'Favorits' 95 starred: 'Favorits'
96 archive: 'Legits' 96 archive: 'Legits'
97 all: 'Totes' 97 all: 'Totes'
98 rss_limit: "Nombre d'articles dins un flux RSS" 98 feed_limit: "Nombre d'articles dins un flux"
99 form_user: 99 form_user:
100 two_factor_description: "Activar l'autentificacion en dos temps vòl dire que recebretz un còdi per corrièl per cada novèla connexion pas aprovada." 100 two_factor_description: "L’activacion de l’autentificacion en dos temps indica que recebretz un còdi per corrièl amb un còdi O que vos cal utilizar una aplicacion OTP (coma Google Authenticator, Authy o FreeOTP) per obténer un còdi a usatge unic cada còp qu’i a una connexion pas fisabla. Podètz pas causir las doas opcions."
101 login_label: 'Identificant (se pòt pas cambiar)'
101 name_label: 'Nom' 102 name_label: 'Nom'
102 email_label: 'Adreça de corrièl' 103 email_label: 'Adreça de corrièl'
103 twoFactorAuthentication_label: 'Dobla autentificacion' 104 two_factor:
104 help_twoFactorAuthentication: "S'avètz activat l'autentificacion en dos temps, cada còp que volètz vos connectar a wallabag, recebretz un còdi per corrièl." 105 emailTwoFactor_label: 'En utilizar lo corrièl (recebre un còdi per corrièl)'
106 googleTwoFactor_label: 'En utilizar una aplicacion OTP (Dobrir l’aplicacion, coma Google Authenticator, Authy o FreeOTP, per obténer un còdi a usatge unic)'
107 table_method: Metòde
108 table_state: Estat
109 table_action: Accion
110 state_enabled: Activada
111 state_disabled: Desactivada
112 action_email: Utilizar lo corrièl
113 action_app: Utilizar una aplicacion OTP
105 delete: 114 delete:
106 title: Suprimir mon compte (Mèfi zòna perilhosa) 115 title: Suprimir mon compte (Mèfi zòna perilhosa)
107 description: Se confirmatz la supression de vòstre compte, TOTES vòstres articles, TOTAS vòstras etiquetas, TOTAS vòstras anotacions e vòstre compte seràn suprimits per totjorn. E aquò es IRREVERSIBLE. Puèi seretz desconnectat. 116 description: Se confirmatz la supression de vòstre compte, TOTES vòstres articles, TOTAS vòstras etiquetas, TOTAS vòstras anotacions e vòstre compte seràn suprimits per totjorn. E aquò es IRREVERSIBLE. Puèi seretz desconnectat.
@@ -127,6 +136,15 @@ config:
127 edit_rule_label: 'modificar' 136 edit_rule_label: 'modificar'
128 rule_label: 'Règla' 137 rule_label: 'Règla'
129 tags_label: 'Etiquetas' 138 tags_label: 'Etiquetas'
139 card:
140 new_tagging_rule: Crear una règla d’etiquetatge
141 import_tagging_rules: Importar de règlas d’etiquetatge
142 import_tagging_rules_detail: Vos cal causir un fichièr JSON qu’importèretz per abans.
143 export_tagging_rules: Exportar las règlas d’etiquetatge
144 export_tagging_rules_detail: Telecargarà un fichièr JSON que podètz utilizar per importar las règlas d’etiquetatge endacòm mai o per las salvagardar.
145 file_label: fichièr JSON
146 import_submit: Importar
147 export: Exportar
130 faq: 148 faq:
131 title: 'FAQ' 149 title: 'FAQ'
132 tagging_rules_definition_title: "Qué significa las règlas d'etiquetas automaticas ?" 150 tagging_rules_definition_title: "Qué significa las règlas d'etiquetas automaticas ?"
@@ -159,6 +177,15 @@ config:
159 and: "Una règla E l'autra" 177 and: "Una règla E l'autra"
160 matches: 'Teste se un <i>subjècte</i> correspond a una <i>recèrca</i> (non sensibla a la cassa).<br />Exemple : <code>title matches \"football\"</code>' 178 matches: 'Teste se un <i>subjècte</i> correspond a una <i>recèrca</i> (non sensibla a la cassa).<br />Exemple : <code>title matches \"football\"</code>'
161 notmatches: 'Teste se <i>subjècte</i> correspond pas a una <i>recèrca</i> (sensibla a la cassa).<br />Example : <code>title notmatches "football"</code>' 179 notmatches: 'Teste se <i>subjècte</i> correspond pas a una <i>recèrca</i> (sensibla a la cassa).<br />Example : <code>title notmatches "football"</code>'
180 otp:
181 page_title: Autentificacion en dos temps
182 app:
183 two_factor_code_description_1: Avètz pas qu’activat l’autentificacion en dos temps, dobrissètz l’aplicacion OTP e utilizatz aqueste còdi per obténer un senhal unic. Apareisserà aprèp un recargament de pagina.
184 two_factor_code_description_2: 'Podètz numerizar aqueste còdi QR amb l’aplicacion :'
185 two_factor_code_description_3: 'Amai, enregistratz aquestes còdis de recuperacion dins un lòc segur, los podètz utilizar se per cas perdatz l’accès a l’aplicacion OTP :'
186 two_factor_code_description_4: 'Ensajatz un còdi de vòstra aplicacion configurada app :'
187 cancel: Anullar
188 enable: Activar
162 189
163entry: 190entry:
164 default_title: "Títol de l'article" 191 default_title: "Títol de l'article"
@@ -186,7 +213,7 @@ entry:
186 export_title: 'Exportar' 213 export_title: 'Exportar'
187 filters: 214 filters:
188 title: 'Filtres' 215 title: 'Filtres'
189 status_label: 'Estatus' 216 status_label: 'Estat'
190 archived_label: 'Legits' 217 archived_label: 'Legits'
191 starred_label: 'Favorits' 218 starred_label: 'Favorits'
192 unread_label: 'Pas legits' 219 unread_label: 'Pas legits'
@@ -195,7 +222,7 @@ entry:
195 is_public_label: 'Ten un ligam public' 222 is_public_label: 'Ten un ligam public'
196 is_public_help: 'Ligam public' 223 is_public_help: 'Ligam public'
197 language_label: 'Lenga' 224 language_label: 'Lenga'
198 http_status_label: 'Estatut HTTP' 225 http_status_label: 'Estat HTTP'
199 reading_time: 226 reading_time:
200 label: 'Durada de lectura en minutas' 227 label: 'Durada de lectura en minutas'
201 from: 'de' 228 from: 'de'
@@ -237,7 +264,7 @@ entry:
237 provided_by: 'Provesit per' 264 provided_by: 'Provesit per'
238 new: 265 new:
239 page_title: 'Enregistrar un novèl article' 266 page_title: 'Enregistrar un novèl article'
240 placeholder: 'http://website.com' 267 placeholder: 'https://website.cat'
241 form_new: 268 form_new:
242 url_label: Url 269 url_label: Url
243 search: 270 search:
@@ -253,6 +280,11 @@ entry:
253 confirm: 280 confirm:
254 delete: "Sètz segur de voler suprimir aqueste article ?" 281 delete: "Sètz segur de voler suprimir aqueste article ?"
255 delete_tag: "Sètz segur de voler levar aquesta etiqueta de l'article ?" 282 delete_tag: "Sètz segur de voler levar aquesta etiqueta de l'article ?"
283 metadata:
284 reading_time: "Temps de lectura estimat"
285 reading_time_minutes_short: "%readingTime% min"
286 address: "Adreça"
287 added_on: "Ajustat a"
256 288
257about: 289about:
258 page_title: 'A prepaus' 290 page_title: 'A prepaus'
@@ -348,7 +380,7 @@ quickstart:
348 title: "Configuratz l'aplicacion" 380 title: "Configuratz l'aplicacion"
349 description: "Per fin d'aver una aplicacion que vos va ben, anatz veire la configuracion de wallabag." 381 description: "Per fin d'aver una aplicacion que vos va ben, anatz veire la configuracion de wallabag."
350 language: "Cambiatz la lenga e l'estil de l'aplicacion" 382 language: "Cambiatz la lenga e l'estil de l'aplicacion"
351 rss: 'Activatz los fluxes RSS' 383 feed: 'Activatz los fluxes RSS'
352 tagging_rules: 'Escrivètz de règlas per classar automaticament vòstres articles' 384 tagging_rules: 'Escrivètz de règlas per classar automaticament vòstres articles'
353 admin: 385 admin:
354 title: 'Administracion' 386 title: 'Administracion'
@@ -396,12 +428,16 @@ tag:
396 list: 428 list:
397 number_on_the_page: "{0} I a pas cap d'etiquetas.|{1} I a una etiqueta.|]1,Inf[ I a %count% etiquetas." 429 number_on_the_page: "{0} I a pas cap d'etiquetas.|{1} I a una etiqueta.|]1,Inf[ I a %count% etiquetas."
398 see_untagged_entries: "Afichar las entradas sens etiquetas" 430 see_untagged_entries: "Afichar las entradas sens etiquetas"
431 no_untagged_entries: 'I a pas cap d’article pas etiquetat.'
399 new: 432 new:
400 add: 'Ajustar' 433 add: 'Ajustar'
401 placeholder: "Podètz ajustar mai qu'una etiqueta, separadas per de virgula." 434 placeholder: "Podètz ajustar mai qu'una etiqueta, separadas per de virgula."
435 rename:
436 placeholder: 'Podètz actualizar lo nom de l’etiqueta.'
402 437
403export: 438export:
404 footer_template: '<div style="text-align:center;"><p>Produch per wallabag amb %method%</p><p>Mercés de dobrir <a href="https://github.com/wallabag/wallabag/issues">una sollicitacion</a> s’avètz de problèmas amb l’afichatge d’aqueste E-Book sus vòstre periferic.</p></div>' 439 footer_template: '<div style="text-align:center;"><p>Produch per wallabag amb %method%</p><p>Mercés de dobrir <a href="https://github.com/wallabag/wallabag/issues">una sollicitacion</a> s’avètz de problèmas amb l’afichatge d’aqueste E-Book sus vòstre periferic.</p></div>'
440 unknown: 'Desconegut'
405 441
406import: 442import:
407 page_title: 'Importar' 443 page_title: 'Importar'
@@ -429,6 +465,9 @@ import:
429 wallabag_v2: 465 wallabag_v2:
430 page_title: 'Importar > Wallabag v2' 466 page_title: 'Importar > Wallabag v2'
431 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\". Traparetz un fichièr \"All articles.json\"." 467 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\". Traparetz un fichièr \"All articles.json\"."
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
432 readability: 471 readability:
433 page_title: 'Importar > Readability' 472 page_title: 'Importar > Readability'
434 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)." 473 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)."
@@ -482,6 +521,7 @@ developer:
482 redirect_uris_label: 'URLs de redireccion' 521 redirect_uris_label: 'URLs de redireccion'
483 save_label: 'Crear un novèl client' 522 save_label: 'Crear un novèl client'
484 action_back: 'Retorn' 523 action_back: 'Retorn'
524 copy_to_clipboard: Copiar
485 client_parameter: 525 client_parameter:
486 page_title: 'Gestion dels clients API > Los paramètres de vòstre client' 526 page_title: 'Gestion dels clients API > Los paramètres de vòstre client'
487 page_description: 'Vaquí los paramètres de vòstre client.' 527 page_description: 'Vaquí los paramètres de vòstre client.'
@@ -523,7 +563,8 @@ user:
523 email_label: 'Adreça de corrièl' 563 email_label: 'Adreça de corrièl'
524 enabled_label: 'Actiu' 564 enabled_label: 'Actiu'
525 last_login_label: 'Darrièra connexion' 565 last_login_label: 'Darrièra connexion'
526 twofactor_label: 'Autentificacion doble-factor' 566 twofactor_email_label: Autentificacion en dos temps per corrièl
567 twofactor_google_label: Autentificacion en dos temps per aplicacion OTP
527 save: 'Enregistrar' 568 save: 'Enregistrar'
528 delete: 'Suprimir' 569 delete: 'Suprimir'
529 delete_confirm: 'Sètz segur ?' 570 delete_confirm: 'Sètz segur ?'
@@ -544,7 +585,7 @@ site_credential:
544 create_new_one: Crear un novèl identificant 585 create_new_one: Crear un novèl identificant
545 form: 586 form:
546 username_label: "Nom d'utilizaire" 587 username_label: "Nom d'utilizaire"
547 host_label: 'Òste' 588 host_label: 'Òste (subdomain.example.org, .example.org, etc.)'
548 password_label: 'Senhal' 589 password_label: 'Senhal'
549 save: 'Enregistrar' 590 save: 'Enregistrar'
550 delete: 'Suprimir' 591 delete: 'Suprimir'
@@ -561,14 +602,18 @@ flashes:
561 password_updated: 'Vòstre senhal es ben estat mes a jorn' 602 password_updated: 'Vòstre senhal es ben estat mes a jorn'
562 password_not_updated_demo: "En demostracion, podètz pas cambiar lo senhal d'aqueste utilizaire." 603 password_not_updated_demo: "En demostracion, podètz pas cambiar lo senhal d'aqueste utilizaire."
563 user_updated: 'Vòstres informacions personnelas son ben estadas mesas a jorn' 604 user_updated: 'Vòstres informacions personnelas son ben estadas mesas a jorn'
564 rss_updated: 'La configuracion dels fluxes RSS es ben estada mesa a jorn' 605 feed_updated: 'La configuracion dels fluxes RSS es ben estada mesa a jorn'
565 tagging_rules_updated: 'Règlas misa a jorn' 606 tagging_rules_updated: 'Règlas misa a jorn'
566 tagging_rules_deleted: 'Règla suprimida' 607 tagging_rules_deleted: 'Règla suprimida'
567 rss_token_updated: 'Geton RSS mes a jorn' 608 feed_token_updated: 'Geton RSS mes a jorn'
609 feed_token_revoked: 'Geton RSS revocat'
568 annotations_reset: Anotacions levadas 610 annotations_reset: Anotacions levadas
569 tags_reset: Etiquetas levadas 611 tags_reset: Etiquetas levadas
570 entries_reset: Articles levats 612 entries_reset: Articles levats
571 archived_reset: Articles archivat suprimits 613 archived_reset: Articles archivat suprimits
614 otp_enabled: Autentificacion en dos temps activada
615 tagging_rules_imported: Règlas d’etiquetatge importadas
616 tagging_rules_not_imported: Error en important las règlas d’etiquetatge
572 entry: 617 entry:
573 notice: 618 notice:
574 entry_already_saved: 'Article ja salvagardat lo %date%' 619 entry_already_saved: 'Article ja salvagardat lo %date%'
@@ -582,9 +627,11 @@ flashes:
582 entry_starred: 'Article ajustat dins los favorits' 627 entry_starred: 'Article ajustat dins los favorits'
583 entry_unstarred: 'Article quitat dels favorits' 628 entry_unstarred: 'Article quitat dels favorits'
584 entry_deleted: 'Article suprimit' 629 entry_deleted: 'Article suprimit'
630 no_random_entry: 'Cap d’article pas trobat amb aquestes critèris'
585 tag: 631 tag:
586 notice: 632 notice:
587 tag_added: 'Etiqueta ajustada' 633 tag_added: 'Etiqueta ajustada'
634 tag_renamed: 'Etiqueta renomenada'
588 import: 635 import:
589 notice: 636 notice:
590 failed: "L'importacion a fracassat, mercés de tornar ensajar." 637 failed: "L'importacion a fracassat, mercés de tornar ensajar."
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
index a64e60b0..93e8f852 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
@@ -33,10 +33,12 @@ menu:
33 back_to_unread: 'Powrót do nieprzeczytanych artykułów' 33 back_to_unread: 'Powrót do nieprzeczytanych artykułów'
34 users_management: 'Zarządzanie użytkownikami' 34 users_management: 'Zarządzanie użytkownikami'
35 site_credentials: 'Poświadczenia strony' 35 site_credentials: 'Poświadczenia strony'
36 quickstart: "Szybki start"
36 top: 37 top:
37 add_new_entry: 'Dodaj nowy wpis' 38 add_new_entry: 'Dodaj nowy wpis'
38 search: 'Szukaj' 39 search: 'Szukaj'
39 filter_entries: 'Filtruj wpisy' 40 filter_entries: 'Filtruj wpisy'
41 # random_entry: Jump to a random entry from that list
40 export: 'Eksportuj' 42 export: 'Eksportuj'
41 search_form: 43 search_form:
42 input_label: 'Wpisz swoje zapytanie tutaj' 44 input_label: 'Wpisz swoje zapytanie tutaj'
@@ -53,11 +55,12 @@ config:
53 page_title: 'Konfiguracja' 55 page_title: 'Konfiguracja'
54 tab_menu: 56 tab_menu:
55 settings: 'Ustawienia' 57 settings: 'Ustawienia'
56 rss: 'Kanał RSS' 58 feed: 'Kanał RSS'
57 user_info: 'Informacje o użytkowniku' 59 user_info: 'Informacje o użytkowniku'
58 password: 'Hasło' 60 password: 'Hasło'
59 rules: 'Zasady tagowania' 61 rules: 'Zasady tagowania'
60 new_user: 'Dodaj użytkownika' 62 new_user: 'Dodaj użytkownika'
63 reset: 'Reset'
61 form: 64 form:
62 save: 'Zapisz' 65 save: 'Zapisz'
63 form_settings: 66 form_settings:
@@ -65,12 +68,8 @@ config:
65 items_per_page_label: 'Ilość elementów na stronie' 68 items_per_page_label: 'Ilość elementów na stronie'
66 language_label: 'Język' 69 language_label: 'Język'
67 reading_speed: 70 reading_speed:
68 label: 'Prędkość czytania' 71 label: 'Prędkość czytania (słów na minutę)'
69 help_message: 'Możesz skorzystać z narzędzi online do określenia twojej prędkości czytania:' 72 help_message: 'Możesz skorzystać z narzędzi online do określenia twojej prędkości czytania:'
70 100_word: 'Czytam ~100 słów na minutę'
71 200_word: 'Czytam ~200 słów na minutę'
72 300_word: 'Czytam ~300 słów na minutę'
73 400_word: 'Czytam ~400 słów na minutę'
74 action_mark_as_read: 73 action_mark_as_read:
75 label: 'Gdzie zostaniesz przekierowany po oznaczeniu artukuły jako przeczytanego' 74 label: 'Gdzie zostaniesz przekierowany po oznaczeniu artukuły jako przeczytanego'
76 redirect_homepage: 'do strony głównej' 75 redirect_homepage: 'do strony głównej'
@@ -83,25 +82,35 @@ config:
83 help_reading_speed: "wallabag oblicza czas czytania każdego artykułu. Dzięki tej liście możesz określić swoje tempo. Wallabag przeliczy ponownie czas potrzebny, na przeczytanie każdego z artykułów." 82 help_reading_speed: "wallabag oblicza czas czytania każdego artykułu. Dzięki tej liście możesz określić swoje tempo. Wallabag przeliczy ponownie czas potrzebny, na przeczytanie każdego z artykułów."
84 help_language: "Możesz zmienić język interfejsu wallabag." 83 help_language: "Możesz zmienić język interfejsu wallabag."
85 help_pocket_consumer_key: "Wymagane dla importu z Pocket. Możesz go stworzyć na swoim koncie Pocket." 84 help_pocket_consumer_key: "Wymagane dla importu z Pocket. Możesz go stworzyć na swoim koncie Pocket."
86 form_rss: 85 form_feed:
87 description: 'Kanały RSS prowadzone przez wallabag pozwalają Ci na czytanie twoich zapisanych artykułów w twoim ulubionym czytniku RSS. Musisz najpierw wynegenerować tokena.‌' 86 description: 'Kanały RSS prowadzone przez wallabag pozwalają Ci na czytanie twoich zapisanych artykułów w twoim ulubionym czytniku RSS. Musisz najpierw wynegenerować tokena.‌'
88 token_label: 'Token RSS' 87 token_label: 'Token RSS'
89 no_token: 'Brak tokena' 88 no_token: 'Brak tokena'
90 token_create: 'Stwórz tokena' 89 token_create: 'Stwórz tokena'
91 token_reset: 'Zresetuj swojego tokena' 90 token_reset: 'Zresetuj swojego tokena'
92 rss_links: 'RSS links' 91 # token_revoke: 'Revoke the token'
93 rss_link: 92 feed_links: 'RSS links'
93 feed_link:
94 unread: 'Nieprzeczytane' 94 unread: 'Nieprzeczytane'
95 starred: 'Oznaczone gwiazdką' 95 starred: 'Oznaczone gwiazdką'
96 archive: 'Archiwum' 96 archive: 'Archiwum'
97 all: 'Wszystkie' 97 all: 'Wszystkie'
98 rss_limit: 'Link do RSS' 98 feed_limit: 'Link do RSS'
99 form_user: 99 form_user:
100 two_factor_description: "Włączenie autoryzacji dwuetapowej oznacza, że będziesz otrzymywał maile z kodem przy każdym nowym, niezaufanym połączeniu" 100 # two_factor_description: "Enabling two factor authentication means you'll receive an email with a code OR need to use an OTP app (like Google Authenticator, Authy or FreeOTP) to get a one time code on every new untrusted connection. You can't choose both option."
101 # login_label: 'Login (can not be changed)'
101 name_label: 'Nazwa' 102 name_label: 'Nazwa'
102 email_label: 'Adres email' 103 email_label: 'Adres email'
103 twoFactorAuthentication_label: 'Autoryzacja dwuetapowa' 104 two_factor:
104 help_twoFactorAuthentication: "Jeżeli włączysz autoryzację dwuetapową. Za każdym razem, kiedy będziesz chciał się zalogować, dostaniesz kod na swój e-mail." 105 # emailTwoFactor_label: 'Using email (receive a code by email)'
106 # googleTwoFactor_label: 'Using an OTP app (open the app, like Google Authenticator, Authy or FreeOTP, to get a one time code)'
107 # table_method: Method
108 # table_state: State
109 # table_action: Action
110 # state_enabled: Enabled
111 # state_disabled: Disabled
112 # action_email: Use email
113 # action_app: Use OTP App
105 delete: 114 delete:
106 title: Usuń moje konto (niebezpieczna strefa !) 115 title: Usuń moje konto (niebezpieczna strefa !)
107 description: Jeżeli usuniesz swoje konto, wszystkie twoje artykuły, tagi, adnotacje, oraz konto zostaną trwale usunięte (operacja jest NIEODWRACALNA). Następnie zostaniesz wylogowany. 116 description: Jeżeli usuniesz swoje konto, wszystkie twoje artykuły, tagi, adnotacje, oraz konto zostaną trwale usunięte (operacja jest NIEODWRACALNA). Następnie zostaniesz wylogowany.
@@ -127,6 +136,15 @@ config:
127 edit_rule_label: 'edytuj' 136 edit_rule_label: 'edytuj'
128 rule_label: 'Reguła' 137 rule_label: 'Reguła'
129 tags_label: 'Tagi' 138 tags_label: 'Tagi'
139 # card:
140 # new_tagging_rule: Create a tagging rule
141 # import_tagging_rules: Import tagging rules
142 # import_tagging_rules_detail: You have to select the JSON file you previously exported.
143 # export_tagging_rules: Export tagging rules
144 # export_tagging_rules_detail: This will download a JSON file that you can use to import tagging rules elsewhere or to backup them.
145 # file_label: JSON file
146 # import_submit: Import
147 # export: Export
130 faq: 148 faq:
131 title: 'FAQ' 149 title: 'FAQ'
132 tagging_rules_definition_title: 'Co oznaczają « reguły tagowania » ?' 150 tagging_rules_definition_title: 'Co oznaczają « reguły tagowania » ?'
@@ -159,6 +177,15 @@ config:
159 and: 'Jedna reguła I inna' 177 and: 'Jedna reguła I inna'
160 matches: 'Sprawdź czy <i>temat</i> pasuje <i>szukaj</i> (duże lub małe litery).<br />Przykład: <code>tytuł zawiera "piłka nożna"</code>' 178 matches: 'Sprawdź czy <i>temat</i> pasuje <i>szukaj</i> (duże lub małe litery).<br />Przykład: <code>tytuł zawiera "piłka nożna"</code>'
161 notmatches: 'Sprawdź czy <i>temat</i> nie zawiera <i>szukaj</i> (duże lub małe litery).<br />Przykład: <code>tytuł nie zawiera "piłka nożna"</code>' 179 notmatches: 'Sprawdź czy <i>temat</i> nie zawiera <i>szukaj</i> (duże lub małe litery).<br />Przykład: <code>tytuł nie zawiera "piłka nożna"</code>'
180 otp:
181 # page_title: Two-factor authentication
182 # app:
183 # two_factor_code_description_1: You just enabled the OTP two factor authentication, open your OTP app and use that code to get a one time password. It'll disapear after a page reload.
184 # two_factor_code_description_2: 'You can scan that QR Code with your app:'
185 # two_factor_code_description_3: 'Also, save these backup codes in a safe place, you can use them in case you lose access to your OTP app:'
186 # two_factor_code_description_4: 'Test an OTP code from your configured app:'
187 # cancel: Cancel
188 # enable: Enable
162 189
163entry: 190entry:
164 default_title: 'Tytuł wpisu' 191 default_title: 'Tytuł wpisu'
@@ -237,7 +264,7 @@ entry:
237 provided_by: 'Dostarczony przez' 264 provided_by: 'Dostarczony przez'
238 new: 265 new:
239 page_title: 'Zapisz nowy wpis' 266 page_title: 'Zapisz nowy wpis'
240 placeholder: 'http://website.com' 267 placeholder: 'https://website.pl'
241 form_new: 268 form_new:
242 url_label: Url 269 url_label: Url
243 search: 270 search:
@@ -253,6 +280,11 @@ entry:
253 confirm: 280 confirm:
254 delete: "Czy jesteś pewien, że chcesz usunąć ten artykuł?" 281 delete: "Czy jesteś pewien, że chcesz usunąć ten artykuł?"
255 delete_tag: "Czy jesteś pewien, że chcesz usunąć ten tag, z tego artykułu?" 282 delete_tag: "Czy jesteś pewien, że chcesz usunąć ten tag, z tego artykułu?"
283 metadata:
284 # reading_time: "Estimated reading time"
285 # reading_time_minutes_short: "%readingTime% min"
286 # address: "Address"
287 # added_on: "Added on"
256 288
257about: 289about:
258 page_title: 'O nas' 290 page_title: 'O nas'
@@ -348,7 +380,7 @@ quickstart:
348 title: 'Konfiguruj aplikację' 380 title: 'Konfiguruj aplikację'
349 description: 'W celu dopasowania aplikacji do swoich upodobań, zobacz konfigurację aplikacji' 381 description: 'W celu dopasowania aplikacji do swoich upodobań, zobacz konfigurację aplikacji'
350 language: 'Zmień język i wygląd' 382 language: 'Zmień język i wygląd'
351 rss: 'Włącz kanały RSS' 383 feed: 'Włącz kanały RSS'
352 tagging_rules: 'Napisz reguły pozwalające na automatyczne otagowanie twoich artykułów' 384 tagging_rules: 'Napisz reguły pozwalające na automatyczne otagowanie twoich artykułów'
353 admin: 385 admin:
354 title: 'Administracja' 386 title: 'Administracja'
@@ -396,12 +428,16 @@ tag:
396 list: 428 list:
397 number_on_the_page: '{0} Nie ma tagów.|{1} Jest jeden tag.|]1,Inf[ Są %count% tagi.' 429 number_on_the_page: '{0} Nie ma tagów.|{1} Jest jeden tag.|]1,Inf[ Są %count% tagi.'
398 see_untagged_entries: 'Zobacz nieotagowane wpisy' 430 see_untagged_entries: 'Zobacz nieotagowane wpisy'
431 # no_untagged_entries: 'There are no untagged entries.'
399 new: 432 new:
400 add: 'Dodaj' 433 add: 'Dodaj'
401 placeholder: 'Możesz dodać kilka tagów, oddzielając je przecinkami.' 434 placeholder: 'Możesz dodać kilka tagów, oddzielając je przecinkami.'
435 rename:
436 placeholder: 'Możesz zaktualizować nazwę taga.'
402 437
403export: 438export:
404 footer_template: '<div style="text-align:center;"><p>Stworzone przez wallabag z %method%</p><p>Proszę zgłoś <a href="https://github.com/wallabag/wallabag/issues">sprawę</a>, jeżeli masz problem z wyświetleniem tego e-booka na swoim urządzeniu.</p></div>' 439 footer_template: '<div style="text-align:center;"><p>Stworzone przez wallabag z %method%</p><p>Proszę zgłoś <a href="https://github.com/wallabag/wallabag/issues">sprawę</a>, jeżeli masz problem z wyświetleniem tego e-booka na swoim urządzeniu.</p></div>'
440 # unknown: 'Unknown'
405 441
406import: 442import:
407 page_title: 'Import' 443 page_title: 'Import'
@@ -429,6 +465,9 @@ import:
429 wallabag_v2: 465 wallabag_v2:
430 page_title: 'Import > Wallabag v2' 466 page_title: 'Import > Wallabag v2'
431 description: 'Ten importer, zaimportuje wszystkie twoje artykułu z wallabag v2. Idź do wszystkich artykułów, a następnie na panelu exportu kliknij na "JSON". Otrzymasz plik "All articles.json".' 467 description: 'Ten importer, zaimportuje wszystkie twoje artykułu z wallabag v2. Idź do wszystkich artykułów, a następnie na panelu exportu kliknij na "JSON". Otrzymasz plik "All articles.json".'
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
432 readability: 471 readability:
433 page_title: 'Import > Readability' 472 page_title: 'Import > Readability'
434 description: 'Ten importer, zaimportuje wszystkie twoje artykuły z Readability. Na stronie narzędzi (https://www.readability.com/tools/), kliknij na "Export your data" w sekcji "Data Export". Otrzymach email z plikiem JSON (plik nie będzie zawierał rozszerzenia .json).' 473 description: 'Ten importer, zaimportuje wszystkie twoje artykuły z Readability. Na stronie narzędzi (https://www.readability.com/tools/), kliknij na "Export your data" w sekcji "Data Export". Otrzymach email z plikiem JSON (plik nie będzie zawierał rozszerzenia .json).'
@@ -482,6 +521,7 @@ developer:
482 redirect_uris_label: 'Przekieruj adresy URI' 521 redirect_uris_label: 'Przekieruj adresy URI'
483 save_label: 'Stwórz nowego klienta' 522 save_label: 'Stwórz nowego klienta'
484 action_back: 'Cofnij' 523 action_back: 'Cofnij'
524 # copy_to_clipboard: Copy
485 client_parameter: 525 client_parameter:
486 page_title: 'Zarządzanie klientami API > Parametry klienta' 526 page_title: 'Zarządzanie klientami API > Parametry klienta'
487 page_description: 'Tutaj znajdują się parametry klienta.' 527 page_description: 'Tutaj znajdują się parametry klienta.'
@@ -523,7 +563,8 @@ user:
523 email_label: 'Adres email' 563 email_label: 'Adres email'
524 enabled_label: 'Włączony' 564 enabled_label: 'Włączony'
525 last_login_label: 'Ostatnie logowanie' 565 last_login_label: 'Ostatnie logowanie'
526 twofactor_label: Autoryzacja dwuetapowa 566 # twofactor_email_label: Two factor authentication by email
567 # twofactor_google_label: Two factor authentication by OTP app
527 save: Zapisz 568 save: Zapisz
528 delete: Usuń 569 delete: Usuń
529 delete_confirm: Jesteś pewien? 570 delete_confirm: Jesteś pewien?
@@ -544,7 +585,7 @@ site_credential:
544 create_new_one: Stwórz nowe poświadczenie 585 create_new_one: Stwórz nowe poświadczenie
545 form: 586 form:
546 username_label: 'Nazwa użytkownika' 587 username_label: 'Nazwa użytkownika'
547 host_label: 'Host' 588 host_label: 'Host (subdomain.example.org, .example.org, etc.)'
548 password_label: 'Hasło' 589 password_label: 'Hasło'
549 save: Zapisz 590 save: Zapisz
550 delete: Usuń 591 delete: Usuń
@@ -561,14 +602,18 @@ flashes:
561 password_updated: 'Hasło zaktualizowane' 602 password_updated: 'Hasło zaktualizowane'
562 password_not_updated_demo: "In demonstration mode, you can't change password for this user." 603 password_not_updated_demo: "In demonstration mode, you can't change password for this user."
563 user_updated: 'Informacje zaktualizowane' 604 user_updated: 'Informacje zaktualizowane'
564 rss_updated: 'Informacje RSS zaktualizowane' 605 feed_updated: 'Informacje RSS zaktualizowane'
565 tagging_rules_updated: 'Reguły tagowania zaktualizowane' 606 tagging_rules_updated: 'Reguły tagowania zaktualizowane'
566 tagging_rules_deleted: 'Reguła tagowania usunięta' 607 tagging_rules_deleted: 'Reguła tagowania usunięta'
567 rss_token_updated: 'Token kanału RSS zaktualizowany' 608 feed_token_updated: 'Token kanału RSS zaktualizowany'
609 # feed_token_revoked: 'RSS token revoked'
568 annotations_reset: Zresetuj adnotacje 610 annotations_reset: Zresetuj adnotacje
569 tags_reset: Zresetuj tagi 611 tags_reset: Zresetuj tagi
570 entries_reset: Zresetuj wpisy 612 entries_reset: Zresetuj wpisy
571 archived_reset: Zarchiwizowane wpisy usunięte 613 archived_reset: Zarchiwizowane wpisy usunięte
614 # otp_enabled: Two-factor authentication enabled
615 # tagging_rules_imported: Tagging rules imported
616 # tagging_rules_not_imported: Error while importing tagging rules
572 entry: 617 entry:
573 notice: 618 notice:
574 entry_already_saved: 'Wpis już został dodany %date%' 619 entry_already_saved: 'Wpis już został dodany %date%'
@@ -582,9 +627,11 @@ flashes:
582 entry_starred: 'Wpis oznaczony gwiazdką' 627 entry_starred: 'Wpis oznaczony gwiazdką'
583 entry_unstarred: 'Wpis odznaczony gwiazdką' 628 entry_unstarred: 'Wpis odznaczony gwiazdką'
584 entry_deleted: 'Wpis usunięty' 629 entry_deleted: 'Wpis usunięty'
630 # no_random_entry: 'No article with these criterias was found'
585 tag: 631 tag:
586 notice: 632 notice:
587 tag_added: 'Tag dodany' 633 tag_added: 'Tag dodany'
634 tag_renamed: 'Nazwa taga zmieniona'
588 import: 635 import:
589 notice: 636 notice:
590 failed: 'Nieudany import, prosimy spróbować ponownie.' 637 failed: 'Nieudany import, prosimy spróbować ponownie.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
index 58d2d058..7159569e 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
@@ -19,24 +19,26 @@ menu:
19 unread: 'Não lido' 19 unread: 'Não lido'
20 starred: 'Destacado' 20 starred: 'Destacado'
21 archive: 'Arquivo' 21 archive: 'Arquivo'
22 all_articles: 'Todas as entradas' 22 all_articles: 'Todos os artigos'
23 config: 'Configurações' 23 config: 'Configurações'
24 tags: 'Tags' 24 tags: 'Tags'
25 internal_settings: 'Configurações Internas' 25 internal_settings: 'Configurações Internas'
26 import: 'Importar' 26 import: 'Importar'
27 howto: 'How to' 27 howto: 'Ajuda'
28 # developer: 'API clients management' 28 developer: 'Gestão dos clientes API'
29 logout: 'Sair' 29 logout: 'Sair'
30 about: 'Sobre' 30 about: 'Sobre'
31 search: 'Pesquisa' 31 search: 'Pesquisa'
32 save_link: 'Salvar um link' 32 save_link: 'Salvar um link'
33 back_to_unread: 'Voltar para os artigos não lidos' 33 back_to_unread: 'Voltar para os artigos não lidos'
34 users_management: 'Gestão de Usuários' 34 users_management: 'Gestão de Usuários'
35 # site_credentials: 'Site credentials' 35 site_credentials: 'Credenciais do site'
36 quickstart: "Começo Rápido"
36 top: 37 top:
37 add_new_entry: 'Adicionar uma nova entrada' 38 add_new_entry: 'Adicionar um novo artigo'
38 search: 'Pesquisa' 39 search: 'Pesquisa'
39 filter_entries: 'Filtrar entradas' 40 filter_entries: 'Filtrar os artigos'
41 random_entry: Ir para um artigo aleatório desta lista
40 export: 'Exportar' 42 export: 'Exportar'
41 search_form: 43 search_form:
42 input_label: 'Digite aqui sua pesquisa' 44 input_label: 'Digite aqui sua pesquisa'
@@ -50,14 +52,15 @@ footer:
50 stats: 'Desde %user_creation% você leu %nb_archives% artigos. Isso é %per_day% por dia!' 52 stats: 'Desde %user_creation% você leu %nb_archives% artigos. Isso é %per_day% por dia!'
51 53
52config: 54config:
53 page_title: 'Config' 55 page_title: 'Configurações'
54 tab_menu: 56 tab_menu:
55 settings: 'Configurações' 57 settings: 'Configurações'
56 rss: 'RSS' 58 feed: 'RSS'
57 user_info: 'Informação do Usuário' 59 user_info: 'Informação do Usuário'
58 password: 'Senha' 60 password: 'Senha'
59 rules: 'Regras de tags' 61 rules: 'Regras de tags'
60 new_user: 'Adicionar um usuário' 62 new_user: 'Adicionar um usuário'
63 reset: 'Reiniciar minha conta'
61 form: 64 form:
62 save: 'Salvar' 65 save: 'Salvar'
63 form_settings: 66 form_settings:
@@ -65,68 +68,83 @@ config:
65 items_per_page_label: 'Itens por página' 68 items_per_page_label: 'Itens por página'
66 language_label: 'Idioma' 69 language_label: 'Idioma'
67 reading_speed: 70 reading_speed:
68 label: 'Velocidade de leitura' 71 label: 'Velocidade de leitura (palavras por minuto)'
69 help_message: 'Você pode usar ferramentas online para estimar sua velocidade de leitura:' 72 help_message: 'Você pode usar ferramentas online para estimar sua velocidade de leitura:'
70 100_word: 'Posso ler ~100 palavras por minuto'
71 200_word: 'Posso ler ~200 palavras por minuto'
72 300_word: 'Posso ler ~300 palavras por minuto'
73 400_word: 'Posso ler ~400 palavras por minuto'
74 action_mark_as_read: 73 action_mark_as_read:
75 # label: 'Where do you want to be redirected to after marking an article as read?' 74 label: 'Para onde vo deseja ser redirecionado após marcar um artigo como lido?'
76 # redirect_homepage: 'To the homepage' 75 redirect_homepage: 'Para a página inicial'
77 # redirect_current_page: 'To the current page' 76 redirect_current_page: 'Ficar na página atual'
78 pocket_consumer_key_label: 'Chave do consumidor do Pocket para importar conteúdo' 77 pocket_consumer_key_label: 'Chave do consumidor do Pocket para importar conteúdo'
79 # android_configuration: Configure your Android application 78 android_configuration: Configure seu aplicativo Android
80 # android_instruction: "Touch here to prefill your Android application" 79 android_instruction: "Toque aqui para preencher seu aplicativo Android"
81 # help_theme: "wallabag is customizable. You can choose your prefered theme here." 80 help_theme: "wallabag é personalizável. Você pode escolher o seu tema preferido aqui."
82 # help_items_per_page: "You can change the number of articles displayed on each page." 81 help_items_per_page: "Você pode alterar o número de artigos exibidos em cada página."
83 # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article." 82 help_reading_speed: "wallabag calcula um tempo de leitura para cada artigo. Você pode definir aqui, graças a esta lista, se você é um leitor rápido ou lento. O wallabag recalcula o tempo de leitura de cada artigo."
84 # help_language: "You can change the language of wallabag interface." 83 help_language: "Você pode alterar o idioma da interface de wallabag."
85 # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account." 84 help_pocket_consumer_key: "Necessário para importação desde Pocket. Você pode creá-lo na sua conta de Pocket."
86 form_rss: 85 form_feed:
87 description: 'Feeds RSS providos pelo wallabag permitem que você leia seus artigos salvos em seu leitor de RSS favorito. Você precisa gerar um token primeiro.' 86 description: 'Feeds RSS providos pelo wallabag permitem que você leia seus artigos salvos em seu leitor de RSS favorito. Você precisa gerar um token primeiro.'
88 token_label: 'Token RSS' 87 token_label: 'Token RSS'
89 no_token: 'Nenhum Token' 88 no_token: 'Nenhum Token'
90 token_create: 'Criar seu token' 89 token_create: 'Criar seu token'
91 token_reset: 'Gerar novamente seu token' 90 token_reset: 'Gerar novamente seu token'
92 rss_links: 'Links RSS' 91 token_revoke: 'Revocar token'
93 rss_link: 92 feed_links: 'Links RSS'
93 feed_link:
94 unread: 'Não lido' 94 unread: 'Não lido'
95 starred: 'Destacado' 95 starred: 'Destacado'
96 archive: 'Arquivado' 96 archive: 'Arquivado'
97 # all: 'All' 97 all: 'Todos'
98 rss_limit: 'Número de itens no feed' 98 feed_limit: 'Número de itens no feed'
99 form_user: 99 form_user:
100 two_factor_description: 'Habilitar autenticação de dois passos significa que você receberá um e-mail com um código a cada nova conexão desconhecida.' 100 two_factor_description: "Ativar a autenticação de dois fatores significa que você vai receber um e-mail com um código OU que você vai precisar usar um aplicativo OTP (como Google Authenticator, Authy ou FreeOTP) para conseguir um código de utilização única em cada nova conexão não confiável. Você não pode escolher as duas opções."
101 login_label: 'Nome de usuário (não pode ser mudado)'
101 name_label: 'Nome' 102 name_label: 'Nome'
102 email_label: 'E-mail' 103 email_label: 'E-mail'
103 twoFactorAuthentication_label: 'Autenticação de dois passos' 104 two_factor:
104 # help_twoFactorAuthentication: "If you enable 2FA, each time you want to login to wallabag, you'll receive a code by email." 105 emailTwoFactor_label: 'Usando e-mail (receber um código por e-mail)'
106 googleTwoFactor_label: 'Usando um aplicativo OTP (abra o aplicativo, como Google Authenticator, Authy ou FreeOTP, para conseguir um código de usagem único)'
107 table_method: Método
108 table_state: Estado
109 table_action: Ação
110 state_enabled: Ativado
111 state_disabled: Desativado
112 action_email: Usar e-mail
113 action_app: Usar aplicação OTP
105 delete: 114 delete:
106 # title: Delete my account (a.k.a danger zone) 115 title: Apagar minha conta (Zona de perigo)
107 # description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out. 116 description: Se você apaga sua conta, TODOS os seus artigos, TODOS os seus tags, TODAS suas anotações e sua conta serão PERMANENTEMENTE removidos (NÃO pode ser DESFEITO). Depois da operação você será desconectado.
108 # confirm: Are you really sure? (THIS CAN'T BE UNDONE) 117 confirm: Tem certeza? (ISSO NÃO PODE SER DESFEITO)
109 # button: Delete my account 118 button: Apagar minha conta
110 reset: 119 reset:
111 # title: Reset area (a.k.a danger zone) 120 title: Reiniciar minha conta (Zona de perigo)
112 # description: By hiting buttons below you'll have ability to remove some informations from your account. Be aware that these actions are IRREVERSIBLE. 121 description: Apertando os botões aqui em baixo você poderá remover informações da sua conta. Saiba que eessas ações sao IRREVERSIVEIS.
113 # annotations: Remove ALL annotations 122 annotations: Remover TODAS as anotações
114 # tags: Remove ALL tags 123 tags: Remover TODOS os tags
115 # entries: Remove ALL entries 124 entries: Remover TODOS os artigos
116 # archived: Remove ALL archived entries 125 archived: Remover TODOS os artigos arquivados
117 # confirm: Are you really really sure? (THIS CAN'T BE UNDONE) 126 confirm: Tem certeza? (ISSO NÃO PODE SER DESFEITO)
118 form_password: 127 form_password:
119 # description: "You can change your password here. Your new password should by at least 8 characters long." 128 description: "Você pode mudar a sua senha aqui. A nova senha deve ter pelo menos 8 caracteres."
120 old_password_label: 'Senha atual' 129 old_password_label: 'Senha atual'
121 new_password_label: 'Nova senha' 130 new_password_label: 'Nova senha'
122 repeat_new_password_label: 'Repita a nova senha' 131 repeat_new_password_label: 'Repita a nova senha'
123 form_rules: 132 form_rules:
124 if_label: 'if' 133 if_label: 'se'
125 then_tag_as_label: 'então coloque a tag' 134 then_tag_as_label: 'então coloque a tag'
126 delete_rule_label: 'apagar' 135 delete_rule_label: 'apagar'
127 edit_rule_label: 'editar' 136 edit_rule_label: 'editar'
128 rule_label: 'Regras' 137 rule_label: 'Regras'
129 tags_label: 'Tags' 138 tags_label: 'Tags'
139 card:
140 new_tagging_rule: Criar uma regra de tag
141 import_tagging_rules: Importar regras de tags
142 import_tagging_rules_detail: Você precisa selecionar o arquivo JSON exportado previamente.
143 export_tagging_rules: Exportar regras de tags
144 export_tagging_rules_detail: Isso vai baixar um arquivo JSON que você poderá usar para importar regras de marcação em outro local ou fazer uma cópia de segurança delas.
145 file_label: Arquivo JSON
146 import_submit: Importar
147 export: Exportar
130 faq: 148 faq:
131 title: 'FAQ' 149 title: 'FAQ'
132 tagging_rules_definition_title: 'O que as « regras de tags » significam?' 150 tagging_rules_definition_title: 'O que as « regras de tags » significam?'
@@ -135,18 +153,18 @@ config:
135 how_to_use_them_description: 'Vamos dizer que você deseja adicionar a tag « <i>leitura rápida</i> » quando o tempo de leitura for menor que 3 minutos.<br />Neste caso, você deve « readingTime &lt;= 3 » no campo <i>Regra</i> e « <i>leitura rápida</i> » no campo <i>Tags</i>.<br />Diversas tags podem ser adicionadas simultâneamente separando-as com vírgula: « <i>leitura rápida, precisa ser lido</i> »<br />Regras complexas podem ser escritas usando os seguintes operadores pré-definidos: if « <i>readingTime &gt;= 5 AND domainName = "github.com"</i> » então adicione a tag « <i>leitura longa, github </i> »' 153 how_to_use_them_description: 'Vamos dizer que você deseja adicionar a tag « <i>leitura rápida</i> » quando o tempo de leitura for menor que 3 minutos.<br />Neste caso, você deve « readingTime &lt;= 3 » no campo <i>Regra</i> e « <i>leitura rápida</i> » no campo <i>Tags</i>.<br />Diversas tags podem ser adicionadas simultâneamente separando-as com vírgula: « <i>leitura rápida, precisa ser lido</i> »<br />Regras complexas podem ser escritas usando os seguintes operadores pré-definidos: if « <i>readingTime &gt;= 5 AND domainName = "github.com"</i> » então adicione a tag « <i>leitura longa, github </i> »'
136 variables_available_title: 'Quais variáveis e operadores eu posso usar para escrever regras?' 154 variables_available_title: 'Quais variáveis e operadores eu posso usar para escrever regras?'
137 variables_available_description: 'As seguintes variáveis e operadores podem ser usados para criar regras de tags:' 155 variables_available_description: 'As seguintes variáveis e operadores podem ser usados para criar regras de tags:'
138 meaning: 'Meaning' 156 meaning: 'Significado'
139 variable_description: 157 variable_description:
140 label: 'Variável' 158 label: 'Variável'
141 title: 'Título da entrada' 159 title: 'Título do artigo'
142 url: 'URL da entrada' 160 url: 'URL do artigo'
143 isArchived: 'Se a entrada está arquivada ou não' 161 isArchived: 'Se o artigo está arquivado ou não'
144 isDestacado: 'Se a entrada está destacada ou não' 162 isDestacado: 'Se o artigo está destacado ou não'
145 content: 'O conteúdo da entrada' 163 content: 'O conteúdo do artigo'
146 language: 'O idioma da entrada' 164 language: 'O idioma do artigo'
147 mimetype: 'O mime-type da entrada' 165 mimetype: 'O mime-type do artigo'
148 readingTime: 'O tempo estimado de leitura da entrada, em minutos' 166 readingTime: 'O tempo estimado de leitura do artigo, em minutos'
149 domainName: 'O domínio da entrada' 167 domainName: 'O domínio do artigo'
150 operator_description: 168 operator_description:
151 label: 'Operador' 169 label: 'Operador'
152 less_than: 'Menor que...' 170 less_than: 'Menor que...'
@@ -157,22 +175,31 @@ config:
157 not_equal_to: 'Diferente de...' 175 not_equal_to: 'Diferente de...'
158 or: 'Uma regra OU outra' 176 or: 'Uma regra OU outra'
159 and: 'Uma regra E outra' 177 and: 'Uma regra E outra'
160 matches: 'Testa que um <i>assunto</i> corresponde a uma <i>pesquisa</i> (maiúscula ou minúscula).<br />Exemplo: <code>título corresponde a "futebol"</code>' 178 matches: 'Testa que um <i>assunto</i> corresponde a uma <i>pesquisa</i> (maiúscula ou minúscula).<br />Exemplo: <code>title matches "futebol"</code>'
161 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>' 179 notmatches: 'Testa que um <i>assunto</i> não corresponde a uma <i>search</i> (maiúscula ou minúscula).<br />Exemplo: <code>title notmatches "futebol"</code>'
180 otp:
181 page_title: Autenticação de dois fatores
182 app:
183 two_factor_code_description_1: Você acaba de ativar a autenticação de dois fatores com aplicativo OTP, abra seu aplicativo OTP e consegua um código de usagem único. Vai desaparecer ao recargar a página.
184 two_factor_code_description_2: 'Você pode escanear este código QR com seu aplicativo:'
185 two_factor_code_description_3: 'Não esqueça de guardar os códigos de segurança em um lugar seguro, você poderá usá-los se você perder o acesso ao seu aplicativo OTP:'
186 two_factor_code_description_4: 'Teste um código gerado pelo seu aplicativo OTP:'
187 cancel: Cancelar
188 enable: Ativar
162 189
163entry: 190entry:
164 default_title: 'Título da entrada' 191 default_title: 'Título do artigo'
165 page_titles: 192 page_titles:
166 unread: 'Entradas não lidas' 193 unread: 'Artigos não lidos'
167 starred: 'Entradas destacadas' 194 starred: 'Artigos destacados'
168 archived: 'Entradas arquivadas' 195 archived: 'Artigos arquivados'
169 filtered: 'Entradas filtradas' 196 filtered: 'Artigos filtrados'
170 filtered_tags: 'Filtrar por tags:' 197 filtered_tags: 'Filtrar por tags:'
171 # filtered_search: 'Filtered by search:' 198 filtered_search: 'Filtrar por busca:'
172 untagged: 'Entradas sem tags' 199 untagged: 'Entradas sem tags'
173 # all: 'All entries' 200 all: 'Todos os artigos'
174 list: 201 list:
175 number_on_the_page: '{0} Não existem entradas.|{1} Existe uma entrada.|]1,Inf[ Existem %count% entradas.' 202 number_on_the_page: '{0} Não existem artigos.|{1} Existe um artigo.|]1,Inf[ Existem %count% artigos.'
176 reading_time: 'tempo estimado de leitura' 203 reading_time: 'tempo estimado de leitura'
177 reading_time_minutes: 'tempo estimado de leitura: %readingTime% min' 204 reading_time_minutes: 'tempo estimado de leitura: %readingTime% min'
178 reading_time_less_one_minute: 'tempo estimado de leitura: &lt; 1 min' 205 reading_time_less_one_minute: 'tempo estimado de leitura: &lt; 1 min'
@@ -190,12 +217,12 @@ entry:
190 archived_label: 'Arquivado' 217 archived_label: 'Arquivado'
191 starred_label: 'Destacado' 218 starred_label: 'Destacado'
192 unread_label: 'Não Lido' 219 unread_label: 'Não Lido'
193 preview_picture_label: 'Possui uma imagem de preview' 220 preview_picture_label: 'Possui uma imagem de pré-visualização'
194 preview_picture_help: 'Imagem de preview' 221 preview_picture_help: 'Imagem de pré-visualização'
195 # is_public_label: 'Has a public link' 222 is_public_label: 'Tem um link público'
196 # is_public_help: 'Public link' 223 is_public_help: 'Link público'
197 language_label: 'Idioma' 224 language_label: 'Idioma'
198 # http_status_label: 'HTTP status' 225 http_status_label: 'Código de estado HTTP'
199 reading_time: 226 reading_time:
200 label: 'Tempo de leitura em minutos' 227 label: 'Tempo de leitura em minutos'
201 from: 'de' 228 from: 'de'
@@ -214,11 +241,11 @@ entry:
214 back_to_homepage: 'Voltar' 241 back_to_homepage: 'Voltar'
215 set_as_read: 'Marcar como lido' 242 set_as_read: 'Marcar como lido'
216 set_as_unread: 'Marcar como não lido' 243 set_as_unread: 'Marcar como não lido'
217 set_as_starred: 'Alternar destaque' 244 set_as_starred: 'Marcar como destacado'
218 view_original_article: 'Artigo original' 245 view_original_article: 'Artigo original'
219 re_fetch_content: 'Recapturar o conteúdo' 246 re_fetch_content: 'Recapturar o conteúdo'
220 delete: 'Apagar' 247 delete: 'Apagar'
221 add_a_tag: 'Adicionar uma tag' 248 add_a_tag: 'Adicionar um tag'
222 share_content: 'Compartilhar' 249 share_content: 'Compartilhar'
223 share_email_label: 'E-mail' 250 share_email_label: 'E-mail'
224 public_link: 'link público' 251 public_link: 'link público'
@@ -232,27 +259,32 @@ entry:
232 original_article: 'original' 259 original_article: 'original'
233 annotations_on_the_entry: '{0} Sem anotações|{1} Uma anotação|]1,Inf[ %nbAnnotations% anotações' 260 annotations_on_the_entry: '{0} Sem anotações|{1} Uma anotação|]1,Inf[ %nbAnnotations% anotações'
234 created_at: 'Data de criação' 261 created_at: 'Data de criação'
235 # published_at: 'Publication date' 262 published_at: 'Data de publicação'
236 # published_by: 'Published by' 263 published_by: 'Publicado por'
237 # provided_by: 'Provided by' 264 provided_by: 'Fornecido por'
238 new: 265 new:
239 page_title: 'Salvar nova entrada' 266 page_title: 'Salvar novo artigo'
240 placeholder: 'http://website.com' 267 placeholder: 'https://website.pt'
241 form_new: 268 form_new:
242 url_label: Url 269 url_label: Url
243 search: 270 search:
244 # placeholder: 'What are you looking for?' 271 placeholder: 'O que vo está procurando?'
245 edit: 272 edit:
246 page_title: 'Editar uma entrada' 273 page_title: 'Editar um artigo'
247 title_label: 'Título' 274 title_label: 'Título'
248 url_label: 'Url' 275 url_label: 'Url'
249 # origin_url_label: 'Origin url (from where you found that entry)' 276 origin_url_label: 'URL de origem url (onde vo encontrou este artigo)'
250 save_label: 'Salvar' 277 save_label: 'Salvar'
251 public: 278 public:
252 shared_by_wallabag: "Este artigo foi compartilhado pelo <a href='%wallabag_instance%'>wallabag</a>" 279 shared_by_wallabag: "Este artigo foi compartilhado pelo <a href='%wallabag_instance%'>wallabag</a>"
253 confirm: 280 confirm:
254 # delete: "Are you sure you want to remove that article?" 281 delete: Tem certeza de que deseja remover este artigo?"
255 # delete_tag: "Are you sure you want to remove that tag from that article?" 282 delete_tag: "Tem certeza de que deseja remover este tag deste artigo?"
283 metadata:
284 reading_time: "Tempo estimado de leitura"
285 reading_time_minutes_short: "%readingTime% min"
286 address: "Endereço"
287 added_on: "Adicionado o"
256 288
257about: 289about:
258 page_title: 'Sobre' 290 page_title: 'Sobre'
@@ -274,7 +306,7 @@ about:
274 bug_reports: 'Informar bugs' 306 bug_reports: 'Informar bugs'
275 support: '<a href="https://github.com/wallabag/wallabag/issues">no GitHub</a>' 307 support: '<a href="https://github.com/wallabag/wallabag/issues">no GitHub</a>'
276 helping: 308 helping:
277 description: 'wallabag é livre e software livre. Você pode nos ajudar:' 309 description: 'wallabag é um software livre e gratuito. Você pode nos ajudar:'
278 by_contributing: 'contribuindo com o projeto:' 310 by_contributing: 'contribuindo com o projeto:'
279 by_contributing_2: 'uma lista de todas as nossas necessidades' 311 by_contributing_2: 'uma lista de todas as nossas necessidades'
280 by_paypal: 'via Paypal' 312 by_paypal: 'via Paypal'
@@ -289,11 +321,11 @@ howto:
289 page_title: 'How to' 321 page_title: 'How to'
290 page_description: 'Existem diferentes formas de salvar um artigo:' 322 page_description: 'Existem diferentes formas de salvar um artigo:'
291 tab_menu: 323 tab_menu:
292 # add_link: "Add a link" 324 add_link: "Adicionar um link"
293 # shortcuts: "Use shortcuts" 325 shortcuts: "Usar atalhos"
294 top_menu: 326 top_menu:
295 browser_addons: 'Extensões de navegadores' 327 browser_addons: 'Extensões de navegadores'
296 mobile_apps: "App's móveis" 328 mobile_apps: "Aplicativos móveis"
297 bookmarklet: 'Bookmarklet' 329 bookmarklet: 'Bookmarklet'
298 form: 330 form:
299 description: 'Obrigado por este formulário' 331 description: 'Obrigado por este formulário'
@@ -308,34 +340,34 @@ howto:
308 ios: 'na iTunes Store' 340 ios: 'na iTunes Store'
309 windows: 'na Microsoft Store' 341 windows: 'na Microsoft Store'
310 bookmarklet: 342 bookmarklet:
311 description: 'Arraste e solve este link na sua barra de favoritos:' 343 description: 'Arraste e solte este link na sua barra de favoritos:'
312 shortcuts: 344 shortcuts:
313 # page_description: Here are the shortcuts available in wallabag. 345 page_description: Aqui estão os atalhos disponíveis no wallabag.
314 # shortcut: Shortcut 346 shortcut: Atalho
315 # action: Action 347 action: Ação
316 # all_pages_title: Shortcuts available in all pages 348 all_pages_title: Atalhos disponíveis em todas as páginas
317 # go_unread: Go to unread 349 go_unread: Ir para não lidos
318 # go_starred: Go to starred 350 go_starred: Ir para favoritos
319 # go_archive: Go to archive 351 go_archive: Ir para arquivados
320 # go_all: Go to all entries 352 go_all: Ir a todos os artigos
321 # go_tags: Go to tags 353 go_tags: Ir para tags
322 # go_config: Go to config 354 go_config: Ir para configuração
323 # go_import: Go to import 355 go_import: Ir para importar
324 # go_developers: Go to developers 356 go_developers: Ir para desenvolvedores
325 # go_howto: Go to howto (this page!) 357 go_howto: Ir para ajuda (esta página)
326 # go_logout: Logout 358 go_logout: Ir para sair
327 # list_title: Shortcuts available in listing pages 359 list_title: Atalhos disponíveis em páginas de listagem
328 # search: Display the search form 360 search: Exibir o formulário de pesquisa
329 # article_title: Shortcuts available in entry view 361 article_title: Atalhos disponíveis no artigo
330 # open_original: Open original URL of the entry 362 open_original: Abrir URL original do artigo
331 # toggle_favorite: Toggle star status for the entry 363 toggle_favorite: Marcar o artigo como destacado / não destacado
332 # toggle_archive: Toggle read status for the entry 364 toggle_archive: Marcar artigo como lido / não lido
333 # delete: Delete the entry 365 delete: Apagar o artigo
334 # material_title: Shortcuts available with Material theme only 366 material_title: Atalhos disponíveis apenas com o tema Material
335 # add_link: Add a new link 367 add_link: Adicionar um novo artigo
336 # hide_form: Hide the current form (search or new link) 368 hide_form: Ocultar o formulário atual (pesquisa ou novo artigo)
337 # arrows_navigation: Navigate through articles 369 arrows_navigation: Navegar pelo artigos
338 # open_article: Display the selected entry 370 open_article: Exibir o artigo selecionado
339 371
340quickstart: 372quickstart:
341 page_title: 'Começo Rápido' 373 page_title: 'Começo Rápido'
@@ -348,7 +380,7 @@ quickstart:
348 title: 'Configurar a aplicação' 380 title: 'Configurar a aplicação'
349 description: 'Para ter uma aplicação que atende você, dê uma olhada na configuração do wallabag.' 381 description: 'Para ter uma aplicação que atende você, dê uma olhada na configuração do wallabag.'
350 language: 'Alterar idioma e design' 382 language: 'Alterar idioma e design'
351 rss: 'Habilitar feeds RSS' 383 feed: 'Habilitar feeds RSS'
352 tagging_rules: 'Escrever regras para acrescentar tags automaticamente em seus artigos' 384 tagging_rules: 'Escrever regras para acrescentar tags automaticamente em seus artigos'
353 admin: 385 admin:
354 title: 'Administração' 386 title: 'Administração'
@@ -369,8 +401,8 @@ quickstart:
369 pocket: 'Migrar do Pocket' 401 pocket: 'Migrar do Pocket'
370 wallabag_v1: 'Migrar do wallabag v1' 402 wallabag_v1: 'Migrar do wallabag v1'
371 wallabag_v2: 'Migrar do wallabag v2' 403 wallabag_v2: 'Migrar do wallabag v2'
372 readability: 'Migrate from Readability' 404 readability: 'Migrar do Readability'
373 instapaper: 'Migrate from Instapaper' 405 instapaper: 'Migrar do Instapaper'
374 developer: 406 developer:
375 title: 'Desenvolvedores' 407 title: 'Desenvolvedores'
376 description: 'Nós também agradecemos os desenvolvedores: Docker, API, traduções, etc.' 408 description: 'Nós também agradecemos os desenvolvedores: Docker, API, traduções, etc.'
@@ -381,7 +413,7 @@ quickstart:
381 description: "Existem muitas funcionalidades no wallabag. Não hesite em ler o manual para conhecê-las e aprender como usá-las." 413 description: "Existem muitas funcionalidades no wallabag. Não hesite em ler o manual para conhecê-las e aprender como usá-las."
382 annotate: 'Anotar seu artigo' 414 annotate: 'Anotar seu artigo'
383 export: 'Converter seu artigo em ePUB ou PDF' 415 export: 'Converter seu artigo em ePUB ou PDF'
384 search_filters: 'veja coo você pode encontrar um artigo usanndo o motor de busca e filtros' 416 search_filters: 'veja como você pode encontrar um artigo usando o motor de busca e filtros'
385 fetching_errors: 'O que eu posso fazer quando um artigo encontra erros na recuperação?' 417 fetching_errors: 'O que eu posso fazer quando um artigo encontra erros na recuperação?'
386 all_docs: 'E outros muitos artigos!' 418 all_docs: 'E outros muitos artigos!'
387 support: 419 support:
@@ -396,21 +428,25 @@ tag:
396 list: 428 list:
397 number_on_the_page: '{0} Não existem tags.|{1} Uma tag.|]1,Inf[ Existem %count% tags.' 429 number_on_the_page: '{0} Não existem tags.|{1} Uma tag.|]1,Inf[ Existem %count% tags.'
398 see_untagged_entries: 'Ver entradas sem tags' 430 see_untagged_entries: 'Ver entradas sem tags'
431 no_untagged_entries: 'Não há entradas sem tags.'
399 new: 432 new:
400 # add: 'Add' 433 add: 'Adicionar'
401 # placeholder: 'You can add several tags, separated by a comma.' 434 placeholder: 'Você pode adicionar varios tags, separados por vírgulas.'
435 rename:
436 placeholder: 'Você pode atualizar o nome do tag.'
402 437
403# export: 438export:
404# footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>' 439 footer_template: '<div style="text-align:center;"><p>Producido por wallabag com %method%</p><p>Por favor abra <a href="https://github.com/wallabag/wallabag/issues">um bolheto</a> se você tiver problemas com a exibição deste E-Book no seu dispositivo.</p></div>'
440 unknown: 'Desconhecido'
405 441
406import: 442import:
407 page_title: 'Importar' 443 page_title: 'Importar'
408 page_description: 'Bem-vindo ao importador do wallabag. Por favo selecione o serviço do qual deseja migrar.' 444 page_description: 'Bem-vindo ao importador do wallabag. Por favor selecione o serviço do qual deseja migrar.'
409 action: 445 action:
410 import_contents: 'Importar conteúdos' 446 import_contents: 'Importar conteúdos'
411 form: 447 form:
412 mark_as_read_title: 'Marcar todos como lidos?' 448 mark_as_read_title: 'Marcar todos como lidos?'
413 mark_as_read_label: 'Marcar todas as entradas importadas como lidas' 449 mark_as_read_label: 'Marcar todos os artigos importados como lidos'
414 file_label: 'Arquivo' 450 file_label: 'Arquivo'
415 save_label: 'Carregar arquivo' 451 save_label: 'Carregar arquivo'
416 pocket: 452 pocket:
@@ -429,13 +465,16 @@ import:
429 wallabag_v2: 465 wallabag_v2:
430 page_title: 'Importar > Wallabag v2' 466 page_title: 'Importar > Wallabag v2'
431 description: 'Com este importador você importa todos os seus artigos do wallabag v2. Vá em Todos os artigos e então, na barra lateral de exportação, clique em "JSON". Você irá criar um arquivo "All articles.json".' 467 description: 'Com este importador você importa todos os seus artigos do wallabag v2. Vá em Todos os artigos e então, na barra lateral de exportação, clique em "JSON". Você irá criar um arquivo "All articles.json".'
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
432 readability: 471 readability:
433 page_title: 'Importar > Readability' 472 page_title: 'Importar > Readability'
434 description: 'Este importador pode importar todos os artigos do Readability. Nas página ferramentas (https://www.readability.com/tools/), clique em "Export your data" na seção "Data Export". Você receberá um e-mail para fazer o download de um json (que de fato não termina com .json).' 473 description: 'Este importador pode importar todos os artigos do Readability. Nas página ferramentas (https://www.readability.com/tools/), clique em "Export your data" na seção "Data Export". Você receberá um e-mail para fazer o download de um json (que de fato não termina com .json).'
435 how_to: 'Por favor, selecione sua exportação do Readability e clique no botão abaixo para importá-la.' 474 how_to: 'Por favor, selecione sua exportação do Readability e clique no botão abaixo para importá-la.'
436 worker: 475 worker:
437 enabled: "A importação é feita assíncronamente. Uma vez que a tarefa de importação é iniciada, um trabalho externo pode executar tarefas uma por vez. O serviço atual é:" 476 enabled: "A importação é feita assíncronamente. Uma vez que a tarefa de importação é iniciada, um trabalho externo pode executar tarefas uma por vez. O serviço atual é:"
438 # download_images_warning: "You enabled downloading images for your articles. Combined with classic import it can take ages to proceed (or maybe failed). We <strong>strongly recommend</strong> to enable asynchronous import to avoid errors." 477 download_images_warning: "Você ativou o donwload de imagens para os seus artigos. Combinado com a importação clásica isso pode demorar muito tempo (ou mesmo falhar). Nós <strong>recomendamos fortemente</strong> que você ative a importação assíncrona para evitar erros."
439 firefox: 478 firefox:
440 page_title: 'Importar > Firefox' 479 page_title: 'Importar > Firefox'
441 description: "Com este importador você importa todos os favoritos de seu Firefox. Somente vá até seus favoritos (Ctrl+Maj+O), e em \"Importar e Backup\" e escolha \"Backup...\". Você terá então um arquivo .json." 480 description: "Com este importador você importa todos os favoritos de seu Firefox. Somente vá até seus favoritos (Ctrl+Maj+O), e em \"Importar e Backup\" e escolha \"Backup...\". Você terá então um arquivo .json."
@@ -449,12 +488,12 @@ import:
449 description: 'Este importador pode importar todos os artigos do seu Instapaper. Nas página de configurações (https://www.instapaper.com/user), clique em "Download .CSV file" na seção "Export". Um arquivo CSV será baixado (algo como "instapaper-export.csv").' 488 description: 'Este importador pode importar todos os artigos do seu Instapaper. Nas página de configurações (https://www.instapaper.com/user), clique em "Download .CSV file" na seção "Export". Um arquivo CSV será baixado (algo como "instapaper-export.csv").'
450 how_to: 'Por favor, selecione sua exportação do seu Instapaper e clique no botão abaixo para importá-la.' 489 how_to: 'Por favor, selecione sua exportação do seu Instapaper e clique no botão abaixo para importá-la.'
451 pinboard: 490 pinboard:
452 # page_title: "Import > Pinboard" 491 page_title: "Importar > Pinboard"
453 # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").' 492 description: 'Este importador pode importar todos os artigos do seu Pinboard. Na página de cópia de segurança (https://pinboard.in/settings/backup), clique em "JSON" na seção "Bookmarks". Um arquivo JSON será baixado (algo como "pinboard_export").'
454 # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.' 493 how_to: 'Por favor selecione a sua exportação Pinboard e clique no botão em baixo para carregá-lo e importá-lo.'
455 494
456developer: 495developer:
457 # page_title: 'API clients management' 496 page_title: 'Gestão dos clientes API'
458 welcome_message: 'Bem-vindo a API do wallabag' 497 welcome_message: 'Bem-vindo a API do wallabag'
459 documentation: 'Documentação' 498 documentation: 'Documentação'
460 how_to_first_app: 'Como criar minha primeira aplicação' 499 how_to_first_app: 'Como criar minha primeira aplicação'
@@ -475,23 +514,24 @@ developer:
475 warn_message_2: 'Se você remover isso, todo o aplicativo configurado com este cliente não poderá se autenticar no seu wallabag.' 514 warn_message_2: 'Se você remover isso, todo o aplicativo configurado com este cliente não poderá se autenticar no seu wallabag.'
476 action: 'Remover este cliente' 515 action: 'Remover este cliente'
477 client: 516 client:
478 # page_title: 'API clients management > Novo cliente' 517 page_title: 'Gestão de clientes API > Novo cliente'
479 page_description: 'Você está prestes a criar um novo cliente. Por favor preencha o campo abaixo para a URI de redirecionamento de sua aplicação.' 518 page_description: 'Você está prestes a criar um novo cliente. Por favor preencha o campo abaixo para a URI de redirecionamento de sua aplicação.'
480 form: 519 form:
481 name_label: 'Nome do cliente' 520 name_label: 'Nome do cliente'
482 redirect_uris_label: 'URIs de redirecionamento' 521 redirect_uris_label: 'URIs de redirecionamento'
483 save_label: 'Criar um novo cliente' 522 save_label: 'Criar um novo cliente'
484 action_back: 'Voltar' 523 action_back: 'Voltar'
524 copy_to_clipboard: Copiar
485 client_parameter: 525 client_parameter:
486 # page_title: 'API clients management > Parâmetros de clientes' 526 page_title: 'Gestão de clientes API > Parâmetros de clientes'
487 page_description: 'Aqui estão os parâmetros de seus clientes.' 527 page_description: 'Aqui estão os parâmetros de seus clientes.'
488 field_name: 'Nome do cliente' 528 field_name: 'Nome do cliente'
489 field_id: 'ID do cliente' 529 field_id: 'ID do cliente'
490 field_secret: 'Chave do cliente' 530 field_secret: 'Chave do cliente'
491 back: 'Voltar' 531 back: 'Voltar'
492 read_howto: 'Leia o how-to "Criar minha primeira aplicação"' 532 read_howto: 'Leia o guia "Criar minha primeira aplicação"'
493 howto: 533 howto:
494 # page_title: 'API clients management > Criar minha primeira aplicação' 534 page_title: 'Gestão de clientes API > Criar minha primeira aplicação'
495 description: 535 description:
496 paragraph_1: 'Os seguintes comandos fazem uso da <a href="https://github.com/jkbrzt/httpie">biblioteca HTTPie</a>. Tenha certeza que ela está instalada em seu servidor antes de usá-la.' 536 paragraph_1: 'Os seguintes comandos fazem uso da <a href="https://github.com/jkbrzt/httpie">biblioteca HTTPie</a>. Tenha certeza que ela está instalada em seu servidor antes de usá-la.'
497 paragraph_2: 'Você precisa de um token para a comunicação entre sua aplicação terceira e a API do wallabag.' 537 paragraph_2: 'Você precisa de um token para a comunicação entre sua aplicação terceira e a API do wallabag.'
@@ -523,36 +563,37 @@ user:
523 email_label: 'E-mail' 563 email_label: 'E-mail'
524 enabled_label: 'Habilitado' 564 enabled_label: 'Habilitado'
525 last_login_label: 'Último login' 565 last_login_label: 'Último login'
526 twofactor_label: 'Autenticação de dois passos' 566 twofactor_email_label: Autenticação de dois fatores por e-mail
567 twofactor_google_label: Autenticação de dois fatores por aplicativo OTP
527 save: 'Salvar' 568 save: 'Salvar'
528 delete: 'Apagar' 569 delete: 'Apagar'
529 delete_confirm: 'Tem certeza?' 570 delete_confirm: 'Tem certeza?'
530 back_to_list: 'Voltar para a lista' 571 back_to_list: 'Voltar para a lista'
531 search: 572 search:
532 # placeholder: Filter by username or email 573 placeholder: Filtrar por nome de usuário ou e-mail
533 574
534site_credential: 575site_credential:
535 # page_title: Site credentials management 576 page_title: Gerenciamento de credenciais do site
536 # new_site_credential: Create a credential 577 new_site_credential: Criar uma credencial
537 # edit_site_credential: Edit an existing credential 578 edit_site_credential: Editar uma credencial existente
538 # description: "Here you can manage all credentials for sites which required them (create, edit and delete), like a paywall, an authentication, etc." 579 description: "Aqui você pode gerenciar todas as credenciais para os sites que precisam delas (criar, editar e apagar), como um paywall, uma autenticação, etc."
539 list: 580 list:
540 actions: 'Ações' 581 actions: 'Ações'
541 edit_action: 'Editar' 582 edit_action: 'Editar'
542 yes: 'Sim' 583 yes: 'Sim'
543 no: 'Não' 584 no: 'Não'
544 # create_new_one: Create a new credential 585 create_new_one: Criar uma nova credencial
545 form: 586 form:
546 # username_label: 'Username' 587 username_label: 'Nome de usuário'
547 # host_label: 'Host' 588 host_label: 'Host (subdominio.exemplo.org, .exemplo.org, etc.)'
548 # password_label: 'Password' 589 password_label: 'Senha'
549 save: 'Salvar' 590 save: 'Salvar'
550 delete: 'Apagar' 591 delete: 'Apagar'
551 delete_confirm: 'Tem certeza?' 592 delete_confirm: 'Tem certeza?'
552 back_to_list: 'Voltar para a lista' 593 back_to_list: 'Voltar para a lista'
553 594
554error: 595error:
555 # page_title: An error occurred 596 page_title: Um erro ocorreu
556 597
557flashes: 598flashes:
558 config: 599 config:
@@ -560,31 +601,37 @@ flashes:
560 config_saved: 'Configiração salva.' 601 config_saved: 'Configiração salva.'
561 password_updated: 'Senha atualizada' 602 password_updated: 'Senha atualizada'
562 password_not_updated_demo: 'Em modo de demonstração, você não pode alterar a senha deste usuário.' 603 password_not_updated_demo: 'Em modo de demonstração, você não pode alterar a senha deste usuário.'
563 # user_updated: 'Information updated' 604 user_updated: 'Informação atualizada'
564 rss_updated: 'Informação de RSS atualizada' 605 feed_updated: 'Informação de RSS atualizada'
565 tagging_rules_updated: 'Regras de tags atualizadas' 606 tagging_rules_updated: 'Regras de tags atualizadas'
566 tagging_rules_deleted: 'Regra de tag apagada' 607 tagging_rules_deleted: 'Regra de tag apagada'
567 rss_token_updated: 'Token RSS atualizado' 608 feed_token_updated: 'Token RSS atualizado'
568 # annotations_reset: Annotations reset 609 feed_token_revoked: 'Token RSS revogado'
569 # tags_reset: Tags reset 610 annotations_reset: Anotações reinicializadas
570 # entries_reset: Entries reset 611 tags_reset: Tags reinicializados
571 # archived_reset: Archived entries deleted 612 entries_reset: Artigos reinicializados
613 archived_reset: Artigos arquivados apagados
614 otp_enabled: Autenticação de dois fatores ativada
615 tagging_rules_imported: Regras de tags importadas
616 tagging_rules_not_imported: Erro ao importar regras de tags
572 entry: 617 entry:
573 notice: 618 notice:
574 entry_already_saved: 'Entrada já foi salva em %date%' 619 entry_already_saved: 'Artigo já foi salvo em %date%'
575 entry_saved: 'Entrada salva' 620 entry_saved: 'Artigo salvo'
576 entry_saved_failed: 'Failed to save entry' 621 entry_saved_failed: 'Artigo salvo mas falha na recuperação do conteúdo'
577 entry_updated: 'Entrada atualizada' 622 entry_updated: 'Artigo atualizado'
578 entry_reloaded: 'Entrada recarregada' 623 entry_reloaded: 'Artigo recarregado'
579 entry_reloaded_failed: 'Falha em recarregar a entrada' 624 entry_reloaded_failed: 'Artigo em recarregar o artigo'
580 entry_archived: 'Entrada arquivada' 625 entry_archived: 'Artigo arquivado'
581 entry_unarchived: 'Entrada desarquivada' 626 entry_unarchived: 'Artigo desarquivado'
582 entry_starred: 'Entrada destacada' 627 entry_starred: 'Artigo destacado'
583 entry_unstarred: 'Entrada não destacada' 628 entry_unstarred: 'Artigo não destacado'
584 entry_deleted: 'Entrada apagada' 629 entry_deleted: 'Artigo apagado'
630 no_random_entry: 'Nehum artigo com esses criterios foi encontrado'
585 tag: 631 tag:
586 notice: 632 notice:
587 tag_added: 'Tag adicionada' 633 tag_added: 'Tag adicionada'
634 tag_renamed: 'Tag renomeado'
588 import: 635 import:
589 notice: 636 notice:
590 failed: 'Importação falhou, por favor tente novamente.' 637 failed: 'Importação falhou, por favor tente novamente.'
@@ -605,6 +652,6 @@ flashes:
605 deleted: 'Usuário "%username%" removido' 652 deleted: 'Usuário "%username%" removido'
606 site_credential: 653 site_credential:
607 notice: 654 notice:
608 # added: 'Site credential for "%host%" added' 655 added: 'Credencial do site para "%host%" foi adicionada'
609 # updated: 'Site credential for "%host%" updated' 656 updated: 'Credencial do site pa "%host%" atualizada'
610 # deleted: 'Site credential for "%host%" deleted' 657 deleted: 'Credencial do site pa "%host%" removida'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
index 564fed94..f671da8d 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
@@ -33,10 +33,12 @@ menu:
33 back_to_unread: 'Înapoi la articolele necitite' 33 back_to_unread: 'Înapoi la articolele necitite'
34 # users_management: 'Users management' 34 # users_management: 'Users management'
35 # site_credentials: 'Site credentials' 35 # site_credentials: 'Site credentials'
36 # quickstart: "Quickstart"
36 top: 37 top:
37 add_new_entry: 'Introdu un nou articol' 38 add_new_entry: 'Introdu un nou articol'
38 search: 'Căutare' 39 search: 'Căutare'
39 filter_entries: 'Filtrează articolele' 40 filter_entries: 'Filtrează articolele'
41 # random_entry: Jump to a random entry from that list
40 # export: 'Export' 42 # export: 'Export'
41 search_form: 43 search_form:
42 input_label: 'Introdu căutarea ta' 44 input_label: 'Introdu căutarea ta'
@@ -53,11 +55,12 @@ config:
53 page_title: 'Configurație' 55 page_title: 'Configurație'
54 tab_menu: 56 tab_menu:
55 settings: 'Setări' 57 settings: 'Setări'
56 rss: 'RSS' 58 feed: 'RSS'
57 user_info: 'Informații despre utilizator' 59 user_info: 'Informații despre utilizator'
58 password: 'Parolă' 60 password: 'Parolă'
59 # rules: 'Tagging rules' 61 # rules: 'Tagging rules'
60 new_user: 'Crează un utilizator' 62 new_user: 'Crează un utilizator'
63 # reset: 'Reset area'
61 form: 64 form:
62 save: 'Salvează' 65 save: 'Salvează'
63 form_settings: 66 form_settings:
@@ -65,12 +68,8 @@ config:
65 items_per_page_label: 'Articole pe pagină' 68 items_per_page_label: 'Articole pe pagină'
66 language_label: 'Limbă' 69 language_label: 'Limbă'
67 reading_speed: 70 reading_speed:
68 # label: 'Reading speed' 71 # label: 'Reading speed (words per minute)'
69 # help_message: 'You can use online tools to estimate your reading speed:' 72 # help_message: 'You can use online tools to estimate your reading speed:'
70 # 100_word: 'I read ~100 words per minute'
71 # 200_word: 'I read ~200 words per minute'
72 # 300_word: 'I read ~300 words per minute'
73 # 400_word: 'I read ~400 words per minute'
74 action_mark_as_read: 73 action_mark_as_read:
75 # label: 'Where do you want to be redirected to after marking an article as read?' 74 # label: 'Where do you want to be redirected to after marking an article as read?'
76 # redirect_homepage: 'To the homepage' 75 # redirect_homepage: 'To the homepage'
@@ -83,25 +82,35 @@ config:
83 # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article." 82 # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article."
84 # help_language: "You can change the language of wallabag interface." 83 # help_language: "You can change the language of wallabag interface."
85 # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account." 84 # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account."
86 form_rss: 85 form_feed:
87 description: 'Feed-urile RSS oferite de wallabag îți permit să-ți citești articolele salvate în reader-ul tău preferat RSS.' 86 description: 'Feed-urile RSS oferite de wallabag îți permit să-ți citești articolele salvate în reader-ul tău preferat RSS.'
88 token_label: 'RSS-Token' 87 token_label: 'RSS-Token'
89 no_token: 'Fără token' 88 no_token: 'Fără token'
90 token_create: 'Crează-ți token' 89 token_create: 'Crează-ți token'
91 token_reset: 'Resetează-ți token-ul' 90 token_reset: 'Resetează-ți token-ul'
92 rss_links: 'Link-uri RSS' 91 # token_revoke: 'Revoke the token'
93 rss_link: 92 feed_links: 'Link-uri RSS'
93 feed_link:
94 unread: 'Unread' 94 unread: 'Unread'
95 starred: 'Starred' 95 starred: 'Starred'
96 archive: 'Archived' 96 archive: 'Archived'
97 # all: 'All' 97 # all: 'All'
98 rss_limit: 'Limită RSS' 98 feed_limit: 'Limită RSS'
99 form_user: 99 form_user:
100 # two_factor_description: "Enabling two factor authentication means you'll receive an email with a code on every new untrusted connexion" 100 # two_factor_description: "Enabling two factor authentication means you'll receive an email with a code OR need to use an OTP app (like Google Authenticator, Authy or FreeOTP) to get a one time code on every new untrusted connection. You can't choose both option."
101 # login_label: 'Login (can not be changed)'
101 name_label: 'Nume' 102 name_label: 'Nume'
102 email_label: 'E-mail' 103 email_label: 'E-mail'
103 # twoFactorAuthentication_label: 'Two factor authentication' 104 two_factor:
104 # help_twoFactorAuthentication: "If you enable 2FA, each time you want to login to wallabag, you'll receive a code by email." 105 # emailTwoFactor_label: 'Using email (receive a code by email)'
106 # googleTwoFactor_label: 'Using an OTP app (open the app, like Google Authenticator, Authy or FreeOTP, to get a one time code)'
107 # table_method: Method
108 # table_state: State
109 # table_action: Action
110 # state_enabled: Enabled
111 # state_disabled: Disabled
112 # action_email: Use email
113 # action_app: Use OTP App
105 delete: 114 delete:
106 # title: Delete my account (a.k.a danger zone) 115 # title: Delete my account (a.k.a danger zone)
107 # description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out. 116 # description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out.
@@ -127,6 +136,15 @@ config:
127 # edit_rule_label: 'edit' 136 # edit_rule_label: 'edit'
128 # rule_label: 'Rule' 137 # rule_label: 'Rule'
129 # tags_label: 'Tags' 138 # tags_label: 'Tags'
139 # card:
140 # new_tagging_rule: Create a tagging rule
141 # import_tagging_rules: Import tagging rules
142 # import_tagging_rules_detail: You have to select the JSON file you previously exported.
143 # export_tagging_rules: Export tagging rules
144 # export_tagging_rules_detail: This will download a JSON file that you can use to import tagging rules elsewhere or to backup them.
145 # file_label: JSON file
146 # import_submit: Import
147 # export: Export
130 # faq: 148 # faq:
131 # title: 'FAQ' 149 # title: 'FAQ'
132 # tagging_rules_definition_title: 'What does « tagging rules » mean?' 150 # tagging_rules_definition_title: 'What does « tagging rules » mean?'
@@ -159,6 +177,15 @@ config:
159 # and: 'One rule AND another' 177 # and: 'One rule AND another'
160 # matches: 'Tests that a <i>subject</i> matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>' 178 # matches: 'Tests that a <i>subject</i> matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>'
161 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>' 179 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>'
180 otp:
181 # page_title: Two-factor authentication
182 # app:
183 # two_factor_code_description_1: You just enabled the OTP two factor authentication, open your OTP app and use that code to get a one time password. It'll disapear after a page reload.
184 # two_factor_code_description_2: 'You can scan that QR Code with your app:'
185 # two_factor_code_description_3: 'Also, save these backup codes in a safe place, you can use them in case you lose access to your OTP app:'
186 # two_factor_code_description_4: 'Test an OTP code from your configured app:'
187 # cancel: Cancel
188 # enable: Enable
162 189
163entry: 190entry:
164 # default_title: 'Title of the entry' 191 # default_title: 'Title of the entry'
@@ -237,7 +264,7 @@ entry:
237 # provided_by: 'Provided by' 264 # provided_by: 'Provided by'
238 new: 265 new:
239 page_title: 'Salvează un nou articol' 266 page_title: 'Salvează un nou articol'
240 placeholder: 'http://website.com' 267 placeholder: 'https://website.ro'
241 form_new: 268 form_new:
242 url_label: Url 269 url_label: Url
243 search: 270 search:
@@ -253,6 +280,11 @@ entry:
253 confirm: 280 confirm:
254 # delete: "Are you sure you want to remove that article?" 281 # delete: "Are you sure you want to remove that article?"
255 # delete_tag: "Are you sure you want to remove that tag from that article?" 282 # delete_tag: "Are you sure you want to remove that tag from that article?"
283 metadata:
284 # reading_time: "Estimated reading time"
285 # reading_time_minutes_short: "%readingTime% min"
286 # address: "Address"
287 # added_on: "Added on"
256 288
257about: 289about:
258 page_title: 'Despre' 290 page_title: 'Despre'
@@ -348,7 +380,7 @@ quickstart:
348 # title: 'Configure the application' 380 # title: 'Configure the application'
349 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.' 381 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
350 # language: 'Change language and design' 382 # language: 'Change language and design'
351 # rss: 'Enable RSS feeds' 383 # feed: 'Enable RSS feeds'
352 # tagging_rules: 'Write rules to automatically tag your articles' 384 # tagging_rules: 'Write rules to automatically tag your articles'
353 # admin: 385 # admin:
354 # title: 'Administration' 386 # title: 'Administration'
@@ -396,12 +428,16 @@ tag:
396 list: 428 list:
397 # number_on_the_page: '{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.' 429 # number_on_the_page: '{0} There is no tag.|{1} There is one tag.|]1,Inf[ There are %count% tags.'
398 # see_untagged_entries: 'See untagged entries' 430 # see_untagged_entries: 'See untagged entries'
431 # no_untagged_entries: 'There are no untagged entries.'
399 new: 432 new:
400 # add: 'Add' 433 # add: 'Add'
401 # placeholder: 'You can add several tags, separated by a comma.' 434 # placeholder: 'You can add several tags, separated by a comma.'
435 rename:
436 # placeholder: 'You can update tag name.'
402 437
403# export: 438export:
404# footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>' 439 # footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>'
440 # unknown: 'Unknown'
405 441
406import: 442import:
407 # page_title: 'Import' 443 # page_title: 'Import'
@@ -429,6 +465,9 @@ import:
429 # wallabag_v2: 465 # wallabag_v2:
430 # page_title: 'Import > Wallabag v2' 466 # page_title: 'Import > Wallabag v2'
431 # description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.' 467 # description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.'
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
432 # readability: 471 # readability:
433 # page_title: 'Import > Readability' 472 # page_title: 'Import > Readability'
434 # description: 'This importer will import all your Readability articles. On the tools (https://www.readability.com/tools/) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).' 473 # description: 'This importer will import all your Readability articles. On the tools (https://www.readability.com/tools/) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).'
@@ -482,6 +521,7 @@ developer:
482 # redirect_uris_label: 'Redirect URIs' 521 # redirect_uris_label: 'Redirect URIs'
483 # save_label: 'Create a new client' 522 # save_label: 'Create a new client'
484 # action_back: 'Back' 523 # action_back: 'Back'
524 # copy_to_clipboard: Copy
485 # client_parameter: 525 # client_parameter:
486 # page_title: 'API clients management > Client parameters' 526 # page_title: 'API clients management > Client parameters'
487 # page_description: 'Here are your client parameters.' 527 # page_description: 'Here are your client parameters.'
@@ -523,7 +563,8 @@ user:
523 email_label: 'E-mail' 563 email_label: 'E-mail'
524 # enabled_label: 'Enabled' 564 # enabled_label: 'Enabled'
525 # last_login_label: 'Last login' 565 # last_login_label: 'Last login'
526 # twofactor_label: Two factor authentication 566 # twofactor_email_label: Two factor authentication by email
567 # twofactor_google_label: Two factor authentication by OTP app
527 # save: Save 568 # save: Save
528 # delete: Delete 569 # delete: Delete
529 # delete_confirm: Are you sure? 570 # delete_confirm: Are you sure?
@@ -544,7 +585,7 @@ site_credential:
544 # create_new_one: Create a new credential 585 # create_new_one: Create a new credential
545 # form: 586 # form:
546 # username_label: 'Username' 587 # username_label: 'Username'
547 # host_label: 'Host' 588 # host_label: 'Host (subdomain.example.org, .example.org, etc.)'
548 # password_label: 'Password' 589 # password_label: 'Password'
549 # save: Save 590 # save: Save
550 # delete: Delete 591 # delete: Delete
@@ -561,14 +602,18 @@ flashes:
561 password_updated: 'Parolă actualizată' 602 password_updated: 'Parolă actualizată'
562 password_not_updated_demo: "In demonstration mode, you can't change password for this user." 603 password_not_updated_demo: "In demonstration mode, you can't change password for this user."
563 user_updated: 'Informație actualizată' 604 user_updated: 'Informație actualizată'
564 rss_updated: 'Informație RSS actualizată' 605 feed_updated: 'Informație RSS actualizată'
565 # tagging_rules_updated: 'Tagging rules updated' 606 # tagging_rules_updated: 'Tagging rules updated'
566 # tagging_rules_deleted: 'Tagging rule deleted' 607 # tagging_rules_deleted: 'Tagging rule deleted'
567 # rss_token_updated: 'RSS token updated' 608 # feed_token_updated: 'RSS token updated'
609 # feed_token_revoked: 'RSS token revoked'
568 # annotations_reset: Annotations reset 610 # annotations_reset: Annotations reset
569 # tags_reset: Tags reset 611 # tags_reset: Tags reset
570 # entries_reset: Entries reset 612 # entries_reset: Entries reset
571 # archived_reset: Archived entries deleted 613 # archived_reset: Archived entries deleted
614 # otp_enabled: Two-factor authentication enabled
615 # tagging_rules_imported: Tagging rules imported
616 # tagging_rules_not_imported: Error while importing tagging rules
572 entry: 617 entry:
573 notice: 618 notice:
574 # entry_already_saved: 'Entry already saved on %date%' 619 # entry_already_saved: 'Entry already saved on %date%'
@@ -582,9 +627,11 @@ flashes:
582 entry_starred: 'Articol adăugat la favorite' 627 entry_starred: 'Articol adăugat la favorite'
583 entry_unstarred: 'Articol șters de la favorite' 628 entry_unstarred: 'Articol șters de la favorite'
584 entry_deleted: 'Articol șters' 629 entry_deleted: 'Articol șters'
630 # no_random_entry: 'No article with these criterias was found'
585 tag: 631 tag:
586 notice: 632 notice:
587 # tag_added: 'Tag added' 633 # tag_added: 'Tag added'
634 # tag_renamed: 'Tag renamed'
588 import: 635 import:
589 notice: 636 notice:
590 # failed: 'Import failed, please try again.' 637 # failed: 'Import failed, please try again.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml
index 5f210c93..7d45df1c 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ru.yml
@@ -32,10 +32,13 @@ menu:
32 save_link: 'Сохранить ссылку' 32 save_link: 'Сохранить ссылку'
33 back_to_unread: 'Назад к непрочитанным записям' 33 back_to_unread: 'Назад к непрочитанным записям'
34 users_management: 'Управление пользователями' 34 users_management: 'Управление пользователями'
35 site_credentials: 'Site credentials'
36 quickstart: "Быстрый старт"
35 top: 37 top:
36 add_new_entry: 'Добавить новую запись' 38 add_new_entry: 'Добавить новую запись'
37 search: 'Поиск' 39 search: 'Поиск'
38 filter_entries: 'Фильтр записей' 40 filter_entries: 'Фильтр записей'
41 # random_entry: Jump to a random entry from that list
39 export: 'Экспорт' 42 export: 'Экспорт'
40 search_form: 43 search_form:
41 input_label: 'Введите текст для поиска' 44 input_label: 'Введите текст для поиска'
@@ -52,11 +55,12 @@ config:
52 page_title: 'Настройки' 55 page_title: 'Настройки'
53 tab_menu: 56 tab_menu:
54 settings: 'Настройки' 57 settings: 'Настройки'
55 rss: 'RSS' 58 feed: 'RSS'
56 user_info: 'Информация о пользователе' 59 user_info: 'Информация о пользователе'
57 password: 'Пароль' 60 password: 'Пароль'
58 rules: 'Правила настройки простановки тегов' 61 rules: 'Правила настройки простановки тегов'
59 new_user: 'Добавить пользователя' 62 new_user: 'Добавить пользователя'
63 reset: 'Сброс данных'
60 form: 64 form:
61 save: 'Сохранить' 65 save: 'Сохранить'
62 form_settings: 66 form_settings:
@@ -64,41 +68,49 @@ config:
64 items_per_page_label: 'Записей на странице' 68 items_per_page_label: 'Записей на странице'
65 language_label: 'Язык' 69 language_label: 'Язык'
66 reading_speed: 70 reading_speed:
67 label: 'Скорость чтения' 71 label: 'Скорость чтения (слов в минуту)'
68 help_message: 'Вы можете использовать онлайн-инструменты для оценки скорости чтения:' 72 help_message: 'Вы можете использовать онлайн-инструменты для оценки скорости чтения:'
69 100_word: 'Я читаю ~100 слов в минуту'
70 200_word: 'Я читаю ~200 слов в минуту'
71 300_word: 'Я читаю ~300 слов в минуту'
72 400_word: 'Я читаю ~400 слов в минуту'
73 action_mark_as_read: 73 action_mark_as_read:
74 label: 'Куда Вы хотите быть перенаправлены, после пометки записи, как прочитанная?' 74 label: 'Куда Вы хотите быть перенаправлены, после пометки записи, как прочитанная?'
75 redirect_homepage: 'На домашнюю страницу' 75 redirect_homepage: 'На домашнюю страницу'
76 redirect_current_page: 'На текущую страницу' 76 redirect_current_page: 'На текущую страницу'
77 pocket_consumer_key_label: "Ключ от Pocket для импорта контента" 77 pocket_consumer_key_label: "Ключ от Pocket для импорта контента"
78 android_configuration: "Настройте Ваше Android приложение" 78 android_configuration: "Настройте Ваше Android приложение"
79 # android_instruction: "Touch here to prefill your Android application"
79 help_theme: "wallabag настраиваемый, здесь Вы можете выбрать тему." 80 help_theme: "wallabag настраиваемый, здесь Вы можете выбрать тему."
80 help_items_per_page: "Вы можете выбрать количество отображаемых записей на странице." 81 help_items_per_page: "Вы можете выбрать количество отображаемых записей на странице."
81 help_reading_speed: "wallabag посчитает сколько времени занимает чтение каждой записи. Вы можете определить здесь, как быстро вы читаете. wallabag пересчитает время чтения для каждой записи." 82 help_reading_speed: "wallabag посчитает сколько времени занимает чтение каждой записи. Вы можете определить здесь, как быстро вы читаете. wallabag пересчитает время чтения для каждой записи."
82 help_language: "Вы можете изменить язык интерфейса wallabag." 83 help_language: "Вы можете изменить язык интерфейса wallabag."
83 help_pocket_consumer_key: "Обязательно для импорта из Pocket. Вы можете создать это в Вашем аккаунте на Pocket." 84 help_pocket_consumer_key: "Обязательно для импорта из Pocket. Вы можете создать это в Вашем аккаунте на Pocket."
84 form_rss: 85 form_feed:
85 description: 'RSS фид созданный с помощью wallabag позволяет читать Ваши записи через Ваш любимый RSS агрегатор. Для начала Вам потребуется создать ключ.' 86 description: 'RSS фид созданный с помощью wallabag позволяет читать Ваши записи через Ваш любимый RSS агрегатор. Для начала Вам потребуется создать ключ.'
86 token_label: 'RSS ключ' 87 token_label: 'RSS ключ'
87 no_token: 'Ключ не задан' 88 no_token: 'Ключ не задан'
88 token_create: 'Создать ключ' 89 token_create: 'Создать ключ'
89 token_reset: 'Пересоздать ключ' 90 token_reset: 'Пересоздать ключ'
90 rss_links: 'ссылка на RSS' 91 # token_revoke: 'Revoke the token'
91 rss_link: 92 feed_links: 'ссылка на RSS'
93 feed_link:
92 unread: 'непрочитанные' 94 unread: 'непрочитанные'
93 starred: 'помеченные' 95 starred: 'помеченные'
94 archive: 'архивные' 96 archive: 'архивные'
95 rss_limit: 'Количество записей в фиде' 97 # all: 'All'
98 feed_limit: 'Количество записей в фиде'
96 form_user: 99 form_user:
97 two_factor_description: "Включить двухфакторную аутентификацию, Вы получите сообщение на указанный email с кодом, при каждом новом непроверенном подключении." 100 # two_factor_description: "Enabling two factor authentication means you'll receive an email with a code OR need to use an OTP app (like Google Authenticator, Authy or FreeOTP) to get a one time code on every new untrusted connection. You can't choose both option."
101 # login_label: 'Login (can not be changed)'
98 name_label: 'Имя' 102 name_label: 'Имя'
99 email_label: 'Email' 103 email_label: 'Email'
100 twoFactorAuthentication_label: 'Двухфакторная аутентификация' 104 two_factor:
101 help_twoFactorAuthentication: "Если Вы включите двухфакторную аутентификацию, то Вы будете получать код на указанный ранее email, каждый раз при входе в wallabag." 105 # emailTwoFactor_label: 'Using email (receive a code by email)'
106 # googleTwoFactor_label: 'Using an OTP app (open the app, like Google Authenticator, Authy or FreeOTP, to get a one time code)'
107 # table_method: Method
108 # table_state: State
109 # table_action: Action
110 # state_enabled: Enabled
111 # state_disabled: Disabled
112 # action_email: Use email
113 # action_app: Use OTP App
102 delete: 114 delete:
103 title: "Удалить мой аккаунт (или опасная зона)" 115 title: "Удалить мой аккаунт (или опасная зона)"
104 description: "Если Вы удалите ваш аккаунт, ВСЕ ваши записи, теги и другие данные, будут БЕЗВОЗВРАТНО удалены (операция не может быть отменена после). Затем Вы выйдете из системы." 116 description: "Если Вы удалите ваш аккаунт, ВСЕ ваши записи, теги и другие данные, будут БЕЗВОЗВРАТНО удалены (операция не может быть отменена после). Затем Вы выйдете из системы."
@@ -110,6 +122,7 @@ config:
110 annotations: "Удалить все аннотации" 122 annotations: "Удалить все аннотации"
111 tags: "Удалить все теги" 123 tags: "Удалить все теги"
112 entries: "Удалить все записи" 124 entries: "Удалить все записи"
125 # archived: Remove ALL archived entries
113 confirm: "Вы уверены? (Данные будут БЕЗВОЗВРАТНО удалены, эти действия необратимы)" 126 confirm: "Вы уверены? (Данные будут БЕЗВОЗВРАТНО удалены, эти действия необратимы)"
114 form_password: 127 form_password:
115 description: "Здесь Вы можете поменять своя пароль. Ваш пароль должен быть длиннее 8 символов." 128 description: "Здесь Вы можете поменять своя пароль. Ваш пароль должен быть длиннее 8 символов."
@@ -123,6 +136,15 @@ config:
123 edit_rule_label: 'изменить' 136 edit_rule_label: 'изменить'
124 rule_label: 'Правило' 137 rule_label: 'Правило'
125 tags_label: 'теги' 138 tags_label: 'теги'
139 # card:
140 # new_tagging_rule: Create a tagging rule
141 # import_tagging_rules: Import tagging rules
142 # import_tagging_rules_detail: You have to select the JSON file you previously exported.
143 # export_tagging_rules: Export tagging rules
144 # export_tagging_rules_detail: This will download a JSON file that you can use to import tagging rules elsewhere or to backup them.
145 # file_label: JSON file
146 # import_submit: Import
147 # export: Export
126 faq: 148 faq:
127 title: 'FAQ' 149 title: 'FAQ'
128 tagging_rules_definition_title: 'Что значит "правило тегирования"?' 150 tagging_rules_definition_title: 'Что значит "правило тегирования"?'
@@ -154,6 +176,16 @@ config:
154 or: 'Одно правило ИЛИ другое' 176 or: 'Одно правило ИЛИ другое'
155 and: 'Одно правило И другое' 177 and: 'Одно правило И другое'
156 matches: 'Тесты, в которых <i> тема </i> соответствует <i> поиску </i> (без учета регистра). Пример: <code> title matches "футбол" </code>' 178 matches: 'Тесты, в которых <i> тема </i> соответствует <i> поиску </i> (без учета регистра). Пример: <code> title matches "футбол" </code>'
179 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>'
180 otp:
181 # page_title: Two-factor authentication
182 # app:
183 # two_factor_code_description_1: You just enabled the OTP two factor authentication, open your OTP app and use that code to get a one time password. It'll disapear after a page reload.
184 # two_factor_code_description_2: 'You can scan that QR Code with your app:'
185 # two_factor_code_description_3: 'Also, save these backup codes in a safe place, you can use them in case you lose access to your OTP app:'
186 # two_factor_code_description_4: 'Test an OTP code from your configured app:'
187 # cancel: Cancel
188 # enable: Enable
157 189
158entry: 190entry:
159 default_title: 'Название записи' 191 default_title: 'Название записи'
@@ -165,6 +197,7 @@ entry:
165 filtered_tags: 'Отфильтрованные по тегу:' 197 filtered_tags: 'Отфильтрованные по тегу:'
166 filtered_search: 'Отфильтрованные по поиску:' 198 filtered_search: 'Отфильтрованные по поиску:'
167 untagged: 'Записи без тегов' 199 untagged: 'Записи без тегов'
200 # all: 'All entries'
168 list: 201 list:
169 number_on_the_page: '{0} Записей не обнаружено.|{1} Одна запись.|]1,Inf[ Найдено %count% записей.' 202 number_on_the_page: '{0} Записей не обнаружено.|{1} Одна запись.|]1,Inf[ Найдено %count% записей.'
170 reading_time: 'расчетное время чтения' 203 reading_time: 'расчетное время чтения'
@@ -186,6 +219,8 @@ entry:
186 unread_label: 'Непрочитанная' 219 unread_label: 'Непрочитанная'
187 preview_picture_label: 'Есть картинка предварительного просмотра' 220 preview_picture_label: 'Есть картинка предварительного просмотра'
188 preview_picture_help: 'Картинка предварительного просмотра' 221 preview_picture_help: 'Картинка предварительного просмотра'
222 # is_public_label: 'Has a public link'
223 # is_public_help: 'Public link'
189 language_label: 'Язык' 224 language_label: 'Язык'
190 http_status_label: 'статус HTTP' 225 http_status_label: 'статус HTTP'
191 reading_time: 226 reading_time:
@@ -224,10 +259,12 @@ entry:
224 original_article: 'оригинал' 259 original_article: 'оригинал'
225 annotations_on_the_entry: '{0} Нет аннотации|{1} Одна аннотация|]1,Inf[ %count% аннотаций' 260 annotations_on_the_entry: '{0} Нет аннотации|{1} Одна аннотация|]1,Inf[ %count% аннотаций'
226 created_at: 'Дата создания' 261 created_at: 'Дата создания'
262 # published_at: 'Publication date'
263 # published_by: 'Published by'
227 # provided_by: 'Provided by' 264 # provided_by: 'Provided by'
228 new: 265 new:
229 page_title: 'Сохранить новую запись' 266 page_title: 'Сохранить новую запись'
230 placeholder: 'http://website.com' 267 placeholder: 'https://website.ru'
231 form_new: 268 form_new:
232 url_label: Ссылка 269 url_label: Ссылка
233 search: 270 search:
@@ -237,10 +274,17 @@ entry:
237 title_label: 'Название' 274 title_label: 'Название'
238 url_label: 'Ссылка' 275 url_label: 'Ссылка'
239 # origin_url_label: 'Origin url (from where you found that entry)' 276 # origin_url_label: 'Origin url (from where you found that entry)'
240 is_public_label: 'Публичная'
241 save_label: 'Сохранить' 277 save_label: 'Сохранить'
242 public: 278 public:
243 shared_by_wallabag: "Запись была опубликована <a href='%wallabag_instance%'>wallabag</a>" 279 shared_by_wallabag: "Запись была опубликована <a href='%wallabag_instance%'>wallabag</a>"
280 confirm:
281 # delete: "Are you sure you want to remove that article?"
282 # delete_tag: "Are you sure you want to remove that tag from that article?"
283 metadata:
284 # reading_time: "Estimated reading time"
285 # reading_time_minutes_short: "%readingTime% min"
286 # address: "Address"
287 # added_on: "Added on"
244 288
245about: 289about:
246 page_title: 'О' 290 page_title: 'О'
@@ -336,7 +380,7 @@ quickstart:
336 title: 'Настроить приложение' 380 title: 'Настроить приложение'
337 description: 'Чтобы иметь приложение, которое вам подходит, ознакомьтесь с конфигурацией wallabag.' 381 description: 'Чтобы иметь приложение, которое вам подходит, ознакомьтесь с конфигурацией wallabag.'
338 language: 'Выбрать язык и дизайн' 382 language: 'Выбрать язык и дизайн'
339 rss: 'Включить RSS фид' 383 feed: 'Включить RSS фид'
340 tagging_rules: 'Создать правило для автоматической установки тегов' 384 tagging_rules: 'Создать правило для автоматической установки тегов'
341 admin: 385 admin:
342 title: 'Администрирование' 386 title: 'Администрирование'
@@ -384,9 +428,16 @@ tag:
384 list: 428 list:
385 number_on_the_page: '{0} Теги не найдены.|{1} Найден один тег.|]1,Inf[ Найдено %count% тегов.' 429 number_on_the_page: '{0} Теги не найдены.|{1} Найден один тег.|]1,Inf[ Найдено %count% тегов.'
386 see_untagged_entries: 'Просмотреть записи без тегов' 430 see_untagged_entries: 'Просмотреть записи без тегов'
431 # no_untagged_entries: 'There are no untagged entries.'
387 new: 432 new:
388 add: 'Добавить' 433 add: 'Добавить'
389 placeholder: 'Вы можете добавить несколько тегов, разделенных запятой.' 434 placeholder: 'Вы можете добавить несколько тегов, разделенных запятой.'
435 rename:
436 # placeholder: 'You can update tag name.'
437
438export:
439 # footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>'
440 # unknown: 'Unknown'
390 441
391import: 442import:
392 page_title: 'Импорт' 443 page_title: 'Импорт'
@@ -414,6 +465,9 @@ import:
414 wallabag_v2: 465 wallabag_v2:
415 page_title: 'Импорт > Wallabag v2' 466 page_title: 'Импорт > Wallabag v2'
416 description: 'Функция импорта добавит все ваши записи wallabag v2. Перейдите ко всем статьям, затем на боковой панели экспорта нажмите "JSON". У вас появится файл со всеми записями "All articles.json".' 467 description: 'Функция импорта добавит все ваши записи wallabag v2. Перейдите ко всем статьям, затем на боковой панели экспорта нажмите "JSON". У вас появится файл со всеми записями "All articles.json".'
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
417 readability: 471 readability:
418 page_title: 'Импорт > Readability' 472 page_title: 'Импорт > Readability'
419 description: 'Функция импорта добавит все ваши записи для чтения. На странице инструментов (https://www.readability.com/tools/) нажмите "Экспорт ваших данных" в разделе "Экспорт данных". Вы получите электронное письмо для загрузки json (что не заканчивается только .json файлом).' 473 description: 'Функция импорта добавит все ваши записи для чтения. На странице инструментов (https://www.readability.com/tools/) нажмите "Экспорт ваших данных" в разделе "Экспорт данных". Вы получите электронное письмо для загрузки json (что не заканчивается только .json файлом).'
@@ -467,6 +521,7 @@ developer:
467 redirect_uris_label: 'Ссылка перенаправления (опционально)' 521 redirect_uris_label: 'Ссылка перенаправления (опционально)'
468 save_label: 'Создать нового клиента' 522 save_label: 'Создать нового клиента'
469 action_back: 'Назад' 523 action_back: 'Назад'
524 # copy_to_clipboard: Copy
470 client_parameter: 525 client_parameter:
471 page_title: 'Управление клиентским API > Параметры клиента' 526 page_title: 'Управление клиентским API > Параметры клиента'
472 page_description: 'Здесь ваши параметры клиента.' 527 page_description: 'Здесь ваши параметры клиента.'
@@ -508,11 +563,34 @@ user:
508 email_label: 'Email' 563 email_label: 'Email'
509 enabled_label: 'Включить' 564 enabled_label: 'Включить'
510 last_login_label: 'Последний вход' 565 last_login_label: 'Последний вход'
511 twofactor_label: "Двухфакторная аутентификация" 566 # twofactor_email_label: Two factor authentication by email
567 # twofactor_google_label: Two factor authentication by OTP app
512 save: "Сохранить" 568 save: "Сохранить"
513 delete: "Удалить" 569 delete: "Удалить"
514 delete_confirm: "Вы уверены?" 570 delete_confirm: "Вы уверены?"
515 back_to_list: "Назад к списку" 571 back_to_list: "Назад к списку"
572 search:
573 # placeholder: Filter by login or email
574
575site_credential:
576 # page_title: Site credentials management
577 # new_site_credential: Create a credential
578 # edit_site_credential: Edit an existing credential
579 # description: "Here you can manage all credentials for sites which required them (create, edit and delete), like a paywall, an authentication, etc."
580 # list:
581 # actions: Actions
582 # edit_action: Edit
583 # yes: Yes
584 # no: No
585 # create_new_one: Create a new credential
586 # form:
587 # username_label: 'Login'
588 # host_label: 'Host (subdomain.example.org, .example.org, etc.)'
589 # password_label: 'Password'
590 # save: Save
591 # delete: Delete
592 # delete_confirm: Are you sure?
593 # back_to_list: Back to list
516 594
517error: 595error:
518 page_title: "Произошла ошибка" 596 page_title: "Произошла ошибка"
@@ -524,13 +602,18 @@ flashes:
524 password_updated: 'Пароль обновлен' 602 password_updated: 'Пароль обновлен'
525 password_not_updated_demo: "В режиме демонстрации нельзя изменять пароль для этого пользователя." 603 password_not_updated_demo: "В режиме демонстрации нельзя изменять пароль для этого пользователя."
526 user_updated: 'Информация обновлена' 604 user_updated: 'Информация обновлена'
527 rss_updated: 'RSS информация обновлена' 605 feed_updated: 'RSS информация обновлена'
528 tagging_rules_updated: 'Правила тегировния обновлены' 606 tagging_rules_updated: 'Правила тегировния обновлены'
529 tagging_rules_deleted: 'Правила тегировния удалены' 607 tagging_rules_deleted: 'Правила тегировния удалены'
530 rss_token_updated: 'RSS ключ обновлен' 608 feed_token_updated: 'RSS ключ обновлен'
609 # feed_token_revoked: 'RSS token revoked'
531 annotations_reset: "Аннотации сброшены" 610 annotations_reset: "Аннотации сброшены"
532 tags_reset: "Теги сброшены" 611 tags_reset: "Теги сброшены"
533 entries_reset: "Записи сброшены" 612 entries_reset: "Записи сброшены"
613 # archived_reset: Archived entries deleted
614 # otp_enabled: Two-factor authentication enabled
615 # tagging_rules_imported: Tagging rules imported
616 # tagging_rules_not_imported: Error while importing tagging rules
534 entry: 617 entry:
535 notice: 618 notice:
536 entry_already_saved: 'Запись была сохранена ранее %date%' 619 entry_already_saved: 'Запись была сохранена ранее %date%'
@@ -544,9 +627,11 @@ flashes:
544 entry_starred: 'Запись помечена звездочкой' 627 entry_starred: 'Запись помечена звездочкой'
545 entry_unstarred: 'Пометка звездочкой у записи убрана' 628 entry_unstarred: 'Пометка звездочкой у записи убрана'
546 entry_deleted: 'Запись удалена' 629 entry_deleted: 'Запись удалена'
630 # no_random_entry: 'No article with these criterias was found'
547 tag: 631 tag:
548 notice: 632 notice:
549 tag_added: 'Тег добавлен' 633 tag_added: 'Тег добавлен'
634 # tag_renamed: 'Tag renamed'
550 import: 635 import:
551 notice: 636 notice:
552 failed: 'Во время импорта произошла ошибка, повторите попытку.' 637 failed: 'Во время импорта произошла ошибка, повторите попытку.'
@@ -564,4 +649,9 @@ flashes:
564 notice: 649 notice:
565 added: 'Пользователь "%username%" добавлен' 650 added: 'Пользователь "%username%" добавлен'
566 updated: 'Пользователь "%username%" обновлен' 651 updated: 'Пользователь "%username%" обновлен'
567 deleted: 'Пользователь "%username%" удален' \ No newline at end of file 652 deleted: 'Пользователь "%username%" удален'
653 site_credential:
654 notice:
655 # added: 'Site credential for "%host%" added'
656 # updated: 'Site credential for "%host%" updated'
657 # deleted: 'Site credential for "%host%" deleted'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.th.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.th.yml
index 9d22f90d..03f8fa9a 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.th.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.th.yml
@@ -33,10 +33,12 @@ menu:
33 back_to_unread: 'กลับไปยังรายการที่ไม่ได้อ่าน' 33 back_to_unread: 'กลับไปยังรายการที่ไม่ได้อ่าน'
34 users_management: 'การจัดการผู้ใช้' 34 users_management: 'การจัดการผู้ใช้'
35 site_credentials: 'การรับรองไซต์' 35 site_credentials: 'การรับรองไซต์'
36 quickstart: "เริ่มแบบด่วน"
36 top: 37 top:
37 add_new_entry: 'เพิ่มรายการใหม่' 38 add_new_entry: 'เพิ่มรายการใหม่'
38 search: 'ค้นหา' 39 search: 'ค้นหา'
39 filter_entries: 'ตัวกรองรายการ' 40 filter_entries: 'ตัวกรองรายการ'
41 # random_entry: Jump to a random entry from that list
40 export: 'นำข้อมูลออก' 42 export: 'นำข้อมูลออก'
41 search_form: 43 search_form:
42 input_label: 'ค้นหาที่นี้' 44 input_label: 'ค้นหาที่นี้'
@@ -53,11 +55,12 @@ config:
53 page_title: 'กำหนดค่า' 55 page_title: 'กำหนดค่า'
54 tab_menu: 56 tab_menu:
55 settings: 'ตั้งค่า' 57 settings: 'ตั้งค่า'
56 rss: 'RSS' 58 feed: 'RSS'
57 user_info: 'ข้อมูลผู้ใช้' 59 user_info: 'ข้อมูลผู้ใช้'
58 password: 'รหัสผ่าน' 60 password: 'รหัสผ่าน'
59 rules: 'การแท็กข้อบังคับ' 61 rules: 'การแท็กข้อบังคับ'
60 new_user: 'เพิ่มผู้ใช้' 62 new_user: 'เพิ่มผู้ใช้'
63 reset: 'รีเซ็ตพื้นที่ '
61 form: 64 form:
62 save: 'บันทึก' 65 save: 'บันทึก'
63 form_settings: 66 form_settings:
@@ -65,12 +68,8 @@ config:
65 items_per_page_label: 'ไอเทมต่อหน้า' 68 items_per_page_label: 'ไอเทมต่อหน้า'
66 language_label: 'ภาษา' 69 language_label: 'ภาษา'
67 reading_speed: 70 reading_speed:
68 label: 'การอ่านแบบด่วน' 71 label: 'การอ่านแบบด่วน (คำต่อนาที)'
69 help_message: 'คุณสามารถใช้เครื่องมือออนไลน์เพื่อประเมินการอ่านแบบด่วน:' 72 help_message: 'คุณสามารถใช้เครื่องมือออนไลน์เพื่อประเมินการอ่านแบบด่วน:'
70 100_word: 'ฉันอ่าน ~100 คำต่อนาที'
71 200_word: 'ฉันอ่าน ~200 คำต่อนาท'
72 300_word: 'ฉันอ่าน ~300 คำต่อนาท'
73 400_word: 'ฉันอ่าน ~400 คำต่อนาท'
74 action_mark_as_read: 73 action_mark_as_read:
75 label: 'คุณต้องการเปลี่ยนทิศทางหลังจากระบุเครื่องหมายรายการอ่านที่ไหน?' 74 label: 'คุณต้องการเปลี่ยนทิศทางหลังจากระบุเครื่องหมายรายการอ่านที่ไหน?'
76 redirect_homepage: 'ไปยังโฮมเพจ' 75 redirect_homepage: 'ไปยังโฮมเพจ'
@@ -83,25 +82,35 @@ config:
83 help_reading_speed: "wallabag จะคำนวณเวลาการอ่านในแต่ละรายการซึ่งคุณสามารถกำหนดได้ที่นี้,ต้องขอบคุณรายการนี้,หากคุณเป็นนักอ่านที่เร็วหรือช้า wallabag จะทำการคำนวณเวลาที่อ่านใหม่ในแต่ละรายการ" 82 help_reading_speed: "wallabag จะคำนวณเวลาการอ่านในแต่ละรายการซึ่งคุณสามารถกำหนดได้ที่นี้,ต้องขอบคุณรายการนี้,หากคุณเป็นนักอ่านที่เร็วหรือช้า wallabag จะทำการคำนวณเวลาที่อ่านใหม่ในแต่ละรายการ"
84 help_language: "คุณสามารถเปลี่ยภาษาของ wallabag interface ได้" 83 help_language: "คุณสามารถเปลี่ยภาษาของ wallabag interface ได้"
85 help_pocket_consumer_key: "การ้องขอการเก็บการนำข้อมูลเข้า คุณสามารถสร้างบัญชีการเก็บของคุณ" 84 help_pocket_consumer_key: "การ้องขอการเก็บการนำข้อมูลเข้า คุณสามารถสร้างบัญชีการเก็บของคุณ"
86 form_rss: 85 form_feed:
87 description: 'RSS จะเก็บเงื่อนไขโดย wallabag ต้องยอมรับการอ่านรายการของคุณกับผู้อ่านที่ชอบ RSS คุณต้องทำเครื่องหมายก่อน' 86 description: 'RSS จะเก็บเงื่อนไขโดย wallabag ต้องยอมรับการอ่านรายการของคุณกับผู้อ่านที่ชอบ RSS คุณต้องทำเครื่องหมายก่อน'
88 token_label: 'เครื่องหมาย RSS' 87 token_label: 'เครื่องหมาย RSS'
89 no_token: 'ไม่มีเครื่องหมาย' 88 no_token: 'ไม่มีเครื่องหมาย'
90 token_create: 'สร้างเครื่องหมาย' 89 token_create: 'สร้างเครื่องหมาย'
91 token_reset: 'ทำเครื่องหมาย' 90 token_reset: 'ทำเครื่องหมาย'
92 rss_links: 'ลิงค์ RSS' 91 # token_revoke: 'Revoke the token'
93 rss_link: 92 feed_links: 'ลิงค์ RSS'
93 feed_link:
94 unread: 'ยังไมได้่อ่าน' 94 unread: 'ยังไมได้่อ่าน'
95 starred: 'ทำการแสดง' 95 starred: 'ทำการแสดง'
96 archive: 'เอกสาร' 96 archive: 'เอกสาร'
97 all: 'ทั้งหมด' 97 all: 'ทั้งหมด'
98 rss_limit: 'จำนวนไอเทมที่เก็บ' 98 feed_limit: 'จำนวนไอเทมที่เก็บ'
99 form_user: 99 form_user:
100 two_factor_description: "การเปิดใช้งาน two factor authentication คือคุณจะต้องได้รับอีเมลกับ code ที่ยังไม่ตรวจสอบในการเชื่อมต่อ" 100 # two_factor_description: "Enabling two factor authentication means you'll receive an email with a code OR need to use an OTP app (like Google Authenticator, Authy or FreeOTP) to get a one time code on every new untrusted connection. You can't choose both option."
101 # login_label: 'Login (can not be changed)'
101 name_label: 'ชื่อ' 102 name_label: 'ชื่อ'
102 email_label: 'อีเมล' 103 email_label: 'อีเมล'
103 twoFactorAuthentication_label: 'Two factor authentication' 104 two_factor:
104 help_twoFactorAuthentication: "ถ้าคุณเปิด 2FA, ในแต่ละช่วงเวลาที่คุณต้องการลงชื่อเข้าใช wallabag, คุณจะต้องได้รับ code จากอีเมล" 105 # emailTwoFactor_label: 'Using email (receive a code by email)'
106 # googleTwoFactor_label: 'Using an OTP app (open the app, like Google Authenticator, Authy or FreeOTP, to get a one time code)'
107 # table_method: Method
108 # table_state: State
109 # table_action: Action
110 # state_enabled: Enabled
111 # state_disabled: Disabled
112 # action_email: Use email
113 # action_app: Use OTP App
105 delete: 114 delete:
106 title: ลบบัญชีของฉัน (โซนที่เป็นภัย!) 115 title: ลบบัญชีของฉัน (โซนที่เป็นภัย!)
107 description: ถ้าคุณลบบัญชีของคุณIf , รายการทั้งหมดของคุณ, แท็กทั้งหมดของคุณ, หมายเหตุทั้งหมดของคุณและบัญชีของคุณจะถูกลบอย่างถาวร (มันไม่สามารถยกเลิกได้) คุณจะต้องลงชื่อออก 116 description: ถ้าคุณลบบัญชีของคุณIf , รายการทั้งหมดของคุณ, แท็กทั้งหมดของคุณ, หมายเหตุทั้งหมดของคุณและบัญชีของคุณจะถูกลบอย่างถาวร (มันไม่สามารถยกเลิกได้) คุณจะต้องลงชื่อออก
@@ -127,6 +136,15 @@ config:
127 edit_rule_label: 'ปรับแก้' 136 edit_rule_label: 'ปรับแก้'
128 rule_label: 'ข้อบังคับ' 137 rule_label: 'ข้อบังคับ'
129 tags_label: 'แท็ก' 138 tags_label: 'แท็ก'
139 # card:
140 # new_tagging_rule: Create a tagging rule
141 # import_tagging_rules: Import tagging rules
142 # import_tagging_rules_detail: You have to select the JSON file you previously exported.
143 # export_tagging_rules: Export tagging rules
144 # export_tagging_rules_detail: This will download a JSON file that you can use to import tagging rules elsewhere or to backup them.
145 # file_label: JSON file
146 # import_submit: Import
147 # export: Export
130 faq: 148 faq:
131 title: 'FAQ' 149 title: 'FAQ'
132 tagging_rules_definition_title: 'ข้อบังคับการแท็กคืออะไร?' 150 tagging_rules_definition_title: 'ข้อบังคับการแท็กคืออะไร?'
@@ -159,6 +177,15 @@ config:
159 and: 'หนึ่งข้อบังคับและอื่นๆ' 177 and: 'หนึ่งข้อบังคับและอื่นๆ'
160 matches: 'ทดสอบว่า <i>เรื่อง</i> นี้ตรงกับ <i>การต้นหา</i> (กรณีไม่ทราบ).<br />ตัวอย่าง: <code>หัวข้อที่ตรงกับ "football"</code>' 178 matches: 'ทดสอบว่า <i>เรื่อง</i> นี้ตรงกับ <i>การต้นหา</i> (กรณีไม่ทราบ).<br />ตัวอย่าง: <code>หัวข้อที่ตรงกับ "football"</code>'
161 notmatches: 'ทดสอบว่า <i>เรื่อง</i> นี้ไม่ตรงกับ <i>การต้นหา</i> (กรณีไม่ทราบ).<br />ตัวอย่าง: <code>หัวข้อทีไม่ตรงกับ "football"</code>' 179 notmatches: 'ทดสอบว่า <i>เรื่อง</i> นี้ไม่ตรงกับ <i>การต้นหา</i> (กรณีไม่ทราบ).<br />ตัวอย่าง: <code>หัวข้อทีไม่ตรงกับ "football"</code>'
180 otp:
181 # page_title: Two-factor authentication
182 # app:
183 # two_factor_code_description_1: You just enabled the OTP two factor authentication, open your OTP app and use that code to get a one time password. It'll disapear after a page reload.
184 # two_factor_code_description_2: 'You can scan that QR Code with your app:'
185 # two_factor_code_description_3: 'Also, save these backup codes in a safe place, you can use them in case you lose access to your OTP app:'
186 # two_factor_code_description_4: 'Test an OTP code from your configured app:'
187 # cancel: Cancel
188 # enable: Enable
162 189
163entry: 190entry:
164 default_title: 'หัวข้อรายการ' 191 default_title: 'หัวข้อรายการ'
@@ -234,9 +261,10 @@ entry:
234 created_at: 'วันที่สร้าง' 261 created_at: 'วันที่สร้าง'
235 published_at: 'วันที่ประกาศ' 262 published_at: 'วันที่ประกาศ'
236 published_by: 'ประกาศโดย' 263 published_by: 'ประกาศโดย'
264 # provided_by: 'Provided by'
237 new: 265 new:
238 page_title: 'บันทึกรายการใหม่' 266 page_title: 'บันทึกรายการใหม่'
239 placeholder: 'http://website.com' 267 placeholder: 'https://website.th'
240 form_new: 268 form_new:
241 url_label: Url 269 url_label: Url
242 search: 270 search:
@@ -245,12 +273,18 @@ entry:
245 page_title: 'แก้ไขรายการ' 273 page_title: 'แก้ไขรายการ'
246 title_label: 'หัวข้อ' 274 title_label: 'หัวข้อ'
247 url_label: 'Url' 275 url_label: 'Url'
276 # origin_url_label: 'Origin url (from where you found that entry)'
248 save_label: 'บันทึก' 277 save_label: 'บันทึก'
249 public: 278 public:
250 shared_by_wallabag: "บทความนี้จะมีการแชร์โดย %username% กับ <a href='%wallabag_instance%'>wallabag</a>" 279 shared_by_wallabag: "บทความนี้จะมีการแชร์โดย %username% กับ <a href='%wallabag_instance%'>wallabag</a>"
251 confirm: 280 confirm:
252 delete: "คุณแน่ใจหรือไม่ว่าคุณต้องการลบบทความนี้?" 281 delete: "คุณแน่ใจหรือไม่ว่าคุณต้องการลบบทความนี้?"
253 delete_tag: "คุณแน่ใจหรือไม่ว่าคุณต้องการลบแท็กจากบทความนี้?" 282 delete_tag: "คุณแน่ใจหรือไม่ว่าคุณต้องการลบแท็กจากบทความนี้?"
283 metadata:
284 # reading_time: "Estimated reading time"
285 # reading_time_minutes_short: "%readingTime% min"
286 # address: "Address"
287 # added_on: "Added on"
254 288
255about: 289about:
256 page_title: 'เกี่ยวกับ' 290 page_title: 'เกี่ยวกับ'
@@ -346,7 +380,7 @@ quickstart:
346 title: 'กำหนดค่าแอพพลิเคชั่น' 380 title: 'กำหนดค่าแอพพลิเคชั่น'
347 description: 'ภายใน order จะมี application suit ของคุณ, จะมองหาองค์ประกอบของ wallabag' 381 description: 'ภายใน order จะมี application suit ของคุณ, จะมองหาองค์ประกอบของ wallabag'
348 language: 'เปลี่ยนภาษาและออกแบบ' 382 language: 'เปลี่ยนภาษาและออกแบบ'
349 rss: 'เปิดใช้ RSS' 383 feed: 'เปิดใช้ RSS'
350 tagging_rules: 'เขียนข้อบังคับการแท็กอัตโนมัติของบทความของคุณ' 384 tagging_rules: 'เขียนข้อบังคับการแท็กอัตโนมัติของบทความของคุณ'
351 admin: 385 admin:
352 title: 'ผู้ดูแลระบบ' 386 title: 'ผู้ดูแลระบบ'
@@ -394,12 +428,16 @@ tag:
394 list: 428 list:
395 number_on_the_page: '{0} ไม่มีการแท็ก|{1} มีหนึ่งแท็ก|]1,Inf[ มี %count% แท็ก' 429 number_on_the_page: '{0} ไม่มีการแท็ก|{1} มีหนึ่งแท็ก|]1,Inf[ มี %count% แท็ก'
396 see_untagged_entries: 'พบรายการที่ไม่ได้แท็ก' 430 see_untagged_entries: 'พบรายการที่ไม่ได้แท็ก'
431 # no_untagged_entries: 'There are no untagged entries.'
397 new: 432 new:
398 add: 'เพิ่ม' 433 add: 'เพิ่ม'
399 placeholder: 'คุณสามารถเพิ่มได้หลายแท็ก, จากการแบ่งโดย comma' 434 placeholder: 'คุณสามารถเพิ่มได้หลายแท็ก, จากการแบ่งโดย comma'
435 rename:
436 # placeholder: 'You can update tag name.'
400 437
401export: 438export:
402 footer_template: '<div style="text-align:center;"><p>ผลิตโดย wallabag กับ %method%</p><p>ให้ทำการเปิด <a href="https://github.com/wallabag/wallabag/issues">ฉบับนี้</a> ถ้าคุณมีข้อบกพร่องif you have trouble with the display of this E-Book on your device.</p></div>' 439 footer_template: '<div style="text-align:center;"><p>ผลิตโดย wallabag กับ %method%</p><p>ให้ทำการเปิด <a href="https://github.com/wallabag/wallabag/issues">ฉบับนี้</a> ถ้าคุณมีข้อบกพร่องif you have trouble with the display of this E-Book on your device.</p></div>'
440 # unknown: 'Unknown'
403 441
404import: 442import:
405 page_title: 'นำข้อมูลเช้า' 443 page_title: 'นำข้อมูลเช้า'
@@ -427,6 +465,9 @@ import:
427 wallabag_v2: 465 wallabag_v2:
428 page_title: 'นำเข้าข้อมูล > Wallabag v2' 466 page_title: 'นำเข้าข้อมูล > Wallabag v2'
429 description: 'สำหรับผู้นำเข้าข้อมูลจะ import บทความ wallabag v2 ทั้งหมดของคุณ ไปยังบทความทั้งหมด, ดังนั้น, บน export sidebar, click ที่ "JSON" คุณจะมีไฟล์ "All articles.json"' 467 description: 'สำหรับผู้นำเข้าข้อมูลจะ import บทความ wallabag v2 ทั้งหมดของคุณ ไปยังบทความทั้งหมด, ดังนั้น, บน export sidebar, click ที่ "JSON" คุณจะมีไฟล์ "All articles.json"'
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
430 readability: 471 readability:
431 page_title: 'นำเข้าข้อมูล > Readability' 472 page_title: 'นำเข้าข้อมูล > Readability'
432 description: 'สำหรับผู้นำเข้าข้อมูลจะ import บทความ Readability ทั้งหมดของคุณ ไปที่เครื่องมือ (https://www.readability.com/tools/) ของหน้านั้น, click ที่ "Export your data" ในส่วน "Data Export" คุณจะได้รับ email ไป download json (which does not end with .json in fact).' 473 description: 'สำหรับผู้นำเข้าข้อมูลจะ import บทความ Readability ทั้งหมดของคุณ ไปที่เครื่องมือ (https://www.readability.com/tools/) ของหน้านั้น, click ที่ "Export your data" ในส่วน "Data Export" คุณจะได้รับ email ไป download json (which does not end with .json in fact).'
@@ -480,6 +521,7 @@ developer:
480 redirect_uris_label: 'เส้นทางใหม่ของ URIs (ให้เลือกได้)' 521 redirect_uris_label: 'เส้นทางใหม่ของ URIs (ให้เลือกได้)'
481 save_label: 'สร่้างลูกข่ายใหม' 522 save_label: 'สร่้างลูกข่ายใหม'
482 action_back: 'กลับ' 523 action_back: 'กลับ'
524 # copy_to_clipboard: Copy
483 client_parameter: 525 client_parameter:
484 page_title: 'การจัดการลูกข่ายของ API > พารามิเตอร์ของลูกข่าย' 526 page_title: 'การจัดการลูกข่ายของ API > พารามิเตอร์ของลูกข่าย'
485 page_description: 'ที่นี้เป็นพารามิเตอร์ของลูกข่ายของคุณ' 527 page_description: 'ที่นี้เป็นพารามิเตอร์ของลูกข่ายของคุณ'
@@ -521,7 +563,8 @@ user:
521 email_label: 'อีเมล' 563 email_label: 'อีเมล'
522 enabled_label: 'เปิดใช้งาน' 564 enabled_label: 'เปิดใช้งาน'
523 last_login_label: 'ลงชื้อเข้าใช้ครั้งสุดท้าย' 565 last_login_label: 'ลงชื้อเข้าใช้ครั้งสุดท้าย'
524 twofactor_label: Two factor authentication 566 # twofactor_email_label: Two factor authentication by email
567 # twofactor_google_label: Two factor authentication by OTP app
525 save: บันทึก 568 save: บันทึก
526 delete: ลบ 569 delete: ลบ
527 delete_confirm: ตุณแน่ใจหรือไม่? 570 delete_confirm: ตุณแน่ใจหรือไม่?
@@ -542,7 +585,7 @@ site_credential:
542 create_new_one: สร้างข้อมูลส่วนตัวใหม่ 585 create_new_one: สร้างข้อมูลส่วนตัวใหม่
543 form: 586 form:
544 username_label: 'ชื่อผู้ใช้' 587 username_label: 'ชื่อผู้ใช้'
545 host_label: 'โฮส' 588 host_label: 'โฮส (subdomain.example.org, .example.org, etc.)'
546 password_label: 'รหัสผ่าน' 589 password_label: 'รหัสผ่าน'
547 save: บันทึก 590 save: บันทึก
548 delete: ลบ 591 delete: ลบ
@@ -559,14 +602,18 @@ flashes:
559 password_updated: 'อัปเดตรหัสผ่าน' 602 password_updated: 'อัปเดตรหัสผ่าน'
560 password_not_updated_demo: "In demonstration mode, you can't change password for this user." 603 password_not_updated_demo: "In demonstration mode, you can't change password for this user."
561 user_updated: 'อัปเดตข้อมูล' 604 user_updated: 'อัปเดตข้อมูล'
562 rss_updated: 'อัปเดตข้อมูล RSS' 605 feed_updated: 'อัปเดตข้อมูล RSS'
563 tagging_rules_updated: 'อัปเดตการแท็กข้อบังคับ' 606 tagging_rules_updated: 'อัปเดตการแท็กข้อบังคับ'
564 tagging_rules_deleted: 'การลบข้อบังคับของแท็ก' 607 tagging_rules_deleted: 'การลบข้อบังคับของแท็ก'
565 rss_token_updated: 'อัปเดตเครื่องหมาย RSS ' 608 feed_token_updated: 'อัปเดตเครื่องหมาย RSS '
609 # feed_token_revoked: 'RSS token revoked'
566 annotations_reset: รีเซ็ตหมายเหตุ 610 annotations_reset: รีเซ็ตหมายเหตุ
567 tags_reset: รีเซ็ตแท็ก 611 tags_reset: รีเซ็ตแท็ก
568 entries_reset: รีเซ็ตรายการ 612 entries_reset: รีเซ็ตรายการ
569 archived_reset: การลบเอกสารของรายการ 613 archived_reset: การลบเอกสารของรายการ
614 # otp_enabled: Two-factor authentication enabled
615 # tagging_rules_imported: Tagging rules imported
616 # tagging_rules_not_imported: Error while importing tagging rules
570 entry: 617 entry:
571 notice: 618 notice:
572 entry_already_saved: 'รายการพร้อมบันทึกที่ %date%' 619 entry_already_saved: 'รายการพร้อมบันทึกที่ %date%'
@@ -580,9 +627,11 @@ flashes:
580 entry_starred: 'รายการที่แสดง' 627 entry_starred: 'รายการที่แสดง'
581 entry_unstarred: 'รายการที่ไม่ได้แสดง' 628 entry_unstarred: 'รายการที่ไม่ได้แสดง'
582 entry_deleted: 'รายการที่ถูกลบ' 629 entry_deleted: 'รายการที่ถูกลบ'
630 # no_random_entry: 'No article with these criterias was found'
583 tag: 631 tag:
584 notice: 632 notice:
585 tag_added: 'แท็กที่เพิ่ม' 633 tag_added: 'แท็กที่เพิ่ม'
634 # tag_renamed: 'Tag renamed'
586 import: 635 import:
587 notice: 636 notice:
588 failed: 'นำข้อมูลเข้าล้มเหลว, ลองใหม่อีกครั้ง' 637 failed: 'นำข้อมูลเข้าล้มเหลว, ลองใหม่อีกครั้ง'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
index 4c71f0b9..05cfbbfc 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
@@ -33,10 +33,12 @@ menu:
33 back_to_unread: 'Okunmayan makalelere geri dön' 33 back_to_unread: 'Okunmayan makalelere geri dön'
34 # users_management: 'Users management' 34 # users_management: 'Users management'
35 # site_credentials: 'Site credentials' 35 # site_credentials: 'Site credentials'
36 quickstart: "Hızlı başlangıç"
36 top: 37 top:
37 add_new_entry: 'Yeni bir makale ekle' 38 add_new_entry: 'Yeni bir makale ekle'
38 search: 'Ara' 39 search: 'Ara'
39 filter_entries: 'Filtrele' 40 filter_entries: 'Filtrele'
41 # random_entry: Jump to a random entry from that list
40 export: 'Dışa Aktar' 42 export: 'Dışa Aktar'
41 search_form: 43 search_form:
42 input_label: 'Aramak istediğiniz herhangi bir şey yazın' 44 input_label: 'Aramak istediğiniz herhangi bir şey yazın'
@@ -53,11 +55,12 @@ config:
53 page_title: 'Yapılandırma' 55 page_title: 'Yapılandırma'
54 tab_menu: 56 tab_menu:
55 settings: 'Ayarlar' 57 settings: 'Ayarlar'
56 rss: 'RSS' 58 feed: 'RSS'
57 user_info: 'Kullanıcı bilgileri' 59 user_info: 'Kullanıcı bilgileri'
58 password: 'Şifre' 60 password: 'Şifre'
59 rules: 'Etiketleme kuralları' 61 rules: 'Etiketleme kuralları'
60 new_user: 'Bir kullanıcı ekle' 62 new_user: 'Bir kullanıcı ekle'
63 # reset: 'Reset area'
61 form: 64 form:
62 save: 'Kaydet' 65 save: 'Kaydet'
63 form_settings: 66 form_settings:
@@ -65,12 +68,8 @@ config:
65 items_per_page_label: 'Sayfa başına makale sayısı' 68 items_per_page_label: 'Sayfa başına makale sayısı'
66 language_label: 'Dil' 69 language_label: 'Dil'
67 reading_speed: 70 reading_speed:
68 # label: 'Reading speed' 71 # label: 'Reading speed (words per minute)'
69 # help_message: 'You can use online tools to estimate your reading speed:' 72 # help_message: 'You can use online tools to estimate your reading speed:'
70 # 100_word: 'I read ~100 words per minute'
71 # 200_word: 'I read ~200 words per minute'
72 # 300_word: 'I read ~300 words per minute'
73 # 400_word: 'I read ~400 words per minute'
74 action_mark_as_read: 73 action_mark_as_read:
75 # label: 'Where do you want to be redirected to after marking an article as read?' 74 # label: 'Where do you want to be redirected to after marking an article as read?'
76 # redirect_homepage: 'To the homepage' 75 # redirect_homepage: 'To the homepage'
@@ -83,25 +82,35 @@ config:
83 # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article." 82 # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article."
84 # help_language: "You can change the language of wallabag interface." 83 # help_language: "You can change the language of wallabag interface."
85 # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account." 84 # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account."
86 form_rss: 85 form_feed:
87 description: 'wallabag RSS akışı kaydetmiş olduğunuz makalelerini favori RSS okuyucunuzda görüntülemenizi sağlar. Bunu yapabilmek için öncelikle belirteç (token) oluşturmalısınız.' 86 description: 'wallabag RSS akışı kaydetmiş olduğunuz makalelerini favori RSS okuyucunuzda görüntülemenizi sağlar. Bunu yapabilmek için öncelikle belirteç (token) oluşturmalısınız.'
88 token_label: 'RSS belirteci (token)' 87 token_label: 'RSS belirteci (token)'
89 no_token: 'Belirteç (token) yok' 88 no_token: 'Belirteç (token) yok'
90 token_create: 'Yeni belirteç (token) oluştur' 89 token_create: 'Yeni belirteç (token) oluştur'
91 token_reset: 'Belirteci (token) sıfırla' 90 token_reset: 'Belirteci (token) sıfırla'
92 rss_links: 'RSS akış bağlantıları' 91 # token_revoke: 'Revoke the token'
93 rss_link: 92 feed_links: 'RSS akış bağlantıları'
93 feed_link:
94 unread: 'Okunmayan' 94 unread: 'Okunmayan'
95 starred: 'Favoriler' 95 starred: 'Favoriler'
96 archive: 'Arşiv' 96 archive: 'Arşiv'
97 # all: 'All' 97 # all: 'All'
98 rss_limit: 'RSS içeriğinden talep edilecek makale limiti' 98 feed_limit: 'RSS içeriğinden talep edilecek makale limiti'
99 form_user: 99 form_user:
100 two_factor_description: "İki adımlı doğrulamayı aktifleştirdiğinizde, her yeni güvenilmeyen bağlantılarda size e-posta ile bir kod alacaksınız." 100 # two_factor_description: "Enabling two factor authentication means you'll receive an email with a code OR need to use an OTP app (like Google Authenticator, Authy or FreeOTP) to get a one time code on every new untrusted connection. You can't choose both option."
101 # login_label: 'Login (can not be changed)'
101 name_label: 'İsim' 102 name_label: 'İsim'
102 email_label: 'E-posta' 103 email_label: 'E-posta'
103 twoFactorAuthentication_label: 'İki adımlı doğrulama' 104 two_factor:
104 # help_twoFactorAuthentication: "If you enable 2FA, each time you want to login to wallabag, you'll receive a code by email." 105 # emailTwoFactor_label: 'Using email (receive a code by email)'
106 # googleTwoFactor_label: 'Using an OTP app (open the app, like Google Authenticator, Authy or FreeOTP, to get a one time code)'
107 # table_method: Method
108 # table_state: State
109 # table_action: Action
110 # state_enabled: Enabled
111 # state_disabled: Disabled
112 # action_email: Use email
113 # action_app: Use OTP App
105 delete: 114 delete:
106 # title: Delete my account (a.k.a danger zone) 115 # title: Delete my account (a.k.a danger zone)
107 # description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out. 116 # description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out.
@@ -127,6 +136,15 @@ config:
127 # edit_rule_label: 'edit' 136 # edit_rule_label: 'edit'
128 rule_label: 'Kural' 137 rule_label: 'Kural'
129 tags_label: 'Etiketler' 138 tags_label: 'Etiketler'
139 # card:
140 # new_tagging_rule: Create a tagging rule
141 # import_tagging_rules: Import tagging rules
142 # import_tagging_rules_detail: You have to select the JSON file you previously exported.
143 # export_tagging_rules: Export tagging rules
144 # export_tagging_rules_detail: This will download a JSON file that you can use to import tagging rules elsewhere or to backup them.
145 # file_label: JSON file
146 # import_submit: Import
147 # export: Export
130 faq: 148 faq:
131 title: 'S.S.S.' 149 title: 'S.S.S.'
132 tagging_rules_definition_title: '« etiketleme kuralları » ne anlama geliyor?' 150 tagging_rules_definition_title: '« etiketleme kuralları » ne anlama geliyor?'
@@ -159,6 +177,15 @@ config:
159 and: 'Bir kural ve diğeri' 177 and: 'Bir kural ve diğeri'
160 # matches: 'Tests that a <i>subject</i> matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>' 178 # matches: 'Tests that a <i>subject</i> matches a <i>search</i> (case-insensitive).<br />Example: <code>title matches "football"</code>'
161 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>' 179 # notmatches: 'Tests that a <i>subject</i> doesn''t match match a <i>search</i> (case-insensitive).<br />Example: <code>title notmatches "football"</code>'
180 otp:
181 # page_title: Two-factor authentication
182 # app:
183 # two_factor_code_description_1: You just enabled the OTP two factor authentication, open your OTP app and use that code to get a one time password. It'll disapear after a page reload.
184 # two_factor_code_description_2: 'You can scan that QR Code with your app:'
185 # two_factor_code_description_3: 'Also, save these backup codes in a safe place, you can use them in case you lose access to your OTP app:'
186 # two_factor_code_description_4: 'Test an OTP code from your configured app:'
187 # cancel: Cancel
188 # enable: Enable
162 189
163entry: 190entry:
164 default_title: 'Makalenin başlığı' 191 default_title: 'Makalenin başlığı'
@@ -192,6 +219,8 @@ entry:
192 unread_label: 'Okunmayan' 219 unread_label: 'Okunmayan'
193 preview_picture_label: 'Resim önizlemesi varsa' 220 preview_picture_label: 'Resim önizlemesi varsa'
194 preview_picture_help: 'Resim önizlemesi' 221 preview_picture_help: 'Resim önizlemesi'
222 # is_public_label: 'Has a public link'
223 # is_public_help: 'Public link'
195 language_label: 'Dil' 224 language_label: 'Dil'
196 # http_status_label: 'HTTP status' 225 # http_status_label: 'HTTP status'
197 reading_time: 226 reading_time:
@@ -235,7 +264,7 @@ entry:
235 # provided_by: 'Provided by' 264 # provided_by: 'Provided by'
236 new: 265 new:
237 page_title: 'Yeni makaleyi kaydet' 266 page_title: 'Yeni makaleyi kaydet'
238 placeholder: 'http://website.com' 267 placeholder: 'https://website.tr'
239 form_new: 268 form_new:
240 url_label: Url 269 url_label: Url
241 search: 270 search:
@@ -251,6 +280,11 @@ entry:
251 confirm: 280 confirm:
252 # delete: "Are you sure you want to remove that article?" 281 # delete: "Are you sure you want to remove that article?"
253 # delete_tag: "Are you sure you want to remove that tag from that article?" 282 # delete_tag: "Are you sure you want to remove that tag from that article?"
283 metadata:
284 # reading_time: "Estimated reading time"
285 # reading_time_minutes_short: "%readingTime% min"
286 # address: "Address"
287 # added_on: "Added on"
254 288
255about: 289about:
256 page_title: 'Hakkımızda' 290 page_title: 'Hakkımızda'
@@ -346,7 +380,7 @@ quickstart:
346 title: 'Uygulamayı Yapılandırma' 380 title: 'Uygulamayı Yapılandırma'
347 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.' 381 # description: 'In order to have an application which suits you, have a look into the configuration of wallabag.'
348 language: 'Dili ve tasarımı değiştirme' 382 language: 'Dili ve tasarımı değiştirme'
349 rss: 'RSS akışını aktifleştirme' 383 feed: 'RSS akışını aktifleştirme'
350 # tagging_rules: 'Write rules to automatically tag your articles' 384 # tagging_rules: 'Write rules to automatically tag your articles'
351 admin: 385 admin:
352 # title: 'Administration' 386 # title: 'Administration'
@@ -394,12 +428,16 @@ tag:
394 list: 428 list:
395 number_on_the_page: '{0} Herhangi bir etiket yok.|{1} Burada bir adet etiket var.|]1,Inf[ Burada %count% adet etiket var.' 429 number_on_the_page: '{0} Herhangi bir etiket yok.|{1} Burada bir adet etiket var.|]1,Inf[ Burada %count% adet etiket var.'
396 # see_untagged_entries: 'See untagged entries' 430 # see_untagged_entries: 'See untagged entries'
431 # no_untagged_entries: 'There are no untagged entries.'
397 new: 432 new:
398 # add: 'Add' 433 # add: 'Add'
399 # placeholder: 'You can add several tags, separated by a comma.' 434 # placeholder: 'You can add several tags, separated by a comma.'
435 rename:
436 # placeholder: 'You can update tag name.'
400 437
401# export: 438export:
402# footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>' 439 # footer_template: '<div style="text-align:center;"><p>Produced by wallabag with %method%</p><p>Please open <a href="https://github.com/wallabag/wallabag/issues">an issue</a> if you have trouble with the display of this E-Book on your device.</p></div>'
440 # unknown: 'Unknown'
403 441
404import: 442import:
405 page_title: 'İçe Aktar' 443 page_title: 'İçe Aktar'
@@ -427,6 +465,9 @@ import:
427 wallabag_v2: 465 wallabag_v2:
428 page_title: 'İçe Aktar > Wallabag v2' 466 page_title: 'İçe Aktar > Wallabag v2'
429 # description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.' 467 # description: 'This importer will import all your wallabag v2 articles. Go to All articles, then, on the export sidebar, click on "JSON". You will have a "All articles.json" file.'
468 # elcurator:
469 # page_title: 'Import > elCurator'
470 # description: 'This importer will import all your elCurator articles. Go to your preferences in your elCurator account and then, export your content. You will have a JSON file.'
430 readability: 471 readability:
431 page_title: 'İçe Aktar > Readability' 472 page_title: 'İçe Aktar > Readability'
432 # description: 'This importer will import all your Readability articles. On the tools (https://www.readability.com/tools/) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).' 473 # description: 'This importer will import all your Readability articles. On the tools (https://www.readability.com/tools/) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).'
@@ -480,6 +521,7 @@ developer:
480 # redirect_uris_label: 'Redirect URIs' 521 # redirect_uris_label: 'Redirect URIs'
481 # save_label: 'Create a new client' 522 # save_label: 'Create a new client'
482 # action_back: 'Back' 523 # action_back: 'Back'
524 # copy_to_clipboard: Copy
483 # client_parameter: 525 # client_parameter:
484 # page_title: 'API clients management > Client parameters' 526 # page_title: 'API clients management > Client parameters'
485 # page_description: 'Here are your client parameters.' 527 # page_description: 'Here are your client parameters.'
@@ -521,7 +563,8 @@ user:
521 email_label: 'E-posta' 563 email_label: 'E-posta'
522 # enabled_label: 'Enabled' 564 # enabled_label: 'Enabled'
523 # last_login_label: 'Last login' 565 # last_login_label: 'Last login'
524 # twofactor_label: Two factor authentication 566 # twofactor_email_label: Two factor authentication by email
567 # twofactor_google_label: Two factor authentication by OTP app
525 # save: Save 568 # save: Save
526 # delete: Delete 569 # delete: Delete
527 # delete_confirm: Are you sure? 570 # delete_confirm: Are you sure?
@@ -529,6 +572,26 @@ user:
529 search: 572 search:
530 # placeholder: Filter by username or email 573 # placeholder: Filter by username or email
531 574
575site_credential:
576 # page_title: Site credentials management
577 # new_site_credential: Create a credential
578 # edit_site_credential: Edit an existing credential
579 # description: "Here you can manage all credentials for sites which required them (create, edit and delete), like a paywall, an authentication, etc."
580 # list:
581 # actions: Actions
582 # edit_action: Edit
583 # yes: Yes
584 # no: No
585 # create_new_one: Create a new credential
586 # form:
587 # username_label: 'Login'
588 # host_label: 'Host (subdomain.example.org, .example.org, etc.)'
589 # password_label: 'Password'
590 # save: Save
591 # delete: Delete
592 # delete_confirm: Are you sure?
593 # back_to_list: Back to list
594
532error: 595error:
533 # page_title: An error occurred 596 # page_title: An error occurred
534 597
@@ -539,14 +602,18 @@ flashes:
539 password_updated: 'Şifre güncellendi' 602 password_updated: 'Şifre güncellendi'
540 password_not_updated_demo: "In demonstration mode, you can't change password for this user." 603 password_not_updated_demo: "In demonstration mode, you can't change password for this user."
541 user_updated: 'Bilgiler güncellendi' 604 user_updated: 'Bilgiler güncellendi'
542 rss_updated: 'RSS bilgiler güncellendi' 605 feed_updated: 'RSS bilgiler güncellendi'
543 tagging_rules_updated: 'Tagging rules updated' 606 # tagging_rules_updated: 'Tagging rules updated'
544 tagging_rules_deleted: 'Tagging rule deleted' 607 # tagging_rules_deleted: 'Tagging rule deleted'
545 rss_token_updated: 'RSS token updated' 608 # feed_token_updated: 'RSS token updated'
609 # feed_token_revoked: 'RSS token revoked'
546 # annotations_reset: Annotations reset 610 # annotations_reset: Annotations reset
547 # tags_reset: Tags reset 611 # tags_reset: Tags reset
548 # entries_reset: Entries reset 612 # entries_reset: Entries reset
549 # archived_reset: Archived entries deleted 613 # archived_reset: Archived entries deleted
614 # otp_enabled: Two-factor authentication enabled
615 # tagging_rules_imported: Tagging rules imported
616 # tagging_rules_not_imported: Error while importing tagging rules
550 entry: 617 entry:
551 notice: 618 notice:
552 entry_already_saved: 'Entry already saved on %date%' 619 entry_already_saved: 'Entry already saved on %date%'
@@ -560,9 +627,11 @@ flashes:
560 entry_starred: 'Makale favorilere eklendi' 627 entry_starred: 'Makale favorilere eklendi'
561 entry_unstarred: 'Makale favorilerden çıkartıldı' 628 entry_unstarred: 'Makale favorilerden çıkartıldı'
562 entry_deleted: 'Makale silindi' 629 entry_deleted: 'Makale silindi'
630 # no_random_entry: 'No article with these criterias was found'
563 tag: 631 tag:
564 notice: 632 notice:
565 tag_added: 'Etiket eklendi' 633 tag_added: 'Etiket eklendi'
634 # tag_renamed: 'Tag renamed'
566 import: 635 import:
567 notice: 636 notice:
568 # failed: 'Import failed, please try again.' 637 # failed: 'Import failed, please try again.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.da.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.da.yml
index c6a84209..c0438978 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.da.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.da.yml
@@ -3,5 +3,5 @@ validator:
3 password_too_short: 'Adgangskoden skal være mindst 8 tegn' 3 password_too_short: 'Adgangskoden skal være mindst 8 tegn'
4 # password_wrong_value: 'Wrong value for your current password' 4 # password_wrong_value: 'Wrong value for your current password'
5 # item_per_page_too_high: 'This will certainly kill the app' 5 # item_per_page_too_high: 'This will certainly kill the app'
6 # rss_limit_too_high: 'This will certainly kill the app' 6 # feed_limit_too_high: 'This will certainly kill the app'
7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.' 7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.de.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.de.yml
index 907b67a5..4c675ef4 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.de.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.de.yml
@@ -3,6 +3,5 @@ validator:
3 password_too_short: 'Kennwort-Mindestlänge von acht Zeichen nicht erfüllt' 3 password_too_short: 'Kennwort-Mindestlänge von acht Zeichen nicht erfüllt'
4 password_wrong_value: 'Falscher Wert für dein aktuelles Kennwort' 4 password_wrong_value: 'Falscher Wert für dein aktuelles Kennwort'
5 item_per_page_too_high: 'Dies wird die Anwendung möglicherweise beenden' 5 item_per_page_too_high: 'Dies wird die Anwendung möglicherweise beenden'
6 rss_limit_too_high: 'Dies wird die Anwendung möglicherweise beenden' 6 feed_limit_too_high: 'Dies wird die Anwendung möglicherweise beenden'
7 quote_length_too_high: 'Das Zitat ist zu lang. Es sollte nicht mehr als {{ limit }} Zeichen enthalten.' 7 quote_length_too_high: 'Das Zitat ist zu lang. Es sollte nicht mehr als {{ limit }} Zeichen enthalten.'
8
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.en.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.en.yml
index 8cc117fe..89d4c68a 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.en.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.en.yml
@@ -3,5 +3,5 @@ validator:
3 password_too_short: 'Password should by at least 8 chars long' 3 password_too_short: 'Password should by at least 8 chars long'
4 password_wrong_value: 'Wrong value for your current password' 4 password_wrong_value: 'Wrong value for your current password'
5 item_per_page_too_high: 'This will certainly kill the app' 5 item_per_page_too_high: 'This will certainly kill the app'
6 rss_limit_too_high: 'This will certainly kill the app' 6 feed_limit_too_high: 'This will certainly kill the app'
7 quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.' 7 quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.es.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.es.yml
index 97a8edfa..ea6575eb 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.es.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.es.yml
@@ -1,7 +1,7 @@
1validator: 1validator:
2 password_must_match: 'Las contraseñas no coinciden' 2 password_must_match: 'Las contraseñas no coinciden'
3 password_too_short: 'La contraseña debe tener al menos 8 carácteres' 3 password_too_short: 'La contraseña debe tener al menos 8 caracteres'
4 password_wrong_value: 'Entrada equivocada para su contraseña actual' 4 password_wrong_value: 'La contraseña actual es incorrecta'
5 item_per_page_too_high: 'Esto matará la aplicación' 5 item_per_page_too_high: 'Esto matará la aplicación'
6 rss_limit_too_high: 'Esto matará la aplicación' 6 feed_limit_too_high: 'Esto matará la aplicación'
7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.' 7 quote_length_too_high: 'La cita es demasiado larga. Debe tener {{ limit }} caracteres o menos.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.fa.yml
index ef677525..9b1a4af2 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.fa.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.fa.yml
@@ -3,5 +3,5 @@ validator:
3 password_too_short: 'رمز شما باید ۸ حرف یا بیشتر باشد' 3 password_too_short: 'رمز شما باید ۸ حرف یا بیشتر باشد'
4 password_wrong_value: 'رمز فعلی را اشتباه وارد کرده‌اید' 4 password_wrong_value: 'رمز فعلی را اشتباه وارد کرده‌اید'
5 item_per_page_too_high: 'با این تعداد برنامه به فنا می‌رود' 5 item_per_page_too_high: 'با این تعداد برنامه به فنا می‌رود'
6 rss_limit_too_high: 'با این تعداد برنامه به فنا می‌رود' 6 feed_limit_too_high: 'با این تعداد برنامه به فنا می‌رود'
7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.' 7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.fr.yml
index f31b4ed2..92f69aa0 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.fr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.fr.yml
@@ -3,5 +3,5 @@ validator:
3 password_too_short: "Le mot de passe doit contenir au moins 8 caractères" 3 password_too_short: "Le mot de passe doit contenir au moins 8 caractères"
4 password_wrong_value: "Votre mot de passe actuel est faux" 4 password_wrong_value: "Votre mot de passe actuel est faux"
5 item_per_page_too_high: "Ça ne va pas plaire à l’application" 5 item_per_page_too_high: "Ça ne va pas plaire à l’application"
6 rss_limit_too_high: "Ça ne va pas plaire à l’application" 6 feed_limit_too_high: "Ça ne va pas plaire à l’application"
7 quote_length_too_high: "La citation est trop longue. Elle doit avoir au maximum {{ limit }} caractères." 7 quote_length_too_high: "La citation est trop longue. Elle doit avoir au maximum {{ limit }} caractères."
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.it.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.it.yml
index d949cc3b..b20d6f51 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.it.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.it.yml
@@ -3,5 +3,5 @@ validator:
3 password_too_short: 'La password deve essere lunga almeno 8 caratteri' 3 password_too_short: 'La password deve essere lunga almeno 8 caratteri'
4 password_wrong_value: 'Valore inserito per la password corrente errato' 4 password_wrong_value: 'Valore inserito per la password corrente errato'
5 item_per_page_too_high: 'Questo valore è troppo alto' 5 item_per_page_too_high: 'Questo valore è troppo alto'
6 rss_limit_too_high: 'Questo valore è troppo alto' 6 feed_limit_too_high: 'Questo valore è troppo alto'
7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.' 7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.oc.yml
index 87f00f10..cb57844f 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.oc.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.oc.yml
@@ -3,5 +3,5 @@ validator:
3 password_too_short: 'Lo senhal deu aver almens 8 caractèrs' 3 password_too_short: 'Lo senhal deu aver almens 8 caractèrs'
4 password_wrong_value: 'Vòstre senhal actual es pas bon' 4 password_wrong_value: 'Vòstre senhal actual es pas bon'
5 item_per_page_too_high: "Aquò li agradarà pas a l'aplicacion" 5 item_per_page_too_high: "Aquò li agradarà pas a l'aplicacion"
6 rss_limit_too_high: "Aquò li agradarà pas a l'aplicacion" 6 feed_limit_too_high: "Aquò li agradarà pas a l'aplicacion"
7 quote_length_too_high: 'Aquesta citacion es tròpa longa. Cal que faga {{ limit }} caractèrs o mens.' 7 quote_length_too_high: 'Aquesta citacion es tròpa longa. Cal que faga {{ limit }} caractèrs o mens.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.pl.yml
index e4165c14..94757cc5 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.pl.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.pl.yml
@@ -3,5 +3,5 @@ validator:
3 password_too_short: 'Hasło powinno mieć minimum 8 znaków długości' 3 password_too_short: 'Hasło powinno mieć minimum 8 znaków długości'
4 password_wrong_value: 'Twoje obecne hasło jest błędne' 4 password_wrong_value: 'Twoje obecne hasło jest błędne'
5 item_per_page_too_high: 'To może spowodować problemy z aplikacją' 5 item_per_page_too_high: 'To może spowodować problemy z aplikacją'
6 rss_limit_too_high: 'To może spowodować problemy z aplikacją' 6 feed_limit_too_high: 'To może spowodować problemy z aplikacją'
7 quote_length_too_high: 'Cytat jest zbyt długi. powinien mieć {{ limit }} znaków lub mniej.' 7 quote_length_too_high: 'Cytat jest zbyt długi. powinien mieć {{ limit }} znaków lub mniej.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.pt.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.pt.yml
index a8c1f9de..1d69af97 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.pt.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.pt.yml
@@ -3,5 +3,5 @@ validator:
3 password_too_short: 'A senha deve ter pelo menos 8 caracteres' 3 password_too_short: 'A senha deve ter pelo menos 8 caracteres'
4 password_wrong_value: 'A senha atual informada está errada' 4 password_wrong_value: 'A senha atual informada está errada'
5 item_per_page_too_high: 'Certamente isso pode matar a aplicação' 5 item_per_page_too_high: 'Certamente isso pode matar a aplicação'
6 rss_limit_too_high: 'Certamente isso pode matar a aplicação' 6 feed_limit_too_high: 'Certamente isso pode matar a aplicação'
7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.' 7 quote_length_too_high: 'A citaçãpo é muito longa. Ela deve ter {{ limit }} caracteres ou menos.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.ro.yml
index 6840cf11..e5c8a72f 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.ro.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.ro.yml
@@ -3,5 +3,5 @@ validator:
3 password_too_short: 'Parola ar trebui să conțină cel puțin 8 caractere' 3 password_too_short: 'Parola ar trebui să conțină cel puțin 8 caractere'
4 # password_wrong_value: 'Wrong value for your current password' 4 # password_wrong_value: 'Wrong value for your current password'
5 # item_per_page_too_high: 'This will certainly kill the app' 5 # item_per_page_too_high: 'This will certainly kill the app'
6 # rss_limit_too_high: 'This will certainly kill the app' 6 # feed_limit_too_high: 'This will certainly kill the app'
7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.' 7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.'
diff --git a/src/Wallabag/CoreBundle/Resources/translations/validators.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/validators.tr.yml
index e1e7317f..881ffd3b 100644
--- a/src/Wallabag/CoreBundle/Resources/translations/validators.tr.yml
+++ b/src/Wallabag/CoreBundle/Resources/translations/validators.tr.yml
@@ -3,5 +3,5 @@ validator:
3 # password_too_short: 'Password should by at least 8 chars long' 3 # password_too_short: 'Password should by at least 8 chars long'
4 # password_wrong_value: 'Wrong value for your current password' 4 # password_wrong_value: 'Wrong value for your current password'
5 # item_per_page_too_high: 'This will certainly kill the app' 5 # item_per_page_too_high: 'This will certainly kill the app'
6 # rss_limit_too_high: 'This will certainly kill the app' 6 # feed_limit_too_high: 'This will certainly kill the app'
7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.' 7 # quote_length_too_high: 'The quote is too long. It should have {{ limit }} characters or less.'
diff --git a/src/Wallabag/CoreBundle/Resources/views/base.html.twig b/src/Wallabag/CoreBundle/Resources/views/base.html.twig
index aa388bcb..496b3fb6 100644
--- a/src/Wallabag/CoreBundle/Resources/views/base.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/base.html.twig
@@ -1,13 +1,15 @@
1<!DOCTYPE html> 1<!DOCTYPE html>
2<!--[if lte IE 6]><html class="no-js ie6 ie67 ie678" lang="en"><![endif]--> 2{% set lang = app.request.locale|default('') -%}
3<!--[if lte IE 7]><html class="no-js ie7 ie67 ie678" lang="en"><![endif]--> 3<!--[if lte IE 6]><html class="no-js ie6 ie67 ie678"{% if lang is not empty %} lang="{{ lang }}"{% endif %}><![endif]-->
4<!--[if IE 8]><html class="no-js ie8 ie678" lang="en"><![endif]--> 4<!--[if lte IE 7]><html class="no-js ie7 ie67 ie678"{% if lang is not empty %} lang="{{ lang }}"{% endif %}><![endif]-->
5<!--[if gt IE 8]><html class="no-js" lang="en"><![endif]--> 5<!--[if IE 8]><html class="no-js ie8 ie678"{% if lang is not empty %} lang="{{ lang }}"{% endif %}><![endif]-->
6<html> 6<!--[if gt IE 8]><html class="no-js"{% if lang is not empty %} lang="{{ lang }}"{% endif %}><![endif]-->
7<html{% if lang is not empty %} lang="{{ lang }}"{% endif %}>
7 <head> 8 <head>
8 {% block head %} 9 {% block head %}
9 <meta name="viewport" content="initial-scale=1.0"> 10 <meta name="viewport" content="initial-scale=1.0">
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 11 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
12 <meta name="referrer" content="strict-origin-when-cross-origin">
11 <!--[if IE]> 13 <!--[if IE]>
12 <meta http-equiv="X-UA-Compatible" content="IE=10"> 14 <meta http-equiv="X-UA-Compatible" content="IE=10">
13 <![endif]--> 15 <![endif]-->
@@ -42,6 +44,7 @@
42 44
43 {% block css %} 45 {% block css %}
44 {% endblock %} 46 {% endblock %}
47 <link rel="stylesheet" href="{{ asset('custom.css') }}">
45 {% block scripts %} 48 {% block scripts %}
46 <script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script> 49 <script src="{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
47 <script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script> 50 <script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script>
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 bcc57dac..f719bea2 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
@@ -86,8 +86,7 @@
86 <br/> 86 <br/>
87 <img id="androidQrcode" /> 87 <img id="androidQrcode" />
88 <script> 88 <script>
89 const imgBase64 = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}'); 89 document.getElementById('androidQrcode').src = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}');
90 document.getElementById('androidQrcode').src = imgBase64;
91 </script> 90 </script>
92 </div> 91 </div>
93 </fieldset> 92 </fieldset>
@@ -95,43 +94,42 @@
95 {{ form_rest(form.config) }} 94 {{ form_rest(form.config) }}
96 </form> 95 </form>
97 96
98 <h2>{{ 'config.tab_menu.rss'|trans }}</h2> 97 <h2>{{ 'config.tab_menu.feed'|trans }}</h2>
99 98
100 {{ form_start(form.rss) }} 99 {{ form_start(form.feed) }}
101 {{ form_errors(form.rss) }} 100 {{ form_errors(form.feed) }}
102 101
103 <div class="row"> 102 <div class="row">
104 {{ 'config.form_rss.description'|trans }} 103 {{ 'config.form_feed.description'|trans }}
105 </div> 104 </div>
106 105
107 <fieldset class="w500p inline"> 106 <fieldset class="w500p inline">
108 <div class="row"> 107 <div class="row">
109 <label>{{ 'config.form_rss.token_label'|trans }}</label> 108 <label>{{ 'config.form_feed.token_label'|trans }}</label>
110 {% if rss.token %} 109 {% if feed.token %}
111 {{ rss.token }} 110 {{ feed.token }}
112 {% else %} 111 {% else %}
113 <em>{{ 'config.form_rss.no_token'|trans }}</em> 112 <em>{{ 'config.form_feed.no_token'|trans }}</em>
113 {% endif %}
114
115 {% if feed.token %}
116 – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_reset'|trans }}</a>
117 – <a href="{{ path('revoke_token') }}">{{ 'config.form_feed.token_revoke'|trans }}</a>
118 {% else %}
119 – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_create'|trans }}</a>
114 {% endif %} 120 {% endif %}
115
116 <a href="{{ path('generate_token') }}">
117 {% if rss.token %}
118 {{ 'config.form_rss.token_reset'|trans }}
119 {% else %}
120 {{ 'config.form_rss.token_create'|trans }}
121 {% endif %}
122 </a>
123 </div> 121 </div>
124 </fieldset> 122 </fieldset>
125 123
126 {% if rss.token %} 124 {% if feed.token %}
127 <fieldset class="w500p inline"> 125 <fieldset class="w500p inline">
128 <div class="row"> 126 <div class="row">
129 <label>{{ 'config.form_rss.rss_links'|trans }}</label> 127 <label>{{ 'config.form_feed.feed_links'|trans }}</label>
130 <ul> 128 <ul>
131 <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.unread'|trans }}</a></li> 129 <li><a href="{{ path('unread_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.unread'|trans }}</a></li>
132 <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.starred'|trans }}</a></li> 130 <li><a href="{{ path('starred_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.starred'|trans }}</a></li>
133 <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.archive'|trans }}</a></li> 131 <li><a href="{{ path('archive_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.archive'|trans }}</a></li>
134 <li><a href="{{ path('all_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.all'|trans }}</a></li> 132 <li><a href="{{ path('all_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.all'|trans }}</a></li>
135 </ul> 133 </ul>
136 </div> 134 </div>
137 </fieldset> 135 </fieldset>
@@ -139,19 +137,25 @@
139 137
140 <fieldset class="w500p inline"> 138 <fieldset class="w500p inline">
141 <div class="row"> 139 <div class="row">
142 {{ form_label(form.rss.rss_limit) }} 140 {{ form_label(form.feed.feed_limit) }}
143 {{ form_errors(form.rss.rss_limit) }} 141 {{ form_errors(form.feed.feed_limit) }}
144 {{ form_widget(form.rss.rss_limit) }} 142 {{ form_widget(form.feed.feed_limit) }}
145 </div> 143 </div>
146 </fieldset> 144 </fieldset>
147 145
148 {{ form_rest(form.rss) }} 146 {{ form_rest(form.feed) }}
149 </form> 147 </form>
150 148
151 <h2>{{ 'config.tab_menu.user_info'|trans }}</h2> 149 <h2>{{ 'config.tab_menu.user_info'|trans }}</h2>
152 150
153 {{ form_start(form.user) }} 151 {{ form_start(form.user) }}
154 {{ form_errors(form.user) }} 152 {{ form_errors(form.user) }}
153 <fieldset class="w500p inline">
154 <div class="row">
155 <label>{{ 'config.form_user.login_label'|trans }}</label>
156 {{ app.user.username }}
157 </div>
158 </fieldset>
155 159
156 <fieldset class="w500p inline"> 160 <fieldset class="w500p inline">
157 <div class="row"> 161 <div class="row">
@@ -169,52 +173,41 @@
169 </div> 173 </div>
170 </fieldset> 174 </fieldset>
171 175
176 {{ form_widget(form.user.save) }}
177
172 {% if twofactor_auth %} 178 {% if twofactor_auth %}
179 <h5>{{ 'config.otp.page_title'|trans }}</h5>
180
173 <div class="row"> 181 <div class="row">
174 {{ 'config.form_user.two_factor_description'|trans }} 182 {{ 'config.form_user.two_factor_description'|trans }}
175 </div> 183 </div>
176 184
177 <fieldset class="w500p inline"> 185 <table>
178 <div class="row"> 186 <thead>
179 {{ form_label(form.user.twoFactorAuthentication) }} 187 <tr>
180 {{ form_errors(form.user.twoFactorAuthentication) }} 188 <th>{{ 'config.form_user.two_factor.table_method'|trans }}</th>
181 {{ form_widget(form.user.twoFactorAuthentication) }} 189 <th>{{ 'config.form_user.two_factor.table_state'|trans }}</th>
182 </div> 190 <th>{{ 'config.form_user.two_factor.table_action'|trans }}</th>
183 <a href="#" title="{{ 'config.form_user.help_twoFactorAuthentication'|trans }}"> 191 </tr>
184 <i class="material-icons">live_help</i> 192 </thead>
185 </a>
186 </fieldset>
187 {% endif %}
188 193
189 <h2>{{ 'config.reset.title'|trans }}</h2> 194 <tbody>
190 <fieldset class="w500p inline"> 195 <tr>
191 <p>{{ 'config.reset.description'|trans }}</p> 196 <td>{{ 'config.form_user.two_factor.emailTwoFactor_label'|trans }}</td>
192 <ul> 197 <td>{% if app.user.isEmailTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
193 <li> 198 <td><a href="{{ path('config_otp_email') }}" class="waves-effect waves-light btn{% if app.user.isEmailTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_email'|trans }}</a></td>
194 <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> 199 </tr>
195 {{ 'config.reset.annotations'|trans }} 200 <tr>
196 </a> 201 <td>{{ 'config.form_user.two_factor.googleTwoFactor_label'|trans }}</td>
197 </li> 202 <td>{% if app.user.isGoogleTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
198 <li> 203 <td><a href="{{ path('config_otp_app') }}" class="waves-effect waves-light btn{% if app.user.isGoogleTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_app'|trans }}</a></td>
199 <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red"> 204 </tr>
200 {{ 'config.reset.tags'|trans }} 205 </tbody>
201 </a> 206 </table>
202 </li> 207
203 <li> 208 {% endif %}
204 <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
205 {{ 'config.reset.archived'|trans }}
206 </a>
207 </li>
208 <li>
209 <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
210 {{ 'config.reset.entries'|trans }}
211 </a>
212 </li>
213 </ul>
214 </fieldset>
215 209
216 {{ form_widget(form.user._token) }} 210 {{ form_widget(form.user._token) }}
217 {{ form_widget(form.user.save) }}
218 </form> 211 </form>
219 212
220 {% if enabled_users > 1 %} 213 {% if enabled_users > 1 %}
@@ -277,7 +270,7 @@
277 {% endfor %} 270 {% endfor %}
278 </ul> 271 </ul>
279 272
280 {{ form_start(form.new_tagging_rule) }} 273 {{ form_start(form.new_tagging_rule) }}
281 {{ form_errors(form.new_tagging_rule) }} 274 {{ form_errors(form.new_tagging_rule) }}
282 275
283 <fieldset class="w500p inline"> 276 <fieldset class="w500p inline">
@@ -298,6 +291,34 @@
298 291
299 {{ form_rest(form.new_tagging_rule) }} 292 {{ form_rest(form.new_tagging_rule) }}
300 </form> 293 </form>
294
295 <div class="row">
296 <h3>{{ 'config.form_rules.card.import_tagging_rules'|trans }}</h3>
297 <p>{{ 'config.form_rules.card.import_tagging_rules_detail'|trans }}</p>
298 </div>
299
300 {{ form_start(form.import_tagging_rule) }}
301 {{ form_errors(form.import_tagging_rule) }}
302
303 <fieldset class="w500p inline">
304 <div class="row">
305 {{ form_label(form.import_tagging_rule.file) }}
306 {{ form_errors(form.import_tagging_rule.file) }}
307 {{ form_widget(form.import_tagging_rule.file) }}
308 </div>
309 </fieldset>
310
311 {{ form_rest(form.import_tagging_rule) }}
312 </form>
313
314 {% if app.user.config.taggingRules is not empty %}
315 <div class="row">
316 <h3>{{ 'config.form_rules.card.export_tagging_rules'|trans }}</h3>
317 <p>{{ 'config.form_rules.card.export_tagging_rules_detail'|trans }}</p>
318 <p><a href="{{ path('export_tagging_rule') }}" class="waves-effect waves-light btn">{{ 'config.form_rules.export'|trans }}</a></p>
319 </div>
320 {% endif %}
321
301 <div class="row"> 322 <div class="row">
302 <div class="input-field col s12"> 323 <div class="input-field col s12">
303 <h3>{{ 'config.form_rules.faq.title'|trans }}</h3> 324 <h3>{{ 'config.form_rules.faq.title'|trans }}</h3>
@@ -382,4 +403,31 @@
382 </table> 403 </table>
383 </div> 404 </div>
384 </div> 405 </div>
406
407 <h2>{{ 'config.reset.title'|trans }}</h2>
408 <fieldset class="w500p inline">
409 <p>{{ 'config.reset.description'|trans }}</p>
410 <ul>
411 <li>
412 <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
413 {{ 'config.reset.annotations'|trans }}
414 </a>
415 </li>
416 <li>
417 <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
418 {{ 'config.reset.tags'|trans }}
419 </a>
420 </li>
421 <li>
422 <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
423 {{ 'config.reset.archived'|trans }}
424 </a>
425 </li>
426 <li>
427 <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
428 {{ 'config.reset.entries'|trans }}
429 </a>
430 </li>
431 </ul>
432 </fieldset>
385{% endblock %} 433{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig
new file mode 100644
index 00000000..1d3685ae
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig
@@ -0,0 +1,55 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{{ 'config.page_title'|trans }} > {{ 'config.otp.page_title'|trans }}{% endblock %}
4
5{% block content %}
6 <h5>{{ 'config.otp.page_title'|trans }}</h5>
7
8 <ol>
9 <li>
10 <p>{{ 'config.otp.app.two_factor_code_description_1'|trans }}</p>
11 <p>{{ 'config.otp.app.two_factor_code_description_2'|trans }}</p>
12
13 <p>
14 <img id="2faQrcode" class="hide-on-med-and-down" />
15 <script>
16 document.getElementById('2faQrcode').src = jrQrcode.getQrBase64('{{ qr_code }}');
17 </script>
18 </p>
19 </li>
20 <li>
21 <p>{{ 'config.otp.app.two_factor_code_description_3'|trans }}</p>
22
23 <p><strong>{{ backupCodes|join("\n")|nl2br }}</strong></p>
24 </li>
25 <li>
26 <p>{{ 'config.otp.app.two_factor_code_description_4'|trans }}</p>
27
28 {% for flashMessage in app.session.flashbag.get("two_factor") %}
29 <div class="card-panel red darken-1 black-text">
30 {{ flashMessage|trans }}
31 </div>
32 {% endfor %}
33
34 <form class="form" action="{{ path("config_otp_app_check") }}" method="post">
35 <div class="card-content">
36 <div class="row">
37 <div class="input-field col s12">
38 <label for="_auth_code">{{ "auth_code"|trans({}, 'SchebTwoFactorBundle') }}</label>
39 <input id="_auth_code" type="text" autocomplete="off" name="_auth_code" />
40 </div>
41 </div>
42 </div>
43 <div class="card-action">
44 <a href="{{ path('config_otp_app_cancel') }}" class="waves-effect waves-light grey btn">
45 {{ 'config.otp.app.cancel'|trans }}
46 </a>
47 <button class="btn waves-effect waves-light" type="submit" name="send">
48 {{ 'config.otp.app.enable'|trans }}
49 <i class="material-icons right">send</i>
50 </button>
51 </div>
52 </form>
53 </li>
54 </ol>
55{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
index cfc6644b..b747ed84 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
@@ -2,8 +2,8 @@
2 2
3{% block head %} 3{% block head %}
4 {{ parent() }} 4 {{ parent() }}
5 {% if tag is defined and app.user.config.rssToken %} 5 {% if tag is defined and app.user.config.feedToken %}
6 <link rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" /> 6 <link rel="alternate" type="application/atom+xml" href="{{ path('tag_feed', {'username': app.user.username, 'token': app.user.config.feedToken, 'slug': tag.slug}) }}" />
7 {% endif %} 7 {% endif %}
8{% endblock %} 8{% endblock %}
9 9
@@ -20,13 +20,19 @@
20 20
21{% block content %} 21{% block content %}
22 {% set currentRoute = app.request.attributes.get('_route') %} 22 {% set currentRoute = app.request.attributes.get('_route') %}
23 {% if currentRoute == 'homepage' %}
24 {% set currentRoute = 'unread' %}
25 {% endif %}
23 {% set listMode = app.user.config.listMode %} 26 {% set listMode = app.user.config.listMode %}
24 <div class="results"> 27 <div class="results">
25 <div class="nb-results">{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}</div> 28 <div class="nb-results">{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}</div>
26 <div class="pagination"> 29 <div class="pagination">
27 <a href="{{ path('switch_view_mode') }}"><i class="listMode-btn material-icons md-24">{% if listMode == 0 %}list{% else %}view_module{% endif %}</i></a> 30 <a href="{{ path('switch_view_mode') }}"><i class="listMode-btn material-icons md-24">{% if listMode == 0 %}list{% else %}view_module{% endif %}</i></a>
28 {% if app.user.config.rssToken %} 31 {% if app.user.config.feedToken %}
29 {% include "@WallabagCore/themes/common/Entry/_rss_link.html.twig" %} 32 {% include "@WallabagCore/themes/common/Entry/_feed_link.html.twig" %}
33 {% endif %}
34 {% if currentRoute in ['unread', 'starred', 'archive', 'untagged', 'all'] %}
35 <a href="{{ path('random_entry', { 'type': currentRoute }) }}"><i class="btn-clickable material-icons md-24 js-random-action">casino</i></a>
30 {% endif %} 36 {% endif %}
31 <i class="btn-clickable download-btn material-icons md-24 js-export-action">file_download</i> 37 <i class="btn-clickable download-btn material-icons md-24 js-export-action">file_download</i>
32 <i class="btn-clickable filter-btn material-icons md-24 js-filters-action">filter_list</i> 38 <i class="btn-clickable filter-btn material-icons md-24 js-filters-action">filter_list</i>
@@ -40,7 +46,7 @@
40 <div id="entry-{{ entry.id|e }}" class="{% if listMode == 0 %}entry{% else %}listmode entry{% endif %}"> 46 <div id="entry-{{ entry.id|e }}" class="{% if listMode == 0 %}entry{% else %}listmode entry{% endif %}">
41 <h2><a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title|e|raw }}">{{ entry.title | striptags | truncate(80, true, '…') | default('entry.default_title'|trans) | raw }}</a></h2> 47 <h2><a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title|e|raw }}">{{ entry.title | striptags | truncate(80, true, '…') | default('entry.default_title'|trans) | raw }}</a></h2>
42 48
43 {% set readingTime = entry.readingTime / app.user.config.readingSpeed %} 49 {% set readingTime = entry.readingTime / app.user.config.readingSpeed * 200 %}
44 <div class="estimatedTime"> 50 <div class="estimatedTime">
45 <span class="tool reading-time"> 51 <span class="tool reading-time">
46 {% if readingTime > 0 %} 52 {% if readingTime > 0 %}
@@ -90,17 +96,14 @@
90 {% if tag is defined %} 96 {% if tag is defined %}
91 {% set currentTag = tag %} 97 {% set currentTag = tag %}
92 {% endif %} 98 {% endif %}
93 {% if currentRoute == 'homepage' %}
94 {% set currentRoute = 'unread' %}
95 {% endif %}
96 <h2>{{ 'entry.list.export_title'|trans }}</h2> 99 <h2>{{ 'entry.list.export_title'|trans }}</h2>
97 <a href="javascript: void(null);" id="download-form-close" class="close-button--popup close-button">&times;</a> 100 <a href="javascript: void(null);" id="download-form-close" class="close-button--popup close-button">&times;</a>
98 <ul> 101 <ul>
99 {% if craue_setting('export_epub') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'epub', 'tag' : currentTag }) }}">EPUB</a></li>{% endif %} 102 {% if craue_setting('export_epub') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'epub', 'tag' : currentTag }) }}">EPUB</a></li>{% endif %}
100 {% if craue_setting('export_mobi') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'mobi', 'tag' : currentTag }) }}">MOBI</a></li>{% endif %} 103 {% if craue_setting('export_mobi') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'mobi', 'tag' : currentTag }) }}">MOBI</a></li>{% endif %}
101 {% if craue_setting('export_pdf') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'pdf', 'tag' : currentTag }) }}">PDF</a></li>{% endif %} 104 {% if craue_setting('export_pdf') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'pdf', 'tag' : currentTag }) }}">PDF</a></li>{% endif %}
102 {% if craue_setting('export_csv') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'json', 'tag' : currentTag }) }}">JSON</a></li>{% endif %} 105 {% if craue_setting('export_json') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'json', 'tag' : currentTag }) }}">JSON</a></li>{% endif %}
103 {% if craue_setting('export_json') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'csv', 'tag' : currentTag }) }}">CSV</a></li>{% endif %} 106 {% if craue_setting('export_csv') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'csv', 'tag' : currentTag }) }}">CSV</a></li>{% endif %}
104 {% if craue_setting('export_txt') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'txt', 'tag' : currentTag }) }}">TXT</a></li>{% endif %} 107 {% if craue_setting('export_txt') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'txt', 'tag' : currentTag }) }}">TXT</a></li>{% endif %}
105 {% if craue_setting('export_xml') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'xml', 'tag' : currentTag }) }}">XML</a></li>{% endif %} 108 {% if craue_setting('export_xml') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'xml', 'tag' : currentTag }) }}">XML</a></li>{% endif %}
106 </ul> 109 </ul>
@@ -114,6 +117,12 @@
114 <a href="javascript: void(null);" id="filter-form-close" class="close-button--popup close-button">&times;</a> 117 <a href="javascript: void(null);" id="filter-form-close" class="close-button--popup close-button">&times;</a>
115 118
116 <div id="filter-status" class="filter-group"> 119 <div id="filter-status" class="filter-group">
120 {% if currentRoute != 'untagged' and nbEntriesUntagged != 0 %}
121 <div class="">
122 <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }} ({{nbEntriesUntagged}})</a>
123 </div>
124 {% endif %}
125
117 <div class=""> 126 <div class="">
118 <label>{{ 'entry.filters.status_label'|trans }}</label> 127 <label>{{ 'entry.filters.status_label'|trans }}</label>
119 </div> 128 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig
index e7d42b3d..c2e69a27 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig
@@ -5,7 +5,7 @@
5{% block content %} 5{% block content %}
6 <div id="article"> 6 <div id="article">
7 <header class="mbm"> 7 <header class="mbm">
8 <h1>{{ entry.title|e|default('entry.default_title'|trans)|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" class="nostyle" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1> 8 <h1><span{% if entry.language is defined and entry.language is not null %} lang="{{ entry.getHTMLLanguage() }}"{% endif %}>{{ entry.title|e|default('entry.default_title'|trans)|raw }}</span> <a href="{{ path('edit', { 'id': entry.id }) }}" class="nostyle" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1>
9 </header> 9 </header>
10 10
11 <div id="article_toolbar"> 11 <div id="article_toolbar">
@@ -27,7 +27,7 @@
27 <li><a href="{{ path('share', {'id': entry.id }) }}" target="_blank" class="tool icon icon-eye" title="{{ 'entry.view.left_menu.public_link'|trans }}"><span>{{ 'entry.view.left_menu.public_link'|trans }}</span></a></li> 27 <li><a href="{{ path('share', {'id': entry.id }) }}" target="_blank" class="tool icon icon-eye" title="{{ 'entry.view.left_menu.public_link'|trans }}"><span>{{ 'entry.view.left_menu.public_link'|trans }}</span></a></li>
28 <li><a href="{{ path('delete_share', {'id': entry.id }) }}" class="tool icon icon-no-eye" title="{{ 'entry.view.left_menu.delete_public_link'|trans }}"><span>{{ 'entry.view.left_menu.delete_public_link'|trans }}</span></a></li> 28 <li><a href="{{ path('delete_share', {'id': entry.id }) }}" class="tool icon icon-no-eye" title="{{ 'entry.view.left_menu.delete_public_link'|trans }}"><span>{{ 'entry.view.left_menu.delete_public_link'|trans }}</span></a></li>
29 {% endif %} 29 {% endif %}
30 {% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" rel="noopener" class="tool twitter icon icon-twitter" title="Tweet"><span>Tweet</span></a></li>{% endif %} 30 {% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/share?text={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" rel="noopener" class="tool twitter icon icon-twitter" title="Tweet"><span>Tweet</span></a></li>{% endif %}
31 {% if craue_setting('share_mail') %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="Email"><span>Email</span></a></li>{% endif %} 31 {% if craue_setting('share_mail') %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="Email"><span>Email</span></a></li>{% endif %}
32 {% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}&amp;tags={{ entry.tags|join(',')|url_encode }}{% if craue_setting('shaarli_share_origin_url') %}&amp;original_url={{ entry.originUrl|url_encode }}{% endif %}" target="_blank" rel="noopener" class="tool icon-image icon-image--shaarli" title="shaarli"><span>shaarli</span></a></li>{% endif %} 32 {% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}&amp;tags={{ entry.tags|join(',')|url_encode }}{% if craue_setting('shaarli_share_origin_url') %}&amp;original_url={{ entry.originUrl|url_encode }}{% endif %}" target="_blank" rel="noopener" class="tool icon-image icon-image--shaarli" title="shaarli"><span>shaarli</span></a></li>{% endif %}
33 {% if craue_setting('share_scuttle') %}<li><a href="{{ craue_setting('scuttle_url') }}/bookmarks.php?action=add&amp;address={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}&amp;tags={{ entry.tags|join(',')|url_encode }}" target="_blank" rel="noopener" class="tool icon-image icon-image--scuttle" title="scuttle"><span>scuttle</span></a></li>{% endif %} 33 {% if craue_setting('share_scuttle') %}<li><a href="{{ craue_setting('scuttle_url') }}/bookmarks.php?action=add&amp;address={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}&amp;tags={{ entry.tags|join(',')|url_encode }}" target="_blank" rel="noopener" class="tool icon-image icon-image--scuttle" title="scuttle"><span>scuttle</span></a></li>{% endif %}
@@ -38,7 +38,7 @@
38 {% if craue_setting('export_epub') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'epub' }) }}" title="Generate ePub file">EPUB</a></li>{% endif %} 38 {% if craue_setting('export_epub') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'epub' }) }}" title="Generate ePub file">EPUB</a></li>{% endif %}
39 {% if craue_setting('export_mobi') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'mobi' }) }}" title="Generate Mobi file">MOBI</a></li>{% endif %} 39 {% if craue_setting('export_mobi') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'mobi' }) }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
40 {% if craue_setting('export_pdf') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'pdf' }) }}" title="Generate PDF file">PDF</a></li>{% endif %} 40 {% if craue_setting('export_pdf') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'pdf' }) }}" title="Generate PDF file">PDF</a></li>{% endif %}
41 <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.label'|trans }}" class="tool bad-display icon icon-delete"><span>{{ 'entry.view.left_menu.problem.label'|trans }}</span></a></li> 41 <li><a href="mailto:siteconfig@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.label'|trans }}" class="tool bad-display icon icon-delete"><span>{{ 'entry.view.left_menu.problem.label'|trans }}</span></a></li>
42 </ul> 42 </ul>
43 </div> 43 </div>
44 44
@@ -62,7 +62,7 @@
62 {% endif %} 62 {% endif %}
63 63
64 <i class="tool icon icon-time"> 64 <i class="tool icon icon-time">
65 {% set readingTime = entry.readingTime / app.user.config.readingSpeed %} 65 {% set readingTime = entry.readingTime / app.user.config.readingSpeed * 200 %}
66 {% if readingTime > 0 %} 66 {% if readingTime > 0 %}
67 {{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }} 67 {{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }}
68 {% else %} 68 {% else %}
@@ -70,7 +70,7 @@
70 {% endif %} 70 {% endif %}
71 </i> 71 </i>
72 72
73 <span class="tool link"><i class="material-icons link">comment</i> {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}</span> 73 <span class="tool link"><i class="material-icons">comment</i> {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}</span>
74 74
75 {% if entry.originUrl is not empty %} 75 {% if entry.originUrl is not empty %}
76 <i class="material-icons" title="{{ 'entry.view.provided_by'|trans }}">launch</i> 76 <i class="material-icons" title="{{ 'entry.view.provided_by'|trans }}">launch</i>
@@ -96,7 +96,7 @@
96 </div> 96 </div>
97 </aside> 97 </aside>
98 </div> 98 </div>
99 <article> 99 <article{% if entry.language is defined and entry.language is not null %} lang="{{ entry.getHTMLLanguage() }}"{% endif %}>
100 {{ entry.content | raw }} 100 {{ entry.content | raw }}
101 </article> 101 </article>
102 </div> 102 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig
index 070d5629..aa17b842 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig
@@ -10,15 +10,31 @@
10 <ul> 10 <ul>
11 {% for tag in tags %} 11 {% for tag in tags %}
12 <li id="tag-{{ tag.id|e }}"> 12 <li id="tag-{{ tag.id|e }}">
13 <a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{tag.label}} ({{ tag.nbEntries }})</a> 13 <a href="{{ path('tag_entries', {'slug': tag.slug}) }}" data-handle="tag-link">{{ tag.label }}&nbsp;({{ tag.nbEntries }})</a>
14 <a rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" class="right"> 14
15 <i class="material-icons md-24">rss_feed</i> 15 {% if renameForms is defined and renameForms[tag.id] is defined %}
16 <form class="card-tag-form hidden" data-handle="tag-rename-form" action="{{ path('tag_rename', {'slug': tag.slug})}}" method="POST">
17 {{ form_widget(renameForms[tag.id].label, {'attr': {'value': tag.label}}) }}
18 {{ form_rest(renameForms[tag.id]) }}
19 </form>
20 <a class="card-tag-rename" data-handler="tag-rename" href="javascript:void(0);">
21 <i class="material-icons">mode_edit</i>
16 </a> 22 </a>
23 {% endif %}
24 {% if app.user.config.feedToken %}
25 <a rel="alternate" type="application/atom+xml" href="{{ path('tag_feed', {'username': app.user.username, 'token': app.user.config.feedToken, 'slug': tag.slug}) }}" class="right">
26 <i class="material-icons md-24">rss_feed</i>
27 </a>
28 {% endif %}
17 </li> 29 </li>
18 {% endfor %} 30 {% endfor %}
19 </ul> 31 </ul>
20 32
21 <div> 33 <div>
22 <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }}</a> 34 {% if nbEntriesUntagged == 0 %}
35 {{ 'tag.list.no_untagged_entries'|trans }}
36 {% else %}
37 <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }} ({{nbEntriesUntagged}})</a>
38 {% endif %}
23 </div> 39 </div>
24{% endblock %} 40{% endblock %}
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 35a54daf..6b1e2bd7 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
@@ -50,6 +50,7 @@
50 <li class="menu howto"><a href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a></li> 50 <li class="menu howto"><a href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a></li>
51 <li class="menu developer"><a href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a></li> 51 <li class="menu developer"><a href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a></li>
52 <li class="menu about"><a href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans }}</a></li> 52 <li class="menu about"><a href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans }}</a></li>
53 <li class="menu quickstart"><a href="{{ path('quickstart') }}">{{ 'menu.left.quickstart'|trans }}</a></li>
53 <li class="menu logout"><a class="icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a></li> 54 <li class="menu logout"><a class="icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a></li>
54 </ul> 55 </ul>
55{% endblock %} 56{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig
index b498cceb..3a3ba0c9 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/client_parameters.html.twig
@@ -8,11 +8,29 @@
8 <div class="card-panel settings"> 8 <div class="card-panel settings">
9 <div class="row"> 9 <div class="row">
10 <p>{{ 'developer.client_parameter.page_description'|trans }}</p> 10 <p>{{ 'developer.client_parameter.page_description'|trans }}</p>
11 <ul> 11
12 <li>{{ 'developer.client_parameter.field_name'|trans }}: <strong><pre>{{ client_name }}</pre></strong></li> 12 <table class="striped">
13 <li>{{ 'developer.client_parameter.field_id'|trans }}: <strong><pre>{{ client_id }}</pre></strong></li> 13 <tr>
14 <li>{{ 'developer.client_parameter.field_secret'|trans }}: <strong><pre>{{ client_secret }}</pre></strong></li> 14 <td>{{ 'developer.client_parameter.field_name'|trans }}</td>
15 </ul> 15 <td><strong><code>{{ client_name }}</code></strong></td>
16 </tr>
17 <tr>
18 <td>{{ 'developer.client_parameter.field_id'|trans }}</td>
19 <td>
20 <strong><code>{{ client_id }}</code></strong>
21 <button class="btn" data-clipboard-text="{{ client_id }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button>
22 </td>
23 </tr>
24 <tr>
25 <td>{{ 'developer.client_parameter.field_secret'|trans }}</td>
26 <td>
27 <strong><code>{{ client_secret }}</code></strong>
28 <button class="btn" data-clipboard-text="{{ client_secret }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button>
29 </td>
30 </tr>
31 </table>
32
33 <br/>
16 34
17 <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client_parameter.back'|trans }}</a> 35 <a href="{{ path('developer') }}" class="waves-effect waves-light grey btn">{{ 'developer.client_parameter.back'|trans }}</a>
18 <a href="{{ path('developer_howto_firstapp') }}" class="btn waves-effect waves-light">{{ 'developer.client_parameter.read_howto'|trans }}</a> 36 <a href="{{ path('developer_howto_firstapp') }}" class="btn waves-effect waves-light">{{ 'developer.client_parameter.read_howto'|trans }}</a>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig
index acbc2c88..dcadfa49 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/howto_app.html.twig
@@ -18,7 +18,7 @@
18 <p>{{ 'developer.howto.description.paragraph_3'|trans({'%link%': path('developer_create_client')})|raw }}</p> 18 <p>{{ 'developer.howto.description.paragraph_3'|trans({'%link%': path('developer_create_client')})|raw }}</p>
19 <p>{{ 'developer.howto.description.paragraph_4'|trans }}</p> 19 <p>{{ 'developer.howto.description.paragraph_4'|trans }}</p>
20 <p> 20 <p>
21 <pre><code class="language-bash">http POST http://v2.wallabag.org/oauth/v2/token \ 21 <pre><code class="language-bash">http POST https://app.wallabag.it/oauth/v2/token \
22 grant_type=password \ 22 grant_type=password \
23 client_id=12_5um6nz50ceg4088c0840wwc0kgg44g00kk84og044ggkscso0k \ 23 client_id=12_5um6nz50ceg4088c0840wwc0kgg44g00kk84og044ggkscso0k \
24 client_secret=3qd12zpeaxes8cwg8c0404g888co4wo8kc4gcw0occww8cgw4k \ 24 client_secret=3qd12zpeaxes8cwg8c0404g888co4wo8kc4gcw0occww8cgw4k \
@@ -47,7 +47,7 @@ X-Powered-By: PHP/5.5.9-1ubuntu4.13
47 </p> 47 </p>
48 <p>{{ 'developer.howto.description.paragraph_6'|trans }}</p> 48 <p>{{ 'developer.howto.description.paragraph_6'|trans }}</p>
49 <p> 49 <p>
50 <pre><code class="language-bash">http GET http://v2.wallabag.org/api/entries.json \ 50 <pre><code class="language-bash">http GET https://app.wallabag.it/api/entries.json \
51 "Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"</code></pre> 51 "Authorization:Bearer ZWFjNjA3ZWMwYWVmYzRkYTBlMmQ3NTllYmVhOGJiZDE0ZTg1NjE4MjczOTVlNzM0ZTRlMWQ0MmRlMmYwNTk5Mw"</code></pre>
52 </p> 52 </p>
53 <p>{{ 'developer.howto.description.paragraph_7'|trans }}</p> 53 <p>{{ 'developer.howto.description.paragraph_7'|trans }}</p>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig
index be04cddb..b83bf96f 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Developer/index.html.twig
@@ -33,11 +33,17 @@
33 <table class="striped"> 33 <table class="striped">
34 <tr> 34 <tr>
35 <td>{{ 'developer.existing_clients.field_id'|trans }}</td> 35 <td>{{ 'developer.existing_clients.field_id'|trans }}</td>
36 <td><strong><code>{{ client.clientId }}</code></strong></td> 36 <td>
37 <strong><code>{{ client.clientId }}</code></strong>
38 <button class="btn" data-clipboard-text="{{ client.clientId }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button>
39 </td>
37 </tr> 40 </tr>
38 <tr> 41 <tr>
39 <td>{{ 'developer.existing_clients.field_secret'|trans }}</td> 42 <td>{{ 'developer.existing_clients.field_secret'|trans }}</td>
40 <td><strong><code>{{ client.secret }}</code></strong></td> 43 <td>
44 <strong><code>{{ client.secret }}</code></strong>
45 <button class="btn" data-clipboard-text="{{ client.secret }}">{{ 'developer.client.copy_to_clipboard'|trans }}</button>
46 </td>
41 </tr> 47 </tr>
42 <tr> 48 <tr>
43 <td>{{ 'developer.existing_clients.field_uris'|trans }}</td> 49 <td>{{ 'developer.existing_clients.field_uris'|trans }}</td>
@@ -48,9 +54,10 @@
48 <td><strong><code>{{ client.allowedGrantTypes|json_encode() }}</code></strong></td> 54 <td><strong><code>{{ client.allowedGrantTypes|json_encode() }}</code></strong></td>
49 </tr> 55 </tr>
50 </table> 56 </table>
57
58 <p>{{ 'developer.remove.warn_message_1'|trans({'%name%': client.name }) }}</p>
59 <p>{{ 'developer.remove.warn_message_2'|trans({'%name%': client.name }) }}</p>
51 <p> 60 <p>
52 {{ 'developer.remove.warn_message_1'|trans({'%name%': client.name }) }}<br/>
53 {{ 'developer.remove.warn_message_2'|trans({'%name%': client.name }) }}<br/>
54 <a class="waves-effect waves-light red btn" href="{{ path('developer_delete_client', {'id': client.id}) }}">{{ 'developer.remove.action'|trans({'%name%': client.name }) }}</a> 61 <a class="waves-effect waves-light red btn" href="{{ path('developer_delete_client', {'id': client.id}) }}">{{ 'developer.remove.action'|trans({'%name%': client.name }) }}</a>
55 </p> 62 </p>
56 </div> 63 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_feed_link.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_feed_link.html.twig
new file mode 100644
index 00000000..6df4c160
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_feed_link.html.twig
@@ -0,0 +1,11 @@
1{% if tag is defined %}
2 <a rel="alternate" type="application/atom+xml" href="{{ path('tag_feed', {'username': app.user.username, 'token': app.user.config.feedToken, 'slug': tag.slug}) }}" class="right"><i class="material-icons md-24">rss_feed</i></a>
3{% elseif currentRoute in ['homepage', 'unread', 'starred', 'archive', 'all'] %}
4 {% set feedRoute = currentRoute %}
5 {% if currentRoute == 'homepage' %}
6 {% set feedRoute = 'unread' %}
7 {% endif %}
8 {% set feedRoute = feedRoute ~ '_feed' %}
9
10 <a rel="alternate" type="application/atom+xml" href="{{ path(feedRoute, {'username': app.user.username, 'token': app.user.config.feedToken}) }}" class="right"><i class="material-icons">rss_feed</i></a>
11{% endif %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_rss_link.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_rss_link.html.twig
deleted file mode 100644
index eb26054c..00000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/_rss_link.html.twig
+++ /dev/null
@@ -1,11 +0,0 @@
1{% if tag is defined %}
2 <a rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" class="right"><i class="material-icons md-24">rss_feed</i></a>
3{% elseif currentRoute in ['homepage', 'unread', 'starred', 'archive', 'all'] %}
4 {% set rssRoute = currentRoute %}
5 {% if currentRoute == 'homepage' %}
6 {% set rssRoute = 'unread' %}
7 {% endif %}
8 {% set rssRoute = rssRoute ~ '_rss' %}
9
10 <a rel="alternate" type="application/rss+xml" href="{{ path(rssRoute, {'username': app.user.username, 'token': app.user.config.rssToken}) }}" class="right"><i class="material-icons">rss_feed</i></a>
11{% endif %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/entries.xml.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/entries.xml.twig
index 25d09ec3..cf6f6571 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/entries.xml.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/entries.xml.twig
@@ -1,34 +1,53 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/"> 2<feed xmlns="http://www.w3.org/2005/Atom">
3 <channel> 3 {% if type != 'tag' %}
4 <title>wallabag - {{ type }} feed</title> 4 <title>wallabag — {{type}} feed</title>
5 <link>{{ url_html }}</link> 5 <subtitle type="html">Atom feed for {{ type }} entries</subtitle>
6 <link rel="self" href="{{ app.request.uri }}"/> 6 <id>wallabag:{{ domainName | removeScheme | removeWww }}:{{ user }}:{{ type }}</id>
7 {% if entries.hasPreviousPage -%} 7 <link rel="alternate" type="text/html" href="{{ url(type) }}"/>
8 <link rel="previous" href="{{ url }}?page={{ entries.previousPage }}"/> 8 {% else %}
9 {% endif -%} 9 <id>wallabag:{{ domainName | removeScheme | removeWww }}:{{ user }}:{{ type }}:{{ tag }}</id>
10 {% if entries.hasNextPage -%} 10 <link rel="alternate" type="text/html" href="{{ url('tag_entries', {'slug': tag}) }}"/>
11 <link rel="next" href="{{ url }}?page={{ entries.nextPage }}"/> 11 <title>wallabag — {{type}} {{ tag }} feed</title>
12 {% endif -%} 12 <subtitle type="html">Atom feed for entries tagged with {{ tag }}</subtitle>
13 <link rel="last" href="{{ url }}?page={{ entries.nbPages }}"/> 13 {% endif %}
14 <pubDate>{{ "now"|date(constant('DATE_RSS')) }}</pubDate> 14 {% if entries | length > 0 %}
15 <generator>wallabag</generator> 15 <updated>{{ (entries | first).createdAt | date('c') }}</updated> {# Indicates the last time the feed was modified in a significant way. #}
16 <description>wallabag {{ type }} elements</description> 16 {% endif %}
17 17 <link rel="self" type="application/atom+xml" href="{{ app.request.uri }}"/>
18 {% for entry in entries %} 18 {% if entries.hasPreviousPage %}
19 19 <link rel="previous" href="{{ url }}/{{ entries.previousPage }}"/>
20 <item> 20 {% endif -%}
21 <title><![CDATA[{{ entry.title|e }}]]></title> 21 {% if entries.hasNextPage %}
22 <source url="{{ url('view', { 'id': entry.id }) }}">wallabag</source> 22 <link rel="next" href="{{ url }}/{{ entries.nextPage }}"/>
23 <link>{{ entry.url }}</link> 23 {% endif -%}
24 <guid>{{ entry.url }}</guid> 24 <link rel="last" href="{{ url }}/{{ entries.nbPages }}"/>
25 <pubDate>{{ entry.createdAt|date(constant('DATE_RSS')) }}</pubDate> 25 <generator uri="https://wallabag.org" version="{{ version }}">wallabag</generator>
26 <description> 26 <author>
27 <![CDATA[{%- if entry.readingTime > 0 -%}{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': entry.readingTime}) }}{%- else -%}{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}{%- endif %}{{ entry.content|raw -}}]]> 27 <name>{{ user }}</name>
28 </description> 28 </author>
29 </item> 29 <icon>{{ asset('favicon.ico') }}</icon>
30 30 <logo>{{ asset('bundles/wallabagcore/themes/_global/img/logo-square.png') }}</logo>
31 {% for entry in entries %}
32 <entry>
33 <title><![CDATA[{{ entry.title|e }}]]></title>
34 <link rel="alternate" type="text/html"
35 href="{{ url('view', {'id': entry.id}) }}"/>
36 <link rel="via">{{ entry.url }}</link>
37 <id>wallabag:{{ domainName | removeScheme | removeWww }}:{{ user }}:entry:{{ entry.id }}</id>
38 <updated>{{ entry.updatedAt|date('c') }}</updated>
39 <published>{{ entry.createdAt|date('c') }}</published>
40 {% for tag in entry.tags %}
41 <category term="{{ tag.slug }}" label="{{ tag.label }}" />
31 {% endfor %} 42 {% endfor %}
32 43 {% for author in entry.publishedBy %}
33 </channel> 44 <author>
34</rss> 45 <name>{{ author }}</name>
46 </author>
47 {% endfor %}
48 <content type="html" {% if entry.language %}xml:lang="{{ entry.language[:2] }}"{% endif %}>
49 <![CDATA[{%- if entry.readingTime > 0 -%}{{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': entry.readingTime}) }}{%- else -%}{{ 'entry.list.reading_time_less_one_minute'|trans|raw }}{%- endif %}{{ entry.content|raw -}}]]>
50 </content>
51 </entry>
52 {% endfor %}
53</feed>
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 e1c7aad9..4294a60d 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
@@ -29,9 +29,6 @@
29 <h1>{{ entry.title|e|raw }}</h1> 29 <h1>{{ entry.title|e|raw }}</h1>
30 <a href="{{ entry.url|e }}" target="_blank" rel="noopener" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e|raw }}" class="tool">{{ entry.domainName|removeWww }}</a> 30 <a href="{{ entry.url|e }}" target="_blank" rel="noopener" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e|raw }}" class="tool">{{ entry.domainName|removeWww }}</a>
31 <p class="shared-by">{{ "entry.public.shared_by_wallabag"|trans({'%wallabag_instance%': url('homepage'), '%username%': entry.user.username})|raw }}.</p> 31 <p class="shared-by">{{ "entry.public.shared_by_wallabag"|trans({'%wallabag_instance%': url('homepage'), '%username%': entry.user.username})|raw }}.</p>
32 {% if entry.previewPicture is not null %}
33 <img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|striptags|e('html_attr') }}" />
34 {% endif %}
35 </header> 32 </header>
36 <article class="block"> 33 <article class="block">
37 {{ entry.content | raw }} 34 {{ entry.content | raw }}
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 4580813c..521b3eea 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
@@ -21,7 +21,7 @@
21 <div class="card-action"> 21 <div class="card-action">
22 <ul> 22 <ul>
23 <li><a href="{{ path('config') }}">{{ 'quickstart.configure.language'|trans }}</a></li> 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> 24 <li><a href="{{ path('config') }}#set2">{{ 'quickstart.configure.feed'|trans }}</a></li>
25 <li><a href="{{ path('config') }}#set5">{{ 'quickstart.more'|trans }}</a></li> 25 <li><a href="{{ path('config') }}#set5">{{ 'quickstart.more'|trans }}</a></li>
26 </ul> 26 </ul>
27 </div> 27 </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 f896fe2d..d8e9694d 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
@@ -12,10 +12,11 @@
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 s12 m6 l3"><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 s12 m6 l3"><a href="#set2">{{ 'config.tab_menu.rss'|trans }}</a></li> 15 <li class="tab col s12 m6 l3"><a href="#set2">{{ 'config.tab_menu.feed'|trans }}</a></li>
16 <li class="tab col s12 m6 l3"><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 s12 m6 l3"><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 s12 m6 l3"><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 <li class="tab col s12 m6 l3"><a href="#set6">{{ 'config.tab_menu.reset'|trans }}</a></li>
19 </ul> 20 </ul>
20 </div> 21 </div>
21 22
@@ -111,8 +112,7 @@
111 <img id="androidQrcode" class="hide-on-med-and-down" /> 112 <img id="androidQrcode" class="hide-on-med-and-down" />
112 </div> 113 </div>
113 <script> 114 <script>
114 const imgBase64 = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}'); 115 document.getElementById('androidQrcode').src = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}');
115 document.getElementById('androidQrcode').src = imgBase64;
116 </script> 116 </script>
117 </div> 117 </div>
118 118
@@ -122,42 +122,43 @@
122 </div> 122 </div>
123 123
124 <div id="set2" class="col s12"> 124 <div id="set2" class="col s12">
125 {{ form_start(form.rss) }} 125 {{ form_start(form.feed) }}
126 {{ form_errors(form.rss) }} 126 {{ form_errors(form.feed) }}
127 127
128 <div class="row"> 128 <div class="row">
129 <div class="input-field col s12"> 129 <div class="input-field col s12">
130 {{ 'config.form_rss.description'|trans }} 130 {{ 'config.form_feed.description'|trans }}
131 </div> 131 </div>
132 </div> 132 </div>
133 133
134 <div class="row"> 134 <div class="row">
135 <div class="col s12"> 135 <div class="col s12">
136 <h6 class="grey-text">{{ 'config.form_rss.token_label'|trans }}</h6> 136 <h6 class="grey-text">{{ 'config.form_feed.token_label'|trans }}</h6>
137 <div> 137 <div>
138 {% if rss.token %} 138 {% if feed.token %}
139 {{ rss.token }} 139 {{ feed.token }}
140 {% else %} 140 {% else %}
141 <em>{{ 'config.form_rss.no_token'|trans }}</em> 141 <em>{{ 'config.form_feed.no_token'|trans }}</em>
142 {% endif %} 142 {% endif %}
143 – <a href="{{ path('generate_token') }}"> 143
144 {% if rss.token %} 144 {% if feed.token %}
145 {{ 'config.form_rss.token_reset'|trans }} 145 – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_reset'|trans }}</a>
146 – <a href="{{ path('revoke_token') }}">{{ 'config.form_feed.token_revoke'|trans }}</a>
146 {% else %} 147 {% else %}
147 {{ 'config.form_rss.token_create'|trans }} 148 – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_create'|trans }}</a>
148 {% endif %}</a> 149 {% endif %}
149 </div> 150 </div>
150 </div> 151 </div>
151 </div> 152 </div>
152 {% if rss.token %} 153 {% if feed.token %}
153 <div class="row"> 154 <div class="row">
154 <div class="col s12"> 155 <div class="col s12">
155 <h6 class="grey-text">{{ 'config.form_rss.rss_links'|trans }}</h6> 156 <h6 class="grey-text">{{ 'config.form_feed.feed_links'|trans }}</h6>
156 <ul> 157 <ul>
157 <li><a href="{{ path('unread_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.unread'|trans }}</a></li> 158 <li><a href="{{ path('unread_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.unread'|trans }}</a></li>
158 <li><a href="{{ path('starred_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.starred'|trans }}</a></li> 159 <li><a href="{{ path('starred_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.starred'|trans }}</a></li>
159 <li><a href="{{ path('archive_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.archive'|trans }}</a></li> 160 <li><a href="{{ path('archive_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.archive'|trans }}</a></li>
160 <li><a href="{{ path('all_rss', {'username': rss.username, 'token': rss.token}) }}">{{ 'config.form_rss.rss_link.all'|trans }}</a></li> 161 <li><a href="{{ path('all_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.all'|trans }}</a></li>
161 </ul> 162 </ul>
162 </div> 163 </div>
163 </div> 164 </div>
@@ -165,14 +166,14 @@
165 166
166 <div class="row"> 167 <div class="row">
167 <div class="input-field col s12"> 168 <div class="input-field col s12">
168 {{ form_label(form.rss.rss_limit) }} 169 {{ form_label(form.feed.feed_limit) }}
169 {{ form_errors(form.rss.rss_limit) }} 170 {{ form_errors(form.feed.feed_limit) }}
170 {{ form_widget(form.rss.rss_limit) }} 171 {{ form_widget(form.feed.feed_limit) }}
171 </div> 172 </div>
172 </div> 173 </div>
173 174
174 {{ form_widget(form.rss.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }} 175 {{ form_widget(form.feed.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
175 {{ form_rest(form.rss) }} 176 {{ form_rest(form.feed) }}
176 </form> 177 </form>
177 </div> 178 </div>
178 179
@@ -181,6 +182,15 @@
181 {{ form_errors(form.user) }} 182 {{ form_errors(form.user) }}
182 183
183 <div class="row"> 184 <div class="row">
185 <div class="col s12">
186 <h6 class="grey-text">{{ 'config.form_user.login_label'|trans }}</h6>
187 <div>
188 {{ app.user.username }}
189 </div>
190 </div>
191 </div>
192
193 <div class="row">
184 <div class="input-field col s12"> 194 <div class="input-field col s12">
185 {{ form_label(form.user.name) }} 195 {{ form_label(form.user.name) }}
186 {{ form_errors(form.user.name) }} 196 {{ form_errors(form.user.name) }}
@@ -196,59 +206,42 @@
196 </div> 206 </div>
197 </div> 207 </div>
198 208
199 {% if twofactor_auth %} 209 {{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
200 <div class="row">
201 <div class="input-field col s11">
202 {{ 'config.form_user.two_factor_description'|trans }}
203
204 <br />
205 210
206 {{ form_widget(form.user.twoFactorAuthentication) }} 211 {% if twofactor_auth %}
207 {{ form_label(form.user.twoFactorAuthentication) }} 212 <br/>
208 {{ form_errors(form.user.twoFactorAuthentication) }} 213 <br/>
209 </div> 214 <div class="row">
210 <div class="input-field col s1"> 215 <h5>{{ 'config.otp.page_title'|trans }}</h5>
211 <a href="#" class="tooltipped" data-position="left" data-delay="50" data-tooltip="{{ 'config.form_user.help_twoFactorAuthentication'|trans }}"> 216
212 <i class="material-icons">live_help</i> 217 <p>{{ 'config.form_user.two_factor_description'|trans }}</p>
213 </a> 218
219 <table>
220 <thead>
221 <tr>
222 <th>{{ 'config.form_user.two_factor.table_method'|trans }}</th>
223 <th>{{ 'config.form_user.two_factor.table_state'|trans }}</th>
224 <th>{{ 'config.form_user.two_factor.table_action'|trans }}</th>
225 </tr>
226 </thead>
227
228 <tbody>
229 <tr>
230 <td>{{ 'config.form_user.two_factor.emailTwoFactor_label'|trans }}</td>
231 <td>{% if app.user.isEmailTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
232 <td><a href="{{ path('config_otp_email') }}" class="waves-effect waves-light btn{% if app.user.isEmailTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_email'|trans }}</a></td>
233 </tr>
234 <tr>
235 <td>{{ 'config.form_user.two_factor.googleTwoFactor_label'|trans }}</td>
236 <td>{% if app.user.isGoogleTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
237 <td><a href="{{ path('config_otp_app') }}" class="waves-effect waves-light btn{% if app.user.isGoogleTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_app'|trans }}</a></td>
238 </tr>
239 </tbody>
240 </table>
214 </div> 241 </div>
215 </div>
216 {% endif %} 242 {% endif %}
217
218 {{ form_widget(form.user.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
219 {{ form_widget(form.user._token) }} 243 {{ form_widget(form.user._token) }}
220 </form> 244 </form>
221
222 <br /><hr /><br />
223
224 <div class="row">
225 <h5>{{ 'config.reset.title'|trans }}</h5>
226 <p>{{ 'config.reset.description'|trans }}</p>
227 <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
228 {{ 'config.reset.annotations'|trans }}
229 </a>
230 <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
231 {{ 'config.reset.tags'|trans }}
232 </a>
233 <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
234 {{ 'config.reset.archived'|trans }}
235 </a>
236 <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
237 {{ 'config.reset.entries'|trans }}
238 </a>
239 </div>
240
241 {% if enabled_users > 1 %}
242 <br /><hr /><br />
243
244 <div class="row">
245 <h5>{{ 'config.form_user.delete.title'|trans }}</h5>
246 <p>{{ 'config.form_user.delete.description'|trans }}</p>
247 <a href="{{ path('delete_account') }}" onclick="return confirm('{{ 'config.form_user.delete.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red delete-account">
248 {{ 'config.form_user.delete.button'|trans }}
249 </a>
250 </div>
251 {% endif %}
252 </div> 245 </div>
253 246
254 <div id="set4" class="col s12"> 247 <div id="set4" class="col s12">
@@ -314,28 +307,77 @@
314 </div> 307 </div>
315 {% endif %} 308 {% endif %}
316 309
317 {{ form_start(form.new_tagging_rule) }} 310 <ul class="row">
318 {{ form_errors(form.new_tagging_rule) }} 311 <li class="col l6 m6 s12">
319 312 <div class="card">
320 <div class="row"> 313 <div class="card-content">
321 <div class="input-field col s12"> 314 <span class="card-title">{{ 'config.form_rules.card.new_tagging_rule'|trans }}</span>
322 {{ form_label(form.new_tagging_rule.rule) }} 315
323 {{ form_errors(form.new_tagging_rule.rule) }} 316 {{ form_start(form.new_tagging_rule) }}
324 {{ form_widget(form.new_tagging_rule.rule) }} 317 {{ form_errors(form.new_tagging_rule) }}
318
319 <div class="row">
320 <div class="input-field col s12">
321 {{ form_label(form.new_tagging_rule.rule) }}
322 {{ form_errors(form.new_tagging_rule.rule) }}
323 {{ form_widget(form.new_tagging_rule.rule) }}
324 </div>
325 </div>
326
327 <div class="row">
328 <div class="input-field col s12">
329 {{ form_label(form.new_tagging_rule.tags) }}
330 {{ form_errors(form.new_tagging_rule.tags) }}
331 {{ form_widget(form.new_tagging_rule.tags) }}
332 </div>
333 </div>
334
335 {{ form_widget(form.new_tagging_rule.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
336 {{ form_rest(form.new_tagging_rule) }}
337 </form>
338 </div>
325 </div> 339 </div>
326 </div> 340 </li>
327 341 <li class="col l6 m6 s12">
328 <div class="row"> 342 <div class="card z-depth-1">
329 <div class="input-field col s12"> 343 <div class="card-content">
330 {{ form_label(form.new_tagging_rule.tags) }} 344 <span class="card-title">{{ 'config.form_rules.card.import_tagging_rules'|trans }}</span>
331 {{ form_errors(form.new_tagging_rule.tags) }} 345 <p>{{ 'config.form_rules.card.import_tagging_rules_detail'|trans }}</p>
332 {{ form_widget(form.new_tagging_rule.tags) }} 346 {{ form_start(form.import_tagging_rule) }}
347 {{ form_errors(form.import_tagging_rule) }}
348 <div class="row">
349 <div class="file-field input-field col s12">
350 {{ form_errors(form.import_tagging_rule.file) }}
351 <div class="btn">
352 <span>{{ form.import_tagging_rule.file.vars.label|trans }}</span>
353 {{ form_widget(form.import_tagging_rule.file) }}
354 </div>
355 <div class="file-path-wrapper">
356 <input class="file-path validate" type="text">
357 </div>
358 </div>
359 </div>
360
361 {{ form_widget(form.import_tagging_rule.import, { 'attr': {'class': 'btn waves-effect waves-light'} }) }}
362
363 {{ form_rest(form.import_tagging_rule) }}
364 </form>
365 </div>
333 </div> 366 </div>
334 </div> 367 </li>
335 368 {% if app.user.config.taggingRules is not empty %}
336 {{ form_widget(form.new_tagging_rule.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }} 369 <li class="col l6 m6 s12">
337 {{ form_rest(form.new_tagging_rule) }} 370 <div class="card z-depth-1">
338 </form> 371 <div class="card-content">
372 <span class="card-title">{{ 'config.form_rules.card.export_tagging_rules'|trans }}</span>
373 <p>{{ 'config.form_rules.card.export_tagging_rules_detail'|trans }}</p>
374 <br/>
375 <p><a href="{{ path('export_tagging_rule') }}" class="waves-effect waves-light btn">{{ 'config.form_rules.export'|trans }}</a></p>
376 </div>
377 </div>
378 </li>
379 {% endif %}
380 </ul>
339 381
340 <div class="row"> 382 <div class="row">
341 <div class="input-field col s12"> 383 <div class="input-field col s12">
@@ -422,6 +464,37 @@
422 </div> 464 </div>
423 </div> 465 </div>
424 </div> 466 </div>
467
468 <div id="set6" class="col s12">
469 <div class="row">
470 <h5>{{ 'config.reset.title'|trans }}</h5>
471 <p>{{ 'config.reset.description'|trans }}</p>
472 <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
473 {{ 'config.reset.annotations'|trans }}
474 </a>
475 <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
476 {{ 'config.reset.tags'|trans }}
477 </a>
478 <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
479 {{ 'config.reset.archived'|trans }}
480 </a>
481 <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
482 {{ 'config.reset.entries'|trans }}
483 </a>
484 </div>
485
486 {% if enabled_users > 1 %}
487 <br /><hr /><br />
488
489 <div class="row">
490 <h5>{{ 'config.form_user.delete.title'|trans }}</h5>
491 <p>{{ 'config.form_user.delete.description'|trans }}</p>
492 <a href="{{ path('delete_account') }}" onclick="return confirm('{{ 'config.form_user.delete.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red delete-account">
493 {{ 'config.form_user.delete.button'|trans }}
494 </a>
495 </div>
496 {% endif %}
497 </div>
425 </div> 498 </div>
426 499
427 </div> 500 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig
new file mode 100644
index 00000000..6f405d7f
--- /dev/null
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/otp_app.html.twig
@@ -0,0 +1,63 @@
1{% extends "WallabagCoreBundle::layout.html.twig" %}
2
3{% block title %}{{ 'config.page_title'|trans }} > {{ 'config.otp.page_title'|trans }}{% endblock %}
4
5{% block content %}
6 <div class="row">
7 <div class="col s12">
8 <div class="card-panel settings">
9 <div class="row">
10 <h5>{{ 'config.otp.page_title'|trans }}</h5>
11
12 <ol>
13 <li>
14 <p>{{ 'config.otp.app.two_factor_code_description_1'|trans }}</p>
15 <p>{{ 'config.otp.app.two_factor_code_description_2'|trans }}</p>
16
17 <p>
18 <img id="2faQrcode" class="hide-on-med-and-down" />
19 <script>
20 document.getElementById('2faQrcode').src = jrQrcode.getQrBase64('{{ qr_code }}');
21 </script>
22 </p>
23 </li>
24 <li>
25 <p>{{ 'config.otp.app.two_factor_code_description_3'|trans }}</p>
26
27 <p><strong>{{ backupCodes|join("\n")|nl2br }}</strong></p>
28 </li>
29 <li>
30 <p>{{ 'config.otp.app.two_factor_code_description_4'|trans }}</p>
31
32 {% for flashMessage in app.session.flashbag.get("two_factor") %}
33 <div class="card-panel red darken-1 black-text">
34 {{ flashMessage|trans }}
35 </div>
36 {% endfor %}
37
38 <form class="form" action="{{ path("config_otp_app_check") }}" method="post">
39 <div class="card-content">
40 <div class="row">
41 <div class="input-field col s12">
42 <label for="_auth_code">{{ "auth_code"|trans({}, 'SchebTwoFactorBundle') }}</label>
43 <input id="_auth_code" type="text" autocomplete="off" name="_auth_code" />
44 </div>
45 </div>
46 </div>
47 <div class="card-action">
48 <a href="{{ path('config_otp_app_cancel') }}" class="waves-effect waves-light grey btn">
49 {{ 'config.otp.app.cancel'|trans }}
50 </a>
51 <button class="btn waves-effect waves-light" type="submit" name="send">
52 {{ 'config.otp.app.enable'|trans }}
53 <i class="material-icons right">send</i>
54 </button>
55 </div>
56 </form>
57 </li>
58 </ol>
59 </div>
60 </div>
61 </div>
62 </div>
63{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/Card/_content.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/Card/_content.html.twig
index 1f3cd1a7..1102a0bd 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/Card/_content.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/Card/_content.html.twig
@@ -8,8 +8,11 @@
8 8
9 <div class="{{ subClass|default('original grey-text') }}"> 9 <div class="{{ subClass|default('original grey-text') }}">
10 <a href="{{ entry.url|e }}" target="_blank" title="{{ entry.domainName|removeWww }}" class="tool grey-text">{{ entry.domainName|removeWww }}</a> 10 <a href="{{ entry.url|e }}" target="_blank" title="{{ entry.domainName|removeWww }}" class="tool grey-text">{{ entry.domainName|removeWww }}</a>
11 {% if withTags is defined %} 11 {% if withMetadata is defined %}
12 {% include "@WallabagCore/themes/material/Entry/_tags.html.twig" with {'tags': entry.tags | slice(0, 3), 'entryId': entry.id, 'listClass': ' hide-on-med-and-down'} only %} 12 {% include "@WallabagCore/themes/material/Entry/_tags.html.twig" with {'tags': entry.tags | slice(0, 3), 'entryId': entry.id, 'listClass': ' hide-on-med-and-down'} only %}
13 <div class="reading-time grey-text">
14 <div class="card-reading-time">{% include "@WallabagCore/themes/material/Entry/_reading_time.html.twig" with {'entry': entry} only %}</div>
15 </div>
13 {% endif %} 16 {% endif %}
14 </div> 17 </div>
15</div> 18</div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_actions.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_actions.html.twig
index 827f09d9..be764e10 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_actions.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_actions.html.twig
@@ -1,9 +1,11 @@
1<div class="card-action"> 1<div class="card-action">
2 <span class="reading-time grey-text"> 2 <div class="reading-time grey-text">
3 {% include "@WallabagCore/themes/material/Entry/_reading_time.html.twig" with {'entry': entry} only %} 3 <div class="card-reading-time">{% include "@WallabagCore/themes/material/Entry/_reading_time.html.twig" with {'entry': entry} only %}</div>
4 <i class="material-icons hide-on-med-and-down" title="{{ 'entry.view.created_at'|trans }}">today</i> 4 <div class="card-created-at">
5 <span class="hide-on-med-and-down">&nbsp;{{ entry.createdAt|date('Y-m-d') }}</span> 5 <i class="material-icons" title="{{ 'entry.view.created_at'|trans }}">today</i>
6 </span> 6 <span>&nbsp;{{ entry.createdAt|date('Y-m-d') }}</span>
7 </div>
8 </div>
7 9
8 <ul class="tools right"> 10 <ul class="tools right">
9 <li> 11 <li>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig
index 1c00f2fa..6a095035 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig
@@ -5,7 +5,7 @@
5 <span class="preview{{ previewClassModifier }}" style="background-image: url({{ entry.previewPicture | default(asset('wallassets/themes/_global/img/logo-square.svg')) }})"></span> 5 <span class="preview{{ previewClassModifier }}" style="background-image: url({{ entry.previewPicture | default(asset('wallassets/themes/_global/img/logo-square.svg')) }})"></span>
6 </a> 6 </a>
7 </div> 7 </div>
8 {% include "@WallabagCore/themes/material/Entry/Card/_content.html.twig" with {'entry': entry, 'withTags': true, 'subClass': 'metadata'} only %} 8 {% include "@WallabagCore/themes/material/Entry/Card/_content.html.twig" with {'entry': entry, 'withMetadata': true, 'subClass': 'metadata'} only %}
9 <ul class="tools-list hide-on-small-only"> 9 <ul class="tools-list hide-on-small-only">
10 <li> 10 <li>
11 <a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool grey-text" href="{{ path('archive_entry', { 'id': entry.id }) }}"><i class="material-icons">{% if entry.isArchived == 0 %}done{% else %}unarchive{% endif %}</i></a> 11 <a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool grey-text" href="{{ path('archive_entry', { 'id': entry.id }) }}"><i class="material-icons">{% if entry.isArchived == 0 %}done{% else %}unarchive{% endif %}</i></a>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_reading_time.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_reading_time.html.twig
index 6ba18768..b7167e95 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_reading_time.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_reading_time.html.twig
@@ -1,4 +1,4 @@
1{% set readingTime = entry.readingTime / app.user.config.readingSpeed %} 1{% set readingTime = entry.readingTime / app.user.config.readingSpeed * 200 %}
2<i class="material-icons">timer</i> 2<i class="material-icons">timer</i>
3{% if readingTime > 0 %} 3{% if readingTime > 0 %}
4 <span>{{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }}</span> 4 <span>{{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }}</span>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
index a137f3c3..3906e1e0 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig
@@ -2,8 +2,8 @@
2 2
3{% block head %} 3{% block head %}
4 {{ parent() }} 4 {{ parent() }}
5 {% if tag is defined and app.user.config.rssToken %} 5 {% if tag is defined and app.user.config.feedToken %}
6 <link rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" /> 6 <link rel="alternate" type="application/atom+xml" href="{{ path('tag_feed', {'username': app.user.username, 'token': app.user.config.feedToken, 'slug': tag.slug}) }}" />
7 {% endif %} 7 {% endif %}
8{% endblock %} 8{% endblock %}
9 9
@@ -21,12 +21,15 @@
21{% block content %} 21{% block content %}
22 {% set listMode = app.user.config.listMode %} 22 {% set listMode = app.user.config.listMode %}
23 {% set currentRoute = app.request.attributes.get('_route') %} 23 {% set currentRoute = app.request.attributes.get('_route') %}
24 {% if currentRoute == 'homepage' %}
25 {% set currentRoute = 'unread' %}
26 {% endif %}
24 <div class="results"> 27 <div class="results">
25 <div class="nb-results"> 28 <div class="nb-results">
26 {{ 'entry.list.number_on_the_page'|transchoice(entries.count) }} 29 {{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}
27 <a href="{{ path('switch_view_mode') }}"><i class="material-icons">{% if listMode == 0 %}view_list{% else %}view_module{% endif %}</i></a> 30 <a href="{{ path('switch_view_mode') }}"><i class="material-icons">{% if listMode == 0 %}view_list{% else %}view_module{% endif %}</i></a>
28 {% if app.user.config.rssToken %} 31 {% if app.user.config.feedToken %}
29 {% include "@WallabagCore/themes/common/Entry/_rss_link.html.twig" %} 32 {% include "@WallabagCore/themes/common/Entry/_feed_link.html.twig" %}
30 {% endif %} 33 {% endif %}
31 </div> 34 </div>
32 {% if entries.getNbPages > 1 %} 35 {% if entries.getNbPages > 1 %}
@@ -60,16 +63,13 @@
60 {% if tag is defined %} 63 {% if tag is defined %}
61 {% set currentTag = tag.slug %} 64 {% set currentTag = tag.slug %}
62 {% endif %} 65 {% endif %}
63 {% if currentRoute == 'homepage' %}
64 {% set currentRoute = 'unread' %}
65 {% endif %}
66 <h4 class="center">{{ 'entry.list.export_title'|trans }}</h4> 66 <h4 class="center">{{ 'entry.list.export_title'|trans }}</h4>
67 <ul> 67 <ul>
68 {% if craue_setting('export_epub') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'epub', 'tag' : currentTag }) }}">EPUB</a></li>{% endif %} 68 {% if craue_setting('export_epub') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'epub', 'tag' : currentTag }) }}">EPUB</a></li>{% endif %}
69 {% if craue_setting('export_mobi') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'mobi', 'tag' : currentTag }) }}">MOBI</a></li>{% endif %} 69 {% if craue_setting('export_mobi') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'mobi', 'tag' : currentTag }) }}">MOBI</a></li>{% endif %}
70 {% if craue_setting('export_pdf') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'pdf', 'tag' : currentTag }) }}">PDF</a></li>{% endif %} 70 {% if craue_setting('export_pdf') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'pdf', 'tag' : currentTag }) }}">PDF</a></li>{% endif %}
71 {% if craue_setting('export_csv') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'json', 'tag' : currentTag }) }}">JSON</a></li>{% endif %} 71 {% if craue_setting('export_json') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'json', 'tag' : currentTag }) }}">JSON</a></li>{% endif %}
72 {% if craue_setting('export_json') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'csv', 'tag' : currentTag }) }}">CSV</a></li>{% endif %} 72 {% if craue_setting('export_csv') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'csv', 'tag' : currentTag }) }}">CSV</a></li>{% endif %}
73 {% if craue_setting('export_txt') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'txt', 'tag' : currentTag }) }}">TXT</a></li>{% endif %} 73 {% if craue_setting('export_txt') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'txt', 'tag' : currentTag }) }}">TXT</a></li>{% endif %}
74 {% if craue_setting('export_xml') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'xml', 'tag' : currentTag }) }}">XML</a></li>{% endif %} 74 {% if craue_setting('export_xml') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'xml', 'tag' : currentTag }) }}">XML</a></li>{% endif %}
75 </ul> 75 </ul>
@@ -83,6 +83,12 @@
83 <h4 class="center">{{ 'entry.filters.title'|trans }}</h4> 83 <h4 class="center">{{ 'entry.filters.title'|trans }}</h4>
84 84
85 <div class="row"> 85 <div class="row">
86 {% if currentRoute != 'untagged' and nbEntriesUntagged != 0 %}
87 <div class="col s12 center-align">
88 <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }} ({{nbEntriesUntagged}})</a>
89 </div>
90 {% endif %}
91
86 <div class="col s12"> 92 <div class="col s12">
87 <label>{{ 'entry.filters.status_label'|trans }}</label> 93 <label>{{ 'entry.filters.status_label'|trans }}</label>
88 </div> 94 </div>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
index c6c19de6..e23fa0e1 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
@@ -8,7 +8,7 @@
8 <div class="progress"> 8 <div class="progress">
9 <div class="determinate"></div> 9 <div class="determinate"></div>
10 </div> 10 </div>
11 <nav class="hide-on-large-only"> 11 <nav class="hide-on-large-only js-entry-nav-top">
12 <div class="nav-panel-item cyan darken-1"> 12 <div class="nav-panel-item cyan darken-1">
13 <ul> 13 <ul>
14 <li> 14 <li>
@@ -127,7 +127,7 @@
127 {% endif %} 127 {% endif %}
128 {% if craue_setting('share_twitter') %} 128 {% if craue_setting('share_twitter') %}
129 <li> 129 <li>
130 <a href="https://twitter.com/home?status={{entry.title|striptags|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" rel="noopener" class="tool icon-twitter" title="twitter"> 130 <a href="https://twitter.com/share?text={{entry.title|striptags|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" rel="noopener" class="tool icon-twitter" title="twitter">
131 <span>twitter</span> 131 <span>twitter</span>
132 </a> 132 </a>
133 </li> 133 </li>
@@ -209,7 +209,7 @@
209 </li> 209 </li>
210 210
211 <li class="bold"> 211 <li class="bold">
212 <a class="waves-effect collapsible-header" href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.description'|trans }}"> 212 <a class="waves-effect collapsible-header" href="mailto:siteconfig@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.description'|trans }}">
213 <i class="material-icons small">error</i> 213 <i class="material-icons small">error</i>
214 <span>{{ 'entry.view.left_menu.problem.label'|trans }}</span> 214 <span>{{ 'entry.view.left_menu.problem.label'|trans }}</span>
215 </a> 215 </a>
@@ -223,7 +223,7 @@
223{% block content %} 223{% block content %}
224 <div id="article"> 224 <div id="article">
225 <header class="mbm"> 225 <header class="mbm">
226 <h1>{{ entry.title|striptags|default('entry.default_title'|trans)|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1> 226 <h1><span{% if entry.language is defined and entry.language is not null %} lang="{{ entry.getHTMLLanguage() }}"{% endif %}>{{ entry.title|striptags|default('entry.default_title'|trans)|raw }}</span> <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1>
227 </header> 227 </header>
228 <aside> 228 <aside>
229 <div class="tools"> 229 <div class="tools">
@@ -250,13 +250,13 @@
250 </li> 250 </li>
251 {% endif %} 251 {% endif %}
252 <li> 252 <li>
253 <i class="material-icons link">link</i> 253 <i class="material-icons">link</i>
254 <a href="{{ entry.url|e }}" target="_blank" rel="noopener" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|striptags }}" class="tool"> 254 <a href="{{ entry.url|e }}" target="_blank" rel="noopener" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|striptags }}" class="tool">
255 {{ entry.domainName|removeWww }} 255 {{ entry.domainName|removeWww }}
256 </a> 256 </a>
257 </li> 257 </li>
258 <li> 258 <li>
259 <i class="material-icons link">comment</i> 259 <i class="material-icons">comment</i>
260 {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }} 260 {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}
261 </li> 261 </li>
262 {% if entry.originUrl is not empty %} 262 {% if entry.originUrl is not empty %}
@@ -276,12 +276,12 @@
276 </div> 276 </div>
277 277
278 </aside> 278 </aside>
279 <article> 279 <article{% if entry.language is defined and entry.language is not null %} lang="{{ entry.getHTMLLanguage() }}"{% endif %}>
280 {{ entry.content | raw }} 280 {{ entry.content | raw }}
281 </article> 281 </article>
282 282
283 <div class="fixed-action-btn horizontal click-to-toggle hide-on-large-only"> 283 <div class="fixed-action-btn js-fixed-action-btn horizontal click-to-toggle hide-on-large-only">
284 <a class="btn-floating btn-large"> 284 <a class="btn-floating btn-large" data-toggle="actions">
285 <i class="material-icons">menu</i> 285 <i class="material-icons">menu</i>
286 </a> 286 </a>
287 <ul> 287 <ul>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/new_form.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/new_form.html.twig
index e0d5e794..4cf81167 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/new_form.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/new_form.html.twig
@@ -2,14 +2,14 @@
2 {% if form_errors(form) %} 2 {% if form_errors(form) %}
3 <span class="black-text">{{ form_errors(form) }}</span> 3 <span class="black-text">{{ form_errors(form) }}</span>
4 {% endif %} 4 {% endif %}
5 <button type="submit" class="nav-form-button"><i class="material-icons add">add</i></button> 5 <button type="submit" class="nav-form-button" aria-label="add"><i class="material-icons add" aria-hidden="true"></i></button>
6 6
7 {% if form_errors(form.url) %} 7 {% if form_errors(form.url) %}
8 <span class="black-text">{{ form_errors(form.url) }}</span> 8 <span class="black-text">{{ form_errors(form.url) }}</span>
9 {% endif %} 9 {% endif %}
10 10
11 {{ form_widget(form.url, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.new.placeholder'} }) }} 11 {{ form_widget(form.url, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.new.placeholder'} }) }}
12 <i class="material-icons close">clear</i> 12 <i class="material-icons close" aria-label="clear" role="button"></i>
13 13
14 {{ form_rest(form) }} 14 {{ form_rest(form) }}
15</form> 15</form>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/search_form.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/search_form.html.twig
index ba1b3aac..0ae8b0b3 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/search_form.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/search_form.html.twig
@@ -2,7 +2,7 @@
2 {% if form_errors(form) %} 2 {% if form_errors(form) %}
3 <span class="black-text">{{ form_errors(form) }}</span> 3 <span class="black-text">{{ form_errors(form) }}</span>
4 {% endif %} 4 {% endif %}
5 <button type="submit" class="nav-form-button"><i class="material-icons search">search</i></button> 5 <button type="submit" class="nav-form-button" aria-label="search"><i class="material-icons search" aria-hidden="true"></i></button>
6 6
7 {% if form_errors(form.term) %} 7 {% if form_errors(form.term) %}
8 <span class="black-text">{{ form_errors(form.term) }}</span> 8 <span class="black-text">{{ form_errors(form.term) }}</span>
@@ -11,7 +11,7 @@
11 <input type="hidden" name="currentRoute" value="{{ currentRoute }}" /> 11 <input type="hidden" name="currentRoute" value="{{ currentRoute }}" />
12 12
13 {{ form_widget(form.term, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.search.placeholder'} }) }} 13 {{ form_widget(form.term, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.search.placeholder'} }) }}
14 <i class="material-icons close">clear</i> 14 <i class="material-icons close" aria-label="clear" role="button"></i>
15 15
16 {{ form_rest(form) }} 16 {{ form_rest(form) }}
17</form> 17</form>
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Tag/tags.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Tag/tags.html.twig
index c15b5146..0a3475ef 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Tag/tags.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Tag/tags.html.twig
@@ -13,9 +13,20 @@
13 <ul class="card-tag-labels"> 13 <ul class="card-tag-labels">
14 {% for tag in tags %} 14 {% for tag in tags %}
15 <li title="{{tag.label}} ({{ tag.nbEntries }})" id="tag-{{ tag.id }}"> 15 <li title="{{tag.label}} ({{ tag.nbEntries }})" id="tag-{{ tag.id }}">
16 <a href="{{ path('tag_entries', {'slug': tag.slug}) }}" class="card-tag-link">{{tag.label}} ({{ tag.nbEntries }})</a> 16 <a href="{{ path('tag_entries', {'slug': tag.slug}) }}" class="card-tag-link" data-handle="tag-link">
17 {% if app.user.config.rssToken %} 17 {{ tag.label }}&nbsp;({{ tag.nbEntries }})
18 <a rel="alternate" type="application/rss+xml" href="{{ path('tag_rss', {'username': app.user.username, 'token': app.user.config.rssToken, 'slug': tag.slug}) }}" class="card-tag-rss"><i class="material-icons">rss_feed</i></a> 18 </a>
19 {% if renameForms is defined and renameForms[tag.id] is defined %}
20 <form class="card-tag-form hidden" data-handle="tag-rename-form" action="{{ path('tag_rename', {'slug': tag.slug})}}" method="POST">
21 {{ form_widget(renameForms[tag.id].label, {'attr': {'value': tag.label}}) }}
22 {{ form_rest(renameForms[tag.id]) }}
23 </form>
24 <a class="card-tag-rename" data-handler="tag-rename" href="javascript:void(0);">
25 <i class="material-icons">mode_edit</i>
26 </a>
27 {% endif %}
28 {% if app.user.config.feedToken %}
29 <a rel="alternate" type="application/atom+xml" href="{{ path('tag_feed', {'username': app.user.username, 'token': app.user.config.feedToken, 'slug': tag.slug}) }}" class="card-tag-rss"><i class="material-icons">rss_feed</i></a>
19 {% endif %} 30 {% endif %}
20 </li> 31 </li>
21 {% endfor %} 32 {% endfor %}
@@ -23,6 +34,10 @@
23 </div> 34 </div>
24 35
25 <div> 36 <div>
26 <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }}</a> 37 {% if nbEntriesUntagged == 0 %}
38 {{ 'tag.list.no_untagged_entries'|trans }}
39 {% else %}
40 <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }} ({{nbEntriesUntagged}})</a>
41 {% endif %}
27 </div> 42 </div>
28{% endblock %} 43{% endblock %}
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 052a8c01..c51d07fc 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
@@ -46,6 +46,8 @@
46 {% set activeRoute = 'starred' %} 46 {% set activeRoute = 'starred' %}
47 {% elseif currentRoute == 'unread' or currentRoute == 'homepage' or currentRouteFromQueryParams == 'unread' %} 47 {% elseif currentRoute == 'unread' or currentRoute == 'homepage' or currentRouteFromQueryParams == 'unread' %}
48 {% set activeRoute = 'unread' %} 48 {% set activeRoute = 'unread' %}
49 {% elseif currentRoute == 'untagged' %}
50 {% set activeRoute = 'untagged' %}
49 {% endif %} 51 {% endif %}
50 52
51 <li class="bold {% if activeRoute == 'unread' %}active{% endif %}"> 53 <li class="bold {% if activeRoute == 'unread' %}active{% endif %}">
@@ -89,6 +91,9 @@
89 <li class="bold {% if currentRoute == 'howto' %}active{% endif %}"> 91 <li class="bold {% if currentRoute == 'howto' %}active{% endif %}">
90 <a class="waves-effect" href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a> 92 <a class="waves-effect" href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a>
91 </li> 93 </li>
94 <li class="bold {% if currentRoute == 'quickstart' %}active{% endif %}">
95 <a class="waves-effect" href="{{ path('quickstart') }}">{{ 'menu.left.quickstart'|trans }}</a>
96 </li>
92 <li class="bold"> 97 <li class="bold">
93 <a class="waves-effect icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a> 98 <a class="waves-effect icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a>
94 </li> 99 </li>
@@ -113,6 +118,13 @@
113 <i class="material-icons">search</i> 118 <i class="material-icons">search</i>
114 </a> 119 </a>
115 </li> 120 </li>
121 {% if activeRoute %}
122 <li id="button_random">
123 <a class="waves-effect tooltipped js-random-action" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.random_entry'|trans }}" href="{{ path('random_entry', { 'type': activeRoute }) }}">
124 <i class="material-icons">casino</i>
125 </a>
126 </li>
127 {% endif %}
116 <li id="button_filters"> 128 <li id="button_filters">
117 <a class="nav-panel-menu button-collapse-right tooltipped js-filters-action" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.filter_entries'|trans }}" href="#" data-activates="filters"> 129 <a class="nav-panel-menu button-collapse-right tooltipped js-filters-action" data-position="bottom" data-delay="50" data-tooltip="{{ 'menu.top.filter_entries'|trans }}" href="#" data-activates="filters">
118 <i class="material-icons">filter_list</i> 130 <i class="material-icons">filter_list</i>
@@ -125,7 +137,7 @@
125 </li> 137 </li>
126 </ul> 138 </ul>
127 </div> 139 </div>
128 {{ render(controller("WallabagCoreBundle:Entry:searchForm", {'currentRoute': app.request.attributes.get('_route')})) }} 140 {{ render(controller("WallabagCoreBundle:Entry:searchForm", {'currentRoute': currentRoute})) }}
129 {{ render(controller("WallabagCoreBundle:Entry:addEntryForm")) }} 141 {{ render(controller("WallabagCoreBundle:Entry:addEntryForm")) }}
130 </div> 142 </div>
131 </nav> 143 </nav>