Introduction
    
    
        Zend_Translate est la solution de Zend Framework pour des
        applications multilingues.
    
    
        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
        :
    
    
        - 
            
                API contradictoire : 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.
            
         
        - 
            
                PHP supporte seulement gettext et les tableaux natifs :
                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.
            
         
        - 
            
                Pas de détection de la langue par défaut : 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.
            
         
        - 
            
                Gettext n'est pas "thread-safe" : 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.
            
         
    
    
        Zend_Translate n'a pas les problèmes ci-dessus. C'est pourquoi
        nous recommandons d'employer Zend_Translate au lieu des fonctions
        natives de PHP. Les avantages de Zend_Translate sont :
    
    
        - 
            
                Support des formats multiples de source :
                Zend_Translate supporte plusieurs formats de source, y
                compris ceux supportés par PHP, et d'autres formats comprenant les fichiers de type
                TMX et CSV.
            
         
        - 
            
                Thread-safe gettext : Le lecteur de gettext de
                Zend_Translate est "thread-safe". Il n'y a aucun problème en
                utilisant le dans les environnements multi-threadés.
            
         
        - 
            
                API générique et facile : L'API de
                Zend_Translate 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.
            
         
        - 
            
                Détection de la langue de l'utilisateur :
                Zend_Translate peut détecter et se servir de la langue
                préférée de l'utilisateur accédant à l'application.
            
         
        - 
            
                Détection automatique de la source :
                Zend_Translate 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.
            
         
    
    Démarrer avec le multi-linguisme
        
        
            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 :
        
        
            - 
                
Décider quel adaptateur vous voulez utiliser
             
            - 
                
                    Créer votre vue et intégrer Zend_Translate à votre
                    code
                
             
            - 
                
Créer le fichier source de votre code
             
            - 
                
Traduire votre fichier source dans les langues désirées.
             
        
        
            Les sections suivantes vous guident par chacune des quatre étapes. Lisez les pages
            suivantes pour créer votre propre application Web multilingue.