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

EDI/Outils Discussion :

Appli Multi langue


Sujet :

EDI/Outils

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 20
    Points : 9
    Points
    9
    Par défaut Appli Multi langue
    Bonjour,

    Aujourd'hui je souhaite rendre une de mes applications multi-langues.
    Etant débutant, j'ai donc suivi ce tutoriel :
    http://morpheus.developpez.com/localisationdotnet/

    Or il se trouve que je bloque dès le début:
    Une fois avoir mis Localizable = True, lorsque j'appuie successivement sur différentes langues dans la ComboBx Language, aucun autre fichier de type resx n'est créé comme indiqué dans le tuto...

    Je suis sous VB2010, et les modifications de Localizable et Language je les fais au niveau de Form1.vb[design].

    Je suis conscient qu'il doit s'agir d'une incompréhension toute bête de ma part ou quelque chose du même type, donc soyez indulgent.

    Merci pour vos réponses!

    Adrien

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Piercing Voir le message
    Or il se trouve que je bloque dès le début:
    Une fois avoir mis Localizable = True, lorsque j'appuie successivement sur différentes langues dans la ComboBx Language, aucun autre fichier de type resx n'est créé comme indiqué dans le tuto...
    T'es sûr ? Il me semble que par défaut, en VB, les "sous-fichiers" (.designer.vb, .resx, etc) ne sont pas affichés dans l'explorateur de solution. Clique sur le bouton "Afficher tous les fichiers" en haut de l'explorateur de solution, tu devrais les voir (sinon regarde dans le répertoire du projet via l'explorateur Windows)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 20
    Points : 9
    Points
    9
    Par défaut
    Je viens de faire ce que tu m'as proposé, je te confirme que les autres .resx ne sont pas créés... que ce soit au niveau de l'explorateur dans VB (avec tous les fichiers visibles) et également dans le répertoire du projet.

    La seule modification qui s'opère lorsque je change de langue via la ComboBox c'est le fichier Form1.vb[Design]* qui se renomme Form1.vb[Design-Anglais]* pour l'anglais sélectionné par exemple.

    Je rappelle que je suis sous VB2010 et que 'language' et 'localizable' que je modifie sont dans 'propriétés' de Form1.vb[design]*.

    Quelqu'un aurait une idée de l'origine du problème?

    Merci encore

    Adrien

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Ah mais en fait les resx ne sont créés que quand tu modifies une propriété (autre que la langue). Si tu ne changes rien, il n'y a pas besoin d'un nouveau resx...

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 20
    Points : 9
    Points
    9
    Par défaut
    Sachant que dans le tuto j'aurais besoin directement des fichiers resx en question dans la partie c), cela veut dire qu'ils se créeront automatiquement lorsque j'appliquerais le code des parties a) et b) à Form.vb*? Si ce n'est pas le cas, je ne vois pas comment finir ce tuto... Et le programmeur qui explique ce tuto semble montrer que l'on a accès directement aux fichiers resx dès le début, d'où mon incompréhension...

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Bon, je viens de refaire le test, ça se passe bien comme je dis... peut-être que ça a changé dans une version suivante de Visual Studio (le tuto est pas tout neuf...)

    De toutes façons, si tu veux créer les fichiers, tu n'as qu'à changer la langue et modifier la valeur d'une propriété de la fenêtre ou d'un contrôle

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 20
    Points : 9
    Points
    9
    Par défaut
    Je te remercie pour ces précisions, je vais revenir sur ce tuto dans les jours qui suivent afin de voir si je peux aller jusqu'au bout, et dans tout les cas je laisserais un message ici après (problème résolu ou encore besoin d'une petite aide).

    Cordialement,

    Adrien

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 20
    Points : 9
    Points
    9
    Par défaut
    Bonjour, suite à ce qui a été dit précédemment, j'ai bien réussi à créer des fichiers resx pour les nouvelles langues (français, anglais et portuguais) en changeant un paramètre (le même à chaque fois): le texte de mon Label1.

    J'ai par la suite essayé un code mais celui-ci ne fonctionne pas lorsque je change la sélection dans ma ComboBox :

    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
    Private Sub combobox1_selectedindexchanged1(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
            Dim RM As New System.Resources.ResourceManager("Form1.", System.Reflection.Assembly.GetExecutingAssembly())
     
            If ComboBox1.SelectedItem.ToString() = "english" Then
                Dim englishculture As New CultureInfo("en")
                System.Threading.Thread.CurrentThread.CurrentUICulture = englishculture
            ElseIf ComboBox1.SelectedItem.ToString() = "portuguese" Then
                Dim portugueseculture As New CultureInfo("pt")
                System.Threading.Thread.CurrentThread.CurrentUICulture = portugueseculture
            Else
                Dim frenchculture As New CultureInfo("fr-fr")
                System.Threading.Thread.CurrentThread.CurrentUICulture = frenchculture
            End If
     
            Label1.Text = RM.GetString("Label1")
     
            Me.Refresh()
     
     
        End Sub
    Lorsque je sélectionne une langue par exemple l'application plante et dans mon code cette ligne est surlignée en jaune:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label1.Text = RM.GetString("Label1")
    Peut être que le fait de changer ma culture par défaut fait planter l'application... Je suis un peu perdu.

    Merci pour votre aide.

    Adrien

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Piercing Voir le message
    Lorsque je sélectionne une langue par exemple l'application plante et dans mon code cette ligne est surlignée en jaune:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label1.Text = RM.GetString("Label1")
    Que dit le message d'erreur ?

    De mémoire, il me semble que la clé de la ressource n'est pas "Label1" mais "Label1.Text"...

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2011
    Messages : 20
    Points : 9
    Points
    9
    Par défaut
    C'est bon j'ai réussi à résoudre mes différents problèmes à propos de mon application multi-langues, qui est maintenant opérationnelle.

    J'ai d'abord créé 3 fichiers ressources (WinFormStrings, WinFormStrings.en et WinFormStrings.fr) ou j'ai pu mettre mes paramètres ainsi que leur valeur dans la langue souhaitée, puis j'ai mis en place une ComboBox où l'on a le choix des différentes langues. Si on appuie sur "Anglais" par exemple la CultureInfo change et je refresh par la suite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub AnglaisToolStripMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles AnglaisToolStripMenuItem.Click
     
            Thread.CurrentThread.CurrentUICulture = New CultureInfo("en")
            RefreshOpenForm()
     
        End Sub
    avec RefreshOpenForm une fonction qui rafraichit mes différentes classes.

    Je n'affiche pas ici toutes les parties du code permettant la fonctionnalité du changement de langue, mais si vous souhaitez plus de détail faites signe.

    Cordialement, Adrien.

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

Discussions similaires

  1. [iOS 4.x] Appli Multi langue
    Par Feanorin dans le forum Objective-C
    Réponses: 1
    Dernier message: 07/01/2011, 11h49
  2. Appli MFC multi langue
    Par youda dans le forum MFC
    Réponses: 5
    Dernier message: 04/02/2008, 11h38
  3. Appli C# multi-langue
    Par hobotalker dans le forum Windows Forms
    Réponses: 27
    Dernier message: 17/10/2007, 17h58
  4. Configuration d'appli multi-serveurs
    Par j2ee_laurent dans le forum Struts 1
    Réponses: 5
    Dernier message: 04/10/2004, 20h03
  5. [C#] Multi langue - fichier resource.resx
    Par dacamp dans le forum ASP.NET
    Réponses: 5
    Dernier message: 03/06/2004, 16h25

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