diff --git a/modules/core/pom.xml b/modules/core/pom.xml index f49f981e..45770762 100644 --- a/modules/core/pom.xml +++ b/modules/core/pom.xml @@ -45,21 +45,6 @@ postgresql runtime - - diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java index 0d0e76d0..43c29841 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/CompanyController.java @@ -247,10 +247,10 @@ public class CompanyController extends BaseController { @ResponseBody public String fixTreeData() { if (!UserUtils.getUser().isAdmin()){ - return renderResult(Global.FALSE, "操作失败,只有管理员才能进行修复!"); + return renderResult(Global.FALSE, text("操作失败,只有管理员才能进行修复!")); } companyService.fixTreeData(); - return renderResult(Global.TRUE, "数据修复成功"); + return renderResult(Global.TRUE, text("数据修复成功")); } } \ No newline at end of file diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java index 97baa5af..10079ba4 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/OfficeController.java @@ -293,10 +293,10 @@ public class OfficeController extends BaseController { @ResponseBody public String fixTreeData() { if (!UserUtils.getUser().isAdmin()){ - return renderResult(Global.FALSE, "操作失败,只有管理员才能进行修复!"); + return renderResult(Global.FALSE, text("操作失败,只有管理员才能进行修复!")); } officeService.fixTreeData(); - return renderResult(Global.TRUE, "数据修复成功"); + return renderResult(Global.TRUE, text("数据修复成功")); } } diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/OnlineController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/OnlineController.java index 5a5c6cca..a82121ef 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/OnlineController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/OnlineController.java @@ -159,9 +159,9 @@ public class OnlineController extends BaseController{ } CacheUtils.put("onlineTickOutMap", onlineTickOutMap); sessionDAO.delete(session); - return renderResult(Global.TRUE, "踢出已成功!"); + return renderResult(Global.TRUE, text("踢出已成功!")); } - return renderResult(Global.FALSE, "踢出失败,没有找到该在线用户!"); + return renderResult(Global.FALSE, text("踢出失败,没有找到该在线用户!")); } } diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/user/AccountController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/user/AccountController.java index f35c3051..9d9b0581 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/user/AccountController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/user/AccountController.java @@ -306,7 +306,7 @@ public class AccountController extends BaseController{ } // 验证用户编码是否存在。 if (UserUtils.getByLoginCode(user.getLoginCode()) != null){ - return renderResult(Global.FALSE, text("登录账号已存在!")); + return renderResult(Global.FALSE, text("登录账号已存在")); } // 生成验证码,并缓存。 String code = StringUtils.getRandomNum(6); diff --git a/modules/core/src/main/resources/i18n/core/common/i18n_en.properties b/modules/core/src/main/resources/i18n/core/common/i18n_en.properties index 63512745..c0125ea1 100644 --- a/modules/core/src/main/resources/i18n/core/common/i18n_en.properties +++ b/modules/core/src/main/resources/i18n/core/common/i18n_en.properties @@ -1,5 +1,5 @@ -# =========== 登录登出相关 =========== +# =========== 登录登出相关 =========== sys.login.notLongIn=No login or login timeout.Please login again, thank you! sys.login.success=Login successful! @@ -8,7 +8,7 @@ sys.login.failure=Account or password error, please try again. sys.login.error=Sorry, system error. Please try again later. sys.logout.success=Logout successful! -# =========== 账号登录相关 =========== +# =========== 账号登录相关 =========== sys.login.accountIsBlank=Login account cannot be empty. sys.login.validCodeError=Login verification code error. @@ -20,14 +20,14 @@ sys.login.tickOutMessage=The account has been removed by the administrator. Plea sys.login.multiAddrMessage=The account has been logged in elsewhere. Please login again. sys.login.failedNumLock=Login failed, try too many times, the account has been locked, please {0} in minutes after retry. -# =========== 用户管理相关 =========== +# =========== 用户管理相关 =========== sys.user.loginCodeExists=Login account already exists. sys.user.userCodeNotExists=UserCode does not exist. sys.user.userNameNotBlank=UserName does not empty. sys.user.infoSaveSuccess=User info save success. -# =========== 用户密码安全策略 =========== +# =========== 用户密码安全策略 =========== sys.user.oldPasswordError=Old password error, please retype. sys.user.confirmPasswrodError=The new password is different from the confirm password. please retype. @@ -40,7 +40,7 @@ sys.user.passwordError=Password error, please retype. sys.user.pwdQuestionModifySuccess=The security problem modified success. sys.user.pwdQuestionAnswerError=The questions and answers are incorrect. -# =========== 错误页面相关 =========== +# =========== 错误页面相关 =========== sys.error.400.title=Request parameter error sys.error.400.message=Request parameter error, server cannot parse. @@ -58,7 +58,7 @@ sys.error.500.message=The page you visited error! sys.error.500.message.p1=Sorry, there is a problem on the page you visited, please contact the administrator in time! sys.error.returnButton=Previous page -# =========== 文件上传相关 =========== +# =========== 文件上传相关 =========== sys.file.uploadFileIsEmpty=No files to upload! sys.file.uploadValidNotBlank=File md5 and file name cannot be empty! diff --git a/modules/core/src/main/resources/i18n/core/common/i18n_zh_CN.properties b/modules/core/src/main/resources/i18n/core/common/i18n_zh_CN.properties index c87932da..da506252 100644 --- a/modules/core/src/main/resources/i18n/core/common/i18n_zh_CN.properties +++ b/modules/core/src/main/resources/i18n/core/common/i18n_zh_CN.properties @@ -1,5 +1,5 @@ -# =========== 登录登出相关 =========== +# =========== 登录登出相关 =========== sys.login.notLongIn=未登录或登录超时。请重新登录,谢谢! sys.login.success=登录成功! @@ -8,7 +8,7 @@ sys.login.failure=账号或密码错误,请重试。 sys.login.error=对不起,系统遇见了点问题,请稍候再试! sys.logout.success=退出成功! -# =========== 账号登录相关 =========== +# =========== 账号登录相关 =========== sys.login.accountIsBlank=登录账号不能为空。 sys.login.validCodeError=登录验证码错误,请重试。 @@ -20,14 +20,14 @@ sys.login.tickOutMessage=账号已被管理员移出在线,请重新登录。 sys.login.multiAddrMessage=账号已在其它地方登录,请重新登录。 sys.login.failedNumLock=登录失败,尝试次数过多,账号已锁定,请 {0} 分钟后重试. -# =========== 用户管理相关 =========== +# =========== 用户管理相关 =========== sys.user.loginCodeExists=登录账号已存在 sys.user.userCodeNotExists=用户编码不存在 sys.user.userNameNotBlank=用户昵称不能为空 sys.user.infoSaveSuccess=用户信息保存成功 -# =========== 用户密码安全策略 =========== +# =========== 用户密码安全策略 =========== sys.user.oldPasswordError=旧密码错误,请重新输入 sys.user.confirmPasswrodError=新密码与确认新密码不同,请重新输入 @@ -40,7 +40,7 @@ sys.user.passwordError=登录密码错误,请重新输入 sys.user.pwdQuestionModifySuccess=密保问题修改成功 sys.user.pwdQuestionAnswerError=密保问题与答案不正确 -# =========== 错误页面相关 =========== +# =========== 错误页面相关 =========== sys.error.400.title=请求参数错误 sys.error.400.message=请求参数错误,服务器无法解析。 @@ -58,7 +58,7 @@ sys.error.500.message=您访问的页面出错啦! sys.error.500.message.p1=对不起,你访问的页面出现了一点问题,请及时联系管理员解决! sys.error.returnButton=返回上一页 -# =========== 文件上传相关 =========== +# =========== 文件上传相关 =========== sys.file.uploadFileIsEmpty=服务器上没有这个文件! sys.file.uploadValidNotBlank=文件校验码和文件名不能为空! diff --git a/modules/core/src/main/resources/i18n/core/common_view/i18n_en.properties b/modules/core/src/main/resources/i18n/core/common_view/i18n_en.properties index e9013581..a521811d 100644 --- a/modules/core/src/main/resources/i18n/core/common_view/i18n_en.properties +++ b/modules/core/src/main/resources/i18n/core/common_view/i18n_en.properties @@ -1,5 +1,5 @@ -# =========== common =========== +# =========== common =========== 保\ 存=Save 关\ 闭=Close @@ -28,7 +28,7 @@ 取消选择=Cancel select 当前已选择\ {0}\ 项=Select {0} items -# =========== imageclip =========== +# =========== imageclip =========== 图片裁剪=Image clip 选择图片=Select image @@ -43,7 +43,7 @@ 水平反转=Horizontal inversion 左右反转=Left and right reverse -# =========== treeselect =========== +# =========== treeselect =========== 选项选择=Option select 显示搜索=Show search @@ -56,7 +56,7 @@ 不能选择父节点=Cannot select parent node 请重新选择=Please reselect -# =========== fileupload =========== +# =========== fileupload =========== 文件=File 文档=Document @@ -67,17 +67,17 @@ 或将照片拖到这里,最多可选\ {0}\ 张=Drag the photo here, at most \ {0} \ sheet 或将文件拖到这里,最多可选\ {0}\ 个=Drag the file here, at most \ {0} -# =========== iconselect =========== +# =========== iconselect =========== 图标选择=Icon select 提示:双击选择图标。=Tip: double-click the selection icon. -# =========== ueditor =========== +# =========== ueditor =========== 目录标题=Directory title 暂无大纲标题=There is no outline title. -# =========== validcode =========== +# =========== validcode =========== 验证码=Captcha 请填写验证码=Please fill in the captcha. diff --git a/modules/core/src/main/resources/i18n/core/job/i18n_en.properties b/modules/core/src/main/resources/i18n/core/job/i18n_en.properties new file mode 100644 index 00000000..c007355b --- /dev/null +++ b/modules/core/src/main/resources/i18n/core/job/i18n_en.properties @@ -0,0 +1,128 @@ + +#=========== 作业监控 =========== + +名称及组名已经存在=The name and group name already exist +目标字符串=Target string +调用目标字符串中,没有这个类:=Call target string without this class: +调用目标字符串中,没有这个方法:=Call target string without this method: +调用目标字符串不能为空!=Call target string cannot be empty! +调用目标字符串中,找不到该Bean名或Class名:=Bean name or Class name cannot be found in the invocation target string: +最近\ {0}\ 次运行时间=Last \ {0}\ run time +Cron表达式正确。=Cron expression is correct. +Cron表达式错误:=Cron expression error: +保存任务成功=Save task successful +启动定时器失败=Start timer failed +启动定时器成功=Start timer successfully +停止定时器失败=Stop timer failed +停止定时器成功=Stop timer successful +暂停运行成功=Suspended run successful +恢复运行成功=Resume run successful +运行一次成功=Run one successful +删除任务成功=Delete task successful +添加任务失败=Add task failed +暂停运行失败=Suspension failure +恢复运行失败=Recovery operation failed +运行一次失败=Run one failure +删除任务失败=Delete task failed + +新增作业调度=New job scheduling +编辑作业调度=Edit job scheduling +任务名称=Task name +任务分组=Task group +任务描述=Task description +调用目标串=Call target string +Cron执行表达式=Cron expressions +计划错误策略=Planning error strategy +是否并发执行=Concurrent execution +请填写Cron表达式!=Please fill in the Cron expression! +作业调度=Job scheduling +定时器=The timer +运行中=In the operation of the +停止中=Stop in the +运行定时器=Running timer +启动定时器=Start timer +停止定时器=Stop timer +刷新页面=Refresh the page +作业调度日志=Job scheduling log +调度日志=Operation log +调用目标字符串=Call target string +周期表达式=Periodic expression +上次运行时间=Last run time +下次运行时间=Next run time +恢复作业=Restore operation +确认要恢复该作业吗?=Are you sure you want to resume the job? +暂停作业=Suspend operations +确认要暂停该作业吗?=Are you sure you want to suspend the job? +立即运行一次=Run once now +确认要立即运行一次该作业吗?=Confirm that you want to run the job once? +编辑作业=Edit operations +删除作业=Delete operation +确认要删除该作业吗?=Are you sure you want to delete the job? + +监控调度日志=Monitor scheduling log +页面已刷新。=The page has been refreshed. +日志类型=Log type +日志事件=Log event +日志信息=Log information +发生时间=Time of occurrence +异常信息=Exception information +调度日志查询=Scheduling log query +任务组名=The task group name +是否异常=Exception +查看日志=View log + +错过计划等待本次计划完成后立即执行一次=Miss the plan to wait for the completion of the plan immediately executed once +本次执行时间根据上次结束时间重新计算(时间间隔方式)=This execution time is recalculated according to the last end time (time interval) + +默认=Default +系统=System + +#=========== 作业监控 Cron =========== + +Cron表达式生成器=Cron generator +刷新=The refresh +每秒=second +允许的通配符=Allowed wildcards +周期从=Cycle from +秒=seconds +从=From +秒开始,每=seconds start, per +秒执行一次=execute once per second +指定=the specified +分钟=minutes +分钟开始,每=minutes start each +分钟执行一次=execute once per minute +小时=hours +小时开始,每=Hours start every hour +小时执行一次=Hourly execution +上午=AM +下午=PM +日=day +不指定=do not specify +日开始,每=every day begins +天执行一次=daily execution +每月=a month +号最近的那个工作日=on the nearest working day +本月最后一天=the last day of the month +月=month +月执行一次=monthly execution +周=weeks +周期\ 从星期=cycle from week +星期=week +的,\ 第=the first +本月最后一个星期=the last week of the month +周日=Sunday +周一=Monday +周二=Tuesday +周三=Wednesday +周四=Thursday +周五=Friday +周六=Saturday +非必填=Not required +每年=Every year, +周期\ 从=Cycle from +表达式=expression +年=years +表达式字段=Field +Cron\ 表达式=Cron +表达式反解析到界面=Reverse mapping diff --git a/modules/core/src/main/resources/i18n/core/job/i18n_ja_JP.properties b/modules/core/src/main/resources/i18n/core/job/i18n_ja_JP.properties new file mode 100644 index 00000000..debed599 --- /dev/null +++ b/modules/core/src/main/resources/i18n/core/job/i18n_ja_JP.properties @@ -0,0 +1,129 @@ + +#=========== 作业监控 =========== + +名称及组名已经存在=名称およびグループ名はすでに存在する +目标字符串=ターゲット文字列 +调用目标字符串中,没有这个类:=呼び出し先文字列には,このクラスはない: +调用目标字符串中,没有这个方法:=呼び出し先の文字列には,この方法はない: +调用目标字符串不能为空!=呼び出し先文字列は空ではない! +调用目标字符串中,找不到该Bean名或Class名:=呼び出し先の文字列には,そのBean名やClass名が見つからない: +最近\ {0}\ 次运行时间=最近の\{0}\回の実行時間 +Cron表达式正确。=Cron式は正しい。 +Cron表达式错误:=Cron式のエラー: +保存任务成功=保存任務に成功 +启动定时器失败=タイマー起動に失敗 +启动定时器成功=タイマー起動成功 +停止定时器失败=タイマー停止失敗 +停止定时器成功=タイマー停止成功 +暂停运行成功=一時停止に成功 +恢复运行成功=運行再開に成功した +运行一次成功=1回成功 +删除任务成功=削除タスク成功 +添加任务失败=タスク追加失敗 +暂停运行失败=一時停止に失敗 +恢复运行失败=再開に失敗 +运行一次失败=一度の失敗 +删除任务失败=削除タスク失敗 + +新增作业调度=ジョブ・スケジューラの追加 +编辑作业调度=編集ジョブスケジュール +任务名称=タスク名 +任务分组=タスクグループ +任务描述=タスク記述 +调用目标串=オブジェクト列を呼び出す +Cron执行表达式=Cronは式を実行する +计划错误策略=計画を誤る策略。 +是否并发执行=並行実行の有無 +请填写Cron表达式!=Cron式を記入してください! +作业调度=ジョブスケジューリング +定时器=タイマー +运行中=運行中 +停止中=停止中 +运行定时器=実行タイマー +启动定时器=起動タイマー +停止定时器=タイマーを止める +刷新页面=ページを刷新する +作业调度日志=ジョブスケジュール履歴 +调度日志=スケジュールログ +调用目标字符串=呼び出し先文字列 +周期表达式=周期表現 +上次运行时间=前回の運行時間 +下次运行时间=次回の運行時間 +恢复作业=復旧作業 +确认要恢复该作业吗?=この作業を復旧することを確認しますか? +暂停作业=作業を一時停止する +确认要暂停该作业吗?=確認暂停同作業をするの? +立即运行一次=直ちに一回運行 +确认要立即运行一次该作业吗?=直ちに確認運行に一度この宿题? +编辑作业=編集作業 +删除作业=削除作 +确认要删除该作业吗?=確認を削除しなければならないこの宿题? + +监控调度日志=監視スケジュールログ +页面已刷新。=ページが更新された。 +日志类型=ログ型 +日志事件=ログ事件 +日志信息=ログ情報 +发生时间=発生時刻 +异常信息=異常情報 +调度日志查询=ログ検索 +任务组名=タスクグループ名 +是否异常=異常かどうか +查看日志=ログを見る + +错过计划等待本次计划完成后立即执行一次=計画を見逃せば、今回の計画が完了すればすぐに実行される +本次执行时间根据上次结束时间重新计算(时间间隔方式)=今回の実行時間を前回の終了時間から再計算する(時間間隔方式)。 + +默认=黙認 +系统=システム + +#=========== 作业监控 Cron =========== + +Cron表达式生成器=Cron表現生成器 +刷新=更新 +每秒=秒速 +允许的通配符=許されたワイルドカード +周期从=周期は +秒=秒 +从=から +秒开始,每=秒が始まるごとに +秒执行一次=秒に1回 +指定=指定 +分钟=分 +分钟开始,每=分から、毎 +分钟执行一次=分に1回 +小时=時間 +小时开始,每=時間が始まるごとに +小时执行一次=1時間に1回 +上午=午前 +下午=午後 +日=日 +不指定=指定しない +日开始,每=日が始まる +天执行一次=日に一度 +每月=毎月 +号最近的那个工作日=日の一番近い勤務日です +本月最后一天=今月最後の日 +月=月 +月执行一次=月に1回 +周=周 +周期\ 从星期=周期は曜日 +星期=曜日 +的,\ 第=的,第 +本月最后一个星期=今月最後の一週間 +周日=日曜日 +周一=月曜日 +周二=火曜日 +周三=水曜 +周四=木曜日 +周五=金曜日 +周六=土曜日に +非必填=非必填 +每年=毎年 +周期\ 从=周期は +表达式=数式 +年=年 +表达式字段=エクスプレションフィールド +Cron\ 表达式=Cron +表达式反解析到界面=エクスプレションと反解析にインタフェース + diff --git a/modules/core/src/main/resources/i18n/core/msg/i18n_en.properties b/modules/core/src/main/resources/i18n/core/msg/i18n_en.properties index e3abacdc..15fb365b 100644 --- a/modules/core/src/main/resources/i18n/core/msg/i18n_en.properties +++ b/modules/core/src/main/resources/i18n/core/msg/i18n_en.properties @@ -1,5 +1,5 @@ -# =========== 消息提醒 =========== +# =========== 消息提醒 =========== 消息=Message 你有\ {0}\ 条消息=You have {0} messages @@ -8,7 +8,7 @@ 系统消息=System message 您有\ {0}\ 条新消息,由于消息太多,这里为您合并,请点击查看按钮看详情。=You have {0} new message, because there are too many messages, for you merge, click View see details. -# =========== 消息提醒列表 =========== +# =========== 消息提醒列表 =========== 未读消息=Unread message 已读消息=Read message @@ -21,7 +21,7 @@ 全部标记已读成功!=All marks read successfully! 是否要将全部未读信息标记为已读?=Do you want to mark all unread information as read? -# =========== 消息推送管理 =========== +# =========== 消息推送管理 =========== 消息推送=Message Push 未完成消息=Uncompleted message @@ -56,7 +56,7 @@ 删除消息推送成功!=Delete message push successfully! -# =========== 消息模板管理 =========== +# =========== 消息模板管理 =========== 消息模板管理=Message template 新增消息模板=New message template @@ -70,7 +70,7 @@ 模板内容=Template content 语法格式=Content syntax format -# =========== 消息相关字典 =========== +# =========== 消息相关字典 =========== 短信=SMS 邮件=Email diff --git a/modules/core/src/main/resources/i18n/core/msg/i18n_ja_JP.properties b/modules/core/src/main/resources/i18n/core/msg/i18n_ja_JP.properties index ab37de94..bcffdd1c 100644 --- a/modules/core/src/main/resources/i18n/core/msg/i18n_ja_JP.properties +++ b/modules/core/src/main/resources/i18n/core/msg/i18n_ja_JP.properties @@ -8,3 +8,78 @@ 系统消息=システムメッセージ 您有\ {0}\ 条新消息,由于消息太多,这里为您合并,请点击查看按钮看详情。=見読メッセージ {0} 件, 省略で表示しているため, クリックで一覧を見る. +# =========== 消息提醒列表 =========== + +未读消息=Unread message +已读消息=Read message + +发送者=The sender +发送时间=Sending time +延迟推送=Delay delivery + +全部标记为已读=All marked as read +全部标记已读成功!=All marks read successfully! +是否要将全部未读信息标记为已读?=Do you want to mark all unread information as read? + +# =========== 消息推送管理 =========== + +消息推送=Message Push +未完成消息=Uncompleted message +已完成消息=Completed message + +消息类型=Message type +消息标题=Message title +消息内容=Message content +业务主键=Business key +业务类型=Business type +接受者信息=Receiver information +接受者账号=Receiver account +接受者姓名=Receiver name +接受者编码=Receiver code +发送者信息=Sender message +发送者编码=Sender code +发送者姓名=Sender name +发送时间=Sending time +合并推送=Merge push +计划推送时间=Plan push time +推送状态信息=Push status information +推送次数=Push status +推送返回结果码=Push return result code +推送返回消息编号=Push return message code +推送返回的内容信息=Push return content +推送状态=Push status +推送时间=Push time +读取状态信息=Read status information +读取状态=Read status +读取时间=Read time + +删除消息推送成功!=Delete message push successfully! + + +# =========== 消息模板管理 =========== + +消息模板管理=Message template +新增消息模板=New message template +编辑消息模板=Edit message template +删除消息模板=Delete message template + +模板类型=Template type +模板键值=Template key +模板名称=Template name +归属模块=Module +模板内容=Template content +语法格式=Content syntax format + +# =========== 消息相关字典 =========== + +短信=SMS +邮件=Email +微信=WeChat + +待推送=Wait push +成功=Success +失败=Failure + +未送达=Undelivered +已读=Read +未读=Unread diff --git a/modules/core/src/main/resources/i18n/core/state/i18n_en.properties b/modules/core/src/main/resources/i18n/core/state/i18n_en.properties new file mode 100644 index 00000000..a8c3f9a9 --- /dev/null +++ b/modules/core/src/main/resources/i18n/core/state/i18n_en.properties @@ -0,0 +1,63 @@ + +# =========== 缓存监控 =========== + +缓存列表=Cache list +键名列表=Key list +缓存内容=Cache content +清理全部缓存=Clear all caches +清理全部缓存,包括属性文件的配置=Clear all caches, including configuration of properties files +缓存名称=Cache name +缓存键名=Cache key +清理缓存=Clear cache +确认要清理该缓存吗?=Are you sure you want to clear up the cache? +缓存列表刷新完成=The cache list refresh is complete + +# =========== 服务器监控 =========== + +属性=Property +值=Value +核心数=Core number +最大功率=Maximum power +实时频率=Current frequency +使用率=Used rate +内存=Memory +总内存=The total memory +剩余内存=Remaining memory +已用内存=Used memory +堆/非堆=Heap/non-heap +执行垃圾回收任务=Perform garbage collection task +堆=Heap +非堆=Non-heap +初始大小=Initial size +最大内存=Maximum memory +已用内存=Used memory +可用内存=Available memory +服务器信息=Server information +服务器名称=Server name +操作系统=Operating system +版本=Version +服务器IP=Server IP +系统架构=System architecture +Java虚拟机信息=JVM information +Java名称=Java name +Java版本=Java version +供应商=Vendor +启动时间=Start time +运行时长=Running time +安装路径=Install path +启动参数=Start parameter +平台参数=Platform parameter +当前工作路径=Current working path +日志存放路径=Log storage path +上传文件路径=Upload file path +磁盘状态=Disk status +盘符路径=Disk path +文件系统=File system +盘符类型=Disk type +总大小=Total size +可用大小=Available size +已用大小=Used size +已用百分比=Percent used + +执行垃圾回收任务=Perform garbage collection tasks +发起执行垃圾回收任务成功=Initiated garbage collection task successfully diff --git a/modules/core/src/main/resources/i18n/core/state/i18n_ja_JP.properties b/modules/core/src/main/resources/i18n/core/state/i18n_ja_JP.properties new file mode 100644 index 00000000..19d3d3fd --- /dev/null +++ b/modules/core/src/main/resources/i18n/core/state/i18n_ja_JP.properties @@ -0,0 +1,63 @@ + +# =========== 缓存监控 =========== + +缓存列表=キャッシュリスト +键名列表=キーリスト +缓存内容=キャッシュ内容 +清理全部缓存=キャッシュを全部クリアする +清理全部缓存,包括属性文件的配置=プロパティファイルの配置を含めてキャッシュ全体をクリアする +缓存名称=キャッシュ名 +缓存键名=キャッシュキー人 +清理缓存=キャッシュを消去する +确认要清理该缓存吗?=キャッシュをクリアすることを確認しますか? +缓存列表刷新完成=キャッシュリスト更新完了 + +# =========== 服务器监控 =========== + +属性=属性 +值=値 +核心数=核心数 +最大功率=最大出力 +实时频率=リアルタイム周波数 +使用率=使用率 +内存=メモリー +总内存=総メモリ +剩余内存=残りメモリ +已用内存=すでに用メモリー +堆/非堆=ヒープ/非ヒープ +执行垃圾回收任务=ごみ回収任務を遂行する +堆=积み +非堆=非炉 +初始大小=初期の大きさ +最大内存=最大メモリ +已用内存=使用済みメモリ +可用内存=利用可能メモリ +服务器信息=サーバー情報 +服务器名称=サーバー名称 +操作系统=os +版本=バージョン +服务器IP=サーバIP +系统架构=システムアーキテクチャ +Java虚拟机信息=java仮想マシン情報 +Java名称=java名称 +Java版本=Java版 +供应商=サプライヤー +启动时间=起動時間 +运行时长=運行时长 +安装路径=実装経路 +启动参数=稼動パラメータ +平台参数=プラットフォームのパラメータ +当前工作路径=当面の仕事の経路 +日志存放路径=日誌熟成経路 +上传文件路径=文書を掲載し経路 +磁盘状态=ディスク状態 +盘符路径=盤符経路 +文件系统=ファイルシステム +盘符类型=盤符タイプ +总大小=総の大きさ +可用大小=利用可能な大きさ +已用大小=すでに用の大きさ +已用百分比=すでに用% + +执行垃圾回收任务=ごみ回収任務を遂行する +发起执行垃圾回收任务成功=成功にゴミ回収の任務を遂行する diff --git a/modules/core/src/main/resources/i18n/core/sys/i18n_en.properties b/modules/core/src/main/resources/i18n/core/sys/i18n_en.properties index a39e1a2f..4ae8c460 100644 --- a/modules/core/src/main/resources/i18n/core/sys/i18n_en.properties +++ b/modules/core/src/main/resources/i18n/core/sys/i18n_en.properties @@ -1,4 +1,5 @@ -# =========== 通用字典 =========== + +# =========== 通用字典 =========== 是=Yes 否=No @@ -12,7 +13,7 @@ 驳回=Rejected 草稿=Draft -# =========== 通用字段 =========== +# =========== 通用字段 =========== 状态=Status 备注信息=Remarks @@ -22,7 +23,7 @@ 更新时间=Update date 排序号=Sort -# =========== 功能标题 =========== +# =========== 功能标题 =========== 系统管理=System mgt @@ -64,7 +65,7 @@ 日期选择=Date select 日期时间=Date time -# =========== 登录页 =========== +# =========== 登录页 =========== 登录=Login @@ -87,7 +88,7 @@ 注册账号=Register 忘记密码=Forget Password -# =========== 主框架页 =========== +# =========== 主框架页 =========== 仪表盘=Dashboard 全屏=Full screen @@ -104,12 +105,12 @@ 在线=Online 注销=Logout -# =========== 个人中心 =========== +# =========== 个人中心 =========== 修改密保=Security question 个人信息=User info -修改头像=Change avatar +修改头像=Change avatar 个性签名=Signature 上次登录=Last Login @@ -128,7 +129,7 @@ 新密保问题=New secret questions 新密保问题答案=New secret answers -# =========== 用户管理 =========== +# =========== 用户管理 =========== 组织机构=Office 新增用户=New user @@ -151,6 +152,7 @@ 重置密码=Reset password 保存用户失败,登录账号''{0}''已存在=Save user failed, login account ''{0}'' already exists +保存用户失败,员工工号''{0}''已存在=Save user failed, Work No ''{0}'' already exists 保存用户''{0}''成功=Save the user ''{0}'' success 停用用户失败,不允许停用当前用户=Disable user failed. Not disable current user 停用用户''{0}''成功=Disable user ''{0}'' success @@ -173,7 +175,6 @@ 归属机构=Office 归属公司=Company 登录账号=Account -登录账号已存在=Login account already exists 用户昵称=Nick name 电子邮箱=Email 手机号码=Mobile @@ -182,7 +183,8 @@ 权重越大排名越靠前,请填写数字。=Weight big, ranking the front, fill Numbers. 员工=Employee -员工编号=Work No +员工工号=Work No +员工工号已存在=Work No already exists 员工姓名=Name 所在岗位=Position 英文名=English name @@ -200,7 +202,7 @@ 提示:仅允许导入“xls”或“xlsx”格式文件!=Tip: only 'XLS' or 'XLSX' files are allowed to be imported! 文件不正确,请选择后缀为“xls”或“xlsx”的文件。=Incorrect file. Please select a file with suffix 'xls' or 'xlsx'. -# =========== 机构管理 =========== +# =========== 机构管理 =========== 新增机构=New office 编辑机构=Edit office @@ -228,7 +230,7 @@ 联系地址=Address 邮政编码=Zip code -# =========== 公司管理 =========== +# =========== 公司管理 =========== 新增公司=New company 编辑公司=Edit company @@ -254,7 +256,7 @@ 归属区域=Area 包含机构=Office -# =========== 岗位管理 =========== +# =========== 岗位管理 =========== 新增岗位=New position 编辑岗位=Edit position @@ -277,7 +279,7 @@ 岗位编码=Position code 岗位分类=Position type -# =========== 角色管理 =========== +# =========== 角色管理 =========== 用户类型=User type 系统角色=System role @@ -334,7 +336,7 @@ 角色授权给用户成功=Role authorization to user success 取消用户角色授权成功=Success in unauthorized user roles -# =========== 二级管理员 =========== +# =========== 二级管理员 =========== 二级管理员管理数据权限=Secondary administrator manage data permissions 管理数据权限=Manage data permissions @@ -346,7 +348,7 @@ 保存二级管理员''{0}''成功=Save Secondary administrator ''{0}'' success 取消二级管理员''{0}''身份成功=Cancel Secondary administrator ''{0}'' status successful -# =========== 系统管理员 =========== +# =========== 系统管理员 =========== 租户管理员=Tenant admin 新增租户管理员=New tenant administrator @@ -373,6 +375,170 @@ 租户切换失败,没有这个租户!=Tenant switch failed, no tenant! 租户切换失败,只有超级管理员才可以操作!=Tenant switch failed, only super administrator can operate! -# =========== 菜单管理 =========== +# =========== 菜单管理 =========== -没有找到 {0} 用户编码 \ No newline at end of file +新增菜单=New menu +编辑菜单=Edit menu +上级菜单=Parent menu +菜单类型=Menu type +菜单名称=Menu name +归属模块=Module +链接(Href)=Href +目标(Target)=Target +排序(升序)=Sort(ASC) +权限标识=Permission +菜单图标=Icon +字体颜色=Color +页签标题=Tab title +可见=Visible +菜单权重=Weight +其它信息=Other information + +菜单=Menu +权限=Permission +显示=Show +隐藏=Hide +核心模块=Core + +主导航菜单=Main menu +全部菜单=All menu +保存排序=Save sort + +类型=Type +链接=Href +目标=Target +排序=Sort + +保存菜单''{0}''成功=Save menu ''{0}'' successfully +删除菜单''{0}''成功=Delete menu ''{0}'' successfully +保存菜单排序成功=Save menu sort successful +操作失败,只有管理员才能进行修复!=Operation failed, only administrator can fix it! +数据修复成功=Data repair successful + +# =========== 模块管理 =========== + +新增模块=New module +编辑模块=Edit module +模块名称=Module name +模块编码=Module code +主类全名=Main class name +模块描述=Module description +当前版本=Current version +版本=version +未知=Unknown +未安装=Uninstalled +停用模块=Disable module +确认要停用该模块吗?=Are you sure you want to disable the module? +启用模块=Enable module +确认要启用该模块吗?=Are you sure you want to enable this module? +删除模块=Delete module +确认要删除该模块吗?=Are you sure you want to delete this module? + +保存模块成功=Save module successfully +核心模块,不允许停用=Core module, no allowed disable +停用模块成功=Disable module successfully +启用模块成功=Enable module successfully +核心模块,不允许删除=Core module, not allowed delete +删除模块成功=Delete module successfully + +# =========== 参数设置 =========== + +新增参数=New config +编辑参数=Edit config +参数名称=Config name +参数键名=Config key +参数键名已存在=Config key already exists +参数键值=Config value +参数描述=Config description +清理全部缓存,包括属性文件的配置=Clear all caches, including configuration of properties files +系统参数=System +删除参数=Delete config +确认要删除该参数吗?=Are you sure you want to delete this config? + +保存参数成功=Save config successfully +删除参数成功=Delete config successfully + +# =========== 字典管理 =========== + +新增字典类型=New dictionary type +编辑字典类型=Edit dictionary type +字典名称=Dictionary name +字典类型=Dictionary type +字典类型已存在=Dictionary type already exists +字典数据=The data dictionary +系统字典=System +停用字典类型=Disable dictionary type +确认要停用该字典类型吗?=Are you sure you want to disable the dictionary type? +启用字典类型=Enable dictionary type +确认要启用该字典类型吗?=Are you sure you want to enable the dictionary type? +删除字典类型=Delete dictionary type +确认要删除该字典类型吗?=Are you sure you want to delete the dictionary type? + +保存字典类型成功=Save dictionary type successfully +停用字典类型成功=Disable dictionary type successfully +启用字典类型成功=Enable dictionary type successfully +删除字典类型成功=Delete dictionary type successfully + +新增字典=New dictionary +编辑字典=Edit dictionary +上级字典=Parent dictionary +字典标签=Dictionary label +字典键值=Dictionary key +系统内置=System +字典描述=Description +CSS样式=CSS style +CSS类名=CSS class +新增字典数据=New dictionary data +编辑字典数据=Edit dictionary data +停用字典数据=Disable dictionary data +确认要停用该字典数据吗?=Are you sure you want to disable the dictionary data? +启用字典数据=Enable dictionary data +确认要启用该字典数据吗?=Are you sure you want to enable the dictionary data? +删除字典数据=Delete dictionary data +确认要删除该字典数据及所有子字典数据吗?=Are you sure you want to delete the dictionary data and all subdictionary data? +新增下级字典数据=New sub-dictionary data + +保存失败,只有系统管理员才能保存为系统字典!=Save failed, only system administrator can save as system dictionary! +保存失败,没有找到''{0}''字典类型!=Save failed, '{0}' dictionary type not found! +保存失败,字典类型是系统的,字典数据也必须是系统字典!=Save failed, dictionary type is system, dictionary data must be system dictionary! +保存字典成功=Save dictionary successfully +该字典包含未停用的子字典!=This dictionary contains undeactivated subdictionaries! +停用字典成功=Disable dictionary successfully +启用字典成功=Enable dictionary successfully +删除字典成功=Delete dictionary successfully + +# =========== 国际化管理 =========== + +新增语言=New language +编辑语言=Edit language +语言编码=Language code +语言译文=Language translation +语言类型=Language type +清理国际化缓存=Clear i18n cache +语言编码=Language code +删除语言=Delete language +确认要删除该语言吗?=Are you sure you want to delete the language? + +编码和类型已经存在=The code and type already exist +保存语言成功=Save language successfully +删除语言成功=Delete language successfully +清理缓存成功=Clear cache successfully + +# =========== 在线用户 =========== + +操作用户=Operation user +包含3分钟以上未操作的用户=Contains users who have been inactive for more than 3 minutes +查询所有在线=Query all online +包含未登录的用户=Contains unlogged users +包含游客用户=Contains visitor users +用户名称=User name +游客=tourists +最后访问=Last visit +超时时间=Timeout +客户主机=Client host +设备类型=Device type +踢出在线用户=Kick out online users +确认要踢出该用户在线状态吗?=Are you sure you want to kick the user online? + +踢出已成功!=Kick out! +踢出失败,没有找到该在线用户!=Kick out failed, not find online user! diff --git a/modules/core/src/main/resources/i18n/core/sys/i18n_ja_JP.properties b/modules/core/src/main/resources/i18n/core/sys/i18n_ja_JP.properties index 5708c2c8..0554c25a 100644 --- a/modules/core/src/main/resources/i18n/core/sys/i18n_ja_JP.properties +++ b/modules/core/src/main/resources/i18n/core/sys/i18n_ja_JP.properties @@ -1,3 +1,4 @@ + # =========== 通用字典 =========== 是=はい @@ -25,12 +26,39 @@ # =========== 功能标题 =========== 系统管理=システム管理 + 组织管理=組織管理 用户管理=ユーザー管理 机构管理=機構管理 公司管理=会社管理 岗位管理=職位管理 +权限管理=権限管理 +角色管理=キャスティング管理 +二级管理员=二級管理士 +系统管理员=システム管理者 + +系统设置=システム設定 +菜单管理=メニュー管理 +模块管理=モジュール管理 +参数设置=パラメータ設定 +字典管理=辞書管理 +行政区划=行政区画 +国际化管理=国際化管理 +产品许可信息=製品許可情報 + +系统监控=システム監視 +访问日志=アクセスログ +数据监控=データモニタリング +缓存监控=キャッシュ監視 +服务器监控=サーバ監視 +作业监控=作業モニタリング +在线用户=オンラインユーザー +在线文档=オンラインドキュメント + +研发工具=開発ツール + + 用户选择=ユーザー選択 机构选择=事務所選択 公司选择=会社選択 @@ -124,7 +152,8 @@ 确认要将该用户密码重置到初始状态吗?=ユーザーのログインパスワードをリセットします。よろしいですか? 重置密码=パスワードリセット -保存用户失败,登录账号''{0}''已存在=ユーザーの保存に失敗しました。ログインアカウント '' {0} ''は既に存在します +保存用户失败,登录账号''{0}''已存在=ユーザーの保存に失敗しました,ログインアカウント''{0}''は既に存在します +保存用户失败,员工工号''{0}''已存在=ユーザーの保存に失敗しました,すでに職員番号''{0}''は既に存在します 保存用户''{0}''成功=ユーザー ''{0}'' 保存成功 停用用户失败,不允许停用当前用户=ユーザー無効に更新する処理失敗。このユーザーは無効にすることできません 停用用户''{0}''成功=ユーザー ''{0}'' 無効設定成功 @@ -147,7 +176,6 @@ 归属机构=所属機構 归属公司=所属会社 登录账号=アカウント -登录账号已存在=ログインアカウントがすでに存在します 用户昵称=ニックネーム 电子邮箱=メール 手机号码=携帯電話 @@ -156,7 +184,8 @@ 权重越大排名越靠前,请填写数字。=重要度が大きいほど前に表示します。数字を入力してください. 员工=社員 -员工编号=社員コード +员工工号=社員コード +员工工号已存在=社員コードは既に存在します 员工姓名=氏名 所在岗位=所属職位 英文名=英語氏名 @@ -250,3 +279,267 @@ 岗位名称已存在=職位名称が既に存在します 岗位编码=職位コード 岗位分类=職位分類 + +# =========== 角色管理 =========== + +用户类型=ユーザータイプ +系统角色=システムキャラクター +角色分类=キャラクター分類 +数据范围=データ範囲 +业务范围=業務範囲 + +角色编码=キャラクターコード +角色名称=キャラクター名 +角色名称已存在=キャラクター名が存在する +角色分类=キャラクター分類 +授权功能菜单=ライセンス機能メニュー + +未设置=未設置 +全部数据=すべてのデータ +自定义数据=カスタムデータ +本部门数据=本省庁データ +本公司数据=当社のデータ +本部门和本公司数据=本省庁と自社のデータ +控制业务范围=業務の範囲を制御する + +新增角色=新規役 +编辑角色=編集役 +停用角色=役の廃止 +确认要停用该角色吗?=赤ん坊が確認しなければならないこのキャラクターは? +启用角色=キャラクターを起用する +确认要启用该角色吗?=この役を確認を起用しなければならないの? +删除角色=キャラクターを削除する +确认要删除该角色吗?=この役を確認を削除しなければならないの? +角色分配功能权限=配役機能権限 +授权菜单=ライセンスメニュー +角色分配数据权限=配役データ権限 +授权数据权限=ライセンスデータ権限 +数据权限=データの権限を +分配用户=分配ユーザー +角色分配用户=配役ユーザー + +添加用户=ユーザ +批量取消=大量キャンセル +请在列表选中要取消角色的用户=一覧の指名撤回するキャラクターのユーザーでください +没有选择要授权的用户=ライセンスするユーザーを選択しない +取消授权=ライセンスを取り消し +确认要取消该用户角色吗?=確認を撤回する同ユーザーのキャラクターは? + +越权操作,只有超级管理员才能修改系统数据!=越権操作、システムデータの修正はスーパー管理者だけ! +保存失败,只有系统管理员才能保存为系统角色!=セーブに失敗して、システム管理者だけがシステムキャラクターとしてセーブできる! +保存角色''{0}''失败,角色名称已存在=保存役'{1}'に失敗し、キャラクターの名称が存在 +保存角色''{0}''成功=保存役'{1}'成功 +停用角色''{0}''成功=赤ん坊がキャラクター'{1}'成功 +启用角色''{0}''成功=キャラクター起用''{0}''成功 +删除角色''{0}''失败,角色关联了用户=削除役'{1}'に失敗し、キャラクターに関连したユーザー +删除角色''{0}''成功=キャラクター削除''{0}''成功 +角色授权数据权限成功=役员会がデータの権限を成功 +角色授权给用户成功=キャラクタはユーザに成功を与える +取消用户角色授权成功=ユーザーの取り消し役员会が成功 + +# =========== 二级管理员 =========== + +二级管理员管理数据权限=级管理データ管理権限 +管理数据权限=データ管理権限 +可管理的数据权限=管理可能なデータ権限 +取消二级管理员身份=身分取り消し级管理 +确认要取消该用户的二级管理员身份吗?=身元確認を撤回する同ユーザーの级管理? + +非法操作,不能够操作此用户!=不法操作し、これを操作できるユーザーがない! +保存二级管理员''{0}''成功=保存级管理'{1}'成功 +取消二级管理员''{0}''身份成功=取り消し级管理'{1}'として成功 + +# =========== 系统管理员 =========== + +租户管理员=テナント管理 +新增租户管理员=新規のテナント管理 +新增管理员=新規の管理 +编辑管理员=編集管理 +租户代码=テナントコード +租户名称=テナント名称 +请输入租户代码=テナントコードを入力してください +请输入租户名称=テナントの名前を入力してください + +越权操作,只有超级管理员才能修改此数据!=越権操作、スーパー管理こそ改正これ! +租户代码不能为空!=テナントコードは空にできない! +保存管理员''{0}''失败,登录账号已存在=保存管理'{1}'失敗、接続アカウントが存在 +保存租户失败,租户代码已存在=保存のテナントの失敗、テナントコードが存在 +非法操作,参数错误。=不法操作パラメータ、間違っている。 +保存管理员''{0}''成功=保存管理'{1}'成功 +停用管理员''{0}''成功=赤ん坊が管理'{1}'成功 +启用管理员''{0}''成功=管理人の起用' '{1}'成功 +重置管理员''{0}''密码成功=リセット管理'{1}'パスワード成功 +删除管理员''{0}''成功=削除管理'{1}'成功 +取消管理员''{0}''身份成功=取り消し管理'{1}'として成功 + +租户切换成功!=テナント换成功! +租户切换失败,没有这个租户!=テナント换の失敗が、このテナント! +租户切换失败,只有超级管理员才可以操作!=テナント换に失敗し、スーパーの管理のみを操作できる! + +# =========== 菜单管理 =========== + +新增菜单=メニューの追加 +编辑菜单=編集メニュー +上级菜单=上級メニュー +菜单类型=メニュータイプ +菜单名称=メニュー名 +归属模块=帰属モジュール +链接(Href)=リンク(Href) +目标(Target)=ターゲット(Target) +排序(升序)=序列(昇順) +权限标识=権限表示 +菜单图标=メニューアイコン +字体颜色=書体色 +页签标题=ページくじタイトル +可见=ほど +菜单权重=メニュー重み +其它信息=他の情報 + +菜单=メニュー +权限=権限 +显示=表示 +隐藏=隠し +核心模块=核心モジュール + +主导航菜单=主導航メニュー +全部菜单=全メニュー +保存排序=序列の保存 + +类型=タイプ +链接=リンク +目标=目標 +排序=序列 + +保存菜单''{0}''成功=保存メニュー'{1}'成功 +删除菜单''{0}''成功=削除メニュー'{1}'成功 +保存菜单排序成功=保存メニュー序列成功 +操作失败,只有管理员才能进行修复!=操作に失敗し、管理のみを補修する! +数据修复成功=データの復元成功 + +# =========== 模块管理 =========== + +新增模块=追加モジュール +编辑模块=編集モジュール +模块名称=モジュール名 +模块编码=モジュールコーディング +主类全名=主類のフルネーム +模块描述=モジュール記述 +当前版本=現行版 +版本=バージョン +未知=未知 +未安装=未実装 +停用模块=停止モジュール +确认要停用该模块吗?=モジュールの停止を確認しますか? +启用模块=オープンモジュール +确认要启用该模块吗?=このモジュールを有効にすることを確認しますか? +删除模块=モジュールを削除する +确认要删除该模块吗?=このモジュールを削除することを確認しますか? + +保存模块成功=保存モジュール成功 +核心模块,不允许停用=コアモジュールは,停止させない +停用模块成功=モジュールの停止に成功 +启用模块成功=オープンモジュール成功 +核心模块,不允许删除=コアモジュールは,削除を許さない +删除模块成功=削除モジュール成功 + +# =========== 参数设置 =========== + +新增参数=追加パラメータ +编辑参数=編集パラメータ +参数名称=パラメータ名 +参数键名=パラメータキー名 +参数键名已存在=パラメータキー名はすでに存在する +参数键值=パラメータキー値 +参数描述=パラメータ記述 +清理全部缓存,包括属性文件的配置=プロパティファイルの配置を含めてキャッシュ全体をクリアする +系统参数=システムパラメータ +删除参数=削除パラメータ +确认要删除该参数吗?=このパラメータを削除することを確認しますか? + +保存参数成功=セーブパラメータ成功 +删除参数成功=削除パラメータ成功 + +# =========== 字典管理 =========== + +新增字典类型=辞書タイプの追加 +编辑字典类型=辞書パターンを編集する +字典名称=辞書名 +字典类型=辞書タイプ +字典类型已存在=辞書型も存在する +字典数据=辞書データ +系统字典=システム辞書 +停用字典类型=辞書タイプを停止する +确认要停用该字典类型吗?=この辞書のタイプを停止することを確認しますか? +启用字典类型=辞書型 +确认要启用该字典类型吗?=この辞書タイプを使うことを確認しますか? +删除字典类型=辞書パターンを削除する +确认要删除该字典类型吗?=この辞書タイプを削除することを確認しますか? + +保存字典类型成功=辞書タイプ保存に成功 +停用字典类型成功=辞書タイプを無効にすることに成功した +启用字典类型成功=辞書タイプを有効にすることに成功した +删除字典类型成功=辞書パターンの削除に成功した + +新增字典=辞書を追加する +编辑字典=辞書を編纂する +上级字典=上級辞書 +字典标签=辞書タグ +字典键值=辞書キー値 +系统内置=システム内蔵 +字典描述=辞書記述 +CSS样式=CSS仕様 +CSS类名=クラス名 +新增字典数据=辞書データの追加 +编辑字典数据=辞書データを編集する +停用字典数据=辞書データの無効化 +确认要停用该字典数据吗?=この辞書のデータを停止することを確認しますか? +启用字典数据=辞書データを活用する +确认要启用该字典数据吗?=確認を起用しなければならないこの辞书データ? +删除字典数据=辞書データを削除する +确认要删除该字典数据及所有子字典数据吗?=データを削除しなければこの辞書を確認およびすべての子辞书データ? +新增下级字典数据=下位の辞書データを追加する + +保存失败,只有系统管理员才能保存为系统字典!=保存に失敗し、システム管理者こそ、保存をシステム字典! +保存失败,没有找到''{0}''字典类型!=保存の失敗、見つからない'{1}'字典タイプ! +保存失败,字典类型是系统的,字典数据也必须是系统字典!=保存の失敗は、辞書のタイプは、システムの字典のデータもなければはシステムの字典! +保存字典成功=辞書保存に成功 +该字典包含未停用的子字典!=この辞書未赤ん坊が含まれた子の字典! +停用字典成功=赤ん坊が辞書に成功 +启用字典成功=辞書を使えるようにする +删除字典成功=辞書削除に成功 + +# =========== 国际化管理 =========== + +新增语言=新たな言叶 +编辑语言=編集言語 +语言编码=言語コード +语言译文=言叶の_ _ _ _ +语言类型=言語タイプ +清理国际化缓存=掃除の国际化キャッシュ +语言编码=言語コード +删除语言=削除言語 +确认要删除该语言吗?=確認を削除しなければならないこの言叶? + +编码和类型已经存在=コードとタイプが存在する +保存语言成功=保存言語成功 +删除语言成功=削除言語成功 +清理缓存成功=掃除キャッシュ成功 + +# =========== 在线用户 =========== + +操作用户=ユーザーを操作する +包含3分钟以上未操作的用户=未操作のユーザを3分以上含む +查询所有在线=全てのオンライン検索 +包含未登录的用户=未登録のユーザを含む +包含游客用户=は観光客ユーザー +用户名称=ユーザー名 +游客=観光客 +最后访问=最後の訪問 +超时时间=タイムアウト時間 +客户主机=クライアントホスト +设备类型=設備の種類 +踢出在线用户=オンラインユーザーを蹴り出す +确认要踢出该用户在线状态吗?=当該ユーザーのオンライン状態を蹴飛ばすことを確認しますか? + +踢出已成功!=蹴ると、すでに成功! +踢出失败,没有找到该在线用户!=失敗を蹴り、探せなかったオンラインユーザー! diff --git a/modules/core/src/main/resources/views/modules/sys/dictDataForm.html b/modules/core/src/main/resources/views/modules/sys/dictDataForm.html index f9c853f6..67308a41 100644 --- a/modules/core/src/main/resources/views/modules/sys/dictDataForm.html +++ b/modules/core/src/main/resources/views/modules/sys/dictDataForm.html @@ -3,7 +3,7 @@
- ${dictData.isNewRecord ? '新增字典' : '编辑字典'}(${dictData.dictType}) + ${text(dictData.isNewRecord ? '新增字典' : '编辑字典')}(${dictData.dictType})
@@ -11,13 +11,13 @@
<#form:form id="inputForm" model="${dictData}" action="${ctx}/sys/dictData/save" method="post" class="form-horizontal">
-
基本信息
+
${text('基本信息')}
- +
- <#form:treeselect id="parent" title="上级字典" + <#form:treeselect id="parent" title="${text('上级字典')}" path="parent.id" labelPath="parent.dictLabelOrig" url="${ctx}/sys/dictData/treeData?excludeCode=${dictData.id}&dictType=${dictData.dictType}&isShowNameOrig=true" class="" allowClear="true" canSelectRoot="true" canSelectParent="true" isReturnValue="false"/> @@ -31,7 +31,7 @@
+ * ${text('字典标签')}:
<#form:input path="dictLabelOrig" maxlength="100" class="form-control required "/>
@@ -40,7 +40,7 @@
+ * ${text('字典键值')}:
<#form:input path="dictValue" maxlength="100" class="form-control required "/>
@@ -51,7 +51,7 @@
+ * ${text('排序号')}:
<#form:input path="treeSort" maxlength="10" class="form-control required digits"/>
@@ -60,7 +60,7 @@
+ * ${text('系统内置')}:
<#form:radio path="isSys" dictType="sys_yes_no" class="form-control required " />
@@ -71,19 +71,19 @@
+ * ${text('字典描述')}:
<#form:input path="description" maxlength="500" class="form-control "/>
-
其它信息
+
${text('其它信息')}
+ * ${text('CSS样式')}:
<#form:input path="cssStyle" maxlength="500" class="form-control "/>
@@ -92,7 +92,7 @@
+ * ${text('CSS类名')}:
<#form:input path="cssClass" maxlength="500" class="form-control "/>
@@ -103,7 +103,7 @@
+ * ${text('备注信息')}:
<#form:textarea path="remarks" rows="4" maxlength="500" class="form-control "/>
@@ -116,9 +116,9 @@
<% if (hasPermi('sys:dictData:edit')){ %> -   +   <% } %> - +
diff --git a/modules/core/src/main/resources/views/modules/sys/dictDataList.html b/modules/core/src/main/resources/views/modules/sys/dictDataList.html index 235b0ec3..6688144f 100644 --- a/modules/core/src/main/resources/views/modules/sys/dictDataList.html +++ b/modules/core/src/main/resources/views/modules/sys/dictDataList.html @@ -3,15 +3,15 @@
- 字典数据(${dictData.dictType}) + ${text('字典数据')}(${dictData.dictType})
@@ -19,38 +19,38 @@ <#form:form id="searchForm" model="${dictData}" action="${ctx}/sys/dictData/listData" method="post" class="form-inline " data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
- +
<#form:input path="dictLabelOrig" maxlength="100" class="form-control"/>
- +
<#form:input path="dictValue" maxlength="100" class="form-control"/>
- +
<#form:input path="dictType" maxlength="100" class="form-control"/>
- +
<#form:select path="isSys" dictType="sys_yes_no" blankOption="true" class="form-control"/>
- +
<#form:select path="status" dictType="sys_search_status" blankOption="true" class="isQuick form-control"/>
- - + +
@@ -63,31 +63,31 @@ $('#dataGrid').dataGrid({ searchForm: $("#searchForm"), columnModel: [ - {header:'字典标签', name:'dictLabelOrig', index:'a.dict_label', width:200, align:"left", frozen:true, formatter: function(val, obj, row, act){ + {header:'${text("字典标签")}', name:'dictLabelOrig', index:'a.dict_label', width:200, align:"left", frozen:true, formatter: function(val, obj, row, act){ return ''+(val||row.id)+''; + +'" data-title="${text("编辑字典数据")}" style="'+row.cssStyle+'">'+(val||row.id)+''; }}, - {header:'字典键值', name:'dictValue', index:'a.dict_value', width:200, align:"left"}, - {header:'排序号', name:'treeSort', width:63, align:"center", fixed:true}, - {header:'系统内置', name:'isSys', index:'a.is_sys', width:80, align:"center", formatter: function(val, obj, row, act){ + {header:'${text("字典键值")}', name:'dictValue', index:'a.dict_value', width:200, align:"left"}, + {header:'${text("排序号")}', name:'treeSort', width:63, align:"center", fixed:true}, + {header:'${text("系统内置")}', name:'isSys', index:'a.is_sys', width:80, align:"center", formatter: function(val, obj, row, act){ return js.getDictLabel(${@DictUtils.getDictListJson('sys_yes_no')}, val, '未知', true); }}, - {header:'更新时间', name:'updateDate', index:'a.update_date', width:150, align:"center"}, - {header:'备注信息', name:'remarks', index:'a.remarks', width:200, align:"left"}, - {header:'状态', name:'status', index:'a.status', width:60, fixed:true, align:"center", formatter: function(val, obj, row, act){ + {header:'${text("更新时间")}', name:'updateDate', index:'a.update_date', width:150, align:"center"}, + {header:'${text("备注信息")}', name:'remarks', index:'a.remarks', width:200, align:"left"}, + {header:'${text("状态")}', name:'status', index:'a.status', width:60, fixed:true, align:"center", formatter: function(val, obj, row, act){ return js.getDictLabel(${@DictUtils.getDictListJson('sys_status')}, val, '未知', true); }}, - {header:'操作', name:'actions', width:150, sortable:false, title:false, formatter: function(val, obj, row, act){ + {header:'${text("操作")}', name:'actions', width:150, sortable:false, title:false, formatter: function(val, obj, row, act){ var actions = []; <% if(hasPermi('sys:dictData:edit')){ %> - actions.push(' '); + actions.push(' '); if (row.status == Global.STATUS_NORMAL){ - actions.push(' '); + actions.push(' '); } else if (row.status == Global.STATUS_DISABLE){ - actions.push(' '); + actions.push(' '); } - actions.push(' '); - actions.push(' '); + actions.push(' '); + actions.push(' '); <% } %> return actions.join(''); }} diff --git a/modules/core/src/main/resources/views/modules/sys/dictTypeForm.html b/modules/core/src/main/resources/views/modules/sys/dictTypeForm.html index 909f1db4..38926b16 100644 --- a/modules/core/src/main/resources/views/modules/sys/dictTypeForm.html +++ b/modules/core/src/main/resources/views/modules/sys/dictTypeForm.html @@ -3,7 +3,7 @@
- ${dictType.isNewRecord ? '新增字典类型' : '编辑字典类型'} + ${text(dictType.isNewRecord ? '新增字典类型' : '编辑字典类型')}
@@ -11,13 +11,13 @@
<#form:form id="inputForm" model="${dictType}" action="${ctx}/sys/dictType/save" method="post" class="form-horizontal">
-
基本信息
+
${text('基本信息')}
<#form:hidden path="id"/>
+ * ${text('字典名称')}:
<#form:input path="dictName" maxlength="100" class="form-control required "/>
@@ -28,11 +28,11 @@
+ * ${text('字典类型')}:
<#form:input path="dictType" maxlength="100" class="form-control required abc" remote="${ctx}/sys/dictType/checkDictType?oldDictType=${dictType.dictType}" - data-msg-remote="字段类型已存在"/> + data-msg-remote="${text('字典类型已存在')}"/>
@@ -41,7 +41,7 @@
+ * ${text('系统字典')}:
<#form:radio path="isSys" dictType="sys_yes_no" class="form-control required " />
@@ -52,7 +52,7 @@
+ * ${text('备注信息')}:
<#form:textarea path="remarks" rows="4" maxlength="500" class="form-control "/>
@@ -64,9 +64,9 @@
<% if (hasPermi('sys:dictType:edit')){ %> -   +   <% } %> - +
diff --git a/modules/core/src/main/resources/views/modules/sys/dictTypeList.html b/modules/core/src/main/resources/views/modules/sys/dictTypeList.html index 718cac92..2420da57 100644 --- a/modules/core/src/main/resources/views/modules/sys/dictTypeList.html +++ b/modules/core/src/main/resources/views/modules/sys/dictTypeList.html @@ -3,12 +3,12 @@
- 字典管理 + ${text('字典管理')}
- 查询 + ${text('查询')} <% if(hasPermi('sys:dictType:edit')){ %> - 新增 + ${text('新增')} <% } %>
@@ -16,32 +16,32 @@ <#form:form id="searchForm" model="${dictType}" action="${ctx}/sys/dictType/listData" method="post" class="form-inline " data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
- +
<#form:input path="dictName" maxlength="100" class="form-control"/>
- +
<#form:input path="dictType_like" maxlength="100" class="form-control"/>
- +
<#form:select path="isSys" dictType="sys_yes_no" blankOption="true" class="form-control"/>
- +
<#form:select path="status" dictType="sys_search_status" blankOption="true" class="isQuick form-control"/>
- - + +
@@ -55,33 +55,33 @@ $('#dataGrid').dataGrid({ searchForm: $("#searchForm"), columnModel: [ - {header:'字典名称', name:'dictName', index:'a.dict_name', width:200, align:"left", frozen:true, formatter: function(val, obj, row, act){ - return ''+(val||row.id)+''; + {header:'${text("字典名称")}', name:'dictName', index:'a.dict_name', width:200, align:"left", frozen:true, formatter: function(val, obj, row, act){ + return ''+(val||row.id)+''; }}, - {header:'字典类型', name:'dictType', index:'a.dict_type', width:200, align:"left", frozen:true, formatter: function(val, obj, row, act){ - return ''+(val||row.id)+''; + {header:'${text("字典类型")}', name:'dictType', index:'a.dict_type', width:200, align:"left", frozen:true, formatter: function(val, obj, row, act){ + return ''+(val||row.id)+''; }}, - {header:'系统字典', name:'isSys', index:'a.is_sys', width:80, align:"center", formatter: function(val, obj, row, act){ + {header:'${text("系统字典")}', name:'isSys', index:'a.is_sys', width:80, align:"center", formatter: function(val, obj, row, act){ return js.getDictLabel(${@DictUtils.getDictListJson('sys_yes_no')}, val, '未知', true); }}, - {header:'更新时间', name:'updateDate', index:'a.update_date', width:150, align:"center"}, - {header:'备注信息', name:'remarks', index:'a.remarks', width:200, align:"left"}, - {header:'状态', name:'status', index:'a.status', width:60, fixed:true, align:"center", formatter: function(val, obj, row, act){ + {header:'${text("更新时间")}', name:'updateDate', index:'a.update_date', width:150, align:"center"}, + {header:'${text("备注信息")}', name:'remarks', index:'a.remarks', width:200, align:"left"}, + {header:'${text("状态")}', name:'status', index:'a.status', width:60, fixed:true, align:"center", formatter: function(val, obj, row, act){ return js.getDictLabel(${@DictUtils.getDictListJson('sys_status')}, val, '未知', true); }}, - {header:'操作', name:'actions', width:130, sortable:false, title:false, formatter: function(val, obj, row, act){ + {header:'${text("操作")}', name:'actions', width:130, sortable:false, title:false, formatter: function(val, obj, row, act){ var actions = []; <% if(hasPermi('sys:dictType:edit')){ %> - actions.push(' '); + actions.push(' '); <% } %> - actions.push(' '); + actions.push(' '); <% if(hasPermi('sys:dictType:edit')){ %> if (row.status == Global.STATUS_NORMAL){ - actions.push(' '); + actions.push(' '); } else if (row.status == Global.STATUS_DISABLE){ - actions.push(' '); + actions.push(' '); } - actions.push(' '); + actions.push(' '); <% } %> return actions.join(''); }} diff --git a/modules/core/src/main/resources/views/modules/sys/logList.html b/modules/core/src/main/resources/views/modules/sys/logList.html index 828cd11d..a229970a 100644 --- a/modules/core/src/main/resources/views/modules/sys/logList.html +++ b/modules/core/src/main/resources/views/modules/sys/logList.html @@ -3,7 +3,7 @@
- 访问日志查询 + 访问日志
查询 diff --git a/modules/core/src/main/resources/views/modules/sys/onlineList.html b/modules/core/src/main/resources/views/modules/sys/onlineList.html index 472fdfd3..99b5813b 100644 --- a/modules/core/src/main/resources/views/modules/sys/onlineList.html +++ b/modules/core/src/main/resources/views/modules/sys/onlineList.html @@ -3,38 +3,38 @@
- 在线用户 + ${text('在线用户')}
<#form:form id="searchForm" action="${ctx}/sys/online/listData" method="post" class="form-inline hide2" data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
- +
- <#form:listselect id="userSelect" title="用户选择" path="userCode" + <#form:listselect id="userSelect" title="${text('用户选择')}" path="userCode" url="${ctx}/sys/user/userSelect?userType=" allowClear="false" checkbox="false" itemCode="userCode" itemName="userName"/>
-
  - <#form:checkbox name="isAllOnline" value="false" label="查询所有在线" +
  + <#form:checkbox name="isAllOnline" value="false" label="${text('查询所有在线')}" class="form-control"/>
-
- <#form:checkbox name="isVisitor" value="false" label="包含游客用户" +
+ <#form:checkbox name="isVisitor" value="false" label="${text('包含游客用户')}" class="form-control"/>
- - + +
@@ -47,23 +47,23 @@ $('#dataGrid').dataGrid({ searchForm: $("#searchForm"), columnModel: [ - {header:'用户名称', name:'userName', index:'a.create_by_name', width:100, align:"center", formatter: function(val, obj, row, act){ - return ''+(val||'游客'); + {header:'${text("用户名称")}', name:'userName', index:'a.create_by_name', width:100, align:"center", formatter: function(val, obj, row, act){ + return ''+(val||'${text("游客")}'); }}, - {header:'创建时间', name:'startTimestamp', firstsortorder:'desc', width:100, align:'center'}, - {header:'最后访问', name:'lastAccessTime', firstsortorder:'desc', width:100, align:'center'}, - {header:'超时时间', name:'timeout', width:100, align:'center'}, - {header:'客户主机', name:'host', width:70, align:'center'}, - {header:'用户类型', name:'userType', width:50, align:'center', formatter: function(val, obj, row, act){ + {header:'${text("创建时间")}', name:'startTimestamp', firstsortorder:'desc', width:100, align:'center'}, + {header:'${text("最后访问")}', name:'lastAccessTime', firstsortorder:'desc', width:100, align:'center'}, + {header:'${text("超时时间")}', name:'timeout', width:100, align:'center'}, + {header:'${text("客户主机")}', name:'host', width:70, align:'center'}, + {header:'${text("用户类型")}', name:'userType', width:50, align:'center', formatter: function(val, obj, row, act){ return js.getDictLabel(${@DictUtils.getDictListJson('sys_user_type')}, val, '未知', true); }}, - {header:'设备类型', name:'deviceType', width:50, align:'center', formatter: function(val, obj, row, act){ + {header:'${text("设备类型")}', name:'deviceType', width:50, align:'center', formatter: function(val, obj, row, act){ return js.getDictLabel(${@DictUtils.getDictListJson('sys_device_type')}, val, 'PC', true); }} <% if(hasPermi('sys:online:edit')){ %> - ,{header:'操作', name:'actions', width:50, sortable:false, formatter: function(val, obj, row, act){ + ,{header:'${text("操作")}', name:'actions', width:50, sortable:false, formatter: function(val, obj, row, act){ var actions = []; - actions.push(' '); + actions.push(' '); return actions.join(''); }} <% } %> diff --git a/modules/core/src/main/resources/views/modules/sys/user/empUserForm.html b/modules/core/src/main/resources/views/modules/sys/user/empUserForm.html index db2d110a..b84c12b2 100644 --- a/modules/core/src/main/resources/views/modules/sys/user/empUserForm.html +++ b/modules/core/src/main/resources/views/modules/sys/user/empUserForm.html @@ -25,7 +25,8 @@
<#form:treeselect id="office" title="${text('机构选择')}" path="employee.office.officeCode" labelPath="employee.office.officeName" - url="${ctx}/sys/office/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}" class="required" allowClear="false"/> + url="${ctx}/sys/office/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}" + class="required" allowClear="false" canSelectRoot="true" canSelectParent="true"/>
@@ -36,7 +37,8 @@
<#form:treeselect id="company" title="${text('公司选择')}" path="employee.company.companyCode" labelPath="employee.company.companyName" - url="${ctx}/sys/company/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}" btnClass="" allowClear="true"/> + url="${ctx}/sys/company/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}" + btnClass="" allowClear="true" canSelectRoot="true" canSelectParent="true"/>
diff --git a/modules/core/src/main/resources/views/modules/sys/user/empUserList.html b/modules/core/src/main/resources/views/modules/sys/user/empUserList.html index 6e73ea5e..160bc5f9 100644 --- a/modules/core/src/main/resources/views/modules/sys/user/empUserList.html +++ b/modules/core/src/main/resources/views/modules/sys/user/empUserList.html @@ -67,7 +67,8 @@
<#form:treeselect id="office" title="${text('机构选择')}" path="employee.office.officeCode" labelPath="employee.office.officeName" - url="${ctx}/sys/office/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}" btnClass="btn-sm" allowClear="true" canSelectParent="true"/> + url="${ctx}/sys/office/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}" + btnClass="btn-sm" allowClear="true" canSelectRoot="true" canSelectParent="true"/>
@@ -75,7 +76,8 @@
<#form:treeselect id="company" title="${text('公司选择')}" path="employee.company.companyCode" labelPath="employee.company.companyName" - url="${ctx}/sys/company/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}" btnClass="btn-sm" allowClear="true" canSelectParent="true"/> + url="${ctx}/sys/company/treeData?ctrlPermi=${@Global.getConfig('user.adminCtrlPermi', '2')}" + btnClass="btn-sm" allowClear="true" canSelectRoot="true" canSelectParent="true"/>
diff --git a/modules/core/src/test/java/application.yml b/modules/core/src/test/java/application.yml index 961423e5..33b00fdf 100644 --- a/modules/core/src/test/java/application.yml +++ b/modules/core/src/test/java/application.yml @@ -18,22 +18,6 @@ jdbc: password: 123456 testSql: SELECT 1 -# # DB2 数据库配置 -# type: db2 -# driver: com.ibm.db2.jcc.DB2Driver -# url: jdbc:db2://127.0.0.1:50000/jeesite -# username: jeesite -# password: jeesite -# testSql: SELECT 1 FROM DUAL - -# # H2 数据库配置 -# type: h2 -# driver: org.h2.Driver -# url: jdbc:h2:~/jeesite-db/jeesite -# username: jeesite -# password: jeesite -# testSql: SELECT 1 - # 日志配置 logging: config: classpath:logback-test.xml