在ASP.NET中JavaScript的中英文(多语言)实现方案中简单的介绍了js实现多语言的一种方案。下面将要讲述另外一种方法,尽管很相似,但是有些地方也是需要细细琢磨的,不说了,先看看。

在Lang.html中代码如下:因为本文中用到了jquery所以要先加载jquery的js文件。另外再分别加载所需要的两个自定义js

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title></title>
<script src="/common/jquery-1.8.2.min.js" type="text/javascript"> </script>
<script src="/common/common.js"></script>
<script src="/common/CommonGlobalVariables.js"></script>
</head>
<body>
<a href="javascript: SetEn()" >En</a>
<a href="javascript: SetZh()" >Cn</a>
<a href="javascript:commonAlert()">common</a>
<a href="javascript:globalAlert()">Global</a>
</body>
</html>

本文中的js多语言实现了两种格式的。

第一种:

先来看common.js

//动态加载js
function loadJavascriptInHead(file) {
var head = $('head');
$("<script></script>").attr({ src: file, type: 'text/javascript', id: 'loadscript' }).appendTo(head);
} //comm init language
function InitPublicLanguageculture() { if (document.cookie.indexOf("en")>) {
loadJavascriptInHead('/common/en-us.js');
loadJavascriptInHead('/common/enGlobalVariables.js');
}
else{
loadJavascriptInHead("/common/zh-cn.js");
loadJavascriptInHead('/common/cnGlobalVariables.js');
}
} function commonAlert() {
InitPublicLanguageculture();
alert($.common.lang.User);
} function SetEn() {
document.cookie = "lg=en";
}
function SetZh() {
document.cookie = "lg=cn";
}

common.js中定义了SetEn() SetZh()commonAlert()三个方法,分别对应了html文件中的超链接。

loadJavascriptInHead()是动态加载js的方法,具体详见JQuery动态加载js的三种方法。

在初始化语言是通过选择动态加载中英文两种语言的js对应分别如下:

en-us.js代码:

(function ($) {
if (typeof ($.common) == 'undefined') {
$.common = {};
}
$.common.lang = {
User: "UserName",
Pwd: "Password"
}
})(jQuery);

zh-cn.js代码:

(function ($) {
if (typeof ($.common) == 'undefined') {
$.common = {};
}
$.common.lang = {
User: "用户名",
Pwd:"密码"
}
})(jQuery);

第二种:

CommonGlobalVariables.js代码如下:

var tipmsg = {
errmsg: "错误",
successmsg:"正确"
}
$.Tipmsg = tipmsg; function globalAlert() {
InitPublicLanguageculture();
alert(tipmsg.errmsg);
}

这里面是设置了全局变量$.Tipmsg。然后通过修改全局变量的值就可以实现中英文切换。

加载的中英文js代码如下:

cnGlobalVariables.js代码:

$.Tipmsg.errmsg = "错误全局变量";
$.Tipmsg.successmsg = "正确全局变量";

enGlobalVariables.js代码:

$.Tipmsg.errmsg = "Error";
$.Tipmsg.successmsg = "Right";

(二)ASP.NET中JavaScript的中英文(多语言)实现方案(二)的更多相关文章

  1. (一)ASP.NET中JavaScript的中英文(多语言)实现方案

    PS: https://github.com/hzlzh/Front-End-Standards/wiki/HTML-CSS-JS-i18n 本文原始思路起源于此网址,请自行查看. 本文只是简单的一个 ...

  2. asp.net中javascript与后台c#交互

    asp.net中javascript与后台c#交互 作者:熊猫大叔 字体:[增加 减小] 类型:转载 时间:2015-10-23我要评论,出处:http://www.jb51.net/article/ ...

  3. [转]开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo

    热衷于开源框架探索的我发现ASP.NET MVC与jQuery easyUI的组合很给力.由于原先一直受Ext JS框架的licence所苦恼,于是痛下决心寻找一个完全免费的js框架——easyUI. ...

  4. 开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo(转)

    热衷于开源框架探索的我发现ASP.NET MVC与jQuery easyUI的组合很给力.由于原先一直受Ext JS框架的licence所苦恼,于是痛下决心寻找一个完全免费的js框架——easyUI. ...

  5. Asp.net中后台C#数组与前台Javascript数组交互

    摘自:http://blog.csdn.net/a6225301/article/details/20003305 在上一篇<asp.net中javascript与后台c#交互>中实现了前 ...

  6. 《剑指offer》— JavaScript(1)二维数组中的查找

    二维数组中的查找 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ** ...

  7. 《剑指offer》 二维数组中的查找

    本题目是<剑指offer>中的题目 二维数组中的查找 题目: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个 ...

  8. 【转载】Asp.Net中使用基于jQuery的javascript前台模版引擎JTemplate

    JTemplate是基于jQuery的开源的前端模版引擎,在Jtemplate模板中可以使用if判断.foreach循环.for循环等操作,使用Jtemplate模板优点在于ajax局部刷新界面时候不 ...

  9. ASP.NET中进行消息处理(MSMQ) 二(转)

          在我上一篇文章<ASP.NET中进行消息处理(MSMQ)一>里对MSMQ做了个通俗的介绍,最后以发送普通文本消息和复杂的对象消息为例介绍了消息队列的使用. 本文在此基础上继续介 ...

随机推荐

  1. web前端 ajax加载动态生成复选框demo

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. ad采样后幅度的衰减

    adc采集到的信号对低频有一定的衰减.因为要确定衰减的程度.通过da输出到示波器上观察. 数据如下: 输入 输出(enable) 输出(disable) 1v(20hz) 1v 0.88v 1v(10 ...

  3. Android APP压力测试实战

    环境准备: Android SDK Python   压测实战步骤 1.在手机开发者工具中,将USB调试选上 2.确认手机,电脑成功连接(通过adb devices) 3.安装测试app(adb in ...

  4. linux中args工具

    三.xargs xargs - build and execute command lines from standard input 在使用find命令的-exec选项处理匹配到的文件时, find ...

  5. C++获取本机的ip地址程序

    #include <WinSock2.h> #pragma comment(lib,"ws2_32") //链接到ws2_32动态链接库 class CInitSock ...

  6. vue -Missing space before value for key 'path'vue.js解决空格报错

    webpack.base.config.js文件注释掉下面的东西!! module: { rules: [      /*{        test: /\.(js|vue)$/,        lo ...

  7. hibernate相关方法

    uniqueResult() 当确定返回的实例只有一个或者null时 用uniqueResult()方法 代码示例: Session session = factory.openSession(); ...

  8. MySQL数据库篇之pymysql模块的使用

    主要内容: 一.pymysql模块的使用 二.pymysq模块增删改查 1️⃣  pymsql模块的使用 1.前言:之前我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库, 那如何在p ...

  9. 使用jQuery解析JSON数据-已验证

    本文来源于:http://www.cnblogs.com/codeplus/archive/2011/07/18/2109544.html 上例中得到的JSON数据如下,是一个嵌套JSON: {&qu ...

  10. Stars URAL - 1028

    就是给你一些星星的坐标,然后求出每个星星的左下角有多少颗星星 题目保证按照Y坐标的顺序给出每个星星的坐标,那么我们就可以说,当输入某个星星的坐标时,此时有多少个星星的横坐标小于它,它左下角就有多少星星 ...