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: Wed, 14 Jul 2004 03:13:40 +0200
User-agent: Mozilla Thunderbird 0.7 (Windows/20040616)

Benoit Mortier wrote:

Le Mardi 13 Juillet 2004 23:28, Eldy a ?crit :
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é).

cela veux dire que sous windows pas de gettext ??? meme sur un php 4.3.x ??? peut tu m'en dire plus ??? j'ai pas de machine windows ;-)
J'ai php 4.3.4 et xp mais j'ai pas de gettext qui fonctionne (En fait j'ai jamais réussi sous Windows mais en persévérant ca doit finir par marcher vu que la dll existe). Peut-etre est-ce du au fait que mon php fonctionne en mode CGI et non en mode module apache.

Le système que je viens de mettre a jour aujourdh'ui fonctionne sur
le meme principe que egroupware, squirrelmail, etc...

squirrelmail utilise des fichiers .po avec gettext je viens de verifier sur ma version 1.4.3a ;-)
Exact, je pensais à webmin en disant "squirrelmail"

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.

je vais regarder cela de plus pres pour me faire une opinion.

J'ai fait un test avec gettext avec les dernieres sources de dolibarr, et cela etait relativement facile.

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

mais le format gettext est du texte ;-)
???
Bin je comprends pas, mes fichiers sont binaires: /usr/share/locale/en_US/LC_MESSAGES
Faut que je creuse plus du coup. Doit y avoir d'autres fichiers ??

# French Squirrelmail Translation
# Copyright (c) 1999-2004 The Squirrelmail Development Team
# Antoine Hulin <address@hidden>, 2002-2003
# Alex Lemaresquier <address@hidden>, 2003-2004
# $Id: squirrelmail.po,v 1.8.2.8 2004/05/26 06:57:13 jervfors Exp $
msgid ""
msgstr ""
"Project-Id-Version: squirrelmail \n"
"POT-Creation-Date: 2004-05-23 18:06+0300\n"
"PO-Revision-Date: 2004-05-26 08:48+0200\n"
"Last-Translator: Alex Lemaresquier <address@hidden>\n"
"Language-Team: French <address@hidden>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "Address Book"
msgstr "Carnet d'adresses"

msgid "All"
msgstr "Tout"

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").

Oui, cela nous permettra d'y reflechir encore ...

Bonne nuit


--
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]