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 :

Fonctionement étrange de TLang


Sujet :

Composants FMX Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 140
    Billets dans le blog
    5
    Par défaut Fonctionement étrange de TLang
    Bonjour

    J'ai une application qui va essentiellement fonctionner sous Windows (et peut être MacOS) que je voudrais faire multi-langue (anglais français).
    Du coup j'ai voulu utiliser le composant TLang

    Et c'est là que les ennuis commencent

    -Déjà au niveau du concepteur dans la colonne source j'ai des labels qui sortent de nul part

    -Ensuite quand je saisie des traductions pour la source après exécution du code il y a des mélanges.Un champ récupère la traduction d'un autre

    -Le bouton analyser les chaines ne récupère pas tout (par exemple le texte des itemmenu) et récupère des chaines qui ne devrait pas être récupérés. Dans mon cas il récupère des chaines qui appartiennent aux autres projet de mon groupe de projet.

    -Enfin je ne comprends pas comment on peut accéder aux traductions dans le code à partir de l'objet TLang lui même.
    J'ai dans mon code un objet qui descend d'un objet générique et qui a une fonction virtuelle appelée description qui renvoie une chaine correspondant à l'objet en question
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function TconsIncendie.description: String;
    begin
      result := Format('Sévérité %d', [lvaltest]);
    end;
    Je pensais transformer ma fonction ainsi en utilisant TLang

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function TconsIncendie.description(lang:TLang;codeLang:String): String;
    begin
      result := lang.LangStr[codelang].XXXXX
    end;
    le .XXXX étant la méthode qui me permet d'avoir le retour traduit

    Si quelqu'un a des idées je suis preneur

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 100
    Par défaut
    je connais pas le TLang mais LangStr étant une Strings, il me semble évident que cela soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function TconsIncendie.description(lang:TLang;codeLang:String): String;
    var
      I: Integer;
    begin
      result := 'Description dans la langue de référence'; 
      with lang.LangStr[codelang] do 
      begin
        I := IndexOfName(result);
        if I >= 0 then
          result := ValueFromIndex[I];
      end;
    end;
    Tu as intérêt d'utiliser massivement du Format pour faciliter la traduction de chaine contenant des valeurs dynamiques, rien est pire en traduction que faire du concat
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 663
    Billets dans le blog
    65
    Par défaut
    TLang, j'ai essayé pour une ou deux applis, je l'ai vite abandonné.

    Je lui ai préféré DKlang, juste un petit dpk à créer pour les versions récentes.
    Associé à l'éditeur c'est pas mal du tout

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

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

    Informations forums :
    Inscription : Mars 2019
    Messages : 220
    Par défaut
    Bonjour,

    DKLang, ne semble plus maintenu depuis 6 ans. J'hésite à l'utiliser aujourd'hui.

    btm me semble intéressant.

  5. #5
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 663
    Billets dans le blog
    65
    Par défaut
    Oui, il ne semble plus maintenu, mais comme il s'agit d'un open source en dépôt Git ...
    Btm Je ne connaissais pas, (je ne connaissais pas non plus BitBucket)

    Il me semble cependant qu'il y a une différence de "taille"
    DKlang -> un fichier par traduction
    BTM -> un seul fichier contenant toutes les traductions

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

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

    Informations forums :
    Inscription : Mars 2019
    Messages : 220
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Oui, il ne semble plus maintenu, mais comme il s'agit d'un open source en dépôt Git ...
    Btm Je ne connaissais pas, (je ne connaissais pas non plus BitBucket)

    Il me semble cependant qu'il y a une différence de "taille"
    DKlang -> un fichier par traduction
    BTM -> un seul fichier contenant toutes les traductions
    ppem en a parlé récemment sur twitch. Je n'ai pas encore eu le temps de le mettre en place.
    Il me semblait que l'on créait un fichier par langue.

  7. #7
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 140
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Je lui ai préféré DKlang, juste un petit dpk à créer pour les versions récentes.
    Associé à l'éditeur c'est pas mal du tout
    J'ai effectivement essayé DKlang mais je n'ai rien compris à son fonctionnement et pour ce qui est de l'éditeur c'est pire.

Discussions similaires

  1. Retour de fonction étrange dans Flex/Bison en C
    Par DjPoke dans le forum Générateurs de compilateur
    Réponses: 3
    Dernier message: 25/09/2014, 19h12
  2. fonction CONVERT : erreur étrange
    Par Zippp77 dans le forum Développement
    Réponses: 18
    Dernier message: 26/07/2010, 11h57
  3. comportement étrange de la fonction to_char
    Par pascal_T dans le forum SQL
    Réponses: 3
    Dernier message: 04/12/2009, 10h40
  4. Fonction grep - comportement étrange
    Par pleiade dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 19/11/2008, 19h07
  5. Fonction étrange
    Par Defrag dans le forum Flash
    Réponses: 3
    Dernier message: 17/07/2003, 19h01

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