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 :

traduction et bdd mysql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Par défaut traduction et bdd mysql
    Bonjour à tous,

    Je voudrais avoir votre avis.

    Je suis en train d'internationaliser mon site et j'hésite entre plusieurs solutions.

    Laquelle est la mieux, (simple et rapide lors de l'utilisation, accès serveur et ainsi de suite)

    Option 1 : MYSQL
    J'ai la possibilité de créer une table qui stockera toutes les traductions et en fonction d'un script PHP je vais lire cette table pour changer les variables en fonction de la langue de l'utilisateur.

    Option 2 : Fichier Texte
    Utiliser des fichiers textes pour stocker la traduction comme la méthode utiliser par OScommerce

    Option 3 : GetText
    Je n'ai pas encore compris totalement la méthode, si elle est similaire à l'option 2 où si c'est une mise à jour lié à PHP5.2 et qui fait référence à une nouvelle méthode d'internationalisation.

    Merci pour votre avis et de m'expliquer les raisons de vos choix.

    Bon week-end à tous et merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut
    Utiliser une base de données ne présente pas un grand intérêt vu que les traductions sont "statiques", donc ça consomme inutilement des ressources (à moins d'avoir un système de cache derrière).

    Gettext j'ai jamais testé mais ça me semble plutôt intéressant, à voir à l'usage après mais au moins c'est fait pour ça.

    Sinon il y a aussi la possibilité des fichier XML comme en ASP.NET, c'est assez facile à manipuler d'autant plus qu'avec SimpleXML on peut les traiter comme des objets.

    Mais clairement c'est plus vers Gettext que je m'orienterais, je pense que c'est ce qui est de plus-en-plus utilisé.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 71
    Par défaut
    Salut,

    effectivement Gettext est la meilleure solution car compilée donc plus rapide!
    Aprés si tu veux t embeter moins et que n importe qui puisse l utiliser le mieux c est les fichiers CSV car tout le monde a Excel ou Open Office et tout le monde ne veux pas utiliser un editeur gettext et avoir a comprendre comment ca s utilise!

    Par contre la pire solution c est celle del OSCommerce avec des define,c est un bordel fini

  4. #4
    Membre éclairé Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Par défaut
    Citation Envoyé par lunarnet76 Voir le message
    Salut,

    effectivement Gettext est la meilleure solution car compilée donc plus rapide!
    Aprés si tu veux t embeter moins et que n importe qui puisse l utiliser le mieux c est les fichiers CSV car tout le monde a Excel ou Open Office et tout le monde ne veux pas utiliser un editeur gettext et avoir a comprendre comment ca s utilise!

    Par contre la pire solution c est celle del OSCommerce avec des define,c est un bordel fini
    Merci à vous deux, pour vos commentaires, oui en effet, l'oscommerce c'est un gros bordel, il y en a partout.... mais ne connaissant pas d'autres solutions, et l'ayant mis en place pour un client, je me demandais si c'était une solution possible.... a priori c'est pas la meilleure.

    Je vais me pencher sur le GetText, bien que je n'en ai pas beaucoup le temps.

    Pour les fichiers CSV, je voudrai m'affranchir d'outils externes comme excel ou open office pour des raisons de liberté d'évolution.

    C'est aussi pour cela que j'avais initialement opté pour la solution de la table de traduction avec des clés croisés entres tables.

    Mais je me questionne toujours à la "consommation de la bande passante" pour les solutions 'mysql" et "gettext"....

    Laquelle est la moins gourmande ???

    Merci encore à vous deux pour vos commentaires.

    J'attends d'autres points de vu avant de fermer cette discussion.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    personnellement, j'opte pour la solution BDD, Pour plusieurs raisons :
    1- choix de la table de la BDD a utiliser :
    (avec des tables FR-matable, EN-matable, ...)
    $LANG = ... (FR, ou EN, ou ... récupéré d'un clic sur un drapeau par exemple)
    $SQL = "SELECT * FROM ".$LANG."-matable ......"
    2- administration :
    il est possible de créer un espace "admin" ou le quidam lambda (le client, en l'occurence, ou ma mère !) pourra très facilement modifier les textes, sans la moindre connaissance en programmation.
    3- modification facile, meme pour le programmeur (phpMyAdmin !)


    Pour la question de "consommation de la bande passante" pour les solutions 'mysql" et "gettext"....
    (sans connaitre "gettext") Si "gettext" était plus efficace qu'une BDD, alors pourquoi tous les sites fonctionnent-ils avec des BDD ?
    (ceci n'engage que moi ...)

  6. #6
    Membre éclairé Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,
    personnellement, j'opte pour la solution BDD, Pour plusieurs raisons :
    1- choix de la table de la BDD a utiliser :
    (avec des tables FR-matable, EN-matable, ...)
    $LANG = ... (FR, ou EN, ou ... récupéré d'un clic sur un drapeau par exemple)
    $SQL = "SELECT * FROM ".$LANG."-matable ......"
    2- administration :
    il est possible de créer un espace "admin" ou le quidam lambda (le client, en l'occurence, ou ma mère !) pourra très facilement modifier les textes, sans la moindre connaissance en programmation.
    3- modification facile, meme pour le programmeur (phpMyAdmin !)
    Ha intéressant, cela rejoint ce que j'avais imaginé en premier jet pour mon site....

    J'ai une table qui gère toutes les traductions avec des clefs identifiants

    une table "Langue"

    id_langue
    nom_langue
    actif (pour n'afficher que celle active en fonction des volontés du client)

    une autre table "langue_traduction"

    id_langue_traduction
    id_langue (référence à la table ci-dessus du texte d'origine)
    texte (texte dans la langue de l'id_langue du texte d'origine)
    id_langue_traduit (référence à la langue du texte traduit)
    texte_traduit (texte dans la langue traduite)

    Ensuite je fais appel à un script qui va chercher les variables dans la langue sélectionné par le "drapeau" ou le menu "langue" affiché sur le site.

    Est-ce que la logique est bonne ?

    ps: pour les traductions j'ai créé un module d'admin avec des piles de mots et de phrases à traduire pour éviter d'aller dans phpmyadmin.

    Merci encore des commentaires

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/01/2005, 21h09
  2. Gestion de bdd MySql
    Par carlito dans le forum Débuter
    Réponses: 2
    Dernier message: 30/03/2004, 14h54
  3. Changements de colonnes dans une BDD MySQL
    Par arnaud_verlaine dans le forum Requêtes
    Réponses: 8
    Dernier message: 07/08/2003, 11h33
  4. connection a une BDD MySql
    Par delire8 dans le forum MFC
    Réponses: 7
    Dernier message: 19/06/2002, 18h18

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