| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24604 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.application.available-resources.locale">
- <title>Zend_Application_Resource_Locale</title>
- <para>
- <classname>Zend_Application_Resource_Locale</classname> peut être utilisé pour paramétrer
- de manière globale la région dans une application qui sera alors utilisée par toutes les
- classes et les composants qui travaille avec la localisation et l'internationalisation.
- Par défaut la locale est sauvegardée dans une entrée de <classname>Zend_Registry</classname>
- avec la clé '<property>Zend_Locale</property>'.
- </para>
- <para>
- Il y a basiquement trois cas d'utilisation du plugin de ressource Locale. Chacun pouvant
- être utilisé suivant les besoins de votre application.
- </para>
- <sect3 id="zend.application.available-resources.locale.auto">
- <title>Autodétection de la locale à utiliser</title>
- <para>
- Sans spécifier d'options pour
- <classname>Zend_Application_Resource_Locale</classname>,
- <classname>Zend_Locale</classname> va détecter automatiquement la locale, que votre
- application va utiliser.
- </para>
- <para>
- Cette détection fonctionne car votre client émet la langue souhaitée à l'intérieur
- de sa requête <acronym>HTTP</acronym>. Normalement le navigateur client envoie
- les langues qu'il accepte de voir, et <classname>Zend_Locale</classname> utilise
- cette information pour la détection.
- </para>
- <para>
- Mais il y a deux problèmes avec cette approche :
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Le navigateur pourrait ne paramétrer aucune langue
- </para>
- </listitem>
- <listitem>
- <para>
- L'utilisateur pourrait avoir manuellement paramétrer une locale qui n'existe pas
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Dans ces deux cas <classname>Zend_Locale</classname> reviendra vers d'autres
- mécanismes pour détecter la locale :
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Quand une locale inexistante a été fournie, <classname>Zend_Locale</classname>
- essaie de réduire la chaîne.
- </para>
- <para>
- Quand, par exemple, <emphasis>fr_ZZ</emphasis> a été paramétré, il est
- automatiquement réduit en <emphasis>fr</emphasis>. Dans ce cas
- <emphasis>fr</emphasis> sera utilisé en tant que locale pour votre application.
- </para>
- </listitem>
- <listitem>
- <para>
- Quand la locale ne peut pas non plus être reconnue même après réduction, la
- locale de votre environnement (serveur Web) sera utilisée. La plupart des
- environnements des hébergeurs utilise <emphasis>en</emphasis> en tant que
- locale.
- </para>
- </listitem>
- <listitem>
- <para>
- Quand la locale de l'environnement ne peut pas non plus être détectée,
- <classname>Zend_Locale</classname> utilisera sa locale par défaut, qui
- est par défaut <emphasis>en</emphasis>.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Pour de plus amples informations concernant la détection des locales, lisez <link
- linkend="zend.locale.selection.automatic">le chapitre sur la déctection automatique
- avec Zend_Locale</link>.
- </para>
- </sect3>
- <sect3 id="zend.application.available-resources.locale.fallback">
- <title>Autodétection de la locale avec ajout de votre propre valeur par défaut</title>
- <para>
- L'autodétection ci-dessus peut entraîner des problèmes quand la locale ne peut pas être
- détectée et que vous souhaitez une autre locale par défaut que <emphasis>en</emphasis>.
- Pour empêcher ceci, <classname>Zend_Application_Resource_Locale</classname> vous permet
- de paramétrer votre propre locale qui sera utilisée si aucune locale ne peut être
- détectée.
- </para>
- <example id="zend.application.available-resources.locale.configExampleDetectAndFallback">
- <title>Autodétecter la locale et paramétrer une valeur par défaut</title>
- <para>
- L'extrait suivant montre comment spécifier sa propre locale utilisée si le client
- n'envoie pas lui-même une locale.
- </para>
- <programlisting language="ini"><![CDATA[
- ; tentative de détection automatique,
- ; si impossible alors on prend fr_FR.
- resources.locale.default = "fr_FR"
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.application.available-resources.locale.forcing">
- <title>Forcer l'utilisation d'une locale</title>
- <para>
- Parfois il peut être pratique de définir la locale qui devra être utilisée. Ceci peut
- être fait en utilisant l'option <property>force</property>.
- </para>
- <para>
- Dans ce cas, cette locale seule sera utilisée et la détection automatique sera
- désactivée.
- </para>
- <example id="zend.application.available-resources.locale.configExampleFallbackOnly">
- <title>Définition de la locale à utiliser</title>
- <para>
- L'extrait suivant montre comment spécifier la locale à utiliser pour toute votre
- application.
- </para>
- <programlisting language="ini"><![CDATA[
- ; dans tous les cas, fr_FR doit être utilisé
- resources.locale.default = "fr_FR"
- resources.locale.force = true
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.application.available-resources.locale.cache">
- <title>Configurer le modèle de cache</title>
- <para>
- Lorsque vous ne définissez pas de cache, <classname>Zend_Locale</classname> définit son
- propre cache avec le backend fichier par défaut. Cependant, vous pouvez utiliser un nom
- de modèle du gestionnaire de cache, ou une instance de
- <classname>Zend_Cache_Core</classname>, pour choisir le backend, ou d'autres options.
- Pour plus d'informations, veuillez vous reporter à <xref linkend="zend.locale.cache" />.
- </para>
- <example id="zend.application.available-resources.locale.configExampleCache">
- <title>Définition du cache avec un modèle du gestionnaire</title>
- <programlisting language="ini"><![CDATA[
- ; Optionnellement, on peut utiliser un modèle du gestionnaire de cache :
- resources.locale.cache = "locale"
- ]]></programlisting>
- </example>
- </sect3>
- </sect2>
|