Merci phalgand. tu m'as sauvé la vie.
Ca fonctionne très bien.
Version imprimable
Merci phalgand. tu m'as sauvé la vie.
Ca fonctionne très bien.
Bonjour,
Je suis confronté au même problème :
Que faut-il mettre exactement à la place de XXXXXX ??Code:ResourceManager manager = new ResourceManager("MainResources", typeof(XXXXXX).Assembly);
J'ai mon WebSite ASP.NET, contenant un dossier que j'ai créé : App_GlobalResources.
Ce dernier contient 2 fichiers de ressources que j'ai créé également :
MainResource.en.resx
MainResource.fr.resx
Une idée ?? Car en mettant "Resources." à la place de XXXX, il ne me trouve rien !
Quelqu'un pourrait m'éclairer ?
Merci d'avance.
Pour les futurs personnes qui auraient le problème, voici la solution:
Il faut 1 dossier App_GlobalResources, dans mon cas, il devait contenir un fichier de plus : MainResource.resx. (par défaut, si pas de CultureInfo chargée).
En gros, vous devriez avoir ceci :
App_GlobalResources
||_ AZERTY.en.resx|_ AZERTY.fr.resx|_ AZERTY.de.resx|_ AZERTY.ru.resx|_ AZERTY.resx (sans oublier celui ci !!!)
Ensuite, au niveau du code, voici ce que cela donne :
Et voila, ça fonctionne !!!Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 using System.Resources; // Pour le Ressource Manager using System.Reflection; using System.Globalization; // et les langues. (...) protected void Page_Load(object sender, EventArgs e) { String baseName = "Resources.AZERTY"; Assembly assembly = typeof(Resources.AZERTY).Assembly; ResourceManager manager = new ResourceManager(baseName, assembly); CultureInfo FrenchCulture = new CultureInfo("fr"); CultureInfo EnglishCulture = new CultureInfo("en"); String label = manager.GetString("CLE_TITRE_DU_WEBSITE", EnglishCulture); (...)
Encore MERCI à phalgand qui a apporté une aide très précieuse.