【问题标题】:Dnn Razor Script LocalizationDnn Razor 脚本本地化
【发布时间】:2018-02-15 20:37:28
【问题描述】:

我知道如何本地化常规 DNN 模块,但我不确定从哪里开始使用 DNN Razor 主机模块中托管的 Razor 脚本。

我将本地化 resx 文件保存在一个单独的程序集中,因此我认为最简单的方法是使用 ResourceManager 从程序集中获取资源,但这似乎与 Dnn 的本地化框架不太匹配,因为资源不会在 Dnn 中不可编辑。

如果可能的话,我想保留嵌入的资源文件,但如果这不可能,我会理解的。

无论哪种方式,我如何在 Dnn 的 Razor 脚本文件中访问这些资源?

【问题讨论】:

    标签: razor localization dotnetnuke


    【解决方案1】:

    你可以使用这种方法,但我不确定它是否是你要找的......

        @using DotNetNuke.Services.Localization
        @{
            var localResourceFile = "/DesktopModules/RazorModules/RazorHost/Scripts/App_LocalResources/SharedResources.ascx." + Dnn.Portal.CultureCode + ".resx";
            var text = Localization.GetString("pepamaca.Text", localResourceFile);
        }
    
        <div>@text</div>
    

    【讨论】:

    • 两件事:1) 你能提供一个例子来说明如何在 HTML 中使用资源字符串吗? 2) 你是说不可能将这些资源文件嵌入到外部程序集中?
    • 1 - 只需要在 div 或 p 等 html 元素中添加“@text”
    • 2 - 我不确定您的要求是什么,如果您需要访问 DNN 中的另一个资源文件,只需更改 localResourceFile 的路径
    • 感谢第 1 点)。 2) 我指的是访问嵌入在外部自定义库中的 Resx 文件。这样做的目的是限制我必须在开发和生产之间复制的文件数量。如果可以的话,我什至想将实际的 Razor 脚本嵌入到外部库中,但我会遇到同样的问题:如何在 Dnn 中访问它们
    猜你喜欢
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    相关资源
    最近更新 更多