【问题标题】:Localization on _Layout.cshtml_Layout.cshtml 上的本地化
【发布时间】:2017-09-19 18:18:27
【问题描述】:

我正在尝试在 _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祝你好运)

【问题讨论】:

    标签: c# razor asp.net-core


    【解决方案1】:

    您必须在视图的同一路径中创建一个 _Layout.no.resx 文件,但作为“资源”文件夹的根目录。查看示例图片:

    有一个视频阐明了 Location 的使用参见here

    【讨论】:

      【解决方案2】:

      解决方案

      使用资源文件实现 SharedResources 并在 共享视图中的 SharedResources 对象

      【讨论】:

      • 链接不再有效
      【解决方案3】:

      您可以将IViewLocalizerIHtmlLocalizer 组合为_Layout.cshtml。如果您在 Visual Studio 解决方案中定义资源文件夹,则可以将资源文件放在那里。

      如果您在 ASP.net 核心应用程序中使用 razor 页面而不是 MVC 视图,您将在文件夹 Resources 中创建一个子文件夹 Pages 而不是 Views。将_Layout.no.resx 文件放在那里。例如Resources\Pages\_Layout.no.resx.

      【讨论】:

        猜你喜欢
        • 2020-08-18
        • 1970-01-01
        • 2021-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-03
        • 2014-04-04
        相关资源
        最近更新 更多