我试图在_Layout.cshtml上应用本地化
_Layout.cshtml
@using Microsoft.AspNetCore.Http.Extensions
@using Microsoft.AspNetCore.Localization
@using Microsoft.AspNetCore.Mvc.Localization
@inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
@inject IViewLocalizer LayoutLocalizer
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div style="margin:38px;margin-top:56px;" class="hidden-sm-down">
<h2>@LayoutLocalizer["WelcomeHeader"] <b class="text_border_darkblue">MyTitle</b></h2>
<div style="text-align:center;margin-top:42px;">
@LayoutLocalizer["WelcomeSub"]
</div>
</div>
</body>
</html>
资源文件命名为: Views.Shared._Layout.no.resx (我已尝试重命名为 views.shared.Layout.no.resx 没有任何运气)
答案 0 :(得分:3)
解决方案
使用资源文件实现SharedResources并使用本地化 共享视图中的SharedResources对象
答案 1 :(得分:0)
您可以为IViewLocalizer
组合IHtmlLocalizer
和_Layout.cshtml
。如果您在Visual Studio解决方案中定义资源文件夹,则可以在其中放置资源文件。
如果在ASP.net核心应用程序中使用剃刀页面而不是MVC视图,则会在“资源”文件夹中创建子文件夹页面而不是“视图”。将_Layout.no.resx
文件放入其中。例如Resources\Pages\_Layout.no.resx
。
答案 2 :(得分:0)