none
migration de projets multilingues de visual studio 1.1 à Visual studio 2008 RRS feed

  • Question

  • Bonjour,
    Avec Visual Studio 1.1 :
    - mes fichiers de resources (Strings.resx, Strings.fr.resx, strings.en.resx ...) étaient rangés au niveau racine de l'application
    - pour accéder aux resources localisées en C# le code ci-dessous fonctionnait correctement :

     


    protected ResourceManager LocRM;

     

    protected void Page_Load(object sender, System.EventArgs e)

    {

    LocRM=

    new ResourceManager("ASPNET.StarterKit.Communities.Strings", typeof(_Default).Assembly);

    labelSearch.Text=LocRM.GetString(

    "CommunityDefault_labelSearch");

    lnkSearch.Text=LocRM.GetString(

    "CommunityDefault_lnkSearch");

    }

    Visual Studio 2008 a migré mon projet et placé les fichiers de Resources dans le répertoire App_GlobalResources. La programmation ci-dessus ne me renvoie plus les traduction attendues.
    J'ai réussi dans la plupart des cas à remplacer cette programmation par :

    labelSearch.Text=Resources.Strings.CommunityDefault_labelSearch;
    lnkSearch.Text=Resources.Strings.CommunityDefault_lnkSearch;

    mais parfois le nom de la Resource n'est pas connu à l'avance et je dois pouvoir passer le nom en paramètre :

    string key = "Menu" + i + "Page" + j;
    + MenuItem.Text=LocRM.GetString(Key);

    comme je pouvais le faire avec la version 1.1.

    Merci par avance de votre aide.

    mercredi 8 avril 2009 02:17

Toutes les réponses