瀏覽代碼

Implemented italian translation (#4694)

* Translated admin.php

* Translated conf.php

* Translated feedback.php

* Translated gen.php

* Translated index.php

* Translated install.php

* Translated sub.php

* Translated user.php

* make fix-all

* fixed apostrophe

* fixed missing TODOs in sub.php

* A few more details

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Pyrox 3 年之前
父節點
當前提交
1e6bc7c21c
共有 8 個文件被更改,包括 282 次插入282 次删除
  1. 18 18
      app/i18n/it/admin.php
  2. 79 79
      app/i18n/it/conf.php
  3. 20 20
      app/i18n/it/feedback.php
  4. 38 38
      app/i18n/it/gen.php
  5. 7 7
      app/i18n/it/index.php
  6. 12 12
      app/i18n/it/install.php
  7. 88 88
      app/i18n/it/sub.php
  8. 20 20
      app/i18n/it/user.php

+ 18 - 18
app/i18n/it/admin.php

@@ -140,7 +140,7 @@ return array(
 		'entry_per_hour' => 'Per ora (media: %.2f articoli)',
 		'entry_per_month' => 'Per mese (media: %.2f articoli)',
 		'entry_repartition' => 'Ripartizione contenuti',
-		'feed' => 'Feed',	// TODO
+		'feed' => 'Feed',	// IGNORE
 		'feed_per_category' => 'Feeds per categoria',
 		'idle' => 'Feeds non aggiornati',
 		'main' => 'Statistiche principali',
@@ -158,30 +158,30 @@ return array(
 	),
 	'system' => array(
 		'_' => 'Configurazione di sistema',
-		'auto-update-url' => 'Auto-update server URL',	// TODO
+		'auto-update-url' => 'Aggiorna automaticamente l’URL del server',
 		'cookie-duration' => array(
-			'help' => 'in seconds',	// TODO
-			'number' => 'Duration to keep logged in',	// TODO
+			'help' => 'in secondi',
+			'number' => 'Tempo in cui rimanere loggati',
 		),
-		'force_email_validation' => 'Force email address validation',	// TODO
+		'force_email_validation' => 'Forza la validazione dell’indirizzo mail',
 		'instance-name' => 'Nome istanza',
 		'max-categories' => 'Limite categorie per utente',
 		'max-feeds' => 'Limite feeds per utente',
 		'registration' => array(
 			'number' => 'Numero massimo di profili',
 			'select' => array(
-				'label' => 'Registration form',	// TODO
+				'label' => 'Form di registrazione',
 				'option' => array(
-					'noform' => 'Disabled: No registration form',	// TODO
-					'nolimit' => 'Enabled: No limit of accounts',	// TODO
-					'setaccountsnumber' => 'Set max. number of accounts',	// TODO
+					'noform' => 'Disabilitato: Nessun form di registrazione',
+					'nolimit' => 'Abilitato: Nessun limite agli account',
+					'setaccountsnumber' => 'Imposta il numero massimo di account',
 				),
 			),
 			'status' => array(
-				'disabled' => 'Form disabled',	// TODO
-				'enabled' => 'Form enabled',	// TODO
+				'disabled' => 'Form disabilitato',
+				'enabled' => 'Form abilitato',
 			),
-			'title' => 'User registration form',	// TODO
+			'title' => 'Form di registrazione utente',
 		),
 	),
 	'update' => array(
@@ -196,16 +196,16 @@ return array(
 	'user' => array(
 		'admin' => 'Amministratore',
 		'article_count' => 'Articoli',
-		'back_to_manage' => '← Return to user list',	// TODO
+		'back_to_manage' => '← Ritorna alla lista utenti',
 		'create' => 'Crea nuovo utente',
-		'database_size' => 'Database size',	// TODO
+		'database_size' => 'Dimensione del database',
 		'email' => 'Indirizzo e-mail',
-		'enabled' => 'Enabled',	// TODO
-		'feed_count' => 'Feeds',	// TODO
-		'is_admin' => 'Is admin',	// TODO
+		'enabled' => 'Abilitato',
+		'feed_count' => 'Feed',
+		'is_admin' => 'Amministratore',
 		'language' => 'Lingua',
 		'last_user_activity' => 'Ultime attività degli utenti',
-		'list' => 'User list',	// TODO
+		'list' => 'Lista utenti',
 		'number' => ' %d profilo utente creato',
 		'numbers' => 'Sono presenti %d profili utente',
 		'password_form' => 'Password<br /><small>(per il login classico)</small>',

+ 79 - 79
app/i18n/it/conf.php

@@ -13,19 +13,19 @@
 return array(
 	'archiving' => array(
 		'_' => 'Archiviazione',
-		'exception' => 'Purge exception',	// TODO
+		'exception' => 'Eccezioni all’eliminazione automatica',
 		'help' => 'Altre opzioni sono disponibili nelle impostazioni dei singoli feed',
-		'keep_favourites' => 'Never delete favourites',	// TODO
-		'keep_labels' => 'Never delete labels',	// TODO
-		'keep_max' => 'Maximum number of articles to keep',	// TODO
+		'keep_favourites' => 'Non eliminare mai i preferiti',
+		'keep_labels' => 'Non eliminare mai le etichette',
+		'keep_max' => 'Numero massimo di articoli da mantenere',
 		'keep_min_by_feed' => 'Numero minimo di articoli da mantenere per feed',
-		'keep_period' => 'Maximum age of articles to keep',	// TODO
-		'keep_unreads' => 'Never delete unread articles',	// TODO
-		'maintenance' => 'Maintenance',	// TODO
+		'keep_period' => 'Massima durata degli articoli da mantenere',
+		'keep_unreads' => 'Non eliminare mai gli articoli non letti',
+		'maintenance' => 'Manutenzione',
 		'optimize' => 'Ottimizza database',
 		'optimize_help' => 'Da fare occasionalmente per ridurre le dimensioni del database',
-		'policy' => 'Purge policy',	// TODO
-		'policy_warning' => 'If no purge policy is selected, every article will be kept.',	// TODO
+		'policy' => 'Politiche di eliminazione automatica',
+		'policy_warning' => 'Se non viene selezionata una politica di eliminazione automatica, ogni articolo sarà mantenuto.',
 		'purge_now' => 'Cancella ora',
 		'title' => 'Archiviazione',
 		'ttl' => 'Non effettuare aggiornamenti per più di',
@@ -34,12 +34,12 @@ return array(
 		'_' => 'Visualizzazione',
 		'icon' => array(
 			'bottom_line' => 'Barra in fondo',
-			'display_authors' => 'Authors',	// TODO
+			'display_authors' => 'Autori',
 			'entry' => 'Icone degli articoli',
 			'publication_date' => 'Data di pubblicazione',
 			'related_tags' => 'Tags correlati',
 			'sharing' => 'Condivisione',
-			'summary' => 'Summary',	// TODO
+			'summary' => 'Sommario',
 			'top_line' => 'Barra in alto',
 		),
 		'language' => 'Lingua',
@@ -47,15 +47,15 @@ return array(
 			'seconds' => 'secondi (0 significa nessun timeout)',
 			'timeout' => 'Notifica timeout HTML5',
 		),
-		'show_nav_buttons' => 'Show the navigation buttons',	// TODO
+		'show_nav_buttons' => 'Mostra i pulsanti di navigazione',
 		'theme' => 'Tema',
-		'theme_not_available' => 'The “%s” theme is not available anymore. Please choose another theme.',	// TODO
+		'theme_not_available' => 'Il tema "%s" non è più disponibile. Si prega di selezionarne un altro.',
 		'thumbnail' => array(
-			'label' => 'Thumbnail',	// TODO
-			'landscape' => 'Landscape',	// TODO
-			'none' => 'None',	// TODO
-			'portrait' => 'Portrait',	// TODO
-			'square' => 'Square',	// TODO
+			'label' => 'Miniatura',
+			'landscape' => 'Panoramica',
+			'none' => 'Nessuna',
+			'portrait' => 'Ritratto',
+			'square' => 'Squadrata',
 		),
 		'title' => 'Visualizzazione',
 		'width' => array(
@@ -68,9 +68,9 @@ return array(
 	),
 	'logs' => array(
 		'loglist' => array(
-			'level' => 'Log Level',	// TODO
-			'message' => 'Log Message',	// TODO
-			'timestamp' => 'Timestamp',	// TODO
+			'level' => 'Livello di log',
+			'message' => 'Messaggio di log',
+			'timestamp' => 'Timestamp',	// IGNORE
 		),
 		'pagination' => array(
 			'first' => 'Prima',
@@ -81,7 +81,7 @@ return array(
 	),
 	'profile' => array(
 		'_' => 'Gestione profili',
-		'api' => 'API management',	// TODO
+		'api' => 'Gestione API',
 		'delete' => array(
 			'_' => 'Cancellazione account',
 			'warn' => 'Il tuo account e tutti i dati associati saranno cancellati.',
@@ -97,19 +97,19 @@ return array(
 		'deprecated' => 'Questa query non è più valida. La categoria o il feed di riferimento non stati cancellati.',
 		'filter' => array(
 			'_' => 'Filtro applicato:',
-			'categories' => 'Display by category',	// TODO
-			'feeds' => 'Display by feed',	// TODO
-			'order' => 'Sort by date',	// TODO
-			'search' => 'Expression',	// TODO
-			'state' => 'State',	// TODO
-			'tags' => 'Display by tag',	// TODO
-			'type' => 'Type',	// TODO
+			'categories' => 'Mostra per categoria',
+			'feeds' => 'Mostra per feed',
+			'order' => 'Ordina per data',
+			'search' => 'Espressione',
+			'state' => 'Stato',
+			'tags' => 'Mostra per tag',
+			'type' => 'Tipo',
 		),
 		'get_all' => 'Mostra tutti gli articoli',
 		'get_category' => 'Mostra la categoria "%s" ',
 		'get_favorite' => 'Mostra articoli preferiti',
 		'get_feed' => 'Mostra feed "%s" ',
-		'name' => 'Name',	// TODO
+		'name' => 'Nome',
 		'no_filter' => 'Nessun filtro',
 		'number' => 'Ricerca n°%d',
 		'order_asc' => 'Mostra prima gli articoli più vecchi',
@@ -136,31 +136,31 @@ return array(
 	'reading' => array(
 		'_' => 'Lettura',
 		'after_onread' => 'Dopo “segna tutto come letto”,',
-		'always_show_favorites' => 'Show all articles in favourites by default',	// TODO
+		'always_show_favorites' => 'Mostra tutti gli articoli nei preferiti di default',
 		'article' => array(
 			'authors_date' => array(
-				'_' => 'Authors and date',	// TODO
-				'both' => 'In header and footer',	// TODO
-				'footer' => 'In footer',	// TODO
-				'header' => 'In header',	// TODO
-				'none' => 'None',	// TODO
+				'_' => 'Autori e data',
+				'both' => 'Nell’intestazione e nel fondo pagina',
+				'footer' => 'Nel fondo pagina',
+				'header' => 'Nell’intestazione',
+				'none' => 'Nessuno',
 			),
 			'feed_name' => array(
-				'above_title' => 'Above title/tags',	// TODO
-				'none' => 'None',	// TODO
-				'with_authors' => 'In authors and date row',	// TODO
+				'above_title' => 'Sopra il titolo/tag',
+				'none' => 'Nessuno',
+				'with_authors' => 'Nella riga degli autori e data',
 			),
-			'feed_title' => 'Feed title',	// TODO
+			'feed_title' => 'Titolo del feed',
 			'tags' => array(
-				'_' => 'Tags',	// TODO
-				'both' => 'In header and footer',	// TODO
-				'footer' => 'In footer',	// TODO
-				'header' => 'In header',	// TODO
-				'none' => 'None',	// TODO
+				'_' => 'Tag',
+				'both' => 'Nell’intestazione e nel fondo pagina',
+				'footer' => 'Nel fondo pagina',
+				'header' => 'Nell’intestazione',
+				'none' => 'Nessuno',
 			),
 			'tags_max' => array(
-				'_' => 'Max number of tags shown',	// TODO
-				'help' => '0 means: show all tags and do not collapse them',	// TODO
+				'_' => 'Numero massimo di tag mostrati',
+				'help' => '0 significa: mostra tutti i tag e non raggrupparli',
 			),
 		),
 		'articles_per_page' => 'Numero di articoli per pagina',
@@ -168,14 +168,14 @@ return array(
 		'auto_remove_article' => 'Nascondi articoli dopo la lettura',
 		'confirm_enabled' => 'Mostra una conferma per “segna tutto come letto”',
 		'display_articles_unfolded' => 'Mostra articoli aperti di predefinito',
-		'display_categories_unfolded' => 'Categories to unfold',	// TODO
+		'display_categories_unfolded' => 'Categorie da aprire',
 		'headline' => array(
-			'articles' => 'Articles: Open/Close',	// TODO
-			'articles_header_footer' => 'Articles: header/footer',	// TODO
-			'categories' => 'Left navigation: Categories',	// TODO
-			'mark_as_read' => 'Mark article as read',	// TODO
-			'misc' => 'Miscellaneous',	// TODO
-			'view' => 'View',	// TODO
+			'articles' => 'Articoli: Apri/Chiudi',
+			'articles_header_footer' => 'Articoli: intestazione/fondo pagina',
+			'categories' => 'Navigazione di sinistra: Categorie',
+			'mark_as_read' => 'Segna gli articoli come letti',
+			'misc' => 'Varie',
+			'view' => 'Vista',
 		),
 		'hide_read_feeds' => 'Nascondi categorie e feeds con articoli già letti (non funziona se “Mostra tutti gli articoli” è selezionato)',
 		'img_with_lazyload' => 'Usa la modalità "caricamento ritardato" per le immagini',
@@ -185,25 +185,25 @@ return array(
 		'read' => array(
 			'article_open_on_website' => 'Quando un articolo è aperto nel suo sito di origine',
 			'article_viewed' => 'Quando un articolo viene letto',
-			'keep_max_n_unread' => 'Max number of articles to keep unread',	// TODO
+			'keep_max_n_unread' => 'Massimo numero di articoli da mantenere come non letti',
 			'scroll' => 'Scorrendo la pagina',
-			'upon_gone' => 'when it is no longer in the upstream news feed',	// TODO
+			'upon_gone' => 'quando non si trova più nel feed di notizie in alto',
 			'upon_reception' => 'Alla ricezione del contenuto',
 			'when' => 'Segna articoli come letti…',
-			'when_same_title' => 'if an identical title already exists in the top <i>n</i> newest articles',	// TODO
+			'when_same_title' => 'se un titolo identico esiste già tra i <i>n</i> articoli più recenti',
 		),
 		'show' => array(
 			'_' => 'Articoli da visualizzare',
-			'active_category' => 'Active category',	// TODO
+			'active_category' => 'Categoria attiva',
 			'adaptive' => 'Adatta visualizzazione',
 			'all_articles' => 'Mostra tutti gli articoli',
-			'all_categories' => 'All categories',	// TODO
-			'no_category' => 'No category',	// TODO
-			'remember_categories' => 'Remember open categories',	// TODO
+			'all_categories' => 'Tutte le categorie',
+			'no_category' => 'Nessuna categoria',
+			'remember_categories' => 'Ricorda le categorie aperte',
 			'unread' => 'Mostra solo non letti',
 		),
-		'show_fav_unread_help' => 'Applies also on labels',	// TODO
-		'sides_close_article' => 'Clicking outside of article text area closes the article',	// TODO
+		'show_fav_unread_help' => 'Si applica anche alle etichette',
+		'sides_close_article' => 'Cliccare fuori dall’area di testo dell’articolo chiude l’articolo',
 		'sort' => array(
 			'_' => 'Ordinamento',
 			'newer_first' => 'Prima i più recenti',
@@ -220,16 +220,16 @@ return array(
 	),
 	'sharing' => array(
 		'_' => 'Condivisione',
-		'add' => 'Add a sharing method',	// TODO
+		'add' => 'Aggiungi un metodo di condivisione',
 		'blogotext' => 'Blogotext',	// IGNORE
-		'deprecated' => 'This service is deprecated and will be removed from FreshRSS in a <a href="https://freshrss.github.io/FreshRSS/en/users/08_sharing_services.html" title="Open documentation for more information" target="_blank">future release</a>.',	// TODO
+		'deprecated' => 'Questo servizio è deprecato e sarà rimosso da FreshRSS in una <a href="https://freshrss.github.io/FreshRSS/en/users/08_sharing_services.html" title="Apri la documentazione per ulteriori informazioni" target="_blank">release successiva</a>.',
 		'diaspora' => 'Diaspora*',	// IGNORE
-		'email' => 'Email',	// TODO
+		'email' => 'Email',	// IGNORE
 		'facebook' => 'Facebook',	// IGNORE
 		'more_information' => 'Ulteriori informazioni',
 		'print' => 'Stampa',
 		'raindrop' => 'Raindrop.io',	// IGNORE
-		'remove' => 'Remove sharing method',	// TODO
+		'remove' => 'Rimuovi metodo di condivisione',
 		'shaarli' => 'Shaarli',	// IGNORE
 		'share_name' => 'Nome condivisione',
 		'share_url' => 'URL condivisione',
@@ -246,7 +246,7 @@ return array(
 		'collapse_article' => 'Collassa articoli',
 		'first_article' => 'Salta al primo articolo',
 		'focus_search' => 'Modulo di ricerca',
-		'global_view' => 'Switch to global view',	// TODO
+		'global_view' => 'Passa alla vista globale',
 		'help' => 'Mostra documentazione',
 		'javascript' => 'JavaScript deve essere abilitato per poter usare i comandi da tastiera',
 		'last_article' => 'Salta all ultimo articolo',
@@ -255,24 +255,24 @@ return array(
 		'mark_read' => 'Segna come letto',
 		'navigation' => 'Navigazione',
 		'navigation_help' => 'Con il tasto <kbd>⇧ Shift</kbd> i comandi di navigazione verranno applicati ai feeds.<br/>Con il tasto <kbd>Alt ⎇</kbd> i comandi di navigazione verranno applicati alle categorie.',
-		'navigation_no_mod_help' => 'The following navigation shortcuts do not support modifiers.',	// TODO
+		'navigation_no_mod_help' => 'Le seguenti scorciatoie di navigazione non supportano i modificatori.',
 		'next_article' => 'Salta al contenuto successivo',
-		'next_unread_article' => 'Open the next unread article',	// TODO
-		'non_standard' => 'Some keys (<kbd>%s</kbd>) may not work as shortcuts.',	// TODO
-		'normal_view' => 'Switch to normal view',	// TODO
+		'next_unread_article' => 'Apri il prossimo articolo non letto',
+		'non_standard' => 'Alcuni tasti (<kbd>%s</kbd>) potrebbero non funzionare come scorciatoie.',
+		'normal_view' => 'Passa alla vista normale',
 		'other_action' => 'Altre azioni',
 		'previous_article' => 'Salta al contenuto precedente',
-		'reading_view' => 'Switch to reading view',	// TODO
-		'rss_view' => 'Open as RSS feed',	// TODO
+		'reading_view' => 'Passa alla modalità lettura',
+		'rss_view' => 'Apri come feed RSS',
 		'see_on_website' => 'Vai al sito fonte',
-		'shift_for_all_read' => '+ <kbd>Alt ⎇</kbd> to mark previous articles as read<br />+ <kbd>⇧ Shift</kbd> to mark all articles as read',	// TODO
-		'skip_next_article' => 'Focus next without opening',	// TODO
-		'skip_previous_article' => 'Focus previous without opening',	// TODO
+		'shift_for_all_read' => '+ <kbd>Alt ⎇</kbd> per segnare i precedenti articoli come già letti<br />+ <kbd>⇧ Shift</kbd> per segnare tutti gli articoli come già letti',
+		'skip_next_article' => 'Evidenzia il prossimo senza aprire',
+		'skip_previous_article' => 'Evidenzia il precedente senza aprire',
 		'title' => 'Comandi da tastiera',
-		'toggle_media' => 'Play/pause media',	// TODO
+		'toggle_media' => 'Riproduci/Metti in pausa i media',
 		'user_filter' => 'Accedi alle ricerche personali',
 		'user_filter_help' => 'Se è presente una sola ricerca personale verrà usata quella, altrimenti usare anche il numero associato.',
-		'views' => 'Views',	// TODO
+		'views' => 'Viste',
 	),
 	'user' => array(
 		'articles_and_size' => '%s articoli (%s)',

+ 20 - 20
app/i18n/it/feedback.php

@@ -20,8 +20,8 @@ return array(
 	),
 	'api' => array(
 		'password' => array(
-			'failed' => 'Your password cannot be modified',	// TODO
-			'updated' => 'Your password has been modified',	// TODO
+			'failed' => 'La tua password non può essere modificata',
+			'updated' => 'La tua password è stata modificata',
 		),
 	),
 	'auth' => array(
@@ -41,7 +41,7 @@ return array(
 	),
 	'extensions' => array(
 		'already_enabled' => '%s è già abilitata',
-		'cannot_remove' => '%s cannot be removed',	// TODO
+		'cannot_remove' => '%s non può essere rimosso',
 		'disable' => array(
 			'ko' => '%s non può essere disabilitata. <a href="%s">Verifica i logs</a> per dettagli.',
 			'ok' => '%s è disabilitata',
@@ -53,7 +53,7 @@ return array(
 		'no_access' => 'Accesso negato a %s',
 		'not_enabled' => '%s non abilitato',
 		'not_found' => '%s non disponibile',
-		'removed' => '%s removed',	// TODO
+		'removed' => '%s rimosso',
 	),
 	'import_export' => array(
 		'export_no_zip_extension' => 'Estensione ZIP non presente sul server. Per favore esporta i files singolarmente.',
@@ -70,8 +70,8 @@ return array(
 	'sub' => array(
 		'actualize' => 'Aggiorna',
 		'articles' => array(
-			'marked_read' => 'The selected articles have been marked as read.',	// TODO
-			'marked_unread' => 'The articles have been marked as unread.',	// TODO
+			'marked_read' => 'Gli articoli selezionati sono stati segnati come già letti.',
+			'marked_unread' => 'Gli articoli sono stati segnati come non letti.',
 		),
 		'category' => array(
 			'created' => 'Categoria %s creata.',
@@ -91,33 +91,33 @@ return array(
 			'actualizeds' => 'RSS feeds aggiornati',
 			'added' => 'RSS feed <em>%s</em> aggiunti',
 			'already_subscribed' => 'Hai già sottoscritto <em>%s</em>',
-			'cache_cleared' => '<em>%s</em> cache has been cleared',	// TODO
+			'cache_cleared' => 'La cache di <em>%s</em> è stata svuotata',
 			'deleted' => 'Feed cancellato',
 			'error' => 'Feed non aggiornato',
-			'internal_problem' => 'RSS feed non aggiunto. <a href="%s">Verifica i logs</a> per dettagli. You can try force adding by appending <code>#force_feed</code> to the URL.',	// DIRTY
+			'internal_problem' => 'Feed RSS non aggiunto. <a href="%s">Verifica i log</a> per dettagli. Puoi provare l’aggiunta forzata aggiungendo <code>#force_feed</code> all’URL.',
 			'invalid_url' => 'URL <em>%s</em> non valido',
 			'n_actualized' => '%d feeds aggiornati',
 			'n_entries_deleted' => '%d articoli cancellati',
 			'no_refresh' => 'Nessun aggiornamento disponibile…',
 			'not_added' => '<em>%s</em> non può essere aggiunto',
-			'not_found' => 'Feed cannot be found',	// TODO
+			'not_found' => 'Feed non trovato',
 			'over_max' => 'Hai raggiunto il numero limite di feed (%d)',
-			'reloaded' => '<em>%s</em> has been reloaded',	// TODO
+			'reloaded' => '<em>%s</em> è stato ricaricato',
 			'selector_preview' => array(
-				'http_error' => 'Failed to load website content.',	// TODO
-				'no_entries' => 'There are no articles in this feed. You need at least one article to create a preview.',	// TODO
-				'no_feed' => 'Internal error (feed cannot be found).',	// TODO
-				'no_result' => 'The selector didn’t match anything. As a fallback the original feed text will be displayed instead.',	// TODO
-				'selector_empty' => 'The selector is empty. You need to define one to create a preview.',	// TODO
+				'http_error' => 'Fallito caricamento del contenuto del sito web.',
+				'no_entries' => 'Non sono presenti articoli in questo feed. Serve almeno un articolo per creare un’anteprima.',
+				'no_feed' => 'Errore interno (feed non trovato).',
+				'no_result' => 'Il selettore non ha trovato nessuna corrispondenza. Come azione di ripiego verrà mostrato il testo originale del feed.',
+				'selector_empty' => 'Il selettore è vuoto. Devi definirne uno per creare un’anteprima.',
 			),
 			'updated' => 'Feed aggiornato',
 		),
 		'purge_completed' => 'Svecchiamento completato (%d articoli cancellati)',
 	),
 	'tag' => array(
-		'created' => 'Tag "%s" has been created.',	// TODO
-		'name_exists' => 'Tag name already exists.',	// TODO
-		'renamed' => 'Tag "%s" has been renamed to "%s".',	// TODO
+		'created' => 'Il tag "%s" è stato creato.',
+		'name_exists' => 'Il nome del tag è già presente.',
+		'renamed' => 'Il tag "%s" è stato rinominato in "%s".',
 	),
 	'update' => array(
 		'can_apply' => 'FreshRSS verrà aggiornato alla <strong>versione %s</strong>.',
@@ -137,8 +137,8 @@ return array(
 			'error' => 'Utente %s non cancellato',
 		),
 		'updated' => array(
-			'_' => 'User %s has been updated',	// TODO
-			'error' => 'User %s has not been updated',	// TODO
+			'_' => 'L’utente %s è stato aggiornato',
+			'error' => 'L’utente %s non è stato aggiornato',
 		),
 	),
 );

+ 38 - 38
app/i18n/it/gen.php

@@ -13,41 +13,41 @@
 return array(
 	'action' => array(
 		'actualize' => 'Aggiorna feeds',
-		'add' => 'Add',	// TODO
-		'back' => '← Go back',	// TODO
+		'add' => 'Aggiungi',
+		'back' => '← Torna indietro',
 		'back_to_rss_feeds' => '← Indietro',
 		'cancel' => 'Annulla',
 		'create' => 'Crea',
-		'delete_muted_feeds' => 'Delete muted feeds',	// TODO
-		'demote' => 'Demote',	// TODO
+		'delete_muted_feeds' => 'Cancella i feed mutati',
+		'demote' => 'Retrocedi',
 		'disable' => 'Disabilita',
 		'empty' => 'Vuoto',
 		'enable' => 'Abilita',
 		'export' => 'Esporta',
 		'filter' => 'Filtra',
 		'import' => 'Importa',
-		'load_default_shortcuts' => 'Load default shortcuts',	// TODO
+		'load_default_shortcuts' => 'Carica le scorciatoie di default',
 		'manage' => 'Gestisci',
 		'mark_read' => 'Segna come letto',
-		'open_url' => 'Open URL',	// TODO
-		'promote' => 'Promote',	// TODO
-		'purge' => 'Purge',	// TODO
-		'refresh_opml' => 'Refresh OPML',	// TODO
+		'open_url' => 'Apri URL',
+		'promote' => 'Promuovi',
+		'purge' => 'Elimina',
+		'refresh_opml' => 'Ricarica OPML',
 		'remove' => 'Rimuovi',
-		'rename' => 'Rename',	// TODO
+		'rename' => 'Rinomina',
 		'see_website' => 'Vai al sito',
 		'submit' => 'Conferma',
 		'truncate' => 'Cancella tutti gli articoli',
-		'update' => 'Update',	// TODO
+		'update' => 'Aggiorna',
 	),
 	'auth' => array(
-		'accept_tos' => 'I accept the <a href="%s">Terms of Service</a>.',	// TODO
+		'accept_tos' => 'Accetto i <a href="%s">Termini e condizioni del servizio</a>.',
 		'email' => 'Indirizzo email',
 		'keep_logged_in' => 'Ricorda i dati <small>(%s giorni)</small>',
 		'login' => 'Accedi',
 		'logout' => 'Esci',
 		'password' => array(
-			'_' => 'Password',	// TODO
+			'_' => 'Password',	// IGNORE
 			'format' => '<small>almeno 7 caratteri</small>',
 		),
 		'registration' => array(
@@ -56,7 +56,7 @@ return array(
 			'title' => 'Creazione profilo',
 		),
 		'username' => array(
-			'_' => 'Username',	// TODO
+			'_' => 'Nome utente',
 			'format' => '<small>Massimo 16 caratteri alfanumerici</small>',
 		),
 	),
@@ -84,39 +84,39 @@ return array(
 		'february' => 'febbraio',
 		'format_date' => 'j\\ %s Y',
 		'format_date_hour' => 'j\\ %s Y \\o\\r\\e H\\:i',
-		'fri' => 'Fri',	// TODO
+		'fri' => 'Ven',
 		'jan' => 'genn.',
 		'january' => 'gennaio',
 		'jul' => 'jul',
 		'july' => 'luglio',
 		'jun' => 'jun',
 		'june' => 'giugno',
-		'last_2_year' => 'Last two years',	// TODO
-		'last_3_month' => 'Ultimi 3 mesi',
-		'last_3_year' => 'Last three years',	// TODO
-		'last_5_year' => 'Last five years',	// TODO
-		'last_6_month' => 'Ultimi 6 mesi',
+		'last_2_year' => 'Ultimi due anni',
+		'last_3_month' => 'Ultimi tre mesi',
+		'last_3_year' => 'Ultimi tre anni',
+		'last_5_year' => 'Ultimi cinque anni',
+		'last_6_month' => 'Ultimi sei mesi',
 		'last_month' => 'Ultimo mese',
 		'last_week' => 'Ultima settimana',
 		'last_year' => 'Ultimo anno',
 		'mar' => 'mar.',
 		'march' => 'marzo',
 		'may' => 'maggio',
-		'may_' => 'May',	// TODO
-		'mon' => 'Mon',	// TODO
+		'may_' => 'Mag',
+		'mon' => 'Lun',
 		'month' => 'mesi',
 		'nov' => 'nov.',
 		'november' => 'novembre',
 		'oct' => 'ott.',
 		'october' => 'ottobre',
-		'sat' => 'Sat',	// TODO
+		'sat' => 'Sab',
 		'sep' => 'sett.',
 		'september' => 'settembre',
-		'sun' => 'Sun',	// TODO
-		'thu' => 'Thu',	// TODO
+		'sun' => 'Dom',
+		'thu' => 'Gio',
 		'today' => 'Oggi',
-		'tue' => 'Tue',	// TODO
-		'wed' => 'Wed',	// TODO
+		'tue' => 'Mar',
+		'wed' => 'Mer',
 		'yesterday' => 'Ieri',
 	),
 	'dir' => 'ltr',	// IGNORE
@@ -130,7 +130,7 @@ return array(
 		'confirm_action_feed_cat' => 'Sei sicuro di voler continuare? Verranno persi i preferiti e le ricerche utente correlate!',
 		'feedback' => array(
 			'body_new_articles' => 'Ci sono %%d nuovi articoli da leggere.',
-			'body_unread_articles' => '(unread: %%d)',	// TODO
+			'body_unread_articles' => '(non letti: %%d)',
 			'request_failed' => 'Richiesta fallita, probabilmente a causa di problemi di connessione',
 			'title_new_articles' => 'Feed RSS Reader: nuovi articoli!',
 		),
@@ -160,7 +160,7 @@ return array(
 	),
 	'menu' => array(
 		'about' => 'Informazioni',
-		'account' => 'Account',	// TODO
+		'account' => 'Profilo',
 		'admin' => 'Amministrazione',
 		'archiving' => 'Archiviazione',
 		'authentication' => 'Autenticazione',
@@ -168,7 +168,7 @@ return array(
 		'configuration' => 'Configurazione',
 		'display' => 'Visualizzazione',
 		'extensions' => 'Estensioni',
-		'logs' => 'Logs',	// TODO
+		'logs' => 'Log',
 		'queries' => 'Ricerche personali',
 		'reading' => 'Lettura',
 		'search' => 'Ricerca parole o #tags',
@@ -181,19 +181,19 @@ return array(
 		'user_profile' => 'Profilo',
 	),
 	'period' => array(
-		'days' => 'days',	// TODO
-		'hours' => 'hours',	// TODO
-		'months' => 'months',	// TODO
-		'weeks' => 'weeks',	// TODO
-		'years' => 'years',	// TODO
+		'days' => 'giorni',
+		'hours' => 'ore',
+		'months' => 'mesi',
+		'weeks' => 'settimane',
+		'years' => 'anni',
 	),
 	'share' => array(
 		'Known' => 'Siti basati su Known',
 		'archivePH' => 'archive.ph',	// IGNORE
 		'blogotext' => 'Blogotext',	// IGNORE
-		'clipboard' => 'Clipboard',	// TODO
+		'clipboard' => 'Appunti',
 		'diaspora' => 'Diaspora*',	// IGNORE
-		'email' => 'Email',	// TODO
+		'email' => 'Email',	// IGNORE
 		'facebook' => 'Facebook',	// IGNORE
 		'gnusocial' => 'GNU social',	// IGNORE
 		'jdh' => 'Journal du hacker',	// IGNORE
@@ -211,7 +211,7 @@ return array(
 		'twitter' => 'Twitter',	// IGNORE
 		'wallabag' => 'wallabag v1',	// IGNORE
 		'wallabagv2' => 'wallabag v2',	// IGNORE
-		'web-sharing-api' => 'System sharing',	// TODO
+		'web-sharing-api' => 'Condivisione di sistema',
 		'whatsapp' => 'Whatsapp',	// IGNORE
 		'xing' => 'Xing',	// IGNORE
 	),

+ 7 - 7
app/i18n/it/index.php

@@ -33,23 +33,23 @@ return array(
 		'title_global' => 'Vista globale per categorie',
 	),
 	'log' => array(
-		'_' => 'Logs',	// TODO
+		'_' => 'Log',
 		'clear' => 'Svuota logs',
 		'empty' => 'File di log vuoto',
-		'title' => 'Logs',	// TODO
+		'title' => 'Log',
 	),
 	'menu' => array(
 		'about' => 'Informazioni',
 		'before_one_day' => 'Giorno precedente',
 		'before_one_week' => 'Settimana precedente',
-		'bookmark_query' => 'Bookmark current query',	// TODO
+		'bookmark_query' => 'Inserisci la ricerca corrente nei segnalibri',
 		'favorites' => 'Preferiti (%s)',
 		'global_view' => 'Vista globale per categorie',
 		'main_stream' => 'Flusso principale',
 		'mark_all_read' => 'Segna tutto come letto',
 		'mark_cat_read' => 'Segna la categoria come letta',
 		'mark_feed_read' => 'Segna il feed come letto',
-		'mark_selection_unread' => 'Mark selection as unread',	// TODO
+		'mark_selection_unread' => 'Segna i selezionati come non letti',
 		'newer_first' => 'Mostra prima i recenti',
 		'non-starred' => 'Escludi preferiti',
 		'normal_view' => 'Vista elenco',
@@ -57,12 +57,12 @@ return array(
 		'queries' => 'Chiavi di ricerca',
 		'read' => 'Mostra solo letti',
 		'reader_view' => 'Modalità di lettura',
-		'rss_view' => 'RSS feed',	// TODO
+		'rss_view' => 'Feed RSS',
 		'search_short' => 'Cerca',
 		'starred' => 'Mostra solo preferiti',
 		'stats' => 'Statistiche',
 		'subscription' => 'Gestione sottoscrizioni',
-		'tags' => 'My labels',	// TODO
+		'tags' => 'Le mie etichette',
 		'unread' => 'Mostra solo non letti',
 	),
 	'share' => 'Condividi',
@@ -70,6 +70,6 @@ return array(
 		'related' => 'Tags correlati',
 	),
 	'tos' => array(
-		'title' => 'Terms of Service',	// TODO
+		'title' => 'Termini e condizioni del servizio',
 	),
 );

+ 12 - 12
app/i18n/it/install.php

@@ -27,13 +27,13 @@ return array(
 		'type' => 'Metodo di autenticazione',
 	),
 	'bdd' => array(
-		'_' => 'Database',	// TODO
+		'_' => 'Database',	// IGNORE
 		'conf' => array(
 			'_' => 'Configurazione database',
 			'ko' => 'Verifica le informazioni del database.',
 			'ok' => 'Le configurazioni del database sono state salvate.',
 		),
-		'host' => 'Host',	// TODO
+		'host' => 'Host',	// IGNORE
 		'password' => 'Password del database',
 		'prefix' => 'Prefisso tabella',
 		'type' => 'Tipo di database',
@@ -71,12 +71,12 @@ return array(
 			'ok' => 'Estensione fileinfo presente.',
 		),
 		'json' => array(
-			'nok' => 'You lack a recommended library to parse JSON.',
-			'ok' => 'You have the recommended library to parse JSON.',	// TODO
+			'nok' => 'Manca la libreria consigliata per effettuare la lettura del JSON.',
+			'ok' => 'La libreria consigliata per la lettura del JSON è presente.',
 		),
 		'mbstring' => array(
-			'nok' => 'Cannot find the recommended library mbstring for Unicode.',	// TODO
-			'ok' => 'You have the recommended library mbstring for Unicode.',	// TODO
+			'nok' => 'Impossibile trovare la libreria mbstring, consigliata per Unicode.',
+			'ok' => 'La libreria mbstring, consigliata per Unicode, è presente.',
 		),
 		'pcre' => array(
 			'nok' => 'Manca una libreria richiesta per le regular expressions (php-pcre).',
@@ -93,16 +93,16 @@ return array(
 		'reload' => 'Controlla di nuovo',
 		'tmp' => array(
 			'nok' => 'Verifica i permessi sulla cartella <em>%s</em>. Il server HTTP deve avere i permessi per scriverci dentro.',
-			'ok' => 'Permissions on the temp directory are good.',	// TODO
+			'ok' => 'I permessi sulla cartella temp sono corretti.',
 		),
-		'unknown_process_username' => 'unknown',	// TODO
+		'unknown_process_username' => 'sconosciuto',
 		'users' => array(
 			'nok' => 'Verifica i permessi sulla cartella <em>%s</em>. Il server HTTP deve avere i permessi per scriverci dentro.',
 			'ok' => 'I permessi sulla cartella users sono corretti.',
 		),
 		'xml' => array(
-			'nok' => 'You lack the required library to parse XML.',
-			'ok' => 'You have the required library to parse XML.',	// TODO
+			'nok' => 'La libreria richiesta per leggere gli XML non è presente.',
+			'ok' => 'La libreria richiesta per leggere gli XML è presente.',
 		),
 	),
 	'conf' => array(
@@ -121,10 +121,10 @@ return array(
 		'choose' => 'Seleziona la lingua per FreshRSS',
 		'defined' => 'Lingua impostata.',
 	),
-	'missing_applied_migrations' => 'Something went wrong; you should create an empty file <em>%s</em> manually.',	// TODO
+	'missing_applied_migrations' => 'Qualcosa è andato storto; sarà necessario creare manualmente un file vuoto <em>%s</em>.',
 	'ok' => 'Processo di installazione terminato con successo.',
 	'session' => array(
-		'nok' => 'The web server seems to be incorrectly configured for cookies required for PHP sessions!',	// TODO
+		'nok' => 'Il server web sembra configurato in maniera non corretta riguardo i cookie richiesti per le sessioni PHP!',
 	),
 	'step' => 'Passaggio %d',
 	'steps' => 'Passaggi',

+ 88 - 88
app/i18n/it/sub.php

@@ -12,32 +12,32 @@
 
 return array(
 	'api' => array(
-		'documentation' => 'Copy the following URL to use it within an external tool.',	// TODO
-		'title' => 'API',	// TODO
+		'documentation' => 'Copia il seguente URL per usarlo in un tool esterno.',
+		'title' => 'API',	// IGNORE
 	),
 	'bookmarklet' => array(
-		'documentation' => 'Drag this button to your bookmarks toolbar or right-click it and choose "Bookmark This Link". Then click the "Subscribe" button in any page you want to subscribe to.',	// TODO
-		'label' => 'Subscribe',	// TODO
-		'title' => 'Bookmarklet',	// TODO
+		'documentation' => 'Trascina questo pulsante nei preferiti o fai click destro e scegli "Inserisci questo link tra i preferiti". Successivamente clicca il pulsante "Iscriviti" in qualsiasi pagina a cui ti vuoi iscrivere.',
+		'label' => 'Iscriviti',
+		'title' => 'Segnalibro',
 	),
 	'category' => array(
 		'_' => 'Categoria',
 		'add' => 'Aggiungi categoria',
 		'archiving' => 'Archiviazione',
 		'dynamic_opml' => array(
-			'_' => 'Dynamic OPML',	// TODO
-			'help' => 'Provide the URL to an <a href=http://opml.org/ target=_blank>OPML file</a> to dynamically populate this category with feeds',	// TODO
+			'_' => 'OPML dinamico',
+			'help' => 'Fornisci l’URL ad un <a href=http://opml.org/ target=_blank>file OPML</a> per popolare dinamicamente questa categoria con i feed',
 		),
 		'empty' => 'Categoria vuota',
 		'information' => 'Informazioni',
-		'opml_url' => 'OPML URL',	// TODO
-		'position' => 'Display position',	// TODO
-		'position_help' => 'To control category sort order',	// TODO
+		'opml_url' => 'URL OPML',
+		'position' => 'Mostra posizione',
+		'position_help' => 'Per controllare l’ordinamento della categoria',
 		'title' => 'Titolo',
 	),
 	'feed' => array(
-		'accept_cookies' => 'Accept cookies',	// TODO
-		'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)',	// TODO
+		'accept_cookies' => 'Accetta i cookie',
+		'accept_cookies_help' => 'Consenti al server dei feed di impostare dei cookie (salvati in memoria solo per la durata della richiesta)',
 		'add' => 'Aggiungi un Feed RSS',
 		'advanced' => 'Avanzate',
 		'archiving' => 'Archiviazione',
@@ -45,129 +45,129 @@ return array(
 			'configuration' => 'Autenticazione',
 			'help' => 'Accesso per feeds protetti',
 			'http' => 'Autenticazione HTTP',
-			'password' => 'HTTP password',	// TODO
-			'username' => 'HTTP username',	// TODO
+			'password' => 'Password HTTP',
+			'username' => 'Nome utente HTTP',
 		),
-		'clear_cache' => 'Always clear cache',	// TODO
+		'clear_cache' => 'Cancella sempre la cache',
 		'content_action' => array(
-			'_' => 'Content action when fetching the article content',	// TODO
-			'append' => 'Add after existing content',	// TODO
-			'prepend' => 'Add before existing content',	// TODO
-			'replace' => 'Replace existing content',	// TODO
+			'_' => 'Azione da effettuare quando viene recuperato il contenuto di un articolo',
+			'append' => 'Aggiungi dopo il contenuto esistente',
+			'prepend' => 'Aggiungi prima del contenuto esistente',
+			'replace' => 'Rimpiazza il contenuto esistente',
 		),
-		'css_cookie' => 'Use Cookies when fetching the article content',	// TODO
-		'css_cookie_help' => 'Example: <kbd>foo=bar; gdpr_consent=true; cookie=value</kbd>',	// TODO
+		'css_cookie' => 'Usa i cookie quando viene recuperato il contenuto di un articolo',
+		'css_cookie_help' => 'Esempio: <kbd>foo=bar; gdpr_consent=true; cookie=value</kbd>',
 		'css_help' => 'In caso di RSS feeds troncati (attenzione, richiede molto tempo!)',
 		'css_path' => 'Percorso del foglio di stile CSS del sito di origine',
 		'css_path_filter' => array(
-			'_' => 'CSS selector of the elements to remove',	// TODO
-			'help' => 'A CSS selector may be a list such as: <kbd>.footer, .aside</kbd>',	// TODO
+			'_' => 'Il selettore CSS degli elementi da rimuovere',
+			'help' => 'Il selettore CSS potrebbe essere una lista, ad esempio: <kbd>.footer, .aside</kbd>',
 		),
 		'description' => 'Descrizione',
 		'empty' => 'Questo feed non contiene articoli. Per favore verifica il sito direttamente.',
 		'error' => 'Questo feed ha generato un errore. Per favore verifica se ancora disponibile.',
 		'filteractions' => array(
-			'_' => 'Filter actions',	// TODO
-			'help' => 'Write one search filter per line.',	// TODO
+			'_' => 'Azioni di filtro',
+			'help' => 'Scrivi un filtro di ricerca per riga.',
 		),
 		'information' => 'Informazioni',
 		'keep_min' => 'Numero minimo di articoli da mantenere',
 		'kind' => array(
-			'_' => 'Type of feed source',	// TODO
+			'_' => 'Tipo di sorgente del feed',
 			'html_xpath' => array(
-				'_' => 'HTML + XPath (Web scraping)',	// TODO
+				'_' => 'HTML + XPath (Web scraping)',	// IGNORE
 				'feed_title' => array(
-					'_' => 'feed title',	// TODO
-					'help' => 'Example: <code>//title</code> or a static string: <code>"My custom feed"</code>',	// TODO
+					'_' => 'titolo del feed',
+					'help' => 'Esempio: <code>//titolo</code> o una stringa statica: <code>"Il mio feed personalizzato"</code>',
 				),
-				'help' => '<dfn><a href="https://www.w3.org/TR/xpath-10/" target="_blank">XPath 1.0</a></dfn> is a standard query language for advanced users, and which FreshRSS supports to enable Web scraping.',	// TODO
+				'help' => '<dfn><a href="https://www.w3.org/TR/xpath-10/" target="_blank">XPath 1.0</a></dfn> è un linguaggio di ricerca standard per utenti avanzati supportato da FreshRSS per abilitare il Web scraping.',
 				'item' => array(
-					'_' => 'finding news <strong>items</strong><br /><small>(most important)</small>',	// TODO
-					'help' => 'Example: <code>//div[@class="news-item"]</code>',	// TODO
+					'_' => 'trovare <strong>oggetti</strong><br /><small> notizia (più importanti)</small>',
+					'help' => 'Esempio: <code>//div[@class="news-item"]</code>',
 				),
 				'item_author' => array(
-					'_' => 'item author',	// TODO
-					'help' => 'Can also be a static string. Example: <code>"Anonymous"</code>',	// TODO
+					'_' => 'oggetto autore',
+					'help' => 'Può anche essere una stringa statica. Esempio: <code>"Anonimo"</code>',
 				),
-				'item_categories' => 'item tags',	// TODO
+				'item_categories' => 'oggetto tag',
 				'item_content' => array(
-					'_' => 'item content',	// TODO
-					'help' => 'Example to take the full item: <code>.</code>',	// TODO
+					'_' => 'oggetto contenuto',
+					'help' => 'Esempio per considerare l’oggetto intero: <code>.</code>',
 				),
 				'item_thumbnail' => array(
-					'_' => 'item thumbnail',	// TODO
-					'help' => 'Example: <code>descendant::img/@src</code>',	// TODO
+					'_' => 'oggetto miniatura',
+					'help' => 'Esempio: <code>descendant::img/@src</code>',
 				),
 				'item_timestamp' => array(
-					'_' => 'item date',	// TODO
-					'help' => 'The result will be parsed by <a href="https://php.net/strtotime" target="_blank"><code>strtotime()</code></a>',	// TODO
+					'_' => 'oggetto data',
+					'help' => 'Il risultato verrà analizzato da <a href="https://php.net/strtotime" target="_blank"><code>strtotime()</code></a>',
 				),
 				'item_title' => array(
-					'_' => 'item title',	// TODO
-					'help' => 'Use in particular the <a href="https://developer.mozilla.org/docs/Web/XPath/Axes" target="_blank">XPath axis</a> <code>descendant::</code> like <code>descendant::h2</code>',	// TODO
+					'_' => 'oggetto titolo',
+					'help' => 'Usa in particolare l’<a href="https://developer.mozilla.org/docs/Web/XPath/Axes" target="_blank">XPath axis</a> <code>descendant::</code> like <code>descendant::h2</code>',
 				),
 				'item_uid' => array(
-					'_' => 'item unique ID',	// TODO
-					'help' => 'Optional. Example: <code>descendant::div/@data-uri</code>',	// TODO
+					'_' => 'oggetto ID univoco',
+					'help' => 'Opzionale. Esempio: <code>descendant::div/@data-uri</code>',
 				),
 				'item_uri' => array(
-					'_' => 'item link (URL)',	// TODO
-					'help' => 'Example: <code>descendant::a/@href</code>',	// TODO
+					'_' => 'oggetto link (URL)',
+					'help' => 'Esempio: <code>descendant::a/@href</code>',
 				),
-				'relative' => 'XPath (relative to item) for:',	// TODO
-				'xpath' => 'XPath for:',	// TODO
+				'relative' => 'XPath (relativo all’oggetto) per:',
+				'xpath' => 'XPath per:',
 			),
-			'rss' => 'RSS / Atom (default)',	// TODO
+			'rss' => 'RSS / Atom (predefinito)',
 		),
 		'maintenance' => array(
-			'clear_cache' => 'Clear cache',	// TODO
-			'clear_cache_help' => 'Clear the cache for this feed.',	// TODO
-			'reload_articles' => 'Reload articles',	// TODO
-			'reload_articles_help' => 'Reload that many articles and fetch complete content if a selector is defined.',	// TODO
-			'title' => 'Maintenance',	// TODO
+			'clear_cache' => 'Svuota cache',
+			'clear_cache_help' => 'Svuota la cache per questo feed.',
+			'reload_articles' => 'Ricarica articoli',
+			'reload_articles_help' => 'Ricarica gli articoli e recupera il contenuto completo se è definito un selettore.',
+			'title' => 'Manutenzione',
 		),
-		'max_http_redir' => 'Max HTTP redirects',	// TODO
-		'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects',	// TODO
+		'max_http_redir' => 'Numero massimo di redirect HTTP',
+		'max_http_redir_help' => 'Imposta a 0 o lascia in bianco per disabilitare, -1 per impostare un numero illimitato di redirect',
 		'moved_category_deleted' => 'Cancellando una categoria i feed al suo interno verranno classificati automaticamente come <em>%s</em>.',
-		'mute' => 'mute',	// TODO
+		'mute' => 'muta',
 		'no_selected' => 'Nessun feed selezionato.',
 		'number_entries' => '%d articoli',
 		'priority' => array(
-			'_' => 'Visibility',	// TODO
-			'archived' => 'Do not show (archived)',	// TODO
+			'_' => 'Visibilità',
+			'archived' => 'Non mostrare (archiviato)',
 			'main_stream' => 'Mostra in homepage',
-			'normal' => 'Show in its category',	// TODO
+			'normal' => 'Mostra nella sua categoria',
 		),
-		'proxy' => 'Set a proxy for fetching this feed',	// TODO
-		'proxy_help' => 'Select a protocol (e.g: SOCKS5) and enter the proxy address (e.g: <kbd>127.0.0.1:1080</kbd>)',	// TODO
+		'proxy' => 'Imposta un proxy per recuperare questo feed',
+		'proxy_help' => 'Seleziona un protocollo (e.g: SOCKS5) ed inserisci l’indirizzo del proxy (e.g: <kbd>127.0.0.1:1080</kbd>)',
 		'selector_preview' => array(
-			'show_raw' => 'Show source code',	// TODO
-			'show_rendered' => 'Show content',	// TODO
+			'show_raw' => 'Mostra codice sorgente',
+			'show_rendered' => 'Mostra contenuto',
 		),
 		'show' => array(
-			'all' => 'Show all feeds',	// TODO
-			'error' => 'Show only feeds with errors',	// TODO
+			'all' => 'Mostra tutti i feed',
+			'error' => 'Mostra solo feed con errori',
 		),
 		'showing' => array(
-			'error' => 'Showing only feeds with errors',	// TODO
+			'error' => 'Vengono mostrati solo i feed con errori',
 		),
-		'ssl_verify' => 'Verify SSL security',	// TODO
+		'ssl_verify' => 'Verifica sicurezza SSL',
 		'stats' => 'Statistiche',
 		'think_to_add' => 'Aggiungi feed.',
-		'timeout' => 'Timeout in seconds',	// TODO
+		'timeout' => 'Timeout in secondi',
 		'title' => 'Titolo',
 		'title_add' => 'Aggiungi RSS feed',
 		'ttl' => 'Non aggiornare automaticamente piu di',
-		'url' => 'Feed URL',	// TODO
-		'useragent' => 'Set the user agent for fetching this feed',	// TODO
-		'useragent_help' => 'Example: <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>',	// TODO
+		'url' => 'URL del feed',
+		'useragent' => 'Imposta lo user agent per recuperare questo feed',
+		'useragent_help' => 'Esempio: <kbd>Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0)</kbd>',
 		'validator' => 'Controlla la validita del feed ',
 		'website' => 'URL del sito',
 		'websub' => 'Notifica istantanea con WebSub',
 	),
 	'import_export' => array(
 		'export' => 'Esporta',
-		'export_labelled' => 'Export your labelled articles',	// TODO
+		'export_labelled' => 'Esporta gli articoli etichettati',
 		'export_opml' => 'Esporta tutta la lista dei feed (OPML)',
 		'export_starred' => 'Esporta i tuoi preferiti',
 		'feed_list' => 'Elenco di %s articoli',
@@ -178,32 +178,32 @@ return array(
 		'title' => 'Importa / esporta',
 	),
 	'menu' => array(
-		'add' => 'Add a feed or category',	// TODO
+		'add' => 'Aggiungi un feed o una categoria',
 		'import_export' => 'Importa / esporta',
-		'label_management' => 'Label management',	// TODO
+		'label_management' => 'Gestione etichette',
 		'stats' => array(
 			'idle' => 'Feeds non aggiornati',
 			'main' => 'Statistiche principali',
 			'repartition' => 'Ripartizione articoli',
 		),
 		'subscription_management' => 'Gestione sottoscrizioni',
-		'subscription_tools' => 'Subscription tools',	// TODO
+		'subscription_tools' => 'Strumenti di sottoscrizione',
 	),
 	'tag' => array(
-		'name' => 'Name',	// TODO
-		'new_name' => 'New name',	// TODO
-		'old_name' => 'Old name',	// TODO
+		'name' => 'Nome',
+		'new_name' => 'Nuovo nome',
+		'old_name' => 'Vecchio nome',
 	),
 	'title' => array(
 		'_' => 'Gestione sottoscrizioni',
-		'add' => 'Add a feed or category',	// TODO
-		'add_category' => 'Add a category',	// TODO
-		'add_dynamic_opml' => 'Add dynamic OPML',	// TODO
-		'add_feed' => 'Add a feed',	// TODO
-		'add_label' => 'Add a label',	// TODO
-		'delete_label' => 'Delete a label',	// TODO
+		'add' => 'Aggiungi un feed o una categoria',
+		'add_category' => 'Aggiungi una categoria',
+		'add_dynamic_opml' => 'Aggiungi OPML dinamico',
+		'add_feed' => 'Aggiungi un feed',
+		'add_label' => 'Aggiungi un’etichetta',
+		'delete_label' => 'Cancella un’etichetta',
 		'feed_management' => 'Gestione RSS feeds',
-		'rename_label' => 'Rename a label',	// TODO
-		'subscription_tools' => 'Subscription tools',	// TODO
+		'rename_label' => 'Rinomina un’etichetta',
+		'subscription_tools' => 'Strumenti di sottoscrizione',
 	),
 );

+ 20 - 20
app/i18n/it/user.php

@@ -13,42 +13,42 @@
 return array(
 	'email' => array(
 		'feedback' => array(
-			'invalid' => 'This email address is invalid.',	// TODO
-			'required' => 'An email address is required.',	// TODO
+			'invalid' => 'Questo indirizzo email non è valido.',
+			'required' => 'L’indirizzo email è obbligatorio.',
 		),
 		'validation' => array(
-			'change_email' => 'You can change your email address <a href="%s">on the profile page</a>.',	// TODO
-			'email_sent_to' => 'We sent you an email at <strong>%s</strong>. Please follow its instructions to validate your address.',	// TODO
+			'change_email' => 'Puoi cambiare il tuo indirizzo email <a href="%s">nella tua pagina profilo</a>.',
+			'email_sent_to' => 'Ti abbiamo inviato un’email all’indirizzo <strong>%s</strong>. Segui le istruzioni indicate per validare il tuo indirizzo.',
 			'feedback' => array(
-				'email_failed' => 'We couldn’t send you an email because of a server configuration error.',	// TODO
-				'email_sent' => 'An email has been sent to your address.',	// TODO
-				'error' => 'Email address validation failed.',	// TODO
-				'ok' => 'This email address has been validated.',	// TODO
-				'unnecessary' => 'This email address was already validated.',	// TODO
-				'wrong_token' => 'This email address failed to be validated due to a wrong token.',	// TODO
+				'email_failed' => 'Non è stato possibile inviare l’email a causa di un errore nella configurazione del server.',
+				'email_sent' => 'È stata inviata un’email al tuo indirizzo.',
+				'error' => 'La validazione dell’indirizzo email è fallita.',
+				'ok' => 'Questo indirizzo email è stato validato.',
+				'unnecessary' => 'Questo indirizzo email è già stato validato.',
+				'wrong_token' => 'Questo indirizzo email non è stato validato a causa di un token errato.',
 			),
-			'need_to' => 'You need to validate your email address before being able to use %s.',	// TODO
-			'resend_email' => 'Resend the email',	// TODO
-			'title' => 'Email address validation',	// TODO
+			'need_to' => 'Devi validare la tua email prima di poter utilizzare %s.',
+			'resend_email' => 'Invia nuovamente l’email',
+			'title' => 'Validazione dell’indirizzo email',
 		),
 	),
 	'mailer' => array(
 		'email_need_validation' => array(
-			'body' => 'You’ve just registered on %s, but you still need to validate your email address. For that, just follow the link:',	// TODO
-			'title' => 'You need to validate your account',	// TODO
-			'welcome' => 'Welcome %s,',	// TODO
+			'body' => 'Ti sei appena registrato su %s, ma devi ancora validare il tuo indirizzo email. Per fare ciò, segui il link:',
+			'title' => 'Devi validare il tuo account',
+			'welcome' => 'Benvenuto %s,',
 		),
 	),
 	'password' => array(
-		'invalid' => 'The password is invalid.',	// TODO
+		'invalid' => 'La password non è valida.',
 	),
 	'tos' => array(
 		'feedback' => array(
-			'invalid' => 'You must accept the Terms of Service to be able to register.',	// TODO
+			'invalid' => 'Devi accettare i termini e condizioni del servizio per poterti registrare.',
 		),
 	),
 	'username' => array(
-		'invalid' => 'This username is invalid.',	// TODO
-		'taken' => 'This username, %s, is taken.',	// TODO
+		'invalid' => 'Questo nome utente non è valido.',
+		'taken' => 'Questo nome utente, %s, è già stato utilizzato.',
 	),
 );