asp.net MVC: localización
Tengo mi idioma de destino en la sesión ["lang"], que es "en" o "it". He añadido esto al Site.master:
<script runat="server">
void Page_Load(object sender, EventArgs e) {
string lang = Session["lang"].ToString();
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(lang);
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.CreateSpecificCulture(lang);
}
</script>
Entonces me gustaría invocar una cadena de recursos como esta:
<asp:Label ID="Label1" runat="server" Text="<%$ Resources:Global, test %>"></asp:Label>
Tengo dos archivos en App_GlobalResources, llamados Global.resx y Global.en.resx.
El problema es que no importa lo que esté en la variable lang, siempre obtengo los resultados del Global.resx principal, y nunca obtengo la versión en inglés de Global.en.resx
Estoy haciendo esto mal por completo?
Intenté poner la parte System.Threading ... en el método Application_PreRequestHandlerExecute en Global.asax.cs pero el resultado fue el mismo.
Gracias
PD: estoy preguntando sobre una manera de hacer que esto funcione de una manera simple. Si tuviera que usar la manera complicada, seguiría con esto:http://helios.ca/2009/05/27/aspnet-mvc-and-localization/