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

Lazarus Pascal Discussion :

Afficher le DBNavigator dans un fichier po


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de FOCUS77
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Par défaut Afficher le DBNavigator dans un fichier po
    Bonsoir à tous,

    Le fichier MonProjet.fr.po affiche tous les captions et composants sauf les DBNavigators.
    afin de Franciser les Hints de DBNavigator je les ai modifiés ainsi:

    Premier
    Précédent
    Suivant
    Dernier
    Insérer
    Supprimer
    #Éditer
    Poster
    #Abandonner
    #Rafraîchir

    #text pour un bouton invisible.

    Cependant pour d'autre langues j'ai préféré configurer plutôt le fichier po.

    Des idées?

  2. #2
    Rédacteur

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Billets dans le blog
    84
    Par défaut
    Bonjour,

    Pour le DBNavigator, il n'y a pas besoin de traduire les hints qui le sont déjà dans le fichier lazarus.XX.po correspondant à la langue en cours (XX pour la langue, par exemple "fr" pour le français).

    Parmi les tutoriels sur Lazarus, il y en a un sur l'internationalisation des logiciels. Tu pourrais t'en inspirer largement.
    Un conseil : tenir compte du post d'alcatîz (je n'ai pas encore eu le temps de mettre à jour le tutoriel ).

    Cordialement,

    Gilles

    PS : je devrais préciser : pas de traduction nécessaire si le fichier po est à jour...
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  3. #3
    Membre éclairé
    Avatar de FOCUS77
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Par défaut
    Bonjour à tous,

    @GV

    Je n'ai pas su comment réglé ce problème sauf superposé deux dbnavigators
    le premier conserve les Hints en Français.
    le deuxième ses Hints sont changés en Arabe.

    et que leurs visibilités sont exclusives

  4. #4
    Membre éclairé
    Avatar de FOCUS77
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Par défaut
    Bonsoir à tous,

    Les fichiers Projet.xx.po sont reconnus et lus par l'application tandis que les fichiers lclstrconsts.xx.po sont ignorés
    bien que j'ai ajouté une Unit 'Translations' à uses pour localiser ces fichiers.

    En fait ses derniers ne sont lus qu'une seule fois lors de démarrage de l'EDI.

    Donc la bascule d'une langue à l'autre ne serait que partielle ou m'échappe t-il quelques choses?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TAcceuil.Button1Click(Sender: TObject);
    var langpath:ansistring;
    begin
      langpath:=ExtractFilePath(Application.ExeName)+'Languages\' ;
      Translations.TranslateUnitResourceStrings('LCLStrConsts',
    langpath + 'lclstrconsts.ar.po','ar', '');
      lcltranslator.SetDefaultLang('ar');
    end;
    J'ai téléchargé cette démo: http://forum.lazarus.freepascal.org/...0;attach=12001
    mais pour le moment ça n'a pas réglé le problème.

  5. #5
    Rédacteur

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Billets dans le blog
    84
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TAcceuil.Button1Click(Sender: TObject);
    var langpath:ansistring;
    begin
       //Tout ce qui suit est inutile... car demande un redémarrage de l'application
      // langpath:=ExtractFilePath(Application.ExeName)+'Languages\' ;
      //Translations.TranslateUnitResourceStrings('LCLStrConsts',
      //  langpath + 'lclstrconsts.ar.po','ar', '');
     
      // seule ligne utile !!!
      lcltranslator.SetDefaultLang('ar');
    end;
    Seule la dernière ligne est utile si les fichiers de traduction sont dans le sous-répertoire "languages" de l'application . Il n'y a plus besoin d'une unité spécifique.
    Voici ce qu'a écrit alcatîz à juste titre dans la discussion qui accompagne le tutoriel sur l'internationalisation auquel je renvoie encore :

    Je me permets de rajouter ma petite pierre à l'édifice. Depuis la version 1.2 de Lazarus, il est possible de basculer entre plusieurs langues sans devoir redémarrer l'application, grâce à la procédure SetDefaultLang de l'unité LCLTranslator.

    J'ai testé la chose avec succès et, à condition que les fichiers .po soient présents au bon endroit, l'exécution de SetDefaultLang('xx'); ('xx' pour 'fr', 'de', 'en'...) rafraîchit tous les contrôles et menus dans la langue désirée.
    Le "bon endroit" automatiquement trouvé par Lazarus est le sous-répertoire "languages" de l'application (en fait, il y a plusieurs "bons endroits", mais peu importe ici).

    NB : je ne coderais pas en dur les chemins afin de laisser l'application fonctionner sous Linux par exemple. Pour cela, il faut remplacer les '\' par PathDelim.

    NB2 : as-tu traduit les fichiers lclstrconsts.po et lazaruside.po en arabe ? Je crois qu'ils ne sont pas disponibles dans cette langue et ils seraient sans doute appréciés (en fait, lazarus.ar.po existe, mais il manque 4752 phrases non traduites ).
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  6. #6
    Membre éclairé
    Avatar de FOCUS77
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Par défaut
    Bonsoir à tous,

    @GV


    Les fichiers Projet.xx.po sont reconnus et lus par l'application tandis que les fichiers lclstrconsts.xx.po sont ignorés même lclstrconsts.fr.po
    tous mes fichiers po se trouvent dans le dossier :Application/Languages.


    Seule la dernière ligne est utile si les fichiers de traduction sont dans le sous-répertoire "languages" de l'application .
    Il n'y a plus besoin d'une unité spécifique.
    je suis d'accord

    Le "bon endroit" automatiquement trouvé par Lazarus est le sous-répertoire "languages" de l'application
    (en fait, il y a plusieurs "bons endroits", mais peu importe ici).
    ça je le sais.

    NB : je ne coderais pas en dur les chemins afin de laisser l'application fonctionner sous Linux par exemple. Pour cela, il faut remplacer les '\' par PathDelim.
    Bonne remarque.

    NB2 : as-tu traduit les fichiers lclstrconsts.po et lazaruside.po en arabe ? Je crois qu'ils ne sont pas disponibles dans cette langue et ils seraient sans doute appréciés (en fait, lazarus.ar.po existe, mais il manque 4752 phrases non traduites ).
    J'ai pensé déjà d'entamer cette traduction après la résolution de cette question.
    pour le moment J'ai traduit uniquement les 10 Hints du navigator, mais je ne pense pas que c'est la cause car même le fichier lclstrconsts.fr.po est ignoré.

    En fait si on dépose un Navigator sur une fiche et on exécute les Hints sont affichés en Anglais mais si on ouvre ce Hints et
    on déplace un mot parmi les 10 par la barre d'espacement les Hints seront affichés en Francais

    Je reformule ma question: est ce que quelqu'un peut me fournir le code qui transforme les Hints du français vers l'Anglais et inversement
    pendant l'exécution?

    merci

Discussions similaires

  1. Imprimer ce qui a été affiché à l'écran dans un fichier
    Par Yorel2006 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 01/04/2009, 12h20
  2. Réponses: 7
    Dernier message: 24/09/2008, 22h35
  3. [FPDF] Afficher plusieurs tableaux dans un fichier PDF
    Par Pakman80 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 30/07/2007, 15h19
  4. [Bash]:Afficher une boucle dans un fichier ?
    Par byloute dans le forum Linux
    Réponses: 2
    Dernier message: 03/04/2007, 11h12
  5. Réponses: 7
    Dernier message: 23/04/2006, 23h07

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