美文网首页H5
i18n实现前端国际化(实例)

i18n实现前端国际化(实例)

作者: Charles_Zhang | 来源:发表于2018-08-27 16:25 被阅读1531次
在今日的需求中需要利用 i18n 这个框架来实现前端的国家化操作,下图是实现效果:

点击选择框实现网页上语言的切换:

下面开始实现过程:

  1. 所需工具:
    - jquery-3.3.1.js 下载地址:jquery
    - jquery.i18n.properties.js jquery.i18n.properties.js
  2. 搭建项目目录如下:

    其中:language.js 为自定义的 js 文件,用于实现页面逻辑,strings_en_US.properties
    strings_en_ZH.properties文件为语言文件。
  3. 首先我们在 index.html 中写上一定的测试页面代码,如下所示:
<!doctype html>  
<head>  
 <meta charset="UTF-8">  
 <meta name="viewport"  
  content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">  
 <meta http-equiv="X-UA-Compatible" content="ie=edge">  
 <title>国际化样例</title>  
</head>  
<body>  
  
<form>  
     <select class="lan_select">  
         <option class="lan_zh">中文</option>  
         <option class="lan_en">英文</option>  
     </select>
 </form>  
  
<label class="username"><!--用户名:--></label><input type="text">  
<label class="password"><!--密码:--></label><input type="password">  
  
<script type="application/javascript" src="JS/jquery-3.3.1.js"></script>  
<script type="application/javascript" src="JS/jquery.i18n.properties.js"></script>  
<script type="application/javascript" src="JS/language.js"></script>  
  
</body>  
</html>
  1. 下面我们在两个语言中分别定义需要显示的文字:
    1. strings_en_ZH.properties文件:
      username=用户名:  
      password=密码: 
      lan_zh=中文  
      lan_en=英文
      
    2. strings_en_US.properties 文件:
      username=User Name:  
      password=Password:  
      lan_zh=Chinese  
      lan_en=English
      
  2. 最后我们在 language.js 中实现点击事件和切换方法,代码如下:
var LANGUAGE_Index = "zh_CN"; //标识语言  
  
jQuery(document).ready(function () {  
    // alert("页面加载时调用的方法");  
  
  LANGUAGE_Index = jQuery.i18n.normaliseLanguageCode({}); //获取浏览器的语言  
  loadProperties(LANGUAGE_Index);  
});  
  
  
$(".lan_select").change(function () {  
  
  
    if (($(".lan_select").val() === "英文") || ($(".lan_select").val() === "English")) {  
        LANGUAGE_Index = "en_US";  
  } else {  
        LANGUAGE_Index = "zh_CN";  
  }  
  
    loadProperties(LANGUAGE_Index);  
  
});  
  
  
function loadProperties(type) {  
    jQuery.i18n.properties({  
        name: 'strings', // 资源文件名称  
        path: 'Languages/', // 资源文件所在目录路径  
        mode: 'map', // 模式:变量或 Map  
        language: type, // 对应的语言  
        cache: false,  
        encoding: 'UTF-8',  
        callback: function () { // 回调方法  
            $('.lan_zh').html($.i18n.prop('lan_zh'));  
            $('.lan_en').html($.i18n.prop('lan_en'));  
            $('.username').html($.i18n.prop('username'));  
            $('.password').html($.i18n.prop('password'));  
        }  
    });  
}

相关文章

  • i18n国际化

    vue中如何使用i18n实现国际化 一、前言 项目中需要实现多语言切换,这时候接触到国际化,前端框架无数,其中几种...

  • i18n实现前端国际化(实例)

    在今日的需求中需要利用 i18n 这个框架来实现前端的国家化操作,下图是实现效果: 点击选择框实现网页上语言的切换...

  • angular 国际化 (i18n)

    Internationalization (i18n) 国际化 (i18n) If you are working...

  • Vue I18n实际应用

    最近在实际项目中使用过vue i18n插件实现国际化功能,但是发现网上对于异步加载实现国际化功能的案例不多,总结一...

  • 079-Spring Boot 国际化支持

    很多项目中都需要国际化的支持,这里来使用springboot实现国际化,关于国际化i18n的各个国家语言的编码,大...

  • i18n 的实现

    i18n 是指软件等的国际化与本地化,这个看似复杂的功能实现起来其实比较简单 这篇文章主要介绍如何在前端的项目中实...

  • 关于i18n使用心得

    最近项目中要求用i18n来实现前端国际化中英文转换,因为之前从来没有接触过,所以在网上查了很多案例, 最终参考于h...

  • Grails国际化实例

    Grails实现国际化(中英文切换) 在grails-app/i18n分别配置英文(messages.proper...

  • Vue项目实现国际化

    Vue项目实现国际化 一:自己配置 i18n 完成国际化 1、创建项目,在项目中安装 vue-i18n 2、在ma...

  • jquery 使用i8n 的坑点

    最近公司的官网需要做国际化,提出的需求是要实现中英文切换,所以我选择i18n 这个插件 1、先下载i18n 插件 ...

网友评论

    本文标题:i18n实现前端国际化(实例)

    本文链接:https://www.haomeiwen.com/subject/gkhtwftx.html