champ liste et rubrique
Stagiaire WDF
Inscrit:
17/07/2002 03:47
Post(s): 8
salut tous le monde

je developpe une application multilangue (5 langues )
dans ma base de type de poséde un fichier avec les rubriques suivantes :
1- identifiant type ( type est le nom de mon fichier )
2- libelle fr ( pour la langue française)
3- libelle ang ( anglais)
4- libelle es (espagnol)
5- libelle it (italien)
6- libelle deu (allemand)

dans une fenetre sous l'éditeur j'ai mis une champ de type liste dont il affiche la rubrique ( libelle fr)
et 5 bouton pour chaque langue

ma question est la suivante comment faire pour que lorsque je clique sur le bouton anglais ma liste
charge les libellé en langue anglais que j'ai déja taper

exemple :

dans le fichier type.fic je trouve 6 colonnes
id type | langue fr | langue ang |langue es |langue it|langue deu|
1 Hôtel hotel hotel hotel hotel



c'est a dire en fin de compte lorsque je change de langue la liste change de rubrique



envoyez le 12/10/2005 sur pcsoft
et wdforge

Contribution le : 12/10/2005 15:13
Créer un fichier PDF de la contribution Imprimer


Re: champ liste et rubrique
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Bonjour,
C'est une possibilité que de créer une rubrique par langue.
Mais par conséquent c'est leur accès qui va s'en ressentir.
voici des élément disparates qui devront, lors de leur mise en oeuvre dans votre projet, sans doute être structuées dans une classe pour plus de facilité.

Nation() va vous permettre de connaitre la langue appliquée dans votre projet. Un petit tableau de correspondance semble déjà nécessaire pour faire correspondre ses indices de langue avec votre organisation.

L'indirection va être indispensable. C'est une faculté de WinDev qui permet d'interpréter le contenu d'une chaine pour construire le nom d'un élément du projet... dont les noms des rubriques.

Un exemple est parlant :
cLangue est une chaine fixe sur 2 = "fr" // à modifier selon la valeur de Nation()
// appel du bon libellé dans type.fic
cValeurFr = {"TYPE.LIBELLE_"+cLangue,IndRubrique}
// cValeurFr contient la valeur de TYPE.LIBELLE_fr


L'indirection est l'interprétation de la chaine entre accolades qui permet de construire le nom d'un élément du projet. WinDev va parcourir l'espace mémoire à la rechrche de l'élément de ce nom. Il est possible de rendre cette recherche plus performante en spécifiant le type d'élément recherché (IndRubrique dans notre cas).

Vous avez les éléments voulus pour associer les bonnes rubriques.

Complément : pour faciliter votre programmation, il vous est possible de profiter des commandes EcranVersFichier et FichiersVersEcran en manipulant les propriétés des champs de vos fenêtres.
Mieux que programmer chaque affectation et lecture des champs "linguisitues", utilisez la propriété ..LiaisonFichier pour lier votre champs à la bonne rubrique de votre fichier.

Si par défaut vous associez vos champs aux rubriques de langue fr, l'application d'une autre langue sera possible par le code suivant :

// init projet
gcLangue est une chaine fixe sur 2 = "fr"
// on lui affecte "en" car vous avez associé les champs aux libellés en fr

PROCEDURE ChangeLangue(pcNomChamp)
// Récupère la rubrique associée au champ
cRub est une chaine = {pcNomChamp,IndChamp}..LiaisonFichier
// ceelle ci correspont elle à la langue courante
// on teste les deux dernier caractère de cRub et les compara à la globale gcLangue qui contien la langue à appliquer
SI droite(cRUB,2)<>gcLangue ALORS
   // la langue par défaut n'est pas celle en cours, il faut changer
   // Pour ce faire on remplace juste le "FR"
   {pcNomChamp,IndChamp}..LiaisonFichier=droite(cRUB,2)+gcLangue
FIN

// Initilisation de la fenêtre (fiche dans cet exemple)
// change la rubrique de chaque champs 'linguisitique'
// attention libelle est un mot réserver il faudra utiliser un nom de champ/rubrique différent...
ChangeLangue(LIBELLE)

// à cet instant LIBELLE n'est plus associé à TYPE.LIBELLE_FR mais TYPE.LIBELLE_EN ! le contenu anglais sera acheminé au champ via FichierVersEcran.

Contribution le : 12/10/2005 18:14
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2