Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/11/2007, 17h33   #1
Membre du Club
 
Inscription : avril 2004
Messages : 77
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : avril 2004
Messages : 77
Points : 50
Points : 50
Envoyer un message via ICQ à Info-Rital Envoyer un message via MSN à Info-Rital Envoyer un message via Yahoo à Info-Rital Envoyer un message via Skype™ à Info-Rital
Par défaut [CSV] Internationalisation et performances

Bonjour, je développe actuellement un jeu en ligne.
Il est prévu de le traduire dans plusieurs langues. C'est pourquoi dans la première version, nous avons séparé les chaînes de caractères dans des fichiers externes et on les définissait de la manière suivante :
Citation:
define("_WELCOME", "Bienvenue");
Nous avons un nombre assez conséquent de constantes (plusieurs centaines) au moins. Alors nous les avions séparés en de multiples fichiers (un par page environ) car on pensait que PHP chargeait tout ces constantes avec define() dans la mémoire même celles qui ne sont pas utilisées. Est-ce le cas ?
Après selon la langue du visiteur nous faisions appel aux fichiers de langues adéquats.

Actuellement, nous réecrivons le code du jeu et nous cherchons alors une meilleure solution. Le critère principal est les performances.
J'ai entendu parlé de gettext. Qu'en est il niveau performance ?

Connaissez vous d'autres solutions (à part celles nécessitant une base de donnée) ?
Merci d'avance pour vos réponses.
Info-Rital est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 17h55   #2
Membre confirmé
 
Avatar de Mogwaï
 
Inscription : mai 2004
Messages : 247
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2004
Messages : 247
Points : 243
Points : 243
Envoyer un message via MSN à Mogwaï
Citation:
Envoyé par Info-Rital Voir le message
on pensait que PHP chargeait tout ces constantes avec define() dans la mémoire même celles qui ne sont pas utilisées. Est-ce le cas ?
Oui c'est le cas.

Personnellement pour gérer les langues, je me suis fait une petite classe qui lit un fichier CSV qui contient en premiere colonne un mot clé associé à chaque colonne qui represente une langue.
Je trouve que c'est un bon compromis entre la facilité de mise à jour du fichier par des traducteurs (qui n'y connaissent rien au PHP mais qui savent utiliser excel) et la facilité d'implémentation dans un projet. Pour ce qui est des performances, c'est forcément moins rapide que des define car il faut ouvrir le fichier et le transformer en tableau, mais pour moi ce n'est pas sur ce point que doit se faire l'optimisation.
__________________
Etre à son compte, y'a rien de mieux !
Mogwaï est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h51.


 
 
 
 
Partenaires

Hébergement Web