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

Windows Forms Discussion :

Application Multi langue


Sujet :

Windows Forms

  1. #1
    Membre averti Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Points : 410
    Points
    410
    Par défaut Application Multi langue
    Salut

    Je dois m occuper la passer une grosse application en multi langue. En théorie je pense avoir compris avec un petit exemple c est bon .... mais la c est le gros b**** !

    J ai deja eu des "plantage" lorsque j ai passé un user control en multilangue:
    Donc j ai modifier la langue du user control ; et j ai modifié le text d un label ... et la il m ajouter un nouveau fichier ressource avec la langue. Le probleme en essayant d ouvrir le fichier ressource original Studio plante ... plusieurs type d erreurs différentes.
    L autre fichier resource a l air correcte

    Ensuite au demarrage de l application je change bien la culture mais il ne prends pas les bonnes resources.


    Quelqu un aurait des conseils ? best practices ?



    Merci d avance

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 93
    Points : 127
    Points
    127
    Par défaut
    La technique la plus simple que je connaisse (un peu tiré d'android) c'est via un fichier XML/txt (fin un fichier).
    Et ça prend cette forme (version très simplifiée) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    1=bonjour
    2=au revoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    1=hello
    2=good bye
    Après sur ta form tu utilise le data binding sur les id (qui sont le 1/2), et pour passer de français à anglais tu télécharges le fichier.

  3. #3
    Expert confirmé Avatar de ed73170
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2009
    Messages
    765
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2009
    Messages : 765
    Points : 5 522
    Points
    5 522
    Par défaut
    Seth77 : Donc j ai modifier la langue du user control ; et j ai modifié le text d un label ... et la il m ajouter un nouveau fichier ressource avec la langue
    Oui, c'est normal. Visual Studio génère des dll de ressources pour chaque langue, il y met toutes les choses traduisibles (forms, controls, ressources, ...). Lorsque tu changes de langue, l'application a besoin de toutes les ressources traduites ou à défaut des ressources "de secours". Donc, tant que tu n'as pas tout traduit ton application plantera car elle ne trouvera pas toutes les ressources nécessaires. Voir ici : https://msdn.microsoft.com/fr-fr/lib...v=vs.110).aspx

    Kangourex : La technique la plus simple que je connaisse (un peu tiré d'android) c'est via un fichier XML/txt (fin un fichier).
    Cette technique n'est pas la meilleure, loin de là. En effet certaines langues prennent plus de place que d'autres et dans ce cas il faut aussi retailler les contrôles, voire les forms pour avoir des affichages corrects. On voit beaucoup d'applis traduites de cette manière où il manque la moitié du texte dans beaucoup de contrôles. Exemple : "Open Folder" en anglais -> "Ouvrir le répertoire" en français, il faut 2 fois plus de place pour l'affichage en français.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 93
    Points : 127
    Points
    127
    Par défaut
    Citation Envoyé par ed73170 Voir le message
    Cette technique n'est pas la meilleure, loin de là. En effet certaines langues prennent plus de place que d'autres et dans ce cas il faut aussi retailler les contrôles, voire les forms pour avoir des affichages corrects. On voit beaucoup d'applis traduites de cette manière où il manque la moitié du texte dans beaucoup de contrôles. Exemple : "Open Folder" en anglais -> "Ouvrir le répertoire" en français, il faut 2 fois plus de place pour l'affichage en français.
    Je vois beaucoup d'applications/jeux qui utilisent cela sans aucun soucis, suffit de mettre les controls en taille dynamique et non des tailles fixes.
    Fin après peu importe la technique si vous bridez un label de largeur 20px et que vous essayez d'entrer le mot "Open Folder" qu'il passe tout juste et une traduction plus longue elle ne passera pas.

  5. #5
    Membre averti Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Points : 410
    Points
    410
    Par défaut
    Salut

    Je ne comprends pas cela ne marche pas chez moi ....

    Je definit bien la Culture:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
    Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
    Et j ai bien le fichier resource correspondant : Resources.fr-FR.resx

    pourtant il ne me prends pas la resource du bon fichier resources.


Discussions similaires

  1. Bien créer une application multi-langues ? Unicode ou non ?
    Par Maxime Abbey dans le forum Composants VCL
    Réponses: 28
    Dernier message: 10/09/2007, 17h20
  2. Application Multi-langues en C#
    Par ayobo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/11/2006, 16h42
  3. Application multi-langue [Delphi 7]
    Par guence dans le forum Delphi
    Réponses: 3
    Dernier message: 05/09/2006, 12h43
  4. Application multi-langue
    Par JerBi dans le forum EDI
    Réponses: 2
    Dernier message: 15/09/2005, 02h22
  5. [Application multi-langues] Compilateur ou fichier lng ?
    Par Teb dans le forum Composants VCL
    Réponses: 5
    Dernier message: 16/08/2005, 16h48

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