目的:前端(只采用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
立即学习“前端免费学习笔记(深入)”;
weenCompany闻名企业网站系统(免费开源)是一个功能强大, 使用简单的中英文企业智能建站系统, 您只需要一些基本的计算机知识就可以利用此系统完成中小型企业网站的建设; 是低成本企业网站架设方案之首选CMS系统, 也适合建设个人网站。weenCompany闻名企业网站系统功能:1. 程序代码简洁严谨, 整个系统程序仅2M左右大小.2. 中英文双语版共用一套网站程序, 双语页面实现自由切换.3
Language
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");
}
}
});










