我使用 asp.net 和 Visual Studio 2012 创建了一个 MVC Web 应用程序。
现在,我想让它变成多语言的。根据用户的浏览器语言,自动以一种语言或另一种语言打开页面。
我在互联网上搜索,我创建了两个全球资源,称为:
ContentEN.resx
ContentES.resx
在这两个文件中,我添加了一些具有相同键和不同值的值,例如:
名称:用户信息,值:用户信息 名称: 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>