| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <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. <acronym>PHP</acronym> offre déjà plusieurs
- manières de manipuler de tels problèmes, toutefois la solution <acronym>PHP</acronym> a quelques problèmes
- :
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>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>PHP supporte seulement gettext et les tableaux natifs :</emphasis>
- <acronym>PHP</acronym> 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>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>Gettext n'est pas "thread-safe" :</emphasis> La bibliothèque gettext
- de <acronym>PHP</acronym> 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
- <acronym>PHP</acronym>, 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 <acronym>PHP</acronym>. Les avantages de <classname>Zend_Translate</classname> sont :
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>Support des formats multiples de source :</emphasis>
- <classname>Zend_Translate</classname> supporte plusieurs formats de source, y
- compris ceux supportés par <acronym>PHP</acronym>, et d'autres formats comprenant les fichiers de type
- TMX et CSV.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>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>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>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>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>
|