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. OD 实验(十) - 对一个 VB 程序的逆向

    前话: VB 程序用 OD 进行逆向的话,可以先查找相关的变量和字符串,以寻找突破口 变量: __vbaVarTstEq __vbaVarCompEq __vbaVarTstNe __vbaVarCo ...

  2. 修改tomcat端口后不能IP访问问题

    当tomcat端口被修改以后使用IP访问会发生404的问题,只能通过localhost进行访问,当别人想访问你tomcat下的工程时就会访问失败,此时修改eclipse下的tomcat中的server ...

  3. sublime中开启表格插入

    1. 导入包 tableedit 2. ctrl+shift +p 输入teecv,然后开启后面连个东西: 3 按tab可以插入表格

  4. NIO编程介绍

    代码: package bhz.nio; import java.io.IOException; import java.net.InetSocketAddress; import java.nio. ...

  5. KNN笔记

    KNN笔记 先简单加载一下sklearn里的数据集,然后再来讲KNN. import numpy as np import matplotlib as mpl import matplotlib.py ...

  6. 从零玩转JavaWeb系列7web服务器-----get与post的区别

    总结get与post的区别 get参数通过url传递,post放在request body中. get请求在url中传递的参数是有长度限制的,而post没有. get比post更不安全,因为参数直接暴 ...

  7. Perl 获取时间函数

    Perl 时间日期 Perl中处理时间的函数有如下几种:    1.time() 函数:返回从1970年1月1日起累计的秒数    2.localtime() 函数:获取本地时区时间(多用这个)    ...

  8. 使用BlendingTexture实现简单的Terrain

    [使用BlendingTexture实现简单的Terrain] BlendingTexture,就是一张纹理,纹理内存储的数据用于其它去处的Alpha通道value.例如以下四张图需要混合在Terra ...

  9. 使用Cloudrea Manager在CDH集群中添加kafka服务节点,更改borker.id配置后无法启动

    需要保证meta.properties文件中的broker.id和cloudrea manager的web页面上kafka配置的broker.id一致,最好让server.properties中的br ...

  10. cf499A-Watching a movie

    http://codeforces.com/problemset/problem/499/A A. Watching a movie   You have decided to watch the b ...