如何在 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 就可以工作,但如果脚本文件是外部的,那么它就不会工作。我该如何解决这个问题?

这个问题的答案主要基于意见。

我在各种项目中遇到了三种主要方法:

  1. 本地化处理程序。您在 javascript 中定义资源键,在 $(document).ready() 中您使用 ajax 从专用于此的 controller/httphandler 获取本地化值并替换键控文本。
  2. 内联js。基本上,您转储外部 .js 并在 views/pages 中的 <script> 标记内呈现脚本。
  3. 全局变量。在视图中定义全局变量,如下所示:<script language="text/javascript">var myString='<%= Resources.MyString %>';</script>,然后使用包含的 .js.
  4. 中的变量

我个人更喜欢方法 n 3 -> 您可以在代码中的一个位置创建所有变量并一次性加载页面。