【问题标题】:how to make multilingual site in asp.net如何在asp.net中制作多语言网站
【发布时间】:2011-07-19 17:12:21
【问题描述】:
我正在用 asp.net 开发一个多语言的网站,但我不明白如何做到这一点,因为我们可以通过使用资源文件来管理多语言。我们这样做了,但我的主要问题是我们如何在运行时为特定用户更改全球化。如果 A 用户选择英语,那么他/她可以用英语查看这个网站,如果 B 用户选择西班牙语,那么他/她可以用西班牙语查看这个网站。我们怎么能做到这一点?或者我们如何选择特定的语言资源文件???
【问题讨论】:
标签:
c#
asp.net
globalization
multilingual
【解决方案1】:
使用此代码
protected override void InitializeCulture()
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); //'en-US' these values are may be in your session and you can use those
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");//'en-US' these values are may be in your session and you can use those
base.InitializeCulture();
}
【解决方案3】:
你可以试试这样的:
string culture = "en-US"; //could come from anything (session, database, control, etc..)
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(culture);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(culture);
我认为它有效!
【解决方案4】:
您需要对语言和单个资源文件使用本地化。现在,当您的网站在客户端被访问时,您需要检查客户端机器上的语言环境设置,他的日期/时间设置和默认语言......在此基础上,您可以提供用户希望的语言......