如何在 javascript 文件中使用 resx 文件。 .net 核心 3.1 mvc

Posted

技术标签:

【中文标题】如何在 javascript 文件中使用 resx 文件。 .net 核心 3.1 mvc【英文标题】:How to use resx file in javascript file. .net core 3.1 mvc 【发布时间】:2021-04-30 02:34:23 【问题描述】:

我正在使用 .net core mvc 开发多语言网站。 我使用了 Microsoft.AspNetCore.Mvc.Localization.IhtmlLocalizer。

对我来说,这段代码在 .cshtml 中运行良好

@inject Microsoft.AspNetCore.Mvc.Localization.IHtmlLocalizer<ExampleProject.WEB.Controllers.HomeController> localizer

@localizer["NotificationManage"]

也适用于_Layout页面中的script>标签

 alert('@localizer["NotificationManage"]');

但不要在 js 文件中工作。

如何在javascript文件中使用Resx文件?

将多语言转换为 javascript 的另一种最佳方法是什么?

alert('@localizer["NotificationManage"]');

不适合我。

警报结果为:@localizer["NotificationManage"];

【问题讨论】:

这个答案将帮助***.com/a/55095806/5519026 【参考方案1】:

一种可能的解决方案是将您的翻译定义为脚本外部窗口上的全局变量

<script>
var translations = 
   notification: '@localizer["NotificationManage"]'

</script>
<script type="text/javascript" src="pathtoscript.js"></script>

然后进入你的脚本

alert(window.translations.notification);

如果这里有任何更好的解决方案,我很高兴听到,因为我们在生产中以这种方式使用它

【讨论】:

以上是关于如何在 javascript 文件中使用 resx 文件。 .net 核心 3.1 mvc的主要内容,如果未能解决你的问题,请参考以下文章

如何在单个 EXE 中嵌入多语言 *.resx(或 *.resources)文件?

如何在单个EXE中嵌入多语言* .resx(或* .resources)文件?

如何比较多个.resx文件?

如何在 xml 格式的 resx 文件中添加条件编译?

如何使用特定区域性从 App_LocalResources 文件夹中的 resx 文件中读取?

如何对 . .NET 中的 resx(资源文件)