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

Framework .NET Discussion :

Problème localisation application windows


Sujet :

Framework .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 131
    Par défaut Problème localisation application windows
    Bonjour,

    J'ai mis en place une application Windows qui doit supporter le français et l'anglais.
    Pour faire ça proprement, j'ai utilisé les fichiers de ressources proposés par le Framework .NET.
    J'ai donc pour chacun de mes formulaires et pour mon projet des fichiers de resources anglais et français. Exemples :
    - Mon formulaire principale à un fichier MainForm.resx (langue par défaut) et un fichier MainForm.fr.resx
    - Mon application a un fichier Resources.resx et un fichier Resources.fr.resx
    ETC...

    Ce que je veux faire, c'est de permettre à mon application de forcer la culture pour afficher une langue donnée.
    Pour se faire je faire je met ces lignes de code avant la fonction InitializeComponents() de mon formulaire (comme le précise la doc msdn)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-CA");
    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-CA");
    Et mes formulaires son a "Localizable=true"

    En mode débugage, ceci marche PARFAITEMENT! En fonction de la culture définie (comme indiqué ci dessus) la fonction getString de mon resourceManager va bien chercher la bonne valeur.
    Par compte, dès que je compile mon projet de déploiement et que j'installe mon application, il se passe les choses suivantes :
    - La langue affichée dans mon application est celle des fichiers de ressources par défaut (l'anglais)
    - Il n'y a pas d'exception anormale à l'exécution

    Quelqu'un à une idée?

    Merci d'avance

    NB : Je travaille sur un poste Windows 7 configuré en anglais (Canada)

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 131
    Par défaut
    Petite précision,
    Comme je l'ai dis dans mon précédent post, je place les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-CA");
    System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-CA");
    avant le InitializeComponent();

    J'ai ajouté dans mon formulaire un bouton avec le code suivant sur l'évenement clic :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private void button1_Click(object sender, EventArgs e)
    {
                MessageBox.Show(System.Threading.Thread.CurrentThread.CurrentCulture.Name, "current");
                MessageBox.Show(System.Threading.Thread.CurrentThread.CurrentUICulture.Name, "current ui");
    }
    Ensuite je re construit ma solution et installe le package msi (de mon projet setup).
    Je lance l'application et c'est toujours les données de mon fichier de ressources par défaut qui s'affichent (Comme je l'ai précédemment signalé).
    Mais plus troublant encore, les messages box qui s'affichent dans ma fonction button1_Click() me donnent "fr-CA"...

    Je comprends pas

  3. #3
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Salut,

    quand tu installes avec le MSI, peux-tu vérifier si les fichier de ressources localisés sont bien déployés ? En principe ils doivent être dans C:\Programmes\MaSociete\MonProgramme\fr\MainForm.resources.dll par ex.
    Si le prog ne trouve pas le dossier 'fr' avec les fichiers resources compilés dedans, il affiche les resources par défaut.

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 131
    Par défaut
    Merci MetalGeek!

    Effectivement, une fois les dll de mes ressources françaises ajoutées dans un dossier "fr" à la racine de l'application, ceci fonctionne très bien.

    Problème résolu

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

Discussions similaires

  1. [WM18] Problème generation application windows store apps
    Par naji100 dans le forum Windev Mobile
    Réponses: 0
    Dernier message: 03/01/2014, 15h47
  2. Problème déploiement application vb Embedded sur window ce 4.2
    Par khalil_6 dans le forum Windows Mobile
    Réponses: 0
    Dernier message: 16/03/2008, 13h11
  3. Réponses: 8
    Dernier message: 28/12/2007, 11h25
  4. problème avec des applications windows
    Par deubelte dans le forum Windows XP
    Réponses: 2
    Dernier message: 05/04/2007, 17h38
  5. Réponses: 1
    Dernier message: 12/01/2007, 21h40

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