<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.currency.description">
    <title>Qu'est ce qui définit une monnaie?</title>

    <para>
        Une monnaie consiste en plusieurs informations. Un nom, une abbréviation et un signe.
        Chacune de ces informations n'est pertinente à l'affichage que si elle est seule, par
        exemple il est un peu idiot d'écrire "USD 1.000 $" ou "EUR 1.000 €"
    </para>

    <para>
        De ce fait,<classname>Zend_Currency</classname> garde en mémoire l'information pertinente pour
        la monnaie  en cours à l'affichage. Les constantes suivantes sont utilisées:
    </para>

    <table id="zend.currency.description.table-1">
        <title>Informations rendues pour une monnaie</title>

        <tgroup cols="2" align="left">
            <thead>
                <row>
                    <entry>Constante</entry>
                    <entry>Description</entry>
                </row>
            </thead>

            <tbody>
                <row>
                    <entry><constant>NO_SYMBOL</constant></entry>
                    <entry>Aucun symbole de représentation de la monnaie</entry>
                </row>

                <row>
                    <entry><constant>USE_SYMBOL</constant></entry>

                    <entry>
                        Le symbole de la monnaie sera rendu. Pour l'Euro : '€'
                    </entry>
                </row>

                <row>
                    <entry><constant>USE_SHORTNAME</constant></entry>

                    <entry>
                        L'abbréviation sera utilisée pour le rendu visuel. L'Euro aura 'EUR' comme
                        abbréviation par exemple. La plupart des abbréviations tiennent sur 3 caractères.
                    </entry>
                </row>

                <row>
                    <entry><constant>USE_NAME</constant></entry>

                    <entry>
                        Le nom complet de la monnaie sera utilisé. Pour le dollar américain :
                        "US Dollar".
                    </entry>
                </row>
            </tbody>
        </tgroup>
    </table>

    <example id="zend.currency.description.example-1">
        <title>Sélectionner la description de la monnaie</title>

        <para>
            Imaginons que le client utilise la locale "en_US". Sans autre option, la valeur de monnaie
            retournée ressemblerait à ceci:
        </para>

        <programlisting language="php"><![CDATA[
$currency = new Zend_Currency(
    array(
        'value' => 100,
    )
);

print $currency; // Pourrait afficher '$ 100'
]]></programlisting>

        <para>
            En donnant des options vous précisez quelle information afficher.
        </para>

        <programlisting language="php"><![CDATA[
$currency = new Zend_Currency(
    array(
        'value'   => 100,
        'display' => Zend_Currency::USE_SHORTNAME,
    )
);

print $currency; // Pourrait retourner 'USD 100'
]]></programlisting>

        <para>
             Sans le paramètre <property>display</property>, le signe de la monnaie sera utilisé
            lors du rendu visuel. Si la monnaie n'a pas de signe, son abbréviation sera utilisée à la place.
        </para>
    </example>

    <note>
        <title>Toutes les monnaies n'ont pas de signe</title>

        <para>
            Toutes les monnaies ne possèdent pas forcément un signe. Ceci signifie que s'il n'y a pas
            de signe par défaut pour la monnaie, et que vous spécifiez manuellement de rendre un signe,
            alors le rendu de la monnaie sera nul car le signe serait alors une chaine vide.
        </para>
    </note>

    <para>
        Pour changer des options concernant les monnaies, voyez le paragraphe ci-après.
    </para>

    <example id="zend.currency.description.example-2">
        <title>Changer la description de la monnaie</title>

        <para>
            Imaginons que le client utilise la locale "en_US". Nous ne voulons pas des paramètres par défaut,
            mais nous voulons préciser manuellement notre propre description. Ceci s'applique au moyen
            d'une option simple:
        </para>

        <programlisting language="php"><![CDATA[
$currency = new Zend_Currency(
    array(
        'value' => 100,
        'name'  => 'Dollar',
    )
);

print $currency; // Retournerait 'Dollar 100'
]]></programlisting>

        <para>
            Vous pourriez aussi passer un signe et une abbréviation spécifiques.
        </para>

        <programlisting language="php"><![CDATA[
$currency = new Zend_Currency(
    array(
        'value'    => 100,
        'symbol' => '$$$',
    )
);

print $currency; // Retournerait '$$$ 100'
]]></programlisting>
    </example>

    <note>
        <title>Paramètres de rendu automatiques</title>

        <para>
            Lorsque vous précisez un nom, une abbréviation ou un signe, alors ces informations seront rendues
            automatiquement. Cette supposition simplifie les traitements car vous n'avez de ce fait pas à toucher
            à l'option <property>display</property>.
        </para>

        <para>
            Ainsi, utiliser l'option <property>sign</property> peut se faire en évitant de toucher à
            <property>display</property>, nul besoin de passer cette dernière à
            '<constant>USE_SYMBOL</constant>'.
        </para>
    </note>
</sect1>
