我想知道是否可以通过简单地为每种所需语言创建资源文件来使您的应用程序多语言化
像
Resource.resx for English //string abc(name)=xyz(value)
Resource.zh.resx for Chinese //string abc(name)=zh(value)
只需在视图中放置一个字符串(仅支持多语言的单一视图) 像
一样的字符串@appName.Resource.abc
和
<globalization culture="en-GB" uiCulture="auto:en-GB" />
在Web.Config
中现在我的问题是
这是否足以开始使用多语种网站,即如果我将浏览器中的首选语言更改为中文,页面内容正在发生变化?但这是如何运作的?
我所知道的是
需要知道 - 如何映射到特定资源文件。我的意思是我的示例中的两个资源文件(Resource.resx和Resource.zh.resx)都具有不同值的“abc”属性。 asp.net如何确定要渲染的值?是否有任何命名惯例?
答案 0 :(得分:4)
在运行时,ASP.NET使用最匹配的资源文件 CurrentUICulture属性的设置。用户界面文化 线程是根据页面的UI文化设置的。例如,如果 目前的UI文化是西班牙语,ASP.NET使用的是编译版本 WebResources.es.resx文件。如果当前没有匹配 UI文化,ASP.NET使用资源回退。它从搜索开始 特定文化的资源。如果那些不可用,那就是 寻找中立文化的资源。如果不是这样的话 发现,ASP.NET加载默认资源文件。在这个例子中, 默认资源文件是WebResource.resx。