<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.intl.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'class.messageformatter.php',
    1 => 'MessageFormatter',
    2 => 'La classe MessageFormatter',
  ),
  'up' => 
  array (
    0 => 'book.intl.php',
    1 => 'intl',
  ),
  'prev' => 
  array (
    0 => 'normalizer.normalize.php',
    1 => 'Normalizer::normalize',
  ),
  'next' => 
  array (
    0 => 'messageformatter.create.php',
    1 => 'MessageFormatter::create',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/intl/messageformatter.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.messageformatter.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.messageformatter" class="reference">
 <h1 class="title">La classe MessageFormatter</h1>
 

 <div class="partintro"><p class="verinfo">(PHP 5 &gt;= 5.3.0, PHP 7, PHP 8, PECL intl &gt;= 1.0.0)</p>

  
  <div class="section" id="messageformatter.intro">
   <h2 class="title">Introduction</h2>
   <p class="simpara">
    <span class="classname"><strong class="classname">MessageFormatter</strong></span> est une classe concrète qui permet
    de produire des messages concaténés, et indépendants de la langue. Les méthodes
    fournies dans cette classe sont utilisées pour construire des messages qui
    sont destinés aux utilisateurs finaux.
   </p>
   <p class="simpara">
    La classe <span class="classname"><strong class="classname">MessageFormatter</strong></span> assemble les messages à partir
    de différents fragments (textes, nombres et dates), fournis par le programme.
    Grâce à la classe <span class="classname"><strong class="classname">MessageFormatter</strong></span>, le programme
    n&#039;a pas besoin de connaître l&#039;ordre des fragments. La classe utilise des 
    spécifications de formatage pour assembler les fragments en un seul message.
    Par exemple, <span class="classname"><strong class="classname">MessageFormatter</strong></span> permet d&#039;afficher
    la phrase <code class="literal">&quot;Fini d&#039;imprimer x fichier sur y...&quot;</code> d&#039;une 
    manière qui reste souple pour la traduction.
   </p>
   <p class="simpara">
    Avant, un message était créé sous forme de phrase, et géré comme une chaîne.
    Cette procédure créait des problèmes pour les traductions, car la structure
    de la phrase, l&#039;ordre des mots, le format des nombres, etc. sont très différents
    d&#039;une langue à l&#039;autre. L&#039;approche de création des messages, 
    indépendante de la langue, permet de séparer le message et les variables. 
    Avec ces variables, <span class="classname"><strong class="classname">MessageFormatter</strong></span> peut concaténer
    les différentes parties du message, les formater aux conventions correctes,
    et fournir un message bien formé. 
   </p>
   <p class="simpara">
    <span class="classname"><strong class="classname">MessageFormatter</strong></span> prend une série d&#039;objets, formate 
    les textes, et les insère dans les chaînes formatées dans les emplacements
    corrects. Un grand choix de formats peut être utilisé en conjonction avec
    <span class="classname"><strong class="classname">MessageFormatter</strong></span> pour gérer le pluriel, les nombres,
    etc. Typiquement, le message est fourni par une ressource, et les arguments
    sont préparés dynamiquement.
   </p>
  </div>
  

  <div class="section" id="messageformatter.synopsis">
   <h2 class="title">Synopsis de la classe</h2>

   
   <div class="classsynopsis"><div class="classsynopsisinfo">
    
     <span class="modifier">class</span> <strong class="classname"><strong class="classname">MessageFormatter</strong></strong>
     {</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Méthodes */</div>
    <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><a href="messageformatter.create.php" class="methodname">__construct</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$locale</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$pattern</code></span>)</div>

    <div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="modifier">static</span> <span class="methodname"><a href="messageformatter.create.php" class="methodname">create</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$locale</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$pattern</code></span>): <span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="class.messageformatter.php" class="type MessageFormatter">MessageFormatter</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="messageformatter.format.php" class="methodname">format</a></span>(<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$values</code></span>): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="modifier">static</span> <span class="methodname"><a href="messageformatter.formatmessage.php" class="methodname">formatMessage</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$locale</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$pattern</code></span>, <span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$values</code></span>): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="messageformatter.geterrorcode.php" class="methodname">getErrorCode</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="messageformatter.geterrormessage.php" class="methodname">getErrorMessage</a></span>(): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="messageformatter.getlocale.php" class="methodname">getLocale</a></span>(): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="messageformatter.getpattern.php" class="methodname">getPattern</a></span>(): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="messageformatter.parse.php" class="methodname">parse</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string</code></span>): <span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="modifier">static</span> <span class="methodname"><a href="messageformatter.parsemessage.php" class="methodname">parseMessage</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$locale</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$pattern</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$message</code></span>): <span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="messageformatter.setpattern.php" class="methodname">setPattern</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$pattern</code></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

   }</div>
   

  </div>

  <div class="section" id="messageformatter.seealso">
   <h2 class="title">Voir aussi</h2>
   <p class="para">
    <ul class="simplelist">
     <li>
      <a href="https://unicode-org.github.io/icu/userguide/format_parse/" class="link external">&raquo;&nbsp;
       ICU formatting documentation
      </a>
     </li>
     <li>
      <a href="https://unicode-org.github.io/icu/userguide/format_parse/messages/" class="link external">&raquo;&nbsp;
       ICU message formatting description
      </a>
     </li>
     <li>
      <a href="https://unicode-org.github.io/icu/userguide/format_parse/messages/" class="link external">&raquo;&nbsp;ICU message formatters</a>
     </li>
     <li>
      <a href="https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classChoiceFormat.html" class="link external">&raquo;&nbsp;ICU choice formatters</a>
     </li>
    </ul>
   </p>
  </div>
 </div>

 





























































<h2>Sommaire</h2><ul class="chunklist chunklist_reference"><li><a href="messageformatter.create.php">MessageFormatter::create</a> — Construit un nouveau formateur de messages</li><li><a href="messageformatter.format.php">MessageFormatter::format</a> — Formate un message</li><li><a href="messageformatter.formatmessage.php">MessageFormatter::formatMessage</a> — Formate rapidement un message</li><li><a href="messageformatter.geterrorcode.php">MessageFormatter::getErrorCode</a> — Lit le dernier code d'erreur de la derni&egrave;re op&eacute;ration</li><li><a href="messageformatter.geterrormessage.php">MessageFormatter::getErrorMessage</a> — Lit le message d'erreur de la derni&egrave;re op&eacute;ration</li><li><a href="messageformatter.getlocale.php">MessageFormatter::getLocale</a> — Lit la locale avec laquelle le formateur a &eacute;t&eacute; cr&eacute;&eacute;</li><li><a href="messageformatter.getpattern.php">MessageFormatter::getPattern</a> — Lit le mod&egrave;le utilis&eacute; par le formateur de messages</li><li><a href="messageformatter.parse.php">MessageFormatter::parse</a> — Analyse une cha&icirc;ne en fonction du mod&egrave;le</li><li><a href="messageformatter.parsemessage.php">MessageFormatter::parseMessage</a> — Analyse rapidement une cha&icirc;ne</li><li><a href="messageformatter.setpattern.php">MessageFormatter::setPattern</a> — Configure le mod&egrave;le utilis&eacute; par le formateur</li></ul>
</div>
<?php manual_footer($setup); ?>