如何在JavaScript中利用全球化?

如何在JavaScript中利用全球化?,javascript,asp.net,globalization,Javascript,Asp.net,Globalization,我在asp.net项目的App\u GlobalResources文件夹中创建了3个resx文件,以创建一个多语言网站,正如您所知,它有点像key valueset,在我想在JavaScript中使用值的其他情况下,一切似乎都很好 如果我在aspx文件中使用内联JavaScript,可以使用 警报(“”); 或 但是,在无法使用服务器端代码的JavaScript文件中,我应该如何实现这一点呢?我使用的结构类似于我们在ASP.Net中使用的结构,并且我应用JavaScript对象,就像CKE

我在
asp.net
项目的
App\u GlobalResources
文件夹中创建了3个resx文件,以创建一个多语言网站,正如您所知,它有点像
key value
set,在我想在JavaScript中使用值的其他情况下,一切似乎都很好

如果我在aspx文件中使用内联JavaScript,可以使用

警报(“”);



但是,在无法使用服务器端代码的JavaScript文件中,我应该如何实现这一点呢?

我使用的结构类似于我们在
ASP.Net
中使用的结构,并且我应用JavaScript对象,就像
CKEditor
在多语言功能中使用的一样

假设您拥有以下文件:

Culture.js
Main.js
Default.aspx
Culture.js

window.lang = "en-US";//Or "fa-IR"
alert(getGlobalResourceObject("message", "deleteConfimation"));
将所有与翻译相关的单词和短语放在如下位置:

  if (typeof resource == "undefined") {
    resource = {}// = new Object();
    resource.lang = {};
  }

    //English language, United States culture
    resource.lang['en-US'] = {
        "lable": {
            "clickHere": "Click here",
            "enterYourName": "Enter your name"
        },
        "message": {
            "deleteConfimation": "Are You sure you want to delete?",
            "accessIsDenied": "Access is denied"
        }
    }

    //Farsi language, Iran culture 
    resource.lang['fa-IR'] = {
        "lable": {
            "clickHere": "اینجا کلیک کنید",
            "enterYourName": "نام خود را وارد کنید"
        },
        "message": {
            "deleteConfimation": "آیا از حذف این مورد اطمینان دارید؟",
            "accessIsDenied": "دسترسی مقدور نیست"
        }
    }
<script src="Culture.js"></script>
<script src="Main.js"></script>
您可以添加所需的任意语言和文化,只需在
resource.lang['language-culture']
中使用
language-culture
组合,以使它们易于区分,最后定义一个与ASP.Net中使用的名为
getGlobalResourceObject()的函数类似的函数

Main.js

window.lang = "en-US";//Or "fa-IR"
alert(getGlobalResourceObject("message", "deleteConfimation"));
如果
window.lang
等于
en-US
,它将提示一条消息:“您确定要删除吗?”。 (我更喜欢在
window.lang
中设置当前区域性)

Default.aspx

Default.aspx
MasterPage
中(如果有),在
Main.js
之前加载
Culture.js
,如下所示:

  if (typeof resource == "undefined") {
    resource = {}// = new Object();
    resource.lang = {};
  }

    //English language, United States culture
    resource.lang['en-US'] = {
        "lable": {
            "clickHere": "Click here",
            "enterYourName": "Enter your name"
        },
        "message": {
            "deleteConfimation": "Are You sure you want to delete?",
            "accessIsDenied": "Access is denied"
        }
    }

    //Farsi language, Iran culture 
    resource.lang['fa-IR'] = {
        "lable": {
            "clickHere": "اینجا کلیک کنید",
            "enterYourName": "نام خود را وارد کنید"
        },
        "message": {
            "deleteConfimation": "آیا از حذف این مورد اطمینان دارید؟",
            "accessIsDenied": "دسترسی مقدور نیست"
        }
    }
<script src="Culture.js"></script>
<script src="Main.js"></script>


我在hiddenfield中添加字符串,然后在我的js中使用它。如果有数百个值,就像一个.resx文件,该怎么办?这篇文章可能会对你有所帮助?