【发布时间】:2018-03-20 15:32:02
【问题描述】:
我试图添加一些卫星资源文件以显示不同的语言 我一般都关注这两个帖子
Localization of a Site in MVC5 Using Resource File
简而言之,这就是我所做的(使用 Visual Studio 2017,.net Framework 4.5)
我创建了一个名为“资源”的文件夹
我右击这个文件夹并创建了一个名为“Lang.resx”的文件,添加了一个字符串对(名称:Welcome,值:Hello),然后将其切换为公共并保存
我右键单击该文件夹并创建了另一个名为“Lang.es.resx”的文件,添加了一个字符串对(名称:Welcome,值:Hola),然后将其切换为公共并保存
我打开 web.config 并将以下行添加到 System.Web
<globalization enableClientBasedCulture="true" culture="auto" uiCulture="auto" />
我打开了一个空白视图,将以下内容写入该视图
@{
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.GetCultureInfo("es");
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.GetCultureInfo("es");
}
<div>@MyProject.Resources.Lang.Welcome</div>
<div>@Thread.CurrentThread.CurrentCulture.DisplayName</div>
<div>@Thread.CurrentThread.CurrentUICulture.DisplayName</div>
输出如下:
你好 西班牙语 西班牙语
如您所见,文化发生了变化,但不知何故没有读取 Lang.es.resx,我在不同的托管 VPS 中创建了多个新项目,结果始终相同。 所以一定是我做错了什么,或者缺少一些步骤
【问题讨论】:
标签: c# asp.net-mvc localization