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

Schéma Discussion :

[FN]En lignes ou en colonnes ?


Sujet :

Schéma

  1. #1
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut [FN]En lignes ou en colonnes ?
    Bonjour,

    je dois gérer le multilanguisme dans mon application : j'ai trois langues au choix, Français, anglais et espagnol. En fonction de la langue choisie je dois afficher dans mon libellé par exemple "propriété" ou "property" ou ..

    Pour le moment je pense gérer ça en tables, donc j'ai une table de langues (01 --> Fr, 02 --> EN, ...) et une table où je met les libellés !

    ma question, est il plus judecieux de mettre les libellées en colonnes ou en lignes c'est à dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ID        Langue            Libelle
    ------------------------------------
    001         01                  propriété
    001         02                  property
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ID        Langue            LibelleFR            LibelleEN
    ---------------------------------------------------------
    001         01                  propriété         property
    je pense que la deuxième conception est meilleure puisque je fait un seul select du champ libelle (en lui concaténant la langue) et aussi que c'est beaucoup plus lisible au niveau de la base, c'est plus facile pour gérer aussi les id par ce que dans le premier cas ma clé c'est ID-Langue et dans le deuxième cas, c'est juste ID, ...

    j'aimerais bien avoir votre avis sur la question !

    Merci.
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  2. #2
    Membre habitué
    Avatar de Casp
    Homme Profil pro
    Reponsable Technique
    Inscrit en
    Avril 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Reponsable Technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 133
    Points : 132
    Points
    132
    Par défaut
    salut, dans ta seconde solution ta colonne langue doit disparaitre car elle est inutile et incorrect pour ce cas.

    si ton appli est en java, utilise les ressources bundle pour l'internationnalisation au lieu d'utiliser des tables en BD.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 76
    Points : 83
    Points
    83
    Par défaut
    Dans la boîte où je bosse, nous gérons cela en base avec la deuxième méthode.
    Un accès base est plus rapide et plus judicieux.
    Selon la langue, nous ramenons les traductions puis nous affichons les bons libellés via une méthode d'affichage avec le numéro ID, tout simplement.
    Voili voilou

  4. #4
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut
    > casp : Tu as raison pour la colonne langue sinon j'utilise dot net et il y a bien une option de localisation mais bon malheureusement à l'unanimité on préfère gérer cela seuls

    > romano21 : c'est ce qu'on va faire, une méthde qui cherche le bon libellé selon le langage.

    Sinon l'utilisation d'un fichier XML avec les bon libellés n'est pas bonne ? (j'ai rarement eu affaire à XML)

    En vous remerciant.
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  5. #5
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut Re: [Conception]En lignes ou en colonnes ?
    Citation Envoyé par Morsi
    je pense que la deuxième conception est meilleure
    Meilleure alors que tu dois changer ta requête pour chaque langue (pas le même nom de colonne vs pas la même valeur d'un paramètre) ?
    Meilleure alors que si tu dois ajouter une nouvelle langue, tu vas devoir modifier les schéma de ta table et tous tes programmes accédant aux libellés ?
    Je ne vois pas ce qu'il y a de plus compliqué dans la première méthode :
    1) le code langue est choisi à un instant t et reste valide jusqu'au prochain changement
    2) un index avec deux colonnes numériques ne va pas être sensiblement moins performant qu'un index avec une colonne numérique.

    Personnellement, je n'hésite pas : jamais la méthode 2.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  6. #6
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut
    Tu as peut être raison médiat !

    pour le moment je teste la localisation de VS qui ne semble pas bien marcher ! mdr !
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  7. #7
    Membre habitué Avatar de LaNat
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    162
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Avril 2005
    Messages : 162
    Points : 164
    Points
    164
    Par défaut
    Je suis en train de bosser sur un truc similaire, moi mon problème est de savoir comment faire le lien entre les tables dont on veut traduire un libellé et la table qui nous sort le libellé traduit?
    Je m'explique : j'ai par exemple une table T1 et une table T2 qui contiennent chacune un libellé à traduire, et j'ai une table traduction qui contient l'id de la langue, le libellé traduit, etc.
    Si je fais une association entre T1 et trad et T2 et trad, je vais avoir dans trad l'id de T1 et l'id de T2, donc si j'ai 15 tables à traduire j'aurais 15 id dans trad et ca c'est pas bon!!
    Auriez vous une solution?
    Merci d'avance.

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

Discussions similaires

  1. Excel VBA - Dernière ligne d'une colonne
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/12/2005, 17h33
  2. Réponses: 3
    Dernier message: 26/09/2005, 22h24

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