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. 01——微信小程序官方demo讲解——文件结构

    1.环境概览 首先环境配置的部分略过,打开小程序开发工具.选择一个空目录,即可开始一个demo项目. 其中新建成功后的目录如图所示: 2.文件结构描述 如图所示,左边是界面展示,右边是目录结构. 目录 ...

  2. swoole学习

    <?php ini_set('default_socket_timeout', -1); class serverEmail { public $serv = null; public func ...

  3. 常见的HTTP Header

    文件信息: Content-Type: application/x-javascript Content-Length: 2000 Content-Type:指定请求和响应的内容类型,如果未指定即为t ...

  4. 实验楼HTML基础入门学习

    HTML基本介绍 HTML,一种描述网页的语言 结构 html head title script body ... 文档 <html> <head> <title> ...

  5. Spring实战之通过XML装配bean

    尽管Spring长期以来确实与XML有着关联,但现在需要明确的是,XML不再是配置Spring的唯一可选方案.Spring现在有了强大的自动化配置和基于Java的配置,XML不应该再是你的第一选择了. ...

  6. xmlhttp的OnReadyStateChange事件

    这两天抽空升级了一下自己做的pon资料表,增加了OLT拓扑自动发现以及业务从MSE至OLT的全自动下发 等功能,让人没想到的是在处理xmlhttp回调时死活接收不到反馈信息, 在Excel论坛和微软官 ...

  7. PHP提取字符串中的手机号正则表达式怎么写

    0. 简介 PHP通过正则表达式提取字符串中的手机号并判断运营商,简单快速方便,能提取多个手机号. 1. 代码 <?php header("content-type:text/plai ...

  8. MySQL数据库篇之存储引擎

    主要内容: 一.数据引擎 二.MySQL支持的存储引擎 三.使用存储引擎 1️⃣ 什么是存储引擎? MySQL中建立的库----> 文件夹,库中建立的表----->文件. 现实生活中我们用 ...

  9. 在SharePoint解决方案中使用JavaScript (0)

    随着Web前段技术(JavaScript/HTML5)的日益发扬光大,在Web应用程序中,我们开始更多的使用JavaScript.很多以往是放在服务器上运行的逻辑,现在都开始逐渐的向前段转移.这种趋势 ...

  10. Nginx 源码完全注释(10)ngx_radix_tree

    ngx_radix_tree.h // 未被使用的节点 #define NGX_RADIX_NO_VALUE (uintptr_t) -1 typedef struct ngx_radix_node_ ...