在 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>
我使用 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>