1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-23 23:32:16 +01:00
Files
archived-doc-ru/reference/intl/messageformatter.xml
2024-06-14 17:02:33 +01:00

118 lines
5.6 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 14767af0f05dffa6fdb9b49e1a1f4e9ca7022a60 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<reference xml:id="class.messageformatter" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Класс MessageFormatter</title>
<titleabbrev>MessageFormatter</titleabbrev>
<partintro>
<!-- {{{ MessageFormatter intro -->
<section xml:id="messageformatter.intro">
&reftitle.intro;
<simpara>
MessageFormatter - это класс, позволяющий создавать склеиваемые,
независимые от языка сообщения. Методы этого класса используются для
создания всех сообщений, показываемых пользователю.
</simpara>
<simpara>
Класс MessageFormatter собирает сообщение из разных фрагментов
(таких как текст, числа и даты), поставляемых программой. Данный класс
позволяет программе не задумываться о том, в каком порядке эти фрагменты надо склеивать.
Класс использует спецификации форматирования для сборки этих фрагментов
в сообщение, хранящееся в виде одной строки в хранилище ресурсов.
К примеру, MessageFormatter позволит напечатать фразу
"Finished printing x out of y files..." таким образом, чтобы обеспечить
гибкость перевода.
</simpara>
<simpara>
Ранее сообщение для конечного пользователя создавалось как законченная
фраза и обрабатывалась как строка. Такая процедура приводила к проблемам
локализации, поскольку структура фразы, порядок слов, формат чисел и прочее
сильно отличались в разных языках. Нейтральная к языку процедура создания
сообщений держит каждую часть сообщения отдельно и предоставляет ключи к данным.
Используя эти ключи, класс MessageFormatter может склеивать части сообщения,
преобразовывать их в соответствии с локалью и отображать в виде грамотного сообщения
конечному пользователю.
</simpara>
<simpara>
MessageFormatter берет набор объектов, форматирует их и вставляет
в шаблон в нужных местах. Совместно с MessageFormatter полезно использовать
средства форматирования выбора (choice formatter) для обработки
множественного/единственного числа, сравнения чисел и выбора из массива элементов.
Обычно формат сообщения берётся из ресурсов, а аргументы передаются во
время выполнения.
</simpara>
</section>
<!-- }}} -->
<section xml:id="messageformatter.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis class="class">
<ooclass>
<classname>MessageFormatter</classname>
</ooclass>
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.messageformatter')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[@role='MessageFormatter'])">
<xi:fallback/>
</xi:include>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.messageformatter')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[@role='MessageFormatter'])">
<xi:fallback/>
</xi:include>
</classsynopsis>
<!-- }}} -->
</section>
<section xml:id="messageformatter.seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>
<link xlink:href="&url.icu.formatparse;">
ICU. Документация по форматированию.
</link>
</member>
<member>
<link xlink:href="&url.icu.formatmsg;">
ICU. Описание форматирования сообщений.
</link>
</member>
<member>
<link xlink:href="&url.icu.msgformat;">ICU. Средства форматирования сообщений</link>
</member>
<member>
<link xlink:href="&url.icu.choiceformat;">ICU. Средства форматирования выбора</link>
</member>
</simplelist>
</para>
</section>
</partintro>
&reference.intl.entities.messageformatter;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->