美文网首页
jquery 使用i8n 的坑点

jquery 使用i8n 的坑点

作者: 宏_4491 | 来源:发表于2020-09-19 16:28 被阅读0次

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

1、先下载i18n 插件

https://github.com/jquery-i18n-properties/jquery-i18n-properties

image.png
我们这里只需要把 jquery.i18n.properties.js 文件拷贝到我们的项目中即可。

2、项目结构

js文件夹:在项目中引入jQuery,因为是基于JQuery的,和刚刚下载的 jquery.i18n.properties.js


image.png

3 、新建一个语言包文件夹

image.png

1、文件夹名是自己取的名字(lang),随便取什么都行,但是后面引入时,要一致。
2、在文件夹下面手动新建你所需要的语言包,我这边是中文和英文。(注意:文件名要规范,文件名_国家代号.properties。例如:strings_en.properties)

image.png
image.png

4、代码

<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>国际化</title>
    <script src="./js/jquery-3.4.1.js"></script>
    <script src="./js/jquery.i18n.properties.js"></script>
</head>

<body>
    <button id='btn' data-locale="BtnChange">切换语言</button>
    <div>
        <p data-locale="Login">登录</p>
        <p data-locale="UserName">用户名:</p>
        <p data-locale="Password">密码:</p>
    </div>


    <script type="text/javascript">
        isEng = true
        btn.onclick = function () {
            if (!isEng) {
                loadProperties('en');
            } else {
                loadProperties('zh');
            }
            isEng = !isEng
        }
        function loadProperties(lang) {
            $.i18n.properties({
                name: 'strings',  //资源文件名称 , 命名格式: 文件名_国家代号.properties
                path: 'lang/',    //资源文件路径,注意这里路径是你属性文件的所在文件夹,可以自定义。
                mode: 'map',     //用 Map 的方式使用资源文件中的值
                language: lang,  //这就是国家代号 name+language刚好组成属性文件名:strings+zh -> strings_zh.properties
                callback: function () {
                    $("[data-locale]").each(function () {
                        console.log($(this).data("locale"));
                        $(this).html($.i18n.prop($(this).data("locale")));
                    });
                }
            });
        }
        loadProperties('en');//调用
    </script>
</body>

</html>

5、demo的下载地址

链接:https://pan.baidu.com/s/1rQ3mwQhw84rIIM5-_G_sOA
提取码:bozt

6、项目过程中遇到的bug

1、切换中英文会遇到跨域问题


image.png

项目上线了就自然没有跨域
调试过程可以使用vscode 的Open with Live server 打开项目


image.png image.png

出现这样的情况多半是引入的路径不正确

image.png

相关文章

  • jquery 使用i8n 的坑点

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

  • jquery 的 each 方法中 return 的坑

    jquery 的 each 方法中 return 的坑 Chapter 0 在项目中使用 jquery 的 eac...

  • jQuery选择器

    最近工作新项目开坑,页面部分jquery使用的比较多,翻书看看,也是顺便整理一下jquery相关使用的知识。常用的...

  • 小程序 MD5 加密

    小程序的MD5是一个天坑,请不要使用jquery的MD5加密,如果你使用的是jquery的MD5加密,那么恭喜你,...

  • vue 中使用webuploader

    webuploader是jquery组件,在vue中使用有点坑,首先介绍下我的项目环境是vue+webpack搭建...

  • 记爬过的坑

    坑一、 在使用jQuey()选择器方法选元素的时候含有特殊字符(. [ ] * 等)之类,如jQuery(“#m...

  • MUI 使用$的三种方式

    MUI不包含 jQuery,要使用 jQuery就得引入jQuery库 放弃使用$,直接使用mui或jQuery比...

  • jquery选择select

    使用jquery选择select默认选择 使用jquery选择select中的被选内容 使用jquery选择typ...

  • 前端基础入门五(掌握jQuery的常用api,实现动态效果)

    jQuery基本概念 学习目标:学会如何使用jQuery,掌握jQuery的常用api,能够使用jQuery实现常...

  • ajax使用注意

    新版jQuery使用ajax: 旧版jQuery使用ajax:

网友评论

      本文标题:jquery 使用i8n 的坑点

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