Browse Source

Added some french documentation

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@20427 44c647ce-9c0f-0410-b52a-842ac1e357ba
doctorrock83 16 years ago
parent
commit
5499f2786b

+ 192 - 0
documentation/manual/fr/module_specs/Zend_Cache-Cache_Manager.xml

@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20374 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.cache.cache.manager">
+    <title>Le gestionnaire de Cache</title>
+
+    <para>
+        Une application comporte par nature plusieurs caches de types différents fonctions du
+        contrôleur ou du model accédé. Afin de faciliter la création et la manipulation des caches
+        par exemple en bootstrap, <classname>Zend_Cache_Manager</classname> a été créee. Cette classe
+        est accompagnée de <classname>Zend_Application_Resource_Cachemanager</classname> pour tout ce qui
+        concerne le bootstrap et <classname>Zend_Controller_Action_Helper_Cache</classname> afin d'accéder
+        aux caches depuis les contrôleurs et autres aides d'action.
+    </para>
+
+    <para>
+        Le gestionnaire de cache utilise des templates, ce sont en fait des ensembles de configurations
+        valides pour un cache. Ces templates s'enregistrent grâce à
+        <methodname>Zend_Cache_Manager::setCacheTemplate()</methodname> et ne donnent naissance à un objet de
+        cache que lorsque <methodname>Zend_Cache_Manager::getCache()</methodname> sera appelée.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$manager = new Zend_Cache_Manager;
+
+$dbCache = array(
+    'frontend' => array(
+        'name' => 'Core',
+        'options' => array(
+            'lifetime' => 7200,
+            'automatic_serialization' => true
+        )
+    ),
+    'backend' => array(
+        'name' => 'Core',
+        'options' => array(
+            'cache_dir' => '/path/to/cache'
+        )
+    )
+);
+
+$manager->setCacheTemplate('database', $dbCache);
+
+/**
+ * Partout ailleurs où le gestionnaire de cache est accessible...
+ */
+$databaseCache = $manager->getCache('database');
+]]></programlisting>
+
+    <para>
+        Le gestionnaire autorise aussi l'enregistrement d'objets de cache préalablement
+        crées, ceci grâce à la méthode <methodname>Zend_Cache_Manager::setCache()</methodname>.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$frontendOptions = array(
+   'lifetime' => 7200,
+   'automatic_serialization' => true
+);
+
+$backendOptions = array(
+    'cache_dir' => '/path/to/cache'
+);
+
+$dbCache = Zend_Cache::factory('Core',
+                             'File',
+                             $frontendOptions,
+                             $backendOptions);
+
+$manager = new Zend_Cache_Manager;
+$manager->setCache('database', $dbCache);
+
+/**
+ * Partout ailleurs où le gestionnaire de cache est accessible...
+ */
+$databaseCache = $manager->getCache('database');
+]]></programlisting>
+
+    <para>
+        Si vous n'êtes pas sûr si le gestionnaire possède en lui un template de configuration
+        ou un objet de cache déja enregistré, vérifiez celà grâce à
+        <methodname>Zend_Cache_Manager::hasCache()</methodname>.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$manager = new Zend_Cache_Manager;
+
+$dbCache = array(
+    'frontend' => array(
+        'name' => 'Core',
+        'options' => array(
+            'lifetime' => 7200,
+            'automatic_serialization' => true
+        )
+    ),
+    'backend' => array(
+        'name' => 'Core',
+        'options' => array(
+            'cache_dir' => '/path/to/cache'
+        )
+    )
+);
+
+$manager->setCacheTemplate('database', $dbCache);
+
+/**
+ * Partout ailleurs où le gestionnaire de cache est accessible...
+ */
+if ($manager->hasCache('database')) {
+    $databaseCache = $manager->getCache('database');
+} else {
+    // Créer un cache à la main puisque non trouvé dans le gestionnaire
+}
+]]></programlisting>
+
+    <para>
+        Il est possible de modifier la configuration d'un template de cache après l'avoir saisie,
+        ceci au moyen de <methodname>Zend_Cache_Manager::setTemplateOptions()</methodname>.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$manager = new Zend_Cache_Manager;
+
+$dbCache = array(
+    'frontend' => array(
+        'name' => 'Core',
+        'options' => array(
+            'lifetime' => 7200,
+            'automatic_serialization' => true
+        )
+    ),
+    'backend' => array(
+        'name' => 'Core',
+        'options' => array(
+            'cache_dir' => '/path/to/cache'
+        )
+    )
+);
+
+$manager->setCacheTemplate('database', $dbCache);
+
+/**
+ * Partout ailleurs où le gestionnaire de cache est accessible...
+ * Ici nous changeons le support de stockage vers Memcache plutôt que ce
+ * qu'il était avant : File.
+ */
+$fineTuning = array(
+    'backend' => array(
+        'name' => 'Memcached',
+        'options' => array(
+            'servers' => array(
+                array(
+                    'host' => 'localhost',
+                    'port' => 11211,
+                    'persistent' => true,
+                    'weight' => 1,
+                    'timeout' => 5,
+                    'retry_interval' => 15,
+                    'status' => true,
+                    'failure_callback' => ''
+                )
+            )
+        )
+    )
+);
+$manager->setTemplateOptions('database', $fineTuning);
+$databaseCache = $manager->getCache('database');
+]]></programlisting>
+
+    <para>
+        Pour rendre le gestionnaire de cache plus utile, il est accompagné de
+        <classname>Zend_Application_Resource_Cachemanager</classname> et
+        <classname>Zend_Controller_Action_Helper_Cache</classname>. Toutes deux sont décrites
+        dans leurs pages respectives de la documentation.
+    </para>
+
+    <para>
+        Aussi, <classname>Zend_Cache_Manager</classname> inclut déja quatre templates prédéfinis
+        "skeleton", "default", "page" et "tagcache". Le cache "default" utilise des fichiers comme stockage
+        et un Core comme frontend, il s'attend à posséder un dossier cache_dir appelé "cache" au même niveau
+        que le dossier normalisé "public" dans une application Zend Framework.
+        Le cache "skeleton" est un cache <constant>NULL</constant>, il ne comporte pas d'options.
+        Les 2 autres caches sont utilisés avec des pages statiques dans lesquelles du
+        <acronym>HTML</acronym>, <acronym>XML</acronym> ou encore <acronym>JSON</acronym>
+        peut être stocké dans des fichiers statiques dans <filename>/public</filename>.
+        Le contrôle sur les pages statiques est assuré par
+        <classname>Zend_Controller_Action_Helper_Cache</classname>, même si vous pouvez changer les options
+        "page", "tagcache" (par exemple) en utilisant
+        <methodname>Zend_Cache_Manager::setTemplateOptions()</methodname> ou même
+        <methodname>Zend_Cache_Manager::setCacheTemplate()</methodname>.
+    </para>
+</sect1>

+ 133 - 0
documentation/manual/fr/module_specs/Zend_Currency-Additional.xml

@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20374 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.additional">
+    <title>Informations complémentaires pour Zend_Currency</title>
+
+    <sect2 id="zend.currency.additional.informations">
+        <title>Informations sur les monnaies</title>
+
+        <para>
+            Il peut être utilie de récupérer des données concernant une monnaie.
+            <classname>Zend_Currency</classname> propose différentes méthodes dans ce but dont voici une
+            liste:
+        </para>
+
+        <itemizedlist mark='opencircle'>
+            <listitem>
+                <para>
+                    <emphasis><methodname>getCurrencyList()</methodname></emphasis>: Retourne un tableau listant
+                    toutes les monnaies utilisées dans une région donnée. La locale par défaut est utilisée si aucune
+                    information de région n'est fournie.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getLocale()</methodname></emphasis>: Retourne la locale utilisée actuellement
+                    pour la monnaie.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getName()</methodname></emphasis>: Retourne le nom complet de la monnaie
+                    actuelle. Si aucun nom complet n'est trouvé, l'abbréviation sera retournée.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getRegionList()</methodname></emphasis>: Retourne un tableau de toutes les
+                    régions où est utilisée la monnaie actuelle. Toutes les régions sont listées si aucune monnaie n'a
+                    été donnée.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getService()</methodname></emphasis>: Retourne l'objet de service d'échange
+                    de la monnaie courante.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getShortName()</methodname></emphasis>: Retourne l'abbréviation de la monnaie
+                    courante.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getSymbol()</methodname></emphasis>: Retourne le symbole de la monnaie. Si aucun
+                    symbole n'existe, l'abbréviation de la monnaie sera retournée.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getValue()</methodname></emphasis>: Retourne la valeur affectée à la monnaie en cours.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Voyons quelques exemples:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency();
+
+var_dump($currency->getValue());
+// retourne 0
+
+var_dump($currency->getRegionList());
+// retourne un tableau représentant toutes les régions dans lesquelles USD est utilisé
+
+var_dump($currency->getRegionList('EUR'));
+// retourne un tableau avec toutes les régions utilisant l'EUR
+
+var_dump($currency->getName());
+// pourrait retourner 'US Dollar'
+
+var_dump($currency->getName('EUR'));
+// Retourne 'Euro'
+]]></programlisting>
+
+        <para>
+            Comme vous le voyez, beaucoup de méthodes prennent des paramètres supplémentaires pour surcharger
+            l'objet actuel et le faire travailler sur une autre monnaie que celle stockée en interne.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.currency.additional.cache">
+        <title>Optimisation des performances des monnaies</title>
+
+        <para>
+            Les performances de <classname>Zend_Currency</classname> peuvent être optimisées au moyen de
+            <classname>Zend_Cache</classname>. La méthode statique
+            <methodname>Zend_Currency::setCache($cache)</methodname> prend une options : un adaptateur
+            <classname>Zend_Cache</classname>. S'il est utilisé, les données de localisation utilisées au
+            sein de <classname>Zend_Currency</classname> seront mises en cache. Aussi, il y a des méthodes
+            statiques pour manipuler le cache :
+            <methodname>getCache()</methodname>, <methodname>hasCache()</methodname>,
+            <methodname>clearCache()</methodname> et <methodname>removeCache()</methodname>.
+        </para>
+
+        <example id="zend.currency.usage.cache.example">
+            <title>Mettre les monnaies en cache</title>
+
+            <programlisting language="php"><![CDATA[
+// Création d'un objet de cache
+$cache = Zend_Cache::factory('Core',
+                             'File',
+                             array('lifetime' => 120,
+                                   'automatic_serialization' => true),
+                             array('cache_dir'
+                                       => dirname(__FILE__) . '/_files/'));
+Zend_Currency::setCache($cache);
+]]></programlisting>
+        </example>
+    </sect2>
+</sect1>

+ 120 - 0
documentation/manual/fr/module_specs/Zend_Currency-Calculation.xml

@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20374 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.calculation">
+    <title>Calculs avec les monnaies</title>
+
+    <para>
+        Il est possible en travaillant avec des monnaies, d'effectuer des calculs.
+        <classname>Zend_Currency</classname> permet d'effectuer de tels calculs très facilement.
+        Les méthodes suivantes sont supportées:
+    </para>
+
+    <itemizedlist mark='opencircle'>
+        <listitem>
+            <para>
+                <emphasis><methodname>add()</methodname></emphasis>: Ajoute la valeur de
+                la monnaie à celle actuellement stockée en mémoire dans l'objet
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>sub()</methodname></emphasis>: Soustrait la valeur de
+                la monnaie à celle actuellement stockée en mémoire dans l'objet
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>div()</methodname></emphasis>: Divise la valeur de
+                la monnaie à celle actuellement stockée en mémoire dans l'objet.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>mul()</methodname></emphasis>: Multiplie la valeur de
+                la monnaie à celle actuellement stockée en mémoire dans l'objet.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>mod()</methodname></emphasis>: Calcul le modulo de la valeur de
+                la monnaie à celle actuellement stockée en mémoire dans l'objet.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>compare()</methodname></emphasis>: Compare la valeur de
+                la monnaie à celle actuellement stockée en mémoire dans l'objet. Si les deux valeurs
+                sont égales, '0' est retourné. Si la monnaie actuelle est plus grande que celle fournie,
+                '1' sera retourné. Dans l'autre cas, '-1' sera retourné.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>equals()</methodname></emphasis>: Compare la valeur de
+                la monnaie à celle actuellement stockée en mémoire dans l'objet. Si les deux
+                valeurs sont égales, <constant>TRUE</constant> est retourné, 
+                <constant>FALSE</constant> sinon.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>isMore()</methodname></emphasis>: Compare la valeur de
+                la monnaie à celle actuellement stockée en mémoire dans l'objet. Si la monnaie
+                interne à l'objet est supérieure à la valeur passée, <constant>TRUE</constant>
+                est retourné, <constant>FALSE</constant> sinon.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>isLess()</methodname></emphasis>: Compare la valeur de
+                la monnaie à celle actuellement stockée en mémoire dans l'objet. Si la monnaie
+                interne à l'objet est inférieure à la valeur passée, <constant>TRUE</constant>
+                est retourné, <constant>FALSE</constant> sinon.
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <para>
+        Comme vous le voyez ces méthodes permettent n'importe quel calcul avec
+        <classname>Zend_Currency</classname>. Voici quelques exemples:
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD',
+    )
+);
+
+print $currency; // Pourrait retourner '$ 1.000,00'
+
+$currency->add(500);
+print $currency; // Pourrait retourner '$ 1.500,00'
+]]></programlisting>
+
+    <programlisting language="php"><![CDATA[
+$currency_2 = new Zend_Currency(
+    array(
+        'value'    => 500,
+        'currency' => 'USD',
+    )
+);
+
+if ($currency->isMore($currency_2)) {
+    print "First is more";
+}
+
+$currency->div(5);
+print $currency; // Pourrait retourner '$ 200,00'
+]]></programlisting>
+</sect1>

+ 168 - 0
documentation/manual/fr/module_specs/Zend_Currency-Description.xml

@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20374 -->
+<!-- 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>

+ 102 - 0
documentation/manual/fr/module_specs/Zend_Currency-Exchange.xml

@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20374 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.exchange">
+    <title>Echanger (convertir) des monnaies</title>
+
+    <para>
+        Dans la section précédente, nous avons parlé des calculs sur les monnaies. Mais comme vous pouvez imaginer,
+        calculer des monnaies peut vite mener à des calculs internationnaux (entre pays différents).
+    </para>
+
+    <para>
+        Dans un tel cas, les monnaies doivent être converties avec un taux. Les taux officiels sont conservés
+        par les banques ou encore les journaux. Dans le Web, des services de conversion existent.
+        <classname>Zend_Currency</classname> permet leur utilisation par fonction de rappel.
+    </para>
+
+    <para>
+        D'abord, écrivons un service de change simple.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+class SimpleExchange implements Zend_Currency_CurrencyInterface
+{
+    public function getRate($from, $to)
+    {
+        if ($from !== "USD") {
+            throw new Exception('On ne change que des USD');
+        }
+
+        switch ($to) {
+            case 'EUR':
+                return 0.5;
+            case 'JPE':
+                return 0.7;
+       }
+
+       throw new Exception('Impossible de changer vers $to');
+    }
+}
+]]></programlisting>
+
+    <para>
+        Nous venons de créer un service de change manuellement.
+    </para>
+
+    <para>
+        Votre classe de service de change doit implémenter
+        <classname>Zend_Currency_CurrencyInterface</classname>. Cette interface
+        définit une seule méthode <methodname>getRate()</methodname>, qui prend deux paramètres :
+        les noms courts des monnaies. <classname>Zend_Currency</classname> a besoin que le taux de change
+        soit retourné.
+    </para>
+
+    <para>
+        Dans un service réel, vous demanderiez au fournisseur les taux de change, dans notre exemple nous les
+        codons en dur.
+    </para>
+
+    <para>
+        Attachons maintenant notre classe avec <classname>Zend_Currency</classname>. Ceci se fait de deux manières
+        , soit en attachant l'objet ou en attachant le nom de sa classe.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD',
+    )
+);
+
+$service  = new SimpleExchange();
+
+// attachons le service de change
+$currency->setService($service);
+
+$currency_2 = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'EUR',
+    )
+);
+
+print $currency->add($currency2);
+]]></programlisting>
+
+    <para>
+        L'exemple ci-dessus retournera '$ 3.000' car 1.000 <acronym>EUR</acronym> seront convertis avec
+        un taux de 2 vers 2.000 <acronym>USD</acronym>.
+    </para>
+
+    <note>
+        <title>Calcul sans service de change</title>
+
+        <para>
+            Si vous tentez des calculs avec deux monnaies de types différents et qu'aucun service de change
+            n'a été précisé, une exception sera levée.<classname>Zend_Currency</classname> ne sait pas
+            nativement passer d'une monnaie à une autre.
+        </para>
+    </note>
+</sect1>

+ 113 - 0
documentation/manual/fr/module_specs/Zend_Currency-Number.xml

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20374 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.number">
+    <title>A quoi ressemble une monnaie?</title>
+
+    <para>
+        Le rendu visuel d'une monnaie va dépendre de la locale. La locale stocke plusieurs informations
+        qui peuvent chacune être redéfinies par vos propres options si besoin.
+    </para>
+
+    <para>
+        Par exemple, la plupart des locales utilisent le script latin pour rendre les nombres.
+        Mais certaines langues, comme l'arabe, utilisent d'autres chiffres. Et un site Web Arabe
+        va utiliser le rendu arabe pour toutes les monnaies, voyez l'exemple:
+    </para>
+
+    <example id="zend.currency.number.example-1">
+        <title>Utiliser un script personnalisé</title>
+
+        <para>
+            Imagnons que nous utisons la monnaie "Dollar". Mais nous voulons rendre notre page
+            avec des scripts arabes.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'  => 1000,
+        'script' => 'Arab',
+    )
+);
+
+print $currency; // Retournerait '$ ١٬٠٠٠٫٠٠'
+]]></programlisting>
+    </example>
+
+    <para>
+        Pour plus d'informations sur les scripts disponibles, voyez le manuel de
+        <classname>Zend_Locale</classname>sur <link linkend="zend.locale.numbersystems">les systèmes
+        des nombres</link>.
+    </para>
+
+    <para>
+        Le formattage d'une monnaie peut être changé. Par défaut, la locale est utilisée. Elle indique le séparateur
+        des milliers, le point de la décimale et la précision.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD'
+        'format'   => 'de',
+    )
+);
+
+print $currency; // Retournerait '$ 1.000'
+]]></programlisting>
+
+    <para>
+        Il existe deux manières de préciser le format à utiliser, manuellement ou via une locale.
+    </para>
+
+    <para>
+        Utiliser la locale vous permet de bénéficier de certains automatismes. Par exemple la locale
+        'de' definit le point '.' comme séparateur des milliers, et la virgule ',' comme séparateur décimal.
+        En anglais, c'est l'inverse.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$currency_1 = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD'
+        'format'   => 'de',
+    )
+);
+
+$currency_2 = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD'
+        'format'   => 'en',
+    )
+);
+
+print $currency_1; // Retournerait '$ 1.000'
+print $currency_2; // Retournerait '$ 1,000'
+]]></programlisting>
+
+    <para>
+        Si vous les définissez manuellement, vous devez alors respecter le format décrit dans
+        <link linkend="zend.locale.number.localize.table-1">ce chapitre de la localisation
+            </link>. Voyez plutôt:
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD'
+        'format'   => '#0',
+    )
+);
+
+print $currency; // Retournerait '$ 1000'
+]]></programlisting>
+
+    <para>
+        Dans l'exemple ci-dessus nous avons supprimé le séparateur et l'indicateur de précision.
+    </para>
+</sect1>

+ 161 - 0
documentation/manual/fr/module_specs/Zend_Currency-Options.xml

@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20374 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.options">
+    <title>Options des monnaies</title>
+
+    <para>
+        En fonction de vos besoins, certaines options peuvent être passées à l'instanciation, elles ont toutes
+        des valeurs par défaut. Voici quelques exemples:
+    </para>
+
+    <itemizedlist mark='opencircle'>
+        <listitem>
+            <para>
+                <emphasis>Symbole des monnaies, noms courts ou noms</emphasis>:
+            </para>
+
+            <para>
+                <classname>Zend_Currency</classname> connait tous les noms, abbréviations
+                et signes des monnaies mais il peut s'avérer nécessaire de devoir remplacer la
+                représentation visuelle d'une monnaie.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>Position du symbole de monnaie</emphasis>:
+            </para>
+
+            <para>
+                La position du symbole de la monnaie est défini automatiquement. Il peut cependant
+                être précisé manuellement.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>Script</emphasis>:
+            </para>
+
+            <para>
+                Vous pouvez définit les scripts à utiliser pour le rendu des chiffres des monnaies.
+                Vous trouverez des détails sur les scripts dans le chapitre de
+                <classname>Zend_Locale</classname> concernant <link
+                    linkend="zend.locale.numbersystems">Les systèmes de conversion des nombres</link>.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>Formatter les nombres</emphasis>:
+            </para>
+
+            <para>
+                Le nombre qui représente la somme est par défaut formatté via les valeurs que fournit
+                la locale en cours. Par exemple, la virgule ',' est utilisée pour séparer les milliers
+                dans la langue anglaise, mais en français il s'agit du séparateur des décimales.
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <para>
+        La liste suivante précise les options disponibles qui peuvent être passées en constructeur
+        ou via la méthode <methodname>setFormat()</methodname>, sous forme de tableau.
+    </para>
+
+    <itemizedlist mark='opencircle'>
+        <listitem>
+            <para>
+                <emphasis><property>currency</property></emphasis>: Précise l'abbréviation.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>display</property></emphasis>: Définit la partie de la monnaie
+                utilisée pour le rendu visuel. Il y a 4 représentations disponibles, précisées
+                dans<link linkend="zend.currency.description">ce tableau</link>.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>format</property></emphasis>: Précise le format pour représenter
+                les nombres. Ce format inclut par exemple le séparateur des milliers. Vous pouvez vous reposer
+                sur la locale en passant un identifiant de locale, ou définir un format manuellement.
+                Si aucun format n'est précisé, la locale dans <classname>Zend_Currency</classname>
+                sera utilisée. Voyez <link
+                    linkend="zend.locale.number.localize.table-1">le chapitre sur le formattage des
+                    nombres</link>.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>locale</property></emphasis>: Définit la locale à utiliser pour cette
+                monnaie. Elle sera utilisée pour les paramètres par défaut si il faut les utiliser.
+                Notez que si vous ne passez pas de locale vous-même, elle sera alors détectée de manière
+                automatique, ce qui pourrait créer des problèmes.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>name</property></emphasis>: Définit le nom long de la monnaie.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>position</property></emphasis>: Définit la position de la monnaie.
+                Pour plus d'informations, voyez <link
+                    linkend="zend.currency.position">cette section</link>.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>precision</property></emphasis>: Définit la précision à utiliser
+                pour représenter la monnaie. La valeur par défaut dépend de la locale et vaut la plupart
+                du temps <emphasis>2</emphasis>.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>script</property></emphasis>: Indique le script à utiliser
+                pour représenter les chiffres. Souvent par défaut <emphasis>'Latn'</emphasis>,
+                qui inclut les chiffres de 0 à 9. Les autres scripts comme 'Arab' utilisent
+                d'autres chiffres. Voyez <link
+                    linkend="zend.locale.numbersystems">Le chapitre sur les système numérraires
+                    </link> pour plus de détails.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>service</property></emphasis>: Définit le service de change à consulter
+                lors de conversions entre monnaies.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>symbol</property></emphasis>: Précise le symbole de la monnaie.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>value</property></emphasis>: Indique le montant (la valeur de la
+                monnaie). S'utilise avec l'option <property>service</property>.
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <para>
+        Beaucoup d'options sont donc ajustables, et la plupart trouvent leurs valeurs par défaut
+        dans les représentations normalisées de la monnaie utilisée.
+    </para>
+</sect1>

+ 89 - 0
documentation/manual/fr/module_specs/Zend_Currency-Position.xml

@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20374 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.position">
+    <title>Où est le symbole monnétaire?</title>
+
+    <para>
+        Le signe symbolique de la monnaie est positionné par rapport à sa valeur en fonction de
+        la locale utilisée. Cependant, vous pouvez forcer ce positionnement grâce à l'option
+        <property>display</property> qui se configure au moyen de constantes:
+    </para>
+
+    <table id="zend.currency.position.table-1">
+        <title>Positions disponibles pour la monnaie</title>
+
+        <tgroup cols="2" align="left">
+            <thead>
+                <row>
+                    <entry>Constante</entry>
+                    <entry>Description</entry>
+                </row>
+            </thead>
+
+            <tbody>
+                <row>
+                    <entry><constant>STANDARD</constant></entry>
+                    <entry>Affiche le symbole de la monnaie dans une position standard,
+                    conforme à la locale</entry>
+                </row>
+
+                <row>
+                    <entry><constant>RIGHT</constant></entry>
+
+                    <entry>
+                        Affiche le symbole de la monnaie à droite de sa valeur
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><constant>LEFT</constant></entry>
+
+                    <entry>
+                        Affiche le symbole de la monnaie à gauche de sa valeur
+                    </entry>
+                </row>
+            </tbody>
+        </tgroup>
+    </table>
+
+    <example id="zend.currency.position.example-1">
+        <title>Paramétrer la position du symbole monnétaire</title>
+
+        <para>
+            Imaginons que le client utilise la locale "en_US". Sans option, la valeur retournée
+            serait par exemple:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value' => 100,
+    )
+);
+
+print $currency; // Retournerait '$ 100'
+]]></programlisting>
+
+        <para>
+            En utilisant la valeur par défaut, le symbole pourrait être retourné à gauche ou à droite
+            de la valeur de monnaie. Voyons comment fixer cette position:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 100,
+        'position' => Zend_Currency::RIGHT,
+    )
+);
+
+print $currency; // Retournerait '100 $';
+]]></programlisting>
+
+        <para>
+            Notez que dans le deuxième exemple, la position de <acronym>USD</acronym> est fixée
+            quelle que soit la locale ou la monnaie considérée.
+        </para>
+    </example>
+</sect1>

+ 93 - 0
documentation/manual/fr/module_specs/Zend_Currency-Usage.xml

@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20374 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.usage">
+    <title>Utiliser Zend_Currency</title>
+
+    <sect2 id="zend.currency.usage.generic">
+        <title>Utilisation de base</title>
+
+        <para>
+            La manière la plus simple consiste à se reposer sur la locale de l'utilisateur. Lorsque vous créez
+            une instance de <classname>Zend_Currency</classname> sans préciser d'options, la locale du client sera alors
+            utilisée.
+        </para>
+
+        <example id="zend.currency.usage.generic.example-1">
+            <title>Créer une monnaie avec les paramètres du client</title>
+
+            <para>
+                Imaginons un client dont la locale est "en_US" dans son navigateur. Dans ce cas,
+                <classname>Zend_Currency</classname> détectera automatiquement la monnaie à utiliser.
+            </para>
+
+            <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency();
+
+// Voyons les paramètres par défaut régis par la locale utilisateur
+// var_dump($currency);
+]]></programlisting>
+
+            <para>
+                L'objet crée va alors contenir une monnaie "US Dollar" car il s'agit de la monnaie affectée
+                aux USA. D'autres options ont aussi été affectées comme le signe "$" ou l'abbréviation
+                 "USD".
+            </para>
+        </example>
+
+        <note>
+            <title>La détection automatique par locale ne fonctionne pas toujours</title>
+
+            <para>
+                La détection automatique par locale ne fonctionne pas toujours car
+                <classname>Zend_Currency</classname> nécessite une locale incluant la région. Si le client
+                utilise une locale courte ("en"), <classname>Zend_Currency</classname> ne sait pas quelle
+                région parmi les 30 possibles choisir. Une exception sera alors levée.
+            </para>
+
+            <para>
+                Un client peut aussi déregler la locale dans son navigateur, ou la supprimer. Ainsi le paramètre
+                de l'environnement sera alors utilisé pour la locale, ce qui peut mener à des comportements non
+                attendus ou des exceptions.
+            </para>
+        </note>
+    </sect2>
+
+    <sect2 id="zend.currency.usage.locale">
+        <title>Créer une monnaie basée sur une locale</title>
+
+        <para>
+            Pour éviter ce genre de problème, précisez manuellement la locale à utiliser.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency('en_US');
+
+// Utilisation de l'option 'locale'
+// $currency = new Zend_Currency(array('locale' => 'en_US'));
+
+// Voir la monnaie avec les paramètres actuels fixés à 'en_US'
+// var_dump($currency);
+]]></programlisting>
+
+        <para>
+            Dans l'exemple ci-dessus, nous ne sommes plus dépendant du client.
+        </para>
+
+        <para>
+            <classname>Zend_Currency</classname> supporte aussi l'utilisation d'une locale globale.
+            Mettez une instance de <classname>Zend_Locale</classname> dans le registre comme montré
+            ci-après. Dans un tel cas, l'option locale n'est plus obligatoire pour chaque instance
+            et la même locale sera utilisée partout, tout le temps.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+// dans le bootstrap
+$locale = new Zend_Locale('de_AT');
+Zend_Registry::set('Zend_Locale', $locale);
+
+// quelque part dans l'application
+$currency = new Zend_Currency();
+]]></programlisting>
+    </sect2>
+</sect1>

+ 104 - 0
documentation/manual/fr/module_specs/Zend_Currency-Value.xml

@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20374 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.value">
+    <title>Travailler avec les valeurs des monnaies (les montants)</title>
+
+    <para>
+        Travailler avec des monnaies c'est avant tout travailler avec des valeurs, des "prix", un montant.
+        Il faut ainsi travailler avec le montant (la valeur), la précision et l'éventuel taux de change.
+    </para>
+
+    <sect2 id="zend.currency.value.money">
+        <title>Travailler avec les valeurs des monnaies</title>
+
+        <para>
+            La valeur de la monnaie (le montant) se précise grâce à l'option <property>value</property>.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD',
+    )
+);
+
+print $currency; // Retournerait '$ 1.000'
+]]></programlisting>
+
+        <para>
+            Vous pouvez changer la valeur en utilisant les méthodes <methodname>setFormat()</methodname>
+            ou <methodname>setValue()</methodname>.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD',
+    )
+);
+
+print $currency->setValue(2000); // Retournerait '$ 2.000'
+]]></programlisting>
+
+        <para>
+            <methodname>getValue()</methodname> existe aussi.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.currency.value.precision">
+        <title>Utiliser la précision des monnaies</title>
+
+        <para>
+            La plupart des monnaies utilisent une précision de 2, ce qui signifie qu'avec 100 dollars US
+            vous pouvez rajouter 50 cents. C'est simplement le paramètre après la virgule.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000.50,
+        'currency' => 'USD',
+    )
+);
+
+print $currency; // Retournerait '$ 1.000,50'
+]]></programlisting>
+
+        <para>
+            Comme la précision est de 2, vous obtiendrez des décimales à '00' pour un chiffre rond.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD',
+    )
+);
+
+print $currency; // Retournerait '$ 1.000,00'
+]]></programlisting>
+
+        <para>
+            Pour pallier à ce problème de précision, vous pouvez simplement utiliser l'option
+            <property>precision</property> avec la valeur '0'. La précision prend une valeur entre
+            0 et 9. Les valeurs des monnaies seront arrondies lorsqu'elles ne tiennent pas dans la
+            précision demandée.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'     => 1000,30,
+        'currency'  => 'USD',
+        'precision' => 0
+    )
+);
+
+print $currency; // Retournerait '$ 1.000'
+]]></programlisting>
+    </sect2>
+</sect1>