zoukankan      html  css  js  c++  java
  • 国际化 i18n

    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="jquery-1.8.2.min.js"></script>
    <script src="jquery.cookie.js"></script>
    <script src="jquery.i18n.properties.min.js"></script>
    <script src="jquery.i18n.properties.js"></script>
    </head>
    <body>
    <span style="font-family:Arial, Helvetica, sans-serif;">/**</span>
    <input type="text" id="login" value="">
    <input type="text" id="user" value="">
    </body>
    <script>
    /* 设置语言类型: 默认为中文
    */
    var i18nLanguage = "en";

    /*
    设置一下网站支持的语言种类
    zh-CN(中文简体)、en(英语)
    */
    var webLanguage = ['zh-CN', 'en'];

    //获取网站语言
    function getWebLanguage(){
    //1.cookie是否存在
    debugger;
    if (jQuery.cookie("userLanguage")) {
    alert(jQuery.cookie("userLanguage"));
    i18nLanguage = jQuery.cookie("userLanguage");
    console.log("language cookie is "+i18nLanguage);
    } else {
    //2.1 获取用户设置的浏览器语言
    var navLanguage = chk_userlanguage();
    console.log("user set browser language is "+navLanguage);
    if (navLanguage) {
    // 判断是否在网站支持语言数组里
    var charSize = $.inArray(navLanguage, webLanguage);
    if (charSize > -1) {
    i18nLanguage = navLanguage;
    // 存到缓存中
    jQuery.cookie("userLanguage ",navLanguage, {
    expires : 7
    });
    };
    } else{
    console.log("not navigator");
    return false;
    }
    }

    }


    //国际化easyui中英文包
    function changeEasyuiLanguage(languageName) {
    // when login in China the language=zh-CN
    var src =$.contextPath+"/plugings/jquery-easyui/locale/easyui-lang-"+languageName.replace('-','_')+".js";
    console.log(src);
    $.getScript(src);
    };

    /**
    * 执行页面i18n方法
    * @return
    * @author LH
    */
    var execI18n = function() {
    //获取网站语言(i18nLanguage,默认为中文简体)
    var str = location.href;

    var arr = str.split("/");

    delete arr[arr.length-1];

    var dir = arr.join("/");
    alert(dir+ i18nLanguage + "/");
    getWebLanguage();
    //国际化页面
    jQuery.i18n.properties({
    name: "common", //资源文件名称
    path: dir+ i18nLanguage + "/", //资源文件路径
    mode: 'map', //用Map的方式使用资源文件中的值
    language: i18nLanguage,
    cache: false, //指定浏览器是否对资源文件进行缓存,默认false
    encoding: 'UTF-8', //加载资源文件时使用的编码。默认为 UTF-8。
    callback: function () {//加载成功后设置显示内容
    //以下是将要国际化的文字内容
    //退出
    $("#login").val($.i18n.prop('login.userName'));
    //用户
    $("#user").val($.i18n.prop('login.passWord'))
    }
    });
    }

    /*页面执行加载执行*/
    $(function(){
    /*执行I18n翻译*/
    execI18n();
    console.log("网站语言: "+i18nLanguage);
    //国际化easyui
    changeEasyuiLanguage(i18nLanguage);
    });

    var chk_userlanguage = function() {

    /* get browser default lang */
    if (navigator.userLanguage) {
    baseLang = navigator.userLanguage.substring(0,2).toLowerCase();
    } else {
    baseLang = navigator.language.substring(0,2).toLowerCase();
    }

    /* language match */
    switch(baseLang)
    {
    case "de":
    /* german */
    return 'German';
    break;
    case "en":
    /* english */
    return 'English';
    break;
    case "ja":
    /* japanese */
    return 'Japanese';
    break;
    case "zh":
    /* 中文 */
    return 'Chinese';
    break;
    default:
    /* default no match */
    }
    };

    </script>
    </html>
     

    jquery.cookie.js(源码地址:https://www.cnblogs.com/SongHuiJuan/p/8065289.html)

    i18n 下载(https://github.com/jquery-i18n-properties/jquery-i18n-properties)

  • 相关阅读:
    Common ThreadView
    经典代码IOCP的C#实现(转)
    Common.UdpLib
    Common.TcpLibTcpServerWIOCP
    Common.TcpLibTcpServerY
    sql中将分隔字符串转为临时表的方法
    病毒及流氓软件自我复制的简单实现
    一句sql搞定个人所得税计算
    财务月度的创建及生成
    box2d 教程
  • 原文地址:https://www.cnblogs.com/anxbb/p/9105024.html
Copyright © 2011-2022 走看看