[2.0] Windows Service et multi-langage
bonjour,
j'essaye de rendre un service windows (écrit en C# 2.0) multi langue. J'y arrive très bien avec une application web ou winform, mais pas du tout avec un service windows. J'utilise des fichiers .resx bien entendu, avec un resource manager.
Par exemple j'ai ma classe Toto.cs qui a des ressources incorporés toto.en.resx, toto.fr.resx, et toto.resx.
Quoique je fasse, seul toto.resx est utilisé. (alors qu'en winform classique, le meme code marche parfaitement et appelle le bon fichier .resx)
c'est normal ou j'ai oublié un truc ?
Dans le OnStart du service, je force la culture :
Code:
1 2 3 4 5 6
| CultureInfo v_currentCulture = new CultureInfo("fr-FR");
if (v_currentCulture != null) {
System.Threading.Thread.CurrentThread.CurrentUICulture = v_currentCulture;
if (!v_currentCulture.IsNeutralCulture)
System.Threading.Thread.CurrentThread.CurrentCulture = v_currentCulture;
} |
et ensuite soit j'appelle directement la ressource :
Code:
RscManager.GetString("MonTexteLocalise", CurrentCulture);
soit je laisse l'appli trouver tout seul.
edit : sous le debuggeur, je confirme que la culture du thread est celle que je veux. Je ne comprends pas qu'il aille toujours chercher dans le .resx et pas le .fr.resx ou .en.resx :(