`
稻-草
  • 浏览: 62689 次
  • 性别: 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多语言切换界面

    实现JavaScript多语言切换的关键在于设计一个有效的数据结构来存储各种语言的文本资源。通常,我们会创建一个JSON对象或者使用i18n(国际化)库,如i18next,来存储不同语言的字符串。例如: ```javascript var ...

    html多语言切换demo 多语言翻译 js多语言插件

    在前端开发中,实现网页的多语言支持是一个常见的需求,特别是在全球化的互联网环境中。本示例"html多语言切换demo"提供了一种高效且易于理解的解决方案,特别适合初学者和那些希望快速实现多语言功能的开发者。这个...

    Javascript语言参考大全

    JavaScript是一种广泛应用于网络开发的脚本语言,它主要在客户端浏览器上运行,为网页添加交互性和动态功能。作为“Web的三大技术”之一,JavaScript与HTML和CSS共同构建了现代互联网的基础。本篇文章将深入探讨...

    javascript脚本语言课件

    JavaScript脚本语言是一种广泛应用于网页和网络应用中的编程语言,主要负责实现客户端的交互性和动态效果。本课程针对JavaScript的基础知识进行深入讲解,包括语法、流程控制语句、函数以及数据验证方法,旨在帮助...

    全JavaScript语言Web实现学习项目

    【全JavaScript语言Web实现学习项目】是一个以JavaScript为核心的Web开发实践项目,旨在帮助开发者通过实际操作,深入理解和掌握JavaScript在构建Web应用中的各种技术与技巧。在这个项目中,我们将主要探讨...

    多风格多语言的JavaScript日历控件

    这类控件通常使用JavaScript编程语言编写,支持多种样式和多语言,以满足不同用户的需求。 在设计一个多风格多语言的JavaScript日历控件时,以下是一些关键知识点: 1. **DOM操作**:JavaScript日历控件首先需要...

    网页歌词秀实现,JavaScript实现

    网页歌词秀是一种常见的在线音乐播放器特性,它允许用户在欣赏音乐的同时查看同步滚动的歌词...开发者可以通过扩展这个基础实现,增加更多高级特性,如歌词搜索、多语言支持和更丰富的视觉效果,以满足不同用户的需求。

    基于JavaScript及多语言实现的前后端分离个人博客管理系统设计源码

    该项目是一款基于JavaScript及多语言开发的前后端分离个人博客管理系统,源码包含637个文件,涵盖229个JavaScript脚本、69个PNG图片、66个CSS样式、61个JPG图片、48个HTML页面、42个CSS样式文件、32个Java类、30个...

    cpp-基于GraalVM构建的一个JavaScript编程语言的高性能实现

    GraalVM是Oracle Labs推出的一款开源虚拟机,它集成了JVM(Java虚拟机)和JavaScript引擎,同时还提供了一个完整的运行时环境,用于运行高性能的多语言应用。GraalVM的核心特性在于其编译器——Graal编译器,它能够...

    JavaScript语言解释器的设计与实现.pdf

    设计和实现JavaScript语言解释器是一个复杂的任务,它需要考虑到语言的语法、语义、 runtime 环境等多方面的因素。 2. 扩展的算符优先算法:在JavaScript语言解释器的设计与实现中,作者提出了一个扩展的算符优先...

    论基于JavaScript语言的Bingo游戏实现.pdf

    基于JavaScript语言的Bingo游戏实现 本文主要讨论了使用JavaScript语言实现Bingo游戏的方法和...6.JavaScript语言实现Bingo游戏的核心代码:本文提供了JavaScript语言实现Bingo游戏的核心代码,方便读者理解和应用。

    基于JavaScript与多语言集成的DNS IP解析设计源码

    该项目是一款基于JavaScript的多语言集成DNS IP解析系统源码,包含41个文件,涵盖15个JSON...该系统采用JavaScript为主要编程语言,辅以Python、HTML和Vue等语言,实现了IP解析功能,适用于需要多语言支持的网络环境。

    javascript 特效开发含各种实现代码

    综上所述,"javascript特效开发含各种实现代码"这个资源包将帮助开发者深入理解JavaScript特效的实现方式,通过实战学习,提升JavaScript编程技巧,并且有可能接触到游戏开发这一有趣的领域。无论你是初学者还是经验...

    javascript.html实现表单验证

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

    JavaScript语言参考手册及源码大全

    总的来说,这份"JavaScript语言参考手册及源码大全"涵盖了JavaScript的基础知识、高级特性和实践应用,无论你是初学者还是经验丰富的开发者,都能从中受益。通过深入学习和实践,你将能够熟练掌握JavaScript,创造出...

    基于JavaScript的Vue框架实现的多语言跟随策略设计源码

    本项目是一款基于JavaScript和Vue框架开发的多语言跟随策略应用源码,总计包含593个文件,涵盖177个PNG图像、175个JavaScript脚本、90个GIF动画、56个HTML页面、45个CSS样式表、16个Vue组件以及少量Python脚本、JPG...

    JavaScript语言概述

    1995年,Netscape公司与Sun Microsystems合作开发了一种新的脚本语言——JavaScript,并在Netscape Navigator 2.0中首次实现。这个版本被称为JavaScript 1.0。同年,Microsoft为了追赶Netscape的脚步,在其Internet ...

    多图片切换效果JavaScript实现

    本文将详细探讨如何使用JavaScript实现多图片切换效果,适用于新闻图片展示或网站焦点区域。 首先,JavaScript是一种强大的客户端脚本语言,常用于网页动态交互。在实现图片切换效果时,我们通常会利用JavaScript的...

    10个JavaScript实现的图片特效

    JavaScript是一种强大的客户端脚本语言,广泛应用于网页和网络应用开发,包括实现丰富的用户交互和动态效果。在网页设计中,图片特效是提升用户体验的重要手段,本文将深入探讨使用JavaScript实现的四种图片特效:...

Global site tag (gtag.js) - Google Analytics