dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Dolibarr multi-langues


From: Eldy
Subject: Re: [Dolibarr-dev] Dolibarr multi-langues
Date: Tue, 13 Jul 2004 23:28:50 +0200
User-agent: Mozilla Thunderbird 0.7 (Windows/20040616)

Benoit Mortier wrote:

Le Mardi 13 Juillet 2004 09:58, Rodolphe Quiedeville a ?crit :
Le Sunday 11 July 2004 19:30, Eldy a écrit :
Dolibarr multi-langues
Dans le cas de l'utilisation de gettext, on appellera de toutes
facons la fonction au travers de la classe Translate() cela nous
permettra de changer facilement de système au besoin.

on a un accord sur gettext, alors ;-) si oui je commence la mise en place aujoudrdh'ui ;-)

Bonne journée
Moi je suis pas chaud du tout pour gettext car c'est pas dispo sur mon php (snif). De plus ca bloquera la diffusion de Dolibarr en environnement windows ce qui me semble pas terrible (la dll en module optionnel existe mais n'est pas active par defaut et plante sur la plupart des versions php que j'ai testé).

Le système que je viens de mettre a jour aujourdh'ui fonctionne sur le meme principe que egroupware, squirrelmail, etc... A savoir des fichiers de traductions au format textes. L'objet $langs est crée de manière globale par la classe "Translate", ensuite en fonction des besoins on execute $langs->load("xxx") qui permet de charger la traduction du fichier xxx ce qui permet de créer des grouper les traductions par catégorie (catégorie xxx) et permet de ne charger que les traductions en rapport avec le besoin. Ensuite, pour afficher une chaine $langs->trans("MyString"); Il y a de plus, une gestion cachée qui évite de lire plusieurs fois le meme fichier si l'un d'eux est deja chargé ce qui permet de charger un fichier de traduction ou on veut en fonction des besoins sans que cela ne génère des accès disques inutiles.

L'avantage est que n'importe qui peut se lancer dans un travail de traduction. Il sufiit de prendre les fichiers anglais dans le rep en_US et de la copier traduit dans xx_XX ou xx_XX est le code de la nouvelle langue.

Si une gestion avec gettext doit etre faite, elle peut etre incluse dans la classe Translate, ce qui rend le code toujours opérationnel sans y toucher mais je crains que ce ne soit pas une bonne idée d'un point de vue portabilité. De plus, par expérience un logiciel qui a des fichiers langues au format texte est très vite traduit (les contributions fusent plus vite qu'au format gettext). Avant d'inclure gettext dans la classe Translate, peut-etre faut-il d'abord concentré ces efforts en remplacant dans les pages php
les chaines en dur par un $langs->trans("MyString").

--
Laurent Destailleur.
---------------------------------------------------------------
EMail: address@hidden
AWStats : http://awstats.sourceforge.net
AWBot : http://awbot.sourceforge.net
CVSChangeLogBuilder : http://cvschangelogb.sourceforge.net





reply via email to

[Prev in Thread] Current Thread [Next in Thread]