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

Windows Forms Discussion :

[VB .NET] Localisation d'une application vb.net


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut [VB .NET] Localisation d'une application vb.net
    Bonjour,

    J'ai lu avec intérêt le dossier sur la localisation d'application, mais à mon plus grand regret, je n'ai pas la propriété "localizable" ni "language" lorsque je sélectionne ma "Form1".
    Donc je suis bloqué et je demande votre aide ...

    J'utilise Visual Studio 2003 (7.1.3088) et le framework 1.1 (1.1.4322 SP1)

  2. #2
    Membre averti Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 390
    Points : 395
    Points
    395
    Par défaut
    Peux tu préciser excactement ce que tu cherches à faire ?
    Un problème sans solution est un problème mal posé. (Albert Einstein)

    Placez votre main sur un poêle une minute et ça vous semble durer une heure. Asseyez vous auprès d'une jolie fille une heure et ça vous semble durer une minute. C'est ça la relativité (Albert Einstein)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    En fait je voulais suivre le manuel de morpheus sur la localisation d'application .Net (http://morpheus.developpez.com/LocalisationDotnet/)
    Au début (III - A- Création des fichiers de langue) , il dit sélectionner notre window form ("Form1") et
    repérer la propriété "Localizable" et positionnez-là à "True"
    Je n'ai pas cette propriété dans mon menu

  4. #4
    Membre averti Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 390
    Points : 395
    Points
    395
    Par défaut
    Tu as du te tromper de projet...
    refais la mnip en choissant Nouveau projet->C#->WindowApplication, ça devrait aller
    Un problème sans solution est un problème mal posé. (Albert Einstein)

    Placez votre main sur un poêle une minute et ça vous semble durer une heure. Asseyez vous auprès d'une jolie fille une heure et ça vous semble durer une minute. C'est ça la relativité (Albert Einstein)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    Je ne pense pas m'être trompé, mais j'ai refais quand même

    Menu Fichier -> Nouveau -> Projet
    Type de projet : Projet Visual C# (ou VB)
    Modèles : Application Windows
    Je ne change rien d'autre et je clique sur OK

    Ensuite dans l'explorateur de solution, je sélectionne Form1.cs
    Dans la fenetre de propriété apparait (Form1.cs Propriete du fichier):
    Avancé
    Action de génération -> compilé
    Espace de nom de l'outil personnalisé -> vide
    Outil personnalisé -> vide
    Divers
    Chemin d'accé complet -> chemin vers le fichier (grisé)
    Nom de fichier -> Form1.cs

    Et c'est tout ! je ne comprends rien ...

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par plasticgoat
    Dans la fenetre de propriété apparait (Form1.cs Propriete du fichier):
    Avancé
    Action de génération -> compilé
    Espace de nom de l'outil personnalisé -> vide
    Outil personnalisé -> vide
    Divers
    Chemin d'accé complet -> chemin vers le fichier (grisé)
    Nom de fichier -> Form1.cs
    Ben evidemment pff
    c'est sur la form quil faut doublecliquer, tu seras en mode design et là pas de prob les propriétés du composant graphiques seront bien toutes là
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    merci

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    Sinon j'ai une autre question :

    En passant la propriété localizable à true et en sélectionnant une langue, toutes les propriété des objets sont affecté à partir de ressource
    Exemple pour mon composant TreeView :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            '
            'TreeView
            '
            Me.TreeView.CheckBoxes = True
            Me.TreeView.ImageIndex = -1
            Me.TreeView.Location = New System.Drawing.Point(32, 120)
            Me.TreeView.Name = "TreeView"
            Me.TreeView.SelectedImageIndex = -1
            Me.TreeView.Size = New System.Drawing.Size(216, 256)
            Me.TreeView.TabIndex = 0
    devient

    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
     
            '
            'TreeView
            '
            Me.TreeView.AccessibleDescription = resources.GetString("TreeView.AccessibleDescription")
            Me.TreeView.AccessibleName = resources.GetString("TreeView.AccessibleName")
            Me.TreeView.Anchor = CType(resources.GetObject("TreeView.Anchor"), System.Windows.Forms.AnchorStyles)
            Me.TreeView.BackgroundImage = CType(resources.GetObject("TreeView.BackgroundImage"), System.Drawing.Image)
            Me.TreeView.CheckBoxes = True
            Me.TreeView.Dock = CType(resources.GetObject("TreeView.Dock"), System.Windows.Forms.DockStyle)
            Me.TreeView.Enabled = CType(resources.GetObject("TreeView.Enabled"), Boolean)
            Me.TreeView.Font = CType(resources.GetObject("TreeView.Font"), System.Drawing.Font)
            Me.TreeView.ImageIndex = CType(resources.GetObject("TreeView.ImageIndex"), Integer)
            Me.TreeView.ImageList = Me.ImageList_tree
            Me.TreeView.ImeMode = CType(resources.GetObject("TreeView.ImeMode"), System.Windows.Forms.ImeMode)
            Me.TreeView.Indent = CType(resources.GetObject("TreeView.Indent"), Integer)
            Me.TreeView.ItemHeight = CType(resources.GetObject("TreeView.ItemHeight"), Integer)
            Me.TreeView.Location = CType(resources.GetObject("TreeView.Location"), System.Drawing.Point)
            Me.TreeView.Name = "TreeView"
            Me.TreeView.RightToLeft = CType(resources.GetObject("TreeView.RightToLeft"), System.Windows.Forms.RightToLeft)
            Me.TreeView.SelectedImageIndex = CType(resources.GetObject("TreeView.SelectedImageIndex"), Integer)
            Me.TreeView.Size = CType(resources.GetObject("TreeView.Size"), System.Drawing.Size)
            Me.TreeView.TabIndex = CType(resources.GetObject("TreeView.TabIndex"), Integer)
            Me.TreeView.Text = resources.GetString("TreeView.Text")
            Me.TreeView.Visible = CType(resources.GetObject("TreeView.Visible"), Boolean)
    on ne peut pas s'en passer ? Le nombre de ligne de mon code source explose ...

  9. #9
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ce code est généré automatiquement dans InitializeComponent donc "pastouche" l'ami tu t'en remettra pas sinon
    Attends d'être beaucoup plus expérimenté avant de te lancer dans ce genre d'optimisation, par exemple quand tu sauras toi même implementer tes propres Forms (en code pas en mode design ) et tes propres ressources - là tu feras ce que tu veux

    Heu n'oublies pas le tag
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    tanpis,

    par contre j'ai un toujours un problème avec la localisation,

    - déjà, à chaque fois que je sélectionne un langage, le fichier ressource s'il existe est écrasé et donc je perd toutes les nouvelles chaine que j'avais entré. mais bon ce n'est pas trop gênant, maintenant je n'y touche plus
    - sinon, l'exécution cette fois, il ne trouve pas la ressource quand je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.lb_ident_cli.Text = RM.GetString("IdtCli")
    (dans une fonction appele ChangeLibelle)

    Voilà le code que j'ai ajouté pour la localisation:
    Dans Public Sub New(), avant InitializeComponent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            'Définition de la culture par défaut
            System.Threading.Thread.CurrentThread.CurrentUICulture = FrenchCulture
            ChangeLibelle()
    En variable globale,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        'LeResourceManager prend en paramètre : nom_du_namespace.nom_de_la_ressource_principale
        Dim RM As System.Resources.ResourceManager = New System.Resources.ResourceManager("VisaLigth.Form1", System.Reflection.Assembly.GetExecutingAssembly())
        Dim FrenchCulture As CultureInfo = New CultureInfo("fr-FR")
        Dim EnglishCulture As CultureInfo = New CultureInfo("en-US")


    L'erreur que j'obtient :

    Une exception non gérée du type 'System.Resources.MissingManifestResourceException' s'est produite dans mscorlib.dll

    Informations supplémentaires*: Impossible de trouver des ressources appropriées pour la culture spécifiée (ou la culture neutre) de votre assembly. Assurez-vous que "VisaLigth.Form1.resources" est correctement incorporé ou lié dans l'assembly "VisaLight".
    baseName: VisaLigth.Form1 locationInfo: <null> resource file name: VisaLigth.Form1.resources assembly: VisaLight, Version=1.0.2034.27561, Culture=neutral, PublicKeyToken=null

  11. #11
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Et si tu le fais après InitializeComponent
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    c'est ce que j'ai pensé quand j'ai rédigé le post, donc j'ai testé.

    malheureusement j'ai toujours exactement la même erreur

  13. #13
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ben en fait je crois que la declarations des ressources est faite dans l'InizialiseComponent donc innaccessible à l'exterieur de la m"thode donc à moins de referencer les ressources aussi ailleurs
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    pourtant, dans guide sur le site (http://morpheus.developpez.com/LocalisationDotnet/) ça marche bien, j'ai télécharger et tester le code c OK.

    Je voudrais juste faire la même chose pour mon appli. Pouvoir changer mes libelles (d'une langue à une autre) en cliquant sur un bouton radio sans avoir tous les libellés en dur dans le code ...



    referencer les ressources aussi ailleurs
    créer moi même un fichier de ressource externe par exemple ?

  15. #15
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Comme il s'est passé quelques evenements fâcheux avec effacements de ressources tu es sûr que ta form est toujours correctement paramétrée,
    tu as bien importer Globalization et declaré et initialise FrenchCulture. Enfin refait tout le chemin sur du propre
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    En fait j'ai toujours des problèmes d'effacement de ressource,
    dans le fichier Form1.fr.resx:

    les ressources que j'ajoute manuellement dans ce fichier disparaissent, mais je ne sait pas ce qui les fait disparaitre (c'est comme si le fichier est réinitialiser à l'état de sa création)

    Effectivement comme j'ai pas mal bidouillé, je vais recréer un nouveau projet en commençant par la localisation puis je rajouterais mes composants ...

    Merci pour votre aide, je vous tiens au courant ...

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    J'ai refais un nouveau projet, en fait j'ai essayer de refaire le "hello world" de la localisatio du guide de morpheus.

    J'ai suivi pas à pas les étapes, et ça ne marche pas non plus, même erreur ...

    Pourtant le projet LocalisationVB que j'ai téléchargé du site fonctionne.

    Première différence entre les deux projets, le contenu des fichiers resx (fr et en), j'ai plus d'un dizaine de lignes, mais même en les supprimant ça ne marche pas.

    Je me suis aperçu que dans le répertoire Obj -> Debug, je n'ai rien à part les répertoires temp et tempPE alors que dans le projet de morpheus il y a tout cela en plus :
    - 2 répertoires (en et fr) contenant LocalisationVB.resources.dll
    - l'exe
    - 3 fichiers *.resources
    - un fichier pdb

    Je pense que le problème vient plutot de la configuration ou d'une manipulation que j'ai oublier de faire ...

  18. #18
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Hmmm.. normalement tout ceci est automatique mais il faut peut être faire une manoeuvre que n'a pas rappeler Morpheus: "Generer" puis "Regenerer" au fur et à mesure de ton avancée
    je viens de reproduire le tuto de Morpheus chez moi sans la source c'est ok
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    J'ai recommencé, toujours en vb, cette fois j'ai executé avant de mettre les boutons radio et ça ne marche toujours pas.

    Est ce qu'il y aurait moyen de t'envoyer (ou à quelqu'un d'autre) mon projet (solution vb.net pour Visual Studio 2003 FR) pour l'essayer ?

    De mon cote je vais essayer ce soir sur mon PC à la maison, pour voir si ça viens de mon installation de VS.Net.

  20. #20
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Désolé je suis en vacances avec juste un 2002 à dispo FrW 1.0
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

Discussions similaires

  1. [Delphi.net]Structuration d'une application asp.net
    Par skywaukers dans le forum Delphi .NET
    Réponses: 7
    Dernier message: 28/12/2006, 11h50
  2. Réponses: 8
    Dernier message: 28/10/2005, 09h21
  3. Réponses: 8
    Dernier message: 18/08/2005, 18h42

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