Browse Source

后端代码国际化定制

xuxueli 7 years ago
parent
commit
0346ddbb91

+ 9 - 3
xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/I18nUtil.java View File

@@ -1,6 +1,7 @@
1 1
 package com.xxl.job.admin.core.util;
2 2
 
3 3
 import com.xxl.job.core.util.JacksonUtil;
4
+import org.apache.commons.lang3.StringUtils;
4 5
 import org.slf4j.Logger;
5 6
 import org.slf4j.LoggerFactory;
6 7
 import org.springframework.core.io.ClassPathResource;
@@ -9,6 +10,7 @@ import org.springframework.core.io.support.EncodedResource;
9 10
 import org.springframework.core.io.support.PropertiesLoaderUtils;
10 11
 
11 12
 import java.io.IOException;
13
+import java.text.MessageFormat;
12 14
 import java.util.HashMap;
13 15
 import java.util.Map;
14 16
 import java.util.Properties;
@@ -21,15 +23,19 @@ import java.util.Properties;
21 23
 public class I18nUtil {
22 24
     private static Logger logger = LoggerFactory.getLogger(I18nUtil.class);
23 25
 
24
-    private static final String i18n_file = "i18n/message.properties";
25
-
26 26
     private static Properties prop = null;
27 27
     public static Properties loadI18nProp(){
28 28
         if (prop != null) {
29 29
             //return prop;
30 30
         }
31 31
         try {
32
-            Resource resource = new ClassPathResource(i18n_file);
32
+            // bild i18n prop
33
+            String i18n = PropertiesUtil.getString("xxl.job.i18n");
34
+            i18n = StringUtils.isNotBlank(i18n)?("_"+i18n):i18n;
35
+            String i18nFile =MessageFormat.format("i18n/message{0}.properties", i18n);
36
+
37
+            // load prop
38
+            Resource resource = new ClassPathResource(i18nFile);
33 39
             EncodedResource encodedResource = new EncodedResource(resource,"UTF-8");
34 40
             prop = PropertiesLoaderUtils.loadProperties(encodedResource);
35 41
         } catch (IOException e) {

+ 224 - 1
xxl-job-admin/src/main/resources/i18n/message_en.properties View File

@@ -1,6 +1,229 @@
1 1
 admin_name=Job Scheduling Center 
2
+admin_name_full=Distributed Task Scheduling Platform XXL-JOB
3
+admin_version=1.9.1(快照版本)
2 4
 
5
+## system
6
+system_tips=系统提示
7
+system_ok=确定
8
+system_close=关闭
9
+system_save=保存
10
+system_cancel=取消
11
+system_search=搜索
12
+system_status=状态
13
+system_opt=操作
14
+system_please_input=请输入
15
+system_please_choose=请选择
16
+system_success=成功
17
+system_fail=失败
18
+system_add_suc=新增成功
19
+system_add_fail=新增失败
20
+system_update_suc=更新成功
21
+system_update_fail=更新失败
22
+system_all=全部
23
+system_api_error=接口异常
24
+system_show=查看
25
+system_empty=无
26
+system_opt_suc=操作成功
27
+system_opt_fail=操作失败
28
+system_opt_edit=编辑
29
+system_opt_del=删除
30
+system_unvalid=非法
31
+system_not_found=不存在
32
+
33
+## daterangepicker
34
+daterangepicker_ranges_recent_hour=最近一小时
35
+daterangepicker_ranges_today=今日
36
+daterangepicker_ranges_yesterday=昨日
37
+daterangepicker_ranges_this_month=本月
38
+daterangepicker_ranges_last_month=上个月
39
+daterangepicker_ranges_recent_week=最近一周
40
+daterangepicker_ranges_recent_month=最近一月
41
+daterangepicker_custom_name=自定义
42
+daterangepicker_custom_starttime=起始时间
43
+daterangepicker_custom_endtime=结束时间
44
+daterangepicker_custom_daysofweek=日,一,二,三,四,五,六
45
+daterangepicker_custom_monthnames=一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月
46
+
47
+## dataTable
48
+dataTable_sProcessing=处理中...
49
+dataTable_sLengthMenu=每页 _MENU_ 条记录
50
+dataTable_sZeroRecords=没有匹配结果
51
+dataTable_sInfo=第 _PAGE_ 页 ( 总共 _PAGES_ 页,_TOTAL_ 条记录 )
52
+dataTable_sInfoEmpty=无记录
53
+dataTable_sInfoFiltered=(由 _MAX_ 项结果过滤)
54
+dataTable_sSearch=搜索
55
+dataTable_sEmptyTable=表中数据为空
56
+dataTable_sLoadingRecords=载入中...
57
+dataTable_sFirst=首页
58
+dataTable_sPrevious=上页
59
+dataTable_sNext=下页
60
+dataTable_sLast=末页
61
+dataTable_sSortAscending=: 以升序排列此列
62
+dataTable_sSortDescending=: 以降序排列此列
63
+
64
+## login
3 65
 login_btn=Login
4 66
 login_remember_me=Remember Me
5 67
 login_username_placeholder=Please input username
6
-login_password_placeholder=Please input password
68
+login_password_placeholder=Please input password
69
+login_username_empty=请输入登录账号
70
+login_username_lt_5=登录账号不应低于5位
71
+login_password_empty=请输入登录密码
72
+login_password_lt_5=登录密码不应低于5位
73
+login_success=登录成功
74
+login_fail=登录失败
75
+login_param_empty=账号或密码为空
76
+login_param_unvalid=账号或密码错误
77
+
78
+## logout
79
+logout_btn=注销
80
+logout_confirm=确认注销登录?
81
+logout_success=注销成功
82
+logout_fail=注销失败
83
+
84
+## dashboard
85
+job_dashboard_name=运行报表
86
+job_dashboard_job_num=任务数量
87
+job_dashboard_job_num_tip=调度中心运行的任务数量
88
+job_dashboard_trigger_num=调度次数
89
+job_dashboard_trigger_num_tip=调度中心触发的调度次数
90
+job_dashboard_jobgroup_num=执行器数量
91
+job_dashboard_jobgroup_num_tip=调度中心在线的执行器机器数量
92
+job_dashboard_report=调度报表
93
+job_dashboard_report_loaddata_fail=调度报表数据加载异常
94
+job_dashboard_date_report=日期分布图
95
+job_dashboard_date_report_suc_count=成功调度次数
96
+job_dashboard_date_report_fail_count=失败调度次数
97
+job_dashboard_rate_report=成功比例图
98
+job_dashboard_rate_report_suc_count=成功调度次数
99
+job_dashboard_rate_report_fail_count=失败调度次数
100
+
101
+## job info
102
+jobinfo_name=任务管理
103
+jobinfo_job=任务
104
+jobinfo_field_add=新增任务
105
+jobinfo_field_update=更新任务
106
+jobinfo_field_id=任务ID
107
+jobinfo_field_jobgroup=执行器
108
+jobinfo_field_jobdesc=任务描述
109
+jobinfo_field_gluetype=运行模式
110
+jobinfo_field_executorparam=任务参数
111
+jobinfo_field_cron_unvalid=请输入格式正确的Cron
112
+jobinfo_field_author=负责人
113
+jobinfo_field_alarmemail=报警邮件
114
+jobinfo_field_alarmemail_placeholder=请输入报警邮件,多个邮件地址则逗号分隔
115
+jobinfo_field_executorRouteStrategy=路由策略
116
+jobinfo_field_childJobId=子任务ID
117
+jobinfo_field_childJobId_limit=子任务ID({0})不可与父任务重复
118
+jobinfo_field_childJobId_placeholder=请输入子任务的任务ID,如存在多个则逗号分隔
119
+jobinfo_field_executorBlockStrategy=阻塞处理策略
120
+jobinfo_field_executorFailStrategy=失败处理策略
121
+jobinfo_script_location=脚本位置
122
+jobinfo_shard_index=分片序号
123
+jobinfo_shard_total=分片总数
124
+jobinfo_opt_pause=暂停
125
+jobinfo_opt_resume=恢复
126
+jobinfo_opt_log=日志
127
+jobinfo_opt_run=执行
128
+jobinfo_glue_remark=源码备注
129
+jobinfo_glue_remark_limit=源码备注长度限制为4~100
130
+jobinfo_glue_rollback=版本回溯
131
+jobinfo_glue_jobid_unvalid=任务ID非法
132
+jobinfo_glue_gluetype_unvalid=该任务非GLUE模式
133
+
134
+## job log
135
+joblog_name=调度日志
136
+joblog_status=状态
137
+joblog_status_all=全部
138
+joblog_status_suc=成功
139
+joblog_status_fail=失败
140
+joblog_status_running=进行中
141
+joblog_field_triggerTime=调度时间
142
+joblog_field_triggerCode=调度结果
143
+joblog_field_triggerMsg=调度备注
144
+joblog_field_handleTime=执行时间
145
+joblog_field_handleCode=执行结果
146
+joblog_field_handleMsg=执行备注
147
+joblog_field_executorAddress=执行器地址
148
+joblog_clean=清理
149
+joblog_clean_log=日志清理
150
+joblog_clean_type=清理方式
151
+joblog_clean_type_1=清理一个月之前日志数据
152
+joblog_clean_type_2=清理三个月之前日志数据
153
+joblog_clean_type_3=清理六个月之前日志数据
154
+joblog_clean_type_4=清理一年之前日志数据
155
+joblog_clean_type_5=清理一千条以前日志数据
156
+joblog_clean_type_6=清理一万条以前日志数据
157
+joblog_clean_type_7=清理三万条以前日志数据
158
+joblog_clean_type_8=清理十万条以前日志数据
159
+joblog_clean_type_9=清理所有日志数据
160
+joblog_clean_type_unvalid=清理类型参数异常
161
+joblog_handleCode_200=成功
162
+joblog_handleCode_500=失败
163
+joblog_handleCode_501=失败重试
164
+joblog_kill_log=终止任务
165
+joblog_kill_log_limit=调度失败,无法终止日志
166
+joblog_kill_log_byman=人为操作主动终止
167
+joblog_rolling_log=执行日志
168
+joblog_rolling_log_refresh=刷新
169
+joblog_rolling_log_triggerfail=任务发起调度失败,无法查看执行日志
170
+joblog_rolling_log_failoften=终止请求Rolling日志,请求失败次数超上限,可刷新页面重新加载日志
171
+joblog_logid_unvalid=日志ID非法
172
+
173
+## job group
174
+jobgroup_name=执行器管理
175
+jobgroup_list=执行器列表
176
+jobgroup_add=新增执行器
177
+jobgroup_edit=编辑执行器
178
+jobgroup_del=删除执行器
179
+jobgroup_field_order=排序
180
+jobgroup_field_title=名称
181
+jobgroup_field_addressType=注册方式
182
+jobgroup_field_addressType_0=自动注册
183
+jobgroup_field_addressType_1=手动录入
184
+jobgroup_field_addressType_limit=手动录入注册方式,机器地址不可为空
185
+jobgroup_field_registryList=机器地址
186
+jobgroup_field_registryList_unvalid=机器地址格式非法
187
+jobgroup_field_registryList_placeholder=请输入执行器地址列表,多地址逗号分隔
188
+jobgroup_field_appName_limit=限制以小写字母开头,由小写字母、数字和中划线组成
189
+jobgroup_field_appName_length=AppName长度限制为4~64
190
+jobgroup_field_title_length=名称长度限制为4~12
191
+jobgroup_field_order_digits=请输入整数
192
+jobgroup_field_orderrange=取值范围为1~1000
193
+jobgroup_del_limit_0=拒绝删除,该执行器使用中
194
+jobgroup_del_limit_1=拒绝删除, 系统至少保留一个执行器
195
+
196
+## job conf
197
+jobconf_fail_alarm=失败告警
198
+jobconf_fail_retry=失败重试
199
+jobconf_route_first=第一个
200
+jobconf_route_last=最后一个
201
+jobconf_route_round=轮询
202
+jobconf_route_random=随机
203
+jobconf_route_consistenthash=一致性HASH
204
+jobconf_route_lfu=最不经常使用
205
+jobconf_route_lru=最近最久未使用
206
+jobconf_route_failover=故障转移
207
+jobconf_route_busyover=忙碌转移
208
+jobconf_route_shard=分片广播
209
+jobconf_idleBeat=空闲检测
210
+jobconf_beat=心跳检测
211
+jobconf_monitor=调度中心监控报警
212
+jobconf_monitor_detail=监控告警明细
213
+jobconf_monitor_alarm_title=告警类型
214
+jobconf_monitor_alarm_type=调度失败
215
+jobconf_trigger_admin_adress=调度机器
216
+jobconf_trigger_exe_regtype=执行器-注册方式
217
+jobconf_trigger_exe_regaddress=执行器-地址列表
218
+jobconf_trigger_address_empty=调度失败:执行器地址为空
219
+jobconf_trigger_run=触发调度
220
+jobconf_trigger_child_run=触发子任务
221
+jobconf_trigger_fail_retry=调度失败重试
222
+jobconf_exe_fail_retry=执行失败重试
223
+jobconf_callback_child_msg1={0}/{1} [任务ID={2}], 触发{3}, 触发备注: {4} <br>
224
+jobconf_callback_child_msg2={0}/{1} [任务ID={2}], 触发失败, 触发备注: 任务ID格式错误 <br>
225
+jobconf_callback_msg1=触发{0}, 触发备注: {1} <br>
226
+
227
+## help
228
+job_help=使用教程
229
+job_help_document=官方文档

+ 4 - 1
xxl-job-admin/src/main/resources/xxl-job-admin.properties View File

@@ -16,4 +16,7 @@ xxl.job.login.username=admin
16 16
 xxl.job.login.password=123456
17 17
 
18 18
 ### xxl-job, access token
19
-xxl.job.accessToken=
19
+xxl.job.accessToken=
20
+
21
+### xxl-job, i18n (default empty as chinese, "en" as english)
22
+xxl.job.i18n=en