Aide sur application Multilingue [Résolu]

cs_Yanith 34 Messages postés mercredi 26 octobre 2005Date d'inscription 24 septembre 2014 Dernière intervention - 20 oct. 2012 à 13:01 - Dernière réponse : cs_Yanith 34 Messages postés mercredi 26 octobre 2005Date d'inscription 24 septembre 2014 Dernière intervention
- 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
ed73 276 Messages postés lundi 8 septembre 2008Date d'inscription 15 avril 2013 Dernière intervention - 22 oct. 2012 à 09:30
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.

Merci ed73 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de ed73
cs_Yanith 34 Messages postés mercredi 26 octobre 2005Date d'inscription 24 septembre 2014 Dernière intervention - 22 oct. 2012 à 13:42
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.