Developpez.com - Rubrique Lazarus

Le Club des Développeurs et IT Pro

Comment internationaliser une application avec Free Pascal/Lazarus

Un tutoriel de Gilles Vasseur

Le 2016-12-16 21:08:29, par gvasseur58, Responsable Lazarus & Pascal

Avec ce tutoriel, vous allez apprendre à traduire un projet dans une autre langue.

Vous découvrirez aussi que la première langue étrangère pour Lazarus est… le français.

Vous constaterez enfin qu'à condition de montrer une certaine rigueur l’internationalisation d'une application écrite avec Free Pascal est presque un jeu d'enfant.

http://gilles-vasseur.developpez.com/tutoriels/lazarus-traduction/


Que pensez-vous de ce tutoriel ?

Prévoyez-vous une utilisation multilingue de vos applications ?

Retrouvez les meilleurs cours et tutoriels pour apprendre la programmation avec Lazarus
  Discussion forum
7 commentaires
  • e-ric
    Membre expert
    Bonjour Gilles

    Je viens de survoler ton article, il est très intéressant et je pense qu'il va rendre service à énormément de monde. Tu as eu une bonne idée car Il y a peu de ressources francophone sur le sujet. Je l'éplucherai plus tard quand je pourrais me remettre au "développement de loisir".

    Merci pour le travail apporté et la clarté du texte.

    Pour ma part, je traduis toujours des pages du wiki de FreePascal, cela avance gentiment (cela reste un travail conséquent) mais nous aurons bientôt autant de pages en français qu'il n'y en a en allemand, première langue non anglaise dans ce wiki, ce qui n'est pas une surprise car FPC est à l'origine un projet d'Outre-Rhin).

    @ensemble des habitués du forum : si vous pouviez faire des relectures de temps à autres des articles en Français sur le Wiki pour détecter les fautes, les incohérences enfin tout ce qui pourrait être corrigé ou amélioré, ce serait appréciable. J'attendrais cela notamment des personnes qui souhaitent des articles en français, maintenant que ceux-ci arrivent c'est le moment.

    Cdlt
  • Alcatîz
    Responsable Pascal, Lazarus et Assembleur
    Bonjour,

    Comme d'habitude ce tutoriel est de très grande qualité.

    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.

    Il y a également un autre aspect relativement important dans le cadre de l'internationalisation d'une application. D'une langue à l'autre, la longueur des chaînes de caractères peut être très variable ; il s'agit donc de concevoir son IHM de manière souple, en permettant des auto-dimensionnements de fenêtres et de contrôles et en jouant avec les contraintes, et en plaçant ses composants de manière intelligente.

  • dimanche2003
    Membre actif
    Bravo à l'auteur de ce tuto.

    Quel talent pour simplifier une tâche indispensable (pensons à nos smartphones) mais plutôt indigeste !
  • e-ric
    Membre expert
    Salut

    Merci, je n'attends de remerciement particulier mais si plus de fans de FPC+Laz intervenaient, cela avancerait plus vite et permettrait d'améliorer grandement la documentation.

    Au fait, ton nom d'utilisateur ne serait pas FTurtle par hasard ?

    Cdlt
  • gvasseur58
    Responsable Lazarus & Pascal
    Envoyé par e-ric

    Pour ma part, je traduis toujours des pages du wiki de FreePascal, cela avance gentiment (cela reste un travail conséquent) mais nous aurons bientôt autant de pages en français qu'il n'y en a en allemand, première langue non anglaise dans ce wiki, ce qui n'est pas une surprise car FPC est à l'origine un projet d'Outre-Rhin).
    Bonjour !

    Je suis tes progrès concernant les traductions et interviens de temps en temps. Merci pour ce travail !
  • gvasseur58
    Responsable Lazarus & Pascal
    Envoyé par e-ric

    Au fait, ton nom d'utilisateur ne serait pas FTurtle par hasard ?
    Bonjour,

    J'aurais pu avec le développement du GVLOGO, mais non, c'est : gillou58...
  • gvasseur58
    Responsable Lazarus & Pascal
    Envoyé par Alcatîz

    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.
    Merci Alcatïz pour cette remarque : je vais de ce pas actualiser le tutoriel.

    Envoyé par Alcatîz

    Il y a également un autre aspect relativement important dans le cadre de l'internationalisation d'une application. D'une langue à l'autre, la longueur des chaînes de caractères peut être très variable ; il s'agit donc de concevoir son IHM de manière souple, en permettant des auto-dimensionnements de fenêtres et de contrôles et en jouant avec les contraintes, et en plaçant ses composants de manière intelligente.
    Remarque très juste. J'ajouterais qu'il faut aussi tenir compte de l'OS. Ainsi, les polices par défaut ne sont pas les mêmes en général, et j'ai pu remarquer que les étiquettes Linux devaient particulièrement être suivies.

    Encore merci

    Gilles