Programaticamente altere o idioma do arquivo de recursos (resx) em Code Behind
Eu tenho um aplicativo .net em c # e eu tenho uma estrutura de arquivos algo como:
App_LocalResources
- MyPage.aspx.resx
- MyPage.aspx.fr.resx
MyPage.aspx
MyPage.aspx.cs
Eu estou tentando programaticamente alterar o idioma que informa o aplicativo que o arquivo resx para usar. Eu quero fazer isso no código por trás do arquivo (MyPage.aspx.cs).
Eu tentei os dois nos eventos OnPreRender, Page_Init e Page_Load:
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA");
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA");
e isso não funciona. A página ainda mostra o idioma inglês. O arquivo MyPage.aspx tem isso:
<h3><asp:Literal runat="server" Text="<%$ Resources:pageTitle %>" /></h3>
Note que não posso me importar com o idioma do navegador. Deve superar isso. Eu tenho procurado na web por esta solução sem sucesso. Todos os exemplos mostram mudar a linguagem da maneira que eu já tentei (acima) no entanto isso não afeta o arquivo de recurso usado. Alguma ideia?