Introduction au Zend Framework

 Apprendre Zend Framework

appendix

 Guide de référence Zend Framework


  •  Zend_Gdata
  •  Zend_Http
  •  Zend_InfoCard
  •  Zend_Json
  •  Zend_Layout
  •  Zend_Ldap
  •  Zend_Loader
  •  Zend_Locale
  •  Zend_Log
  •  Zend_Mail
  •  Zend_Markup
  •  Zend_Measure
  •  Zend_Memory
  •  Zend_Mime
  •  Zend_Navigation
  •  Zend_Oauth
  •  Zend_OpenId
  •  Zend_Paginator
  •  Zend_Pdf
  •  Zend_ProgressBar
  •  Zend_Queue
  •  Zend_Reflection
  •  Zend_Registry
  •  Zend_Rest

  •  Zend_Search_Lucene
  •  Zend_Serializer
  •  Zend_Server
  •  Zend_Service
  •  Zend_Session
  •  Zend_Soap
  •  Zend_Tag
  •  Zend_Test
  •  Zend_Text
  •  Zend_TimeSync
  •  Zend_Tool
  •  Zend_Tool_Framework
  •  Zend_Tool_Project
  •  Zend_Translate
  •  Zend_Uri
  •  Zend_Validate
  •  Zend_Version
  •  Zend_View
  •  Zend_Wildfire
  •  Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Translation 61.2% Update 2010-11-28 - Revision 23149 - Version ZF 1.11.x

    Chapitre 73. Zend_Translate

    Table des matières

    73.1. Introduction
    73.1.1. Démarrer avec le multi-linguisme
    73.2. Adaptateurs pour Zend_Translate
    73.2.1. Comment décider quel adaptateur de traduction utiliser ?
    73.2.1.1. Zend_Translate_Adapter_Array
    73.2.1.2. Zend_Translate_Adapter_Csv
    73.2.1.3. Zend_Translate_Adapter_Gettext
    73.2.1.4. Zend_Translate_Adapter_Ini
    73.2.1.5. Zend_Translate_Adapter_Tbx
    73.2.1.6. Zend_Translate_Adapter_Tmx
    73.2.1.7. Zend_Translate_Adapter_Qt
    73.2.1.8. Zend_Translate_Adapter_Xliff
    73.2.1.9. Zend_Translate_Adapter_XmlTm
    73.2.2. Intégrer ses propres adaptateurs
    73.2.3. Améliorer les performances de tous les adaptateurs
    73.3. Utiliser les adaptateurs de traduction
    73.3.1. Structures des sources de traduction
    73.3.2. Créer des fichiers sources de type tableau
    73.3.3. Créer des fichiers sources Gettext
    73.3.4. Créer des fichiers source TMX
    73.3.5. Créer des fichiers source CSV
    73.3.6. Créer des fichiers sources INI
    73.3.7. Options pour les adaptateurs
    73.3.8. Gérer les langues
    73.3.8.1. Gestion automatique des langues
    73.3.9. Détéction automatique de la source
    73.3.9.1. La langue se trouve dans le nom des dossiers
    73.3.9.2. Language through filenames
    73.3.9.2.1. Complete Filename
    73.3.9.2.2. Extension of the file
    73.3.9.2.3. Filename tokens
    73.3.10. Vérifier les traductions
    73.3.11. How to log not found translations
    73.3.12. Access to the source data
    73.4. Creating source files
    73.4.1. Creating Array source files
    73.4.2. Creating Gettext source files
    73.4.3. Creating TMX source files
    73.4.4. Creating CSV source files
    73.4.5. Creating INI source files
    73.5. Additional features for translation
    73.5.1. Options for adapters
    73.5.2. Handling languages
    73.5.2.1. Automatical handling of languages
    73.5.2.2. Using a country as language
    73.5.3. Automatic source detection
    73.5.3.1. Language through naming directories
    73.5.3.2. Language through filenames
    73.5.3.2.1. Complete filename
    73.5.3.2.2. Extension of the file
    73.5.3.2.3. Filename tokens
    73.5.3.3. Ignoring special files and directories
    73.5.3.3.1. Ignore a special directory or file
    73.5.3.3.2. Ignore several directories or files
    73.5.3.3.3. Ignore specific names
    73.5.4. Routing for translations
    73.5.5. Combining multiple translation sources
    73.5.6. Checking for translations
    73.5.7. How to log not found translations
    73.5.8. Accessing source data
    73.6. Notation des pluriels pour Translation
    73.6.1. Méthode traditionnelle
    73.6.2. Méthode moderne de traduction du pluriel
    73.6.3. Fichiers sources de pluriels
    73.6.3.1. Source tableau contenant des pluriels
    73.6.3.2. Csv et pluriels
    73.6.3.3. Gettext et pluriels
    73.6.4. Custom plural rules

    73.1. 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.

    73.1.1. 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 :

    1. Décider quel adaptateur vous voulez utiliser

    2. Créer votre vue et intégrer Zend_Translate à votre code

    3. Créer le fichier source de votre code

    4. 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.

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...