2010-10-27 17 views
1

Je sais que je fais quelque chose de fondamentalement mauvais, mais je ne peux pas comprendre tout à fait dehors ...ASP.NET Localisation ne fonctionne pas pour moi

J'ai 2 fichiers de ressources dans mon dossier App_GlobalResources: Global.resx et Global.fr-CA.resx.

Je sont caractérisés comme suit sur mon formulaire en ligne:

<asp:Label ID="Label1" runat="server" Text="<%$ Resources:Global, Test %>" /> 

Quand je lance la forme, il affiche la valeur correcte de Global.resx. Maintenant, dans le code-behind, je veux changer manuellement la culture à tirer de mon dossier resx fr-CA:

Page.UICulture = "fr"; 
Page.Culture = "fr-CA"; 

Cependant, quand je re-exécuter l'application, il ne tire pas la valeur de Global. fr-CA.resx - il tire toujours de Global.resx. Qu'est-ce que je fais mal?

Merci!

Répondre

3

Vous devriez remplacer la méthode InitializeCulture() de votre classe de page et définir à la fois Page.Culture et Page.UICulture à la culture spécifique fr-CA:

protected override void InitializeCulture() 
{ 
    base.InitializeCulture(); 
    Page.Culture = Page.UICulture = "fr-CA"; 
} 
+0

je fait le changement, mais il ne fonctionne toujours pas correctement. –

+0

Quelle est la culture neutre de votre assemblée? –

+0

Il est défini sur Aucune. –