stevenBeLove пре 4 година
родитељ
комит
f4fd7a94a6

+ 1 - 1
maxkey-persistence/src/test/resources/application.properties

@@ -24,7 +24,7 @@ spring.servlet.multipart.max-file-size=4194304
 #server.servlet.encoding.force=true
 #datasource
 spring.datasource.username=root
-spring.datasource.password=maxkey
+spring.datasource.password=root
 spring.datasource.url=jdbc:mysql://localhost/maxkey?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

+ 21 - 0
maxkey-web-manage/src/main/java/org/maxkey/web/contorller/UserInfoController.java

@@ -250,6 +250,15 @@ public class UserInfoController {
 		return modelAndView;
 	}
 	
+	@RequestMapping(value={"/forwardChangeUserinfoStatus/{id}"})
+	public ModelAndView forwardChangeUserinfoStatus(@PathVariable("id")String id){
+		ModelAndView modelAndView=new ModelAndView("/userinfo/changeUserinfoStatus");
+		UserInfo userInfo=userInfoService.get(id);
+		
+		modelAndView.addObject("model", userInfo);
+		return modelAndView;
+	}
+	
 	@ResponseBody
 	@RequestMapping(value="/changePassword")  
 	public Message changePassword( @ModelAttribute("userInfo")UserInfo userInfo) {
@@ -262,6 +271,18 @@ public class UserInfoController {
 		}
 	}
 	
+	@ResponseBody
+	@RequestMapping(value="/changeUserinfoStatus")  
+	public Message changeUserinfoStatus( @ModelAttribute("userInfo")UserInfo userInfo) {
+		_logger.debug(userInfo.getId());
+		if(userInfoService.update(userInfo)) {
+			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
+			
+		} else {
+			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_ERROR),MessageType.error);
+		}
+	}
+	
 	@InitBinder
 	public void binder(WebDataBinder binder) {
 		binder.registerCustomEditor(String.class, new PropertyEditorSupport() {

+ 1 - 1
maxkey-web-manage/src/main/resources/application.properties

@@ -16,7 +16,7 @@ spring.servlet.multipart.max-file-size=4194304
 #server.servlet.encoding.force=
 #datasource
 spring.datasource.username=root
-spring.datasource.password=maxkey
+spring.datasource.password=root
 spring.datasource.url=jdbc:mysql://localhost/maxkey?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

+ 435 - 430
maxkey-web-manage/src/main/resources/messages/message.properties

@@ -1,504 +1,509 @@
-global.title=MaxKey\u8eab\u4efd\u5b89\u5168\u7ba1\u7406\u7cfb\u7edf
-global.application=Max<span style="color: #FFD700;">Key</span>\u8eab\u4efd\u5b89\u5168\u7ba1\u7406\u7cfb\u7edf
-global.change.language=\u8bed\u8a00\u9009\u62e9
+global.title=MaxKey\u8EAB\u4EFD\u5B89\u5168\u7BA1\u7406\u7CFB\u7EDF
+global.application=Max<span style="color: #FFD700;">Key</span>\u8EAB\u4EFD\u5B89\u5168\u7BA1\u7406\u7CFB\u7EDF
+global.change.language=\u8BED\u8A00\u9009\u62E9
 global.change.language.en=English
-global.change.language.zh=\u4e2d\u6587
-global.text.welcome=\u6b22\u8fce\u60a8
-global.text.manage=\u7ba1\u7406
+global.change.language.zh=\u4E2D\u6587
+global.text.welcome=\u6B22\u8FCE\u60A8
+global.text.manage=\u7BA1\u7406
 global.text.copyright=\u7248\u6743\u6240\u6709
 global.text.copyright.content=Copyright 2018-2020 
 global.text.copyright.license=Licensed under the Apache License, Version 2.0
-global.text.logout=\u9000\u51fa
-global.logout.tip=\u6ce8\u9500\u6210\u529f
-global.logout.text.suffix=\u91cd\u65b0\u767b\u5f55
-global.logout.text.prefix=\u60a8\u5df2\u7ecf\u6210\u529f\u9000\u51fa\u767b\u5f55\uff0c\u8bf7\u5173\u95ed\u6d4f\u89c8\u5668\u6216\u8005
-login.session.timeout.tip=\u767b\u5f55\u4f1a\u8bdd\u8d85\u65f6
-login.session.timeout.prefix=\u60a8\u7684\u767b\u5f55\u4f1a\u8bdd\u5df2\u7ecf\u8d85\u65f6\uff0c\u8bf7
-login.session.timeout.suffix=\u91cd\u65b0\u767b\u5f55
+global.text.logout=\u9000\u51FA
+global.logout.tip=\u6CE8\u9500\u6210\u529F
+global.logout.text.suffix=\u91CD\u65B0\u767B\u5F55
+global.logout.text.prefix=\u60A8\u5DF2\u7ECF\u6210\u529F\u9000\u51FA\u767B\u5F55\uFF0C\u8BF7\u5173\u95ED\u6D4F\u89C8\u5668\u6216\u8005
+login.session.timeout.tip=\u767B\u5F55\u4F1A\u8BDD\u8D85\u65F6
+login.session.timeout.prefix=\u60A8\u7684\u767B\u5F55\u4F1A\u8BDD\u5DF2\u7ECF\u8D85\u65F6\uFF0C\u8BF7
+login.session.timeout.suffix=\u91CD\u65B0\u767B\u5F55
 
-common.window.title=\u7a97\u53e3
-common.alert.title=\u63d0\u793a\u4fe1\u606f
-common.alert.closeText=\u5173\u95ed
-common.conform.title=\u786e\u8ba4\u63d0\u793a
-common.conform.yes=\u786e\u5b9a
-common.conform.no=\u5173\u95ed
-common.select.hintText=\u8bf7\u9009\u62e9\u60a8\u8981\u64cd\u4f5c\u7684\u6570\u636e
-common.delete.hintText=\u60a8\u786e\u5b9a\u8981\u5220\u9664\u5417?
-common.grid.loadtext=\u6b63\u5728\u52a0\u8f7d...
-common.grid.loadnodata=\u6ca1\u6709\u67e5\u8be2\u5230\u7b26\u5408\u6570\u636e
-common.submit.hintText=\u60a8\u786e\u5b9a\u8981\u8fdb\u884c\u6b64\u9879\u64cd\u4f5c\u5417?
-common.submit.errorText=\u6267\u884c\u64cd\u4f5c\u5931\u8d25
-common.text.startdate=\u5f00\u59cb\u65f6\u95f4
-common.text.enddate=\u7ed3\u675f\u65f6\u95f4
-common.text.createdby=\u521b\u5efa\u4eba
-common.text.createddate=\u521b\u5efa\u65f6\u95f4
-common.text.modifiedby=\u4fee\u6539\u4eba
-common.text.modifieddate=\u4fee\u6539\u65f6\u95f4
-common.text.sortindex=\u6392\u5e8f
-common.text.status.start=\u5f00\u59cb
-common.text.status.normal=\u6b63\u5e38
+common.window.title=\u7A97\u53E3
+common.alert.title=\u63D0\u793A\u4FE1\u606F
+common.alert.closeText=\u5173\u95ED
+common.conform.title=\u786E\u8BA4\u63D0\u793A
+common.conform.yes=\u786E\u5B9A
+common.conform.no=\u5173\u95ED
+common.select.hintText=\u8BF7\u9009\u62E9\u60A8\u8981\u64CD\u4F5C\u7684\u6570\u636E
+common.delete.hintText=\u60A8\u786E\u5B9A\u8981\u5220\u9664\u5417?
+common.grid.loadtext=\u6B63\u5728\u52A0\u8F7D...
+common.grid.loadnodata=\u6CA1\u6709\u67E5\u8BE2\u5230\u7B26\u5408\u6570\u636E
+common.submit.hintText=\u60A8\u786E\u5B9A\u8981\u8FDB\u884C\u6B64\u9879\u64CD\u4F5C\u5417?
+common.submit.errorText=\u6267\u884C\u64CD\u4F5C\u5931\u8D25
+common.text.startdate=\u5F00\u59CB\u65F6\u95F4
+common.text.enddate=\u7ED3\u675F\u65F6\u95F4
+common.text.createdby=\u521B\u5EFA\u4EBA
+common.text.createddate=\u521B\u5EFA\u65F6\u95F4
+common.text.modifiedby=\u4FEE\u6539\u4EBA
+common.text.modifieddate=\u4FEE\u6539\u65F6\u95F4
+common.text.sortindex=\u6392\u5E8F
+common.text.status.start=\u5F00\u59CB
+common.text.status.normal=\u6B63\u5E38
 common.text.status.validated=\u6709\u6548
-common.text.status.inactive=\u4e0d\u6d3b\u52a8
-common.text.status.activate=\u6d3b\u52a8
-common.text.status.approved=\u6279\u51c6
-common.text.status.stop=\u505c\u6b62
-common.text.status.enabled=\u542f\u7528
-common.text.status.disabled=\u505c\u7528
-common.text.status.lock=\u9501\u5b9a
-common.text.status.unlock=\u89e3\u9501
-common.text.status.invalid=\u65e0\u6548
-common.text.status.expired=\u8fc7\u671f
+common.text.status.inactive=\u4E0D\u6D3B\u52A8
+common.text.status.activate=\u6D3B\u52A8
+common.text.status.approved=\u6279\u51C6
+common.text.status.stop=\u505C\u6B62
+common.text.status.enabled=\u542F\u7528
+common.text.status.disabled=\u505C\u7528
+common.text.status.lock=\u9501\u5B9A
+common.text.status.unlock=\u89E3\u9501
+common.text.status.invalid=\u65E0\u6548
+common.text.status.expired=\u8FC7\u671F
 common.text.status.delete=\u5220\u9664
-common.text.description=\u63cf\u8ff0
+common.text.description=\u63CF\u8FF0
 
-main.rpt.newuser=\u5f53\u6708\u65b0\u7528\u6237
-main.rpt.activeuser=\u672c\u6708\u6d3b\u8dc3\u7528\u6237
-main.rpt.onlineuser=\u7528\u6237\u5728\u7ebf
-main.rpt.daycount=\u5f53\u5929\u8bbf\u95ee\u91cf
-main.rpt.dayhour=\u5f53\u5929\u8bbf\u95ee\u60c5\u51b5
-main.rpt.month=30\u5929\u8bbf\u95ee\u60c5\u51b5
-main.rpt.count=\u8bbf\u95ee\u91cf
-main.rpt.appaccess=30\u5929\u5e94\u7528\u8bbf\u95ee\u7edf\u8ba1
-main.rpt.app=\u5e94\u7528\u540d\u79f0
-main.rpt.browseraccess=30\u5929\u6d4f\u89c8\u5668\u7edf\u8ba1	
-main.rpt.browser=\u6d4f\u89c8\u5668
+main.rpt.newuser=\u5F53\u6708\u65B0\u7528\u6237
+main.rpt.activeuser=\u672C\u6708\u6D3B\u8DC3\u7528\u6237
+main.rpt.onlineuser=\u7528\u6237\u5728\u7EBF
+main.rpt.daycount=\u5F53\u5929\u8BBF\u95EE\u91CF
+main.rpt.dayhour=\u5F53\u5929\u8BBF\u95EE\u60C5\u51B5
+main.rpt.month=30\u5929\u8BBF\u95EE\u60C5\u51B5
+main.rpt.count=\u8BBF\u95EE\u91CF
+main.rpt.appaccess=30\u5929\u5E94\u7528\u8BBF\u95EE\u7EDF\u8BA1
+main.rpt.app=\u5E94\u7528\u540D\u79F0
+main.rpt.browseraccess=30\u5929\u6D4F\u89C8\u5668\u7EDF\u8BA1	
+main.rpt.browser=\u6D4F\u89C8\u5668
 
-login.text.login.twofactor.obtain.valid=\u91cd\u65b0\u83b7\u53d6
-login.text.login.twofactor.obtain=\u83b7\u53d6\u52a8\u6001\u9a8c\u8bc1\u7801
-login.text.login.twofactor.obtain.valid.unit=\u79d2
-login.text.login.twofactor.validTime=\u5269\u4f59\u65f6\u95f4
-login.text.login.twofactor.validTime.unit=\u79d2
-login.text.login.twofactor=\u5b89\u5168\u8ba4\u8bc1
-login.text.login.normal=\u7528\u6237\u8ba4\u8bc1
-login.text.username=\u7528\u6237\u540d
-login.text.password=\u5bc6&nbsp;&nbsp;&nbsp;&nbsp;\u7801
-login.text.captcha=\u9a8c\u8bc1\u7801
-login.text.remeberme=\u8bb0\u4f4f\u767b\u5f55
-login.text.forgotpassword=\u5fd8\u8bb0\u5bc6\u7801
-login.button.login=\u767b\u5f55
-login.text.currenttime=\u65f6&nbsp;&nbsp;&nbsp;&nbsp;\u95f4
-login.text.otherlogins=\u5176\u4ed6\u767b\u5f55\u65b9\u5f0f
-login.text.register=\u7528\u6237\u6ce8\u518c
+login.text.login.twofactor.obtain.valid=\u91CD\u65B0\u83B7\u53D6
+login.text.login.twofactor.obtain=\u83B7\u53D6\u52A8\u6001\u9A8C\u8BC1\u7801
+login.text.login.twofactor.obtain.valid.unit=\u79D2
+login.text.login.twofactor.validTime=\u5269\u4F59\u65F6\u95F4
+login.text.login.twofactor.validTime.unit=\u79D2
+login.text.login.twofactor=\u5B89\u5168\u8BA4\u8BC1
+login.text.login.normal=\u7528\u6237\u8BA4\u8BC1
+login.text.username=\u7528\u6237\u540D
+login.text.password=\u5BC6&nbsp;&nbsp;&nbsp;&nbsp;\u7801
+login.text.captcha=\u9A8C\u8BC1\u7801
+login.text.remeberme=\u8BB0\u4F4F\u767B\u5F55
+login.text.forgotpassword=\u5FD8\u8BB0\u5BC6\u7801
+login.button.login=\u767B\u5F55
+login.text.currenttime=\u65F6&nbsp;&nbsp;&nbsp;&nbsp;\u95F4
+login.text.otherlogins=\u5176\u4ED6\u767B\u5F55\u65B9\u5F0F
+login.text.register=\u7528\u6237\u6CE8\u518C
 
-login.password.expired=\u5bc6\u7801\u8fc7\u671f
-login.password.expired.tip=\u5bc6\u7801\u8fc7\u671f\uff0c\u8bf7\u4fee\u6539\u5bc6\u7801
-login.password.oldPassword=\u539f\u5bc6\u7801
-login.password.newPassword=\u65b0\u5bc6\u7801
-login.password.confirmPassword=\u786e\u8ba4\u65b0\u5bc6\u7801
-login.password.initial.change.tip=\u9996\u6b21\u767b\u5f55\uff0c\u8bf7\u4fee\u6539\u521d\u59cb\u5316\u5bc6\u7801
-login.password.changepassword=\u5bc6\u7801\u4fee\u6539
-login.password.applogin.changepassword=\u5e94\u7528\u767b\u5f55\u5bc6\u7801\u8bbe\u7f6e
+login.password.expired=\u5BC6\u7801\u8FC7\u671F
+login.password.expired.tip=\u5BC6\u7801\u8FC7\u671F\uFF0C\u8BF7\u4FEE\u6539\u5BC6\u7801
+login.password.oldPassword=\u539F\u5BC6\u7801
+login.password.newPassword=\u65B0\u5BC6\u7801
+login.password.confirmPassword=\u786E\u8BA4\u65B0\u5BC6\u7801
+login.password.initial.change.tip=\u9996\u6B21\u767B\u5F55\uFF0C\u8BF7\u4FEE\u6539\u521D\u59CB\u5316\u5BC6\u7801
+login.password.changepassword=\u5BC6\u7801\u4FEE\u6539
+login.password.applogin.changepassword=\u5E94\u7528\u767B\u5F55\u5BC6\u7801\u8BBE\u7F6E
 
-login.passwordpolicy=\u5bc6\u7801\u7b56\u7565
-login.passwordpolicy.minlength=\u6700\u5c0f\u957f\u5ea6
-login.passwordpolicy.maxlength=\u6700\u5927\u957f\u5ea6
-login.passwordpolicy.lowercase=\u5305\u542b\u5c0f\u5199\u5b57\u6bcd
-login.passwordpolicy.uppercase=\u5305\u542b\u5927\u5199\u5b57\u6bcd
-login.passwordpolicy.digits=\u5305\u542b\u6570\u5b57
-login.passwordpolicy.specialchar=\u7279\u6b8a\u5b57\u7b26
-login.passwordpolicy.attempts=\u767b\u5f55\u5c1d\u8bd5\u6b21\u6570
-login.passwordpolicy.duration=\u81ea\u52a8\u89e3\u9664
-login.passwordpolicy.expiration=\u8fc7\u671f\u65f6\u95f4
-login.passwordpolicy.username=\u5305\u542b\u7528\u6237\u540d
-login.passwordpolicy.dictionary=\u7b80\u5355\u5bc6\u7801\u5b57\u5178
-login.passwordpolicy.history=\u5386\u53f2\u5bc6\u7801\u6b21\u6570
-login.passwordpolicy.alphabetical=\u5b57\u6bcd\u5e8f\u5217\u7b56\u7565
-login.passwordpolicy.numerical=\u6570\u5b57\u5e8f\u5217\u7b56\u7565
-login.passwordpolicy.qwerty=\u952e\u76d8\u7b56\u7565
-login.passwordpolicy.occurances=\u5b57\u7b26\u91cd\u590d\u6b21\u6570
+login.passwordpolicy=\u5BC6\u7801\u7B56\u7565
+login.passwordpolicy.minlength=\u6700\u5C0F\u957F\u5EA6
+login.passwordpolicy.maxlength=\u6700\u5927\u957F\u5EA6
+login.passwordpolicy.lowercase=\u5305\u542B\u5C0F\u5199\u5B57\u6BCD
+login.passwordpolicy.uppercase=\u5305\u542B\u5927\u5199\u5B57\u6BCD
+login.passwordpolicy.digits=\u5305\u542B\u6570\u5B57
+login.passwordpolicy.specialchar=\u7279\u6B8A\u5B57\u7B26
+login.passwordpolicy.attempts=\u767B\u5F55\u5C1D\u8BD5\u6B21\u6570
+login.passwordpolicy.duration=\u81EA\u52A8\u89E3\u9664
+login.passwordpolicy.expiration=\u8FC7\u671F\u65F6\u95F4
+login.passwordpolicy.username=\u5305\u542B\u7528\u6237\u540D
+login.passwordpolicy.dictionary=\u7B80\u5355\u5BC6\u7801\u5B57\u5178
+login.passwordpolicy.history=\u5386\u53F2\u5BC6\u7801\u6B21\u6570
+login.passwordpolicy.alphabetical=\u5B57\u6BCD\u5E8F\u5217\u7B56\u7565
+login.passwordpolicy.numerical=\u6570\u5B57\u5E8F\u5217\u7B56\u7565
+login.passwordpolicy.qwerty=\u952E\u76D8\u7B56\u7565
+login.passwordpolicy.occurances=\u5B57\u7B26\u91CD\u590D\u6B21\u6570
 
 
-login.social.link=\u7ed1\u5b9a
-login.social.unlink=\u89e3\u9664
-login.social.icon=\u56fe\u6807
-login.social.provider=\u4f9b\u5e94\u5546
+login.social.link=\u7ED1\u5B9A
+login.social.unlink=\u89E3\u9664
+login.social.icon=\u56FE\u6807
+login.social.provider=\u4F9B\u5E94\u5546
 
 #
-userinfo.id=\u7528\u6237\u7f16\u53f7
-userinfo.tab.basic=\u57fa\u672c\u4fe1\u606f
-userinfo.tab.business=\u673a\u6784\u4fe1\u606f
-userinfo.tab.personal=\u4e2a\u4eba\u4fe1\u606f
-userinfo.tab.extra=\u6269\u5c55\u4fe1\u606f
+userinfo.id=\u7528\u6237\u7F16\u53F7
+userinfo.tab.basic=\u57FA\u672C\u4FE1\u606F
+userinfo.tab.business=\u673A\u6784\u4FE1\u606F
+userinfo.tab.personal=\u4E2A\u4EBA\u4FE1\u606F
+userinfo.tab.extra=\u6269\u5C55\u4FE1\u606F
 
-userinfo.displayName=\u7528\u6237\u540d
-userinfo.username=\u767b\u5f55\u8d26\u53f7
-userinfo.email=\u90ae\u7bb1\u5730\u5740
-userinfo.mobile=\u624b\u673a\u53f7\u7801
-userinfo.userType=\u7528\u6237\u7c7b\u578b
-userinfo.userType.employee=\u5185\u90e8\u5458\u5de5
-userinfo.userType.contractor=\u627f\u5305\u5546
-userinfo.userType.customer=\u5ba2\u6237
-userinfo.userType.supplier=\u4f9b\u5e94\u5546
-userinfo.userType.partner=\u5408\u4f5c\u4f19\u4f34
-userinfo.userType.external=\u5916\u90e8\u7528\u6237
-userinfo.userType.intern=\u5b9e\u4e60\u751f
-userinfo.userType.temp=\u4e34\u65f6\u7528\u6237
-userinfo.userType.dealer=\u7ecf\u9500\u5546
+userinfo.displayName=\u7528\u6237\u540D
+userinfo.username=\u767B\u5F55\u8D26\u53F7
+userinfo.email=\u90AE\u7BB1\u5730\u5740
+userinfo.mobile=\u624B\u673A\u53F7\u7801
+userinfo.userType=\u7528\u6237\u7C7B\u578B
+userinfo.userType.employee=\u5185\u90E8\u5458\u5DE5
+userinfo.userType.contractor=\u627F\u5305\u5546
+userinfo.userType.customer=\u5BA2\u6237
+userinfo.userType.supplier=\u4F9B\u5E94\u5546
+userinfo.userType.partner=\u5408\u4F5C\u4F19\u4F34
+userinfo.userType.external=\u5916\u90E8\u7528\u6237
+userinfo.userType.intern=\u5B9E\u4E60\u751F
+userinfo.userType.temp=\u4E34\u65F6\u7528\u6237
+userinfo.userType.dealer=\u7ECF\u9500\u5546
 
-userinfo.picture=\u5934\u50cf
-userinfo.familyName=\u59d3
-userinfo.givenName=\u540d
-userinfo.middleName=\u4e2d\u95f4\u540d
-userinfo.nickName=\u6635\u79f0
-userinfo.gender=\u6027\u522b
+userinfo.picture=\u5934\u50CF
+userinfo.familyName=\u59D3
+userinfo.givenName=\u540D
+userinfo.middleName=\u4E2D\u95F4\u540D
+userinfo.nickName=\u6635\u79F0
+userinfo.gender=\u6027\u522B
 userinfo.gender.female=\u5973
 userinfo.gender.male=\u7537
-userinfo.married=\u5a5a\u59fb\u72b6\u6001
-userinfo.married.unknown=\u672a\u77e5
-userinfo.married.single=\u5355\u8eab
-userinfo.married.married=\u5df2\u5a5a
-userinfo.married.divorce=\u79bb\u5f02
-userinfo.married.widowed=\u4e27\u5076
-userinfo.website=\u4e2a\u4eba\u4e3b\u9875
-userinfo.birthDate=\u51fa\u751f\u65e5\u671f
-userinfo.idtype=\u8bc1\u4ef6\u7c7b\u578b
-userinfo.idtype.unknown=\u672a\u77e5
-userinfo.idtype.idcard=\u8eab\u4efd\u8bc1
-userinfo.idtype.passport=\u62a4\u7167
-userinfo.idtype.studentcard=\u5b66\u751f\u8bc1
-userinfo.idtype.militarycard=\u519b\u4eba\u8bc1
-userinfo.idCardNo=\u8bc1\u4ef6\u53f7\u7801
-userinfo.startWorkDate=\u5de5\u4f5c\u5f00\u59cb\u65f6\u95f4
-userinfo.preferredLanguage=\u8bed\u97f3\u504f\u597d
-userinfo.timeZone=\u65f6\u533a
-userinfo.locale=\u8bed\u8a00\u9009\u62e9
-userinfo.employeeNumber=\u5458\u5de5\u7f16\u53f7
-userinfo.windowsAccount=AD\u57df\u8d26\u53f7
-userinfo.organization=\u6240\u5c5e\u673a\u6784
-userinfo.division=\u5206\u652f\u673a\u6784
-userinfo.department=\u90e8\u95e8\u540d\u79f0
-userinfo.departmentId=\u90e8\u95e8\u7f16\u53f7
-userinfo.costCenter=\u6210\u672c\u4e2d\u5fc3
-userinfo.jobTitle=\u804c\u4f4d
-userinfo.jobLevel=\u7ea7\u522b
-userinfo.manager=\u4e0a\u7ea7\u7ecf\u7406
-userinfo.assistant=\u52a9\u7406
-userinfo.entryDate=\u5165\u804c\u65f6\u95f4
-userinfo.quitDate=\u79bb\u804c\u65f6\u95f4
-userinfo.workCountry=\u56fd\u5bb6
+userinfo.married=\u5A5A\u59FB\u72B6\u6001
+userinfo.married.unknown=\u672A\u77E5
+userinfo.married.single=\u5355\u8EAB
+userinfo.married.married=\u5DF2\u5A5A
+userinfo.married.divorce=\u79BB\u5F02
+userinfo.married.widowed=\u4E27\u5076
+userinfo.website=\u4E2A\u4EBA\u4E3B\u9875
+userinfo.birthDate=\u51FA\u751F\u65E5\u671F
+userinfo.idtype=\u8BC1\u4EF6\u7C7B\u578B
+userinfo.idtype.unknown=\u672A\u77E5
+userinfo.idtype.idcard=\u8EAB\u4EFD\u8BC1
+userinfo.idtype.passport=\u62A4\u7167
+userinfo.idtype.studentcard=\u5B66\u751F\u8BC1
+userinfo.idtype.militarycard=\u519B\u4EBA\u8BC1
+userinfo.idCardNo=\u8BC1\u4EF6\u53F7\u7801
+userinfo.startWorkDate=\u5DE5\u4F5C\u5F00\u59CB\u65F6\u95F4
+userinfo.preferredLanguage=\u8BED\u97F3\u504F\u597D
+userinfo.timeZone=\u65F6\u533A
+userinfo.locale=\u8BED\u8A00\u9009\u62E9
+userinfo.employeeNumber=\u5458\u5DE5\u7F16\u53F7
+userinfo.windowsAccount=AD\u57DF\u8D26\u53F7
+userinfo.organization=\u6240\u5C5E\u673A\u6784
+userinfo.division=\u5206\u652F\u673A\u6784
+userinfo.department=\u90E8\u95E8\u540D\u79F0
+userinfo.departmentId=\u90E8\u95E8\u7F16\u53F7
+userinfo.costCenter=\u6210\u672C\u4E2D\u5FC3
+userinfo.jobTitle=\u804C\u4F4D
+userinfo.jobLevel=\u7EA7\u522B
+userinfo.manager=\u4E0A\u7EA7\u7ECF\u7406
+userinfo.assistant=\u52A9\u7406
+userinfo.entryDate=\u5165\u804C\u65F6\u95F4
+userinfo.quitDate=\u79BB\u804C\u65F6\u95F4
+userinfo.workCountry=\u56FD\u5BB6
 userinfo.workRegion=\u7701
-userinfo.workLocality=\u57ce\u5e02
+userinfo.workLocality=\u57CE\u5E02
 userinfo.workStreetAddress=\u5730\u5740
-userinfo.workPostalCode=\u90ae\u7f16
-userinfo.workFax=\u4f20\u771f
-userinfo.workPhoneNumber=\u5de5\u4f5c\u7535\u8bdd
-userinfo.workEmail=\u5de5\u4f5c\u90ae\u4ef6
-userinfo.homeCountry=\u56fd\u5bb6
+userinfo.workPostalCode=\u90AE\u7F16
+userinfo.workFax=\u4F20\u771F
+userinfo.workPhoneNumber=\u5DE5\u4F5C\u7535\u8BDD
+userinfo.workEmail=\u5DE5\u4F5C\u90AE\u4EF6
+userinfo.homeCountry=\u56FD\u5BB6
 userinfo.homeRegion=\u7701
-userinfo.homeLocality=\u57ce\u5e02
-userinfo.homeStreetAddress=\u5bb6\u5ead\u5730\u5740
-userinfo.homePostalCode=\u5bb6\u5ead\u90ae\u7f16
-userinfo.homeFax=\u5bb6\u5ead\u4f20\u771f
-userinfo.homePhoneNumber=\u5bb6\u5ead\u7535\u8bdd
-userinfo.homeEmail=\u5bb6\u5ead\u90ae\u7bb1
-userinfo.ims=\u5373\u65f6\u901a\u8baf
+userinfo.homeLocality=\u57CE\u5E02
+userinfo.homeStreetAddress=\u5BB6\u5EAD\u5730\u5740
+userinfo.homePostalCode=\u5BB6\u5EAD\u90AE\u7F16
+userinfo.homeFax=\u5BB6\u5EAD\u4F20\u771F
+userinfo.homePhoneNumber=\u5BB6\u5EAD\u7535\u8BDD
+userinfo.homeEmail=\u5BB6\u5EAD\u90AE\u7BB1
+userinfo.ims=\u5373\u65F6\u901A\u8BAF
+userinfo.status=\u7528\u6237\u72B6\u6001
+userinfo.status.active=\u5728\u518C\u4EBA\u5458
+userinfo.status.withdrawn=\u79BB\u804C\u4EBA\u5458
+userinfo.status.inactive=\u505C\u85AA\u7559\u804C\u4EBA\u5458
+userinfo.status.retiree=\u9000\u4F11\u4EBA\u5458
 
-userinfo.authnType=\u767b\u5f55\u65b9\u5f0f
-userinfo.authnType.authnType.1=\u666e\u901a\u767b\u5f55
-userinfo.authnType.authnType.2=\u624b\u673a\u4ee4\u724c
-userinfo.authnType.authnType.3=\u77ed\u4fe1\u9a8c\u8bc1
-userinfo.authnType.authnType.4=\u90ae\u4ef6\u9a8c\u8bc1
-userinfo.authnType.authnType.5=\u65f6\u95f4\u4ee4\u724c
-userinfo.authnType.authnType.6=\u8ba1\u6570\u5668\u4ee4\u724c
-userinfo.authnType.authnType.7=HOTP\u4ee4\u724c
-userinfo.authnType.authnType.8=RSA\u4ee4\u724c
-userinfo.authnType.authnType.9=\u6570\u5b57\u8bc1\u4e66
+userinfo.authnType=\u767B\u5F55\u65B9\u5F0F
+userinfo.authnType.authnType.1=\u666E\u901A\u767B\u5F55
+userinfo.authnType.authnType.2=\u624B\u673A\u4EE4\u724C
+userinfo.authnType.authnType.3=\u77ED\u4FE1\u9A8C\u8BC1
+userinfo.authnType.authnType.4=\u90AE\u4EF6\u9A8C\u8BC1
+userinfo.authnType.authnType.5=\u65F6\u95F4\u4EE4\u724C
+userinfo.authnType.authnType.6=\u8BA1\u6570\u5668\u4EE4\u724C
+userinfo.authnType.authnType.7=HOTP\u4EE4\u724C
+userinfo.authnType.authnType.8=RSA\u4EE4\u724C
+userinfo.authnType.authnType.9=\u6570\u5B57\u8BC1\u4E66
 userinfo.authnType.authnType.10=USB Key
 
-org.tab.basic=\u57fa\u672c\u4fe1\u606f
-org.tab.extra=\u6269\u5c55\u4fe1\u606f
-org.id=\u673a\u6784\u7f16\u53f7
-org.name=\u673a\u6784\u540d\u79f0
-org.pid=\u7236\u7ea7\u7f16\u53f7
-org.pname=\u7236\u7ea7\u540d\u79f0
-org.fullname=\u673a\u6784\u5168\u79f0
-org.xpath=ID\u8def\u5f84
-org.xnamepath=\u540d\u79f0\u8def\u5f84
-org.type=\u7c7b\u578b
-org.division=\u5206\u652f\u673a\u6784
-org.contact=\u8054\u7cfb\u4eba
-org.phone=\u7535\u8bdd
-org.email=\u90ae\u7bb1
-org.fax=\u4f20\u771f
-org.country=\u56fd\u5bb6
+org.tab.basic=\u57FA\u672C\u4FE1\u606F
+org.tab.extra=\u6269\u5C55\u4FE1\u606F
+org.id=\u673A\u6784\u7F16\u53F7
+org.name=\u673A\u6784\u540D\u79F0
+org.pid=\u7236\u7EA7\u7F16\u53F7
+org.pname=\u7236\u7EA7\u540D\u79F0
+org.fullname=\u673A\u6784\u5168\u79F0
+org.xpath=ID\u8DEF\u5F84
+org.xnamepath=\u540D\u79F0\u8DEF\u5F84
+org.type=\u7C7B\u578B
+org.division=\u5206\u652F\u673A\u6784
+org.contact=\u8054\u7CFB\u4EBA
+org.phone=\u7535\u8BDD
+org.email=\u90AE\u7BB1
+org.fax=\u4F20\u771F
+org.country=\u56FD\u5BB6
 org.region=\u7701
-org.locality=\u57ce\u5e02
+org.locality=\u57CE\u5E02
 org.street=\u8857\u9053
 org.address=\u5730\u5740
-org.postalcode=\u90ae\u7f16
-org.sortorder=\u6392\u5e8f
-org.description=\u63cf\u8ff0
+org.postalcode=\u90AE\u7F16
+org.sortorder=\u6392\u5E8F
+org.description=\u63CF\u8FF0
 
 #opt totp
-login.totp.sharedSecret=\u5171\u4eab\u5bc6\u7801
-login.totp.period=\u5468\u671f
-login.totp.digits=\u6570\u5b57
-login.totp.crypto=\u52a0\u5bc6\u65b9\u5f0f
-login.totp.generate=\u91cd\u65b0\u751f\u6210
+login.totp.sharedSecret=\u5171\u4EAB\u5BC6\u7801
+login.totp.period=\u5468\u671F
+login.totp.digits=\u6570\u5B57
+login.totp.crypto=\u52A0\u5BC6\u65B9\u5F0F
+login.totp.generate=\u91CD\u65B0\u751F\u6210
 login.totp.title=TimeBased One Time Password
 #opt hotp
-login.hotp.sharedSecret=\u5171\u4eab\u5bc6\u7801
-login.hotp.period=\u5468\u671f
-login.hotp.digits=\u6570\u5b57
-login.hotp.crypto=\u52a0\u5bc6\u65b9\u5f0f
-login.hotp.generate=\u91cd\u65b0\u751f\u6210
+login.hotp.sharedSecret=\u5171\u4EAB\u5BC6\u7801
+login.hotp.period=\u5468\u671F
+login.hotp.digits=\u6570\u5B57
+login.hotp.crypto=\u52A0\u5BC6\u65B9\u5F0F
+login.hotp.generate=\u91CD\u65B0\u751F\u6210
 login.hotp.title=HOTP One Time Password
 #opt counter
-login.counter.sharedSecret=\u5171\u4eab\u5bc6\u7801
-login.counter.period=\u5468\u671f
-login.counter.digits=\u6570\u5b57
-login.counter.crypto=\u52a0\u5bc6\u65b9\u5f0f
-login.counter.generate=\u91cd\u65b0\u751f\u6210
+login.counter.sharedSecret=\u5171\u4EAB\u5BC6\u7801
+login.counter.period=\u5468\u671F
+login.counter.digits=\u6570\u5B57
+login.counter.crypto=\u52A0\u5BC6\u65B9\u5F0F
+login.counter.generate=\u91CD\u65B0\u751F\u6210
 login.counter.title=Counter Based One Time Password
 #app
-apps.icon=\u56fe\u6807
-apps.name=\u5e94\u7528\u540d\u79f0
-apps.protocol=\u8bbf\u95ee\u534f\u8bae
-apps.category=\u7c7b\u578b
-apps.protocol.formbased=\u8868\u5355\u8ba4\u8bc1
-apps.protocol.desktop=\u684c\u9762\u8ba4\u8bc1
-apps.protocol.tokenbased=\u4ee4\u724c\u8ba4\u8bc1
+apps.icon=\u56FE\u6807
+apps.name=\u5E94\u7528\u540D\u79F0
+apps.protocol=\u8BBF\u95EE\u534F\u8BAE
+apps.category=\u7C7B\u578B
+apps.protocol.formbased=\u8868\u5355\u8BA4\u8BC1
+apps.protocol.desktop=\u684C\u9762\u8BA4\u8BC1
+apps.protocol.tokenbased=\u4EE4\u724C\u8BA4\u8BC1
 apps.protocol.oauth2.0=OAuth2.0
 apps.protocol.saml2.0=SAML2.0
-apps.protocol.ltpa=\u8f7b\u91cf\u7ea7\u8ba4\u8bc1(LTPA)
-apps.protocol.cas=CAS\u8ba4\u8bc1
-apps.protocol.extendapi=API\u6269\u5c55\u8ba4\u8bc1
-apps.protocol.basic=\u57fa\u672c\u767b\u5f55
-apps.vendor=\u4f9b\u5e94\u5546
-apps.vendor.url=\u4f9b\u5e94\u5546\u7f51\u5740
-apps.basic.info=\u5e94\u7528\u57fa\u672c\u4fe1\u606f
-apps.id=\u552f\u4e00\u7f16\u7801
-apps.secret=\u5e94\u7528\u79d8\u94a5
-apps.visible=\u6743\u9650\u8303\u56f4
-apps.visible.hidden=\u9690\u85cf
+apps.protocol.ltpa=\u8F7B\u91CF\u7EA7\u8BA4\u8BC1(LTPA)
+apps.protocol.cas=CAS\u8BA4\u8BC1
+apps.protocol.extendapi=API\u6269\u5C55\u8BA4\u8BC1
+apps.protocol.basic=\u57FA\u672C\u767B\u5F55
+apps.vendor=\u4F9B\u5E94\u5546
+apps.vendor.url=\u4F9B\u5E94\u5546\u7F51\u5740
+apps.basic.info=\u5E94\u7528\u57FA\u672C\u4FE1\u606F
+apps.id=\u552F\u4E00\u7F16\u7801
+apps.secret=\u5E94\u7528\u79D8\u94A5
+apps.visible=\u6743\u9650\u8303\u56F4
+apps.visible.hidden=\u9690\u85CF
 apps.visible.all=\u6240\u6709\u7528\u6237
-apps.visible.internet=\u5185\u90e8\u7528\u6237
-apps.visible.intranet=\u5916\u90e8\u7528\u6237
-apps.loginUrl=\u767b\u5f55\u5730\u5740
-apps.logoutUrl=\u6ce8\u9500\u5730\u5740
-apps.logoutType=\u6ce8\u9500\u65b9\u5f0f
-apps.logoutType.none=\u65e0
-apps.logoutType.back_channel=\u540e\u53f0
-apps.logoutType.front_channel=\u524d\u53f0
-apps.credential=\u51ed\u8bc1\u7c7b\u578b
-apps.credential.user-defined=\u7528\u6237\u81ea\u5b9a\u4e49
-apps.credential.shared=\u5e94\u7528\u5171\u4eab
-apps.credential.system=\u7cfb\u7edf\u914d\u7f6e
-apps.systemUserAttr=\u7cfb\u7edf\u5c5e\u6027
-apps.credential.sharedUsername=\u5171\u4eab\u7528\u6237\u540d
-apps.credential.sharedPassword=\u5171\u4eab\u51ed\u8bc1
-apps.isAdapter=\u9002\u914d
+apps.visible.internet=\u5185\u90E8\u7528\u6237
+apps.visible.intranet=\u5916\u90E8\u7528\u6237
+apps.loginUrl=\u767B\u5F55\u5730\u5740
+apps.logoutUrl=\u6CE8\u9500\u5730\u5740
+apps.logoutType=\u6CE8\u9500\u65B9\u5F0F
+apps.logoutType.none=\u65E0
+apps.logoutType.back_channel=\u540E\u53F0
+apps.logoutType.front_channel=\u524D\u53F0
+apps.credential=\u51ED\u8BC1\u7C7B\u578B
+apps.credential.user-defined=\u7528\u6237\u81EA\u5B9A\u4E49
+apps.credential.shared=\u5E94\u7528\u5171\u4EAB
+apps.credential.system=\u7CFB\u7EDF\u914D\u7F6E
+apps.systemUserAttr=\u7CFB\u7EDF\u5C5E\u6027
+apps.credential.sharedUsername=\u5171\u4EAB\u7528\u6237\u540D
+apps.credential.sharedPassword=\u5171\u4EAB\u51ED\u8BC1
+apps.isAdapter=\u9002\u914D
 apps.isAdapter.no=\u7981\u7528
-apps.isAdapter.yes=\u542f\u7528
-apps.adapter=\u9002\u914d\u5668
-apps.extendAttr=\u6269\u5c55\u5c5e\u6027
-apps.isExtendAttr=\u914d\u7f6e\u6269\u5c55\u5c5e\u6027
-apps.extendAttr.parameter=\u53c2\u6570
-apps.extendAttr.parameter.type=\u7c7b\u578b
-apps.extendAttr.parameter.value=\u503c
-apps.principal=\u51ed\u8bc1
-apps.credentials=\u79d8\u94a5
+apps.isAdapter.yes=\u542F\u7528
+apps.adapter=\u9002\u914D\u5668
+apps.extendAttr=\u6269\u5C55\u5C5E\u6027
+apps.isExtendAttr=\u914D\u7F6E\u6269\u5C55\u5C5E\u6027
+apps.extendAttr.parameter=\u53C2\u6570
+apps.extendAttr.parameter.type=\u7C7B\u578B
+apps.extendAttr.parameter.value=\u503C
+apps.principal=\u51ED\u8BC1
+apps.credentials=\u79D8\u94A5
 
 #formbased
-apps.formbased.info=\u8868\u5355\u8ba4\u8bc1
-apps.formbased.redirectUri=\u8ba4\u8bc1\u5730\u5740
-apps.formbased.usernameMapping=\u767b\u5f55\u540d\u6620\u5c04
-apps.formbased.passwordMapping=\u767b\u5f55\u51ed\u8bc1\u6620\u5c04
-apps.formbased.authorizeView=\u8ba4\u8bc1\u89c6\u56fe
-apps.formbased.parameter=\u53c2\u6570
-apps.formbased.parameter.value=\u53c2\u6570\u503c
+apps.formbased.info=\u8868\u5355\u8BA4\u8BC1
+apps.formbased.redirectUri=\u8BA4\u8BC1\u5730\u5740
+apps.formbased.usernameMapping=\u767B\u5F55\u540D\u6620\u5C04
+apps.formbased.passwordMapping=\u767B\u5F55\u51ED\u8BC1\u6620\u5C04
+apps.formbased.authorizeView=\u8BA4\u8BC1\u89C6\u56FE
+apps.formbased.parameter=\u53C2\u6570
+apps.formbased.parameter.value=\u53C2\u6570\u503C
 #cas
-apps.cas.info=CAS\u8ba4\u8bc1
-apps.cas.service=\u670d\u52a1
-apps.cas.callbackUrl=\u56de\u8c03\u5730\u5740
+apps.cas.info=CAS\u8BA4\u8BC1
+apps.cas.service=\u670D\u52A1
+apps.cas.callbackUrl=\u56DE\u8C03\u5730\u5740
 #desktop
-apps.desktop.info=\u684c\u9762\u8ba4\u8bc1
-apps.desktop.programPath=\u5e94\u7528\u5b89\u88c5\u8def\u5f84
-apps.desktop.parameter=\u5e94\u7528\u53c2\u6570
-apps.desktop.usernameType=\u7528\u6237\u7c7b\u578b
-apps.desktop.usernameParameter=\u7528\u6237\u53c2\u6570
-apps.desktop.preUsername=\u7528\u6237\u540d\u524d\u671f
-apps.desktop.passwordType=\u51ed\u8bc1\u7c7b\u578b
-apps.desktop.passwordParameter=\u51ed\u8bc1\u53c2\u6570
-apps.desktop.prePassword=\u51ed\u8bc1\u524d\u671f
-apps.desktop.submitType=\u63d0\u4ea4\u7c7b\u578b
-apps.desktop.preSubmit=\u63d0\u4ea4\u524d\u671f
+apps.desktop.info=\u684C\u9762\u8BA4\u8BC1
+apps.desktop.programPath=\u5E94\u7528\u5B89\u88C5\u8DEF\u5F84
+apps.desktop.parameter=\u5E94\u7528\u53C2\u6570
+apps.desktop.usernameType=\u7528\u6237\u7C7B\u578B
+apps.desktop.usernameParameter=\u7528\u6237\u53C2\u6570
+apps.desktop.preUsername=\u7528\u6237\u540D\u524D\u671F
+apps.desktop.passwordType=\u51ED\u8BC1\u7C7B\u578B
+apps.desktop.passwordParameter=\u51ED\u8BC1\u53C2\u6570
+apps.desktop.prePassword=\u51ED\u8BC1\u524D\u671F
+apps.desktop.submitType=\u63D0\u4EA4\u7C7B\u578B
+apps.desktop.preSubmit=\u63D0\u4EA4\u524D\u671F
 #tokenbased
-apps.tokenbased.info=\u4ee4\u724c\u8ba4\u8bc1
-apps.tokenbased.redirectUri=\u8ba4\u8bc1\u5730\u5740
-apps.tokenbased.tokenType=\u4ee4\u724c\u7c7b\u578b
-apps.tokenbased.cookieName=Cookie\u540d\u79f0
-apps.tokenbased.algorithm=\u52a0\u5bc6\u7b97\u6cd5
-apps.tokenbased.algorithmKey=\u79d8\u94a5
-apps.tokenbased.token.content=\u4ee4\u724c\u5185\u5bb9
-apps.tokenbased.expires=\u8fc7\u671f\u65f6\u95f4
+apps.tokenbased.info=\u4EE4\u724C\u8BA4\u8BC1
+apps.tokenbased.redirectUri=\u8BA4\u8BC1\u5730\u5740
+apps.tokenbased.tokenType=\u4EE4\u724C\u7C7B\u578B
+apps.tokenbased.cookieName=Cookie\u540D\u79F0
+apps.tokenbased.algorithm=\u52A0\u5BC6\u7B97\u6CD5
+apps.tokenbased.algorithmKey=\u79D8\u94A5
+apps.tokenbased.token.content=\u4EE4\u724C\u5185\u5BB9
+apps.tokenbased.expires=\u8FC7\u671F\u65F6\u95F4
 #SAML
-apps.saml.metadata.company=\u516c\u53f8
+apps.saml.metadata.company=\u516C\u53F8
 apps.saml.spAcsUrl=SP ACS Url
-apps.saml.fileType.Certificate=\u8bc1\u4e66
-apps.saml.metadata.orgDisplayName=\u7ec4\u7ec7\u540d\u79f0
-apps.saml.nameIdConvert.original=\u539f\u59cb
-apps.saml.certIssuer=\u8bc1\u4e66\u9881\u53d1\u8005
-apps.saml.metadata=SAML\u5143\u6570\u636e
-apps.saml.fileType=\u8bc1\u4e66\u7c7b\u578b
+apps.saml.fileType.Certificate=\u8BC1\u4E66
+apps.saml.metadata.orgDisplayName=\u7EC4\u7EC7\u540D\u79F0
+apps.saml.nameIdConvert.original=\u539F\u59CB
+apps.saml.certIssuer=\u8BC1\u4E66\u9881\u53D1\u8005
+apps.saml.metadata=SAML\u5143\u6570\u636E
+apps.saml.fileType=\u8BC1\u4E66\u7C7B\u578B
 apps.saml.nameIdConvert=NameId Convert
-apps.saml.target=\u76ee\u6807\u5730\u5740
-apps.saml.metadata.telephoneNumber=\u7535\u8bdd\u53f7\u7801
-apps.saml.fileType.metadata=SAML\u5143\u6570\u636e
-apps.saml.fileType.certificate=\u8bc1\u4e66
-apps.saml.metadata.givenName=\u540d
+apps.saml.target=\u76EE\u6807\u5730\u5740
+apps.saml.metadata.telephoneNumber=\u7535\u8BDD\u53F7\u7801
+apps.saml.fileType.metadata=SAML\u5143\u6570\u636E
+apps.saml.fileType.certificate=\u8BC1\u4E66
+apps.saml.metadata.givenName=\u540D
 apps.saml.issuer=Issuer
 apps.saml.nameIdConvert.upperCase=\u5927\u5199
-apps.saml.metadata.orgURL=\u7ec4\u7ec7\u7ad9\u70b9
-apps.saml.metadata.info=SAML V2.0 \u5143\u6570\u636e\u914d\u7f6e
-apps.saml.certSubject=\u8bc1\u4e66\u4e3b\u9898
-apps.saml.certMetaFile=\u8bc1\u4e66\u6587\u4ef6
-apps.saml.encrypted.no=\u4e0d\u52a0\u5bc6
+apps.saml.metadata.orgURL=\u7EC4\u7EC7\u7AD9\u70B9
+apps.saml.metadata.info=SAML V2.0 \u5143\u6570\u636E\u914D\u7F6E
+apps.saml.certSubject=\u8BC1\u4E66\u4E3B\u9898
+apps.saml.certMetaFile=\u8BC1\u4E66\u6587\u4EF6
+apps.saml.encrypted.no=\u4E0D\u52A0\u5BC6
 apps.saml.binding=Binding
-apps.saml.metadata.surName=\u59d3
+apps.saml.metadata.surName=\u59D3
 apps.saml.audience=Audience
-apps.saml.v2.0.info=SAML V20 \u8ba4\u8bc1\u914d\u7f6e
-apps.saml.metadata.contactType=\u8054\u7cfb\u7c7b\u578b
+apps.saml.v2.0.info=SAML V20 \u8BA4\u8BC1\u914D\u7F6E
+apps.saml.metadata.contactType=\u8054\u7CFB\u7C7B\u578B
 apps.saml.entityId=Entity Id
-apps.saml.nameIdConvert.lowerCase=\u5c0f\u5199
-apps.saml.metadata.orgName=\u7ec4\u7ec7
-apps.saml.certExpiration=\u8bc1\u4e66\u6709\u6548\u671f
-apps.saml.encrypted=\u52a0\u5bc6
-apps.saml.validityInterval=\u6709\u6548\u671f
-apps.saml.encrypted.yes=\u52a0\u5bc6
-apps.saml.metadata.emailAddress=\u7535\u5b50\u90ae\u7bb1
+apps.saml.nameIdConvert.lowerCase=\u5C0F\u5199
+apps.saml.metadata.orgName=\u7EC4\u7EC7
+apps.saml.certExpiration=\u8BC1\u4E66\u6709\u6548\u671F
+apps.saml.encrypted=\u52A0\u5BC6
+apps.saml.validityInterval=\u6709\u6548\u671F
+apps.saml.encrypted.yes=\u52A0\u5BC6
+apps.saml.metadata.emailAddress=\u7535\u5B50\u90AE\u7BB1
 apps.saml.nameidFormat=Nameid Format
-apps.saml.v1.1.info=SAML 1.1 \u8ba4\u8bc1\u914d\u7f6e
-apps.saml.signature=\u7b7e\u540d\u7b97\u6cd5
-apps.saml.digestMethod=\u6458\u8981\u65b9\u6cd5
+apps.saml.v1.1.info=SAML 1.1 \u8BA4\u8BC1\u914D\u7F6E
+apps.saml.signature=\u7B7E\u540D\u7B97\u6CD5
+apps.saml.digestMethod=\u6458\u8981\u65B9\u6CD5
 #oauth
-apps.oauth.approvalPrompt.force=\u5f3a\u5236
-apps.oauth.accessTokenValiditySeconds=accessToken\u6709\u6548\u671f
+apps.oauth.approvalPrompt.force=\u5F3A\u5236
+apps.oauth.accessTokenValiditySeconds=accessToken\u6709\u6548\u671F
 apps.oauth.v2.0.clientSecret=Client Secret
-apps.oauth.registeredRedirectUris=\u8ba4\u8bc1\u5730\u5740
-apps.oauth.approvalPrompt.auto=\u81ea\u52a8
-apps.oauth.refreshTokenValiditySeconds=refreshToken\u6709\u6548\u671f
-apps.oauth.scope=\u4f5c\u7528\u57df
-apps.oauth.approvalPrompt=\u8bb8\u53ef\u786e\u8ba4
-apps.oauth.v2.0.info=OAuth 2.0 \u8ba4\u8bc1\u914d\u7f6e
-apps.oauth.GrantTypes=\u6388\u6743\u65b9\u5f0f
+apps.oauth.registeredRedirectUris=\u8BA4\u8BC1\u5730\u5740
+apps.oauth.approvalPrompt.auto=\u81EA\u52A8
+apps.oauth.refreshTokenValiditySeconds=refreshToken\u6709\u6548\u671F
+apps.oauth.scope=\u4F5C\u7528\u57DF
+apps.oauth.approvalPrompt=\u8BB8\u53EF\u786E\u8BA4
+apps.oauth.v2.0.info=OAuth 2.0 \u8BA4\u8BC1\u914D\u7F6E
+apps.oauth.GrantTypes=\u6388\u6743\u65B9\u5F0F
 apps.oauth.v2.0.clientId=Client Id
-apps.oauth.connect.info=OpenID Connect \u8ba4\u8bc1\u914d\u7f6e
-apps.oauth.connect.idTokenSigningAlgorithm=idToken\u7b7e\u540d\u7b97\u6cd5
-apps.oauth.connect.userInfoSigningAlgorithm=\u7528\u6237\u7b7e\u540d\u7b97\u6cd5
+apps.oauth.connect.info=OpenID Connect \u8BA4\u8BC1\u914D\u7F6E
+apps.oauth.connect.idTokenSigningAlgorithm=idToken\u7B7E\u540D\u7B97\u6CD5
+apps.oauth.connect.userInfoSigningAlgorithm=\u7528\u6237\u7B7E\u540D\u7B97\u6CD5
 apps.oauth.connect.jwksUri=JWKS\u5730\u5740
-apps.oauth.connect.idTokenEncryptedAlgorithm=idToken\u52a0\u5bc6\u7b97\u6cd5
-apps.oauth.connect.userInfoEncryptedAlgorithm=\u7528\u6237\u52a0\u5bc6\u7b97\u6cd5
-apps.oauth.connect.idTokenEncryptionMethod=idToken\u52a0\u5bc6\u65b9\u6cd5
-apps.oauth.connect.userInfoEncryptionMethod=\u7528\u6237\u52a0\u5bc6\u65b9\u6cd5
+apps.oauth.connect.idTokenEncryptedAlgorithm=idToken\u52A0\u5BC6\u7B97\u6CD5
+apps.oauth.connect.userInfoEncryptedAlgorithm=\u7528\u6237\u52A0\u5BC6\u7B97\u6CD5
+apps.oauth.connect.idTokenEncryptionMethod=idToken\u52A0\u5BC6\u65B9\u6CD5
+apps.oauth.connect.userInfoEncryptionMethod=\u7528\u6237\u52A0\u5BC6\u65B9\u6CD5
 
 #group
-group.id=\u7ec4\u7f16\u7801
-group.name=\u7528\u6237\u7ec4
+group.id=\u7EC4\u7F16\u7801
+group.name=\u7528\u6237\u7EC4
 
 #role
-role.id=\u89d2\u8272\u7f16\u7801
-role.name=\u89d2\u8272
+role.id=\u89D2\u8272\u7F16\u7801
+role.name=\u89D2\u8272
 
-resource.id=\u8d44\u6e90\u7f16\u7801
-resource.name=\u8d44\u6e90\u540d\u79f0
-resource.parentId=\u7236\u7ea7\u7f16\u7801
-resource.parentName=\u7236\u7ea7\u540d\u79f0
-resource.resourceType=\u8d44\u6e90\u7c7b\u578b
-resource.resourceType.Menu=\u83dc\u5355
-resource.resourceType.Element=\u5143\u7d20
-resource.resourceType.Button=\u6309\u94ae
-resource.resourceType.Module=\u6a21\u5757
-resource.resourceType.File=\u6587\u4ef6
-resource.resourceType.Data=\u6570\u636e
-resource.resourceType.Other=\u5176\u4ed6
-resource.resourceIcon=\u56fe\u6807
-resource.resourceUrl=\u8d44\u6e90\u5730\u5740
-resource.resourceAction=\u52a8\u4f5c
-resource.resourceStyle=\u6837\u5f0f
+resource.id=\u8D44\u6E90\u7F16\u7801
+resource.name=\u8D44\u6E90\u540D\u79F0
+resource.parentId=\u7236\u7EA7\u7F16\u7801
+resource.parentName=\u7236\u7EA7\u540D\u79F0
+resource.resourceType=\u8D44\u6E90\u7C7B\u578B
+resource.resourceType.Menu=\u83DC\u5355
+resource.resourceType.Element=\u5143\u7D20
+resource.resourceType.Button=\u6309\u94AE
+resource.resourceType.Module=\u6A21\u5757
+resource.resourceType.File=\u6587\u4EF6
+resource.resourceType.Data=\u6570\u636E
+resource.resourceType.Other=\u5176\u4ED6
+resource.resourceIcon=\u56FE\u6807
+resource.resourceUrl=\u8D44\u6E90\u5730\u5740
+resource.resourceAction=\u52A8\u4F5C
+resource.resourceStyle=\u6837\u5F0F
 
 #account
-account.username=\u7528\u6237\u540d
-account.displayName=\u7528\u6237\u59d3\u540d
-account.appId=\u5e94\u7528\u7f16\u53f7
-account.appName=\u5e94\u7528\u540d\u79f0
-account.relatedUsername=\u7528\u6237\u8d26\u53f7
-account.relatedPassword=\u8d26\u53f7\u5bc6\u7801
+account.username=\u7528\u6237\u540D
+account.displayName=\u7528\u6237\u59D3\u540D
+account.appId=\u5E94\u7528\u7F16\u53F7
+account.appName=\u5E94\u7528\u540D\u79F0
+account.relatedUsername=\u7528\u6237\u8D26\u53F7
+account.relatedPassword=\u8D26\u53F7\u5BC6\u7801
  
-button.text.action=\u8bbf\u95ee
-button.text.visit=\u8bbf\u95ee
-button.text.save=\u4fdd\u5b58
-button.text.close=\u5173\u95ed
-button.text.add=\u65b0\u589e
-button.text.edit=\u7f16\u8f91
+button.text.action=\u8BBF\u95EE
+button.text.visit=\u8BBF\u95EE
+button.text.save=\u4FDD\u5B58
+button.text.close=\u5173\u95ED
+button.text.add=\u65B0\u589E
+button.text.edit=\u7F16\u8F91
 button.text.delete=\u5220\u9664
-button.text.select=\u8bf7\u9009\u62e9
-button.text.search=\u67e5\u8be2
-button.text.expandsearch=\u5c55\u5f00
-button.text.collapsesearch=\u6536\u7f29
-button.text.cancel=\u53d6\u6d88
-button.text.add.member=\u65b0\u589e\u6210\u5458
+button.text.select=\u8BF7\u9009\u62E9
+button.text.search=\u67E5\u8BE2
+button.text.expandsearch=\u5C55\u5F00
+button.text.collapsesearch=\u6536\u7F29
+button.text.cancel=\u53D6\u6D88
+button.text.add.member=\u65B0\u589E\u6210\u5458
 button.text.delete.member=\u5220\u9664\u6210\u5458
-button.text.generate=\u751f\u6210
-button.text.view=\u67e5\u770b
-button.text.hidden=\u9690\u85cf
+button.text.generate=\u751F\u6210
+button.text.view=\u67E5\u770B
+button.text.hidden=\u9690\u85CF
 
-log.loginhistory.id=\u7f16\u53f7
-log.loginhistory.sessionId=\u4f1a\u8bdd
-log.loginhistory.username=\u767b\u5f55\u540d
-log.loginhistory.displayName=\u7528\u6237\u540d\u79f0
-log.loginhistory.provider=\u63d0\u4f9b\u5546
-log.loginhistory.message=\u72b6\u6001
-log.loginhistory.loginType=\u767b\u5f55\u65b9\u5f0f
-log.loginhistory.sourceIp=\u8bbf\u95ee\u5730\u5740
-log.loginhistory.browser=\u6d4f\u89c8\u5668
-log.loginhistory.loginTime=\u767b\u5f55\u65f6\u95f4
-log.loginhistory.logoutTime=\u9000\u51fa\u65f6\u95f4
-log.loginhistory.platform=\u5e73\u53f0
-log.loginhistory.application=\u5e94\u7528
-log.loginhistory.loginUrl=\u767b\u5f55\u5730\u5740
-log.loginhistory.code=\u4ee3\u7801
-log.loginhistory.rpUserInfo=\u7b2c\u4e09\u65b9
+log.loginhistory.id=\u7F16\u53F7
+log.loginhistory.sessionId=\u4F1A\u8BDD
+log.loginhistory.username=\u767B\u5F55\u540D
+log.loginhistory.displayName=\u7528\u6237\u540D\u79F0
+log.loginhistory.provider=\u63D0\u4F9B\u5546
+log.loginhistory.message=\u72B6\u6001
+log.loginhistory.loginType=\u767B\u5F55\u65B9\u5F0F
+log.loginhistory.sourceIp=\u8BBF\u95EE\u5730\u5740
+log.loginhistory.browser=\u6D4F\u89C8\u5668
+log.loginhistory.loginTime=\u767B\u5F55\u65F6\u95F4
+log.loginhistory.logoutTime=\u9000\u51FA\u65F6\u95F4
+log.loginhistory.platform=\u5E73\u53F0
+log.loginhistory.application=\u5E94\u7528
+log.loginhistory.loginUrl=\u767B\u5F55\u5730\u5740
+log.loginhistory.code=\u4EE3\u7801
+log.loginhistory.rpUserInfo=\u7B2C\u4E09\u65B9
 
-log.loginappshistory.id=\u7f16\u53f7
-log.loginappshistory.sessionId=\u4f1a\u8bdd
-log.loginappshistory.uid=\u7528\u6237\u7f16\u53f7
-log.loginappshistory.username=\u767b\u5f55\u540d
-log.loginappshistory.displayName=\u7528\u6237\u540d
-log.loginappshistory.appId=\u5e94\u7528\u7f16\u53f7
-log.loginappshistory.appName=\u5e94\u7528\u540d\u79f0
-log.loginappshistory.loginTime=\u767b\u5f55\u65f6\u95f4
+log.loginappshistory.id=\u7F16\u53F7
+log.loginappshistory.sessionId=\u4F1A\u8BDD
+log.loginappshistory.uid=\u7528\u6237\u7F16\u53F7
+log.loginappshistory.username=\u767B\u5F55\u540D
+log.loginappshistory.displayName=\u7528\u6237\u540D
+log.loginappshistory.appId=\u5E94\u7528\u7F16\u53F7
+log.loginappshistory.appName=\u5E94\u7528\u540D\u79F0
+log.loginappshistory.loginTime=\u767B\u5F55\u65F6\u95F4
 
-log.operate.servicename=\u670d\u52a1
-log.operate.message=\u6d88\u606f
-log.operate.content=\u5185\u5bb9
-log.operate.messageType=\u6d88\u606f\u7c7b\u578b
-log.operate.operateType=\u64cd\u4f5c\u7c7b\u578b
-log.operate.username=\u64cd\u4f5c\u4eba
+log.operate.servicename=\u670D\u52A1
+log.operate.message=\u6D88\u606F
+log.operate.content=\u5185\u5BB9
+log.operate.messageType=\u6D88\u606F\u7C7B\u578B
+log.operate.operateType=\u64CD\u4F5C\u7C7B\u578B
+log.operate.username=\u64CD\u4F5C\u4EBA
 
-message.action.insert.success=\u65b0\u589e\u64cd\u4f5c\u6210\u529f
-message.action.insert.error=\u65b0\u589e\u64cd\u4f5c\u5931\u8d25
-message.action.update.success=\u66f4\u65b0\u64cd\u4f5c\u6210\u529f
-message.action.update.error=\u66f4\u65b0\u64cd\u4f5c\u5931\u8d25
-message.action.delete.success=\u5220\u9664\u64cd\u4f5c\u6210\u529f
-message.action.delete.error=\u5220\u9664\u64cd\u4f5c\u5931\u8d25
+message.action.insert.success=\u65B0\u589E\u64CD\u4F5C\u6210\u529F
+message.action.insert.error=\u65B0\u589E\u64CD\u4F5C\u5931\u8D25
+message.action.update.success=\u66F4\u65B0\u64CD\u4F5C\u6210\u529F
+message.action.update.error=\u66F4\u65B0\u64CD\u4F5C\u5931\u8D25
+message.action.delete.success=\u5220\u9664\u64CD\u4F5C\u6210\u529F
+message.action.delete.error=\u5220\u9664\u64CD\u4F5C\u5931\u8D25
 
-navs.system=\u7cfb\u7edf
+navs.system=\u7CFB\u7EDF
 navs.home=\u9996\u9875
-navs.orgs=\u673a\u6784\u7ba1\u7406
-navs.users=\u7528\u6237\u7ba1\u7406
-navs.apps=\u5e94\u7528\u7ba1\u7406
-navs.accounts=\u8d26\u53f7\u7ba1\u7406
-navs.groups=\u7ec4\u7ba1\u7406
-navs.groups.member=\u6210\u5458\u7ba1\u7406
-navs.groups.privileges=\u8bbf\u95ee\u6743\u9650\u7ba1\u7406
-navs.conf=\u914d\u7f6e\u7ba1\u7406
-navs.conf.passwordpolicy=\u5bc6\u7801\u7b56\u7565
-navs.audit=\u65e5\u5fd7\u5ba1\u8ba1
-navs.audit.login=\u767b\u5f55\u65e5\u5fd7
-navs.audit.loginapps=\u8bbf\u95ee\u65e5\u5fd7
-navs.audit.operate=\u64cd\u4f5c\u65e5\u5fd7
-navs.roles=\u89d2\u8272\u7ba1\u7406
-navs.role.member=\u89d2\u8272\u7528\u6237
-navs.role.permissions=\u89d2\u8272\u6743\u9650\u7ba1\u7406
-navs.resources=\u8d44\u6e90\u7ba1\u7406
+navs.orgs=\u673A\u6784\u7BA1\u7406
+navs.users=\u7528\u6237\u7BA1\u7406
+navs.apps=\u5E94\u7528\u7BA1\u7406
+navs.accounts=\u8D26\u53F7\u7BA1\u7406
+navs.groups=\u7EC4\u7BA1\u7406
+navs.groups.member=\u6210\u5458\u7BA1\u7406
+navs.groups.privileges=\u8BBF\u95EE\u6743\u9650\u7BA1\u7406
+navs.conf=\u914D\u7F6E\u7BA1\u7406
+navs.conf.passwordpolicy=\u5BC6\u7801\u7B56\u7565
+navs.audit=\u65E5\u5FD7\u5BA1\u8BA1
+navs.audit.login=\u767B\u5F55\u65E5\u5FD7
+navs.audit.loginapps=\u8BBF\u95EE\u65E5\u5FD7
+navs.audit.operate=\u64CD\u4F5C\u65E5\u5FD7
+navs.roles=\u89D2\u8272\u7BA1\u7406
+navs.role.member=\u89D2\u8272\u7528\u6237
+navs.role.permissions=\u89D2\u8272\u6743\u9650\u7BA1\u7406
+navs.resources=\u8D44\u6E90\u7BA1\u7406

+ 6 - 1
maxkey-web-manage/src/main/resources/messages/message_en.properties

@@ -2,7 +2,7 @@ global.title=MaxKey Secure Management
 global.application=Max<span style="color: #FFD700;">Key</span> Secure Management
 global.change.language=Language
 global.change.language.en=English
-global.change.language.zh=\u4e2d\u6587
+global.change.language.zh=\u4E2D\u6587
 global.text.welcome=Welcome
 global.text.manage=Manage
 global.text.copyright=CopyRight
@@ -192,6 +192,11 @@ userinfo.homeFax=homeFax
 userinfo.homePhoneNumber=homePhoneNumber
 userinfo.homeEmail=homeEmail
 userinfo.ims=IMS
+userinfo.status=userStatus
+userinfo.status.active=active
+userinfo.status.withdrawn=withdrawn
+userinfo.status.inactive=inactive
+userinfo.status.retiree=retiree
 
 userinfo.authnType=AuthenticationType
 userinfo.authnType.authnType.1=General login

+ 435 - 430
maxkey-web-manage/src/main/resources/messages/message_zh_CN.properties

@@ -1,504 +1,509 @@
-global.title=MaxKey\u8eab\u4efd\u5b89\u5168\u7ba1\u7406\u7cfb\u7edf
-global.application=Max<span style="color: #FFD700;">Key</span>\u8eab\u4efd\u5b89\u5168\u7ba1\u7406\u7cfb\u7edf
-global.change.language=\u8bed\u8a00\u9009\u62e9
+global.title=MaxKey\u8EAB\u4EFD\u5B89\u5168\u7BA1\u7406\u7CFB\u7EDF
+global.application=Max<span style="color: #FFD700;">Key</span>\u8EAB\u4EFD\u5B89\u5168\u7BA1\u7406\u7CFB\u7EDF
+global.change.language=\u8BED\u8A00\u9009\u62E9
 global.change.language.en=English
-global.change.language.zh=\u4e2d\u6587
-global.text.welcome=\u6b22\u8fce\u60a8
-global.text.manage=\u7ba1\u7406
+global.change.language.zh=\u4E2D\u6587
+global.text.welcome=\u6B22\u8FCE\u60A8
+global.text.manage=\u7BA1\u7406
 global.text.copyright=\u7248\u6743\u6240\u6709
 global.text.copyright.content=Copyright 2018-2020 
 global.text.copyright.license=Licensed under the Apache License, Version 2.0
-global.text.logout=\u9000\u51fa
-global.logout.tip=\u6ce8\u9500\u6210\u529f
-global.logout.text.suffix=\u91cd\u65b0\u767b\u5f55
-global.logout.text.prefix=\u60a8\u5df2\u7ecf\u6210\u529f\u9000\u51fa\u767b\u5f55\uff0c\u8bf7\u5173\u95ed\u6d4f\u89c8\u5668\u6216\u8005
-login.session.timeout.tip=\u767b\u5f55\u4f1a\u8bdd\u8d85\u65f6
-login.session.timeout.prefix=\u60a8\u7684\u767b\u5f55\u4f1a\u8bdd\u5df2\u7ecf\u8d85\u65f6\uff0c\u8bf7
-login.session.timeout.suffix=\u91cd\u65b0\u767b\u5f55
+global.text.logout=\u9000\u51FA
+global.logout.tip=\u6CE8\u9500\u6210\u529F
+global.logout.text.suffix=\u91CD\u65B0\u767B\u5F55
+global.logout.text.prefix=\u60A8\u5DF2\u7ECF\u6210\u529F\u9000\u51FA\u767B\u5F55\uFF0C\u8BF7\u5173\u95ED\u6D4F\u89C8\u5668\u6216\u8005
+login.session.timeout.tip=\u767B\u5F55\u4F1A\u8BDD\u8D85\u65F6
+login.session.timeout.prefix=\u60A8\u7684\u767B\u5F55\u4F1A\u8BDD\u5DF2\u7ECF\u8D85\u65F6\uFF0C\u8BF7
+login.session.timeout.suffix=\u91CD\u65B0\u767B\u5F55
 
-common.window.title=\u7a97\u53e3
-common.alert.title=\u63d0\u793a\u4fe1\u606f
-common.alert.closeText=\u5173\u95ed
-common.conform.title=\u786e\u8ba4\u63d0\u793a
-common.conform.yes=\u786e\u5b9a
-common.conform.no=\u5173\u95ed
-common.select.hintText=\u8bf7\u9009\u62e9\u60a8\u8981\u64cd\u4f5c\u7684\u6570\u636e
-common.delete.hintText=\u60a8\u786e\u5b9a\u8981\u5220\u9664\u5417?
-common.grid.loadtext=\u6b63\u5728\u52a0\u8f7d...
-common.grid.loadnodata=\u6ca1\u6709\u67e5\u8be2\u5230\u7b26\u5408\u6570\u636e
-common.submit.hintText=\u60a8\u786e\u5b9a\u8981\u8fdb\u884c\u6b64\u9879\u64cd\u4f5c\u5417?
-common.submit.errorText=\u6267\u884c\u64cd\u4f5c\u5931\u8d25
-common.text.startdate=\u5f00\u59cb\u65f6\u95f4
-common.text.enddate=\u7ed3\u675f\u65f6\u95f4
-common.text.createdby=\u521b\u5efa\u4eba
-common.text.createddate=\u521b\u5efa\u65f6\u95f4
-common.text.modifiedby=\u4fee\u6539\u4eba
-common.text.modifieddate=\u4fee\u6539\u65f6\u95f4
-common.text.sortindex=\u6392\u5e8f
-common.text.status.start=\u5f00\u59cb
-common.text.status.normal=\u6b63\u5e38
+common.window.title=\u7A97\u53E3
+common.alert.title=\u63D0\u793A\u4FE1\u606F
+common.alert.closeText=\u5173\u95ED
+common.conform.title=\u786E\u8BA4\u63D0\u793A
+common.conform.yes=\u786E\u5B9A
+common.conform.no=\u5173\u95ED
+common.select.hintText=\u8BF7\u9009\u62E9\u60A8\u8981\u64CD\u4F5C\u7684\u6570\u636E
+common.delete.hintText=\u60A8\u786E\u5B9A\u8981\u5220\u9664\u5417?
+common.grid.loadtext=\u6B63\u5728\u52A0\u8F7D...
+common.grid.loadnodata=\u6CA1\u6709\u67E5\u8BE2\u5230\u7B26\u5408\u6570\u636E
+common.submit.hintText=\u60A8\u786E\u5B9A\u8981\u8FDB\u884C\u6B64\u9879\u64CD\u4F5C\u5417?
+common.submit.errorText=\u6267\u884C\u64CD\u4F5C\u5931\u8D25
+common.text.startdate=\u5F00\u59CB\u65F6\u95F4
+common.text.enddate=\u7ED3\u675F\u65F6\u95F4
+common.text.createdby=\u521B\u5EFA\u4EBA
+common.text.createddate=\u521B\u5EFA\u65F6\u95F4
+common.text.modifiedby=\u4FEE\u6539\u4EBA
+common.text.modifieddate=\u4FEE\u6539\u65F6\u95F4
+common.text.sortindex=\u6392\u5E8F
+common.text.status.start=\u5F00\u59CB
+common.text.status.normal=\u6B63\u5E38
 common.text.status.validated=\u6709\u6548
-common.text.status.inactive=\u4e0d\u6d3b\u52a8
-common.text.status.activate=\u6d3b\u52a8
-common.text.status.approved=\u6279\u51c6
-common.text.status.stop=\u505c\u6b62
-common.text.status.enabled=\u542f\u7528
-common.text.status.disabled=\u505c\u7528
-common.text.status.lock=\u9501\u5b9a
-common.text.status.unlock=\u89e3\u9501
-common.text.status.invalid=\u65e0\u6548
-common.text.status.expired=\u8fc7\u671f
+common.text.status.inactive=\u4E0D\u6D3B\u52A8
+common.text.status.activate=\u6D3B\u52A8
+common.text.status.approved=\u6279\u51C6
+common.text.status.stop=\u505C\u6B62
+common.text.status.enabled=\u542F\u7528
+common.text.status.disabled=\u505C\u7528
+common.text.status.lock=\u9501\u5B9A
+common.text.status.unlock=\u89E3\u9501
+common.text.status.invalid=\u65E0\u6548
+common.text.status.expired=\u8FC7\u671F
 common.text.status.delete=\u5220\u9664
-common.text.description=\u63cf\u8ff0
+common.text.description=\u63CF\u8FF0
 
-main.rpt.newuser=\u5f53\u6708\u65b0\u7528\u6237
-main.rpt.activeuser=\u672c\u6708\u6d3b\u8dc3\u7528\u6237
-main.rpt.onlineuser=\u7528\u6237\u5728\u7ebf
-main.rpt.daycount=\u5f53\u5929\u8bbf\u95ee\u91cf
-main.rpt.dayhour=\u5f53\u5929\u8bbf\u95ee\u60c5\u51b5
-main.rpt.month=30\u5929\u8bbf\u95ee\u60c5\u51b5
-main.rpt.count=\u8bbf\u95ee\u91cf
-main.rpt.appaccess=30\u5929\u5e94\u7528\u8bbf\u95ee\u7edf\u8ba1
-main.rpt.app=\u5e94\u7528\u540d\u79f0
-main.rpt.browseraccess=30\u5929\u6d4f\u89c8\u5668\u7edf\u8ba1	
-main.rpt.browser=\u6d4f\u89c8\u5668
+main.rpt.newuser=\u5F53\u6708\u65B0\u7528\u6237
+main.rpt.activeuser=\u672C\u6708\u6D3B\u8DC3\u7528\u6237
+main.rpt.onlineuser=\u7528\u6237\u5728\u7EBF
+main.rpt.daycount=\u5F53\u5929\u8BBF\u95EE\u91CF
+main.rpt.dayhour=\u5F53\u5929\u8BBF\u95EE\u60C5\u51B5
+main.rpt.month=30\u5929\u8BBF\u95EE\u60C5\u51B5
+main.rpt.count=\u8BBF\u95EE\u91CF
+main.rpt.appaccess=30\u5929\u5E94\u7528\u8BBF\u95EE\u7EDF\u8BA1
+main.rpt.app=\u5E94\u7528\u540D\u79F0
+main.rpt.browseraccess=30\u5929\u6D4F\u89C8\u5668\u7EDF\u8BA1	
+main.rpt.browser=\u6D4F\u89C8\u5668
 
-login.text.login.twofactor.obtain.valid=\u91cd\u65b0\u83b7\u53d6
-login.text.login.twofactor.obtain=\u83b7\u53d6\u52a8\u6001\u9a8c\u8bc1\u7801
-login.text.login.twofactor.obtain.valid.unit=\u79d2
-login.text.login.twofactor.validTime=\u5269\u4f59\u65f6\u95f4
-login.text.login.twofactor.validTime.unit=\u79d2
-login.text.login.twofactor=\u5b89\u5168\u8ba4\u8bc1
-login.text.login.normal=\u7528\u6237\u8ba4\u8bc1
-login.text.username=\u7528\u6237\u540d
-login.text.password=\u5bc6&nbsp;&nbsp;&nbsp;&nbsp;\u7801
-login.text.captcha=\u9a8c\u8bc1\u7801
-login.text.remeberme=\u8bb0\u4f4f\u767b\u5f55
-login.text.forgotpassword=\u5fd8\u8bb0\u5bc6\u7801
-login.button.login=\u767b\u5f55
-login.text.currenttime=\u65f6&nbsp;&nbsp;&nbsp;&nbsp;\u95f4
-login.text.otherlogins=\u5176\u4ed6\u767b\u5f55\u65b9\u5f0f
-login.text.register=\u7528\u6237\u6ce8\u518c
+login.text.login.twofactor.obtain.valid=\u91CD\u65B0\u83B7\u53D6
+login.text.login.twofactor.obtain=\u83B7\u53D6\u52A8\u6001\u9A8C\u8BC1\u7801
+login.text.login.twofactor.obtain.valid.unit=\u79D2
+login.text.login.twofactor.validTime=\u5269\u4F59\u65F6\u95F4
+login.text.login.twofactor.validTime.unit=\u79D2
+login.text.login.twofactor=\u5B89\u5168\u8BA4\u8BC1
+login.text.login.normal=\u7528\u6237\u8BA4\u8BC1
+login.text.username=\u7528\u6237\u540D
+login.text.password=\u5BC6&nbsp;&nbsp;&nbsp;&nbsp;\u7801
+login.text.captcha=\u9A8C\u8BC1\u7801
+login.text.remeberme=\u8BB0\u4F4F\u767B\u5F55
+login.text.forgotpassword=\u5FD8\u8BB0\u5BC6\u7801
+login.button.login=\u767B\u5F55
+login.text.currenttime=\u65F6&nbsp;&nbsp;&nbsp;&nbsp;\u95F4
+login.text.otherlogins=\u5176\u4ED6\u767B\u5F55\u65B9\u5F0F
+login.text.register=\u7528\u6237\u6CE8\u518C
 
-login.password.expired=\u5bc6\u7801\u8fc7\u671f
-login.password.expired.tip=\u5bc6\u7801\u8fc7\u671f\uff0c\u8bf7\u4fee\u6539\u5bc6\u7801
-login.password.oldPassword=\u539f\u5bc6\u7801
-login.password.newPassword=\u65b0\u5bc6\u7801
-login.password.confirmPassword=\u786e\u8ba4\u65b0\u5bc6\u7801
-login.password.initial.change.tip=\u9996\u6b21\u767b\u5f55\uff0c\u8bf7\u4fee\u6539\u521d\u59cb\u5316\u5bc6\u7801
-login.password.changepassword=\u5bc6\u7801\u4fee\u6539
-login.password.applogin.changepassword=\u5e94\u7528\u767b\u5f55\u5bc6\u7801\u8bbe\u7f6e
+login.password.expired=\u5BC6\u7801\u8FC7\u671F
+login.password.expired.tip=\u5BC6\u7801\u8FC7\u671F\uFF0C\u8BF7\u4FEE\u6539\u5BC6\u7801
+login.password.oldPassword=\u539F\u5BC6\u7801
+login.password.newPassword=\u65B0\u5BC6\u7801
+login.password.confirmPassword=\u786E\u8BA4\u65B0\u5BC6\u7801
+login.password.initial.change.tip=\u9996\u6B21\u767B\u5F55\uFF0C\u8BF7\u4FEE\u6539\u521D\u59CB\u5316\u5BC6\u7801
+login.password.changepassword=\u5BC6\u7801\u4FEE\u6539
+login.password.applogin.changepassword=\u5E94\u7528\u767B\u5F55\u5BC6\u7801\u8BBE\u7F6E
 
-login.passwordpolicy=\u5bc6\u7801\u7b56\u7565
-login.passwordpolicy.minlength=\u6700\u5c0f\u957f\u5ea6
-login.passwordpolicy.maxlength=\u6700\u5927\u957f\u5ea6
-login.passwordpolicy.lowercase=\u5305\u542b\u5c0f\u5199\u5b57\u6bcd
-login.passwordpolicy.uppercase=\u5305\u542b\u5927\u5199\u5b57\u6bcd
-login.passwordpolicy.digits=\u5305\u542b\u6570\u5b57
-login.passwordpolicy.specialchar=\u7279\u6b8a\u5b57\u7b26
-login.passwordpolicy.attempts=\u767b\u5f55\u5c1d\u8bd5\u6b21\u6570
-login.passwordpolicy.duration=\u81ea\u52a8\u89e3\u9664
-login.passwordpolicy.expiration=\u8fc7\u671f\u65f6\u95f4
-login.passwordpolicy.username=\u5305\u542b\u7528\u6237\u540d
-login.passwordpolicy.dictionary=\u7b80\u5355\u5bc6\u7801\u5b57\u5178
-login.passwordpolicy.history=\u5386\u53f2\u5bc6\u7801\u6b21\u6570
-login.passwordpolicy.alphabetical=\u5b57\u6bcd\u5e8f\u5217\u7b56\u7565
-login.passwordpolicy.numerical=\u6570\u5b57\u5e8f\u5217\u7b56\u7565
-login.passwordpolicy.qwerty=\u952e\u76d8\u7b56\u7565
-login.passwordpolicy.occurances=\u5b57\u7b26\u91cd\u590d\u6b21\u6570
+login.passwordpolicy=\u5BC6\u7801\u7B56\u7565
+login.passwordpolicy.minlength=\u6700\u5C0F\u957F\u5EA6
+login.passwordpolicy.maxlength=\u6700\u5927\u957F\u5EA6
+login.passwordpolicy.lowercase=\u5305\u542B\u5C0F\u5199\u5B57\u6BCD
+login.passwordpolicy.uppercase=\u5305\u542B\u5927\u5199\u5B57\u6BCD
+login.passwordpolicy.digits=\u5305\u542B\u6570\u5B57
+login.passwordpolicy.specialchar=\u7279\u6B8A\u5B57\u7B26
+login.passwordpolicy.attempts=\u767B\u5F55\u5C1D\u8BD5\u6B21\u6570
+login.passwordpolicy.duration=\u81EA\u52A8\u89E3\u9664
+login.passwordpolicy.expiration=\u8FC7\u671F\u65F6\u95F4
+login.passwordpolicy.username=\u5305\u542B\u7528\u6237\u540D
+login.passwordpolicy.dictionary=\u7B80\u5355\u5BC6\u7801\u5B57\u5178
+login.passwordpolicy.history=\u5386\u53F2\u5BC6\u7801\u6B21\u6570
+login.passwordpolicy.alphabetical=\u5B57\u6BCD\u5E8F\u5217\u7B56\u7565
+login.passwordpolicy.numerical=\u6570\u5B57\u5E8F\u5217\u7B56\u7565
+login.passwordpolicy.qwerty=\u952E\u76D8\u7B56\u7565
+login.passwordpolicy.occurances=\u5B57\u7B26\u91CD\u590D\u6B21\u6570
 
 
-login.social.link=\u7ed1\u5b9a
-login.social.unlink=\u89e3\u9664
-login.social.icon=\u56fe\u6807
-login.social.provider=\u4f9b\u5e94\u5546
+login.social.link=\u7ED1\u5B9A
+login.social.unlink=\u89E3\u9664
+login.social.icon=\u56FE\u6807
+login.social.provider=\u4F9B\u5E94\u5546
 
 #
-userinfo.id=\u7528\u6237\u7f16\u53f7
-userinfo.tab.basic=\u57fa\u672c\u4fe1\u606f
-userinfo.tab.business=\u673a\u6784\u4fe1\u606f
-userinfo.tab.personal=\u4e2a\u4eba\u4fe1\u606f
-userinfo.tab.extra=\u6269\u5c55\u4fe1\u606f
+userinfo.id=\u7528\u6237\u7F16\u53F7
+userinfo.tab.basic=\u57FA\u672C\u4FE1\u606F
+userinfo.tab.business=\u673A\u6784\u4FE1\u606F
+userinfo.tab.personal=\u4E2A\u4EBA\u4FE1\u606F
+userinfo.tab.extra=\u6269\u5C55\u4FE1\u606F
 
-userinfo.displayName=\u7528\u6237\u540d
-userinfo.username=\u767b\u5f55\u8d26\u53f7
-userinfo.email=\u90ae\u7bb1\u5730\u5740
-userinfo.mobile=\u624b\u673a\u53f7\u7801
-userinfo.userType=\u7528\u6237\u7c7b\u578b
-userinfo.userType.employee=\u5185\u90e8\u5458\u5de5
-userinfo.userType.contractor=\u627f\u5305\u5546
-userinfo.userType.customer=\u5ba2\u6237
-userinfo.userType.supplier=\u4f9b\u5e94\u5546
-userinfo.userType.partner=\u5408\u4f5c\u4f19\u4f34
-userinfo.userType.external=\u5916\u90e8\u7528\u6237
-userinfo.userType.intern=\u5b9e\u4e60\u751f
-userinfo.userType.temp=\u4e34\u65f6\u7528\u6237
-userinfo.userType.dealer=\u7ecf\u9500\u5546
+userinfo.displayName=\u7528\u6237\u540D
+userinfo.username=\u767B\u5F55\u8D26\u53F7
+userinfo.email=\u90AE\u7BB1\u5730\u5740
+userinfo.mobile=\u624B\u673A\u53F7\u7801
+userinfo.userType=\u7528\u6237\u7C7B\u578B
+userinfo.userType.employee=\u5185\u90E8\u5458\u5DE5
+userinfo.userType.contractor=\u627F\u5305\u5546
+userinfo.userType.customer=\u5BA2\u6237
+userinfo.userType.supplier=\u4F9B\u5E94\u5546
+userinfo.userType.partner=\u5408\u4F5C\u4F19\u4F34
+userinfo.userType.external=\u5916\u90E8\u7528\u6237
+userinfo.userType.intern=\u5B9E\u4E60\u751F
+userinfo.userType.temp=\u4E34\u65F6\u7528\u6237
+userinfo.userType.dealer=\u7ECF\u9500\u5546
 
-userinfo.picture=\u5934\u50cf
-userinfo.familyName=\u59d3
-userinfo.givenName=\u540d
-userinfo.middleName=\u4e2d\u95f4\u540d
-userinfo.nickName=\u6635\u79f0
-userinfo.gender=\u6027\u522b
+userinfo.picture=\u5934\u50CF
+userinfo.familyName=\u59D3
+userinfo.givenName=\u540D
+userinfo.middleName=\u4E2D\u95F4\u540D
+userinfo.nickName=\u6635\u79F0
+userinfo.gender=\u6027\u522B
 userinfo.gender.female=\u5973
 userinfo.gender.male=\u7537
-userinfo.married=\u5a5a\u59fb\u72b6\u6001
-userinfo.married.unknown=\u672a\u77e5
-userinfo.married.single=\u5355\u8eab
-userinfo.married.married=\u5df2\u5a5a
-userinfo.married.divorce=\u79bb\u5f02
-userinfo.married.widowed=\u4e27\u5076
-userinfo.website=\u4e2a\u4eba\u4e3b\u9875
-userinfo.birthDate=\u51fa\u751f\u65e5\u671f
-userinfo.idtype=\u8bc1\u4ef6\u7c7b\u578b
-userinfo.idtype.unknown=\u672a\u77e5
-userinfo.idtype.idcard=\u8eab\u4efd\u8bc1
-userinfo.idtype.passport=\u62a4\u7167
-userinfo.idtype.studentcard=\u5b66\u751f\u8bc1
-userinfo.idtype.militarycard=\u519b\u4eba\u8bc1
-userinfo.idCardNo=\u8bc1\u4ef6\u53f7\u7801
-userinfo.startWorkDate=\u5de5\u4f5c\u5f00\u59cb\u65f6\u95f4
-userinfo.preferredLanguage=\u8bed\u97f3\u504f\u597d
-userinfo.timeZone=\u65f6\u533a
-userinfo.locale=\u8bed\u8a00\u9009\u62e9
-userinfo.employeeNumber=\u5458\u5de5\u7f16\u53f7
-userinfo.windowsAccount=AD\u57df\u8d26\u53f7
-userinfo.organization=\u6240\u5c5e\u673a\u6784
-userinfo.division=\u5206\u652f\u673a\u6784
-userinfo.department=\u90e8\u95e8\u540d\u79f0
-userinfo.departmentId=\u90e8\u95e8\u7f16\u53f7
-userinfo.costCenter=\u6210\u672c\u4e2d\u5fc3
-userinfo.jobTitle=\u804c\u4f4d
-userinfo.jobLevel=\u7ea7\u522b
-userinfo.manager=\u4e0a\u7ea7\u7ecf\u7406
-userinfo.assistant=\u52a9\u7406
-userinfo.entryDate=\u5165\u804c\u65f6\u95f4
-userinfo.quitDate=\u79bb\u804c\u65f6\u95f4
-userinfo.workCountry=\u56fd\u5bb6
+userinfo.married=\u5A5A\u59FB\u72B6\u6001
+userinfo.married.unknown=\u672A\u77E5
+userinfo.married.single=\u5355\u8EAB
+userinfo.married.married=\u5DF2\u5A5A
+userinfo.married.divorce=\u79BB\u5F02
+userinfo.married.widowed=\u4E27\u5076
+userinfo.website=\u4E2A\u4EBA\u4E3B\u9875
+userinfo.birthDate=\u51FA\u751F\u65E5\u671F
+userinfo.idtype=\u8BC1\u4EF6\u7C7B\u578B
+userinfo.idtype.unknown=\u672A\u77E5
+userinfo.idtype.idcard=\u8EAB\u4EFD\u8BC1
+userinfo.idtype.passport=\u62A4\u7167
+userinfo.idtype.studentcard=\u5B66\u751F\u8BC1
+userinfo.idtype.militarycard=\u519B\u4EBA\u8BC1
+userinfo.idCardNo=\u8BC1\u4EF6\u53F7\u7801
+userinfo.startWorkDate=\u5DE5\u4F5C\u5F00\u59CB\u65F6\u95F4
+userinfo.preferredLanguage=\u8BED\u97F3\u504F\u597D
+userinfo.timeZone=\u65F6\u533A
+userinfo.locale=\u8BED\u8A00\u9009\u62E9
+userinfo.employeeNumber=\u5458\u5DE5\u7F16\u53F7
+userinfo.windowsAccount=AD\u57DF\u8D26\u53F7
+userinfo.organization=\u6240\u5C5E\u673A\u6784
+userinfo.division=\u5206\u652F\u673A\u6784
+userinfo.department=\u90E8\u95E8\u540D\u79F0
+userinfo.departmentId=\u90E8\u95E8\u7F16\u53F7
+userinfo.costCenter=\u6210\u672C\u4E2D\u5FC3
+userinfo.jobTitle=\u804C\u4F4D
+userinfo.jobLevel=\u7EA7\u522B
+userinfo.manager=\u4E0A\u7EA7\u7ECF\u7406
+userinfo.assistant=\u52A9\u7406
+userinfo.entryDate=\u5165\u804C\u65F6\u95F4
+userinfo.quitDate=\u79BB\u804C\u65F6\u95F4
+userinfo.workCountry=\u56FD\u5BB6
 userinfo.workRegion=\u7701
-userinfo.workLocality=\u57ce\u5e02
+userinfo.workLocality=\u57CE\u5E02
 userinfo.workStreetAddress=\u5730\u5740
-userinfo.workPostalCode=\u90ae\u7f16
-userinfo.workFax=\u4f20\u771f
-userinfo.workPhoneNumber=\u5de5\u4f5c\u7535\u8bdd
-userinfo.workEmail=\u5de5\u4f5c\u90ae\u4ef6
-userinfo.homeCountry=\u56fd\u5bb6
+userinfo.workPostalCode=\u90AE\u7F16
+userinfo.workFax=\u4F20\u771F
+userinfo.workPhoneNumber=\u5DE5\u4F5C\u7535\u8BDD
+userinfo.workEmail=\u5DE5\u4F5C\u90AE\u4EF6
+userinfo.homeCountry=\u56FD\u5BB6
 userinfo.homeRegion=\u7701
-userinfo.homeLocality=\u57ce\u5e02
-userinfo.homeStreetAddress=\u5bb6\u5ead\u5730\u5740
-userinfo.homePostalCode=\u5bb6\u5ead\u90ae\u7f16
-userinfo.homeFax=\u5bb6\u5ead\u4f20\u771f
-userinfo.homePhoneNumber=\u5bb6\u5ead\u7535\u8bdd
-userinfo.homeEmail=\u5bb6\u5ead\u90ae\u7bb1
-userinfo.ims=\u5373\u65f6\u901a\u8baf
+userinfo.homeLocality=\u57CE\u5E02
+userinfo.homeStreetAddress=\u5BB6\u5EAD\u5730\u5740
+userinfo.homePostalCode=\u5BB6\u5EAD\u90AE\u7F16
+userinfo.homeFax=\u5BB6\u5EAD\u4F20\u771F
+userinfo.homePhoneNumber=\u5BB6\u5EAD\u7535\u8BDD
+userinfo.homeEmail=\u5BB6\u5EAD\u90AE\u7BB1
+userinfo.ims=\u5373\u65F6\u901A\u8BAF
+userinfo.status=\u7528\u6237\u72B6\u6001
+userinfo.status.active=\u5728\u518C\u4EBA\u5458
+userinfo.status.withdrawn=\u79BB\u804C\u4EBA\u5458
+userinfo.status.inactive=\u505C\u85AA\u7559\u804C\u4EBA\u5458
+userinfo.status.retiree=\u9000\u4F11\u4EBA\u5458
 
-userinfo.authnType=\u767b\u5f55\u65b9\u5f0f
-userinfo.authnType.authnType.1=\u666e\u901a\u767b\u5f55
-userinfo.authnType.authnType.2=\u624b\u673a\u4ee4\u724c
-userinfo.authnType.authnType.3=\u77ed\u4fe1\u9a8c\u8bc1
-userinfo.authnType.authnType.4=\u90ae\u4ef6\u9a8c\u8bc1
-userinfo.authnType.authnType.5=\u65f6\u95f4\u4ee4\u724c
-userinfo.authnType.authnType.6=\u8ba1\u6570\u5668\u4ee4\u724c
-userinfo.authnType.authnType.7=HOTP\u4ee4\u724c
-userinfo.authnType.authnType.8=RSA\u4ee4\u724c
-userinfo.authnType.authnType.9=\u6570\u5b57\u8bc1\u4e66
+userinfo.authnType=\u767B\u5F55\u65B9\u5F0F
+userinfo.authnType.authnType.1=\u666E\u901A\u767B\u5F55
+userinfo.authnType.authnType.2=\u624B\u673A\u4EE4\u724C
+userinfo.authnType.authnType.3=\u77ED\u4FE1\u9A8C\u8BC1
+userinfo.authnType.authnType.4=\u90AE\u4EF6\u9A8C\u8BC1
+userinfo.authnType.authnType.5=\u65F6\u95F4\u4EE4\u724C
+userinfo.authnType.authnType.6=\u8BA1\u6570\u5668\u4EE4\u724C
+userinfo.authnType.authnType.7=HOTP\u4EE4\u724C
+userinfo.authnType.authnType.8=RSA\u4EE4\u724C
+userinfo.authnType.authnType.9=\u6570\u5B57\u8BC1\u4E66
 userinfo.authnType.authnType.10=USB Key
 
-org.tab.basic=\u57fa\u672c\u4fe1\u606f
-org.tab.extra=\u6269\u5c55\u4fe1\u606f
-org.id=\u673a\u6784\u7f16\u53f7
-org.name=\u673a\u6784\u540d\u79f0
-org.pid=\u7236\u7ea7\u7f16\u53f7
-org.pname=\u7236\u7ea7\u540d\u79f0
-org.fullname=\u673a\u6784\u5168\u79f0
-org.xpath=ID\u8def\u5f84
-org.xnamepath=\u540d\u79f0\u8def\u5f84
-org.type=\u7c7b\u578b
-org.division=\u5206\u652f\u673a\u6784
-org.contact=\u8054\u7cfb\u4eba
-org.phone=\u7535\u8bdd
-org.email=\u90ae\u7bb1
-org.fax=\u4f20\u771f
-org.country=\u56fd\u5bb6
+org.tab.basic=\u57FA\u672C\u4FE1\u606F
+org.tab.extra=\u6269\u5C55\u4FE1\u606F
+org.id=\u673A\u6784\u7F16\u53F7
+org.name=\u673A\u6784\u540D\u79F0
+org.pid=\u7236\u7EA7\u7F16\u53F7
+org.pname=\u7236\u7EA7\u540D\u79F0
+org.fullname=\u673A\u6784\u5168\u79F0
+org.xpath=ID\u8DEF\u5F84
+org.xnamepath=\u540D\u79F0\u8DEF\u5F84
+org.type=\u7C7B\u578B
+org.division=\u5206\u652F\u673A\u6784
+org.contact=\u8054\u7CFB\u4EBA
+org.phone=\u7535\u8BDD
+org.email=\u90AE\u7BB1
+org.fax=\u4F20\u771F
+org.country=\u56FD\u5BB6
 org.region=\u7701
-org.locality=\u57ce\u5e02
+org.locality=\u57CE\u5E02
 org.street=\u8857\u9053
 org.address=\u5730\u5740
-org.postalcode=\u90ae\u7f16
-org.sortorder=\u6392\u5e8f
-org.description=\u63cf\u8ff0
+org.postalcode=\u90AE\u7F16
+org.sortorder=\u6392\u5E8F
+org.description=\u63CF\u8FF0
 
 #opt totp
-login.totp.sharedSecret=\u5171\u4eab\u5bc6\u7801
-login.totp.period=\u5468\u671f
-login.totp.digits=\u6570\u5b57
-login.totp.crypto=\u52a0\u5bc6\u65b9\u5f0f
-login.totp.generate=\u91cd\u65b0\u751f\u6210
+login.totp.sharedSecret=\u5171\u4EAB\u5BC6\u7801
+login.totp.period=\u5468\u671F
+login.totp.digits=\u6570\u5B57
+login.totp.crypto=\u52A0\u5BC6\u65B9\u5F0F
+login.totp.generate=\u91CD\u65B0\u751F\u6210
 login.totp.title=TimeBased One Time Password
 #opt hotp
-login.hotp.sharedSecret=\u5171\u4eab\u5bc6\u7801
-login.hotp.period=\u5468\u671f
-login.hotp.digits=\u6570\u5b57
-login.hotp.crypto=\u52a0\u5bc6\u65b9\u5f0f
-login.hotp.generate=\u91cd\u65b0\u751f\u6210
+login.hotp.sharedSecret=\u5171\u4EAB\u5BC6\u7801
+login.hotp.period=\u5468\u671F
+login.hotp.digits=\u6570\u5B57
+login.hotp.crypto=\u52A0\u5BC6\u65B9\u5F0F
+login.hotp.generate=\u91CD\u65B0\u751F\u6210
 login.hotp.title=HOTP One Time Password
 #opt counter
-login.counter.sharedSecret=\u5171\u4eab\u5bc6\u7801
-login.counter.period=\u5468\u671f
-login.counter.digits=\u6570\u5b57
-login.counter.crypto=\u52a0\u5bc6\u65b9\u5f0f
-login.counter.generate=\u91cd\u65b0\u751f\u6210
+login.counter.sharedSecret=\u5171\u4EAB\u5BC6\u7801
+login.counter.period=\u5468\u671F
+login.counter.digits=\u6570\u5B57
+login.counter.crypto=\u52A0\u5BC6\u65B9\u5F0F
+login.counter.generate=\u91CD\u65B0\u751F\u6210
 login.counter.title=Counter Based One Time Password
 #app
-apps.icon=\u56fe\u6807
-apps.name=\u5e94\u7528\u540d\u79f0
-apps.protocol=\u8bbf\u95ee\u534f\u8bae
-apps.category=\u7c7b\u578b
-apps.protocol.formbased=\u8868\u5355\u8ba4\u8bc1
-apps.protocol.desktop=\u684c\u9762\u8ba4\u8bc1
-apps.protocol.tokenbased=\u4ee4\u724c\u8ba4\u8bc1
+apps.icon=\u56FE\u6807
+apps.name=\u5E94\u7528\u540D\u79F0
+apps.protocol=\u8BBF\u95EE\u534F\u8BAE
+apps.category=\u7C7B\u578B
+apps.protocol.formbased=\u8868\u5355\u8BA4\u8BC1
+apps.protocol.desktop=\u684C\u9762\u8BA4\u8BC1
+apps.protocol.tokenbased=\u4EE4\u724C\u8BA4\u8BC1
 apps.protocol.oauth2.0=OAuth2.0
 apps.protocol.saml2.0=SAML2.0
-apps.protocol.ltpa=\u8f7b\u91cf\u7ea7\u8ba4\u8bc1(LTPA)
-apps.protocol.cas=CAS\u8ba4\u8bc1
-apps.protocol.extendapi=API\u6269\u5c55\u8ba4\u8bc1
-apps.protocol.basic=\u57fa\u672c\u767b\u5f55
-apps.vendor=\u4f9b\u5e94\u5546
-apps.vendor.url=\u4f9b\u5e94\u5546\u7f51\u5740
-apps.basic.info=\u5e94\u7528\u57fa\u672c\u4fe1\u606f
-apps.id=\u552f\u4e00\u7f16\u7801
-apps.secret=\u5e94\u7528\u79d8\u94a5
-apps.visible=\u6743\u9650\u8303\u56f4
-apps.visible.hidden=\u9690\u85cf
+apps.protocol.ltpa=\u8F7B\u91CF\u7EA7\u8BA4\u8BC1(LTPA)
+apps.protocol.cas=CAS\u8BA4\u8BC1
+apps.protocol.extendapi=API\u6269\u5C55\u8BA4\u8BC1
+apps.protocol.basic=\u57FA\u672C\u767B\u5F55
+apps.vendor=\u4F9B\u5E94\u5546
+apps.vendor.url=\u4F9B\u5E94\u5546\u7F51\u5740
+apps.basic.info=\u5E94\u7528\u57FA\u672C\u4FE1\u606F
+apps.id=\u552F\u4E00\u7F16\u7801
+apps.secret=\u5E94\u7528\u79D8\u94A5
+apps.visible=\u6743\u9650\u8303\u56F4
+apps.visible.hidden=\u9690\u85CF
 apps.visible.all=\u6240\u6709\u7528\u6237
-apps.visible.internet=\u5185\u90e8\u7528\u6237
-apps.visible.intranet=\u5916\u90e8\u7528\u6237
-apps.loginUrl=\u767b\u5f55\u5730\u5740
-apps.logoutUrl=\u6ce8\u9500\u5730\u5740
-apps.logoutType=\u6ce8\u9500\u65b9\u5f0f
-apps.logoutType.none=\u65e0
-apps.logoutType.back_channel=\u540e\u53f0
-apps.logoutType.front_channel=\u524d\u53f0
-apps.credential=\u51ed\u8bc1\u7c7b\u578b
-apps.credential.user-defined=\u7528\u6237\u81ea\u5b9a\u4e49
-apps.credential.shared=\u5e94\u7528\u5171\u4eab
-apps.credential.system=\u7cfb\u7edf\u914d\u7f6e
-apps.systemUserAttr=\u7cfb\u7edf\u5c5e\u6027
-apps.credential.sharedUsername=\u5171\u4eab\u7528\u6237\u540d
-apps.credential.sharedPassword=\u5171\u4eab\u51ed\u8bc1
-apps.isAdapter=\u9002\u914d
+apps.visible.internet=\u5185\u90E8\u7528\u6237
+apps.visible.intranet=\u5916\u90E8\u7528\u6237
+apps.loginUrl=\u767B\u5F55\u5730\u5740
+apps.logoutUrl=\u6CE8\u9500\u5730\u5740
+apps.logoutType=\u6CE8\u9500\u65B9\u5F0F
+apps.logoutType.none=\u65E0
+apps.logoutType.back_channel=\u540E\u53F0
+apps.logoutType.front_channel=\u524D\u53F0
+apps.credential=\u51ED\u8BC1\u7C7B\u578B
+apps.credential.user-defined=\u7528\u6237\u81EA\u5B9A\u4E49
+apps.credential.shared=\u5E94\u7528\u5171\u4EAB
+apps.credential.system=\u7CFB\u7EDF\u914D\u7F6E
+apps.systemUserAttr=\u7CFB\u7EDF\u5C5E\u6027
+apps.credential.sharedUsername=\u5171\u4EAB\u7528\u6237\u540D
+apps.credential.sharedPassword=\u5171\u4EAB\u51ED\u8BC1
+apps.isAdapter=\u9002\u914D
 apps.isAdapter.no=\u7981\u7528
-apps.isAdapter.yes=\u542f\u7528
-apps.adapter=\u9002\u914d\u5668
-apps.extendAttr=\u6269\u5c55\u5c5e\u6027
-apps.isExtendAttr=\u914d\u7f6e\u6269\u5c55\u5c5e\u6027
-apps.extendAttr.parameter=\u53c2\u6570
-apps.extendAttr.parameter.type=\u7c7b\u578b
-apps.extendAttr.parameter.value=\u503c
-apps.principal=\u51ed\u8bc1
-apps.credentials=\u79d8\u94a5
+apps.isAdapter.yes=\u542F\u7528
+apps.adapter=\u9002\u914D\u5668
+apps.extendAttr=\u6269\u5C55\u5C5E\u6027
+apps.isExtendAttr=\u914D\u7F6E\u6269\u5C55\u5C5E\u6027
+apps.extendAttr.parameter=\u53C2\u6570
+apps.extendAttr.parameter.type=\u7C7B\u578B
+apps.extendAttr.parameter.value=\u503C
+apps.principal=\u51ED\u8BC1
+apps.credentials=\u79D8\u94A5
 
 #formbased
-apps.formbased.info=\u8868\u5355\u8ba4\u8bc1
-apps.formbased.redirectUri=\u8ba4\u8bc1\u5730\u5740
-apps.formbased.usernameMapping=\u767b\u5f55\u540d\u6620\u5c04
-apps.formbased.passwordMapping=\u767b\u5f55\u51ed\u8bc1\u6620\u5c04
-apps.formbased.authorizeView=\u8ba4\u8bc1\u89c6\u56fe
-apps.formbased.parameter=\u53c2\u6570
-apps.formbased.parameter.value=\u53c2\u6570\u503c
+apps.formbased.info=\u8868\u5355\u8BA4\u8BC1
+apps.formbased.redirectUri=\u8BA4\u8BC1\u5730\u5740
+apps.formbased.usernameMapping=\u767B\u5F55\u540D\u6620\u5C04
+apps.formbased.passwordMapping=\u767B\u5F55\u51ED\u8BC1\u6620\u5C04
+apps.formbased.authorizeView=\u8BA4\u8BC1\u89C6\u56FE
+apps.formbased.parameter=\u53C2\u6570
+apps.formbased.parameter.value=\u53C2\u6570\u503C
 #cas
-apps.cas.info=CAS\u8ba4\u8bc1
-apps.cas.service=\u670d\u52a1
-apps.cas.callbackUrl=\u56de\u8c03\u5730\u5740
+apps.cas.info=CAS\u8BA4\u8BC1
+apps.cas.service=\u670D\u52A1
+apps.cas.callbackUrl=\u56DE\u8C03\u5730\u5740
 #desktop
-apps.desktop.info=\u684c\u9762\u8ba4\u8bc1
-apps.desktop.programPath=\u5e94\u7528\u5b89\u88c5\u8def\u5f84
-apps.desktop.parameter=\u5e94\u7528\u53c2\u6570
-apps.desktop.usernameType=\u7528\u6237\u7c7b\u578b
-apps.desktop.usernameParameter=\u7528\u6237\u53c2\u6570
-apps.desktop.preUsername=\u7528\u6237\u540d\u524d\u671f
-apps.desktop.passwordType=\u51ed\u8bc1\u7c7b\u578b
-apps.desktop.passwordParameter=\u51ed\u8bc1\u53c2\u6570
-apps.desktop.prePassword=\u51ed\u8bc1\u524d\u671f
-apps.desktop.submitType=\u63d0\u4ea4\u7c7b\u578b
-apps.desktop.preSubmit=\u63d0\u4ea4\u524d\u671f
+apps.desktop.info=\u684C\u9762\u8BA4\u8BC1
+apps.desktop.programPath=\u5E94\u7528\u5B89\u88C5\u8DEF\u5F84
+apps.desktop.parameter=\u5E94\u7528\u53C2\u6570
+apps.desktop.usernameType=\u7528\u6237\u7C7B\u578B
+apps.desktop.usernameParameter=\u7528\u6237\u53C2\u6570
+apps.desktop.preUsername=\u7528\u6237\u540D\u524D\u671F
+apps.desktop.passwordType=\u51ED\u8BC1\u7C7B\u578B
+apps.desktop.passwordParameter=\u51ED\u8BC1\u53C2\u6570
+apps.desktop.prePassword=\u51ED\u8BC1\u524D\u671F
+apps.desktop.submitType=\u63D0\u4EA4\u7C7B\u578B
+apps.desktop.preSubmit=\u63D0\u4EA4\u524D\u671F
 #tokenbased
-apps.tokenbased.info=\u4ee4\u724c\u8ba4\u8bc1
-apps.tokenbased.redirectUri=\u8ba4\u8bc1\u5730\u5740
-apps.tokenbased.tokenType=\u4ee4\u724c\u7c7b\u578b
-apps.tokenbased.cookieName=Cookie\u540d\u79f0
-apps.tokenbased.algorithm=\u52a0\u5bc6\u7b97\u6cd5
-apps.tokenbased.algorithmKey=\u79d8\u94a5
-apps.tokenbased.token.content=\u4ee4\u724c\u5185\u5bb9
-apps.tokenbased.expires=\u8fc7\u671f\u65f6\u95f4
+apps.tokenbased.info=\u4EE4\u724C\u8BA4\u8BC1
+apps.tokenbased.redirectUri=\u8BA4\u8BC1\u5730\u5740
+apps.tokenbased.tokenType=\u4EE4\u724C\u7C7B\u578B
+apps.tokenbased.cookieName=Cookie\u540D\u79F0
+apps.tokenbased.algorithm=\u52A0\u5BC6\u7B97\u6CD5
+apps.tokenbased.algorithmKey=\u79D8\u94A5
+apps.tokenbased.token.content=\u4EE4\u724C\u5185\u5BB9
+apps.tokenbased.expires=\u8FC7\u671F\u65F6\u95F4
 #SAML
-apps.saml.metadata.company=\u516c\u53f8
+apps.saml.metadata.company=\u516C\u53F8
 apps.saml.spAcsUrl=SP ACS Url
-apps.saml.fileType.Certificate=\u8bc1\u4e66
-apps.saml.metadata.orgDisplayName=\u7ec4\u7ec7\u540d\u79f0
-apps.saml.nameIdConvert.original=\u539f\u59cb
-apps.saml.certIssuer=\u8bc1\u4e66\u9881\u53d1\u8005
-apps.saml.metadata=SAML\u5143\u6570\u636e
-apps.saml.fileType=\u8bc1\u4e66\u7c7b\u578b
+apps.saml.fileType.Certificate=\u8BC1\u4E66
+apps.saml.metadata.orgDisplayName=\u7EC4\u7EC7\u540D\u79F0
+apps.saml.nameIdConvert.original=\u539F\u59CB
+apps.saml.certIssuer=\u8BC1\u4E66\u9881\u53D1\u8005
+apps.saml.metadata=SAML\u5143\u6570\u636E
+apps.saml.fileType=\u8BC1\u4E66\u7C7B\u578B
 apps.saml.nameIdConvert=NameId Convert
-apps.saml.target=\u76ee\u6807\u5730\u5740
-apps.saml.metadata.telephoneNumber=\u7535\u8bdd\u53f7\u7801
-apps.saml.fileType.metadata=SAML\u5143\u6570\u636e
-apps.saml.fileType.certificate=\u8bc1\u4e66
-apps.saml.metadata.givenName=\u540d
+apps.saml.target=\u76EE\u6807\u5730\u5740
+apps.saml.metadata.telephoneNumber=\u7535\u8BDD\u53F7\u7801
+apps.saml.fileType.metadata=SAML\u5143\u6570\u636E
+apps.saml.fileType.certificate=\u8BC1\u4E66
+apps.saml.metadata.givenName=\u540D
 apps.saml.issuer=Issuer
 apps.saml.nameIdConvert.upperCase=\u5927\u5199
-apps.saml.metadata.orgURL=\u7ec4\u7ec7\u7ad9\u70b9
-apps.saml.metadata.info=SAML V2.0 \u5143\u6570\u636e\u914d\u7f6e
-apps.saml.certSubject=\u8bc1\u4e66\u4e3b\u9898
-apps.saml.certMetaFile=\u8bc1\u4e66\u6587\u4ef6
-apps.saml.encrypted.no=\u4e0d\u52a0\u5bc6
+apps.saml.metadata.orgURL=\u7EC4\u7EC7\u7AD9\u70B9
+apps.saml.metadata.info=SAML V2.0 \u5143\u6570\u636E\u914D\u7F6E
+apps.saml.certSubject=\u8BC1\u4E66\u4E3B\u9898
+apps.saml.certMetaFile=\u8BC1\u4E66\u6587\u4EF6
+apps.saml.encrypted.no=\u4E0D\u52A0\u5BC6
 apps.saml.binding=Binding
-apps.saml.metadata.surName=\u59d3
+apps.saml.metadata.surName=\u59D3
 apps.saml.audience=Audience
-apps.saml.v2.0.info=SAML V20 \u8ba4\u8bc1\u914d\u7f6e
-apps.saml.metadata.contactType=\u8054\u7cfb\u7c7b\u578b
+apps.saml.v2.0.info=SAML V20 \u8BA4\u8BC1\u914D\u7F6E
+apps.saml.metadata.contactType=\u8054\u7CFB\u7C7B\u578B
 apps.saml.entityId=Entity Id
-apps.saml.nameIdConvert.lowerCase=\u5c0f\u5199
-apps.saml.metadata.orgName=\u7ec4\u7ec7
-apps.saml.certExpiration=\u8bc1\u4e66\u6709\u6548\u671f
-apps.saml.encrypted=\u52a0\u5bc6
-apps.saml.validityInterval=\u6709\u6548\u671f
-apps.saml.encrypted.yes=\u52a0\u5bc6
-apps.saml.metadata.emailAddress=\u7535\u5b50\u90ae\u7bb1
+apps.saml.nameIdConvert.lowerCase=\u5C0F\u5199
+apps.saml.metadata.orgName=\u7EC4\u7EC7
+apps.saml.certExpiration=\u8BC1\u4E66\u6709\u6548\u671F
+apps.saml.encrypted=\u52A0\u5BC6
+apps.saml.validityInterval=\u6709\u6548\u671F
+apps.saml.encrypted.yes=\u52A0\u5BC6
+apps.saml.metadata.emailAddress=\u7535\u5B50\u90AE\u7BB1
 apps.saml.nameidFormat=Nameid Format
-apps.saml.v1.1.info=SAML 1.1 \u8ba4\u8bc1\u914d\u7f6e
-apps.saml.signature=\u7b7e\u540d\u7b97\u6cd5
-apps.saml.digestMethod=\u6458\u8981\u65b9\u6cd5
+apps.saml.v1.1.info=SAML 1.1 \u8BA4\u8BC1\u914D\u7F6E
+apps.saml.signature=\u7B7E\u540D\u7B97\u6CD5
+apps.saml.digestMethod=\u6458\u8981\u65B9\u6CD5
 #oauth
-apps.oauth.approvalPrompt.force=\u5f3a\u5236
-apps.oauth.accessTokenValiditySeconds=accessToken\u6709\u6548\u671f
+apps.oauth.approvalPrompt.force=\u5F3A\u5236
+apps.oauth.accessTokenValiditySeconds=accessToken\u6709\u6548\u671F
 apps.oauth.v2.0.clientSecret=Client Secret
-apps.oauth.registeredRedirectUris=\u8ba4\u8bc1\u5730\u5740
-apps.oauth.approvalPrompt.auto=\u81ea\u52a8
-apps.oauth.refreshTokenValiditySeconds=refreshToken\u6709\u6548\u671f
-apps.oauth.scope=\u4f5c\u7528\u57df
-apps.oauth.approvalPrompt=\u8bb8\u53ef\u786e\u8ba4
-apps.oauth.v2.0.info=OAuth 2.0 \u8ba4\u8bc1\u914d\u7f6e
-apps.oauth.GrantTypes=\u6388\u6743\u65b9\u5f0f
+apps.oauth.registeredRedirectUris=\u8BA4\u8BC1\u5730\u5740
+apps.oauth.approvalPrompt.auto=\u81EA\u52A8
+apps.oauth.refreshTokenValiditySeconds=refreshToken\u6709\u6548\u671F
+apps.oauth.scope=\u4F5C\u7528\u57DF
+apps.oauth.approvalPrompt=\u8BB8\u53EF\u786E\u8BA4
+apps.oauth.v2.0.info=OAuth 2.0 \u8BA4\u8BC1\u914D\u7F6E
+apps.oauth.GrantTypes=\u6388\u6743\u65B9\u5F0F
 apps.oauth.v2.0.clientId=Client Id
-apps.oauth.connect.info=OpenID Connect \u8ba4\u8bc1\u914d\u7f6e
-apps.oauth.connect.idTokenSigningAlgorithm=idToken\u7b7e\u540d\u7b97\u6cd5
-apps.oauth.connect.userInfoSigningAlgorithm=\u7528\u6237\u7b7e\u540d\u7b97\u6cd5
+apps.oauth.connect.info=OpenID Connect \u8BA4\u8BC1\u914D\u7F6E
+apps.oauth.connect.idTokenSigningAlgorithm=idToken\u7B7E\u540D\u7B97\u6CD5
+apps.oauth.connect.userInfoSigningAlgorithm=\u7528\u6237\u7B7E\u540D\u7B97\u6CD5
 apps.oauth.connect.jwksUri=JWKS\u5730\u5740
-apps.oauth.connect.idTokenEncryptedAlgorithm=idToken\u52a0\u5bc6\u7b97\u6cd5
-apps.oauth.connect.userInfoEncryptedAlgorithm=\u7528\u6237\u52a0\u5bc6\u7b97\u6cd5
-apps.oauth.connect.idTokenEncryptionMethod=idToken\u52a0\u5bc6\u65b9\u6cd5
-apps.oauth.connect.userInfoEncryptionMethod=\u7528\u6237\u52a0\u5bc6\u65b9\u6cd5
+apps.oauth.connect.idTokenEncryptedAlgorithm=idToken\u52A0\u5BC6\u7B97\u6CD5
+apps.oauth.connect.userInfoEncryptedAlgorithm=\u7528\u6237\u52A0\u5BC6\u7B97\u6CD5
+apps.oauth.connect.idTokenEncryptionMethod=idToken\u52A0\u5BC6\u65B9\u6CD5
+apps.oauth.connect.userInfoEncryptionMethod=\u7528\u6237\u52A0\u5BC6\u65B9\u6CD5
 
 #group
-group.id=\u7ec4\u7f16\u7801
-group.name=\u7528\u6237\u7ec4
+group.id=\u7EC4\u7F16\u7801
+group.name=\u7528\u6237\u7EC4
 
 #role
-role.id=\u89d2\u8272\u7f16\u7801
-role.name=\u89d2\u8272
+role.id=\u89D2\u8272\u7F16\u7801
+role.name=\u89D2\u8272
 
-resource.id=\u8d44\u6e90\u7f16\u7801
-resource.name=\u8d44\u6e90\u540d\u79f0
-resource.parentId=\u7236\u7ea7\u7f16\u7801
-resource.parentName=\u7236\u7ea7\u540d\u79f0
-resource.resourceType=\u8d44\u6e90\u7c7b\u578b
-resource.resourceType.Menu=\u83dc\u5355
-resource.resourceType.Element=\u5143\u7d20
-resource.resourceType.Button=\u6309\u94ae
-resource.resourceType.Module=\u6a21\u5757
-resource.resourceType.File=\u6587\u4ef6
-resource.resourceType.Data=\u6570\u636e
-resource.resourceType.Other=\u5176\u4ed6
-resource.resourceIcon=\u56fe\u6807
-resource.resourceUrl=\u8d44\u6e90\u5730\u5740
-resource.resourceAction=\u52a8\u4f5c
-resource.resourceStyle=\u6837\u5f0f
+resource.id=\u8D44\u6E90\u7F16\u7801
+resource.name=\u8D44\u6E90\u540D\u79F0
+resource.parentId=\u7236\u7EA7\u7F16\u7801
+resource.parentName=\u7236\u7EA7\u540D\u79F0
+resource.resourceType=\u8D44\u6E90\u7C7B\u578B
+resource.resourceType.Menu=\u83DC\u5355
+resource.resourceType.Element=\u5143\u7D20
+resource.resourceType.Button=\u6309\u94AE
+resource.resourceType.Module=\u6A21\u5757
+resource.resourceType.File=\u6587\u4EF6
+resource.resourceType.Data=\u6570\u636E
+resource.resourceType.Other=\u5176\u4ED6
+resource.resourceIcon=\u56FE\u6807
+resource.resourceUrl=\u8D44\u6E90\u5730\u5740
+resource.resourceAction=\u52A8\u4F5C
+resource.resourceStyle=\u6837\u5F0F
 
 #account
-account.username=\u7528\u6237\u540d
-account.displayName=\u7528\u6237\u59d3\u540d
-account.appId=\u5e94\u7528\u7f16\u53f7
-account.appName=\u5e94\u7528\u540d\u79f0
-account.relatedUsername=\u7528\u6237\u8d26\u53f7
-account.relatedPassword=\u8d26\u53f7\u5bc6\u7801
+account.username=\u7528\u6237\u540D
+account.displayName=\u7528\u6237\u59D3\u540D
+account.appId=\u5E94\u7528\u7F16\u53F7
+account.appName=\u5E94\u7528\u540D\u79F0
+account.relatedUsername=\u7528\u6237\u8D26\u53F7
+account.relatedPassword=\u8D26\u53F7\u5BC6\u7801
  
-button.text.action=\u8bbf\u95ee
-button.text.visit=\u8bbf\u95ee
-button.text.save=\u4fdd\u5b58
-button.text.close=\u5173\u95ed
-button.text.add=\u65b0\u589e
-button.text.edit=\u7f16\u8f91
+button.text.action=\u8BBF\u95EE
+button.text.visit=\u8BBF\u95EE
+button.text.save=\u4FDD\u5B58
+button.text.close=\u5173\u95ED
+button.text.add=\u65B0\u589E
+button.text.edit=\u7F16\u8F91
 button.text.delete=\u5220\u9664
-button.text.select=\u8bf7\u9009\u62e9
-button.text.search=\u67e5\u8be2
-button.text.expandsearch=\u5c55\u5f00
-button.text.collapsesearch=\u6536\u7f29
-button.text.cancel=\u53d6\u6d88
-button.text.add.member=\u65b0\u589e\u6210\u5458
+button.text.select=\u8BF7\u9009\u62E9
+button.text.search=\u67E5\u8BE2
+button.text.expandsearch=\u5C55\u5F00
+button.text.collapsesearch=\u6536\u7F29
+button.text.cancel=\u53D6\u6D88
+button.text.add.member=\u65B0\u589E\u6210\u5458
 button.text.delete.member=\u5220\u9664\u6210\u5458
-button.text.generate=\u751f\u6210
-button.text.view=\u67e5\u770b
-button.text.hidden=\u9690\u85cf
+button.text.generate=\u751F\u6210
+button.text.view=\u67E5\u770B
+button.text.hidden=\u9690\u85CF
 
-log.loginhistory.id=\u7f16\u53f7
-log.loginhistory.sessionId=\u4f1a\u8bdd
-log.loginhistory.username=\u767b\u5f55\u540d
-log.loginhistory.displayName=\u7528\u6237\u540d\u79f0
-log.loginhistory.provider=\u63d0\u4f9b\u5546
-log.loginhistory.message=\u72b6\u6001
-log.loginhistory.loginType=\u767b\u5f55\u65b9\u5f0f
-log.loginhistory.sourceIp=\u8bbf\u95ee\u5730\u5740
-log.loginhistory.browser=\u6d4f\u89c8\u5668
-log.loginhistory.loginTime=\u767b\u5f55\u65f6\u95f4
-log.loginhistory.logoutTime=\u9000\u51fa\u65f6\u95f4
-log.loginhistory.platform=\u5e73\u53f0
-log.loginhistory.application=\u5e94\u7528
-log.loginhistory.loginUrl=\u767b\u5f55\u5730\u5740
-log.loginhistory.code=\u4ee3\u7801
-log.loginhistory.rpUserInfo=\u7b2c\u4e09\u65b9
+log.loginhistory.id=\u7F16\u53F7
+log.loginhistory.sessionId=\u4F1A\u8BDD
+log.loginhistory.username=\u767B\u5F55\u540D
+log.loginhistory.displayName=\u7528\u6237\u540D\u79F0
+log.loginhistory.provider=\u63D0\u4F9B\u5546
+log.loginhistory.message=\u72B6\u6001
+log.loginhistory.loginType=\u767B\u5F55\u65B9\u5F0F
+log.loginhistory.sourceIp=\u8BBF\u95EE\u5730\u5740
+log.loginhistory.browser=\u6D4F\u89C8\u5668
+log.loginhistory.loginTime=\u767B\u5F55\u65F6\u95F4
+log.loginhistory.logoutTime=\u9000\u51FA\u65F6\u95F4
+log.loginhistory.platform=\u5E73\u53F0
+log.loginhistory.application=\u5E94\u7528
+log.loginhistory.loginUrl=\u767B\u5F55\u5730\u5740
+log.loginhistory.code=\u4EE3\u7801
+log.loginhistory.rpUserInfo=\u7B2C\u4E09\u65B9
 
-log.loginappshistory.id=\u7f16\u53f7
-log.loginappshistory.sessionId=\u4f1a\u8bdd
-log.loginappshistory.uid=\u7528\u6237\u7f16\u53f7
-log.loginappshistory.username=\u767b\u5f55\u540d
-log.loginappshistory.displayName=\u7528\u6237\u540d
-log.loginappshistory.appId=\u5e94\u7528\u7f16\u53f7
-log.loginappshistory.appName=\u5e94\u7528\u540d\u79f0
-log.loginappshistory.loginTime=\u767b\u5f55\u65f6\u95f4
+log.loginappshistory.id=\u7F16\u53F7
+log.loginappshistory.sessionId=\u4F1A\u8BDD
+log.loginappshistory.uid=\u7528\u6237\u7F16\u53F7
+log.loginappshistory.username=\u767B\u5F55\u540D
+log.loginappshistory.displayName=\u7528\u6237\u540D
+log.loginappshistory.appId=\u5E94\u7528\u7F16\u53F7
+log.loginappshistory.appName=\u5E94\u7528\u540D\u79F0
+log.loginappshistory.loginTime=\u767B\u5F55\u65F6\u95F4
 
-log.operate.servicename=\u670d\u52a1
-log.operate.message=\u6d88\u606f
-log.operate.content=\u5185\u5bb9
-log.operate.messageType=\u6d88\u606f\u7c7b\u578b
-log.operate.operateType=\u64cd\u4f5c\u7c7b\u578b
-log.operate.username=\u64cd\u4f5c\u4eba
+log.operate.servicename=\u670D\u52A1
+log.operate.message=\u6D88\u606F
+log.operate.content=\u5185\u5BB9
+log.operate.messageType=\u6D88\u606F\u7C7B\u578B
+log.operate.operateType=\u64CD\u4F5C\u7C7B\u578B
+log.operate.username=\u64CD\u4F5C\u4EBA
 
-message.action.insert.success=\u65b0\u589e\u64cd\u4f5c\u6210\u529f
-message.action.insert.error=\u65b0\u589e\u64cd\u4f5c\u5931\u8d25
-message.action.update.success=\u66f4\u65b0\u64cd\u4f5c\u6210\u529f
-message.action.update.error=\u66f4\u65b0\u64cd\u4f5c\u5931\u8d25
-message.action.delete.success=\u5220\u9664\u64cd\u4f5c\u6210\u529f
-message.action.delete.error=\u5220\u9664\u64cd\u4f5c\u5931\u8d25
+message.action.insert.success=\u65B0\u589E\u64CD\u4F5C\u6210\u529F
+message.action.insert.error=\u65B0\u589E\u64CD\u4F5C\u5931\u8D25
+message.action.update.success=\u66F4\u65B0\u64CD\u4F5C\u6210\u529F
+message.action.update.error=\u66F4\u65B0\u64CD\u4F5C\u5931\u8D25
+message.action.delete.success=\u5220\u9664\u64CD\u4F5C\u6210\u529F
+message.action.delete.error=\u5220\u9664\u64CD\u4F5C\u5931\u8D25
 
-navs.system=\u7cfb\u7edf
+navs.system=\u7CFB\u7EDF
 navs.home=\u9996\u9875
-navs.orgs=\u673a\u6784\u7ba1\u7406
-navs.users=\u7528\u6237\u7ba1\u7406
-navs.apps=\u5e94\u7528\u7ba1\u7406
-navs.accounts=\u8d26\u53f7\u7ba1\u7406
-navs.groups=\u7ec4\u7ba1\u7406
-navs.groups.member=\u6210\u5458\u7ba1\u7406
-navs.groups.privileges=\u8bbf\u95ee\u6743\u9650\u7ba1\u7406
-navs.conf=\u914d\u7f6e\u7ba1\u7406
-navs.conf.passwordpolicy=\u5bc6\u7801\u7b56\u7565
-navs.audit=\u65e5\u5fd7\u5ba1\u8ba1
-navs.audit.login=\u767b\u5f55\u65e5\u5fd7
-navs.audit.loginapps=\u8bbf\u95ee\u65e5\u5fd7
-navs.audit.operate=\u64cd\u4f5c\u65e5\u5fd7
-navs.roles=\u89d2\u8272\u7ba1\u7406
-navs.role.member=\u89d2\u8272\u7528\u6237
-navs.role.permissions=\u89d2\u8272\u6743\u9650\u7ba1\u7406
-navs.resources=\u8d44\u6e90\u7ba1\u7406
+navs.orgs=\u673A\u6784\u7BA1\u7406
+navs.users=\u7528\u6237\u7BA1\u7406
+navs.apps=\u5E94\u7528\u7BA1\u7406
+navs.accounts=\u8D26\u53F7\u7BA1\u7406
+navs.groups=\u7EC4\u7BA1\u7406
+navs.groups.member=\u6210\u5458\u7BA1\u7406
+navs.groups.privileges=\u8BBF\u95EE\u6743\u9650\u7BA1\u7406
+navs.conf=\u914D\u7F6E\u7BA1\u7406
+navs.conf.passwordpolicy=\u5BC6\u7801\u7B56\u7565
+navs.audit=\u65E5\u5FD7\u5BA1\u8BA1
+navs.audit.login=\u767B\u5F55\u65E5\u5FD7
+navs.audit.loginapps=\u8BBF\u95EE\u65E5\u5FD7
+navs.audit.operate=\u64CD\u4F5C\u65E5\u5FD7
+navs.roles=\u89D2\u8272\u7BA1\u7406
+navs.role.member=\u89D2\u8272\u7528\u6237
+navs.role.permissions=\u89D2\u8272\u6743\u9650\u7BA1\u7406
+navs.resources=\u8D44\u6E90\u7BA1\u7406

+ 64 - 0
maxkey-web-manage/src/main/resources/templates/views/userinfo/changeUserinfoStatus.ftl

@@ -0,0 +1,64 @@
+<!DOCTYPE HTML>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<#include  "../layout/header.ftl"/>
+	<#include  "../layout/common.cssjs.ftl"/>
+	<style   type="text/css">
+	  .table th, .table td {
+	    padding: .2rem;
+	    vertical-align: middle;
+	  }
+	</style>
+
+	<script type="text/javascript">
+	<!--
+	$(function(){	
+					
+	});
+	//-->
+	</script>
+</head>
+<body>
+
+<form id="actionForm"  method="post" type="label" autoclose="true"  action="<@base/>/userinfo/changeUserinfoStatus"  class="needs-validation" novalidate> 
+
+	  <table   class="table table-bordered" >
+			<tbody>
+			<tr>
+				<th><@locale code="userinfo.displayName" /> :</th>
+				<td>
+					<input readonly type="hidden" id="id" name="id" class="required" title="" value="${model.id}"/>
+					<input readonly type="text" id="displayName" name="displayName"  class="form-control"  title="" value="${model.displayName}"/>
+					
+				</td>
+			</tr>
+			<tr>
+				<th><@locale code="userinfo.username" /> :</th>
+				<td>
+					<input readonly type="text" id="username" name="username"  class="form-control"  title="" value="${model.username}"/>
+					
+				</td>
+			</tr>
+			<tr>
+				<th><@locale code="userinfo.status" />:</th>
+				<td>
+				<select name="status"  id="status" class="form-control" >
+						<option value="1"   <#if 1==model.status>selected</#if>><@locale code="userinfo.status.active" /></option>
+						<option value="2"   <#if 2==model.status>selected</#if>><@locale code="userinfo.status.withdrawn" /></option>
+						<option value="3"   <#if 3==model.status>selected</#if>><@locale code="userinfo.status.inactive" /></option>
+						<option value="4"   <#if 4==model.status>selected</#if>><@locale code="userinfo.status.retiree" /></option>
+				</select>
+				</td>
+			</tr>
+			<tr>
+				<td colspan="2"  class="center">
+					<input id="_method" type="hidden" name="_method"  value="post"/>
+		    		<input class="button btn btn-primary mr-3"  style="width:100px"  type="submit"    id="submitBtn" value="<@locale code="button.text.save" />"/>
+		    		
+				</td>
+			</tr>
+		</tbody>
+	  </table>
+</form>
+</body>
+</html>

+ 1 - 1
maxkey-web-maxkey/src/main/resources/application.properties

@@ -24,7 +24,7 @@ spring.servlet.multipart.max-file-size=4194304
 #server.servlet.encoding.force=true
 #datasource
 spring.datasource.username=root
-spring.datasource.password=maxkey
+spring.datasource.password=root
 spring.datasource.url=jdbc:mysql://localhost/maxkey?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource