<?php

/**
 * Catalan PHPMailer language file: refer to English translation for definitive list
 * @package PHPMailer
 * @author Ivan <web AT microstudi DOT com>
 */

$PHPMAILER_LANG['authenticate']         = 'Error SMTP: No s’ha pogut autenticar.';
$PHPMAILER_LANG['connect_host']         = 'Error SMTP: No es pot connectar al servidor SMTP.';
$PHPMAILER_LANG['data_not_accepted']    = 'Error SMTP: Dades no acceptades.';
$PHPMAILER_LANG['empty_message']        = 'El cos del missatge està buit.';
$PHPMAILER_LANG['encoding']             = 'Codificació desconeguda: ';
$PHPMAILER_LANG['execute']              = 'No es pot executar: ';
$PHPMAILER_LANG['file_access']          = 'No es pot accedir a l’arxiu: ';
$PHPMAILER_LANG['file_open']            = 'Error d’Arxiu: No es pot obrir l’arxiu: ';
$PHPMAILER_LANG['from_failed']          = 'La(s) següent(s) adreces de remitent han fallat: ';
$PHPMAILER_LANG['instantiate']          = 'No s’ha pogut crear una instància de la funció Mail.';
$PHPMAILER_LANG['invalid_address']      = 'Adreça d’email invalida: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer no està suportat';
$PHPMAILER_LANG['provide_address']      = 'S’ha de proveir almenys una adreça d’email com a destinatari.';
$PHPMAILER_LANG['recipients_failed']    = 'Error SMTP: Els següents destinataris han fallat: ';
$PHPMAILER_LANG['signing']              = 'Error al signar: ';
$PHPMAILER_LANG['smtp_connect_failed']  = 'Ha fallat el SMTP Connect().';
$PHPMAILER_LANG['smtp_error']           = 'Error del servidor SMTP: ';
$PHPMAILER_LANG['variable_set']         = 'No s’ha pogut establir o restablir la variable: ';
//$PHPMAILER_LANG['extension_missing']    = 'Extension missing: ';
