<?php
/**
 * Slovene PHPMailer language file: refer to English translation for definitive list
 * @package PHPMailer
 * @author Klemen Tušar <techouse@gmail.com>
 * @author Filip Š <projects@filips.si>
 */

$PHPMAILER_LANG['authenticate']         = 'SMTP napaka: Avtentikacija ni uspela.';
$PHPMAILER_LANG['connect_host']         = 'SMTP napaka: Vzpostavljanje povezave s SMTP gostiteljem ni uspelo.';
$PHPMAILER_LANG['data_not_accepted']    = 'SMTP napaka: Strežnik zavrača podatke.';
$PHPMAILER_LANG['empty_message']        = 'E-poštno sporočilo nima vsebine.';
$PHPMAILER_LANG['encoding']             = 'Nepoznan tip kodiranja: ';
$PHPMAILER_LANG['execute']              = 'Operacija ni uspela: ';
$PHPMAILER_LANG['file_access']          = 'Nimam dostopa do datoteke: ';
$PHPMAILER_LANG['file_open']            = 'Ne morem odpreti datoteke: ';
$PHPMAILER_LANG['from_failed']          = 'Neveljaven e-naslov pošiljatelja: ';
$PHPMAILER_LANG['instantiate']          = 'Ne morem inicializirati mail funkcije.';
$PHPMAILER_LANG['invalid_address']      = 'E-poštno sporočilo ni bilo poslano. E-naslov je neveljaven: ';
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer ni podprt.';
$PHPMAILER_LANG['provide_address']      = 'Prosim vnesite vsaj enega naslovnika.';
$PHPMAILER_LANG['recipients_failed']    = 'SMTP napaka: Sledeči naslovniki so neveljavni: ';
$PHPMAILER_LANG['signing']              = 'Napaka pri podpisovanju: ';
$PHPMAILER_LANG['smtp_connect_failed']  = 'Ne morem vzpostaviti povezave s SMTP strežnikom.';
$PHPMAILER_LANG['smtp_error']           = 'Napaka SMTP strežnika: ';
$PHPMAILER_LANG['variable_set']         = 'Ne morem nastaviti oz. ponastaviti spremenljivke: ';
$PHPMAILER_LANG['extension_missing']    = 'Manjkajoča razširitev: ';
