高手留步,多国语疑问
功能我已经实现了,方法:页面语言设置为auto,然后再添加资源文件,这样就可实现根据访客的IE设置来显示不同的语言。
演示: http://www.10000free.com ,在IE,工具,internet选项,语言中分别添加日语[ja],英语[en-us],并将其置为首选项,再刷新页面即可更换语言,语言是google自动翻译的,高手勿笑。
这种方法的几种弊端:
1.不够人性化,比如我用IE打开是中文,换火狐就变成英文了,除外,客户端的设置偏差也可能导致非期望的页面语言出现。
2.不利于搜索引擎收录,现在google只收录了几个英文页,如果加上语言切换连接,google可能会多收几页吧。
我的问题:
我想在页面加个连接,比如?language=en-us,访客一点的话,就把en-us写进SESSION, 然后每个页面(已设置语言为auto)优先根据SESSION的值来显示相关语言,然后如果没有SESSION再根据auto显示。
难点:如何让每个页面的Lable使用SESSION指定的资源文件.我以前也搜索过不少相关文章,一直没有实现这个功能,请高手帮帮我。
[解决办法]
页面基类里面
Thread.CurrentThread.Cultrue = ....;
[解决办法]
这是存Cookie里的方案
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string language = Request.Cookies["Language"] == null ? null : Request.Cookies["Language"].Value;
if (!string.IsNullOrEmpty(language))
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(language);
System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
System.Threading.Thread.CurrentThread.CurrentCulture = culture;
}
}
[解决办法]
这个问题值得关注...
[解决办法]
学习,帮顶。。。
[解决办法]
通过session去调取相应的资源文件就可以呀
[解决办法]