【发布时间】:2011-06-12 10:47:08
【问题描述】:
我有这个网站,支持英语和葡萄牙语。 在 localhost 中一切正常,内容根据名为“lang”的查询字符串参数进行翻译。
这段代码在每个页面中都发挥了作用:
protected override void InitializeCulture()
{
SetCulture();
}
private void SetCulture()
{
var logger = Util.GetLogger();
string lang = Request.QueryString["lang"];
if (string.IsNullOrEmpty(lang)) { lang = "pt-br"; }
string sessionLang = (string)Session["lang"];
if (sessionLang != lang)
{
Session["lang"] = lang;
}
logger.Log(string.Format("Culture {0} found",lang));
UICulture = lang;
Culture = lang;
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);
logger.Log(string.Format("Cultura {0} set", lang));
base.InitializeCulture();
}
感谢记录器,我可以肯定地说,在两种情况下(生产和本地主机)都会调用此方法。
我在 App_GlobalResources 文件夹中有两个资源文件: -WebSitemapGlobal.en-us.resx; -WebSitemapGlobal.resx;
有什么线索吗?
提前致谢。
【问题讨论】:
标签: asp.net localization