| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <!-- EN-Revision: 13827 -->
- <sect1 id="zend.translate.introduction">
- <title>Introduction</title>
- <para><classname>Zend_Translate</classname> est la solution de Zend Framework pour des applications multilingues.</para>
- <para>Dans des applications multilingues, le contenu doit être traduit en plusieurs langues et l'affichage du
- contenu dépend de la langue de l'utilisateur. PHP offre déjà plusieurs manières de manipuler de tels problèmes,
- toutefois la solution PHP a quelques problèmes :</para>
- <itemizedlist>
- <listitem>
- <para><emphasis role="strong">API contradictoire :</emphasis> Il n'y a pas d'API unique pour les différents
- formats de source. L'utilisation du gettext par exemple est très compliquée.</para>
- </listitem>
- <listitem>
- <para><emphasis role="strong">PHP supporte seulement gettext et les tableaux natifs :</emphasis> PHP
- lui-même offre seulement le support des tableaux ou du gettext. Tous autres formats de source doivent être
- codés manuellement, parce qu'il n'y a aucun support native.</para>
- </listitem>
- <listitem>
- <para><emphasis role="strong">Pas de détection de la langue par défaut :</emphasis> La langue par défaut de
- l'utilisateur ne peut pas être détectée sans une connaissance plus approfondie des différents navigateurs
- Web.</para>
- </listitem>
- <listitem>
- <para><emphasis role="strong">Gettext n'est pas "thread-safe" :</emphasis> La bibliothèque gettext de PHP
- n'est pas "thread safe", et elle ne devrait pas être employée dans un environnement multi-threading. C'est
- dû à des problèmes de gettext lui-même, pas de PHP, mais c'est un problème existant.</para>
- </listitem>
- </itemizedlist>
- <para><classname>Zend_Translate</classname> n'a pas les problèmes ci-dessus. C'est pourquoi nous recommandons d'employer
- <classname>Zend_Translate</classname> au lieu des fonctions natives de PHP. Les avantages de <classname>Zend_Translate</classname> sont
- :</para>
- <itemizedlist>
- <listitem>
- <para><emphasis role="strong">Support des formats multiples de source :</emphasis>
- <classname>Zend_Translate</classname> supporte plusieurs formats de source, y compris ceux supportés par PHP, et
- d'autres formats comprenant les fichiers de type TMX et CSV.</para>
- </listitem>
- <listitem>
- <para><emphasis role="strong">Thread-safe gettext :</emphasis> Le lecteur de gettext de
- <classname>Zend_Translate</classname> est "thread-safe". Il n'y a aucun problème en utilisant le dans les
- environnements multi-threadés.</para>
- </listitem>
- <listitem>
- <para><emphasis role="strong">API générique et facile :</emphasis> L'API de <classname>Zend_Translate</classname> est
- très simple et exige seulement une poignée de fonctions. Ainsi il est facile d'apprendre et facile à
- maintenir. Tous les formats de source sont manipulés la même manière, ainsi si le format de vos fichiers
- source changent de Gettext en TMX, vous devez seulement changer une ligne de code pour indiquer l'adaptateur
- de stockage.</para>
- </listitem>
- <listitem>
- <para><emphasis role="strong">Détection de la langue de l'utilisateur :</emphasis>
- <classname>Zend_Translate</classname> peut détecter et se servir de la langue préférée de l'utilisateur accédant à
- l'application.</para>
- </listitem>
- <listitem>
- <para><emphasis role="strong">Détection automatique de la source :</emphasis> <classname>Zend_Translate</classname>
- est capable de détecter et d'intégrer des fichiers source multiples et de détecter de plus la localisation à
- utiliser selon les répertoires ou les noms de fichier.</para>
- </listitem>
- </itemizedlist>
- <sect2 id="zend.translate.introduction.adapters">
- <title>Démarrer avec le multi-linguisme</title>
- <para>Ce que nous voulons faire c'est traduire les chaînes de caractère générées afin que la vue produise un
- contenu traduit. Autrement nous devrions écrire une vue pour chaque langue, et personne ne voudraient faire
- ceci. Généralement, les sites multilingues sont très simples dans leur conception. Il y a seulement quatre
- étapes que vous devrez faire :</para>
- <orderedlist numeration="arabic">
- <listitem>
- <para>Décider quel adaptateur vous voulez utiliser</para>
- </listitem>
- <listitem>
- <para>Créer votre vue et intégrer <classname>Zend_Translate</classname> à votre code</para>
- </listitem>
- <listitem>
- <para>Créer le fichier source de votre code</para>
- </listitem>
- <listitem>
- <para>Traduire votre fichier source dans les langues désirées.</para>
- </listitem>
- </orderedlist>
- <para>Les sections suivantes vous guident par chacune des quatre étapes. Lisez les pages suivantes pour créer
- votre propre application Web multilingue.</para>
- </sect2>
- </sect1>
|