Raş*_*hin 5 javascript c# localization .net-core asp.net-core
我正在使用 .net core mvc 开发多语言网站。我使用了 Microsoft.AspNetCore.Mvc.Localization.IHtmlLocalizer。
这段代码对我来说在 .cshtml 中工作得很好
@inject Microsoft.AspNetCore.Mvc.Localization.IHtmlLocalizer<ExampleProject.WEB.Controllers.HomeController> localizer
@localizer["NotificationManage"]
Run Code Online (Sandbox Code Playgroud)
也适用于_Layout 页面中的< script > 标记之间
alert('@localizer["NotificationManage"]');
Run Code Online (Sandbox Code Playgroud)
但不要在 js 文件中工作。
如何在javascript文件中使用Resx文件?
还有什么最好的方法可以使多语言转为 javascript?
alert('@localizer["NotificationManage"]');
Run Code Online (Sandbox Code Playgroud)
不为我工作。
警报结果为:@localizer["NotificationManage"];
Joc*_*pen 10
一种可能的解决方案是将翻译定义为脚本外部窗口上的全局变量
<script>
var translations = {
notification: '@localizer["NotificationManage"]'
}
</script>
<script type="text/javascript" src="pathtoscript.js"></script>
Run Code Online (Sandbox Code Playgroud)
然后在你的脚本中你去
alert(window.translations.notification);
Run Code Online (Sandbox Code Playgroud)
如果这里给出任何更好的解决方案,我很高兴听到,因为我们在生产中使用这种方式
| 归档时间: |
|
| 查看次数: |
2312 次 |
| 最近记录: |