Jelajahi Sumber

后端代码国际化定制

xuxueli 7 tahun lalu
induk
melakukan
60fccc8b30

+ 6 - 2
xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java

@@ -24,9 +24,11 @@ public class I18nUtil {
     private static Logger logger = LoggerFactory.getLogger(I18nUtil.class);
 
     private static Properties prop = null;
+    private static long lastCacheTim = 0L;
+
     public static Properties loadI18nProp(){
-        if (prop != null) {
-            //return prop;
+        if (prop != null && (System.currentTimeMillis()-lastCacheTim)<3*1000) {
+            return prop;
         }
         try {
             // bild i18n prop
@@ -38,9 +40,11 @@ public class I18nUtil {
             Resource resource = new ClassPathResource(i18nFile);
             EncodedResource encodedResource = new EncodedResource(resource,"UTF-8");
             prop = PropertiesLoaderUtils.loadProperties(encodedResource);
+            lastCacheTim = System.currentTimeMillis();
         } catch (IOException e) {
             logger.error(e.getMessage(), e);
         }
+        logger.warn("---111---");
         return prop;
     }
 

+ 1 - 1
xxl-job-admin/src/main/resources/i18n/message.properties

@@ -108,7 +108,7 @@ jobinfo_field_jobgroup=执行器
 jobinfo_field_jobdesc=任务描述
 jobinfo_field_gluetype=运行模式
 jobinfo_field_executorparam=任务参数
-jobinfo_field_cron_unvalid=请输入格式正确的Cron
+jobinfo_field_cron_unvalid=Cron格式非法
 jobinfo_field_author=负责人
 jobinfo_field_alarmemail=报警邮件
 jobinfo_field_alarmemail_placeholder=请输入报警邮件,多个邮件地址则逗号分隔

+ 203 - 203
xxl-job-admin/src/main/resources/i18n/message_en.properties

@@ -1,229 +1,229 @@
 admin_name=Job Scheduling Center 
 admin_name_full=Distributed Task Scheduling Platform XXL-JOB
-admin_version=1.9.1(快照版本)
+admin_version=1.9.1锛圫NAPSHOT锛�
 
 ## system
-system_tips=系统提示
-system_ok=确定
-system_close=关闭
-system_save=保存
-system_cancel=取消
-system_search=搜索
-system_status=状态
-system_opt=操作
-system_please_input=请输入
-system_please_choose=请选择
-system_success=成功
-system_fail=失败
-system_add_suc=新增成功
-system_add_fail=新增失败
-system_update_suc=更新成功
-system_update_fail=更新失败
-system_all=全部
-system_api_error=接口异常
-system_show=查看
-system_empty=
-system_opt_suc=操作成功
-system_opt_fail=操作失败
-system_opt_edit=编辑
-system_opt_del=删除
-system_unvalid=非法
-system_not_found=不存在
+system_tips=System message
+system_ok=Confirm
+system_close=Close
+system_save=Save
+system_cancel=Cancel
+system_search=Search
+system_status=Status
+system_opt=Operate
+system_please_input=please input 
+system_please_choose=please choose 
+system_success=success
+system_fail=fail
+system_add_suc=add success
+system_add_fail=add fail
+system_update_suc=update success
+system_update_fail=update fail
+system_all=All
+system_api_error=net error
+system_show=Show
+system_empty=Empty
+system_opt_suc=operate success
+system_opt_fail=operate fail
+system_opt_edit=Edit
+system_opt_del=Delete
+system_unvalid=illegal
+system_not_found=not exist
 
 ## daterangepicker
-daterangepicker_ranges_recent_hour=最近一小时
-daterangepicker_ranges_today=今日
-daterangepicker_ranges_yesterday=昨日
-daterangepicker_ranges_this_month=本月
-daterangepicker_ranges_last_month=上个月
-daterangepicker_ranges_recent_week=最近一周
-daterangepicker_ranges_recent_month=最近一月
-daterangepicker_custom_name=自定义
-daterangepicker_custom_starttime=起始时间
-daterangepicker_custom_endtime=结束时间
-daterangepicker_custom_daysofweek=日,一,二,三,四,五,六
-daterangepicker_custom_monthnames=一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月
+daterangepicker_ranges_recent_hour=recent one hour
+daterangepicker_ranges_today=today
+daterangepicker_ranges_yesterday=yesterday
+daterangepicker_ranges_this_month=this month
+daterangepicker_ranges_last_month=last month
+daterangepicker_ranges_recent_week=recent one week
+daterangepicker_ranges_recent_month=recent one month
+daterangepicker_custom_name=custom
+daterangepicker_custom_starttime=start time
+daterangepicker_custom_endtime=end time
+daterangepicker_custom_daysofweek=Sun,Mon,Tue,Wed,Thu,Fri,Sat
+daterangepicker_custom_monthnames=Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
 
 ## dataTable
-dataTable_sProcessing=处理中...
-dataTable_sLengthMenu=每页 _MENU_ 条记录
-dataTable_sZeroRecords=没有匹配结果
-dataTable_sInfo=第 _PAGE_ 页 ( 总共 _PAGES_ 页,_TOTAL_ 条记录 )
-dataTable_sInfoEmpty=无记录
-dataTable_sInfoFiltered=(由 _MAX_ 项结果过滤)
-dataTable_sSearch=搜索
-dataTable_sEmptyTable=表中数据为空
-dataTable_sLoadingRecords=载入中...
-dataTable_sFirst=首页
-dataTable_sPrevious=上页
-dataTable_sNext=下页
-dataTable_sLast=末页
-dataTable_sSortAscending=: 以升序排列此列
-dataTable_sSortDescending=: 以降序排列此列
+dataTable_sProcessing=processing...
+dataTable_sLengthMenu= _MENU_ records per page
+dataTable_sZeroRecords=No matching results
+dataTable_sInfo=page _PAGE_  ( Total _PAGES_ pages锛宊TOTAL_ records )
+dataTable_sInfoEmpty=No Record
+dataTable_sInfoFiltered=(Filtered by _MAX_ results)
+dataTable_sSearch=Search
+dataTable_sEmptyTable=Table data is empty
+dataTable_sLoadingRecords=Loading...
+dataTable_sFirst=FIRST PAGE
+dataTable_sPrevious=Previous Page
+dataTable_sNext=Next Page
+dataTable_sLast=LAST PAGE
+dataTable_sSortAscending=: Rank this column in ascending order
+dataTable_sSortDescending=: Rank this column in descending order
 
 ## login
 login_btn=Login
 login_remember_me=Remember Me
-login_username_placeholder=Please input username
-login_password_placeholder=Please input password
-login_username_empty=请输入登录账号
-login_username_lt_5=登录账号不应低于5位
-login_password_empty=请输入登录密码
-login_password_lt_5=登录密码不应低于5位
-login_success=登录成功
-login_fail=登录失败
-login_param_empty=账号或密码为空
-login_param_unvalid=账号或密码错误
+login_username_placeholder=Please enter username
+login_password_placeholder=Please enter password
+login_username_empty=Please enter username
+login_username_lt_5=Username length should not be less than 5
+login_password_empty=Please enter password
+login_password_lt_5=Password length should not be less than 5
+login_success=Login success
+login_fail=Login fail
+login_param_empty=Username or password is empty
+login_param_unvalid=Username or password error
 
 ## logout
-logout_btn=注销
-logout_confirm=确认注销登录?
-logout_success=注销成功
-logout_fail=注销失败
+logout_btn=Logout
+logout_confirm=Confirm logout?
+logout_success=Logout success
+logout_fail=Logout fail
 
 ## dashboard
-job_dashboard_name=运行报表
-job_dashboard_job_num=任务数量
-job_dashboard_job_num_tip=调度中心运行的任务数量
-job_dashboard_trigger_num=调度次数
-job_dashboard_trigger_num_tip=调度中心触发的调度次数
-job_dashboard_jobgroup_num=执行器数量
-job_dashboard_jobgroup_num_tip=调度中心在线的执行器机器数量
-job_dashboard_report=调度报表
-job_dashboard_report_loaddata_fail=调度报表数据加载异常
-job_dashboard_date_report=日期分布图
-job_dashboard_date_report_suc_count=成功调度次数
-job_dashboard_date_report_fail_count=失败调度次数
-job_dashboard_rate_report=成功比例图
-job_dashboard_rate_report_suc_count=成功调度次数
-job_dashboard_rate_report_fail_count=失败调度次数
+job_dashboard_name=Run report
+job_dashboard_job_num=Job number
+job_dashboard_job_num_tip=The number of tasks running in the scheduling center
+job_dashboard_trigger_num=trigger number
+job_dashboard_trigger_num_tip=The number of trigger record scheduled by the scheduling center
+job_dashboard_jobgroup_num=Executor number
+job_dashboard_jobgroup_num_tip=The number of online executor machines perceived by the scheduling center
+job_dashboard_report=Scheduling report
+job_dashboard_report_loaddata_fail=Scheduling report load data error
+job_dashboard_date_report=Date distribution
+job_dashboard_date_report_suc_count=Successful scheduling number
+job_dashboard_date_report_fail_count=Fail scheduling number
+job_dashboard_rate_report=Percentage distribution
+job_dashboard_rate_report_suc_count=Successful scheduling percentage
+job_dashboard_rate_report_fail_count=Fail scheduling percentage
 
 ## job info
-jobinfo_name=任务管理
-jobinfo_job=任务
-jobinfo_field_add=新增任务
-jobinfo_field_update=更新任务
-jobinfo_field_id=任务ID
-jobinfo_field_jobgroup=执行器
-jobinfo_field_jobdesc=任务描述
-jobinfo_field_gluetype=运行模式
-jobinfo_field_executorparam=任务参数
-jobinfo_field_cron_unvalid=请输入格式正确的Cron
-jobinfo_field_author=负责人
-jobinfo_field_alarmemail=报警邮件
-jobinfo_field_alarmemail_placeholder=请输入报警邮件,多个邮件地址则逗号分隔
-jobinfo_field_executorRouteStrategy=路由策略
-jobinfo_field_childJobId=子任务ID
-jobinfo_field_childJobId_limit=子任务ID({0})不可与父任务重复
-jobinfo_field_childJobId_placeholder=请输入子任务的任务ID,如存在多个则逗号分隔
-jobinfo_field_executorBlockStrategy=阻塞处理策略
-jobinfo_field_executorFailStrategy=失败处理策略
-jobinfo_script_location=脚本位置
-jobinfo_shard_index=分片序号
-jobinfo_shard_total=分片总数
-jobinfo_opt_pause=暂停
-jobinfo_opt_resume=恢复
-jobinfo_opt_log=日志
-jobinfo_opt_run=执行
-jobinfo_glue_remark=源码备注
-jobinfo_glue_remark_limit=源码备注长度限制为4~100
-jobinfo_glue_rollback=版本回溯
-jobinfo_glue_jobid_unvalid=任务ID非法
-jobinfo_glue_gluetype_unvalid=该任务非GLUE模式
+jobinfo_name=Job Manage
+jobinfo_job=Job
+jobinfo_field_add=Add Job
+jobinfo_field_update=Edit Job
+jobinfo_field_id=Job ID
+jobinfo_field_jobgroup=Executor
+jobinfo_field_jobdesc=Job description
+jobinfo_field_gluetype=GLUE Type
+jobinfo_field_executorparam=Param
+jobinfo_field_cron_unvalid=The Cron is illegal
+jobinfo_field_author=Author
+jobinfo_field_alarmemail=Alarm email
+jobinfo_field_alarmemail_placeholder=Please enter alarm mail, if there are more than one comma separated
+jobinfo_field_executorRouteStrategy=Route Strategy
+jobinfo_field_childJobId=Child Job ID
+jobinfo_field_childJobId_limit=Child job ID({0}) cannot be duplicated with the parent job.
+jobinfo_field_childJobId_placeholder=Please enter the Child job ID, if there are more than one comma separated
+jobinfo_field_executorBlockStrategy=Block Strategy
+jobinfo_field_executorFailStrategy=Fail Strategy
+jobinfo_script_location=Script location
+jobinfo_shard_index=Shard index
+jobinfo_shard_total=Shard total
+jobinfo_opt_pause=Pause
+jobinfo_opt_resume=Resume
+jobinfo_opt_log=Log
+jobinfo_opt_run=Run
+jobinfo_glue_remark=Resource Remark
+jobinfo_glue_remark_limit=Resource Remark length is limited to 4~100
+jobinfo_glue_rollback=Version Backtrack
+jobinfo_glue_jobid_unvalid=Job ID is illegal
+jobinfo_glue_gluetype_unvalid=The job is not GLUE Type
 
 ## job log
-joblog_name=调度日志
-joblog_status=状态
-joblog_status_all=全部
-joblog_status_suc=成功
-joblog_status_fail=失败
-joblog_status_running=进行中
-joblog_field_triggerTime=调度时间
-joblog_field_triggerCode=调度结果
-joblog_field_triggerMsg=调度备注
-joblog_field_handleTime=执行时间
-joblog_field_handleCode=执行结果
-joblog_field_handleMsg=执行备注
-joblog_field_executorAddress=执行器地址
-joblog_clean=清理
-joblog_clean_log=日志清理
-joblog_clean_type=清理方式
-joblog_clean_type_1=清理一个月之前日志数据
-joblog_clean_type_2=清理三个月之前日志数据
-joblog_clean_type_3=清理六个月之前日志数据
-joblog_clean_type_4=清理一年之前日志数据
-joblog_clean_type_5=清理一千条以前日志数据
-joblog_clean_type_6=清理一万条以前日志数据
-joblog_clean_type_7=清理三万条以前日志数据
-joblog_clean_type_8=清理十万条以前日志数据
-joblog_clean_type_9=清理所有日志数据
-joblog_clean_type_unvalid=清理类型参数异常
-joblog_handleCode_200=成功
-joblog_handleCode_500=失败
-joblog_handleCode_501=失败重试
-joblog_kill_log=终止任务
-joblog_kill_log_limit=调度失败,无法终止日志
-joblog_kill_log_byman=人为操作主动终止
-joblog_rolling_log=执行日志
-joblog_rolling_log_refresh=刷新
-joblog_rolling_log_triggerfail=任务发起调度失败,无法查看执行日志
-joblog_rolling_log_failoften=终止请求Rolling日志,请求失败次数超上限,可刷新页面重新加载日志
-joblog_logid_unvalid=日志ID非法
+joblog_name=Trigger Log
+joblog_status=Status
+joblog_status_all=All
+joblog_status_suc=Success
+joblog_status_fail=Fail
+joblog_status_running=Running
+joblog_field_triggerTime=Trigger Time
+joblog_field_triggerCode=Trigger Result
+joblog_field_triggerMsg=Trigger Msg
+joblog_field_handleTime=Handle Time
+joblog_field_handleCode=Handle Result
+joblog_field_handleMsg=Trigger Msg
+joblog_field_executorAddress=Executor Address
+joblog_clean=Clean
+joblog_clean_log=Clean Log
+joblog_clean_type=Clean Type
+joblog_clean_type_1=Clean up log data a month ago
+joblog_clean_type_2=Clean up log data three month ago
+joblog_clean_type_3=Clean up log data six month ago
+joblog_clean_type_4=Clean up log data a year ago
+joblog_clean_type_5=Clean up log data a thousand record ago
+joblog_clean_type_6=Clean up log data ten thousand record ago
+joblog_clean_type_7=Clean up log data thirty thousand record ago
+joblog_clean_type_8=Clean up log data hundred thousand record ago
+joblog_clean_type_9=Clean up all log data
+joblog_clean_type_unvalid=Clean type is illegal
+joblog_handleCode_200=Success
+joblog_handleCode_500=Fail
+joblog_handleCode_501=Fail retry
+joblog_kill_log=Kill Job
+joblog_kill_log_limit=Trigger Fail, can not kill job
+joblog_kill_log_byman=Manual operation to active kill job
+joblog_rolling_log=Rolling log
+joblog_rolling_log_refresh=Refresh 
+joblog_rolling_log_triggerfail=The job trigger fail, can not view the rolling log
+joblog_rolling_log_failoften=The request for the Rolling log is terminated, the number of failed requests exceeds the limit, Reload the log on the refresh page
+joblog_logid_unvalid=Log ID is illegal
 
 ## job group
-jobgroup_name=执行器管理
-jobgroup_list=执行器列表
-jobgroup_add=新增执行器
-jobgroup_edit=编辑执行器
-jobgroup_del=删除执行器
-jobgroup_field_order=排序
-jobgroup_field_title=名称
-jobgroup_field_addressType=注册方式
-jobgroup_field_addressType_0=自动注册
-jobgroup_field_addressType_1=手动录入
-jobgroup_field_addressType_limit=手动录入注册方式,机器地址不可为空
-jobgroup_field_registryList=机器地址
-jobgroup_field_registryList_unvalid=机器地址格式非法
-jobgroup_field_registryList_placeholder=请输入执行器地址列表,多地址逗号分隔
-jobgroup_field_appName_limit=限制以小写字母开头,由小写字母、数字和中划线组成
-jobgroup_field_appName_length=AppName长度限制为4~64
-jobgroup_field_title_length=名称长度限制为4~12
-jobgroup_field_order_digits=请输入整数
-jobgroup_field_orderrange=取值范围为1~1000
-jobgroup_del_limit_0=拒绝删除,该执行器使用中
-jobgroup_del_limit_1=拒绝删除, 系统至少保留一个执行器
+jobgroup_name=鎵ц�鍣ㄧ�鐞�
+jobgroup_list=鎵ц�鍣ㄥ垪琛�
+jobgroup_add=鏂板�鎵ц�鍣�
+jobgroup_edit=缂栬緫鎵ц�鍣�
+jobgroup_del=鍒犻櫎鎵ц�鍣�
+jobgroup_field_order=鎺掑簭
+jobgroup_field_title=鍚嶇О
+jobgroup_field_addressType=娉ㄥ唽鏂瑰紡
+jobgroup_field_addressType_0=鑷�姩娉ㄥ唽
+jobgroup_field_addressType_1=鎵嬪姩褰曞叆
+jobgroup_field_addressType_limit=鎵嬪姩褰曞叆娉ㄥ唽鏂瑰紡锛屾満鍣ㄥ湴鍧€涓嶅彲涓虹┖
+jobgroup_field_registryList=鏈哄櫒鍦板潃
+jobgroup_field_registryList_unvalid=鏈哄櫒鍦板潃鏍煎紡闈炴硶
+jobgroup_field_registryList_placeholder=璇疯緭鍏ユ墽琛屽櫒鍦板潃鍒楄〃锛屽�鍦板潃閫楀彿鍒嗛殧
+jobgroup_field_appName_limit=闄愬埗浠ュ皬鍐欏瓧姣嶅紑澶达紝鐢卞皬鍐欏瓧姣嶃€佹暟瀛楀拰涓�垝绾跨粍鎴�
+jobgroup_field_appName_length=AppName闀垮害闄愬埗涓�4~64
+jobgroup_field_title_length=鍚嶇О闀垮害闄愬埗涓�4~12
+jobgroup_field_order_digits=璇疯緭鍏ユ暣鏁�
+jobgroup_field_orderrange=鍙栧€艰寖鍥翠负1~1000
+jobgroup_del_limit_0=鎷掔粷鍒犻櫎锛岃�鎵ц�鍣ㄤ娇鐢ㄤ腑
+jobgroup_del_limit_1=鎷掔粷鍒犻櫎, 绯荤粺鑷冲皯淇濈暀涓€涓�墽琛屽櫒
 
 ## job conf
-jobconf_fail_alarm=失败告警
-jobconf_fail_retry=失败重试
-jobconf_route_first=第一个
-jobconf_route_last=最后一个
-jobconf_route_round=轮询
-jobconf_route_random=随机
-jobconf_route_consistenthash=一致性HASH
-jobconf_route_lfu=最不经常使用
-jobconf_route_lru=最近最久未使用
-jobconf_route_failover=故障转移
-jobconf_route_busyover=忙碌转移
-jobconf_route_shard=分片广播
-jobconf_idleBeat=空闲检测
-jobconf_beat=心跳检测
-jobconf_monitor=调度中心监控报警
-jobconf_monitor_detail=监控告警明细
-jobconf_monitor_alarm_title=告警类型
-jobconf_monitor_alarm_type=调度失败
-jobconf_trigger_admin_adress=调度机器
-jobconf_trigger_exe_regtype=执行器-注册方式
-jobconf_trigger_exe_regaddress=执行器-地址列表
-jobconf_trigger_address_empty=调度失败:执行器地址为空
-jobconf_trigger_run=触发调度
-jobconf_trigger_child_run=触发子任务
-jobconf_trigger_fail_retry=调度失败重试
-jobconf_exe_fail_retry=执行失败重试
-jobconf_callback_child_msg1={0}/{1} [任务ID={2}], 触发{3}, 触发备注: {4} <br>
-jobconf_callback_child_msg2={0}/{1} [任务ID={2}], 触发失败, 触发备注: 任务ID格式错误 <br>
-jobconf_callback_msg1=触发{0}, 触发备注: {1} <br>
+jobconf_fail_alarm=澶辫触鍛婅�
+jobconf_fail_retry=澶辫触閲嶈瘯
+jobconf_route_first=绗�竴涓�
+jobconf_route_last=鏈€鍚庝竴涓�
+jobconf_route_round=杞��
+jobconf_route_random=闅忔満
+jobconf_route_consistenthash=涓€鑷存€�ASH
+jobconf_route_lfu=鏈€涓嶇粡甯镐娇鐢�
+jobconf_route_lru=鏈€杩戞渶涔呮湭浣跨敤
+jobconf_route_failover=鏁呴殰杞�Щ
+jobconf_route_busyover=蹇欑�杞�Щ
+jobconf_route_shard=鍒嗙墖骞挎挱
+jobconf_idleBeat=绌洪棽妫€娴�
+jobconf_beat=蹇冭烦妫€娴�
+jobconf_monitor=璋冨害涓�績鐩戞帶鎶ヨ�
+jobconf_monitor_detail=鐩戞帶鍛婅�鏄庣粏
+jobconf_monitor_alarm_title=鍛婅�绫诲瀷
+jobconf_monitor_alarm_type=璋冨害澶辫触
+jobconf_trigger_admin_adress=璋冨害鏈哄櫒
+jobconf_trigger_exe_regtype=鎵ц�鍣�-娉ㄥ唽鏂瑰紡
+jobconf_trigger_exe_regaddress=鎵ц�鍣�-鍦板潃鍒楄〃
+jobconf_trigger_address_empty=璋冨害澶辫触锛氭墽琛屽櫒鍦板潃涓虹┖
+jobconf_trigger_run=瑙﹀彂璋冨害
+jobconf_trigger_child_run=瑙﹀彂瀛愪换鍔�
+jobconf_trigger_fail_retry=璋冨害澶辫触閲嶈瘯
+jobconf_exe_fail_retry=鎵ц�澶辫触閲嶈瘯
+jobconf_callback_child_msg1={0}/{1} [浠诲姟ID={2}], 瑙﹀彂{3}, 瑙﹀彂澶囨敞: {4} <br>
+jobconf_callback_child_msg2={0}/{1} [浠诲姟ID={2}], 瑙﹀彂澶辫触, 瑙﹀彂澶囨敞: 浠诲姟ID鏍煎紡閿欒� <br>
+jobconf_callback_msg1=瑙﹀彂{0}, 瑙﹀彂澶囨敞: {1} <br>
 
 ## help
-job_help=使用教程
-job_help_document=官方文档
+job_help=浣跨敤鏁欑▼
+job_help_document=瀹樻柟鏂囨。