IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

{Site multiLingue} Meilleur moyen de stockage pour les clés de langues


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Par défaut {Site multiLingue} Meilleur moyen de stockage pour les clés de langues
    Bonjour,
    Je vais commencer un site multilingue et donc je me demande quel moyen est le plus performant, le plus rapide et le plus facile pour les traducteurs à traduire le site.

    Beaucoup de CMS emploient des tableaux array (mais je pense ça un peux lourd ?)
    D'autres comme Wordpress et Drupal utilisent je pense GetText
    Joomla utilise des fichiers .ini (peut-être que les fichiers .ini sont pus rapides de les tableaux PHP ?)
    ou en fichier .xml et encore dans une base de données (ce que je pense être le plus lourd)
    Avez-vous des conseilles dans le choix ?
    et qu'utilisez-vous ?
    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Bonjour,

    Beaucoup de CMS emploient des tableaux array (mais je pense ça un peux lourd ?)
    Pas plus qu'une autre méthode.

    Joomla utilise des fichiers .ini (peut-être que les fichiers .ini sont pus rapides de les tableaux PHP ?)
    Pour les fichiers ini, ça dépend de comment est fait le parsing, pour le xml, je déconseillerais justement à cause du parsing qui est plus lourd...
    ou en fichier .xml

    et encore dans une base de données (ce que je pense être le plus lourd)
    Si c'est des traductions d'éléments de la base non, car tu récupères tes traductions en même temps que les valeurs dans une même requête.

    Nous de manière plus basique, on utilise à la fois des traductions en base de données, quand il s'agit de traduire des éléments de la base, et pour les textes mêmes des sites webs, un fichier php par langue (lang_fr.php, lang_en.php, etc...) où sont définies des variables globales pour chaque texte...

    Après toutes les méthodes ont des avantages et inconvénients... A toi de voir selon tes besoins et contraintes spécifiques, quelle est la meilleure (ou moins pire) solution.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    J'utilise gettext pour plusieurs raisons :

    - Extrêmement facile à traduire pour des non informaticien grace au soft type poedit.

    - Traduction mise en cache automatiquement par Apache (c'est par contre pénalisant en développement)

    - Très lisible dans le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo _('ceci est mon texte en français');
    - Supporter par le moteur de template que j'utilise (Twig)

    - Solution performante et éprouvée

    Citation Envoyé par Fabllot
    Pas plus qu'une autre méthode.
    Justement si , car avec les tableaux tu vas charger en mémoire beaucoup de variable pas forcément utilisée; idem pour les fichier avec des globals. Alors que les autres solutions sont bien plus précise.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Citation Envoyé par grunk Voir le message
    Justement si , car avec les tableaux tu vas charger en mémoire beaucoup de variable pas forcément utilisée; idem pour les fichier avec des globals. Alors que les autres solutions sont bien plus précise.
    Pardon, effectivement je n'était pas clair. Je prenais le "lourd" de manière plus générale... "lourd en mémoire" mais aussi "lourd en traitement"...
    Si les variables et tableaux sont plus lourds en mémoire, les fichiers xml, ini, les bases de données vont être plus "lourdes" en traitement suivant les cas.
    Je ne connais pas gettext, donc je ne pourrais émettre un avis dessus, cependant, quelque soit la méthode il y a un juste milieu mémoire/traitement à trouver. Pour gettext il faut voir si justement cela n'encombre pas trop Apache ou quelles sont les situations optimales pour l'utiliser.

    Je regarderai cela pour mon prochain site !

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Gettext travail avec un fichier compiler contenant un index des traduction disponible.
    Donc un appel du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _('texte à traduire');
    - Ouvre le bon fichier en fonction de la langue
    - Cherche dans l'index 'texte à traduire'
    - Affiche la valeur associé à cette clé.

    L'un des gros avantage de gettext c'est que tu n'as pas besoin de construire le fichier de langue au fur et à mesure. Il existe un outils qui va venir parser tous tes fichiers et extraire les chaines à traduire pour construire le premier fichier de langue.

    En revanche gettext est assez contraignant à utiliser au départ car il nécessite quelques prérequis pour fonctionner. Si on ne les a pas , c'est la galère.

    Un article qui compare plusieurs façon de faire : http://insidetags.com/php/techniques-site-multilingue/
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Y'a aussi les .res d'ICU mais c'est pas encore très implémenté dans le monde de PHP (extension Intl), ça te permet d'avoir les mêmes fichiers de trad que Java,C, C++
    tu peux en plus utiliser le format XLIFF (qui est lisible par Symfony et le Zend Framework aussi)

    http://www.php.net/manual/fr/resourcebundle.create.php
    http://userguide.icu-project.org/locale/localizing
    http://framework.zend.com/manual/en/...e.adapter.html
    http://trac.symfony-project.org/wiki...ook/trunk/i18n

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Par défaut
    Merci beaucoup pour vos réponses
    @grunk est-ce que Gettext support-il aussi Smarty (puisque c'est ce moteur de template que j'utilise)
    Et avez-vous une idée si la plupart des hébergeurs mutualisés activent gettex dans le php.ini ?

Discussions similaires

  1. [PHP 5.0] problème de stockage pour les fichier uploder
    Par diblasio dans le forum Langage
    Réponses: 2
    Dernier message: 09/08/2010, 23h47
  2. Quelle type de stockage pour les données
    Par scarfunk dans le forum VB.NET
    Réponses: 10
    Dernier message: 27/04/2010, 12h44
  3. Réponses: 0
    Dernier message: 17/03/2010, 14h33
  4. Meilleure méthode de tri pour les combobox
    Par boss_gama dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/03/2009, 10h48
  5. Réponses: 0
    Dernier message: 18/05/2007, 17h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo