private void TraduireEcran(ITraducteur trad) { this.Title = trad.Traduire("ConnexionTitre"); lblNomJoueur.Content = trad.Traduire("NomJoueur"); lblLangue.Content = trad.Traduire("Langue"); rbHeberger.Content = trad.Traduire("Heberger"); rbRejoindre.Content = trad.Traduire("Rejoindre"); grpAcces.Header = trad.Traduire("Acces"); btnDemarrer.Content = trad.Traduire("Demarrer"); btnQuitter.Content = trad.Traduire("Quitter"); btnReplay.Content = trad.Traduire("Replay"); chkSpectateur.Content = trad.Traduire("EnSpectateur"); }
public DemarrageApplication(InfosEcranConnexion infos) { this.InitializeComponent(); // Initialisation des différents champs de l'écran this.AdresseServeur = infos.AdresseServeur; this.EstServeur = infos.EstServeur; this.NomJoueur = infos.NomJoueur; cboAdresse.ItemsSource = infos.ListeServeurs; cboAdresse.Text = infos.AdresseServeur; // Ecoute spécifique du TextChanged de la combo cboAdresse DependencyPropertyDescriptor dpd = DependencyPropertyDescriptor.FromProperty(ComboBox.TextProperty, typeof(ComboBox)); dpd.AddValueChanged(cboAdresse, cboAdresse_OnTextChanged); // On récupère toutes les langues disponibles & on affiche la bonne ITraducteur tradChoisi = null; _initialisationComboLangue = true; foreach (string cheminAssembly in Directory.GetFiles("lang", "*.dll")) { Assembly asm = Assembly.LoadFile(Path.Combine(Environment.CurrentDirectory, cheminAssembly)); // Remplissage de la lstView par Recupération de toutes les classes implémentant ITraducteur foreach (Type t in asm.GetTypes()) { Type typeTrad = t.GetInterface("ITraducteur"); if (typeTrad != null) { ITraducteur traducteur = Activator.CreateInstance(t) as ITraducteur; cboLangue.Items.Add(traducteur); cboLangue.DisplayMemberPath = "LangueTraduction"; if (traducteur.LangueTraduction.Equals(infos.Langue)) { tradChoisi = traducteur; } } } } if (!cboLangue.HasItems) { throw new ApplicationException("Aucune langue trouvée pour l'application"); } if (tradChoisi == null) { cboLangue.SelectedIndex = 0; } else { cboLangue.SelectedItem = tradChoisi; } _initialisationComboLangue = false; TraduireEcran(cboLangue.SelectedItem as ITraducteur); this.EstClientEnModeLecture = false; txtNomJoueur.Focus(); txtNomJoueur.SelectAll(); }