Sli*_*lip 5 c# localization asp.net-core
我需要在视图中从资源文件中获取一些字符串.在Startup.cs中:
services.AddMvc()
.AddViewLocalization(options => options.ResourcesPath = "Resources");
Run Code Online (Sandbox Code Playgroud)
和:
app.UseRequestLocalization(new RequestCulture("ru-RU"));
Run Code Online (Sandbox Code Playgroud)
视图:
@using Microsoft.AspNet.Mvc.Localization
@inject IViewLocalizer loc
Run Code Online (Sandbox Code Playgroud)
我在MSDN博客中读到以下内容:
这
IViewLocalizer是一种IHtmlLocalizer基于当前视图名称查找资源的服务.
那么我应该如何命名.resx文件以便我的本地化字符串出现在我的视图中?如果我有,Views/Manager/Index.cshtml那么Resources/Manager/Index.cshtml.ru-RU.resx是正确的吗?但资源尚未找到......
这在文档中非常令人困惑,因为资源名称不是基于当前视图名称,而是基于当前视图路径: https:
//github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNet。 Mvc.Localization/ViewLocalizer.cs
(第 101 行)
这意味着资源名称应该这样命名:
Views.{ControllerName}.{ViewName}.cshtml.{culture code}.resx
e.g. Views.Home.About.cshtml.de-DE.resx
Run Code Online (Sandbox Code Playgroud)
我一个月前已经报告了这种行为:
https://github.com/aspnet/Mvc/issues/3376
| 归档时间: |
|
| 查看次数: |
1838 次 |
| 最近记录: |