Aide sur application Multilingue [Résolu]

Messages postés
34
Date d'inscription
mercredi 26 octobre 2005
Dernière intervention
24 septembre 2014
- - Dernière réponse : cs_Yanith
Messages postés
34
Date d'inscription
mercredi 26 octobre 2005
Dernière intervention
24 septembre 2014
- 22 oct. 2012 à 13:42
Bonjour,

étant complètement perdu après de multiple test et de recherche, je me tourne vers vous pour demander de l'aide sur la procédure à suivre pour faire une application multilingue. j'ai suivie tout un tas de tutoriel qui ne me satisfont pas. J'ai un cahier des charges très précis qui me contraint à avoir une arborescence spécifique ... je m'explique :

les fichiers de langue disponible pour mon application doivent être dans un dossier nommer "Lang" et les fichiers
doivent se nommer "Lang.fr.dll", "Lang.en.dll", "Lang.de.dll", "Lang.es.dll".

Tous les tests que j'ai pu faire jusqu'a maintenant fond que je me retrouve avec un dossier par langue avec dans chacun un fichier dll se nommant "Application.Ressouce.Dll" .... Se qui ne me convient pas.

Avez vous une piste, solution ou conseil pour résoudre mon problème ?
Pour info : je travaile sous VS2012 sur Windows 7 pour concevoir une application WinForm.

Bien cordialement.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Dernière intervention
15 avril 2013
3
Merci
Bonjour,

La solution la plus simple est d'aller voir ton CP et de lui expliquer que ce n'est pas possible à cause du comportement de .Net pour les applications multilingues. S'il n'est pas sensible à cet argument tu peux essayer d'utiliser un ResourceManager que tu instancies toi-même à partir de l'assembly où se trouvent tes ressources.

Un piste serait peut-être d'utiliser :

public ResourceManager (
string baseName,
Assembly assembly
)

et Assembly.Load pour charger la dll de ressources.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ed73
Messages postés
34
Date d'inscription
mercredi 26 octobre 2005
Dernière intervention
24 septembre 2014
0
Merci
Il n'est pas sensible à quoi que se soit

J'ai trouvé la solution se matin qui est la même chose que toi, explication :

- Création d'un projet vide avec VS2012.
- Ajout de ressources (Resx) avec les données qui m'interresse.
- Convertion des fichier resx en fichier .resources avec : resgen NomDeFichier.resx
- Compilation des fichiers .resources en DLL avec : al /t:lib /embed:NomDeFichier.resources /culture:fr /out:NomDeFichier.dll

Dans le projet de mon application :

var assembly = Assembly.LoadFrom("NomDeFichier.dll");
var rm = new ResourceManager("resources", assembly);
label1.Text = rm.GetString("Name");

et voila sa fonctionne. Merci
Commenter la réponse de cs_Yanith

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.