<?php

/**
 * Italian PHPMailer language file: refer to English translation for definitive list
 * @package PHPMailer
 * @author Ilias Bartolini <brain79@inwind.it>
 * @author Stefano Sabatini <sabas88@gmail.com>
 */

$PHPMAILER_LANG['authenticate']         = 'SMTP Error: Impossibile autenticarsi.';
$PHPMAILER_LANG['connect_host']         = 'SMTP Error: Impossibile connettersi all\'host SMTP.';
$PHPMAILER_LANG['data_not_accepted']    = 'SMTP Error: Dati non accettati dal server.';
$PHPMAILER_LANG['empty_message']        = 'Il corpo del messaggio è vuoto';
$PHPMAILER_LANG['encoding']             = 'Codifica dei caratteri sconosciuta: ';
$PHPMAILER_LANG['execute']              = 'Impossibile eseguire l\'operazione: ';
$PHPMAILER_LANG['file_access']          = 'Impossibile accedere al file: ';
$PHPMAILER_LANG['file_open']            = 'File Error: Impossibile aprire il file: ';
$PHPMAILER_LANG['from_failed']          = 'I seguenti indirizzi mittenti hanno generato errore: ';
$PHPMAILER_LANG['instantiate']          = 'Impossibile istanziare la funzione mail';
$PHPMAILER_LANG['invalid_address']      = 'Impossibile inviare, l\'indirizzo email non è valido: ';
$PHPMAILER_LANG['provide_address']      = 'Deve essere fornito almeno un indirizzo ricevente';
$PHPMAILER_LANG['mailer_not_supported'] = 'Mailer non supportato';
$PHPMAILER_LANG['recipients_failed']    = 'SMTP Error: I seguenti indirizzi destinatari hanno generato un errore: ';
$PHPMAILER_LANG['signing']              = 'Errore nella firma: ';
$PHPMAILER_LANG['smtp_connect_failed']  = 'SMTP Connect() fallita.';
$PHPMAILER_LANG['smtp_error']           = 'Errore del server SMTP: ';
$PHPMAILER_LANG['variable_set']         = 'Impossibile impostare o resettare la variabile: ';
$PHPMAILER_LANG['extension_missing']    = 'Estensione mancante: ';
