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

Composants FMX Delphi Discussion :

DKLang ne traduit pas correctement mon interface


Sujet :

Composants FMX Delphi

  1. #1
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut DKLang ne traduit pas correctement mon interface
    Bonjour

    Je cherche un habitué de DKLang.

    Certaines fois, le composant se plante et traduit un composant à la place d'un autre.
    Un tab par exemple n'est pas traduit.
    Ou alors, la traduction est affectée à un autre composant.

    Je peux corriger dans l’événement OLanguageChanged du dklangcontroller mais le problème est que je ne trouve aucun moyen de récupérer la valeur à utiliser en fonction de la langue en cours. Pour les constantes, pas de problème mais pour les sections correspondantes au DFM, rien à faire.
    Pourtant les données doivent biens trouver quelque part au changement de langue.

    J'ai pensé à charger le fichier .dklang et tous les fichiers .lgn pour faire moi-même la recherche mais le fichier .dklang ne fait pas partie des fichiers déployés.
    Je pourrais rajouter le fichier dans les ressources du projet et le récupérer au moment voulu mais tout ça me semble un peu exagéré.

    Une idée pour me faire gagner du temps ?

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    Bon, j'ai finalement développé un complément au composant pour compenser ses petites (même si peu fréquentes) erreurs
    Fichier dklang en ressource extrait au démarrage et chargé dans un objet de mon crû.
    Les traductions ajoutées pour chaque section et ça fait la "rue michel"

  3. #3
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Un peu hors sujet mais pas tant que ça, Embarcadero a annoncé que les solutions existantes de gestion de langues dans VCL/FMX étaient en voie de devenir DEPRECATED pour celles qu'ils fournissent et qu'il vaut mieux passer par autre chose. Ils seraient en discussion avec un éditeur tiers pour fournir une nouvelle façon de gérer tout ça.

    Il est donc possible que tu aies une autre solution avec l'une des versions à sortir d'ici un an. Du coup ne te prends pas trop la tête si c'est une utilisation ponctuelle de DKLang, il y aura peut-être plus pratique prochainement.

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    C'est une annonce importante que tu fais là.

    Après, si ça sort dans un an, ça sera utile à ce moment là mais pas dans l'urgence.
    J'ai conservé DKLang dans le projet mais j'ai juste ajouté une liste complète des traductions pour les cas où il ne fonctionne pas correctement.
    J'avais 2 choix possibles:

    1: Soit mettre les chaînes traduites pour les cas qui ne passent pas dans le OnLanguageChanged

    2: Soit charger toutes les traductions et ajouter une fonction de recherche dans la section voulue en fonction de la langue en cours.

    Je ne m'en sers que très peu, juste pour compenser les quelques problèmes remontés.
    D'ailleurs, je ne m'explique pas ces problèmes.
    Quand il sait traduire 2 onglets d'un tabcontrol mais pas le troisième, c'est à se demander ce qui cloche.

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par pprem
    Embarcadero a annoncé que les solutions existantes de gestion de langues dans VCL/FMX étaient en voie de devenir DEPRECATED pour celles qu'ils fournissent et qu'il vaut mieux passer par autre chose. Ils seraient en discussion avec un éditeur tiers pour fournir une nouvelle façon de gérer tout ça.
    ce serait pas un mal j'ai eu pas mal de difficultés avec les OTA officiels (et je crois que j'en ai encore avec un programme je crains qu'une des DLLs soit mal déployée sur un poste)
    C'est ce que je n'ai jamais aimé avec cette histoire de traduction, si tu oublies de recompiler pour tous les langages une modification mineure n'est pas forcément répercutée et

    DKLang est déjà un composant tiers, c'est TLang le composant "officiel". J'ai utilisé un peu DKlang mais je ne suis jamais tombé sur le genre de problème que tu exposes Papy d'où mon silence
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    DKLang est déjà un composant tiers, c'est TLang le composant "officiel". J'ai utilisé un peu DKlang mais je ne suis jamais tombé sur le genre de problème que tu exposes Papy d'où mon silence
    Le problème survient très rarement et façon incompréhensible.
    Imagine juste un TForm sur lequel tu poses un TabControl.
    Au départ, tu as 2 onglets. Les traductions fonctionnent très bien.

    Un beau jour, tu dois en ajouter un troisième.
    Sur cet onglet, un TLabel et un TButton.

    Au moment où on change la langue, ce qui devrait s'afficher sur le titre de l'onglet supplémentaire s'affiche dans le TLabel et ce qui devrait s'afficher dans le TLabel s'affiche sur sur le TButton.

    Pratique non ?

    J'ai pourtant bien mis à jour tous les composants du projet et vérifier les fichiers pour dklang, tout semble correct.
    C'est si à partir d'un certain niveau, il ne savait plus où il en est

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Ah, mais dès que tu modifies tes formes (je ne parle pas de positions des composants mais d'ajouts) il faut faire une mise à jour du "dictionnaire" ce n'est pas automatique (c'est le seul point que je trouve négatif) :
    Projet/DKLang - Update project language source

    Mais c'est peut-être ce que tu entends par
    J'ai pourtant bien mis à jour tous les composants du projet et vérifier les fichiers pour dklang
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    Déjà fait ...ça n'a rien changé.
    La seule solution que je n'ai pas tentée (pour ne pas avoir à reprendre les textes traduits), c'est de supprimer le composant, recompiler, faire l'update, puis repartir avec un nouveau composant manager.
    Si ça se trouve, ça aurait remis les choses en place.

    Tous les éléments de l'interface sont bien dans les fichiers et les clés numériques sont correctes.

  9. #9
    Membre actif Avatar de oneDev
    Homme Profil pro
    dilettant
    Inscrit en
    Mars 2019
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : dilettant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2019
    Messages : 213
    Points : 222
    Points
    222
    Par défaut
    Citation Envoyé par pprem Voir le message
    Il est donc possible que tu aies une autre solution avec l'une des versions à sortir d'ici un an. Du coup ne te prends pas trop la tête si c'est une utilisation ponctuelle de DKLang, il y aura peut-être plus pratique prochainement.
    Ça c'est vraiment une excellente nouvelle !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/04/2016, 19h26
  2. [Tcl/Tk] Mon interface n'affiche pas les images
    Par randazar dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 21/11/2006, 16h48
  3. Je comprend pas mon interface :/
    Par berceker united dans le forum Langage
    Réponses: 6
    Dernier message: 31/07/2006, 21h39
  4. Mon clonage n'est pas correct ?
    Par elitost dans le forum Langage
    Réponses: 6
    Dernier message: 21/03/2006, 14h38
  5. [IB71] mon Blob ne marche pas correctement
    Par BoeufBrocoli dans le forum InterBase
    Réponses: 2
    Dernier message: 17/09/2003, 14h03

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