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 :

[C#] Comment rendre multilangue une application déjà developpé?


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Points : 97
    Points
    97
    Par défaut [C#] Comment rendre multilangue une application déjà developpé?
    Bonjour,

    J'ai développé une application grâce à Visual Studio Express 2005 et maintenant que j'ai terminé je voudrais la rendre disponible aussi en anglais.

    Il y a-t-il un moyen rapide d'extraire toutes les chaînes pour pouvoir les traduire?
    Dois-je m'orienter par des fichiers de ressources?

    Je suis novice dans le domaine de l'internationalisation d'applications!

    Merci.
    En Informatique, tout est possible... mais... ce n'est pas toujours évident!

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Points : 616
    Points
    616
    Par défaut
    bonsoir,
    Bon je ne suis pas expert en la matiere mais lors que j'ai du faire une application multilangue on avait bien défini ca d'avance.

    Donc tous les lables et autres affichages étaient dans des fichiers de ressources et nous avions développez une classe permettant de les afficher dans la bonne langue.

    Mais maintenant que ton application est déjà développée je ne vois pas comment faire pour metre en multilangue sans tout reprendre ...
    Sinon oui, je pense que la solution est dans les fichiers de ressources.
    Sers toi des nombreux posts sur ce sujet dans le forum.

    Désolé pour ma réponse pas tres satisfaisante
    Bon Dev

    Notalp
    Je pense volontiers à penser aux choses auxquelles je pense que les autres ne penseront pas

  3. #3
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Points : 97
    Points
    97
    Par défaut
    je me doutais un peu que je serai obligé de passé par là! merci!

    par contre tu parles d'une classe pour récupérer les labels, es-ce plus utile que les méthodes pour récupérer chaines d'un fichier ressource?

    l'éditeur de fichier ressource de Visual Studio ne me convient pas trop, il y a-t-il d'autres éditeurs?

    Merici.
    En Informatique, tout est possible... mais... ce n'est pas toujours évident!

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    3 338
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 338
    Points : 4 657
    Points
    4 657
    Par défaut
    Il existe les options de localisation.

    http://morpheus.developpez.com/localisationdotnet/

  5. #5
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    Je ne veux pas créer des fichiers pour chaque formulaire par conséquent j'ai créer 2 fichiers ressources (français et anglais) :
    - language_fr.resx (toutes mes chaînes de texte en français)
    - language_fr.Designer.cs (internal class crée automatiquement par Visual Studio)
    - language_en.resx (toutes mes chaînes de texte en anglais)
    - language_en.Designer.cs (internal class crée automatiquement par Visual Studio)

    J'ai compris que je pouvais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string machaine = language_fr.MACHAINE;
    string machaine = language_en.MACHAINE;
    mais je ne sais pas comment faire pour ne pas tester à chaque fois dans quelle culture je suis!

    j'aimerais faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string machaine = language.MACHAINE;
    Merci de votre aide.
    En Informatique, tout est possible... mais... ce n'est pas toujours évident!

  6. #6
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 190
    Points : 97
    Points
    97
    Par défaut
    Voici le code généré par Visual Studio :

    namespace TEST {
    using System;

    internal class language_fr {

    private static global::System.Resources.ResourceManager resourceMan;

    private static global::System.Globalization.CultureInfo resourceCulture;

    internal language_fr() {
    }

    internal static global::System.Resources.ResourceManager ResourceManager {
    get {
    if (object.ReferenceEquals(resourceMan, null)) {
    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TEST.language_fr", typeof(language_fr).Assembly);
    resourceMan = temp;
    }
    return resourceMan;
    }
    }

    internal static global::System.Globalization.CultureInfo Culture {
    get {
    return resourceCulture;
    }
    set {
    resourceCulture = value;
    }
    }

    internal static string MACHAINE{
    get {
    return ResourceManager.GetString("MACHAINE", resourceCulture);
    }
    }

    }
    }
    En Informatique, tout est possible... mais... ce n'est pas toujours évident!

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

Discussions similaires

  1. [Outils][C++] Comment rendre portable une application ?
    Par poporiding dans le forum Framework .NET
    Réponses: 1
    Dernier message: 05/01/2006, 18h21
  2. Réponses: 1
    Dernier message: 22/11/2005, 11h00
  3. [c#] comment rendre invisble une colonne d'un datagrid
    Par meteor4 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/07/2005, 16h26
  4. Réponses: 10
    Dernier message: 19/05/2004, 15h44
  5. comment rendre invisible une FormStyle->fsMDIchild
    Par caluloa dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/05/2003, 14h21

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