本地化web开发的一个例子-jquery.i18n.properties

关键字:Web本地化, jquery,jquery.i18n.properties。

运行环境:Chrome, IE。

本文介绍使用jquery.i18n.properties对网站前端实现本地化,支持多语言。网站内容根据浏览器设置的语言来显示。

1.前端文件夹结构如下:

2.index.html文件

<!DOCTYPE html>
<html>
<head>
    <title data-localize="common.title"></title>

    <script src="/javascripts/3p/jquery-1.8.2.min.js"></script>
    <script src="/javascripts/3p/jquery.i18n.properties-min-1.0.9.js"></script>
    <script src="/javascripts/main.js"></script>
</head>

<body>
    <div class="home-area" id="home" data-localize="common.text"></div>
</body>
</html>

需要本地化common.title和common.text。

3.properties

main.properties是被默认使用如果没有找到匹配的语言。

common.title = Loc Sample - Home
common.text = Welcome!

main_en.properties,如果浏览器语言是en_*,该文件将被使用。

common.title = Loc Sample - Home
common.text = Welcome!

main_zh.properties,如果浏览器语言是zh_*,该文件将被使用。

common.title = Loc Sample - 主页
common.text = 欢迎光临!

4.main.js

$(document).ready(function(){
    loadProperties(‘main‘, ‘/strings/main/‘);
});

function loadProperties(name, path, lang){
    var lang = lang || navigator.language;
    jQuery.i18n.properties({
        name:name,
        path:path,
        mode:‘map‘,
        language: lang,
        callback: function() {
            $("[data-localize]").each(function() {
                var elem = $(this),
                    localizedValue = jQuery.i18n.map[elem.data("localize")];

                if (elem.is("input[type=text]") || elem.is("input[type=password]") || elem.is("input[type=email]")) {
                    elem.attr("placeholder", localizedValue);
                } else if (elem.is("input[type=button]") || elem.is("input[type=submit]")) {
                    elem.attr("value", localizedValue);
                } else {
                    elem.text(localizedValue);
                }
            });
        }
    });
}

loadProperties函数在页面加载完毕后被调用。loadProperties根据浏览器语言来找到匹配的properties文件,然后替换页面字符串内容。

5.建立一个web服务器来运行index.html。

直接打开index.html,会有跨域访问的问题,导致不能访问properties文件。

所以需要建立一个web服务器。如何建立web服务器请参考:http://www.cnblogs.com/ldlchina/p/4054974.html

6.运行结果:

英文:

中文:

时间: 2024-08-25 23:17:25

本地化web开发的一个例子-jquery.i18n.properties的相关文章

使用 jQuery.i18n.properties 实现Web 前端的国际化

国际化是现在 Web 应用程序开发中的重要一环.jQuery.i18n.properties 是一款轻量级的 jQuery 国际化插件,能在不对后端做任何更改的情况下,实现 Web 前端的国际化.与其他国际化工具相比, jQuery.i18n.properties 插件具有简单.易用.松耦合的特点.本文通过实际的例子,介绍如何通过 jQuery.i18n.properties 插件来实现 Web 前端的国际化.代码下载 jQuery.i18n.properties 简介 在介绍 jQuery.i

使用 jQuery.i18n.properties 实现 Web 前端的国际化

jQuery.i18n.properties 简介 在介绍 jQuery.i18n.properties 之前,我们先来看一下什么是国际化.国际化英文单词为:Internationalization,又称 i18n,"i"为单词的第一个字母,"18"为"i"和"n"之间单词的个数,而"n"代表这个单词的最后一个字母.在计算机领域,国际化是指设计能够适应各种区域和语言环境的软件的过程. jQuery.i18n

WEB开发的jsp例子标签库(jstl)的使用

<!-- e1 --> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page import=&quo

Web前端国际化之jQuery.i18n.properties

Web前端国际化之jQuery.i18n.properties jQuery.i18n.properties介绍 国际化是如今Web应用程序开发过程中的重要一环,jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能在不正确后端做不论什么更改的条件下,轻松简易的实现Web前端的国际化. 与其它国际化工具相比,jQuery.i18n.properties插件具有简单.易用.高内聚低耦合的特点. 国际化英文单词为:internationalization.又称i18n,

jQuery之前端国际化jQuery.i18n.properties

jQuery之前端国际化jQuery.i18n.properties jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化. 国际化英文单词为:Internationalization,又称i18n,“i”为单词的第一个字母,“18”为“i”和“n”之间单词的个数,而“n”代表这个单词的最后一个字母.jQuery.i18n.properties采用.properties文件对JavaScript进行国际化.jQuery.i18n.proper

jQuery之前端国际化jQuery.i18n.properties[转]

http://www.ibm.com/developerworks/cn/web/1305_hezj_jqueryi18n/ jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化. 国际化英文单词为:Internationalization,又称i18n,“i”为单词的第一个字母,“18”为“i”和“n”之间单词的个数,而“n”代表这个单词的最后一个字母.jQuery.i18n.properties采用.properties文件对JavaSc

使用jquery.i18n.properties.js实现js国际化

前两天接到一个任务,把之前的做过的一个系统实现国际化,之前的系统用的是Spring框架,国际化还是比较简单的.但是有一些提示是写在js文件里面的,搜了一些,发现一个js国际化的框架jquery.i18n.properties.js,用了一些还是比较方便的. 首先引入js文件,这个框架是依赖jquery的,所以jquery也要先引入,由于项目用了requireJs,所以在main文件里引入一下就可以了 require.config({     baseUrl: contextPath + "/js

jquery.i18n.properties前端国际化解决方案“填坑日记”

但现在的情况是老的项目并没有使用这类架构.说起国际化,博主几年前就做过,在MVC里面实现国际化有通用的解决方案,主要就是通过资源文件的方式定义多语言.最初接到这个任务,并没有太多顾虑,毕竟这种东西有很成熟的解决方案,实现起来难点不会很大.可当真正动起来手来去实现的时候发现一些问题,这里先介绍下我们老平台的架构:MVC+WebApi,MVC项目负责页面渲染,webapi负责数据接口,是一种很传统的架构方式.国际化主要在MVC端去做就好了,可是由于MVC项目里面使用了大量第三方bootstrap组件

多语言制作插件jQuery.i18n.properties

在我们一个pc切图项目中,有一点需求是需要能够语言切换,首先我们能想到的就是需要程序来做了,但是客户需要前端来做 ,那么经过一番查找以后,我们发现了一款非常不错的插件 jQuery.i18n.properties.js 总体使用来说还不错,项目如期上线,体验还算ok,做个笔记 关于它的使用有一点复杂,就不累述了,附网址 http://blog.csdn.net/aixiaoyang168/article/details/49336709