如何在 Asp.net MVC 中将本地化添加到外部 js 文件?
How to add localization toexternal js file in Asp.net MVC?
我几乎卡住了,因为我不知道如何 "call" .js 文件中的资源文件。我有一个登录视图,在这个视图上我调用 MVC 渲染方法来生成脚本标签。
@Scripts.Render("~/Scripts/Login.js")
在我的 Login.js 中我有一个变量 :
var yes = "Resources.Resource.Yes";
应翻译成 Yes、Ja 或其他任何内容,具体取决于设置的 cultureInfo。如果我将脚本文件保存在我的视图中,它会非常直接,因为那样我只需调用 @Resources.Rescource.Yes 就可以工作,但如果脚本文件是外部的,那么它就不会工作。我该如何解决这个问题?
这个问题的答案主要基于意见。
我在各种项目中遇到了三种主要方法:
- 本地化处理程序。您在 javascript 中定义资源键,在
$(document).ready()
中您使用 ajax 从专用于此的 controller/httphandler 获取本地化值并替换键控文本。
- 内联js。基本上,您转储外部 .js 并在 views/pages 中的
<script>
标记内呈现脚本。
- 全局变量。在视图中定义全局变量,如下所示:
<script language="text/javascript">var myString='<%= Resources.MyString %>';</script>
,然后使用包含的 .js. 中的变量
我个人更喜欢方法 n 3 -> 您可以在代码中的一个位置创建所有变量并一次性加载页面。
我几乎卡住了,因为我不知道如何 "call" .js 文件中的资源文件。我有一个登录视图,在这个视图上我调用 MVC 渲染方法来生成脚本标签。
@Scripts.Render("~/Scripts/Login.js")
在我的 Login.js 中我有一个变量 :
var yes = "Resources.Resource.Yes";
应翻译成 Yes、Ja 或其他任何内容,具体取决于设置的 cultureInfo。如果我将脚本文件保存在我的视图中,它会非常直接,因为那样我只需调用 @Resources.Rescource.Yes 就可以工作,但如果脚本文件是外部的,那么它就不会工作。我该如何解决这个问题?
这个问题的答案主要基于意见。
我在各种项目中遇到了三种主要方法:
- 本地化处理程序。您在 javascript 中定义资源键,在
$(document).ready()
中您使用 ajax 从专用于此的 controller/httphandler 获取本地化值并替换键控文本。 - 内联js。基本上,您转储外部 .js 并在 views/pages 中的
<script>
标记内呈现脚本。 - 全局变量。在视图中定义全局变量,如下所示:
<script language="text/javascript">var myString='<%= Resources.MyString %>';</script>
,然后使用包含的 .js. 中的变量
我个人更喜欢方法 n 3 -> 您可以在代码中的一个位置创建所有变量并一次性加载页面。