JEECG 前端JS国际化实现,采用i18n新技术方案

JEECG 前端JS国际化实现,采用i18n新技术方案

       JEECG平台已全面实现了国际化,从后台代码提示到页面表单,使用方法简单易用: 后台配置国际化语言,java或者jsp层通过 引用国际化标签,即可轻松实现国际化,根据用户登录选择的语言,实现动态语言切换;

除了java和jsp层,那么 js的国际化要怎么处理呢?jeecg原来的方案是通过复制不同的国际化js文件,比如**_en.js,**_ch.js来实现,这种方式不好维护,所以 jeecg 3.7.8版本开始采用了新技术方案i18n,实现一份js ,国际化文本存在属性文件中,统一维护。

如果你这边jeecg已经是新版3.7.8+以上,对此文只做了解即可,因为jeecg的国际化机制已经很完善,不需要再修改;如果你是老版本那你可以通过此文学习自己升级。

一、使用技术

       jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化,采用.properties文件对JavaScript进行国际化,根据用户指定的语言和国家编码来解析对应的以”.properties”为后缀的文件 

/plug-in/i18n/jeecgs.properties

/plug-in/i18n/jeecgs_zh.properties

/plug-in/i18n/jeecgs_en.properties

 二、集成步骤

 第一步: 引入必须的js文件,JEECG在base标签中已做通用处理,自己开发的原生态页面需要自己手动引入

jquery.i18n.properties.js 
jquery.js 

第二步:页面加载时加载国际化properties文件,JEECG标签引入tools时默认已加载,没有引用是需要自己调用处理

 //i18n前段国际化
initI18nConfig();

/**
 * i18n国际化配置
 */
function initI18nConfig() {
	var i18n_browser_Lang = getCookie("i18n_browser_Lang");
	if(i18n_browser_Lang == 'zh-cn'){
		i18n_browser_Lang = 'zh';
	}
//	console.log(i18n_browser_Lang);
    $.i18n.properties({
        name:'jeecgs',    		//属性文件名     命名格式: 文件名_国家代号.properties
        path:'plug-in/i18n/',   //注意这里路径是你属性文件的所在文件夹
        mode:'map',
        language:i18n_browser_Lang,//这就是国家代号 name+language刚好组成属性文件名:strings+zh -> strings_zh.properties
        callback:function(){
       	
        }
    });
}

 第三步:创建不同语言的properties文件,在不同语言文件用添加国际化key及key对应的语言内容

/plug-in/i18n/jeecgs.properties  默认文件

dialog.close=关闭
dialog.submit=提交
dialog.select=选择

/plug-in/i18n/jeecgs_zh.properties   中文

dialog.close=关闭
dialog.submit=提交
dialog.select=选择

/plug-in/i18n/jeecgs_en.properties   英文

dialog.close=close
dialog.submit=submit
dialog.select=select

第四步:js国际化使用

js中调用方法 $.i18n.prop(key) ,通过key以Map的形式获取资源文件中对应的值

例如:

      $.dialog({
			content: 'url:'+addurl,
			zIndex: getzIndex(),
			lock : true,
			width:width,
			height: height,
			title:title,
			opacity : 0.3,
			cache:false, 
			okVal: $.i18n.prop('dialog.submit'),
		    cancelVal: $.i18n.prop('dialog.close'),
		    cancel: true /*为true等价于function(){}*/
		});

okVal: $.i18n.prop('dialog.submit'),    设置确认按钮名称
cancelVal: $.i18n.prop('dialog.close'),设置取消按钮名称

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JEECG低代码平台

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值