Description du système de traduction de Voozanoo 4
Fonctionnement général
La traduction fonctionne au moyen de fichiers .po et de fichiers .mo. Ces fichiers contiennent la même chose : des strings de références (msgid), qui seront les mêmes quelque soit la langue et leur traduction (msgstr).
La différences réside dans le format :
- les fichiers .po sont facilement lisibles par un être humain,
- les fichiers .mo sont facilement lisibles par une machine
La traduction par le traducteur se fait ainsi au sein des fichiers .po, qui sont ensuite transformés en fichiers .mo pour être utilisés par l’application.
Pour comprendre le fonctionnement de la traduction, il faut donc distinguer 2 processus :
- la création des fichiers de traduction : la gestion (création, mise à jour et transformation) des fichiers .po et .mo
- l’utilisation des fichiers de traduction : le remplacement des chaînes de caractères par leur traduction lors de l’exécution du code
La traduction au sein d’une application Voozanoo4
La traduction d’une application Voozanoo4 se passe comme suit :
- Génération des fichiers .po en parsant les fichiers .js, .php, .phtml et .xml et en récupérant des valeurs en base de données. Ce traitement est effectué via l’application, quelque soit le système utilisé (avec ou sans Crowdin)
- Traduction des strings de référence dans les langues désirées, via Poedit ou Crowdin selon le système utilisé
- Transformation des fichiers .po en fichiers .mo via l’interface de traduction (avec Crowdin) ou Poedit (sans Crowdin)
- Lors de l’exécution du code, dès qu’une chaîne de caractère passe par une méthode de traduction (par exemple :
Core_Library_Account->_($sString)
en PHP ouY.Translate._(sString)
en javascript), on récupère sa traduction en fonction de la “locale” de l’utilisateur courant
La procédure interne à Epiconcept
Si vous y avez accès, ce document vous donnera la procédure complète d’utilisation de Crowdin chez Epiconcept :
- Des rappels
- Ce qu’il faut faire une fois par appli
- Ce qu’il faut faire une fois par projet
- La cinétique de traduction
- La gestion des utilisateurs
- Et d’autres choses
Plus d’informations techniques
Si vous y avez accès, dans ce document, vous trouverez des informations plus détaillées :
- Aperçu global
- Traduction d’une application Voozanoo4 sans Crowdin
- Traduction d’une application Voozanoo4 avec Crowdin
- Traduction du noyau Voozanoo4
- Détails techniques :
- La création des fichiers PO
- La récupération des traductions