Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Localisation application

2 réponses
Avatar
Alex C.
Bonjour,

J'ai un petit probl=E8me avec un fichier de ressource.

Voici l'=E9tat de ma solution de projets :

J'ai une solution de projet avec trois projets P1,P2,P3. Le nom des
assemblys g=E9n=E9r=E9es sont les noms des projets ( pour faire simple )

P2 et P3 sont des biblioth=E8ques de classe.

Le P1 a comme r=E9f=E9rence les P2 et P3

P2 poss=E8de un fichier de ressource propre qui me permet de traduire
les messages contenues dans ses classes suivant la langue du PC. P2
Poss=E8de le fichier Main_Cls.vb, dans lequel se situe la classe P2_Cls.
A ce fichier VB est rattach=E9 le fichier Main_CLs.Fr.Resx dans lequel
sont toutes les strings pour ma traduction Fr.

Le probl=E8me se situe au moment ou j'essayes de faire un GetString sur
mon ressource manager situ=E9 en variable Private Shared dans la classe
instanci=E9 P2_Cls.

d=E9claration de mon ressource manager :

Private Shared RM as System.resources.ResourceManager
Rm =3D new System.resources.ResourceManager
("P2_Cls.Main_Cls",me.getType.assembly)


Et au moment de mon Rm.getString("MaString") j'ai une exception :

"Impossible de trouver des ressources appropri=E9es pour la culture
sp=E9cifi=E9e ou la culture neutre. Assurez vous que P2.Resources" a =E9t=
=E9
correctement incorpor=E9 ou li=E9 dans l'assembly "P2" (etc ....)


MErci d'avance pour vos r=E9ponses .

( J'esp=E8re ne pas trop vous avoir noy=E9 avec des d=E9tails)

2 réponses

Avatar
Alex C.
On 16 mar, 19:50, "Alex C." wrote:
Bonjour,

J'ai un petit problème avec un fichier de ressource.

Voici l'état de ma solution de projets :

J'ai une solution de projet avec trois projets P1,P2,P3. Le nom des
assemblys générées sont les noms des projets ( pour faire simple )

P2 et P3 sont des bibliothèques de classe.

Le P1 a comme référence les P2 et P3

P2 possède un fichier de ressource propre qui me permet de traduire
les messages contenues dans ses classes suivant la langue du PC. P2
Possède le fichier Main_Cls.vb, dans lequel se situe la classe P2_Cls.
A ce fichier VB est rattaché le fichier Main_CLs.Fr.Resx dans lequel
sont toutes les strings pour ma traduction Fr.

Le problème se situe au moment ou j'essayes de faire un GetString sur
mon ressource manager situé en variable Private Shared dans la classe
instancié P2_Cls.

déclaration de mon ressource manager :

Private Shared RM as System.resources.ResourceManager
Rm = new System.resources.ResourceManager
("P2_Cls.Main_Cls",me.getType.assembly)

Et au moment de mon Rm.getString("MaString") j'ai une exception :

"Impossible de trouver des ressources appropriées pour la culture
spécifiée ou la culture neutre. Assurez vous que P2.Resources" a ét é
correctement incorporé ou lié dans l'assembly "P2" (etc ....)

MErci d'avance pour vos réponses .

( J'espère ne pas trop vous avoir noyé avec des détails)



J'ai trouvé une parade, il suffit que je créé un fichier de ressource
nommé du nom du namespace et de la langue correspondate, en gros mon
fichier s'apelle P2.Fr.esx
Et quand je le recherche il suffit de le charger avec le ressource
manager par P2.P2. Logique mais je ne comprends pas pourquoi de ce
fait cela ne fonctionnait pas quand le fichier de ressource portait le
nom du fichier de ma classe ...
Avatar
Jérémy Jeanson
Bonjour Alex,

Comptent que tu ai trouvé ton bonheur. Pour ce qui est du nom du
fichier, si tu y regardes bien, il ne s'agit pas du nom du namespace
mais de celui de ton assembly qui par défaut est le même que le
namespace. Si tu change le nom de l'assembly à générer, ta ressource te
posera à nouveau des soucis.

Il ne faut donc pas chercher un rapport avec le nom du fichier d'une
classe, car une fois compilé ton assembly n'a plus la moindre
information sur ce fichier de classe.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr