初步的网页国际化支持

1. 添加 jquery i18n js 依赖和入口
2. 在登录界面添加语言切换功能
This commit is contained in:
mofeng-git
2024-08-09 22:49:41 +08:00
parent 4fc188dbc8
commit 4a6fbce485
12 changed files with 97 additions and 10 deletions

29
web/share/js/i18n/i18n.js Normal file
View File

@@ -0,0 +1,29 @@
$(document).ready(function() {
/*默认语言*/
var defaultLang = "cn";
$("[i18n]").i18n({
defaultLang: defaultLang,
filePath: "/share/i18n/",
filePrefix: "i18n_",
fileSuffix: "",
forever: true,
callback: function() {
console.log("i18n is ready.");
}
});
/*切换为中文 - 按钮*/
$(".chinese").click(function() {
$("[i18n]").i18n({
defaultLang: "cn",
filePath: "/share/i18n/"
});
});
/*切换为英文 - 按钮*/
$(".english").click(function() {
$("[i18n]").i18n({
defaultLang: "en",
filePath: "/share/i18n/"
});
});
});

2
web/share/js/i18n/jquery-3.7.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
web/share/js/i18n/jquery.i18n.min.js vendored Normal file
View File

@@ -0,0 +1 @@
(function($){$.fn.extend({i18n:function(options){var defaults={lang:"",defaultLang:"",filePath:"/i18n/",filePrefix:"i18n_",fileSuffix:"",forever:true,callback:function(){}};function getCookie(name){var arr=document.cookie.split('; ');for(var i=0;i<arr.length;i++){var arr1=arr[i].split('=');if(arr1[0]==name){return arr1[1]}}return''};function setCookie(name,value,myDay){var oDate=new Date();oDate.setDate(oDate.getDate()+myDay);document.cookie=name+'='+value+'; expires='+oDate};var options=$.extend(defaults,options);if(getCookie('i18n_lang')!=""&&getCookie('i18n_lang')!="undefined"&&getCookie('i18n_lang')!=null){defaults.defaultLang=getCookie('i18n_lang')}else if(options.lang==""&&defaults.defaultLang==""){throw"defaultLang must not be null !"};if(options.lang!=null&&options.lang!=""){if(options.forever){setCookie('i18n_lang',options.lang)}else{$.removeCookie("i18n_lang")}}else{options.lang=defaults.defaultLang};var i=this;$.getJSON(options.filePath+options.filePrefix+options.lang+options.fileSuffix+".json",function(data){var i18nLang={};if(data!=null){i18nLang=data}$(i).each(function(i){var i18nOnly=$(this).attr("i18n-only");if($(this).val()!=null&&$(this).val()!=""){if(i18nOnly==null||i18nOnly==undefined||i18nOnly==""||i18nOnly=="value"){$(this).val(i18nLang[$(this).attr("i18n")])}}if($(this).html()!=null&&$(this).html()!=""){if(i18nOnly==null||i18nOnly==undefined||i18nOnly==""||i18nOnly=="html"){$(this).html(i18nLang[$(this).attr("i18n")])}}if($(this).attr('placeholder')!=null&&$(this).attr('placeholder')!=""){if(i18nOnly==null||i18nOnly==undefined||i18nOnly==""||i18nOnly=="placeholder"){$(this).attr('placeholder',i18nLang[$(this).attr("i18n")])}}});options.callback()})}})})(jQuery);