Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 视图中的ASP.Net 5 rc1本地化_C#_Localization_Asp.net Core - Fatal编程技术网

C# 视图中的ASP.Net 5 rc1本地化

C# 视图中的ASP.Net 5 rc1本地化,c#,localization,asp.net-core,C#,Localization,Asp.net Core,我需要从我的视图中的资源文件中获得一些字符串。在Startup.cs中: services.AddMvc() .AddViewLocalization(options => options.ResourcesPath = "Resources"); 以及: 视图: 我在MSDN博客中读到以下内容: IViewLocalizer是一个IHtmlLocalizer服务,用于查找 基于当前视图名称的资源 那么,我应该如何命名.resx文件,以便在视图中显示本地化的字符串呢?如果我有Views/

我需要从我的视图中的资源文件中获得一些字符串。在Startup.cs中:

services.AddMvc()
.AddViewLocalization(options => options.ResourcesPath = "Resources");
以及:

视图:

我在MSDN博客中读到以下内容:

IViewLocalizer
是一个
IHtmlLocalizer
服务,用于查找 基于当前视图名称的资源


那么,我应该如何命名
.resx
文件,以便在视图中显示本地化的字符串呢?如果我有
Views/Manager/Index.cshtml
那么
Resources/Manager/Index.cshtml.ru ru.resx
是否正确?但是找不到资源…

您应该有一个名为
resources.resx
的基本资源文件,如果所选语言没有翻译,它将是您的“后备”资源

然后,每个语言资源文件应按以下格式命名:

资源-区域性代码.resx

文化代码可以是中性语言,也可以是区域特定语言

比如说

  • 西班牙语:resource-es.resx
  • 美国英语:resource-en-US.resx

设置线程的UI区域性时,将自动使用该区域性的正确资源。

这在文档中非常混乱,因为资源名称不是基于当前视图名称,而是基于当前视图路径:

(第101行)

这意味着资源名称的命名应如下所示:

Views.{ControllerName}.{ViewName}.cshtml.{culture code}.resx
e.g. Views.Home.About.cshtml.de-DE.resx
一个月前我已经报告过这种行为:
从Visual Studio启动应用程序时无法使用本地化(我的意思是从带有区域性后缀的resx文件中获取本地化字符串)。需要从命令行启动应用程序(例如
DNXWeb


,rc1专题

非常感谢!你的回答帮我把事情办好了。我同意,它的工作方式还不是很方便。希望他们能修好。
@using Microsoft.AspNet.Mvc.Localization
@inject IViewLocalizer loc
Views.{ControllerName}.{ViewName}.cshtml.{culture code}.resx
e.g. Views.Home.About.cshtml.de-DE.resx