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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Internationalisation, meilleure technique pour un petit site?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Internationalisation, meilleure technique pour un petit site?

n°537923
impulse
Posté le 13-10-2003 à 10:19:04  profilanswer
 

Quelle est selon vous la meilleure methode pour creer un site avec une interface et un contenu dispo en plusieurs langues? Je pensais stocker toutes mes chaines de caracteres dans des fichiers puis ensuite inclure le fichier correspondant a la langue choisie. En fait je n'aurais aucun texte en clair dans mon code, seulement des variables.
 
Qu'en pensez vous?

mood
Publicité
Posté le 13-10-2003 à 10:19:04  profilanswer
 

n°537932
MagicBuzz
Posté le 13-10-2003 à 10:29:18  profilanswer
 

Pas dans des fichiers, mais une base, ce sera à la fois plus rapide et plus évolutif.
 
Sinon, c'est en effet ce qu'il y a de mieu.
 
Tu peux aussi passer par des templates XML, mais il vaut mieu que le site soit statique dans ce cas, car un fichier XML est assez chiant à mettre à jour comparé à une base de données.

n°537939
jagstang
Pa Capona ಠ_ಠ
Posté le 13-10-2003 à 10:37:05  profilanswer
 

Moi ce que j'ai fait pour l'interface (pas le contenu) c'est d'appeler un fichier php selon la langue. dans celui-ci, des define() pour chaque bout de texte. C'est mieux des constantes que des variables.


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°537949
impulse
Posté le 13-10-2003 à 10:46:49  profilanswer
 

Citation :

Pas dans des fichiers, mais une base, ce sera à la fois plus rapide et plus évolutif.
 
Sinon, c'est en effet ce qu'il y a de mieu.
 
Tu peux aussi passer par des templates XML, mais il vaut mieu que le site soit statique dans ce cas, car un fichier XML est assez chiant à mettre à jour comparé à une base de données.


 
Je pensais a des fichiers car j'ai tres peu de contenu textuel. Je ne pense pas que le fait de mettre ça dans une BD change vraiment les perfs (un include d'un petit fichier doit etre plus rapide qu'une connection a la BD + query) et pour ce qui est du coté evolutif, c'est tres pratique et facile a utiliser (un fichier pour chaque langue).
 

Citation :

Moi ce que j'ai fait pour l'interface (pas le contenu) c'est d'appeler un fichier php selon la langue. dans celui-ci, des define() pour chaque bout de texte. C'est mieux des constantes que des variables.


 
Oui, c'est surement mieux de mettre ça dans des constantes (pour le texte de l'interface).
 
EDIT : en fait je vais pourvoir me debrouiller pour que mon contenu soit "compatible" avec n'importe quelle langue comme ça je n'ai que l'interface a gerer.


Message édité par impulse le 13-10-2003 à 10:48:48
n°537955
MagicBuzz
Posté le 13-10-2003 à 10:51:29  profilanswer
 

impulse a écrit :

Citation :

Pas dans des fichiers, mais une base, ce sera à la fois plus rapide et plus évolutif.
 
Sinon, c'est en effet ce qu'il y a de mieu.
 
Tu peux aussi passer par des templates XML, mais il vaut mieu que le site soit statique dans ce cas, car un fichier XML est assez chiant à mettre à jour comparé à une base de données.


 
Je pensais a des fichiers car j'ai tres peu de contenu textuel. Je ne pense pas que le fait de mettre ça dans une BD change vraiment les perfs (un include d'un petit fichier doit etre plus rapide qu'une connection a la BD + query) et pour ce qui est du coté evolutif, c'est tres pratique et facile a utiliser (un fichier pour chaque langue).
 

Citation :

Moi ce que j'ai fait pour l'interface (pas le contenu) c'est d'appeler un fichier php selon la langue. dans celui-ci, des define() pour chaque bout de texte. C'est mieux des constantes que des variables.


 
Oui, c'est surement mieux de mettre ça dans des constantes (pour le texte de l'interface).


Ca dépends en effet de trois choses :
1) La taille du site. Si t'as 10 pages avec 30 lignes à chaque fois, le fichier sera certainement une meilleure solution. Mais nous c'est ce qu'on avait choisi sur un site au boulot, et au final nos fichier font la bagatelle de 8 Mo chacun... Je te raconte pas les perfs de merde...
2) Le nombre de hits par seconde. Si le site n'est pas énormément consulté, alors la gestion avec fichier sera meilleure qu'avec base. Par contre, la montée en charge sera mois bonne. Ca dépends donc si c'est un site grandement consulté ou non.
3) Répartition des textes. Si t'as 50 pages sur le site, et que t'as que 10 pages régulièrement consultées, c'est idiot de charger systématiquement le texte des 40 pages pour rien. A ce moment, tu pars dans le découpage de tes fichiers, et ça devient la galère. De ce côté la base permet de ne charger que les textes que tu veux afficher.

n°538001
impulse
Posté le 13-10-2003 à 11:39:25  profilanswer
 

Hum... en fait y'a ce qu'il faut ds PHP pour l'internationalisation => gettext(). Je vais essayer d'utiliser cette methode, c'est fait pour apres tout. :)

n°538048
impulse
Posté le 13-10-2003 à 12:01:36  profilanswer
 

Apres un petit essai, gettext() a l'air pas mal du tout.
 
Pour ceux qui veulent essayer =>
 
tuts :
http://www.onlamp.com/pub/a/php/20 [...] tml?page=1
http://www.aota.net/forums/showthr [...] adid=10615
 
binaires pour win :
http://home.a-city.de/franco.bez/g [...] 32_en.html

n°539151
ant-103
Posté le 14-10-2003 à 13:37:33  profilanswer
 

Bah ouais c bien ton truc impulse mais comment tu fais quand tu mets ton site web en ligne sur un serveur qu'est pas le tien et où tu peux pas jouer avec le php.ini ?

n°539153
MagicBuzz
Posté le 14-10-2003 à 13:39:55  profilanswer
 

Bah tu passes par un vrai hébergeur au lieu de rester chez Free qui de toute façon n'est visible que par 0.00001% des internautes 99.99999% du temps. (non, je ne suis pas Marseillais, j'aurais rajouté quelques décimales dans ce cas ;))


Message édité par MagicBuzz le 14-10-2003 à 13:40:32
n°539240
impulse
Posté le 14-10-2003 à 14:32:01  profilanswer
 

Citation :

Bah ouais c bien ton truc impulse mais comment tu fais quand tu mets ton site web en ligne sur un serveur qu'est pas le tien et où tu peux pas jouer avec le php.ini ?


 
Hum... tu essayes de charger l'extension avec dl()?
Je ne me suis jamais posé la question, c'est toujours moi qui gere le serveur web en fait donc je le configure comme je veux. :)


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

  [PHP] Internationalisation, meilleure technique pour un petit site?

 

Sujets relatifs
[PHP] Gros PB avec getimagesize HELP !!![ Web / C / Linux / Php ] Une foule de questions...
[PHP] un script pour récupérer des infos sur Allocine ?[PHP]Erreur bizarre $x*0..$y
[PHP] le mode_safe n est pas pris en comptePetit prob de débutant
[Algo/PHP] Cassage de tête...gestion des perte d'unité(jeu en ligne)[PHP-GD] Transformer un fichier texte en image ...
[HTML/JS] Afficher le nombre d'utilisateur connecté sur le site[PHP-GD] Actualiser une image générée en GD,
Plus de sujets relatifs à : [PHP] Internationalisation, meilleure technique pour un petit site?


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