当前位置: 首页 > news >正文

html页面 通过jquery.i18n.properties添加多语言

第一步:
<div class="set_lang"><div class="lang_btn" data-langtype="zh">中文简体</div> | <div class="lang_btn" data-langtype="hk">中文繁體</div> |<div class="lang_btn" data-langtype="en">English</div>
</div>第二步:
<script src="./assets/jquery.i18n.properties.min.js"></script>
<script>/*本地运行需要配置服务,不然jquery-i18n-properties中的语言文件会跨域;Visual Studio Code 中下载LiveServer,index.html 右键运行 open width Live Serve*/$('.lang_btn').on('click', function () {  //语言切换按钮let langType = $(this).attr('data-langtype')loadProperties(langType);})function loadProperties (lang) {$.i18n.properties({name: 'lang',  //资源文件名称 , 命名格式: 文件名_国家代号.propertiespath: './lang/',    //资源文件路径,注意这里路径是你属性文件的所在文件夹,可以自定义cache: false,mode: 'map',     //用 Map 的方式使用资源文件中的值language: lang,  //国家代号 name+language刚好组成属性文件名:lang+en -> lang_en.propertiescallback: function () {for (var i in $.i18n.map) {$('[data-lang="' + i + '"]').text($.i18n.map[i]);}$(".search-input").attr('placeholder', $.i18n.map['search']);}});}loadProperties('en');
</script>
第三步:


新建 lang文件夹
lang_en.properties
page_title = Security Center
enter_phone_number = Enter phone number

lang_hk.properties
page_title = 安全中心
enter_phone_number = 輸入電話號碼

第四步:


dom中使用:
<div data-lang="page_title">安全中心</div>
<div data-lang="enter_phone_number">输入电话号码</div>

js中使用:
$(".selected_name").text($.i18n.map['page_title']);
$(".search-input").attr('placeholder', $.i18n.map['search']);

相关文章:

  • web网页端使用webSocket实现语音通话功能(SpringBoot+VUE)
  • CMMI-项目总体计划模版
  • 【Jmeter、postman、python 三大主流技术如何操作数据库?】
  • 前端---css 选择器
  • iPad绘画之旅:从小白到文创手账设计的萌系简笔画探索
  • 基于双闭环PI的SMO无速度控制系统simulink建模与仿真
  • 华为gre隧道全部跑静态路由
  • Vue 初始化數組后操作另一個數組onMounted和watch
  • 单体项目-动态上下文问题
  • 蓝桥杯宝藏排序题目算法(冒泡、选择、插入)
  • 制作自己的 Docker 容器
  • 家校互通小程序实战开发02首页搭建
  • ARM GIC(四) gicv3架构基础
  • ModuleNotFoundError: No module named ‘tensorflow‘
  • 【华为OD题库-107】编码能力提升计划-java
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【mysql】环境安装、服务启动、密码设置
  • create-react-app项目添加less配置
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • github从入门到放弃(1)
  • JAVA并发编程--1.基础概念
  • REST架构的思考
  • SegmentFault 2015 Top Rank
  • TypeScript实现数据结构(一)栈,队列,链表
  • Vue 动态创建 component
  • 前端面试总结(at, md)
  • 前端自动化解决方案
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • !$boo在php中什么意思,php前戏
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • (11)MSP430F5529 定时器B
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (动态规划)5. 最长回文子串 java解决
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (转)fock函数详解
  • (转载)从 Java 代码到 Java 堆
  • ***监测系统的构建(chkrootkit )
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .Net中的集合
  • .sh
  • /bin/rm: 参数列表过长"的解决办法
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [20150629]简单的加密连接.txt
  • [240607] Jina AI 发布多模态嵌入模型 | PHP 曝新漏洞 | TypeScript 5.5 RC 发布公告
  • [AIGC] 开源流程引擎哪个好,如何选型?
  • [ARC066F]Contest with Drinks Hard
  • [BUUCTF 2018]Online Tool
  • [Delphi]一个功能完备的国密SM4类(TSM4)[20230329更新]
  • [ESP32] 编码旋钮驱动