<?php

/**
 * Hebrew PHPMailer language file: refer to English translation for definitive list
 * @package PHPMailer
 * @author Ronny Sherer <ronny@hoojima.com>
 */

$PHPMAILER_LANG['authenticate']         = 'שגיאת SMTP: פעולת האימות נכשלה.';
$PHPMAILER_LANG['connect_host']         = 'שגיאת SMTP: לא הצלחתי להתחבר לשרת SMTP.';
$PHPMAILER_LANG['data_not_accepted']    = 'שגיאת SMTP: מידע לא התקבל.';
$PHPMAILER_LANG['empty_message']        = 'גוף ההודעה ריק';
$PHPMAILER_LANG['invalid_address']      = 'כתובת שגויה: ';
$PHPMAILER_LANG['encoding']             = 'קידוד לא מוכר: ';
$PHPMAILER_LANG['execute']              = 'לא הצלחתי להפעיל את: ';
$PHPMAILER_LANG['file_access']          = 'לא ניתן לגשת לקובץ: ';
$PHPMAILER_LANG['file_open']            = 'שגיאת קובץ: לא ניתן לגשת לקובץ: ';
$PHPMAILER_LANG['from_failed']          = 'כתובות הנמענים הבאות נכשלו: ';
$PHPMAILER_LANG['instantiate']          = 'לא הצלחתי להפעיל את פונקציית המייל.';
$PHPMAILER_LANG['mailer_not_supported'] = ' אינה נתמכת.';
$PHPMAILER_LANG['provide_address']      = 'חובה לספק לפחות כתובת אחת של מקבל המייל.';
$PHPMAILER_LANG['recipients_failed']    = 'שגיאת SMTP: הנמענים הבאים נכשלו: ';
$PHPMAILER_LANG['signing']              = 'שגיאת חתימה: ';
$PHPMAILER_LANG['smtp_connect_failed']  = 'SMTP Connect() failed.';
$PHPMAILER_LANG['smtp_error']           = 'שגיאת שרת SMTP: ';
$PHPMAILER_LANG['variable_set']         = 'לא ניתן לקבוע או לשנות את המשתנה: ';
//$PHPMAILER_LANG['extension_missing']    = 'Extension missing: ';
