Programowo zmień język plików zasobów (resx) w programie Code Behind
Mam aplikację .Net w języku C # i mam strukturę plików podobną do:
App_LocalResources
- MyPage.aspx.resx
- MyPage.aspx.fr.resx
MyPage.aspx
MyPage.aspx.cs
Próbuję programowo zmienić język, który mówi aplikacji, którego pliku resx należy użyć. Chcę to zrobić w kodzie za plikiem (MyPage.aspx.cs).
Wypróbowałem oba z nich w zdarzeniach OnPreRender, Page_Init i Page_Load:
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA");
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA");
i to nie działa. Strona nadal pokazuje język angielski. Plik MyPage.aspx ma to:
<h3><asp:Literal runat="server" Text="<%$ Resources:pageTitle %>" /></h3>
Pamiętaj, że nie zależy mi na języku przeglądarki. Musi to przejąć. Bezskutecznie szukałem w Internecie tego rozwiązania. Wszystkie przykłady pokazują przełączanie języka tak, jak już próbowałem (powyżej), jednak nie wpływa to na używany plik zasobów. Jakieś pomysły?