<?php

/**
 * Simplified Chinese PHPMailer language file: refer to English translation for definitive list
 * @package PHPMailer
 * @author liqwei <liqwei@liqwei.com>
 * @author young <masxy@foxmail.com>
 * @author Teddysun <i@teddysun.com>
 */

$PHPMAILER_LANG['authenticate']         = 'SMTP 错误：登录失败。';
$PHPMAILER_LANG['connect_host']         = 'SMTP 错误：无法连接到 SMTP 主机。';
$PHPMAILER_LANG['data_not_accepted']    = 'SMTP 错误：数据不被接受。';
$PHPMAILER_LANG['empty_message']        = '邮件正文为空。';
$PHPMAILER_LANG['encoding']             = '未知编码：';
$PHPMAILER_LANG['execute']              = '无法执行：';
$PHPMAILER_LANG['file_access']          = '无法访问文件：';
$PHPMAILER_LANG['file_open']            = '文件错误：无法打开文件：';
$PHPMAILER_LANG['from_failed']          = '发送地址错误：';
$PHPMAILER_LANG['instantiate']          = '未知函数调用。';
$PHPMAILER_LANG['invalid_address']      = '发送失败，电子邮箱地址是无效的：';
$PHPMAILER_LANG['mailer_not_supported'] = '发信客户端不被支持。';
$PHPMAILER_LANG['provide_address']      = '必须提供至少一个收件人地址。';
$PHPMAILER_LANG['recipients_failed']    = 'SMTP 错误：收件人地址错误：';
$PHPMAILER_LANG['signing']              = '登录失败：';
$PHPMAILER_LANG['smtp_connect_failed']  = 'SMTP服务器连接失败。';
$PHPMAILER_LANG['smtp_error']           = 'SMTP服务器出错：';
$PHPMAILER_LANG['variable_set']         = '无法设置或重置变量：';
$PHPMAILER_LANG['extension_missing']    = '丢失模块 Extension：';
