none
[WinForms] Localisation FR / EN

    Question

  • Bonjour,

    la localisation de mon application ne fonctionne pas. Elle utilise toujours la langue par défaut. J'ai fait le choix d'utiliser la langue 'Français' sans région (donc 'Fr' tout seul).

    Dans le Designer de VS 2017, j'ai définit Localizable=true sur mon formulaire. Le titre d'application change bien lorsque je change la langue 'Français'<->'Par défaut'

    J'ai posé ce code au début du Main() et dans le constructeur de mon formulaire avant InitializeComponent().

    Application.CurrentCulture = new System.Globalization.CultureInfo("fr");
    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr");
    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr");

    Et ça ne change rien, j'ai toujours la langue par défaut. :/

    J'ai tenté un code plus court pour voir :

    string str;
    
    str = Properties.Resources.ggcHeaderCreationTime;
    
    Application.CurrentCulture = new System.Globalization.CultureInfo("fr");
    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr");
    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr");
    
    str = Properties.Resources.ggcHeaderCreationTime;

    lors de la 1ère affection de str, je suis en langue 'Fr-FR' et au 2ème appel, en 'fr'. Pourtant c'est toujours la partie anglaise qui est retournée :(

    Est ce que j'aurais loupé un truc ?

    Merci.


    lundi 14 mai 2018 14:51

Réponses

Toutes les réponses

  • J'ai tenté de récupérer les chaînes d'une autre manière mais ça renvoie null :

    str = Properties.Resources.ResourceManager.GetString(Properties.Resources.ggcHeaderCreationTime);
    str = Properties.Resources.ResourceManager.GetString(Properties.Resources.ggcHeaderCreationTime, CultureInfo.GetCultureInfo("fr"));
                

    lundi 14 mai 2018 15:04
  • bon, ça fonctionne sans avoir rien changé si ce n'est recompilé tout le bousin... bizarre.
    lundi 14 mai 2018 18:40