Javascript 如何在Asp.net MVC中将本地化添加到外部js文件?

Javascript 如何在Asp.net MVC中将本地化添加到外部js文件?,javascript,c#,asp.net-mvc,model-view-controller,localization,Javascript,C#,Asp.net Mvc,Model View Controller,Localization,我几乎被卡住了,因为我不知道如何在.js文件中“调用”资源文件。我有一个登录视图,在这个视图上我调用MVC render方法来生成脚本标记 @Scripts.Render("~/Scripts/Login.js") 在我的Login.js中,我有一个变量: var yes = "Resources.Resource.Yes"; 哪个应该被转换为Yes,或者Ja,或者其他取决于设置了哪个cultureInfo。如果我将脚本文件保存在视图中,这是非常简单的,因为我只需调用@Resource

我几乎被卡住了,因为我不知道如何在.js文件中“调用”资源文件。我有一个登录视图,在这个视图上我调用MVC render方法来生成脚本标记

   @Scripts.Render("~/Scripts/Login.js")
在我的Login.js中,我有一个变量:

var yes = "Resources.Resource.Yes";

哪个应该被转换为Yes,或者Ja,或者其他取决于设置了哪个cultureInfo。如果我将脚本文件保存在视图中,这是非常简单的,因为我只需调用@Resources.ressource.Yes,它就会工作,但如果脚本文件是外部的,那么它就不会工作。我如何解决这个问题

这个问题的答案基本上是基于意见的

我在处理各种项目时遇到了三种主要方法:

  • 本地化处理程序。您可以使用javascript在
    $(document.ready()
    中定义资源键。您可以使用ajax从专用于此的控制器/httphandler获取本地化值,并替换键控文本
  • 在线js。基本上,在视图/页面中转储external.js并在
    标记内呈现脚本
  • 全局变量。在视图中定义全局变量,如:
    var myString='',然后使用include.js中的变量

  • 就我个人而言,我更喜欢方法N3->您可以在代码中有一个单独的位置来一次性创建所有变量和页面加载。

    您想如何解决这个问题?例如带有本地化文本的“~/Scripts/Login.de-de.js”?我认为这是不可能的,您应该尝试寻找支持本地化、支持i18n集成或任何其他本地化机制的3d party库。如果他们不这样做,那么您将不得不自己编写库的包装器。我选择了第三种方法。