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

EDI Delphi Discussion :

[XE2] Déploiement d'une appli multilangue


Sujet :

EDI Delphi

  1. #1
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut [XE2] Déploiement d'une appli multilangue
    Bonjour,

    Je développe sous Delphi XE-2 une appli multilangue (FR, US).
    J'ai réalisé les étapes ci-dessous pour créer mon appli multilangue:
    • dans mon projet principal, ajout des langues en faisant Projet/Langues/Ajouter.
    • les répertoires FRA et ENU sont disponibles
    • la modification des resource string est ok
    • la compilation FR et ENU fonctionnent lorsque je sélectionne la langue Projet/Langues/Activer
    • après compilation, les exe sont bien en Anglais ou Français selon la sélection faite ci-dessus.


    Toutefois lorsque je déplace cet exe, il est forcément en Français alors que dans son répertoire de compilation il est en anglais.

    Sur le lien d'Embarcadero, je comprends qu'il y a une histoire de clef de registre mais je ne vois pas comment utiliser tout cela pour l'installation de mon exe sur un poste client.

    Ma question est: quels fichiers de traduction dois-je livrer pour créer un setup d'installation qui installera la version US ou Fr de mon exe ?

    Merci pour vos retours.

  2. #2
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    Sur ce lien il semblerait que je soit obligé d'écrire dans la base de registre le type de langue que je souhaite utiliser en plus de distribuer les fichiers ENU et FRA.

    Je suis étonné d'être obligé d'écrire dans la base de registre.

    Existe-il une autre solution ?

  3. #3
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Non, comme indiqué dans le lien, il faut le .exe ET les traductions (qui sont des DLL)
    C:\Program Files\Test\Test.exe
    C:\Program Files\Test\Test.exe.fr-FR
    C:\Program Files\Test\Test.exe.de-DE
    
    la clé de registre permet à l'IDE de forcer la langue à utiliser indépendamment des paramètres de Windows. Il ne faut pas la déployer et laisse l'application choisir son fichier de langue.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    Bonjour,

    Merci Paul Toth pour ta réponse.

    Effectivement en lisant l'article d'Embarcadero, il est dit que je dois livrer l'Exe et les DLL comme indiqué ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\Program Files\Test\Test.exe
    C:\Program Files\Test\Test.exe.fr-FR
    C:\Program Files\Test\Test.exe.de-DE
    Le problème est que je n'ai pas la construction Test.exe.fr-FR ou Test.exe.de-DE.

    Est-ce à moi de les créer en rajoutant l'extension ?

  5. #5
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Les fichiers de langue sont des Projets créés par le menu Langue.

    Si je prend le projet Project1.exe et que je lui ajoute l'allemand, je retrouve le projet Project1.DEU dans le groupe de projet, c'est ce projet qui permet de saisir les traductions, et c'est lui qu'il faut compiler pour obtenir le fichier de langue.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  6. #6
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    Les fichiers de langue sont des Projets créés par le menu Langue.

    Si je prend le projet Project1.exe et que je lui ajoute l'allemand, je retrouve le projet Project1.DEU dans le groupe de projet, c'est ce projet qui permet de saisir les traductions, et c'est lui qu'il faut compiler pour obtenir le fichier de langue.
    Tout cela je l'ai bien.
    Mais lors de ma compilation de Project1.DEU, j'ai uniquement la création de Project1.DEU (qui n'est pas un exécutable) mais en aucun cas j'ai Project1.exe-de.DEU.

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    Citation Envoyé par lefju cabro Voir le message
    Mais lors de ma compilation de Project1.DEU, j'ai uniquement la création de Project1.DEU (qui n'est pas un exécutable) mais en aucun cas j'ai Project1.exe-de.DEU.
    Ce qui est normal. Chaque langue est un projet à part entière et indépendant du projet principal. Il faut tous les compiler.
    A l'exécution et s'il n'y a pas besoin de traduction, seul le .exe est utilisé. Sinon, le .exe charge le fichier localisé et l'utilise comme librairie de ressources dans lequel il va récupérer les fiches et textes.

    La localisation sous Delphi n'est pas des plus simples et requiert d'être très (trop) systématique sous peine de désynchronisation (ex. une fiche traduite sur laquelle il manque des champs !). Je lui préfère GNU GetText.

  8. #8
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Ce qui est normal. Chaque langue est un projet à part entière et indépendant du projet principal. Il faut tous les compiler.
    A l'exécution et s'il n'y a pas besoin de traduction, seul le .exe est utilisé. Sinon, le .exe charge le fichier localisé et l'utilise comme librairie de ressources dans lequel il va récupérer les fiches et textes.
    J'avais bien compris ça. En compilant tous mes projets, j'obtiens:
    - MonProjet.exe
    - MonProjet.FR
    - MonProjet.ENU
    Mais je n'ai jamais les fichiers MonProjet.fr-FR ou MonProjet.enu-ENU. Ces fichiers sont-ils obligatoires ?

    Si dans un nouveau répertoire, je dépose MonProjet.exe et MonProjet.ENU, j'ai mon appli en français car c'est la langue par défaut.

    Dans mon code source de mon application je n'ai rien codé pour le choix des langues: c'est uniquement lors de l'installation (par un setup) que le choix de la langue se fait. L'installeur dépose ensuite l'application MonProjet.exe et le fichier MonProjet.ENU ou MonProjet.FR. Cette méthode est-elle correcte ou faut-il me mettre sur le bûcher ?

  9. #9
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par lefju cabro Voir le message
    Tout cela je l'ai bien.
    Mais lors de ma compilation de Project1.DEU, j'ai uniquement la création de Project1.DEU (qui n'est pas un exécutable) mais en aucun cas j'ai Project1.exe-de.DEU.
    en effet, c'est un .DEU et non .exe-de.DEU, mais c'est bien le fichier nécessaire à la traduction.

    Techniquement c'est une DLL renommée; tu peux regarder le fichier DEU\Project1.dpr, c'est une Library avec un {$E DEU} pour chager l'extension, elle ne contient pas de code, uniquement des ressources.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  10. #10
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    en effet, c'est un .DEU et non .exe-de.DEU, mais c'est bien le fichier nécessaire à la traduction.

    Techniquement c'est une DLL renommée; tu peux regarder le fichier DEU\Project1.dpr, c'est une Library avec un {$E DEU} pour chager l'extension, elle ne contient pas de code, uniquement des ressources.
    Je ne savais pas, j'ai regardé et j'ai compris ce point.

    Cependant je ne comprends toujours pas comment déployer mon application en FR ou ENU sur un poste client avec un setup d'installation.

    Dois-je implémenté quelque chose dans mon code pour dire de prendre le ENU ou le FR ?

    Ci-joint une doc qui explique comment je fais actuellement pour installer mon exe sur un poste client.
    Fichiers attachés Fichiers attachés

  11. #11
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 693
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 693
    Points : 13 128
    Points
    13 128
    Par défaut
    Bon, reprenons !

    • Si ton application est en français, pas besoin de la localiser (pas besoin de .FR)
    • Installer tous les fichiers localisés ne pose pas de problème.
    • S'il n'y a aucune entrée dans la base des registres, la langue utilisée, pour autant qu'un fichier localisé existe, dépendra de l'OS. S'il n'y en a pas, c'est la langue de l'exe (langue par défaut) qui sera utilisée.
    • Si tu veux laisser le choix à l'utilisateur, il faut une entrée dans la BdR.

    A noter qu'avec Inno Setup, tu ne devrais pas avoir de soucis pour installer les bons fichiers en fonction de la langue choisie.

Discussions similaires

  1. Pb de déploiement d'une Appli Access en Grèce
    Par Alain LF dans le forum Access
    Réponses: 3
    Dernier message: 25/01/2008, 16h15
  2. [Eclipse 3.3] déploiement d'une appli web
    Par grignou dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 05/09/2007, 17h11
  3. [VB6]déploiement d'une appli sur plusieurs postes
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/04/2006, 10h32
  4. [jonas/struts] RE déploiement d'une Appli
    Par ould dans le forum JOnAS
    Réponses: 4
    Dernier message: 26/03/2006, 23h16
  5. [WTP]déploiement d'une appli comment faire?Je craque
    Par phalae dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 23/02/2006, 17h10

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