- 1
[Opened] Locale
Posted by yamsuz on 12/23/2009 21:35
Bonjour,
Je me pose une question concernant l'internationnalisation. J'ai fait une appli qui marche et je suis très content de Jelix, mais je suis toujours en train de me poser des questions sur tout afin de savoir s'il n'y a pas mieux a faire.
Je suis arrivé à une question. La traduction est contenu dans des fichiers texte dans les répertoires locales. En déployant mon appli (ERP) pour plusieurs clients, j'utilise le système d'internationalisation pour personnaliser à fond le système et donc de changer le libellé par rapport à la société. Je m'explique, dans l'ERP je gére des articles, chaque article est composé de 4 références maxi que j'ai appelé Reference1, Reference2, Reference3, Reference4 par contre il est évident que mes clients ne veulent pas voir ces libellés, et donc je mets en fonction du client des libellés différents qui est en fait une simple "traduction" pour le client.
Jusque là je n'ai aucun problème sauf le jour ou je fais une mise à jour, car je n'ai pas tous les fichiers de tous mes clients, par contre j'ai fait une routine qui regénere les fichiers locales automatiquement. (ça marche bien, je suis content comme tout le monde).
Ma réflexion arrive donc sur ce point, ne serait-il pas plus intéressant en fonction d'un paramètre dans un fichier de configuration, d'aller chercher le libellé à afficher soit dans le fichier locale (comme à aujourd'hui) ou dans la base de données.
Je me pose la question que fait Jelix exactement : est-ce qu'il recharge le fichier de traduction à chaque fois qu'il doit traduire un libellé, ou il garde en mémoire le contenu du fichier tout le temps de faire la réponse.
Je me pose également la question au niveau rapidité, est-ce qu'on perdrait pas de la rapidité en allant chercher dans la BDD ?
Merci de m'éclairer à ce niveau.
[Opened] Re: Locale
Posted by foxmask on 12/24/2009 13:51
les locales sont "cachées" (dans le dossier temp/mon_appli) exemple : ....temp\portail\compiled\locales\modules donc pas de pb de rapidité .
Jelix trouve ses trad dans le gros array $_loaded pour le module/langage/encoding concerné
A mon boulot la problématique de l'internationalisation on la gère comme suit :
On maintient un référentiel (stocké en base) par version de notre appli et on le distribue aux clients. Si le client à ses trad de notre appli (genre leur libellé "metier" leur conviennent mieux), ben on ne les maintient pas, c'est son référentiel et on n'y touche pas.
Donc on a une application qui gère l'export de notre référentiel pour le client et l'import de notre référentiel chez le client. Avec une stratégie d'import qui permet de ne pas écraser ou d'écraser leur traduction, selon.
valaa ;)
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Re: Locale
Posted by yamsuz on 12/24/2009 14:42
Bonjour,
Je te remercie pour ta réponse.
Visiblement on gére de la même façon les trad ou à peu près.
Peux-ton faire une surcharge de la classe jLocas le et jBundle. J'ai essayé mais rien à faire. J'ai créé dans var/overloads un répertoire jelix/core, mais ça marche pas. Y a-t-il quelques chose de particulier à faire ?
[Opened] Re: Locale
Posted by foxmask on 12/24/2009 15:40
on ne met pas de class dans var/overloads ; que des dao template forms et locales
sinon il faut une classe qui hérite de jLocale pour surcharger les méthodes .
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Re: Locale
Posted by yamsuz on 12/24/2009 17:15
Au niveau de l'héritage ce qui me va très bien. Il faut que je dise à Jelix d'utiliser ma classe jLocalePerso qui hérite de jLocale au lieu d'utiliser la classe jLocale. J'ai recherché dans la doc un système le permettant mais je n'ai pas trouvé.
Merci pour ton aide.
Je vous souhaite à tous un joyeux noel
- 1