目的: 前端(只采用thymeleaf模板+jquery) 实现国际化

由: 前端没有采用流行的vue.js angular 等框架,纯html不可以引用js中定义的常量
采用jquery赋值(维护2个模板(中,英)界面) 直接out

方案:采用https://github.com/coderifous/jquery-localize/ 一个本地化插件
a jQuery plugin that makes it easy to internationalize your web site

步骤:
1 html

<!DOCTYPE>
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Language</title><!-- 引用三个js文件 language_cookie.js实现记忆功能 下一次用户刷新界面之后 记得之前用户使用了那个语种 --><script src="jquery.js" type="text/javascript" charset="utf-8"></script><script src="jquery.localize.js" type="text/javascript" charset="utf-8"></script><script src="language_cookie.js" type="text/javascript" charset="utf-8"></script>
</head>
<body><div class="top_lan"> <select id="ddlSomoveLanguage" onchange="chgLang();"><option value="">LAGUAGE</option><option value="ja">日本</option><option value="en">ENGLISH</option></select></div><div id="prod_navright"><ul>  <!--  data-localize="hpt.management"  固定写法 对应语言包文件中的key --><li><a data-localize="hpt.management" href="hospitality_management_ja.html" >MANAGEMENT</a></li><li><a data-localize="hpt.support" href="hospitality_support_ja.html">SUPPORT</a></li><li><a data-localize="hpt.tutorial" href="hospitality_tutorial_ja.html">TUTORIAL</a></li><li><a data-localize="hpt.features" href="hospitality_features_ja.html">FEATURES</a></li></ul></div>
</body>
</html>

2 语言包文件
text-en.json

{"hpt":{  "features": "FEATURES","tutorial": "TUTORIAL","support": "SUPPORT","management": "MANAGEMENT"
}
}

text-ja.json
·······

3 language_cookie.js 需要在服务器上执行 本机执行无法获取需要的json文件 主要的代码 标记处的代码底层可能使用的是xmlHttpRequest实现获取.json语言包文件

var name = "somoveLanguage";
function chgLang() {var value = $("#ddlSomoveLanguage").children('option:selected').val();SetCookie(name, value);console.log("come in chgLang" + name + value);location.reload();
}
function SetCookie(name, value) {var Days = 30; //此 cookie 将被保存 30 天var exp = new Date(); //new Date("December 31, 9998");exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}
function getCookie(name){  //取cookies函数var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));if (arr != null) return unescape(arr[2]);return null
}
$(function() {var uulanguage = (navigator.language || navigator.browserLanguage).toLowerCase();console.log("come in readly" + uulanguage);if (uulanguage.indexOf("en") > -1) {$("[data-localize]").localize("text", {   //**主要的代码** jquery.localize.js 底层实现切换逻辑pathPrefix: "lang",language: "en"});console.log("come in en");} else if (uulanguage.indexOf("ja") > -1) {$("[data-localize]").localize("text", {pathPrefix: "lang",language: "ja"});console.log("come in ja");} else {$("[data-localize]").localize("text", {pathPrefix: "lang",language: "en"});console.log("come in moren en");};//根据cookie选择语言if (getCookie(name) != "") {if (getCookie(name) == "ja") {$("[data-localize]").localize("text", {pathPrefix: "lang",language: "ja"});console.log("come in cookie ja");}if (getCookie(name) == "en") {$("[data-localize]").localize("text", {pathPrefix: "lang",language: "en"});console.log("come in cookie en");}}
});

angular实现国际化方案
http://yijiebuyi.com/blog/3b55056c87b73ba606c19e9338dca679.html

html+jquery实现页面中英文切换相关推荐

  1. The Tips - F12开发者页面中英文切换

    文章目录 F12开发者页面中英文切换 直接按F12-设置 F12开发者页面中英文切换 直接按F12-设置 首选项 - 语言(匹配语言) 转换英文成功 - 同时设置了主题为酷黑主题,还是刚才那个页面

  2. jenkins页面中英文切换配置

    jenkins中英文切换配置 Jenkins--英文切换成中文 更新了一下jenkins的war包, 结果启动后成英文的了,后来百度出解决方案: 原文地址:https://blog.csdn.net/ ...

  3. 前端国际化,用jquery.i18n完成中英文切换

    顾名思义,用jquery.i18n首先需要引入jquery. 头部文件如下 <script src="/assets-new/plugins/jquery/jquery.min.js& ...

  4. HTML如何实现页面中英文切换,关于html页面中怎样实现中英文切换的实例分享

    如何实现html页面的双语切换呢?最粗暴的办法是做两个页面,一个中文的,一个英文的.稍微温和的方法是:在每次显示之前,对当前的语言标志进行判断,用if和else来解决,其实,这种办法虽然没有那么粗暴, ...

  5. vue中使用Vue-i18n插件实现页面中英文切换详细教程

    1.在项目的根目录中安装插件 npm install vue-i18n 2.新建文件夹与文件存放自己配置的语言包,我这里新建的是lang文件夹 zh.js为中文语言包 en.js为英文语言包 文件夹与 ...

  6. i18n国际化(页面中英文切换)

    1.基于jquery,先引入jQuery 2.引入jquery.i18n.js(这个源码应该不完全,但是能用) (function ($) {$.fn.extend({i18n: function ( ...

  7. jq 中英文切换_怎样用jquery/js 实现中英文切换的功能?

    中英切换 中文 英文 早上好 // 中文 var zh_word = { index: { //页面 这里只是为了比较容易分组 ,也可以再细化分组 nav: "导航", top: ...

  8. 自定义LocaleResolver实现页面中英文切换

    文章目录 1.配置i18n(国际化)文件 2.页面设置值 3.编写自定义的LocaleResolver组件 4.注意点 1.配置i18n(国际化)文件 建立login和login_en_US时会自动生 ...

  9. 正则表达式split匹配多种例如 “】”,“,”两种(页面级中英文切换方案)...

    在做登陆界面的时候,因为涉及到中英文 因为前后台已经分离,所以前端需要自行设计中英文 做法: 编写两个文件,一个中文文件,一个是英文文件,分别放在对应的目录下面 文件的内容 {"login& ...

最新文章

  1. 【斗医】【10】Web应用开发20天
  2. MySQL 快速入门教程
  3. ContextLoaderListener作用详解
  4. VTK:Utilities之PCADemo
  5. Biorhythms ACM PKU http://acm.pku.cn/JudgeOnline/problem?id=1006
  6. [蓝桥杯2016决赛]愤怒小鸟-模拟
  7. C++中的函数汇总(新手必知)!
  8. java list比较器_JAVA比较器
  9. java socket 线程池_java socket编程的一个例子(线程池)
  10. 算法笔记_096:蓝桥杯练习 算法提高 求最大值(Java)
  11. JavaScript闭包简单应用
  12. 电脑主页面上的计算机没了,电脑界面上的internet explorer 没有了
  13. 基于FVC_MSAVI_EVI的荒漠化等级分类方法
  14. 软件测试经典案例佣金问题,佣金等价划分和测试用例设计.PPT
  15. 使用SplitContainer控件
  16. 总结:OSI七层协议
  17. layui之动态选项卡Tapiframe使用
  18. 家庭网速单位以及单位换算详细解说
  19. 张驰咨询:快速提高流程效率的5个关键精益生产工具
  20. 转载:使用飞信VMDotNet使C#程序脱离.NET FRAMEWORK也能运行的一些心得

热门文章

  1. linux python2.7 protobuf_python2.7protobuf.py文件生成issu
  2. 感谢信温暖又至,聚铭网络助力网络安全防护攻防演练
  3. yolov5环境配置
  4. css – Bootstrap 4中的class =“mb-0”是什么意思?
  5. 3.9亿听障人士的福音,这款APP帮他们 “听见”世界
  6. 框架学习—Spring
  7. iPhone短信铃声制作(caf格式)及替换
  8. win10离线安装WSL2 Ubuntu20.04系统
  9. 管理网络安全firewall
  10. 多张图片整合成连续动画