`
稻-草
  • 浏览: 61951 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JavaScript多语言实现

阅读更多

      首先澄清下多语言不等于国际化。国际化包含了更多的内容,如时间格式的显示、货币符号等。这里只讲解多语言的实现。

      这里的多语言只是JavaScript的多语言实现,而不是Java(JSP、Servlet)的多语言实现。

 

      Step 1 编写多语言资源文件

      将中英文资源分别写到两个Js脚本中,如

    zh_CN.js

var ip_invalid = "如: 192.168.0.1";
var can_not_empty = "必填";
var must_be_int = "必须是整数";
var must_big_than = "必须大于{0}";
var must_small_than = "必须小于{0}"
var str_too_short = "字符长度必须大于{0}";
var str_too_long = "字符长度必须小于{0}";
var str_regExp_unmatch = "格式错误";

 

    en_US.js

var ip_invalid = "As 192.168.0.1";
var can_not_empty = "Required";
var must_be_int = "Must be an integer";
var must_big_than = "Must bigger than {0}";
var must_small_than = "Must smaller than {0}"
var str_too_short = "str_too_short {0}";
var str_too_long = "str_too_long {0}";
var str_regExp_unmatch = "str_regExp_unmatch";

 

  Step 2 根据语言环境导入对应的资源文件脚本

  更上层的语言如JSP,根据当前的语言类型导入zh_CN.js 活 en_US.js

 

<script type="text/javascript" src="<%=HttpUtil.getJavaScriptLang(request)%>.js"></script>

 

     /**
     * 获得javascript脚本的语言类型
     * 当语言类型对应的文件不存在时,就采用英文(en_us)
     * @param request
     * @return 语言文件
     */
    public static String getJavaScriptLang(HttpServletRequest request)
    {
        HttpSession session = request.getSession();
        
        Locale locale = null;
        if (session != null)
        {
            locale = (Locale)session.getAttribute(Globals.LOCALE_KEY);
        }
                
        // 默认地区语言
        if (locale == null)
        {
            locale = request.getLocale();
        }
        
        String lang = locale.toString();
        
        String file = lang + ".js";
        File langFile = new File(file);
        if (langFile.exists())
        {
            return lang;
        }
        
        // 返回默认值 
        return Locale.ENGLISH.toString();        
    }

 

    Step 3 格式化函数

   为JavaScript字符串参数增加格式化函数。

/*
 * var str0 = "{0} must smaller than {1}"
 * var str1 = str0.fillArgs("apple", "watermelon");
 * srt1 equals to "apple must smaller than watermelon"
 */
String.prototype.fillArgs = function()
{
    var formated = this;
    for ( var i=0;i<arguments.length;i++)
    {
        var param = "\{"+i+"\}";
        formated = formated.replace(param,arguments[i])
    }
    return formated;
}

 

   Step 4 Html的样子

<html>
<head>
<script type="text/javascript" src="language.js"></script> 
<script type="text/javascript" src="<%=HttpUtil.getJavaScriptLang(request)%>.js"></script>
</head>
<body>
<script>
	document.write(must_big_than.fillArgs(99));
</script>
</body>
</html>

 

0
0
分享到:
评论

相关推荐

    javascript.html实现表单验证

    虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。 [1] JavaScript在...

    javascript 支持多参数 多语言 读取xml信息

    javascript 支持多参数 多语言 读取xml信息 实现统一接口,快速读取xml,兼容多个浏览器

    论文研究-多语言Web网站的结构与实现方法.pdf

    简化多语言Web网站服务的管理与开发。在实践中,管理与开发多语言网站的大部分工作是保持网站的各种信息之间相互独立。在开发与管理多语言网站的过程中有许多与人相关的...从以上方面论述如何设计及实现多语言网站。

    10个JavaScript实现的图片特效

    JavaScript实现的图片特效,圆角+阴影效果、斜光阴影效果、相框效果、水倒映等

    WEB多语言的一种方案

    利用xml及javascript 实现web多国语言的一种方案.

    JavaScript语言教程及案例.docx

    - JavaScript是一种脚本语言,通常用于在Web浏览器中实现交互式功能。 - 基本数据类型包括数字、字符串、布尔值、数组、对象等。 - JavaScript具有C和Java等语言的语法特征,但也有一些独特的特性,如弱类型和动态...

    JavaScript 语言参考.zip

    虽然JavaScript与Java这门语言不管是在名字上,或是在语法上都有很多相似性,但这两门编程语言从设计之初就有很大的不同,JavaScript的语言设计主要受到了Self(一种基于原型的编程语言)和Scheme(一门函数式编程...

    JavaScript脚本语言

    第一讲 JavaScript语言概况  Internet时代,造就了我们新的工作和生活方式,其互联性、开放性和共享信息的模式,打破了传统信息传播方式的重重壁垒,为我们带来了新的机遇。随着计算机和信息时代的到来,人类社会...

    JavaScript语言教程.docx

    虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。 [1] JavaScript在1995年由...

    [JavaScript权威指南(第6版)]

    《JavaScript权威指南(第6版)》主要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScript API。本书第6版涵盖了HTML5和ECMAScript 5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增...

    javascript实现贪吃蛇游戏

    用 Javascript 编程和其他语言的一个大的区别就是键盘的控制代码不同。js是通过 Key=event.keyCode 语句获取键盘码,再在多分支 switch 结构里分别处理。看完这些代码就会对浏览器里的键盘控制有所了解了。 当然...

    JavaScript—The Definitive Guide, 6th Edition[JavaScript权威指南](英文版)

    《O'Reilly精品图书系列:JavaScript权威指南(第6版)》讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScriptAPI。《O'Reilly精品图书系列:JavaScript权威指南(第6版)》涵盖了HTML5和ECMAScript5,很多...

    基于JavaScript技术在Web页面实现放大镜效果

    JavaScript 技术可以实现很多网页的特效,例如,状态栏、轮播图、tab选项卡等效果。放大镜效果是网页中非常常见的一种交互效果,用户可以移动鼠标到商品图片上,在商品的右侧放大展示商品的细节。它一般用于放大查看...

    Maintainable+JavaScript(编写可维护的JavaScript)

    任何语言都需要强调编码风格的一致性。只要是团队开发,每个人都以相同方式编写代码就是至关重要的。这样大家才能方便地互相看懂和维护对方的代码。  《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中...

    javascript实现中文页面繁简转换

    javascript中文繁简转换 javascript繁简转换 中文繁简转换

    JavaScript实现的Git项目JS-Git.zip

    JavaScript要比其它任何语言都意义深远,它可以运行在笔记本、平板电脑、手机、Chromebook等任何可以运行浏览器的设备上。而Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理...

    《JavaScript权威指南(第6版)完整版带书签

    本书第6版是完整版1000多页带书签非常容易阅读,讲述的内容涵盖JavaScript语言和HTML5本身,以及Web浏览器所实现的JavaScript API。本书更适合有一定编程经验的人阅读。对于那些希望学习JavaScript和已经开始使用...

    javascript手册.chw

    JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络、存储和图形等,但...

    JavaScript语言案例.zip

    JavaScript(简称“JS”)是一种高级的、解释型的编程语言。它是一种基于原型、多范式的动态脚本语言,广泛应用于网页开发中,用于增强网页的交互性,实现客户端的页面行为。

Global site tag (gtag.js) - Google Analytics