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

news/2024/7/10 23:02:04 标签: html, jquery, 前端
htmledit_views">
html">第一步:
<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',  //资源文件名称 , 命名格式: 文件名_国家代号.properties
			path: './lang/',    //资源文件路径,注意这里路径是你属性文件的所在文件夹,可以自定义
			cache: false,
			mode: 'map',     //用 Map 的方式使用资源文件中的值
			language: lang,  //国家代号 name+language刚好组成属性文件名:lang+en -> lang_en.properties
			callback: 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']);


http://www.niftyadmin.cn/n/5287425.html

相关文章

2024年 Kubernetes 四大趋势预测

Kubernetes 在生产环境中的复杂性已经成为常态&#xff0c;在2023年这个平台工程盛行的时代&#xff0c;容器管理的最大亮点可能在于其灵活性&#xff0c;然而在运维政策和治理等方面仍然存在诸多挑战。Kubernetes 最大的吸引力之一在于其可扩展性和跨环境的广泛用例。但是&…

机器学习模型性能的10个指标

尽管大模型非常强大&#xff0c; 但是解决实践的问题也可以不全部依赖于大模型。一个不太确切的类比&#xff0c;解释现实中的物理现象&#xff0c;未必要用到量子力学。有些相对简单的问题&#xff0c;或许一个统计分布就足够了。对机器学习而言&#xff0c; 也不用言必深度学…

windows上利用NSIS制作安装向导程序及常见问题

一、前言 NSIS&#xff08;Nullsoft Scriptable Install System&#xff09;是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。这如其名字所指出的那样&#xff0c;NSIS 是通过它的脚本语言来描述安装程序的行为和逻辑的。NSIS…

20.lambda表达式的总结

Lambda 表达式是 Java 8 引入的一个重要特性&#xff0c;它提供了一种简洁、可读性高的方式来表示匿名函数。Lambda 表达式可以用于替代某些需要接口实现的地方&#xff0c;使代码更加简洁和易于理解。 以下是 Lambda 表达式的关键点总结&#xff1a; 语法格式&#xff1a;Lam…

【前端查漏补缺】每日10题 2023-12-25

1. 实现lodash _get方法 _.get 是 Lodash 库中的一个方法&#xff0c;用于按照给定的路径从对象中获取值。它是一种安全的方式&#xff0c;可以避免在获取嵌套属性时出现的空指针错误。 _.get 方法的语法如下&#xff1a; _.get(object, path, [defaultValue])参数说明&…

Neo4j CQL语法

目录 0. 简述1. 创建节点创建单个节点创建多个节点创建带标签的节点创建具有多个标签的节点&#xff08;用冒号“:”分隔&#xff09;创建具有属性的节点&#xff08;在“{ }”中指定这些属性&#xff0c;用逗号分隔&#xff09;验证&#xff1a;返回数据库中的所有节点返回创建…

利用html2Canvas将表格下载为html

给到我的需求是点击按钮时请求后端接口&#xff0c;根据后端返回的数据&#xff0c;生成表格,并将表格的内容直接下载为html,如下图。 平常做的下载都是后端返回二进制流&#xff0c;这次前端做下载那就必须把页面先画出来&#xff0c;因为下载下来的表格在页面上是不显示的&a…

Node.js-模块与包

1. 模块 1.1 模块化的基本概念 1.2 模块化规范 2.Node.js中的模块化 2.1 Node.js中的模块化分类 2.2 加载模块 2.3 Node.js中的模块作用域 2.4 向外共享模块作用域的成员 2.4.1 module对象 2.4.2 module.exports对象 2.4.3 共享成员的注意点 2.4.4 exports对象 2.5 Node.js中…