Browse Source

[DOCUMENTATION] Russian:
- New translations
- Sync

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@17486 44c647ce-9c0f-0410-b52a-842ac1e357ba

irina 16 years ago
parent
commit
a949023ed6

+ 20 - 10
documentation/manual/ru/manual.xml.in

@@ -1648,6 +1648,11 @@
                 <xi:include href="../en/module_specs/Zend_Tool_Framework-SystemProviders.xml" />
             </xi:fallback>
         </xi:include>
+        <xi:include href="module_specs/Zend_Tool_Framework-Extending.xml">
+            <xi:fallback>
+                <xi:include href="../en/module_specs/Zend_Tool_Framework-Extending.xml" />
+            </xi:fallback>
+        </xi:include>
     </chapter>
 
     <chapter id="zend.tool.project">
@@ -1749,6 +1754,11 @@
                 <xi:include href="../en/module_specs/Zend_Validate-Messages.xml" />
             </xi:fallback>
         </xi:include>
+        <xi:include href="module_specs/Zend_Validate-Migration.xml">
+            <xi:fallback>
+                <xi:include href="../en/module_specs/Zend_Validate-Migration.xml" />
+            </xi:fallback>
+        </xi:include>
     </chapter>
 
     <chapter id="zend.version">
@@ -1824,26 +1834,26 @@
 
     <xi:include href="ref/requirements.xml">
         <xi:fallback>
-                <xi:include href="../en/ref/requirements.xml" />
-            </xi:fallback>
+            <xi:include href="../en/ref/requirements.xml" />
+        </xi:fallback>
     </xi:include>
 
     <xi:include href="ref/coding_standard.xml">
         <xi:fallback>
-                <xi:include href="../en/ref/coding_standard.xml" />
-            </xi:fallback>
+            <xi:include href="../en/ref/coding_standard.xml" />
+        </xi:fallback>
     </xi:include>
 
     <xi:include href="ref/documentation-standard.xml">
         <xi:fallback>
-                <xi:include href="../en/ref/documentation-standard.xml" />
-            </xi:fallback>
+            <xi:include href="../en/ref/documentation-standard.xml" />
+        </xi:fallback>
     </xi:include>
 
     <xi:include href="ref/project-structure.xml">
         <xi:fallback>
-                <xi:include href="../en/ref/project-structure.xml" />
-            </xi:fallback>
+            <xi:include href="../en/ref/project-structure.xml" />
+        </xi:fallback>
     </xi:include>
 
     <appendix id="performance">
@@ -1877,8 +1887,8 @@
 
     <xi:include href="ref/copyrights.xml">
         <xi:fallback>
-                <xi:include href="../en/ref/copyrights.xml" />
-            </xi:fallback>
+            <xi:include href="../en/ref/copyrights.xml" />
+        </xi:fallback>
     </xi:include>
 
     <index id="the.index" />

+ 18 - 31
documentation/manual/ru/module_specs/Zend_Mail-AddingRecipients.xml

@@ -1,52 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.mail.adding-recipients">
-    <title>
-        Добавление получателей
-<!--
-        Adding Recipients
--->
-    </title>
+    <title>Добавление получателей</title>
     <para>
         Получатели могут быть добавлены тремя способами:
-<!--
-        Recipients can be added in three ways:
--->
         <itemizedlist>
         <listitem>
-        <para><code>addTo()</code>:
-            Добавляет получателя в почтовое сообщение с помощью заголовка "To"
-<!--
-            Adds a recipient to the mail with a "To" header
--->
+        <para><methodname>addTo()</methodname>:
+            Добавляет получателя в почтовое сообщение через заголовок "To"
         </para>
         </listitem>
         <listitem>
-        <para><code>addCc()</code>:
-            Добавляет получателя в сообщение с помощью заголовка "Cc"
-<!--
-            Adds a recipient to the mail with a "Cc" header
--->
+        <para><methodname>addCc()</methodname>:
+            Добавляет получателя в сообщение через заголовок "Cc"
         </para>
         </listitem>
         <listitem>
-        <para><code>addBcc()</code>:
-            Добавляет получателя в сообщение, при этом он не отображается
-            в заголовке
-<!--
-            Adds a recipient to the mail not visible in the header.
--->
+        <para><methodname>addBcc()</methodname>:
+            Добавляет получателя в сообщение, он не будет виден в заголовке
         </para>
         </listitem>
         </itemizedlist>
     </para>
+    <para>
+        <methodname>getRecipients()</methodname> возвращает список получателей.
+        <methodname>clearRecipients()</methodname> очищает список.
+    </para>
     <note>
-        <title>Дополнительный параметр<!--Additional parameter--></title>
+        <title>Дополнительный параметр</title>
         <para>
-            <code>addTo()</code> и <code>addCc()</code> принимают второй необязательный
+            <methodname>addTo()</methodname> и <methodname>addCc()</methodname>
+            принимают второй необязательный
             параметр, который используется как имя получателя в заголовке.
-<!--
-            <code>addTo()</code> and <code>addCc()</code> accept a second optional parameter that is used as a
-            human-readable name of the recipient for the header.
--->
+            В этом параметре двойные кавычки заменяются на одинарные, а
+            угловые скобки на квадратные.
         </para>
     </note>
 </sect1>

+ 17 - 25
documentation/manual/ru/module_specs/Zend_Mail-AdditionalHeaders.xml

@@ -1,38 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.mail.additional-headers">
-    <title>
-        Дополнительные заголовки
-<!--
-        Additional Headers
--->
-    </title>
+    <title>Дополнительные заголовки</title>
     <para>
-        Произвольные заголовки почтовых сообщений могут быть установлены с
-        помощью метода <code>addHeader()</code>. Он требует передачи
+        Любые заголовки сообщений электронной почты могут быть установлены с
+        помощью метода <methodname>addHeader()</methodname>. Он требует передачи
         двух параметров, содержащих имя и значение поля заголовка.
         Третий необязательный параметр определяет, должен ли заголовок
-        иметь одно или несколько значений.
-<!--
-        Arbitrary mail headers can be set by using the <code>addHeader()</code> method. It requires two
-        parameters containing the name and the value of the header field. A third optional parameter determines
-        if the header should have only one or multiple values:
--->
+        иметь одно или несколько значений:
     </para>
-    <example>
-        <title>
-            Добавление заголовков почтового сообщения
-<!--
-            Adding E-Mail Message Headers
--->
-        </title>
+    <example id="zend.mail.additional-headers.example-1">
+        <title>Добавление заголовков сообщений</title>
         <programlisting language="php"><![CDATA[
-<?php
-require_once 'Zend/Mail.php';
 $mail = new Zend_Mail();
 $mail->addHeader('X-MailGenerator', 'MyCoolApplication');
-$mail->addHeader('X-greetingsTo', 'Mom', true); // множественное значение
+$mail->addHeader('X-greetingsTo', 'Mom', true); // Несколько 
 $mail->addHeader('X-greetingsTo', 'Dad', true);
-?>]]>   </programlisting>
+]]></programlisting>
     </example>
+    
+    <para>
+        Для установки заголовка Reply-To существует отдельный метод
+        <methodname>setReplyTo($email, $name=null)</methodname>, поскольку
+        требуется дополнительное экранирование различных частей (e-mail и имя).
+    </para>
+    
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 44 - 44
documentation/manual/ru/module_specs/Zend_Mail-Attachments.xml

@@ -1,64 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.mail.attachments">
-    <title>
-        Вложения
-<!--
-        Attachments
--->
-    </title>
+    <title>Вложения</title>
     <para>
-        Файлы могут быть прикреплены к почтовому сообщению методом
-        <code>addAttachment()</code>. По умолчанию <code>Zend_Mail</code>
-        предполагает, что прикрепляемый файл является бинарным (<code>application/octet-stream</code>),
-        должен передаваться в кодировке base64 и обрабатывается как вложение.
-        Эти предполагаемые значения могут быть изменены передачей большего
-        количества параметров методу <code>addAttachment()</code>.
-<!--
-        Files can be attached to an e-mail using the <code>addAttachment()</code> method. The default behaviour
-        of <code>Zend_Mail</code> is to assume the attachment is a binary object (application/octet-stream),
-        should be transferred with base64 encoding, and is handled as an attachment. These assumptions can be
-        overridden by passing more parameters to <code>addAttachment()</code>:
--->
+        Файлы могут быть прикреплены к сообщению электронной почты с
+        использованием метода <methodname>addAttachment()</methodname>.
+        По умолчанию <classname>Zend_Mail</classname> предполагает, что
+        прикрепляемый файл является бинарным (application/octet-stream),
+        должен передаваться в кодировке base64 и обрабатываться как вложение.
+        Эти предположения могут быть переопределены передачей дополнительных
+        параметров методу <code>addAttachment()</code>.
     </para>
-    <example>
-        <title>
-            Почтовые сообщения со вложениями
-<!--
-            E-Mail Messages with Attachments
--->
-        </title>
+    <example id="zend.mail.attachments.example-1">
+        <title>Почтовые сообщения со вложениями</title>
         <programlisting language="php"><![CDATA[
-<?php
-require_once 'Zend/Mail.php';
 $mail = new Zend_Mail();
-// формирование сообщения...
-$mail->addAttachment($someBinaryString);
-$mail->addAttachment($myImage, 'image/gif', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_8BIT);
-?>]]>   </programlisting>
+// Формирование сообщения...
+$mail->createAttachment($someBinaryString);
+$mail->createAttachment($myImage,
+                        'image/gif',
+                        Zend_Mime::DISPOSITION_INLINE,
+                        Zend_Mime::ENCODING_8BIT);
+]]></programlisting>
     </example>
     <para>
-        Если хотите иметь больший контроль над частями MIME, генерируемыми
-        для данного вложения, то можете использовать возвращаемое методом
-        <code>addAttachment()</code> значение для изменения атрибутов.
-        Метод <code>addAttachment()</code> возвращает объект <code>Zend_Mime_Part</code>.
-<!--
-        If you want more control over the MIME part generated for this attachment you can use the return value
-        of <code>addAttachment()</code> to modify its attributes. The <code>addAttachment()</code> method
-        returns a <code>Zend_Mime_Part</code> object:
--->
+        Если требуется больший контроль над частями <acronym>MIME</acronym>,
+        генерируемыми для данного вложения, то можно использовать возвращаемое
+        методом <methodname>createAttachment()</methodname> значение для
+        изменения атрибутов. Метод <methodname>createAttachment()</methodname>
+        возвращает объект <code>Zend_Mime_Part</code>:
+    </para>
+    <programlisting language="php"><![CDATA[
+$mail = new Zend_Mail();
+
+$at = $mail->createAttachment($myImage);
+$at->type        = 'image/gif';
+$at->disposition = Zend_Mime::DISPOSITION_INLINE;
+$at->encoding    = Zend_Mime::ENCODING_8BIT;
+$at->filename    = 'test.gif';
+
+$mail->send();
+]]></programlisting>
+    <para>
+        Альтернативным способом является создание экземпляра
+        <classname>Zend_Mime_Part</classname> и его добавление через
+        <methodname>addAttachment()</methodname>:
     </para>
     <programlisting language="php"><![CDATA[
-<?php
-require_once 'Zend/Mail.php';
 $mail = new Zend_Mail();
 
-$at = $mail->addAttachment($myImage);
+$at = new Zend_Mime_Part($myImage);
 $at->type        = 'image/gif';
 $at->disposition = Zend_Mime::DISPOSITION_INLINE;
 $at->encoding    = Zend_Mime::ENCODING_8BIT;
 $at->filename    = 'test.gif';
 
+$mail->addAttachment($at);
+
 $mail->send();
-?>]]></programlisting>
+]]></programlisting>
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 13 - 27
documentation/manual/ru/module_specs/Zend_Mail-Boundary.xml

@@ -1,36 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.mail.boundary">
-    <title>
-        Контроль за разделителями MIME
-<!--
-        Controlling the MIME Boundary
--->
-    </title>
+    <title>Контроль за разделителями MIME</title>
     <para>
-        В сообщениях типа <code>multipart</code> разделитель MIME для разделения различных
-        частей сообщения обычно генерируется случайным образом. Тем не менее,
-        в некоторых случаях может потребоваться указать, какие разделители
-        MIME использовать. Это можно сделать, используя метод
-        <code>setMimeBoundary()</code>, как показано в следующем примере:
-<!--
-        In a multipart message a MIME boundary for separating the different parts of the message is normally
-        generated at random. In some cases, however, you might want to specify the MIME boundary that is used.
-        This can be done using the <code>setMimeBoundary()</code> method, as in the following example:
--->
+        В multipart-сообщениях разделитель <acronym>MIME</acronym> для
+        отделения частей сообщения друг от друга обычно генерируется случайным
+        образом. Но в некоторых случаях может потребоваться указать, какие
+        разделители использовать. Это можно сделать, используя метод
+        <methodname>setMimeBoundary()</methodname>, как показано в следующем
+        примере:
     </para>
-    <example>
-        <title>
-            Изменение разделителей MIME
-<!--
-            Changing the MIME Boundary
--->
-        </title>
+    <example id="zend.mail.boundary.example-1">
+        <title>Изменение разделителей MIME</title>
         <programlisting language="php"><![CDATA[
-<?php
-require_once 'Zend/Mail.php';
 $mail = new Zend_Mail();
-$mail->setMimeBoundary('=_' . md5(microtime(1) . $someId++);
+$mail->setMimeBoundary('=_' . md5(microtime(1) . $someId++));
 // формирование сообщения...
-?>]]>   </programlisting>
+]]></programlisting>
     </example>
 </sect1>
 <!--

+ 11 - 24
documentation/manual/ru/module_specs/Zend_Mail-CharacterSets.xml

@@ -1,34 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.mail.character-sets">
-    <title>
-        Наборы символов
-<!--
-        Character Sets
--->
-    </title>
+    <title>Наборы символов</title>
     <para>
-        <code>Zend_Mail</code> не проверяет правильность выбранного
+        <classname>Zend_Mail</classname> не проверяет правильность выбранного
         набора символов для частей сообщения. Набор символов для сообщения
-        может быть задан, когда создаете экземпляр
-        <code>Zend_Mail</code>. По умолчанию это <code>iso-8859-1</code>.
-        Приложение должно обеспечивать то, что все части, добавляемые в объект почтового
-        сообщения, имеют содержимое, закодированное с правильным набором символов.
-        Когда создается новая часть сообщения, отличающаяся кодировка должна
-        быть задана для каждой части.
-<!--
-        <code>Zend_Mail</code> does not check for the correct character set of the mail parts. When
-        instantiating <code>Zend_Mail</code>, a charset for the e-mail itself may be given. It defaults to
-        <code>iso-8859-1</code>. The application has to make sure that all parts added to that mail object
-        have their content encoded in the correct character set. When creating a new mail part, a different
-        charset can be given for each part.
--->
+        может быть задан при инстанцировании <classname>Zend_Mail</classname>.
+        По умолчанию это <code>iso-8859-1</code>.
+        Приложение должно обеспечивать кодирование с правильным набором
+        символов всех частей, добавляемых в объект сообщения.
+        При создании новых частей сообщения отличающаяся кодировка
+        должна быть указана.
     </para>
     <note>
-        <title>Только для текстового формата<!--Only in text format--></title>
+        <title>Только для текстового формата</title>
         <para>
             Наборы символов применимы только к частям сообщения в текстовом формате.
-<!--
-        Character sets are only applicable for message parts in text format.
--->
         </para>
     </note>
 </sect1>

+ 16 - 35
documentation/manual/ru/module_specs/Zend_Mail-DifferentTransports.xml

@@ -1,51 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.mail.different-transports">
-    <title>
-        Использование разных соединений
-<!--
-        Using Different Transports
--->
-    </title>
+    <title>Использование различных транспортов</title>
     <para>
-        В том случае, если вы хотите отправлять различные сообщения через разные
-        соединения, вы можете передавать объект транспортировщика напрямую в
-        <code>send()</code> без предшествующего вызова <code>setDefaultTransport()</code>.
-        Переданный объект заменит собой транспортировщик по умолчанию для текущего
-        запроса <code>send()</code>.
-<!--
-        In case you want to send different e-mails through different connections, you can also pass the
-        transport object directly to <code>send()</code> without a prior call to
-        <code>setDefaultTransport()</code>. The passed object will override the default transport for the
-        actual <code>send()</code> request:
--->
+        В том случае, если вы хотите отправлять различные сообщения через
+        различные соединения, вы можете напрямую передавать объект транспорта
+        методу <methodname>send()</methodname> без предшествующего
+        вызова <methodname>setDefaultTransport()</methodname>.
+        Для текущего запроса <methodname>send()</methodname> переданный объект
+        заменит собой транспорт, используемый по умолчанию:
     </para>
-    <example>
-        <title>
-            Использование разных соединений
-<!--
-            Using Different Transports
--->
-        </title>
+    <example id="zend.mail.different-transports.example-1">
+        <title>Использование различных транспортов</title>
         <programlisting language="php"><![CDATA[
-<?php
-require_once 'Zend/Mail.php';
 $mail = new Zend_Mail();
-// формирование сообщения...
-require_once 'Zend/Mail/Transport/Smtp.php';
+// построение сообщения...
 $tr1 = new Zend_Mail_Transport_Smtp('server@example.com');
 $tr2 = new Zend_Mail_Transport_Smtp('other_server@example.com');
 $mail->send($tr1);
 $mail->send($tr2);
-$mail->send();  // опять используется соединение по умолчанию
-?>]]>   </programlisting>
+$mail->send();  // опять используется транспорт по умолчанию
+]]></programlisting>
     </example>
     <note>
-        <title>Дополнительные транспортировщики<!--Additional transports--></title>
+        <title>Дополнительные транспорты</title>
         <para>
-            Дополнительные транспортировщики могут быть написаны посредством реализации
+            Дополнительные транспорты могут быть написаны посредством реализации
             интерфейса <code>Zend_Mail_Transport_Interface</code>.
-<!--
-            Additional transports can be written by implementing <code>Zend_Mail_Transport_Interface</code>.
--->
         </para>
     </note>
 </sect1>

+ 36 - 23
documentation/manual/ru/module_specs/Zend_Mail-Encoding.xml

@@ -1,31 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.mail.encoding">
-    <title>
-        Кодировка
-<!--
-        Encoding
--->
-    </title>
+    <title>Кодировка</title>
     <para>
         Тела сообщений в текстовом и HTML форматах по умолчанию кодируются
-        по алгоритму quoted-printable. Все другие вложения кодируются
-        по алгоритму base64, если не указана другая кодировка при
-        вызове метода <code>addAttachment()</code> или не установлена позднее для
-        части MIME объекта. Кодировки 7Bit и 8Bit в настоящее время
-        используются только для бинарных данных.
-<!--
-        Text and HTML message bodies are encoded with the quotedprintable mechanism by default. All other
-        attachments are encoded via base64 if no other encoding is given in the <code>addAttachment()</code>
-        call or assigned to the MIME part object later. 7Bit and 8Bit encoding currently only pass on the
-        binary content data.
--->
+        по алгоритму quoted-printable, если только вы не указали
+        base64 через метод <methodname>setHeaderEncoding()</methodname>.
+        Все другие вложения кодируются
+        по алгоритму base64, если только не была указана другая кодировка при
+        вызове метода <methodname>addAttachment()</methodname> и она не была
+        установлена позднее для объекта части <acronym>MIME</acronym>.
+        Кодировки 7Bit и 8Bit в настоящее время используются только для
+        бинарных данных.
     </para>
+
     <para>
-        <code>Zend_Mail_Transport_Smtp</code> кодирует строки, начинающиеся с
-        одной или двух точек, поэтому сообщение не нарушает протокол SMTP.
-<!--
-        <code>Zend_Mail_Transport_Smtp</code> encodes lines starting with one dot or two dots so that the mail
-        does not violate the SMTP protocol.
--->
+        Кодирование заголовков, особенно темы (subject) сообщения - непростой
+        вопрос. <classname>Zend_Mime</classname> в настоящее время реализует
+        собственный алгоритм для кодирования quoted-printable сообщений в
+        соответствии с RFC-2045. Это вызвано тем, что
+        <code>iconv_mime_encode</code> и <code>mb_encode_mimeheader</code>
+        испытывают проблемы с кодированием определенных символов.
+        Этот алгоритм только разбивает заголовки пробелами, это приводит к
+        тому, что заголовки могут значительно превышать предлагаемую длину в
+        76 символов. По этой причине рекомендуется переключаться на кодирование
+        заголовков по алгоритму base64, как показано в следующем примере:
+    </para>
+
+    <programlisting language="php"><![CDATA[
+// По умолчанию используется Zend_Mime::ENCODING_QUOTEDPRINTABLE
+$mail = new Zend_Mail('UTF-8');
+
+// Переключение на base64
+$mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64);
+]]></programlisting>
+
+    <para>
+        <classname>Zend_Mail_Transport_Smtp</classname> кодирует строки,
+        начинающиеся с одной или двух точек, поэтому сообщение не будет нарушать
+        протокол SMTP.
     </para>
 </sect1>
 <!--

+ 12 - 27
documentation/manual/ru/module_specs/Zend_Mail-HtmlMails.xml

@@ -1,34 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.mail.html-mails">
-    <title>
-        Сообщение в формате HTML
-<!--
-        HTML E-Mail
--->
-    </title>
+    <title>Сообщение в формате HTML</title>
     <para>
         Для отправки сообщения электронной почты в формате HTML устанавливайте
-        тело сообщения методом <code>setBodyHTML()</code> вместо
-        <code>setBodyText()</code>. Тип содержимого MIME будет автоматически
-        установлено в <code>text/html</code>. Если вы используете тела
-        сообщения в текстовом и HTML форматах одновременно, то будет автоматически
-        сгенерировано сообщение MIME типа <code>multipart/alternative</code>.
-<!--
-        To send an e-mail in HTML format, set the body using the method <code>setBodyHTML()</code> instead of
-        <code>setBodyText()</code>. The MIME content type will automatically be set to <code>text/html</code>
-        then. If you use both HTML and Text bodies, a multipart/alternative MIME message will automatically be
-        generated:
--->
+        тело сообщения через метод <methodname>setBodyHTML()</methodname> вместо
+        использования <methodname>setBodyText()</methodname>. Тип содержимого
+        <acronym>MIME</acronym> будет автоматически установлен в
+        <code>text/html</code>. Если вы используете как текстовый, так и
+        HTML-формат, то будет автоматически сгенерировано MIME-сообщение типа
+        <code>multipart/alternative</code>:
     </para>
-    <example>
-        <title>
-            Отправка сообщения в формате HTML
-<!--
-            Sending HTML E-Mail
--->
-        </title>
+    <example id="zend.mail.html-mails.example-1">
+        <title>Отправка сообщения в формате HTML</title>
         <programlisting language="php"><![CDATA[
-<?php
-require_once 'Zend/Mail.php';
 $mail = new Zend_Mail();
 $mail->setBodyText('My Nice Test Text');
 $mail->setBodyHtml('My Nice <b>Test</b> Text');
@@ -36,7 +21,7 @@ $mail->setFrom('somebody@example.com', 'Some Sender');
 $mail->addTo('somebody_else@example.com', 'Some Recipient');
 $mail->setSubject('TestSubject');
 $mail->send();
-?>]]>   </programlisting>
+]]></programlisting>
     </example>
 </sect1>
 <!--

+ 118 - 64
documentation/manual/ru/module_specs/Zend_Mail-Introduction.xml

@@ -1,79 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.mail.introduction">
+
     <title>Введение</title>
-    <para>
-        <code>Zend_Mail</code> предоставляет обобщенный функционал для формирования
-        и отправки как текстовых, так и MIME-сообщений электронной почты.
-        Сообщения могут отправляться <code>Zend_Mail</code> посредством
-        встроенной функции PHP <ulink url="http://php.net/mail"><code>mail()</code></ulink>
-        или прямого соединения SMTP.
-<!--
-        <code>Zend_Mail</code> provides generalized functionality to compose and send both text and MIME-compliant
-        multipart e-mail messages. Mail can be sent with <code>Zend_Mail</code> via the php built-in
-        <ulink url="http://php.net/mail"><code>mail()</code></ulink> function or via direct SMTP connection.
--->
-    </para>
-    <example>
-        <title>
-            Простое сообщение электронной почты
-<!--
-            Simple E-Mail with Zend_Mail
--->
-        </title>
+
+    <sect2 id="zend.mail.introduction.getting-started">
+
+        <title>Начало работы</title>
+
         <para>
-            Простое сообщение электронной почты содержит несколько получателей,
-            заголовок сообщения, тело сообщения и отправителя.
-            Чтобы отправить такое электронное сообщение, используя функцию PHP
-            <ulink url="http://php.net/mail"><code>mail()</code></ulink>,
-            сделайте следующее:
-<!--
-            A simple e-mail consists of some recipients, a subject, a body and a sender. To send such a mail using
-            the PHP <ulink url="http://php.net/mail"><code>mail()</code></ulink> function, do the following:
--->
+            <classname>Zend_Mail</classname> предоставляет обобщенный
+            функционал для формирования и отправки как текстовых, так и
+            <acronym>MIME</acronym>-сообщений электронной почты.
+            Сообщения могут отправляться через
+            <classname>Zend_Mail_Transport_Sendmail</classname>
+            (используется по умолчанию) или через
+            <classname>Zend_Mail_Transport_Smtp</classname>.
         </para>
-        <programlisting language="php"><![CDATA[<?php
-require_once 'Zend/Mail.php';
+    
+        <example id="zend.mail.introduction.example-1">
+    
+            <title>Простое сообщение электронной почты</title>
+    
+            <para>
+                Простое сообщение электронной почты состоит из нескольких
+                получателей, заголовка сообщения, тела сообщения и отправителя.
+                Чтобы отправить такое сообщение, используя
+                <classname>Zend_Mail_Transport_Sendmail</classname>,
+                сделайте следующее:
+            </para>
+    
+            <programlisting language="php"><![CDATA[
 $mail = new Zend_Mail();
 $mail->setBodyText('This is the text of the mail.');
 $mail->setFrom('somebody@example.com', 'Some Sender');
 $mail->addTo('somebody_else@example.com', 'Some Recipient');
 $mail->setSubject('TestSubject');
 $mail->send();
-?>]]>   </programlisting>
-    </example>
-    <note>
-        <title>Минимально необходимые определения<!--Minimum definitions--></title>
+]]></programlisting>
+
+        </example>
+    
+        <note>
+            <title>Минимально необходимые определения</title>
+            <para>
+                Для того, чтобы отправить сообщение через
+                <classname>Zend_Mail</classname>, вы должны
+                указать как минимум одного получателя, отправителя (например,
+                с помощью <methodname>setFrom()</methodname>) и тело сообщения
+                (текстовое и/или в формате HTML).
+            </para>
+        </note>
+    
         <para>
-            Чтобы отправить сообщение с помощью <code>Zend_Mail</code>, вы должны
-            указать как минимум одного получателя, отправителя (например, с помощью
-            <code>setFrom()</code>), и текст сообщения (текстовое и/или в формате HTML).
-<!--
-            In order to send an e-mail with <code>Zend_Mail</code> you have to specify at least one recipient, a
-            sender (e.g., with <code>setFrom()</code>), and a message body (text and/or HTML).
--->
+            Для большинства атрибутов сообщений электронной почты есть методы
+            "get" для чтения информации, сохраненной в объекте сообщения.
+            За более подробной информацией обратитесь к
+            <acronym>API</acronym>-документации. К примеру, метод
+            <methodname>getRecipients()</methodname> возвращает массив с
+            адресами электронной почты получателей, в порядке их добавления.
         </para>
-    </note>
-    <para>
-        Для большинства атрибутов сообщений электронной почты есть методы
-        "get" для чтения информации, сохраненной в объекте сообщения.
-        За более подробной информацией, пожалуйста, обратитесь к документации
-        по API. Особым является метод <code>getRecipients()</code>.
-        Он возвращает массив с адресами электронной почты получателей,
-        в порядке их добавления.
-<!--
-        For most mail attributes there are "get" methods to read the information stored in the mail object. For
-        further details, please refer to the API documentation. A special one is <code>getRecipients()</code>.
-        It returns an array with all recipient e-mail addresses that were added prior to the method call.
--->
-    </para>
-    <para>
-        В целях безопасности <code>Zend_Mail</code> фильтрует все содержимое заголовков
-        для предотвращения инъекций в заголовки с использованием символов новой
-        строки (<code>\n</code>).
-<!--
-        For security reasons, <code>Zend_Mail</code> filters all header fields to prevent header injection with
-        newline (<code>\n</code>) characters.
--->
-    </para>
+
+        <para>
+            В целях безопасности <classname>Zend_Mail</classname> фильтрует все
+            содержимое заголовков для предотвращения инъекций в заголовки с
+            использованием символов новой строки (<code>\n</code>).
+            В имени отправителя и именах получателей двойные кавычки заменяются
+            на одинарные, а угловые скобки на квадратные. Если эти символы
+            находятся в адресах электронной почты, то они удаляются.
+        </para>
+
+    </sect2>
+        
+    <sect2 id="zend.mail.introduction.sendmail">
+
+        <title>Конфигурирование транспорта, используемого по умолчанию</title>
+
+        <para>
+            Для экземпляра <classname>Zend_Mail</classname> по умолчанию
+            используется <classname>Zend_Mail_Transport_Sendmail</classname>.
+            По существу он является оберткой к <acronym>PHP</acronym>-функции
+            <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>.
+            Если вы хотите передавать функции
+            <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>
+            дополнительные параметры, то просто создайте новый экземпляр
+            транспорта и передайте свои параметры его конструктору.
+            После этого новый экземпляр транспорта может выступать как
+            используемый по умолчанию транспорт для
+            <classname>Zend_Mail</classname>, либо он может быть передан
+            методу <methodname>send()</methodname> класса
+            <classname>Zend_Mail</classname>.
+        </para>
+
+        <example id="zend.mail.introduction.sendmail.example-1">
+
+            <title>Передача дополнительных параметров транспорту Zend_Mail_Transport_Sendmail</title>
+
+            <para>
+                Этот пример демонстрирует, как изменить заголовок Return-Path
+                для функции <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>.
+            </para>
+
+            <programlisting language="php"><![CDATA[
+$tr = new Zend_Mail_Transport_Sendmail('-freturn_to_me@example.com');
+Zend_Mail::setDefaultTransport($tr);
+
+$mail = new Zend_Mail();
+$mail->setBodyText('This is the text of the mail.');
+$mail->setFrom('somebody@example.com', 'Some Sender');
+$mail->addTo('somebody_else@example.com', 'Some Recipient');
+$mail->setSubject('TestSubject');
+$mail->send();
+]]></programlisting>
+
+        </example>
+
+        <note>
+            <title>Ограничения безопасного режима</title>
+            <para>
+                Применение дополнительных параметров приведет к отказу в
+                выполнении функции
+                <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>,
+                если <acronym>PHP</acronym> работает в безопасном режиме
+                (safe mode).
+            </para>
+        </note>
+
+    </sect2>
+        
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 71 - 36
documentation/manual/ru/module_specs/Zend_Mail-MultipleEmails.xml

@@ -1,45 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <sect1 id="zend.mail.multiple-emails">
-    <title>
-        Отправка нескольких сообщений за одно соединение SMTP
-<!--
-        Sending Multiple Mails per SMTP Connection
--->
-    </title>
+    <title>Отправка нескольких сообщений за одно SMTP-соединение</title>
+
     <para>
-        По умолчанию соединение SMTP устанавливается для каждого отправляемого
-        сообщения электронной почты. Если вы хотите отправить несколько сообщений
-        за одно соединение, вы можете вызывать <code>connect()</code> сами.
-        Если соединение уже установлено перед вызовом <code>send()</code>,
-        оно будет использоваться и не будет закрыто.
-<!--
-        By default, an SMTP connection is established for every e-mail that is sent. If you want to send
-        multiple e-mails through one SMTP connection, you can handle the <code>connect()</code> yourself. If the
-        transport has already established a connection before <code>send()</code> is called, it will be used
-        and will not be closed:
--->
+        По умолчанию один SMTP-транспорт создает одно соединение и повторно
+        использует его за все время выполнения скрипта. Вы можете отправлять
+        несколько сообщений через это SMTP-соединение.
+        До каждой отправки передается команда RSET для получения подтверждения
+        связи.
     </para>
-    <example>
-        <title>
-            Отправка нескольких сообщений за одно соединение SMTP
-<!--
-            Sending Multiple Mails per SMTP Connection
--->
-        </title>
+    <example id="zend.mail.multiple-emails.example-1">
+
+        <title>Отправка нескольких сообщений за одно SMTP-соединение</title>
+
+        <programlisting language="php"><![CDATA[
+// Создание транспорта
+$transport = new Zend_Mail_Transport_Smtp('localhost');
+
+// Цикл с отправкой сообщений
+for ($i = 0; $i > 5; $i++) {
+    $mail = new Zend_Mail();
+    $mail->addTo('studio@peptolab.com', 'Test');
+    $mail->setFrom('studio@peptolab.com', 'Test');
+    $mail->setSubject(
+        'Demonstration - Sending Multiple Mails per SMTP Connection'
+    );
+    $mail->setBodyText('...Your message here...');
+    $mail->send($transport);
+}
+]]></programlisting>
+
+    </example>
+
+    <para>
+        Если вы хотите создавать отдельное соединение для каждой отправки
+        сообщения, то вам нужно создавать и уничтожать объект транспорта до и
+        после каждого вызова метода <methodname>send()</methodname>.
+        Либо вы можете управлять соединением между отправками, используя
+        объект протокола транспорта.
+    </para>
+
+    <example id="zend.mail.multiple-emails.example-2">
+
+        <title>Управление транспортным соединением вручную</title>
+
         <programlisting language="php"><![CDATA[
-<?php
-require_once 'Zend/Mail.php';
-$mail = new Zend_Mail();
-// формирование сообщения...
-require_once 'Zend/Mail/Transport/Smtp.php';
-$tr = new Zend_Mail_Transport_Smtp('mail.example.com');
-Zend_Mail::setDefaultTransport($tr);
-$tr->connect();
-for ($i = 0; $i < 5; $i++) {
-$mail->send();
+// Создание транспорта
+$transport = new Zend_Mail_Transport_Smtp();
+
+$protocol = new Zend_Mail_Protocol_Smtp('localhost');
+$protocol->connect();
+$protocol->helo('localhost');
+
+$transport->setConnection($protocol);
+
+// Цикл с отправкой сообщений
+for ($i = 0; $i > 5; $i++) {
+    $mail = new Zend_Mail();
+    $mail->addTo('studio@peptolab.com', 'Test');
+    $mail->setFrom('studio@peptolab.com', 'Test');
+    $mail->setSubject(
+        'Demonstration - Sending Multiple Mails per SMTP Connection'
+    );
+    $mail->setBodyText('...Your message here...');
+
+    // Управление соединением вручную
+    $protocol->rset();
+    $mail->send($transport);
 }
-$tr->disconnect();
-?>]]>   </programlisting>
+
+$protocol->quit();
+$protocol->disconnect();
+]]></programlisting>
+
     </example>
+
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 20 - 40
documentation/manual/ru/module_specs/Zend_Mail-Sending.xml

@@ -1,52 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.mail.sending">
-    <title>
-        Отправка через SMTP
-<!--
-        Sending via SMTP
--->
-    </title>
+    <title>Отправка через SMTP</title>
     <para>
-        Чтобы отправить сообщение электронной почты через SMTP,
-        нужно создать и зарегистрировать объект <code>Zend_Mail_Transport_Smtp</code>,
-        прежде чем будет вызван метод <code>send()</code>. Для всех последующих
-        вызовов <code>Zend_Mail::send()</code> в текущем скрипте будет
-        использоваться SMTP:
-<!--
-        To send mail via SMTP, <code>Zend_Mail_Transport_Smtp</code> needs to be created and registered with
-        <code>Zend_Mail</code> before the <code>send()</code> method is called. For all remaining
-        <code>Zend_Mail::send()</code> calls in the current script, the SMTP transport will then be used:
--->
+        Если требуется отправить сообщение электронной почты через SMTP,
+        то прежде чем будет вызван метод <methodname>send()</methodname>,
+        нужно создать и зарегистрировать в <classname>Zend_Mail</classname>
+        объект <classname>Zend_Mail_Transport_Smtp</classname>.
+        Для всех последующих вызовов <methodname>Zend_Mail::send()</methodname>
+        в текущем скрипте будет использоваться SMTP:
     </para>
-    <example>
-        <title>
-            Отправка сообщений через SMTP
-<!--
-            Sending E-Mail via SMTP
--->
-        </title>
-        <programlisting language="php"><![CDATA[<?php
-require_once 'Zend/Mail/Transport/Smtp.php';
+    <example id="zend.mail.sending.example-1">
+        <title>Отправка сообщений через SMTP</title>
+        <programlisting language="php"><![CDATA[
 $tr = new Zend_Mail_Transport_Smtp('mail.example.com');
 Zend_Mail::setDefaultTransport($tr);
-?>]]>   </programlisting>
+]]></programlisting>
     </example>
     <para>
-        Метод <code>setDefaultTransport()</code> и конструктор
-        <code>Zend_Mail_Transport_Smtp</code> не являются ресурсоемкими. Эти две
-        строки кода могут быть выполнены во время подготовки (т.е. в файле config.inc
-        или подобном), чтобы сконфигурировать поведение класса <code>Zend_Mail</code>
-        для остальной части скрипта. Это позволит держать конфигурационные данные
+        Метод <methodname>setDefaultTransport()</methodname> и конструктор
+        <classname>Zend_Mail_Transport_Smtp</classname> не требуют большого
+        количества ресурсов при выполнении. Эти две строки кода могут быть
+        выполнены во время подготовки с тем, чтобы сконфигурировать
+        поведение класса <classname>Zend_Mail</classname> для остальной
+        части скрипта. Это позволяет хранить конфигурационные данные
         отдельно от логики приложения — отправляется ли почта через SMTP или
-        <ulink url="http://php.net/mail"><code>mail()</code></ulink>,
+        <ulink url="http://php.net/mail"><methodname>mail()</methodname></ulink>,
         какой почтовый сервер используется и т.д.
-<!--
-        The <code>setDefaultTransport()</code> method and the constructor of
-        <code>Zend_Mail_Transport_Smtp</code> are not expensive. These two lines can be processed at script
-        setup time (e.g., config.inc or similar) to configure the behaviour of the <code>Zend_Mail</code> class
-        for the rest of the script. This keeps configuration information out of the application logic - whether
-        mail is sent via SMTP or <ulink url="http://php.net/mail"><code>mail()</code></ulink>, what mail server
-        to use, etc.
--->
     </para>
 </sect1>
 <!--

+ 41 - 11
documentation/manual/ru/module_specs/Zend_Mail-SmtpAuthentication.xml

@@ -1,17 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.mail.smtp-authentication">
-    <title>
-        SMTP-аутентификация
-<!--
-        SMTP Authentication
--->
-    </title>
+    <title>SMTP-аутентификация</title>
+
     <para>
-        Различные методы для SMTP-аутентификации могут быть добавлены позднее,
-        но на данный момент SMTP-аутентификация не поддерживается.
-<!--
-        Various SMTP authentication methods may be added later but are currently unsupported.
--->
+        <classname>Zend_Mail</classname> поддерживает использование
+        SMTP-аутентификации, которая может быть включена путем передачи
+        параметра 'auth' в конфигурационном массиве конструктору
+        <classname>Zend_Mail_Transport_Smtp</classname>.
+        Доступные встроенные методы аутентификации - PLAIN, LOGIN и CRAM-MD5,
+        все они ожидают передачи значений 'username' и 'password' в
+        конфигурационном массиве.
     </para>
+
+    <example id="zend.mail.smtp-authentication.example-1">
+        <title>Включение аутентификации в Zend_Mail_Transport_Smtp</title>
+
+        <programlisting language="php"><![CDATA[
+$config = array('auth' => 'login',
+                'username' => 'myusername',
+                'password' => 'password');
+
+$transport = new Zend_Mail_Transport_Smtp('mail.server.com', $config);
+
+$mail = new Zend_Mail();
+$mail->setBodyText('This is the text of the mail.');
+$mail->setFrom('sender@test.com', 'Some Sender');
+$mail->addTo('recipient@test.com', 'Some Recipient');
+$mail->setSubject('TestSubject');
+$mail->send($transport);
+]]></programlisting>
+    </example>
+
+    <note>
+        <title>Типы аутентификации</title>
+
+        <para>
+            Тип аутентификации является регистронезависимым, но не должен
+            включать пунктуацию. Например, для того, чтобы использовать
+            CRAM-MD5, передавайте 'auth' => 'crammd5' конструктору
+            <classname>Zend_Mail_Transport_Smtp</classname>.
+        </para>
+    </note>
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 36 - 0
documentation/manual/ru/module_specs/Zend_Mail-StmpSecure.xml

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
+<sect1 id="zend.mail.smtp-secure">
+    <title>Защищенное SMTP-соединение</title>
+
+    <para>
+        <classname>Zend_Mail</classname> также поддерживает использование
+        <acronym>TLS</acronym> или <acronym>SSL</acronym> для защиты
+        SMTP-соединения. Защита может быть включена путем передачи параметра
+        'ssl' со значениями 'ssl' или 'tls' в конфигурационном массиве
+        конструктору <classname>Zend_Mail_Transport_Smtp</classname>.
+        Опционально может быть передан порт, по умолчанию это будет 25 для
+        <acronym>TLS</acronym> или 465 для <acronym>SSL</acronym>.
+    </para>
+
+    <example id="zend.mail.smtp-secure.example-1">
+        <title>Включение защищенного соединения через Zend_Mail_Transport_Smtp</title>
+
+        <programlisting language="php"><![CDATA[
+$config = array('ssl' => 'tls',
+                'port' => 25);
+
+$transport = new Zend_Mail_Transport_Smtp('mail.server.com', $config);
+
+$mail = new Zend_Mail();
+$mail->setBodyText('This is the text of the mail.');
+$mail->setFrom('sender@test.com', 'Some Sender');
+$mail->addTo('recipient@test.com', 'Some Recipient');
+$mail->setSubject('TestSubject');
+$mail->send($transport);
+]]></programlisting>
+  </example>
+</sect1>
+<!--
+vim:se ts=4 sw=4 et:
+-->