在 asp.net 中制作多语言应用程序

Make a multilingual application in asp.net

我使用 asp.net 和 visual studio 2012 创建了一个 MVC 网络应用程序。

现在,我想让它支持多语言。根据用户的浏览器语言,自动以一种语言或另一种语言打开页面。

我在 Internet 上搜索并创建了两个名为:

的全局资源
ContentEN.resx
ContentES.resx

在这两个文件中,我添加了一些具有相同键和不同值的值,例如:

Name: userInformation, value: User information Name: userInformation, value: Informacion de usuario

然后在 HTML 我可以使用像 @Resources.ContentES.UserInformation

这样的标签

问题是我想自动完成。所以问题是:一旦我为两种语言创建了两个文件,我该如何根据用户的浏览器使用其中一种?

谢谢!

您需要以不同的方式命名您的资源:

Content.resx
Content.EN.resx
Content.ES.resx

其中 Content.resx 是默认回退。然后像这样请求他们:

@Resources.Content.UserInformation

但这只有在相应地设置线程语言时才有效。

https://weblog.west-wind.com/posts/2014/Mar/27/Auto-Selecting-Cultures-for-Localization-in-ASPNET

重点是:

  <system.web>
    <globalization culture="auto:en-US" uiCulture="fr" />
  </system.web>