Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1914 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Stratégie de gestion de multilangue

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Stratégie de gestion de multilangue

n°1959620
une IA
01010111 01010100 01000110
Posté le 22-01-2010 à 11:17:14  profilanswer
 

Bonjour,
 
 je suis en train de rendre multilangue un de mon site un brin volumineux. Et donc je suis en train de me poser la question sur les avantages/déavantages des stratégies possibles. J'aurrais aimé avoir votre avis sur la question
 
 
Stratégie 1 :
 - on fait un define par chaine de texte que l'on stoque dans un dossier Lang
 - en faisant un découpage 1 .php de lang par page on évite de charger la totalité des defines du site
 
Avantages :
 - simple
Inconvénients
 - Gros volume de code  
 
 
Stratégie 2 :
  - on se crée un tableau dans une grosse variable du genre $_LANG['<page>']['<chaine>'] dans un dossier Lang;
 -  on charge nos tableau
 
Avantages :
  - on limite la taille du code  
 
Inconvnient :
  - lent ? (je sais aps comment ca réagit sur de gros volume, et le connais pas les temsp d'instanciation d'un array)
 
 
 
 
Stratégie 3:
  - on met le tout en base de donnée  dans une table  id_text, lang, text
 
Avantage  :
  - on peux avoir du texte dynamique  
 
Inconvnient :
  - difficile d'entretiens
  - necessite des acess Bdd  
 
 
 
 
pour ma part j'ai choisit l'option 1
en codant une petite routine qui vas charger le bon .php en fonction de la page où on se trouve
masi la le volume de texte alllant en grossisant je me retrouve avec des defines de plsu en plus long qui purissent mon code :/  
 
 
 
 

mood
Publicité
Posté le 22-01-2010 à 11:17:14  profilanswer
 

n°1959636
MEI
|DarthPingoo(tm)|
Posté le 22-01-2010 à 11:45:01  profilanswer
 

Sinon on fait ça de manière robuste avec une BDD de traduction unique pour tout le site (fichier ou SGBD ou tout ce que tu veux), et une classe pour la traduction avec une utilisation du style :

Code :
  1. echo $translator->_('Ma chaine à traduire');


 
cf. Zend_Translate du Zend_Framework par exemple.


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°1959648
flo850
moi je
Posté le 22-01-2010 à 12:01:15  profilanswer
 

le 1 pose des problème  de répétition  
le2 n'a que des inconvénient
le 3 à un faible coût grâce aux cache des bases de données ( éventuellement optimisable en requetant toutes  traductions de la page d'un coup ) . en plus tu peux faire facilement un formulaire de saisie


---------------

n°1959677
mr simon
Posté le 22-01-2010 à 12:46:30  profilanswer
 

Pour un site, j'ai utilisé gettext, j'ai trouvé çà vraiment pratique
Un exemple de tuto sur le net
http://mel.melaxis.com/devblog/200 [...] g-gettext/

n°1959688
rufo
Pas me confondre avec Lycos!
Posté le 22-01-2010 à 13:24:44  profilanswer
 

Regardes comment fait le soft GPL "Magento". Il me semble que c'est la méthode du Zend Framework qu'il utilise.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1959730
une IA
01010111 01010100 01000110
Posté le 22-01-2010 à 14:54:57  profilanswer
 

mr simon a écrit :

Pour un site, j'ai utilisé gettext, j'ai trouvé çà vraiment pratique
Un exemple de tuto sur le net
http://mel.melaxis.com/devblog/200 [...] g-gettext/


j'avais regardé sur cette voie mais j'ai pas trouvé cesla tres convainquant, de ce que ej m'en souvient ca fait l'équivalent des DEFINES sauf que c'ets lui qui décide le nom de ton define  
 
après j'ai peut être mal saisit

n°1959732
une IA
01010111 01010100 01000110
Posté le 22-01-2010 à 14:58:37  profilanswer
 

flo850 a écrit :

le 1 pose des problème  de répétition  
le2 n'a que des inconvénient
le 3 à un faible coût grâce aux cache des bases de données ( éventuellement optimisable en requetant toutes  traductions de la page d'un coup ) . en plus tu peux faire facilement un formulaire de saisie


 
mais quand tu veux faire traduire par un tierce n'y comprenant rien l'informatique :/  
niveau maintenance/souplesse  étrangement c'est celle qui me fait le moins confiance  

n°1959734
flo850
moi je
Posté le 22-01-2010 à 15:01:28  profilanswer
 

si justement, tu fais une petite interface php/mysql qui affiche et vérifie la saisie. Pas de risque que la personne efface des code phrase des fichiers de config, ou ajoute des retour  à la lignes là ou il n'en faut pas.

 

En plus, tu peux faire afficher le résultat en live.
C'est ce que j'avais mis en place avec des traducteurs qui étaient des billes en info ( suite à un problème avec des fichiers : un des traducteurs avait fait n'imp)


Message édité par flo850 le 22-01-2010 à 15:02:04

---------------

n°1960058
jagstang
Pa Capona ಠ_ಠ
Posté le 24-01-2010 à 18:07:44  profilanswer
 

un joli topic ici :
http://forum.hardware.fr/hfr/Progr [...] 5783_1.htm


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1960147
une IA
01010111 01010100 01000110
Posté le 25-01-2010 à 09:39:49  profilanswer
 


meric ;)
 
j'ai finalement opté pour la solution de flo850 :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Stratégie de gestion de multilangue

 

Sujets relatifs
Gestion LOGIN - PASSWORDGestion de Buffer Graphique
Creation base de donnée gestion du stock[CAML] gestion souris
Gestion de Select liésProblème de gestion de la liaison série RS232 en VHDL
[Oracle] Gestion des index[xsl]gestion du retour chariot dans une variable string
gestion des erreurs dans un code wordGestion d'erreurs php - comment tout cacher ?
Plus de sujets relatifs à : Stratégie de gestion de multilangue


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR