diff options
24 files changed, 607 insertions, 25 deletions
@@ -1,5 +1,5 @@ | |||
1 | [![Build Status](https://travis-ci.org/wallabag/wallabag.svg?branch=v2)](https://travis-ci.org/wallabag/wallabag) | 1 | [![Build Status](https://api.travis-ci.org/wallabag/wallabag.svg?branch=master)](https://travis-ci.org/wallabag/wallabag) |
2 | [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/wallabag/wallabag/badges/quality-score.png?b=v2)](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=v2) | 2 | [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/wallabag/wallabag/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=v2) |
3 | [![Gitter](https://badges.gitter.im/gitterHQ/gitter.svg)](https://gitter.im/wallabag/wallabag) | 3 | [![Gitter](https://badges.gitter.im/gitterHQ/gitter.svg)](https://gitter.im/wallabag/wallabag) |
4 | 4 | ||
5 | # What is wallabag? | 5 | # What is wallabag? |
diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml new file mode 100644 index 00000000..ec302901 --- /dev/null +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml | |||
@@ -0,0 +1,29 @@ | |||
1 | download_pictures: Scarica le immagini sul tuo server | ||
2 | carrot: Abilita la condivisione su Carrot | ||
3 | diaspora_url: Diaspora URL, se il servizio è abilitato | ||
4 | export_epub: Abilita esportazione ePub | ||
5 | export_mobi: Abilita esportazione .mobi | ||
6 | export_pdf: Abilita esportazione PDF | ||
7 | export_csv: Abilita esportazione CSV | ||
8 | export_json: Abilita esportazione JSON | ||
9 | export_txt: Abilita esportazione TXT | ||
10 | export_xml: Abilita esportazione XML | ||
11 | pocket_consumer_key: Consumer key per Pocket per importare i contenuti (https://getpocket.com/developer/docs/authentication) | ||
12 | shaarli_url: Shaarli URL, if the service is enabled | ||
13 | share_diaspora: Abilita la condivisione su Diaspora | ||
14 | share_mail: Abilita la condivisione per email | ||
15 | share_shaarli: Abilita la condivisione su Shaarli | ||
16 | share_twitter: Abilita la condivisione su Twitter | ||
17 | show_printlink: Mostra un collegamento per stampare il contenuto | ||
18 | wallabag_support_url: URL di supporto per wallabag | ||
19 | wallabag_url: URL della *tua* installazione di wallabag | ||
20 | entry: "articolo" | ||
21 | export: "esporta" | ||
22 | import: "importa" | ||
23 | misc: "misc" | ||
24 | modify_settings: "applica" | ||
25 | piwik_host: Host del tuo sito in Piwik | ||
26 | piwik_site_id: ID del tuo sito in Piwik | ||
27 | piwik_enabled: Abilita Piwik | ||
28 | demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" | ||
29 | demo_mode_username: "Utente Demo" | ||
diff --git a/app/config/config.yml b/app/config/config.yml index 9bc2661a..4d5ea386 100644 --- a/app/config/config.yml +++ b/app/config/config.yml | |||
@@ -41,6 +41,7 @@ wallabag_core: | |||
41 | da: 'Dansk' | 41 | da: 'Dansk' |
42 | es: 'Español' | 42 | es: 'Español' |
43 | oc: 'Occitan' | 43 | oc: 'Occitan' |
44 | it: 'Italiano' | ||
44 | items_on_page: 12 | 45 | items_on_page: 12 |
45 | theme: material | 46 | theme: material |
46 | language: en | 47 | language: en |
diff --git a/docs/en/index.rst b/docs/en/index.rst index 74e09f1a..03025ef9 100644 --- a/docs/en/index.rst +++ b/docs/en/index.rst | |||
@@ -37,6 +37,7 @@ The main documentation for this application is organized into a couple sections: | |||
37 | user/download_articles | 37 | user/download_articles |
38 | user/filters | 38 | user/filters |
39 | user/tags | 39 | user/tags |
40 | user/android | ||
40 | 41 | ||
41 | .. _dev-docs: | 42 | .. _dev-docs: |
42 | 43 | ||
diff --git a/docs/en/user/android.rst b/docs/en/user/android.rst new file mode 100644 index 00000000..c13cf031 --- /dev/null +++ b/docs/en/user/android.rst | |||
@@ -0,0 +1,107 @@ | |||
1 | Android App | ||
2 | =========== | ||
3 | |||
4 | |||
5 | Purpose of this document | ||
6 | ------------------------ | ||
7 | |||
8 | This document describes how you can setup your Android application to work with your wallabag instance. There is no difference in this procedure for wallabag v1 or v2. | ||
9 | |||
10 | |||
11 | Steps to configure your app | ||
12 | --------------------------- | ||
13 | |||
14 | When you first start the app, you see the welcome screen, where you are adviced to configure the app for your wallabag instance at first. | ||
15 | |||
16 | .. image:: ../../img/user/android_welcome_screen.de.png | ||
17 | :alt: Welcome screen | ||
18 | :align: center | ||
19 | |||
20 | Just confirm that message and you get redirected to the settings screen. | ||
21 | |||
22 | .. image:: ../../img/user/android_configuration_screen.de.png | ||
23 | :alt: Settings screen | ||
24 | :align: center | ||
25 | |||
26 | Fill in your wallabag data. You need to enter your wallabag address. It is important that this URL does not end with a slash. Also add your wallabag credentials to the user name and password field. | ||
27 | |||
28 | .. image:: ../../img/user/android_configuration_filled_in.de.png | ||
29 | :alt: Filled in settings | ||
30 | :align: center | ||
31 | |||
32 | After you have filled in your data, push the button Connection test and wait for the test to finish. | ||
33 | |||
34 | .. image:: ../../img/user/android_configuration_connection_test.de.png | ||
35 | :alt: Connection test with your wallabag data | ||
36 | :align: center | ||
37 | |||
38 | The connection test shall finish with success. If not, you need to fix this first until you proceed. | ||
39 | |||
40 | .. image:: ../../img/user/android_configuration_connection_test_success.de.png | ||
41 | :alt: Connection test successful | ||
42 | :align: center | ||
43 | |||
44 | After the connection test was successful, you can push the button to get your feed credentials. The app now tries to login to your wallabag instance and get the user id and the corresponding token for the feeds. | ||
45 | |||
46 | .. image:: ../../img/user/android_configuration_get_feed_credentials.de.png | ||
47 | :alt: Getting the feed credentials | ||
48 | :align: center | ||
49 | |||
50 | When the process of getting your feed credentials finishes with success you see a toast message that the user id and the token were automatically filled in to the form. | ||
51 | |||
52 | .. image:: ../../img/user/android_configuration_feed_credentials_automatically_filled_in.de.png | ||
53 | :alt: Getting feed credentials successful | ||
54 | :align: center | ||
55 | |||
56 | Now you need to scroll to the bottom of the settings menu. Of course you can adjust the given settings to your needs. Finish the configuration of your app with pushing the save button. | ||
57 | |||
58 | .. image:: ../../img/user/android_configuration_scroll_bottom.de.png | ||
59 | :alt: Bottom of the settings screen | ||
60 | :align: center | ||
61 | |||
62 | After hitting the save button, you get the following screen. The app proposes to initiate a syncronisation process to update your feeds of articles. It is recommended to acknowledge this action and press Yes. | ||
63 | |||
64 | .. image:: ../../img/user/android_configuration_saved_feed_update.de.png | ||
65 | :alt: Settings saved the first time | ||
66 | :align: center | ||
67 | |||
68 | Finally after the syncronisation finished successfully, you are presented the list of unread articles. | ||
69 | |||
70 | .. image:: ../../img/user/android_unread_feed_synced.de.png | ||
71 | :alt: Filled article list cause feeds successfully syncronized | ||
72 | :align: center | ||
73 | |||
74 | |||
75 | |||
76 | Known limitations | ||
77 | ---- | ||
78 | |||
79 | 2FA | ||
80 | ~~~ | ||
81 | |||
82 | Currently the does not support two-factor authentication. You should disable that to get the app working. | ||
83 | |||
84 | |||
85 | Limited amount of articles with wallabag v2 | ||
86 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
87 | |||
88 | In your wallabag web instance you can configure how many items are part of the RSS feed. This option did not exist in wallabag v1, where all articles were part of the feed. So if you set the amount of articles being displayed greater than the number of items being content of your RSS feed, you will only see the number of items in your RSS feed. | ||
89 | |||
90 | |||
91 | SSL/TLS encryption | ||
92 | ~~~~~~~~~~~~~~~~~~ | ||
93 | |||
94 | If you can reach your wallabag web instance via HTTPS, you should use that. Especially if your HTTP URL redirects you to the HTTPS one. Currently, the app cannot handle that redirect properly. | ||
95 | |||
96 | |||
97 | References | ||
98 | ---------- | ||
99 | |||
100 | `Source code of the Android application <https://github.com/wallabag/android-app>`_ | ||
101 | |||
102 | `Android Application on F-Droid <https://f-droid.org/repository/browse/?fdfilter=wallabag&fdid=fr.gaulupeau.apps.InThePoche>`_ | ||
103 | |||
104 | `Android Application on Google Play <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_ | ||
105 | |||
106 | `Support chat <https://gitter.im/wallabag/wallabag>`_ | ||
107 | |||
diff --git a/docs/img/user/android_configuration_connection_test.de.png b/docs/img/user/android_configuration_connection_test.de.png new file mode 100644 index 00000000..63394f87 --- /dev/null +++ b/docs/img/user/android_configuration_connection_test.de.png | |||
Binary files differ | |||
diff --git a/docs/img/user/android_configuration_connection_test_success.de.png b/docs/img/user/android_configuration_connection_test_success.de.png new file mode 100644 index 00000000..f5c1971e --- /dev/null +++ b/docs/img/user/android_configuration_connection_test_success.de.png | |||
Binary files differ | |||
diff --git a/docs/img/user/android_configuration_feed_credentials_automatically_filled_in.de.png b/docs/img/user/android_configuration_feed_credentials_automatically_filled_in.de.png new file mode 100644 index 00000000..a191a6ee --- /dev/null +++ b/docs/img/user/android_configuration_feed_credentials_automatically_filled_in.de.png | |||
Binary files differ | |||
diff --git a/docs/img/user/android_configuration_filled_in.de.png b/docs/img/user/android_configuration_filled_in.de.png new file mode 100644 index 00000000..4cd8d709 --- /dev/null +++ b/docs/img/user/android_configuration_filled_in.de.png | |||
Binary files differ | |||
diff --git a/docs/img/user/android_configuration_get_feed_credentials.de.png b/docs/img/user/android_configuration_get_feed_credentials.de.png new file mode 100644 index 00000000..1c401cba --- /dev/null +++ b/docs/img/user/android_configuration_get_feed_credentials.de.png | |||
Binary files differ | |||
diff --git a/docs/img/user/android_configuration_saved_feed_update.de.png b/docs/img/user/android_configuration_saved_feed_update.de.png new file mode 100644 index 00000000..2af41025 --- /dev/null +++ b/docs/img/user/android_configuration_saved_feed_update.de.png | |||
Binary files differ | |||
diff --git a/docs/img/user/android_configuration_screen.de.png b/docs/img/user/android_configuration_screen.de.png new file mode 100644 index 00000000..7bf72182 --- /dev/null +++ b/docs/img/user/android_configuration_screen.de.png | |||
Binary files differ | |||
diff --git a/docs/img/user/android_configuration_scroll_bottom.de.png b/docs/img/user/android_configuration_scroll_bottom.de.png new file mode 100644 index 00000000..82108324 --- /dev/null +++ b/docs/img/user/android_configuration_scroll_bottom.de.png | |||
Binary files differ | |||
diff --git a/docs/img/user/android_unread_feed_synced.de.png b/docs/img/user/android_unread_feed_synced.de.png new file mode 100644 index 00000000..a3b6ed00 --- /dev/null +++ b/docs/img/user/android_unread_feed_synced.de.png | |||
Binary files differ | |||
diff --git a/docs/img/user/android_welcome_screen.de.png b/docs/img/user/android_welcome_screen.de.png new file mode 100644 index 00000000..4d3543d8 --- /dev/null +++ b/docs/img/user/android_welcome_screen.de.png | |||
Binary files differ | |||
diff --git a/src/Wallabag/CoreBundle/Entity/Tag.php b/src/Wallabag/CoreBundle/Entity/Tag.php index a6e2d023..b4adbbd3 100644 --- a/src/Wallabag/CoreBundle/Entity/Tag.php +++ b/src/Wallabag/CoreBundle/Entity/Tag.php | |||
@@ -117,4 +117,16 @@ class Tag | |||
117 | { | 117 | { |
118 | return $this->entries; | 118 | return $this->entries; |
119 | } | 119 | } |
120 | |||
121 | public function getEntriesByUserId($userId) | ||
122 | { | ||
123 | $filteredEntries = new ArrayCollection(); | ||
124 | foreach ($this->entries as $entry) { | ||
125 | if ($entry->getUser()->getId() === $userId) { | ||
126 | $filteredEntries->add($entry); | ||
127 | } | ||
128 | } | ||
129 | |||
130 | return $filteredEntries; | ||
131 | } | ||
120 | } | 132 | } |
diff --git a/src/Wallabag/CoreBundle/Resources/public/themes/material/css/main.css b/src/Wallabag/CoreBundle/Resources/public/themes/material/css/main.css index a3915b1d..b106d91a 100755 --- a/src/Wallabag/CoreBundle/Resources/public/themes/material/css/main.css +++ b/src/Wallabag/CoreBundle/Resources/public/themes/material/css/main.css | |||
@@ -437,6 +437,9 @@ main ul.row { | |||
437 | .indicator { | 437 | .indicator { |
438 | display: none; | 438 | display: none; |
439 | } | 439 | } |
440 | .pagination li.prev, .pagination li.next { | ||
441 | width: auto; | ||
442 | } | ||
440 | } | 443 | } |
441 | 444 | ||
442 | @media only screen and (min-width : 400px) { | 445 | @media only screen and (min-width : 400px) { |
diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml new file mode 100644 index 00000000..ae30fce1 --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml | |||
@@ -0,0 +1,425 @@ | |||
1 | security: | ||
2 | login: | ||
3 | page_title: 'Benvenuto in wallabag!' | ||
4 | keep_logged_in: 'Resta loggato' | ||
5 | forgot_password: 'Hai dimenticato la password?' | ||
6 | submit: 'Login' | ||
7 | register: 'Registrati' | ||
8 | username: 'Username' | ||
9 | password: 'Password' | ||
10 | cancel: 'Cancella' | ||
11 | resetting: | ||
12 | description: "Inserisci il tuo indirizzo e-mail nel campo sottostante e ti invieremo le istruzioni per il reset della password." | ||
13 | register: | ||
14 | page_title: 'Crea un account' | ||
15 | go_to_account: 'Vai al tuo account' | ||
16 | |||
17 | menu: | ||
18 | left: | ||
19 | unread: 'Non letti' | ||
20 | starred: 'Preferiti' | ||
21 | archive: 'Archivio' | ||
22 | all_articles: 'Tutti' | ||
23 | config: 'Configurazione' | ||
24 | tags: 'Tags' | ||
25 | internal_settings: 'Strumenti' | ||
26 | import: 'Importa' | ||
27 | howto: 'How to' | ||
28 | developer: 'Sviluppatori' | ||
29 | logout: 'Logout' | ||
30 | about: 'About' | ||
31 | search: 'Cerca' | ||
32 | save_link: 'Salva collegamento' | ||
33 | back_to_unread: 'Torna ai contenuti non letti' | ||
34 | top: | ||
35 | add_new_entry: 'Aggiungi un nuovo contenuto' | ||
36 | search: 'Cerca' | ||
37 | filter_entries: 'Filtra contenuti' | ||
38 | export: 'Esporta' | ||
39 | search_form: | ||
40 | input_label: 'Inserisci qui la tua ricerca' | ||
41 | |||
42 | footer: | ||
43 | wallabag: | ||
44 | elsewhere: 'Porta wallabag con te' | ||
45 | social: 'Social' | ||
46 | powered_by: 'powered by' | ||
47 | about: 'About' | ||
48 | |||
49 | config: | ||
50 | page_title: 'Configurazione' | ||
51 | tab_menu: | ||
52 | settings: 'Impostazioni' | ||
53 | rss: 'RSS' | ||
54 | user_info: 'Informazioni utente' | ||
55 | password: 'Password' | ||
56 | rules: 'Regole di tagging' | ||
57 | new_user: 'Aggiungi utente' | ||
58 | form: | ||
59 | save: 'Salva' | ||
60 | form_settings: | ||
61 | theme_label: 'Tema' | ||
62 | items_per_page_label: 'Elementi per pagina' | ||
63 | language_label: 'Lingua' | ||
64 | reading_speed: | ||
65 | label: 'Velocità di lettura' | ||
66 | help_message: 'Puoi utilizzare dei tools online per valutare la tua velocità di lettura:' | ||
67 | 100_word: 'Leggo ~100 parole al minuto' | ||
68 | 200_word: 'Leggo ~200 parole al minuto' | ||
69 | 300_word: 'Leggo ~300 parole al minuto' | ||
70 | 400_word: 'Leggo ~400 parole al minuto' | ||
71 | form_rss: | ||
72 | 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.' | ||
73 | token_label: 'RSS token' | ||
74 | no_token: 'Nessun token' | ||
75 | token_create: 'Crea il tuo token' | ||
76 | token_reset: 'Rigenera il tuo token' | ||
77 | rss_links: 'Collegamenti RSS' | ||
78 | rss_link: | ||
79 | unread: 'non letti' | ||
80 | starred: 'preferiti' | ||
81 | archive: 'archiviati' | ||
82 | rss_limit: 'Numero di elementi nel feed' | ||
83 | form_user: | ||
84 | two_factor_description: "Abilitando la two factor authentication riceverai una e-mail con un codice per ogni nuova connesione non verificata" | ||
85 | name_label: 'Nome' | ||
86 | email_label: 'E-mail' | ||
87 | twoFactorAuthentication_label: 'Two factor authentication' | ||
88 | form_password: | ||
89 | old_password_label: 'Password corrente' | ||
90 | new_password_label: 'Nuova password' | ||
91 | repeat_new_password_label: 'Ripeti la nuova password' | ||
92 | form_rules: | ||
93 | if_label: 'se' | ||
94 | then_tag_as_label: 'allora tagga come' | ||
95 | delete_rule_label: 'elimina' | ||
96 | rule_label: 'Regola' | ||
97 | tags_label: 'Tag' | ||
98 | faq: | ||
99 | title: 'FAQ' | ||
100 | tagging_rules_definition_title: 'Cosa significa « regole di tagging » ?' | ||
101 | tagging_rules_definition_description: 'Sono regole utilizzate da wallabag per taggare automaticamente i contenuti.<br />Ogni volta che viene aggiunto un contenuto, tutte le regole di tagging rules vengono utilizzate per aggiungere i tag configurati, risparmiandoti il lavoro di classificare i contenuti manualmente.' | ||
102 | how_to_use_them_title: 'Come si usano?' | ||
103 | how_to_use_them_description: 'Diciamo che vuoi taggare un contenuto come « <i>lettura veloce</i> » quando il tempo di lettura è inferiore ai 3 minuti.<br />In questo case, devi mettere « readingTime <= 3 » nel campo <i>Regola</i> e « <i>lettura veloce</i> » nel campo <i>Tag</i>.<br />Molti tag si possono aggiungere contemporanemente separandoli con una virgola: « <i>lettura veloce, da leggere</i> »<br />Regole complesse possono essere scritte utilizzando gli operatori predefiniti: se « <i>readingTime >= 5 AND domainName = "github.com"</i> » allora tagga « <i>lettura lunga, github </i> »' | ||
104 | variables_available_title: 'Quali operatori e variabili posso utilizzare per scrivere delle regole?' | ||
105 | variables_available_description: 'I seguenti operatori e variabili posso essere utilizzati per scrivere regole di tagging:' | ||
106 | meaning: 'Significato' | ||
107 | variable_description: | ||
108 | label: 'Variabile' | ||
109 | title: "Titolo del contenuto" | ||
110 | url: "URL del contenuto" | ||
111 | isArchived: "Specifica se il contenuto è archiviato o no" | ||
112 | isStarred: "Specifica se il contenuto è preferito o no" | ||
113 | content: "La pagina del contenuto" | ||
114 | language: "La lingua del contenuto" | ||
115 | mimetype: "Mime-type del contenuto" | ||
116 | readingTime: "Il tempo di lettura stimato del contenuto, in minuti" | ||
117 | domainName: "Il nome di dominio del contenuto" | ||
118 | operator_description: | ||
119 | label: 'Operatore' | ||
120 | less_than: 'Minore/uguale di...' | ||
121 | strictly_less_than: 'Minore di...' | ||
122 | greater_than: 'Maggiore/uguale di...' | ||
123 | strictly_greater_than: 'Maggiore di...' | ||
124 | equal_to: 'Uguale a...' | ||
125 | not_equal_to: 'Non uguale a...' | ||
126 | or: "Una regola O un'altra" | ||
127 | and: "Una regola E un'altra" | ||
128 | matches: 'Verifica che un <i>oggetto</i> risulti in una <i>ricerca</i> (case-insensitive).<br />Esempio: <code>titolo contiene "football"</code>' | ||
129 | form_new_user: | ||
130 | username_label: 'Username' | ||
131 | password_label: 'Password' | ||
132 | repeat_new_password_label: 'Ripeti password' | ||
133 | plain_password_label: '????' | ||
134 | email_label: 'E-mail' | ||
135 | |||
136 | entry: | ||
137 | page_titles: | ||
138 | unread: 'Contenuti non letti' | ||
139 | starred: 'Contenuti preferiti' | ||
140 | archived: 'Contenuti archiviati' | ||
141 | filtered: 'Contenuti filtrati' | ||
142 | list: | ||
143 | number_on_the_page: "{0} Non ci sono contenuti.|{1} C'è un contenuto.|]1,Inf[ Ci sono %count% contenuti." | ||
144 | reading_time: 'tempo di lettura stimato' | ||
145 | reading_time_minutes: 'tempo di lettura stimato: %readingTime% min' | ||
146 | reading_time_less_one_minute: 'tempo di lettura stimato: <small class="inferieur"><</small> 1 min' | ||
147 | original_article: 'originale' | ||
148 | toogle_as_read: 'Segna come da leggere' | ||
149 | toogle_as_star: 'Segna come non preferito' | ||
150 | delete: 'Elimina' | ||
151 | export_title: 'Esporta' | ||
152 | filters: | ||
153 | title: 'Filtri' | ||
154 | status_label: 'Stato' | ||
155 | archived_label: 'Archiviati' | ||
156 | starred_label: 'Preferiti' | ||
157 | preview_picture_label: "Ha un'immagine di anteprima" | ||
158 | preview_picture_help: 'Immagine di anteprima' | ||
159 | language_label: 'Lingua' | ||
160 | reading_time: | ||
161 | label: 'Tempo di lettura in minuti' | ||
162 | from: 'da' | ||
163 | to: 'a' | ||
164 | domain_label: 'Nome di dominio' | ||
165 | created_at: | ||
166 | label: 'Data di creazione' | ||
167 | from: 'da' | ||
168 | to: 'a' | ||
169 | action: | ||
170 | clear: 'Pulisci' | ||
171 | filter: 'Filtra' | ||
172 | view: | ||
173 | left_menu: | ||
174 | back_to_top: "Torna all'inizio" | ||
175 | back_to_homepage: 'Indietro' | ||
176 | set_as_read: 'Segna come già letto' | ||
177 | set_as_unread: 'Segna come da leggere' | ||
178 | set_as_favorite: 'Segna come preferito' | ||
179 | view_original_article: 'Contenuto originale' | ||
180 | re_fetch_content: 'Ri-ottieni pagina' | ||
181 | delete: 'Elimina' | ||
182 | add_a_tag: 'Aggiungi un tag' | ||
183 | share_content: 'Condividi' | ||
184 | share_email_label: 'E-mail' | ||
185 | download: 'Download' | ||
186 | print: 'Stampa' | ||
187 | problem: | ||
188 | label: 'Problemi?' | ||
189 | description: 'Questo contenuto viene visualizzato male?' | ||
190 | edit_title: 'Modifica titolo' | ||
191 | original_article: 'originale' | ||
192 | annotations_on_the_entry: '{0} Nessuna annotazione|{1} Una annotazione|]1,Inf[ %nbAnnotations% annotazioni' | ||
193 | new: | ||
194 | page_title: 'Salva un nuovo contenuto' | ||
195 | placeholder: 'http://website.com' | ||
196 | form_new: | ||
197 | url_label: Url | ||
198 | edit: | ||
199 | page_title: 'Modifica voce' | ||
200 | title_label: 'Titolo' | ||
201 | url_label: 'Url' | ||
202 | is_public_label: 'Pubblico' | ||
203 | save_label: 'Salva' | ||
204 | |||
205 | about: | ||
206 | page_title: 'About' | ||
207 | top_menu: | ||
208 | who_behind_wallabag: "Chi c'è dietro a wallabag" | ||
209 | getting_help: 'Ottieni aiuto' | ||
210 | helping: 'Aiuta wallabag' | ||
211 | contributors: 'Collaboratori' | ||
212 | third_party: 'Librerie di terze parti' | ||
213 | who_behind_wallabag: | ||
214 | developped_by: 'Sviluppato da' | ||
215 | website: 'sito web' | ||
216 | many_contributors: 'E molti altri collaboratori ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">su Github</a>' | ||
217 | project_website: 'Sito web del progetto' | ||
218 | license: 'Licenza' | ||
219 | version: 'Versione' | ||
220 | getting_help: | ||
221 | documentation: 'Documentazione' | ||
222 | bug_reports: 'Bug reports' | ||
223 | support: '<a href="https://support.wallabag.org">Sul nostro sito di supporto</a> o <a href="https://github.com/wallabag/wallabag/issues">su GitHub</a>' | ||
224 | helping: | ||
225 | description: 'wallabag è gratuito opensource. Puoi aiutarci:' | ||
226 | by_contributing: 'per contribuire al progetto:' | ||
227 | by_contributing_2: 'un elenco delle attività richieste' | ||
228 | by_paypal: 'via Paypal' | ||
229 | contributors: | ||
230 | description: 'Un grazie ai collaboratori di wallabag web application' | ||
231 | third_party: | ||
232 | description: 'Ecco un elenco delle librerie di terze parti utilizzate in wallabag (con le rispettive licenze):' | ||
233 | package: 'Package' | ||
234 | license: 'Licenza' | ||
235 | |||
236 | howto: | ||
237 | page_title: 'How to' | ||
238 | page_description: 'Ci sono diversi modi per salvare un contenuto:' | ||
239 | top_menu: | ||
240 | browser_addons: 'tramite addons del Browser' | ||
241 | mobile_apps: 'tramite app Mobile' | ||
242 | bookmarklet: 'tramite Bookmarklet' | ||
243 | form: | ||
244 | description: 'Tramite questo modulo' | ||
245 | browser_addons: | ||
246 | firefox: 'Add-On di Firefox' | ||
247 | chrome: 'Estensione di Chrome' | ||
248 | mobile_apps: | ||
249 | android: | ||
250 | via_f_droid: 'via F-Droid' | ||
251 | via_google_play: 'via Google Play' | ||
252 | ios: 'sullo store di iTunes' | ||
253 | windows: 'sullo store di Microsoft' | ||
254 | bookmarklet: | ||
255 | description: 'Trascinando e rilasciando questo link sulla barra dei bookmark del tuo browser:' | ||
256 | |||
257 | quickstart: | ||
258 | page_title: 'Introduzione' | ||
259 | intro: | ||
260 | title: 'Benvenuto su wallabag!' | ||
261 | paragraph_1: "Un tour in cui ti guideremo per scoprire e che ti mostrerà delle funzionalità che potrebbero interessarti." | ||
262 | paragraph_2: 'Seguici!' | ||
263 | configure: | ||
264 | title: "Configura l'applicazione" | ||
265 | language: 'Cambia lingua e design' | ||
266 | rss: 'Abilita i feed RSS' | ||
267 | tagging_rules: 'Scrivi delle regole per taggare automaticamente i contenuti' | ||
268 | admin: | ||
269 | title: 'Amministrazione' | ||
270 | description: 'Come amministratore, hai la possibilità di svolgere le seguenti operazioni in wallabag:' | ||
271 | new_user: 'Crea un nuovo account' | ||
272 | analytics: 'Configura analytics' | ||
273 | sharing: 'Abilita alcuni parametri riguardo il salvataggio dei contenuti' | ||
274 | export: "Configura l'esportazione" | ||
275 | import: "Configura l'importazione" | ||
276 | first_steps: | ||
277 | title: 'Pimi passi' | ||
278 | new_article: 'Salva il tuo primo contenuto' | ||
279 | unread_articles: 'E classificalo!' | ||
280 | migrate: | ||
281 | title: 'Trasferimento da un servizio esistente' | ||
282 | description: "Stai utilizzando un altro servizio? Ti aiutiamo a traferire i tuoi dati su wallabag." | ||
283 | pocket: 'Trasferisci da Pocket' | ||
284 | wallabag_v1: 'Trasferisci da wallabag v1' | ||
285 | wallabag_v2: 'Trasferisci da wallabag v2' | ||
286 | developer: | ||
287 | title: 'Sviluppatori' | ||
288 | create_application: 'Crea la tua applicazione' | ||
289 | docs: | ||
290 | title: 'Documentazione completa' | ||
291 | annotate: 'Annota il tuo contenuto' | ||
292 | export: 'Converti i tuoi contenuti in EPUB o PDF' | ||
293 | search_filters: 'Impara come puoi recuperare un contenuto tramite la ricerca e i filtri' | ||
294 | fetching_errors: 'Cosa posso fare se riscontro problemi nel recupero di un contenuto?' | ||
295 | all_docs: 'E molta altra documentazione!' | ||
296 | support: | ||
297 | title: 'Supporto' | ||
298 | description: 'Se hai bisogno di aiuto, siamo qui per te.' | ||
299 | github: 'Su GitHub' | ||
300 | email: 'Per email' | ||
301 | gitter: 'Su Gitter' | ||
302 | |||
303 | tag: | ||
304 | page_title: 'Tags' | ||
305 | list: | ||
306 | number_on_the_page: "{0} Non ci sono tag.|{1} C'è un tag.|]1,Inf[ ci sono %count% tag." | ||
307 | |||
308 | import: | ||
309 | page_title: 'Importa' | ||
310 | page_description: "Benvenuto nell'importatore di wallabag. Seleziona il servizio da cui vuoi trasferire i contenuti." | ||
311 | action: | ||
312 | import_contents: 'Importa contenuti' | ||
313 | form: | ||
314 | mark_as_read_title: 'Segna tutto come già letto?' | ||
315 | mark_as_read_label: 'Segna tutti i contenuti importati come letti' | ||
316 | file_label: 'File' | ||
317 | save_label: 'Carica file' | ||
318 | pocket: | ||
319 | page_title: 'Importa da > Pocket' | ||
320 | description: "Questo importatore copierà tutti i tuoi dati da Pocket. Pocket non ci consente di ottenere contenuti dal loro servzio, così il contenuto leggibile di ogni articolo verrà ri-ottenuto da wallabag." | ||
321 | config_missing: | ||
322 | description: "Importazione da Pocket non configurata." | ||
323 | admin_message: 'Devi definire %keyurls% una pocket_consumer_key %keyurle%.' | ||
324 | user_message: 'Il tuo amministratore di server deve define una API Key per Pocket.' | ||
325 | authorize_message: 'Puoi importare dati dal tuo account Pocket. Devi solo cliccare sul pulsante sottostante e autorizzare la connessione a getpocket.com.' | ||
326 | connect_to_pocket: 'Connetti a Pocket and importa i dati' | ||
327 | wallabag_v1: | ||
328 | page_title: 'Importa da > Wallabag v1' | ||
329 | description: 'Questo importatore copierà tutti i tuoi dati da un wallabag v1. Nella tua pagina di configurazione, clicca su "JSON export" nella sezione "Esport i tuoi dati di wallabag". Otterrai un file "wallabag-export-1-xxxx-xx-xx.json".' | ||
330 | how_to: 'Seleziona la tua esportazione di wallabag e clicca sul pulsante sottostante caricare il file e importare i dati.' | ||
331 | wallabag_v2: | ||
332 | page_title: 'Importa da > Wallabag v2' | ||
333 | description: 'Questo importatore copierà tutti i tuoi dati da un wallabag v2. Vai in "Tutti i contenuti", e, nella sidebar di esportazione, clicca su "JSON". Otterrai un file "Tutti i contenuti.json".' | ||
334 | |||
335 | developer: | ||
336 | page_title: 'Sviluppatori' | ||
337 | welcome_message: 'Benvenuto nelle API di wallabag' | ||
338 | documentation: 'Documentazione' | ||
339 | how_to_first_app: 'Come creare la mia prima applicazione' | ||
340 | full_documentation: 'Consulta la documentazione API completa' | ||
341 | list_methods: 'Elenco dei metodi API' | ||
342 | clients: | ||
343 | title: 'Client' | ||
344 | create_new: 'Crea un nuovo client' | ||
345 | existing_clients: | ||
346 | title: 'Client esistenti' | ||
347 | field_id: 'Client ID' | ||
348 | field_secret: 'Client secret' | ||
349 | field_uris: 'Redirect URI' | ||
350 | field_grant_types: 'Tipi di grant permessi' | ||
351 | no_client: 'Ancora nessun client.' | ||
352 | remove: | ||
353 | warn_message_1: "Hai la possibilitò di rimuovere questo client.L'operazione è IRREVERSIBILE!" | ||
354 | warn_message_2: "Se lo rimuovi, ogni app configurata con questo client non sarà più in grado di autenticarsi." | ||
355 | action: 'Rimuovi questo client' | ||
356 | client: | ||
357 | page_title: 'Sviluppatori > Nuovo client' | ||
358 | page_description: 'Stai per creare un nuovo client. Compila i campi sottostanti per il redirect URI della tua applicazione.' | ||
359 | form: | ||
360 | redirect_uris_label: 'Redirect URI' | ||
361 | save_label: 'Crea un nuovo client' | ||
362 | action_back: 'Indietro' | ||
363 | client_parameter: | ||
364 | page_title: 'Sviluppatori > parametri Client' | ||
365 | page_description: 'Questi sono i tuoi parametri del client.' | ||
366 | field_id: 'Client ID' | ||
367 | field_secret: 'Client secret' | ||
368 | back: 'Indietro' | ||
369 | read_howto: 'Leggi howto "Come creare la mia prima applicazione"' | ||
370 | howto: | ||
371 | page_title: 'Sviluppatori > Come creare la mia prima applicazione' | ||
372 | description: | ||
373 | paragraph_1: 'I seguenti comandi fanno uso della <a href="https://github.com/jkbrzt/httpie">libreria HTTPie</a>. Verifica che sia installata sul tuo sistema prima di utilizzarli.' | ||
374 | paragraph_2: 'Hai bisogno di un token per far comunicare la tua applicazione di terze parti e le API di wallabag.' | ||
375 | paragraph_3: 'Per creare questo token, hai bisogno di <a href="%link%">creare un nuovo client</a>.' | ||
376 | paragraph_4: 'Ora, crea il tuo token (sostituisci client_id, client_secret, username e password con valori reali):' | ||
377 | paragraph_5: 'Le API ritorneranno una risposta di questo tipo:' | ||
378 | paragraph_6: "L'access_token è utile per chiamare un API endpoint. Per esempio:" | ||
379 | paragraph_7: 'Questa chiamata ritornerà tutti i contenuti per il tuo utente.' | ||
380 | paragraph_8: 'Se vuoi visualizzare tutti gli API endpoints, dai una occhiata alla <a href="%link%">documentazione delle API</a>.' | ||
381 | back: 'Indietro' | ||
382 | |||
383 | validator: | ||
384 | password_must_match: 'Le password devono corrispondere.' | ||
385 | password_too_short: 'La password deve essere lunga almeno 8 caratteri' | ||
386 | password_wrong_value: 'Valore inserito per la password corrente errato' | ||
387 | item_per_page_too_high: 'Questo valore è troppo alto' | ||
388 | rss_limit_too_hight: 'Questo valore è troppo alto' | ||
389 | |||
390 | flashes: | ||
391 | config: | ||
392 | notice: | ||
393 | config_saved: 'Configurazione salvata. Alcuni parametri verranno utilizzati dopo il logout/login.' | ||
394 | password_updated: 'Password aggiornata' | ||
395 | password_not_updated_demo: "In modalità demo, non puoi cambiare la password dell'utente." | ||
396 | user_updated: 'Informazioni aggiornate' | ||
397 | rss_updated: 'Informazioni RSS aggiornate' | ||
398 | tagging_rules_updated: 'Regole di tagging aggiornate' | ||
399 | tagging_rules_deleted: 'Regola di tagging aggiornate' | ||
400 | user_added: 'Utente "%username%" aggiunto' | ||
401 | rss_token_updated: 'RSS token aggiornato' | ||
402 | entry: | ||
403 | notice: | ||
404 | entry_already_saved: 'Contenuto già salvato in data %date%' | ||
405 | entry_saved: 'Contenuto salvato' | ||
406 | entry_updated: 'Contenuto aggiornato' | ||
407 | entry_reloaded: 'Contenuto ricaricato' | ||
408 | entry_reload_failed: 'Errore nel ricaricamento del contenuto' | ||
409 | entry_archived: 'Contenuto archiviato' | ||
410 | entry_unarchived: 'Contenuto dis-archiviato' | ||
411 | entry_starred: 'Contenuto segnato come preferito' | ||
412 | entry_unstarred: 'Contenuto rimosso dai preferiti' | ||
413 | entry_deleted: 'Contenuto eliminato' | ||
414 | tag: | ||
415 | notice: | ||
416 | tag_added: 'Tag aggiunto' | ||
417 | import: | ||
418 | notice: | ||
419 | failed: 'Importazione fallita, riprova.' | ||
420 | failed_on_file: 'Errore durante la processazione dei dati da importare. Verifica il tuo file di import.' | ||
421 | summary: 'Sommario di importazione: %imported% importati, %skipped% già salvati.' | ||
422 | developer: | ||
423 | notice: | ||
424 | client_created: 'Nuovo client creato.' | ||
425 | client_deleted: 'Client eliminato' | ||
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 c093edcb..a2caaebf 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 | |||
@@ -3,17 +3,7 @@ | |||
3 | {% block title %}{{ 'entry.page_titles.unread'|trans }}{% endblock %} | 3 | {% block title %}{{ 'entry.page_titles.unread'|trans }}{% endblock %} |
4 | 4 | ||
5 | {% block content %} | 5 | {% block content %} |
6 | {% block pager %} | 6 | {% include "WallabagCoreBundle:Entry:pager.html.twig" with {'entries': entries} %} |
7 | <div class="results"> | ||
8 | <div class="nb-results">{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}</div> | ||
9 | <div class="pagination"> | ||
10 | <a href="#" id="filter">{{ 'entry.filters.title'|trans }}</a> | ||
11 | {% if entries.getNbPages > 1 %} | ||
12 | {{ pagerfanta(entries, 'twitter_bootstrap_translated', {'proximity': 1}) }} | ||
13 | {% endif %} | ||
14 | </div> | ||
15 | </div> | ||
16 | {% endblock %} | ||
17 | 7 | ||
18 | {% for entry in entries %} | 8 | {% for entry in entries %} |
19 | <div id="entry-{{ entry.id|e }}" class="entry"> | 9 | <div id="entry-{{ entry.id|e }}" class="entry"> |
@@ -121,4 +111,5 @@ | |||
121 | </form> | 111 | </form> |
122 | </aside> | 112 | </aside> |
123 | 113 | ||
114 | {% include "WallabagCoreBundle:Entry:pager.html.twig" with {'entries': entries} %} | ||
124 | {% endblock %} | 115 | {% endblock %} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/pager.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/pager.html.twig new file mode 100644 index 00000000..ac74676a --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/pager.html.twig | |||
@@ -0,0 +1,11 @@ | |||
1 | {% block pager %} | ||
2 | <div class="results"> | ||
3 | <div class="nb-results">{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}</div> | ||
4 | <div class="pagination"> | ||
5 | <a href="#" id="filter">{{ 'entry.filters.title'|trans }}</a> | ||
6 | {% if entries.getNbPages > 1 %} | ||
7 | {{ pagerfanta(entries, 'twitter_bootstrap_translated', {'proximity': 1}) }} | ||
8 | {% endif %} | ||
9 | </div> | ||
10 | </div> | ||
11 | {% endblock %} | ||
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 bb0ca939..524a1d23 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 | |||
@@ -9,7 +9,7 @@ | |||
9 | 9 | ||
10 | <ul> | 10 | <ul> |
11 | {% for tag in tags %} | 11 | {% for tag in tags %} |
12 | <li id="tag-{{ tag.id|e }}">{{tag.label}} ({{ tag.entries.getValues | length }})</li> | 12 | <li id="tag-{{ tag.id|e }}">{{tag.label}} ({{ tag.getEntriesByUserId(app.user.id) | length }})</li> |
13 | {% endfor %} | 13 | {% endfor %} |
14 | </ul> | 14 | </ul> |
15 | {% endblock %} | 15 | {% endblock %} |
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 1abbceed..cc4038c5 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 | |||
@@ -16,16 +16,7 @@ | |||
16 | {% endblock %} | 16 | {% endblock %} |
17 | 17 | ||
18 | {% block content %} | 18 | {% block content %} |
19 | {% block pager %} | 19 | {% include "WallabagCoreBundle:Entry:pager.html.twig" with {'entries': entries} %} |
20 | <div class="results clearfix"> | ||
21 | <div class="nb-results left"> | ||
22 | {{ 'entry.list.number_on_the_page'|transchoice(entries.count) }} | ||
23 | </div> | ||
24 | {% if entries.getNbPages > 1 %} | ||
25 | {{ pagerfanta(entries, 'twitter_bootstrap_translated', {'proximity': 1}) }} | ||
26 | {% endif %} | ||
27 | </div> | ||
28 | {% endblock %} | ||
29 | <br /> | 20 | <br /> |
30 | <ul class="row data"> | 21 | <ul class="row data"> |
31 | {% for entry in entries %} | 22 | {% for entry in entries %} |
@@ -193,4 +184,5 @@ | |||
193 | 184 | ||
194 | </form> | 185 | </form> |
195 | </div> | 186 | </div> |
187 | {% include "WallabagCoreBundle:Entry:pager.html.twig" with {'entries': entries} %} | ||
196 | {% endblock %} | 188 | {% endblock %} |
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/pager.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/pager.html.twig new file mode 100644 index 00000000..6f8e60fc --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/pager.html.twig | |||
@@ -0,0 +1,10 @@ | |||
1 | {% block pager %} | ||
2 | <div class="results clearfix"> | ||
3 | <div class="nb-results left"> | ||
4 | {{ 'entry.list.number_on_the_page'|transchoice(entries.count) }} | ||
5 | </div> | ||
6 | {% if entries.getNbPages > 1 %} | ||
7 | {{ pagerfanta(entries, 'twitter_bootstrap_translated', {'proximity': 1}) }} | ||
8 | {% endif %} | ||
9 | </div> | ||
10 | {% endblock %} | ||
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 6fd263d8..d958c4b8 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 | |||
@@ -9,7 +9,7 @@ | |||
9 | <br /> | 9 | <br /> |
10 | <ul class="row data"> | 10 | <ul class="row data"> |
11 | {% for tag in tags %} | 11 | {% for tag in tags %} |
12 | <li id="tag-{{ tag.id|e }}" class="col l4 m6 s12">{{tag.label}} ({{ tag.entries.getValues | length }})</li> | 12 | <li id="tag-{{ tag.id|e }}" class="col l4 m6 s12">{{tag.label}} ({{ tag.getEntriesByUserId(app.user.id) | length }})</li> |
13 | {% endfor %} | 13 | {% endfor %} |
14 | </ul> | 14 | </ul> |
15 | {% endblock %} | 15 | {% endblock %} |