在设置文化时,我们应该在服务器端有两种文化还是只有一种?

时间:2014-02-18 22:01:03

标签: asp.net asp.net-mvc globalization

目前基于用户设置,我们在服务器端设置文化信息(asp.net mvc),这是正确的吗?

即。如果他们在美国:

System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");

因此,如果他们是西班牙语,我们将设置,等等。

这是对的吗?

或者我们应该只有一个文化服务器端,然后在UI端根据需要进行更改?

2 个答案:

答案 0 :(得分:2)

当您将其与本地化资源结合使用时,这是一种正确的方法。我在我的网站(vocableman.com)上以同样的方式实施了全球化。您可以使用用户浏览器的首选项来设置用户喜欢使用的正确语言。

编辑: 也许我没理解你。您最好在网站上为用户提供一个选项,以便轻松切换到另一种语言。在ASP.NET MVC中,您可以将用户选择的语言维护为相对路径的第一部分 - 例如example.com/en/Home。这样,您始终可以知道用户已选择语言,并可相应地在页面上生成URL。当然,用户第一次访问根页面(例如example.com/)时,您应该猜测他的偏好并将其重定向到他的浏览器所说的首选版本。

答案 1 :(得分:0)

在服务器端,一个线程在任何给定时间只服务一个请求,因此在服务器端设置多个文化没有问题