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

C# Discussion :

Afficher le nom des touches pressés en français !


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 98
    Par défaut Afficher le nom des touches pressés en français !
    Bonjour,
    Je voudrais pouvoir afficher le nom des touches que je presse en français ou plus particulièrement dans la langue qui est utilisé sur le système d'exploitation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int vkCode = 32 // Représentant la touche espace
    string touche = ((Keys)vkCode).ToString();
    Console.WriteLine(touche); // Affiche "Space" et non "Espace"
    J'ai essayé d'inclure:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Thread.CurrentThread.CurrentCulture = CultureInfo.InstalledUICulture;
    ou:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
    mais c'est toujours en anglais !
    Quelqu'un à une idée ?
    Merci d'avance !

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Ah ben oui mais non, Keys est une enum :
    http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx

    Quand tu fais un ToString, ca affiche les valeurs de cette enum mais ca n'est pas localisé. Il faut faire une fonction qui traduit tout.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 98
    Par défaut
    Aie, bon ok je vais laisser comme ça pour le moment, a la limite je verrais si je peut faire ça plut tard !
    Merci !

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Par défaut
    Salut,

    J'ai commencé à traduire si tu veux
    Pour cela, j'ai créé un projet WinForms.
    J'ai inséré 2 listBox nommées listBoxFr et listBoxEn
    Je n'ai pas tout mis car je ne sais pas jusqu'où tu voulais traduire.
    Donc à compléter et modifier au besoin.

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    /// <summary>
    		/// Returns the Enum's description.
    		/// </summary>
    		/// <param name="enumValue"></param>
    		/// <returns></returns>
    		private String GetEnumValueDescription(Enum enumValue)
    		{
    			// Gets the type of the field coming from the Enum
    			FieldInfo fInfo = enumValue.GetType().GetField(enumValue.ToString());
    			// Gets the description from the field
    			DescriptionAttribute[] attributes = (DescriptionAttribute[])fInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
     
    			return attributes.Length == 0 ? enumValue.ToString() : attributes[0].Description;
    		}
     
    		/// <summary>
    		/// Translates all the Keys in french.
    		/// </summary>
    		private void Translate()
    		{
    			string englishNames;
    			string frenchNames;
    			foreach (Keys key in Enum.GetValues(typeof(Keys)))
    			{
    				englishNames = GetEnumValueDescription(key);
    				frenchNames = englishNames.Replace("key", string.Empty);
    				frenchNames = frenchNames.Replace("The", "La touche");
    				frenchNames = frenchNames.Replace("Print", "Impression");
    				frenchNames = frenchNames.Replace("Screen", "Ecran");
    				frenchNames = frenchNames.Replace("Execute", "Executer");
    				frenchNames = frenchNames.Replace("Button", "Bouton");
    				frenchNames = frenchNames.Replace("Back", "Retour arrière");
    				frenchNames = frenchNames.Replace("ShiftKey", "La touche Majuscule");
    				frenchNames = frenchNames.Replace("ControlKey", "La touche Contrôle");
    				frenchNames = frenchNames.Replace("Capital", "Verrouillage Majuscule");
    				frenchNames = frenchNames.Replace("Escape", "Echap");
    				frenchNames = frenchNames.Replace("Space", "Espace");
    				frenchNames = frenchNames.Replace("Screen", "Ecran");
    				frenchNames = frenchNames.Replace("Page Up", "Page Haut");
    				frenchNames = frenchNames.Replace("Next", "Suivant");
    				frenchNames = frenchNames.Replace("Screen", "Ecran");
    				frenchNames = frenchNames.Replace("End", "Fin");
    				frenchNames = frenchNames.Replace("Home", "Début");
    				frenchNames = frenchNames.Replace("Left", "Gauche");
    				frenchNames = frenchNames.Replace("Up", "Haut");
    				frenchNames = frenchNames.Replace("Right", "Droite");
    				frenchNames = frenchNames.Replace("Down", "Bas");
    				frenchNames = frenchNames.Replace("Select", "Sélection");
    				frenchNames = frenchNames.Replace("Insert", "Insertion");
    				frenchNames = frenchNames.Replace("Delete", "Suppression");
    				frenchNames = frenchNames.Replace("Help", "Aide");
    				frenchNames = frenchNames.Replace("Add", "Aide");
    				frenchNames = frenchNames.Replace("Separator", "Aide");
    				frenchNames = frenchNames.Replace("Substract", "Aide");
    				frenchNames = frenchNames.Replace("Decimal", "Aide");
    				frenchNames = frenchNames.Replace("Divide", "Aide");
    				frenchNames = frenchNames.Replace("NumLock", "Aide");
    				frenchNames = frenchNames.Replace("Scroll", "Aide");
    				frenchNames = frenchNames.Replace("Browser", "Navigateur ");
    				frenchNames = frenchNames.Replace("Forward", "Aide");
    				frenchNames = frenchNames.Replace("Refresh", "Aide");
    				frenchNames = frenchNames.Replace("Search", "Aide");
    				frenchNames = frenchNames.Replace("Favorites", "Aide");
    				frenchNames = frenchNames.Replace("Home", "Aide");
    				frenchNames = frenchNames.Replace("VolumeMute", "Muet");
    				frenchNames = frenchNames.Replace("VolumeDown", "Descendre le son");
    				frenchNames = frenchNames.Replace("VolumeUp", "Monter le son");
     
     
    				listBoxEn.Items.Add(englishNames);
    				listBoxFr.Items.Add(frenchNames);
    			}
    		}

Discussions similaires

  1. Afficher les nom des tables d'une base de donnée
    Par newmar dans le forum Administration
    Réponses: 4
    Dernier message: 02/04/2008, 16h40
  2. Réponses: 5
    Dernier message: 10/01/2008, 08h47
  3. afficher le nom des attributs et leur contenu
    Par PoichOU dans le forum Général Java
    Réponses: 4
    Dernier message: 28/06/2007, 21h30
  4. [WD10] Afficher les noms des colonnes
    Par devalender dans le forum WinDev
    Réponses: 4
    Dernier message: 24/02/2006, 14h38
  5. Cherche Nom des touches du clavier
    Par juan64 dans le forum C++Builder
    Réponses: 8
    Dernier message: 23/07/2002, 19h11

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