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 :

Changement de langue


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 202
    Points : 101
    Points
    101
    Par défaut Changement de langue
    Bonjour, j'ai suivi le tutoriel sur ce site même pour la localisation mais dès que je l'adapte à mon code, ça ne marche plus...


    J'ai ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Globalization;
     
    namespace ValOptions
    {
        public partial class SelectLanguageForm : Form
        {
     
     
     
     
     
            private System.Resources.ResourceManager RM = null;
            // Liste des CultureInfo
            private CultureInfo EnglishCulture = new CultureInfo("en-US");
            private CultureInfo FrenchCulture = new CultureInfo("fr-FR");
     
            public SelectLanguageForm()
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = FrenchCulture;
                InitializeComponent();
     
            }
     
     
            private void SelectLanguageForm_Load(object sender, EventArgs e)
            {
                RM = new System.Resources.ResourceManager("Localisation.SelectLanguageForm", typeof(SelectLanguageForm).Assembly);
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                if (rbtnFr.Checked)
                {
                    System.Threading.Thread.CurrentThread.CurrentUICulture = FrenchCulture;
                }
                else
                {
                    System.Threading.Thread.CurrentThread.CurrentUICulture = EnglishCulture;
                }
            }
        }
    }
    La seule chose j'ai mise en FR et en ENG c'est un simple label sur la form...

    Quand je clique sur le bouton il est censé changer la langue ... si quelqu'un voit une erreur... merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 202
    Points : 101
    Points
    101
    Par défaut
    J'ai résolu mon problème en faisant cette méthode en fait :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            private void ChangeLanguage(string lang)
            {
                foreach (Control c in this.Controls)
                {
                    ComponentResourceManager resources = new ComponentResourceManager(typeof(SelectLanguageForm));
                    resources.ApplyResources(c, c.Name, new CultureInfo(lang));
     
                    ComponentResourceManager resources2 = new ComponentResourceManager(typeof(Pricers));
                    resources.ApplyResources(c, c.Name, new CultureInfo(lang));
                }
            }
    que j'appelle dans l'évènement onclick suivant quel radiobutton est coché.

    Toutefois
    Comment je pourrais faire pour changer la langue d'une autre form en même temps ? car là c'est la form sur laquelle je suis qui est affectée mais j'ai besoin qu'une autre form qui est ouverte subisse les mêmes modifications ...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 262
    Points : 230
    Points
    230
    Par défaut
    Toutefois
    Comment je pourrais faire pour changer la langue d'une autre form en même temps ? car là c'est la form sur laquelle je suis qui est affectée mais j'ai besoin qu'une autre form qui est ouverte subisse les mêmes modifications ...
    Moi je créerai un évenement "OnCultureChanged".
    Et j'enverrai cet événement "OnCultureChanged" à la Form secondaire dans la méthode ChangeLanguage().

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 202
    Points : 101
    Points
    101
    Par défaut
    Merci pour ton aide mais je n'y arrive pas. Il n'y a pas un autre moyen?

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 262
    Points : 230
    Points
    230
    Par défaut
    Bonjour,

    Tu as cette méthode apparemment, expliquée dans ce tutorial http://morpheus.developpez.com/localisationdotnet/, mais je n'est jamais testé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Thread.CurrentThread.CurrentCulture = Context.FrenchCulture;
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Thread.CurrentThread.CurrentCulture = Context.EnglishCulture;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changement de langue FR or US
    Par Funraill.net dans le forum Langage
    Réponses: 2
    Dernier message: 19/10/2005, 20h57
  2. changement de langue
    Par Malk-Om dans le forum Windows XP
    Réponses: 4
    Dernier message: 05/10/2005, 09h24
  3. [JSP] Changement de langue
    Par sg-40 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 07/06/2005, 12h15
  4. Réponses: 2
    Dernier message: 03/03/2004, 10h44
  5. Changement de langue dynamique (D6 et outils de traduction)
    Par agon dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/09/2002, 16h15

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