From e42e4f8a53625f3335d2f18c6320ed1c8fd0f220 Mon Sep 17 00:00:00 2001 From: benero Date: Mon, 7 Oct 2024 01:29:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86=20i?= =?UTF-8?q?18n=20=E9=97=AE=E9=A2=98=20--story=3D119850966?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locale/en/LC_MESSAGES/django.mo | Bin 108186 -> 96388 bytes locale/en/LC_MESSAGES/django.po | 3333 +++++++++++++++++-------------- 2 files changed, 1803 insertions(+), 1530 deletions(-) diff --git a/locale/en/LC_MESSAGES/django.mo b/locale/en/LC_MESSAGES/django.mo index 478e103dbd711c005b25f36bce110f7996174638..70933c8bc2f421b76251b9677a49ad013f4d6e4f 100644 GIT binary patch delta 30009 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 delta 40939 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 diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index bcf753c11..4d5d20127 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -3,11 +3,12 @@ # This file is distributed under the same license as the PROJECT project. # FIRST AUTHOR , 2019. # +#: itsm/role/serializers.py:113 msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-12 14:40+0800\n" +"POT-Creation-Date: 2024-10-07 01:14+0800\n" "PO-Revision-Date: 2019-08-15 20:27+0800\n" "Last-Translator: FULL NAME \n" "Language-Team: en \n" @@ -18,40 +19,40 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "Generated-By: Babel 2.5.1\n" -#: adapter/core/sites/ieod/show.py:28 adapter/core/sites/open/show.py:52 -#: itsm/sites/views.py:110 +#: adapter/core/sites/ieod/show.py:30 adapter/core/sites/open/show.py:31 +#: itsm/component/constants/iam.py:474 itsm/sites/views.py:130 msgid "流程服务" msgstr "ITSM" -#: adapter/core/sites/ieod/show.py:28 adapter/core/sites/open/show.py:52 +#: adapter/core/sites/ieod/show.py:30 adapter/core/sites/open/show.py:31 msgid "腾讯蓝鲸智云" msgstr "Tencent BlueKing" -#: adapter/core/sites/ieod/show.py:40 +#: adapter/core/sites/ieod/show.py:43 msgid "联系BK助手" msgstr "Contact BK Customer Service" -#: adapter/core/sites/ieod/show.py:40 +#: adapter/core/sites/ieod/show.py:43 msgid "蓝鲸桌面" msgstr "BlueKing Desktop" -#: adapter/core/sites/open/show.py:65 +#: adapter/core/sites/open/show.py:46 msgid "技术支持" msgstr "Support" -#: adapter/core/sites/open/show.py:65 +#: adapter/core/sites/open/show.py:46 msgid "社区论坛" msgstr "Forum" -#: adapter/core/sites/open/show.py:65 +#: adapter/core/sites/open/show.py:46 msgid "产品官网" msgstr "Official" -#: config/default.py:289 +#: config/default.py:320 msgid "English" msgstr "" -#: config/default.py:290 +#: config/default.py:321 msgid "简体中文" msgstr "" @@ -67,29 +68,33 @@ msgstr "" msgid "信号参数" msgstr "" +#: iam/contrib/django/response.py:25 +msgid "您没有此操作的权限" +msgstr "You have no permission to operate" + #: itsm/auth_iam/models.py:35 itsm/component/constants/ticket.py:172 #: itsm/component/db/models.py:48 itsm/component/db/models.py:77 -#: itsm/iadmin/models.py:60 itsm/postman/models.py:69 -#: itsm/project/models/base.py:35 itsm/role/models.py:67 +#: itsm/iadmin/models.py:64 itsm/postman/models.py:69 +#: itsm/project/models/base.py:35 itsm/role/models.py:68 #: itsm/service/models.py:77 itsm/sla/models/basic.py:44 -#: itsm/ticket/models/basic.py:37 itsm/ticket/models/misc.py:56 -#: itsm/ticket/models/misc.py:74 itsm/ticket/models/misc.py:106 -#: itsm/ticket/models/misc.py:226 itsm/ticket_status/models.py:58 +#: itsm/ticket/models/basic.py:37 itsm/ticket/models/misc.py:55 +#: itsm/ticket/models/misc.py:73 itsm/ticket/models/misc.py:110 +#: itsm/ticket/models/misc.py:228 itsm/ticket_status/models.py:58 #: itsm/trigger/models/base.py:44 itsm/workflow/models/base.py:38 msgid "创建人" msgstr "Creator" #: itsm/auth_iam/models.py:36 itsm/component/constants/ticket.py:173 #: itsm/component/db/models.py:49 itsm/component/db/models.py:79 -#: itsm/iadmin/models.py:61 itsm/iadmin/models.py:136 itsm/postman/models.py:70 -#: itsm/project/models/base.py:36 itsm/role/models.py:68 +#: itsm/iadmin/models.py:65 itsm/iadmin/models.py:138 itsm/postman/models.py:70 +#: itsm/project/models/base.py:36 itsm/role/models.py:69 #: itsm/service/models.py:78 itsm/service/models.py:116 #: itsm/service/models.py:135 itsm/sla/models/basic.py:45 #: itsm/task/models.py:1013 itsm/task/models.py:1094 -#: itsm/ticket/models/basic.py:38 itsm/ticket/models/misc.py:107 -#: itsm/ticket/models/misc.py:176 itsm/ticket/models/misc.py:228 -#: itsm/ticket/models/misc.py:339 itsm/ticket/models/ticket.py:4628 -#: itsm/ticket/models/ticket.py:4698 itsm/ticket/models/ticket.py:4714 +#: itsm/ticket/models/basic.py:38 itsm/ticket/models/misc.py:111 +#: itsm/ticket/models/misc.py:178 itsm/ticket/models/misc.py:230 +#: itsm/ticket/models/misc.py:341 itsm/ticket/models/ticket.py:4963 +#: itsm/ticket/models/ticket.py:5033 itsm/ticket/models/ticket.py:5049 #: itsm/ticket_status/models.py:59 itsm/trigger/models/base.py:45 #: itsm/workflow/models/base.py:39 pipeline/engine/models/core.py:995 #: pipeline/engine/models/core.py:1445 pipeline/models.py:78 @@ -98,29 +103,29 @@ msgid "创建时间" msgstr "CreateTime" #: itsm/auth_iam/models.py:37 itsm/component/db/models.py:50 -#: itsm/component/db/models.py:80 itsm/iadmin/models.py:62 -#: itsm/iadmin/models.py:137 itsm/postman/models.py:71 -#: itsm/project/models/base.py:37 itsm/role/models.py:69 -#: itsm/role/models.py:382 itsm/service/models.py:79 itsm/service/models.py:117 +#: itsm/component/db/models.py:80 itsm/iadmin/models.py:66 +#: itsm/iadmin/models.py:139 itsm/postman/models.py:71 +#: itsm/project/models/base.py:37 itsm/role/models.py:70 +#: itsm/role/models.py:449 itsm/service/models.py:79 itsm/service/models.py:117 #: itsm/sla/models/basic.py:46 itsm/ticket/models/basic.py:39 -#: itsm/ticket/models/misc.py:108 itsm/ticket/models/misc.py:340 +#: itsm/ticket/models/misc.py:112 itsm/ticket/models/misc.py:342 #: itsm/ticket_status/models.py:60 itsm/trigger/models/base.py:46 #: itsm/workflow/models/base.py:40 msgid "更新时间" msgstr "Update Time" #: itsm/auth_iam/models.py:38 itsm/component/db/models.py:51 -#: itsm/component/db/models.py:82 itsm/iadmin/models.py:63 +#: itsm/component/db/models.py:82 itsm/iadmin/models.py:67 #: itsm/postman/models.py:72 itsm/project/models/base.py:38 -#: itsm/role/models.py:70 itsm/service/models.py:80 itsm/sla/models/basic.py:47 -#: itsm/ticket/models/basic.py:40 itsm/ticket/models/ticket.py:1265 +#: itsm/role/models.py:71 itsm/service/models.py:80 itsm/sla/models/basic.py:47 +#: itsm/ticket/models/basic.py:40 itsm/ticket/models/ticket.py:1356 #: itsm/ticket_status/models.py:61 itsm/trigger/models/base.py:47 #: itsm/workflow/models/base.py:41 msgid "修改人" msgstr "Modifier" #: itsm/auth_iam/models.py:39 itsm/component/constants/ticket.py:174 -#: itsm/component/db/models.py:84 itsm/role/models.py:71 +#: itsm/component/db/models.py:84 itsm/role/models.py:72 #: itsm/service/models.py:81 itsm/sla/models/schedule.py:49 #: itsm/task/models.py:1015 itsm/task/models.py:1096 #: itsm/ticket/models/basic.py:41 itsm/workflow/models/base.py:42 @@ -129,128 +134,128 @@ msgid "结束时间" msgstr "EndTime" #: itsm/auth_iam/models.py:40 itsm/component/db/models.py:52 -#: itsm/component/db/models.py:85 itsm/iadmin/models.py:64 -#: itsm/postman/models.py:73 itsm/project/models/project.py:55 -#: itsm/project/models/project.py:193 itsm/role/models.py:72 +#: itsm/component/db/models.py:85 itsm/iadmin/models.py:68 +#: itsm/postman/models.py:73 itsm/project/models/project.py:58 +#: itsm/project/models/project.py:215 itsm/role/models.py:73 #: itsm/service/models.py:82 itsm/sla/models/basic.py:48 -#: itsm/ticket/models/basic.py:42 itsm/ticket/models/misc.py:109 +#: itsm/ticket/models/basic.py:42 itsm/ticket/models/misc.py:113 #: itsm/ticket/models/misc.py:233 itsm/ticket_status/models.py:62 #: itsm/trigger/models/base.py:48 itsm/workflow/models/base.py:43 #: itsm/workflow/models/event.py:58 msgid "是否软删除" msgstr "IsDeleted" -#: itsm/component/constants/basic.py:139 itsm/component/constants/basic.py:156 -#: itsm/ticket/models/ticket.py:4712 +#: itsm/component/constants/basic.py:155 itsm/component/constants/basic.py:235 +#: itsm/ticket/models/ticket.py:5047 msgid "单号" msgstr "Ticket number" -#: itsm/component/constants/basic.py:140 +#: itsm/component/constants/basic.py:162 msgid "标题(单据)" msgstr "Title (Ticket)" -#: itsm/component/constants/basic.py:141 itsm/component/constants/basic.py:159 +#: itsm/component/constants/basic.py:169 itsm/component/constants/basic.py:243 msgid "提单人" msgstr "Requester" -#: itsm/component/constants/basic.py:142 itsm/component/constants/basic.py:160 +#: itsm/component/constants/basic.py:176 itsm/component/constants/basic.py:246 msgid "提单时间" msgstr "Request time" -#: itsm/component/constants/basic.py:143 itsm/component/constants/basic.py:161 +#: itsm/component/constants/basic.py:183 itsm/component/constants/basic.py:252 msgid "服务项" msgstr "Service item" -#: itsm/component/constants/basic.py:144 itsm/component/constants/ticket.py:169 -#: itsm/component/exceptions.py:93 +#: itsm/component/constants/basic.py:190 itsm/component/constants/iam.py:453 +#: itsm/component/constants/ticket.py:169 itsm/component/exceptions.py:95 #: itsm/postman/rpc/components/service_catalog.py:35 itsm/service/models.py:531 #: itsm/service/models.py:532 msgid "服务目录" msgstr "Service Catalog" -#: itsm/component/constants/basic.py:145 +#: itsm/component/constants/basic.py:197 msgid "服务(服务目录+服务项)" msgstr "Service (service directory + service item)" -#: itsm/component/constants/basic.py:146 itsm/component/constants/basic.py:162 -#: itsm/ticket/models/ticket.py:1228 +#: itsm/component/constants/basic.py:204 itsm/component/constants/basic.py:258 +#: itsm/ticket/models/ticket.py:1319 #: itsm/trigger/action/components/update_ticket_status.py:52 msgid "单据状态" msgstr "Ticket status" -#: itsm/component/constants/basic.py:147 +#: itsm/component/constants/basic.py:211 msgid "当前步骤(单据)" msgstr "Current step (Ticket)" -#: itsm/component/constants/basic.py:148 +#: itsm/component/constants/basic.py:218 msgid "单据详情链接" msgstr "Ticket details link" -#: itsm/component/constants/basic.py:150 itsm/component/constants/basic.py:165 +#: itsm/component/constants/basic.py:226 itsm/component/constants/basic.py:276 msgid "当前各节点处理人" msgstr "Every current node processors" -#: itsm/component/constants/basic.py:157 itsm/component/constants/ticket.py:166 +#: itsm/component/constants/basic.py:236 itsm/component/constants/ticket.py:166 msgid "标题" msgstr "title" -#: itsm/component/constants/basic.py:158 +#: itsm/component/constants/basic.py:239 msgid "单据链接" msgstr "Ticket link" -#: itsm/component/constants/basic.py:163 +#: itsm/component/constants/basic.py:264 msgid "单据状态名称" msgstr "Ticket status name" -#: itsm/component/constants/basic.py:164 +#: itsm/component/constants/basic.py:270 msgid "关联业务ID" msgstr "Business Id Related" -#: itsm/component/constants/basic.py:166 +#: itsm/component/constants/basic.py:282 msgid "SOPS总结信息" msgstr "SOPS summary information" -#: itsm/component/constants/basic.py:167 +#: itsm/component/constants/basic.py:288 msgid "所有任务处理人" msgstr "All task handlers" -#: itsm/component/constants/basic.py:173 itsm/sla_engine/models.py:503 +#: itsm/component/constants/basic.py:297 itsm/sla_engine/models.py:503 #: itsm/ticket/models/field.py:133 msgid "任务ID" msgstr "Task ID" -#: itsm/component/constants/basic.py:174 itsm/service/models.py:489 +#: itsm/component/constants/basic.py:298 itsm/service/models.py:489 #: itsm/sla_engine/models.py:65 itsm/task/models.py:1193 msgid "任务名称" msgstr "Task name" -#: itsm/component/constants/basic.py:175 +#: itsm/component/constants/basic.py:301 msgid "任务类型名" msgstr "Task type name" -#: itsm/component/constants/basic.py:176 +#: itsm/component/constants/basic.py:305 msgid "任务创建人" msgstr "Task creator" -#: itsm/component/constants/basic.py:177 +#: itsm/component/constants/basic.py:306 msgid "任务处理人" msgstr "Task handler" -#: itsm/component/constants/basic.py:178 +#: itsm/component/constants/basic.py:309 msgid "任务创建时间" msgstr "Task creation time" -#: itsm/component/constants/basic.py:179 itsm/sla_engine/models.py:76 +#: itsm/component/constants/basic.py:313 itsm/sla_engine/models.py:76 #: itsm/task/models.py:1018 itsm/task/models.py:1099 -#: itsm/ticket/models/ticket.py:236 +#: itsm/ticket/models/ticket.py:246 msgid "任务状态" msgstr "Task status" -#: itsm/component/constants/basic.py:180 +#: itsm/component/constants/basic.py:316 msgid "任务状态名" msgstr "Task status name" -#: itsm/component/constants/basic.py:181 +#: itsm/component/constants/basic.py:322 msgid "SOPS步骤信息" msgstr "SOPS step information" @@ -266,39 +271,39 @@ msgstr "middle" msgid "高" msgstr "high" -#: itsm/component/constants/builtin.py:353 +#: itsm/component/constants/builtin.py:359 msgid "服务反馈" msgstr "Service Feedback" -#: itsm/component/constants/builtin.py:354 +#: itsm/component/constants/builtin.py:360 msgid "基础配置" msgstr "Basic configuration" -#: itsm/component/constants/builtin.py:355 +#: itsm/component/constants/builtin.py:361 msgid "资源服务" msgstr "Resource Services" -#: itsm/component/constants/builtin.py:356 +#: itsm/component/constants/builtin.py:362 msgid "咨询建议" msgstr "Advisory advice" -#: itsm/component/constants/builtin.py:357 +#: itsm/component/constants/builtin.py:363 msgid "问题管理" msgstr "Problems" -#: itsm/component/constants/builtin.py:358 +#: itsm/component/constants/builtin.py:364 msgid "事件管理" msgstr "Incidents" -#: itsm/component/constants/builtin.py:359 +#: itsm/component/constants/builtin.py:365 msgid "主机管理" msgstr "Host Management" -#: itsm/component/constants/builtin.py:360 +#: itsm/component/constants/builtin.py:366 msgid "业务管理" msgstr "Business management" -#: itsm/component/constants/builtin.py:361 +#: itsm/component/constants/builtin.py:367 msgid "运维资源" msgstr "Operational and Maintenance Resources" @@ -337,7 +342,7 @@ msgid "拒绝" msgstr "Reject" #: itsm/component/constants/field.py:63 itsm/component/constants/field.py:104 -#: itsm/component/constants/field.py:119 itsm/iadmin/models.py:294 +#: itsm/component/constants/field.py:119 itsm/iadmin/models.py:301 msgid "备注" msgstr "Remarks" @@ -355,21 +360,347 @@ msgstr "Modifier" msgid "审批意见" msgstr "Approval suggestion" -#: itsm/component/constants/task.py:82 itsm/component/constants/trigger.py:51 +#: itsm/component/constants/iam.py:32 +msgid "创建项目" +msgstr "New Project" + +#: itsm/component/constants/iam.py:39 +msgid "项目查看" +msgstr "View Project" + +#: itsm/component/constants/iam.py:46 +msgid "项目编辑" +msgstr "Edit Project" + +#: itsm/component/constants/iam.py:53 +msgid "流程创建" +msgstr "New Flow" + +#: itsm/component/constants/iam.py:60 +msgid "流程管理" +msgstr "Manage Flow" + +#: itsm/component/constants/iam.py:67 +msgid "流程部署" +msgstr "Deploy Flow" + +#: itsm/component/constants/iam.py:74 +msgid "服务创建" +msgstr "New Service" + +#: itsm/component/constants/iam.py:81 +msgid "服务查看" +msgstr "View Service" + +#: itsm/component/constants/iam.py:88 +msgid "服务管理" +msgstr "Manage Service" + +# 已废弃 +#: itsm/component/constants/iam.py:95 +msgid "流程版本还原" +msgstr "Restore Flow Version" + +# 已废弃 +#: itsm/component/constants/iam.py:102 +msgid "流程版本管理" +msgstr "Manage Flow Version" + +# 已废弃 +#: itsm/component/constants/iam.py:109 +msgid "角色创建" +msgstr "New Role" + +# 已废弃 +#: itsm/component/constants/iam.py:116 +msgid "角色管理" +msgstr "Manage Role" + +#: itsm/component/constants/iam.py:123 +msgid "服务协议管理" +msgstr "Manage SLA" + +# 已废弃 +#: itsm/component/constants/iam.py:130 +msgid "流程元素管理" +msgstr "Manage Flow Element" + +#: itsm/component/constants/iam.py:137 +msgid "项目管理" +msgstr "Project Manage" + +#: itsm/component/constants/iam.py:144 +msgid "工单查看" +msgstr "View Ticket" + +#: itsm/component/constants/iam.py:151 +msgid "工单管理" +msgstr "Manage Ticket" + +#: itsm/component/constants/iam.py:158 +msgid "运营数据查看" +msgstr "View Data Analysis" + +#: itsm/component/constants/iam.py:165 +msgid "字段新建" +msgstr "New Field" + +#: itsm/component/constants/iam.py:172 +msgid "字段查看" +msgstr "View Field" + +#: itsm/component/constants/iam.py:179 +msgid "字段编辑" +msgstr "EditField" + +#: itsm/component/constants/iam.py:186 +msgid "字段删除" +msgstr "Delete Field" + +#: itsm/component/constants/iam.py:193 +msgid "触发器新建" +msgstr "New Trigger" + +#: itsm/component/constants/iam.py:200 +msgid "触发器查看" +msgstr "View Trigger" + +#: itsm/component/constants/iam.py:207 +msgid "触发器编辑" +msgstr "Edit Trigger" + +#: itsm/component/constants/iam.py:214 +msgid "触发器管理" +msgstr "Manage Trigger" + +#: itsm/component/constants/iam.py:221 +msgid "设置查看" +msgstr "View Setting" + +#: itsm/component/constants/iam.py:228 +msgid "设置管理" +msgstr "Manage Setting" + +#: itsm/component/constants/iam.py:235 +msgid "目录新建" +msgstr "New Service Directory" + +#: itsm/component/constants/iam.py:242 +msgid "目录编辑" +msgstr "Edit Service Directory" + +#: itsm/component/constants/iam.py:249 +msgid "目录删除" +msgstr "Delete Service Directory" + +#: itsm/component/constants/iam.py:256 itsm/component/constants/iam.py:263 +msgid "用户组新建" +msgstr "New Custom Role Group" + +#: itsm/component/constants/iam.py:270 +msgid "用户组查看" +msgstr "View Custom Role Group" + +#: itsm/component/constants/iam.py:277 +msgid "用户组编辑" +msgstr "Edit Custom Role Group" + +#: itsm/component/constants/iam.py:284 +msgid "用户组删除" +msgstr "Delete Custom Role Group" + +# 已废弃 +#: itsm/component/constants/iam.py:291 +msgid "SLA 服务模式查看" +msgstr "View SLA Service Mode" + +# 已废弃 +#: itsm/component/constants/iam.py:298 +msgid "SLA 服务模式编辑" +msgstr "Edit SLA Service Mode" + +# 已废弃 +#: itsm/component/constants/iam.py:305 +msgid "SLA 服务模式删除" +msgstr "Delete SLA Service Mode" + +# 已废弃 +#: itsm/component/constants/iam.py:312 +msgid "SLA 服务模式新建" +msgstr "New SLA Service Mode" + +# 已废弃 +#: itsm/component/constants/iam.py:319 +msgid "SLA 服务协议查看" +msgstr "View SLA Service Agreement" + +# 已废弃 +#: itsm/component/constants/iam.py:326 +msgid "SLA 服务协议创建" +msgstr "New SLA Service Agreement" + +# 已废弃 +#: itsm/component/constants/iam.py:333 +msgid "SLA 服务协议编辑" +msgstr "Edit SLA Service Agreement" + +# 已废弃 +#: itsm/component/constants/iam.py:340 +msgid "SLA 服务协议删除" +msgstr "Delete Service Agreement" + +# 已废弃 +#: itsm/component/constants/iam.py:347 +msgid "SLA 优先级查看" +msgstr "View SLA Priority" + +# 已废弃 +#: itsm/component/constants/iam.py:354 +msgid "SLA 优先级管理" +msgstr "Manage SLA Priority" + +#: itsm/component/constants/iam.py:361 +#, fuzzy +#| msgid "公共字段" +msgid "公共字段管理" +msgstr "Public Field" + +#: itsm/component/constants/iam.py:368 +msgid "公共API管理" +msgstr "Manage Public API" + +#: itsm/component/constants/iam.py:375 +msgid "任务模版管理" +msgstr "Manage Task Template" + +#: itsm/component/constants/iam.py:382 +msgid "通知配置查看" +msgstr "View Notification" + +#: itsm/component/constants/iam.py:389 +msgid "通知配置管理" +msgstr "Manage Notification" + +#: itsm/component/constants/iam.py:396 +msgid "全局设置查看" +msgstr "View Global Setting" + +#: itsm/component/constants/iam.py:403 +msgid "全局设置管理" +msgstr "Manage Global Setting" + +#: itsm/component/constants/iam.py:410 +msgid "单据状态查看" +msgstr "View Ticket Status" + +#: itsm/component/constants/iam.py:417 +msgid "单据状态管理" +msgstr "Manage Ticket Status" + +#: itsm/component/constants/iam.py:424 +msgid "平台管理访问" +msgstr "View Administration" + +#: itsm/component/constants/iam.py:433 itsm/iadmin/models.py:338 +#: itsm/project/models/project.py:184 itsm/service/models.py:526 +#: itsm/service/models.py:912 itsm/service/models.py:1033 +#: itsm/trigger/models/base.py:53 +msgid "项目" +msgstr "Project" + +#: itsm/component/constants/iam.py:435 itsm/component/constants/ticket.py:175 +#: itsm/service/models.py:285 itsm/service/models.py:286 +#: itsm/service/validators.py:69 itsm/service/validators.py:71 +#: itsm/service/validators.py:76 +msgid "服务" +msgstr "service" + +#: itsm/component/constants/iam.py:437 itsm/component/constants/task.py:82 +#: itsm/component/constants/trigger.py:51 msgid "流程" msgstr "Flow" -#: itsm/component/constants/task.py:83 itsm/component/constants/trigger.py:52 +#: itsm/component/constants/iam.py:439 itsm/component/constants/task.py:83 +#: itsm/component/constants/trigger.py:52 msgid "流程版本" msgstr "Flow version" +#: itsm/component/constants/iam.py:441 +msgid "流程元素" +msgstr "Process element" + +# 已废弃 +#: itsm/component/constants/iam.py:443 +msgid "通用角色" +msgstr "Common Role" + +#: itsm/component/constants/iam.py:445 itsm/ticket/models/ticket.py:1388 +#: itsm/ticket/models/ticket.py:1389 +msgid "工单" +msgstr "Tickets" + +#: itsm/component/constants/iam.py:447 itsm/sla/models/policy.py:448 +#: itsm/sla/models/policy.py:449 +msgid "服务协议" +msgstr "SLA" + +#: itsm/component/constants/iam.py:449 +msgid "系统配置" +msgstr "System Configuration" + +#: itsm/component/constants/iam.py:451 +msgid "运营数据" +msgstr "Data Analysis" + +#: itsm/component/constants/iam.py:455 +msgid "用户组" +msgstr "Custom Role Group" + +#: itsm/component/constants/iam.py:457 itsm/workflow/models/field.py:220 +msgid "字段" +msgstr "Field" + +#: itsm/component/constants/iam.py:459 itsm/trigger/models/trigger.py:172 +#: itsm/trigger/models/trigger.py:173 itsm/workflow/models/trigger.py:53 +#: itsm/workflow/models/trigger.py:54 +msgid "触发器" +msgstr "Trigger" + +#: itsm/component/constants/iam.py:461 +msgid "SLA 服务协议" +msgstr "SLA Service Agreement" + +#: itsm/component/constants/iam.py:463 +msgid "SLA 服务模式" +msgstr "SLA Service Mode" + +#: itsm/component/constants/iam.py:465 +msgid "公共字段" +msgstr "Public Field" + +#: itsm/component/constants/iam.py:467 +msgid "公共API" +msgstr "Public API" + +#: itsm/component/constants/iam.py:469 itsm/service/models.py:114 +#: itsm/service/models.py:161 itsm/service/models.py:162 +#: itsm/sla/models/policy.py:133 itsm/sla/models/policy.py:157 +#: itsm/ticket_status/models.py:106 itsm/ticket_status/models.py:157 +#: itsm/ticket_status/models.py:259 +msgid "服务类型" +msgstr "Service type" + +#: itsm/component/constants/iam.py:471 +msgid "任务模版" +msgstr "Task Template" + #: itsm/component/constants/task.py:87 itsm/component/constants/task.py:432 #: itsm/component/constants/trigger.py:34 msgid "新建" msgstr "New" #: itsm/component/constants/task.py:88 itsm/task/serializers.py:336 -#: itsm/ticket/handlers.py:88 itsm/ticket/models/ticket.py:3258 +#: itsm/ticket/handlers.py:88 itsm/ticket/models/ticket.py:3472 msgid "处理" msgstr "Process" @@ -387,15 +718,15 @@ msgstr "SOPS" #: itsm/component/constants/task.py:97 msgid "蓝盾" -msgstr "" +msgstr "BK CI" #: itsm/component/constants/task.py:434 itsm/component/constants/task.py:436 -#: itsm/ticket/views/misc.py:187 +#: itsm/ticket/views/misc.py:190 msgid "待处理" msgstr "Waiting" #: itsm/component/constants/task.py:438 itsm/component/constants/trigger.py:35 -#: itsm/ticket/serializers/ticket.py:254 itsm/ticket/serializers/ticket.py:265 +#: itsm/ticket/serializers/ticket.py:259 itsm/ticket/serializers/ticket.py:270 msgid "执行中" msgstr "Executing" @@ -426,12 +757,16 @@ msgstr "Suspended" #: itsm/component/constants/task.py:447 msgid "被删除" -msgstr "" +msgstr "Be deleted" #: itsm/component/constants/task.py:448 itsm/component/utils/basic.py:411 msgid "执行成功" msgstr "Process successful" +#: itsm/component/constants/task.py:449 itsm/component/constants/ticket.py:101 +msgid "已终止" +msgstr "Terminate" + #: itsm/component/constants/task.py:450 #, fuzzy #| msgid "已完成" @@ -442,7 +777,7 @@ msgstr "Closed" msgid "新" msgstr "New" -#: itsm/component/constants/ticket.py:46 itsm/ticket/models/ticket.py:4644 +#: itsm/component/constants/ticket.py:46 itsm/ticket/models/ticket.py:4979 msgid "处理中" msgstr "Processing" @@ -458,10 +793,14 @@ msgstr "To be confirmed" msgid "挂起" msgstr "Suspend" -#: itsm/component/constants/ticket.py:90 itsm/iadmin/contants.py:117 +#: itsm/component/constants/ticket.py:90 itsm/iadmin/contants.py:118 msgid "已完成" msgstr "Closed" +#: itsm/component/constants/ticket.py:112 +msgid "已撤销" +msgstr "Revoked" + #: itsm/component/constants/ticket.py:139 itsm/sla/models/policy.py:136 msgid "紧急程度" msgstr "Urgency" @@ -496,135 +835,137 @@ msgstr "status" msgid "当前步骤" msgstr "Current Step" -#: itsm/component/constants/ticket.py:175 itsm/service/models.py:285 -#: itsm/service/models.py:286 itsm/service/validators.py:69 -#: itsm/service/validators.py:71 itsm/service/validators.py:76 -msgid "服务" -msgstr "service" +#: itsm/component/constants/ticket.py:176 +msgid "满意度评分" +msgstr "Satisfaction rating" -#: itsm/component/constants/ticket.py:181 itsm/component/utils/basic.py:246 +#: itsm/component/constants/ticket.py:177 +msgid "满意度评价" +msgstr "Satisfaction comment" + +#: itsm/component/constants/ticket.py:183 itsm/component/utils/basic.py:246 msgid "浮点数" msgstr "Float" -#: itsm/component/constants/ticket.py:182 +#: itsm/component/constants/ticket.py:184 msgid "非负数(0,正整数,正浮点数)" msgstr "Non-negative numbers " -#: itsm/component/constants/ticket.py:183 +#: itsm/component/constants/ticket.py:185 msgid "非正数(0,负整数,负浮点数)" msgstr "Non-positive (0, negative integer, negative floating point)" -#: itsm/component/constants/ticket.py:184 itsm/component/utils/basic.py:249 +#: itsm/component/constants/ticket.py:186 itsm/component/utils/basic.py:249 msgid "大于零的数(包括正数和正浮点数)" msgstr "positive numbers" -#: itsm/component/constants/ticket.py:185 itsm/component/utils/basic.py:250 +#: itsm/component/constants/ticket.py:187 itsm/component/utils/basic.py:250 msgid "小于零的数(包括负数和负浮点数)" msgstr "negative numbers" -#: itsm/component/constants/ticket.py:186 -#: itsm/component/constants/ticket.py:225 +#: itsm/component/constants/ticket.py:188 +#: itsm/component/constants/ticket.py:227 msgid "仅小写字母" msgstr "Lowercase only" -#: itsm/component/constants/ticket.py:187 -#: itsm/component/constants/ticket.py:226 +#: itsm/component/constants/ticket.py:189 +#: itsm/component/constants/ticket.py:228 msgid "仅大写字母" msgstr "Uppercase only" -#: itsm/component/constants/ticket.py:188 -#: itsm/component/constants/ticket.py:227 +#: itsm/component/constants/ticket.py:190 +#: itsm/component/constants/ticket.py:229 msgid "仅英文字符" msgstr "Alphabets only" -#: itsm/component/constants/ticket.py:189 -#: itsm/component/constants/ticket.py:228 itsm/component/utils/basic.py:160 +#: itsm/component/constants/ticket.py:191 +#: itsm/component/constants/ticket.py:230 itsm/component/utils/basic.py:160 #: itsm/component/utils/basic.py:260 msgid "仅能包含英文字符和数字" msgstr "Can only contain Alphabets and numbers" -#: itsm/component/constants/ticket.py:190 -#: itsm/component/constants/ticket.py:229 +#: itsm/component/constants/ticket.py:192 +#: itsm/component/constants/ticket.py:231 msgid "仅中文字符" msgstr "Chinese characters only" -#: itsm/component/constants/ticket.py:191 -#: itsm/component/constants/ticket.py:230 itsm/component/utils/basic.py:161 +#: itsm/component/constants/ticket.py:193 +#: itsm/component/constants/ticket.py:232 itsm/component/utils/basic.py:161 #: itsm/component/utils/basic.py:261 msgid "仅能包含中英文字符" msgstr "Can only contain Chinese and Alphabets" -#: itsm/component/constants/ticket.py:192 -#: itsm/component/constants/ticket.py:231 itsm/component/utils/basic.py:162 +#: itsm/component/constants/ticket.py:194 +#: itsm/component/constants/ticket.py:233 itsm/component/utils/basic.py:162 #: itsm/component/utils/basic.py:262 msgid "仅能包含中英文,数字,下划线" msgstr "Chinese and Alphabets, numbers and _ are available" -#: itsm/component/constants/ticket.py:193 -#: itsm/component/constants/ticket.py:232 itsm/component/utils/basic.py:163 +#: itsm/component/constants/ticket.py:195 +#: itsm/component/constants/ticket.py:234 itsm/component/utils/basic.py:163 #: itsm/component/utils/basic.py:263 msgid "包含中英文,数字,以英文字符开头" msgstr "Started with Alphabets. Chinese, Alphabets and numbers are available" -#: itsm/component/constants/ticket.py:194 -#: itsm/trigger/action/components/send_message.py:40 +#: itsm/component/constants/ticket.py:196 +#: itsm/trigger/action/components/send_message.py:84 msgid "邮件" msgstr "Email" -#: itsm/component/constants/ticket.py:195 itsm/component/utils/basic.py:156 +#: itsm/component/constants/ticket.py:197 itsm/component/utils/basic.py:156 #: itsm/component/utils/basic.py:256 msgid "内地手机号码" msgstr "Chinese mobile phone number" -#: itsm/component/constants/ticket.py:196 itsm/component/utils/basic.py:157 +#: itsm/component/constants/ticket.py:198 itsm/component/utils/basic.py:157 #: itsm/component/utils/basic.py:257 msgid "身份证" msgstr "ID Card" -#: itsm/component/constants/ticket.py:197 +#: itsm/component/constants/ticket.py:199 msgid "QQ号码" msgstr "QQ" -#: itsm/component/constants/ticket.py:198 itsm/component/utils/basic.py:158 +#: itsm/component/constants/ticket.py:200 itsm/component/utils/basic.py:158 #: itsm/component/utils/basic.py:258 msgid "IP地址" msgstr "IP address" -#: itsm/component/constants/ticket.py:205 -#: itsm/component/constants/ticket.py:238 itsm/component/utils/basic.py:148 +#: itsm/component/constants/ticket.py:207 +#: itsm/component/constants/ticket.py:240 itsm/component/utils/basic.py:148 #: itsm/component/utils/basic.py:244 msgid "数字0-9" msgstr "Number 0-9" -#: itsm/component/constants/ticket.py:206 -#: itsm/component/constants/ticket.py:239 +#: itsm/component/constants/ticket.py:208 +#: itsm/component/constants/ticket.py:241 msgid "非零正整数" msgstr "positive integer" -#: itsm/component/constants/ticket.py:207 -#: itsm/component/constants/ticket.py:214 -#: itsm/component/constants/ticket.py:220 -#: itsm/component/constants/ticket.py:244 +#: itsm/component/constants/ticket.py:209 +#: itsm/component/constants/ticket.py:216 +#: itsm/component/constants/ticket.py:222 +#: itsm/component/constants/ticket.py:246 msgid "联合字段校验" msgstr "Joint field check" -#: itsm/component/constants/ticket.py:212 -#: itsm/component/constants/ticket.py:240 +#: itsm/component/constants/ticket.py:214 +#: itsm/component/constants/ticket.py:242 msgid "系统日期之后" msgstr "After the system date" -#: itsm/component/constants/ticket.py:213 -#: itsm/component/constants/ticket.py:241 +#: itsm/component/constants/ticket.py:215 +#: itsm/component/constants/ticket.py:243 msgid "系统日期之前" msgstr "Before the system date" -#: itsm/component/constants/ticket.py:218 -#: itsm/component/constants/ticket.py:242 +#: itsm/component/constants/ticket.py:220 +#: itsm/component/constants/ticket.py:244 msgid "系统时间之后" msgstr "After the system time" -#: itsm/component/constants/ticket.py:219 -#: itsm/component/constants/ticket.py:243 +#: itsm/component/constants/ticket.py:221 +#: itsm/component/constants/ticket.py:245 msgid "系统时间之前" msgstr "Before the system time" @@ -665,344 +1006,350 @@ msgstr "Modify handler" msgid "API接口" msgstr "API" -#: itsm/component/constants/trigger.py:84 +#: itsm/component/constants/trigger.py:86 msgid "创建单据" msgstr "Create ticket" -#: itsm/component/constants/trigger.py:85 +#: itsm/component/constants/trigger.py:87 msgid "关闭单据" msgstr "Close ticket" -#: itsm/component/constants/trigger.py:86 +#: itsm/component/constants/trigger.py:88 msgid "终止单据" msgstr "Terminate ticket" -#: itsm/component/constants/trigger.py:87 +#: itsm/component/constants/trigger.py:89 msgid "挂起单据" msgstr "Pending ticket" -#: itsm/component/constants/trigger.py:88 +#: itsm/component/constants/trigger.py:90 msgid "恢复单据" msgstr "Restore ticket" -#: itsm/component/constants/trigger.py:89 +#: itsm/component/constants/trigger.py:91 msgid "撤销单据" msgstr "Cancel ticket" -#: itsm/component/constants/trigger.py:90 -#: itsm/component/constants/trigger.py:98 +#: itsm/component/constants/trigger.py:92 +#: itsm/component/constants/trigger.py:100 msgid "进入节点" msgstr "Enter node" -#: itsm/component/constants/trigger.py:91 -#: itsm/component/constants/trigger.py:99 +#: itsm/component/constants/trigger.py:93 +#: itsm/component/constants/trigger.py:101 msgid "离开节点" msgstr "Leave node" -#: itsm/component/constants/trigger.py:100 +#: itsm/component/constants/trigger.py:102 msgid "分派单据" msgstr "Assign ticket" -#: itsm/component/constants/trigger.py:101 +#: itsm/component/constants/trigger.py:103 msgid "认领单据" msgstr "Claim ticket" -#: itsm/component/constants/trigger.py:102 +#: itsm/component/constants/trigger.py:104 msgid "转单" msgstr "Re-assign" -#: itsm/component/constants/trigger.py:107 +#: itsm/component/constants/trigger.py:109 msgid "进入分支" msgstr "Enter branch" -#: itsm/component/constants/trigger.py:118 +#: itsm/component/constants/trigger.py:120 msgid "创建任务之后" msgstr "After creating the task" -#: itsm/component/constants/trigger.py:119 +#: itsm/component/constants/trigger.py:121 msgid "删除任务" msgstr "Delete task" -#: itsm/component/constants/trigger.py:120 +#: itsm/component/constants/trigger.py:122 msgid "执行任务之前" msgstr "Before executing the task" -#: itsm/component/constants/trigger.py:121 +#: itsm/component/constants/trigger.py:123 msgid "执行任务之后" msgstr "After executing the task" -#: itsm/component/constants/trigger.py:122 +#: itsm/component/constants/trigger.py:124 msgid "完成任务之后" msgstr "After completing the task" -#: itsm/component/constants/trigger.py:140 +#: itsm/component/constants/trigger.py:142 msgid "单据信号" msgstr "Ticket signal" -#: itsm/component/constants/trigger.py:141 +#: itsm/component/constants/trigger.py:143 msgid "节点信号" msgstr "Node signal" -#: itsm/component/constants/trigger.py:142 +#: itsm/component/constants/trigger.py:144 msgid "线条信号" msgstr "Line signal" -#: itsm/component/constants/trigger.py:143 +#: itsm/component/constants/trigger.py:145 msgid "任务信号" msgstr "Task signal" -#: itsm/component/decorators.py:120 itsm/component/decorators.py:123 -#: itsm/component/decorators.py:148 itsm/component/decorators.py:152 +#: itsm/component/decorators.py:122 itsm/component/decorators.py:125 +#: itsm/component/decorators.py:150 itsm/component/decorators.py:154 msgid "文件上传失败:{}" msgstr "File upload failed:{}" -#: itsm/component/decorators.py:141 +#: itsm/component/decorators.py:143 msgid "文件上传失败:列表不能为空" msgstr "File upload failed: at least one file" -#: itsm/component/decorators.py:179 +#: itsm/component/decorators.py:181 msgid "禁止上传空文件." msgstr "It is forbidden to upload empty files." -#: itsm/component/decorators.py:187 +#: itsm/component/decorators.py:189 #, python-format msgid "上传文件大小不得超过%s." msgstr "The Max size of one file size is %s." -#: itsm/component/decorators.py:200 itsm/component/decorators.py:210 +#: itsm/component/decorators.py:202 itsm/component/decorators.py:212 #, python-format msgid "上传文件类型仅支持:%s" msgstr "Upload file type only supports: %s" -#: itsm/component/decorators.py:233 +#: itsm/component/decorators.py:235 msgid "请检查系统配置:附件存储目录不存在" msgstr "" "Please check the system configuration: the attachment storage directory does " "not exist" -#: itsm/component/decorators.py:235 +#: itsm/component/decorators.py:237 msgid "请检查系统配置:附件存储的目录配置无效" msgstr "" "Please check the system configuration: the directory configuration of the " "attached storage is invalid." -#: itsm/component/decorators.py:237 +#: itsm/component/decorators.py:239 #, python-format msgid "附件路径生成异常:%s" msgstr "Attachment path generation exception: %s" -#: itsm/component/decorators.py:265 +#: itsm/component/decorators.py:267 msgid "接口异常,缺少请求参数: {}" -msgstr "" +msgstr "Api exception, lose params: {}" -#: itsm/component/decorators.py:275 +#: itsm/component/decorators.py:277 msgid "接口异常: {}" -msgstr "" +msgstr "Api exception: {}" -#: itsm/component/drf/permissions.py:48 itsm/component/drf/permissions.py:65 -#: itsm/component/drf/permissions.py:88 itsm/iadmin/permissions.py:41 -#: itsm/iadmin/permissions.py:85 itsm/sla/permissions.py:41 +#: itsm/component/drf/permissions.py:49 itsm/component/drf/permissions.py:66 +#: itsm/component/drf/permissions.py:89 itsm/iadmin/permissions.py:44 +#: itsm/iadmin/permissions.py:88 itsm/sla/permissions.py:41 #: itsm/task/permissions.py:37 itsm/ticket_status/permissions.py:38 -#: itsm/workflow/permissions.py:184 +#: itsm/workflow/permissions.py:174 msgid "您没有该模块的权限" msgstr "You don't have permission of this module" -#: itsm/component/exceptions.py:36 itsm/component/exceptions.py:255 +#: itsm/component/exceptions.py:36 itsm/component/exceptions.py:261 msgid "系统异常" msgstr "System exception" -#: itsm/component/exceptions.py:51 +#: itsm/component/exceptions.py:53 msgid "升级失败" msgstr "upgrade failed" -#: itsm/component/exceptions.py:57 +#: itsm/component/exceptions.py:59 msgid "方法不允许" msgstr "Method not allowed" -#: itsm/component/exceptions.py:63 +#: itsm/component/exceptions.py:65 msgid "提单失败" msgstr "Submission failed" -#: itsm/component/exceptions.py:69 +#: itsm/component/exceptions.py:71 msgid "单据操作失败" msgstr "Document operation failed" -#: itsm/component/exceptions.py:75 +#: itsm/component/exceptions.py:77 msgid "参数验证失败" msgstr "Parameter verification failed" -#: itsm/component/exceptions.py:81 +#: itsm/component/exceptions.py:83 msgid "附件存储" msgstr "Attachment storage" -#: itsm/component/exceptions.py:87 +#: itsm/component/exceptions.py:89 msgid "组织架构功能开关" msgstr "Organization function switch" -#: itsm/component/exceptions.py:99 +#: itsm/component/exceptions.py:101 msgid "删除失败" msgstr "Delete failed" -#: itsm/component/exceptions.py:105 +#: itsm/component/exceptions.py:107 msgid "创建流程失败" msgstr "Failed to create flow" -#: itsm/component/exceptions.py:111 +#: itsm/component/exceptions.py:113 msgid "流程保存失败" msgstr "Failed to save flow" -#: itsm/component/exceptions.py:121 +#: itsm/component/exceptions.py:123 msgid "远程服务请求结果异常" msgstr "The result of remote service request is abnormal" -#: itsm/component/exceptions.py:127 +#: itsm/component/exceptions.py:129 msgid "组件调用异常" msgstr "Component call exception" -#: itsm/component/exceptions.py:143 +#: itsm/component/exceptions.py:149 msgid "权限不足" msgstr "Permission denied" -#: itsm/component/exceptions.py:149 +#: itsm/component/exceptions.py:155 msgid "当前对象不匹配查询条件" msgstr "The object does not exist" -#: itsm/component/exceptions.py:155 +#: itsm/component/exceptions.py:161 msgid "没有找到对应的节点" msgstr "The state does not exist" -#: itsm/component/exceptions.py:161 +#: itsm/component/exceptions.py:167 msgid "流程终止失败" msgstr "Failed to terminate the mission " -#: itsm/component/exceptions.py:167 +#: itsm/component/exceptions.py:173 msgid "流程服务调用失败" msgstr "Failed to callback the mission" -#: itsm/component/exceptions.py:173 +#: itsm/component/exceptions.py:179 msgid "添加连接线失败" msgstr "Failed to add link line" -#: itsm/component/exceptions.py:179 +#: itsm/component/exceptions.py:185 msgid "参数错误" msgstr "Parameter error" -#: itsm/component/exceptions.py:185 +#: itsm/component/exceptions.py:191 msgid "没有找到对应的单据" msgstr "No corresponding ticket was found" -#: itsm/component/exceptions.py:191 +#: itsm/component/exceptions.py:197 msgid "SLA任务异常" msgstr "Exception in SLA task" -#: itsm/component/exceptions.py:201 +#: itsm/component/exceptions.py:207 msgid "RPC的API返回错误" msgstr "RPC API return error" -#: itsm/component/exceptions.py:207 +#: itsm/component/exceptions.py:213 msgid "组件未找到" msgstr "Component not found" -#: itsm/component/exceptions.py:213 +#: itsm/component/exceptions.py:219 msgid "组件参数校验错误" msgstr "Component parameter verification error" -#: itsm/component/exceptions.py:219 +#: itsm/component/exceptions.py:225 msgid "触发器参数校验错误" msgstr "Trigger parameter verification error" -#: itsm/component/exceptions.py:225 +#: itsm/component/exceptions.py:231 msgid "组件调用错误" msgstr "Component call error" -#: itsm/component/exceptions.py:231 +#: itsm/component/exceptions.py:237 msgid "任务流程初始化失败" msgstr "Task flow initialization failed" -#: itsm/component/exceptions.py:237 +#: itsm/component/exceptions.py:243 msgid "任务服务调用失败" msgstr "Task service call failed" -#: itsm/component/exceptions.py:243 +#: itsm/component/exceptions.py:249 msgid "必填字段不存在" msgstr "Required field does not exist" -#: itsm/component/exceptions.py:249 +#: itsm/component/exceptions.py:255 msgid "查找对象不存在" msgstr "The object does not exist" -#: itsm/component/exceptions.py:265 +#: itsm/component/exceptions.py:271 msgid "用户没有对应模块的权限" msgstr "The user does not have the permission of the corresponding module" -#: itsm/component/exceptions.py:271 +#: itsm/component/exceptions.py:277 msgid "母子单功能开关" msgstr "Parent-child single function switch" -#: itsm/component/exceptions.py:277 +#: itsm/component/exceptions.py:283 msgid "任务功能开关" msgstr "Task function switch" -#: itsm/component/exceptions.py:283 +#: itsm/component/exceptions.py:289 msgid "触发器功能开关" msgstr "Trigger function switch" -#: itsm/component/exceptions.py:289 +#: itsm/component/exceptions.py:295 msgid "关联创建权限失败" msgstr "Association creation permission failed" -#: itsm/component/exceptions.py:295 +#: itsm/component/exceptions.py:301 msgid "创建服务失败" -msgstr "" +msgstr "Create service fail" -#: itsm/component/exceptions.py:301 +#: itsm/component/exceptions.py:307 msgid "创建服务部分失败" -msgstr "" +msgstr "Create service fail" -#: itsm/component/exceptions.py:307 +#: itsm/component/exceptions.py:313 msgid "目录占用中,请先解绑当前目录及子目录下的服务" msgstr "Catalog is binding by some services, please unbind the it first" -#: itsm/component/exceptions.py:313 +#: itsm/component/exceptions.py:319 msgid "相关类型未找到" -msgstr "" +msgstr "Type Not Found" -#: itsm/component/exceptions.py:319 +#: itsm/component/exceptions.py:325 msgid "项目未找到" -msgstr "" +msgstr "Project Not Found" -#: itsm/component/exceptions.py:325 +#: itsm/component/exceptions.py:331 msgid "当前没有权限迁移此资源" msgstr "" -#: itsm/component/exceptions.py:331 +#: itsm/component/exceptions.py:337 #, fuzzy #| msgid "没有找到对应的单据" msgid "没有找到对应的配置" msgstr "No corresponding ticket was found" -#: itsm/component/exceptions.py:337 +#: itsm/component/exceptions.py:343 msgid "服务未找到" msgstr "" -#: itsm/component/exceptions.py:343 +#: itsm/component/exceptions.py:349 msgid "服务模板未找到" msgstr "" -#: itsm/component/exceptions.py:349 +#: itsm/component/exceptions.py:355 msgid "权限迁移失败" msgstr "" -#: itsm/component/exceptions.py:355 +#: itsm/component/exceptions.py:361 #, fuzzy #| msgid "参数验证失败" msgid "Sla节点参数验证失败" msgstr "Parameter verification failed" -#: itsm/component/exceptions.py:361 +#: itsm/component/exceptions.py:367 msgid "转派单异常" msgstr "" +#: itsm/component/exceptions.py:373 +#, fuzzy +#| msgid "自定义数据" +msgid "获取自定义数据异常" +msgstr "Custom" + #: itsm/component/generics.py:68 msgid "用户未登录或登录态失效,请使用登录链接重新登录" msgstr "" @@ -1022,13 +1369,12 @@ msgstr "%s is not allowed to connect" msgid "get_request can't be called in a new thread." msgstr "get_request can't be called in a new thread." -#: itsm/component/notify.py:117 +#: itsm/component/notify.py:151 #, fuzzy, python-brace-format #| msgid "" #| "点击查看" #| "详情" -msgid "" -"点击查看详情" +msgid "点击查看详情" msgstr "" "Click for " "details" @@ -1265,21 +1611,21 @@ msgstr "part fail, please read detail info in key fail" msgid "all fail, please read detail info in key fail" msgstr "all fail, please read detail info in key fail" -#: itsm/component/utils/client_backend_query.py:50 -#: itsm/component/utils/client_backend_query.py:67 -#: itsm/component/utils/client_backend_query.py:71 +#: itsm/component/utils/client_backend_query.py:55 +#: itsm/component/utils/client_backend_query.py:77 +#: itsm/component/utils/client_backend_query.py:83 msgid "请选择关联业务" msgstr "Please select the associated business" -#: itsm/component/utils/client_backend_query.py:98 +#: itsm/component/utils/client_backend_query.py:115 msgid "未接管" msgstr "Untaken" -#: itsm/component/utils/client_backend_query.py:117 -#: itsm/ticket/models/ticket.py:4333 itsm/ticket/models/ticket.py:4338 -#: itsm/ticket/models/ticket.py:4370 itsm/ticket/models/ticket.py:4375 -#: itsm/ticket/models/ticket.py:4617 itsm/ticket/models/ticket.py:4621 -#: itsm/ticket/models/ticket.py:4625 +#: itsm/component/utils/client_backend_query.py:135 +#: itsm/ticket/models/ticket.py:4590 itsm/ticket/models/ticket.py:4595 +#: itsm/ticket/models/ticket.py:4627 itsm/ticket/models/ticket.py:4632 +#: itsm/ticket/models/ticket.py:4952 itsm/ticket/models/ticket.py:4956 +#: itsm/ticket/models/ticket.py:4960 msgid "其他" msgstr "other" @@ -1328,13 +1674,13 @@ msgstr "The user name list cannot be empty!" msgid "批量获取用户信息出错,%s" msgstr "Error retrieving user information in batch, %s" -#: itsm/gateway/views.py:483 +#: itsm/gateway/views.py:516 #, fuzzy #| msgid "批量获取用户信息出错,%s" msgid "批量获取流水线出错:{}" msgstr "Error retrieving user information in batch, %s" -#: itsm/gateway/views.py:633 +#: itsm/gateway/views.py:666 msgid "批量获取流水线出错:{}, kwargs:{}" msgstr "" @@ -1356,75 +1702,75 @@ msgstr "Command execution succeeded" msgid "命令执行异常:%s" msgstr "Command execution exception: %s" -#: itsm/iadmin/contants.py:69 itsm/iadmin/contants.py:88 +#: itsm/iadmin/contants.py:70 itsm/iadmin/contants.py:89 msgid "单据终止通知" msgstr "Ticket termination notice" -#: itsm/iadmin/contants.py:70 itsm/iadmin/contants.py:89 +#: itsm/iadmin/contants.py:71 itsm/iadmin/contants.py:90 msgid "邀请关注通知" msgstr "Invitation attention notice" -#: itsm/iadmin/contants.py:71 itsm/iadmin/contants.py:90 +#: itsm/iadmin/contants.py:72 itsm/iadmin/contants.py:91 msgid "邀请评价通知" msgstr "Invitation evaluation notice" -#: itsm/iadmin/contants.py:72 itsm/iadmin/contants.py:91 +#: itsm/iadmin/contants.py:73 itsm/iadmin/contants.py:92 msgid "单据督办通知" msgstr "Ticket supervise notice" -#: itsm/iadmin/contants.py:73 itsm/iadmin/contants.py:92 +#: itsm/iadmin/contants.py:74 itsm/iadmin/contants.py:93 msgid "单据挂起通知" msgstr "Ticket suspend notice" -#: itsm/iadmin/contants.py:74 itsm/iadmin/contants.py:93 +#: itsm/iadmin/contants.py:75 itsm/iadmin/contants.py:94 msgid "单据恢复通知" msgstr "Ticket resume notice" -#: itsm/iadmin/contants.py:75 itsm/iadmin/contants.py:94 +#: itsm/iadmin/contants.py:76 itsm/iadmin/contants.py:95 msgid "单据待办通知" msgstr "Ticket todo notice" -#: itsm/iadmin/contants.py:76 itsm/iadmin/contants.py:107 +#: itsm/iadmin/contants.py:77 itsm/iadmin/contants.py:108 msgid "任务待办通知" msgstr "Task todo notice" -#: itsm/iadmin/contants.py:77 itsm/iadmin/contants.py:108 +#: itsm/iadmin/contants.py:78 itsm/iadmin/contants.py:109 msgid "任务待总结通知" msgstr "Task summary notice" -#: itsm/iadmin/contants.py:78 +#: itsm/iadmin/contants.py:79 msgid "关注人通知" msgstr "Follower notification" -#: itsm/iadmin/contants.py:79 itsm/iadmin/contants.py:95 +#: itsm/iadmin/contants.py:80 itsm/iadmin/contants.py:96 msgid "单据结束通知" msgstr "Ticket finished notice" -#: itsm/iadmin/contants.py:80 itsm/iadmin/contants.py:100 +#: itsm/iadmin/contants.py:81 itsm/iadmin/contants.py:101 msgid "SLA服务处理预警提醒通知" msgstr "" -#: itsm/iadmin/contants.py:81 itsm/iadmin/contants.py:101 +#: itsm/iadmin/contants.py:82 itsm/iadmin/contants.py:102 msgid "SLA服务处理超时提醒通知" msgstr "" -#: itsm/iadmin/contants.py:82 itsm/iadmin/contants.py:102 +#: itsm/iadmin/contants.py:83 itsm/iadmin/contants.py:103 msgid "SLA服务响应预警提醒通知" msgstr "" -#: itsm/iadmin/contants.py:83 itsm/iadmin/contants.py:103 +#: itsm/iadmin/contants.py:84 itsm/iadmin/contants.py:104 msgid "SLA服务响应超时提醒" msgstr "" -#: itsm/iadmin/contants.py:84 itsm/iadmin/contants.py:96 +#: itsm/iadmin/contants.py:85 itsm/iadmin/contants.py:97 msgid "节点失败通知" msgstr "" -#: itsm/iadmin/forms.py:35 itsm/iadmin/models.py:116 +#: itsm/iadmin/forms.py:35 itsm/iadmin/models.py:120 msgid "标题模板" msgstr "Title template" -#: itsm/iadmin/forms.py:35 itsm/iadmin/models.py:121 +#: itsm/iadmin/forms.py:35 itsm/iadmin/models.py:125 #, python-brace-format msgid "" "工单字段的值可以作为参数写到模板中,格式如:【ITSM】${service}管理单" @@ -1433,170 +1779,170 @@ msgstr "" "The value of the ticket field can be written to the template as a parameter, " "such as: [ITSM] ${service} management order [${action}] reminder" -#: itsm/iadmin/forms.py:39 itsm/iadmin/models.py:124 +#: itsm/iadmin/forms.py:39 itsm/iadmin/models.py:128 msgid "内容模板" msgstr "Content template" -#: itsm/iadmin/forms.py:40 itsm/iadmin/models.py:128 +#: itsm/iadmin/forms.py:40 itsm/iadmin/models.py:132 #, python-brace-format msgid "工单字段的值可以作为参数写到模板中,格式如:单号:${sn}" msgstr "" "The value of the ticket field can be written to the template as a parameter, " "such as: single number: ${sn}" -#: itsm/iadmin/models.py:84 itsm/iadmin/models.py:325 -#: itsm/project/models/project.py:159 itsm/workflow/models/trigger.py:38 +#: itsm/iadmin/models.py:88 itsm/iadmin/models.py:332 +#: itsm/project/models/project.py:181 itsm/workflow/models/trigger.py:38 msgid "类型" msgstr "Types of" -#: itsm/iadmin/models.py:85 itsm/project/models/project.py:160 +#: itsm/iadmin/models.py:89 itsm/project/models/project.py:182 msgid "关键字唯一标识" msgstr "Keyword unique identifier" -#: itsm/iadmin/models.py:86 itsm/project/models/project.py:161 +#: itsm/iadmin/models.py:90 itsm/project/models/project.py:183 msgid "系统设置值" msgstr "System setting" -#: itsm/iadmin/models.py:92 itsm/iadmin/models.py:93 +#: itsm/iadmin/models.py:96 itsm/iadmin/models.py:97 msgid "系统设置" msgstr "System settings" -#: itsm/iadmin/models.py:131 +#: itsm/iadmin/models.py:135 msgid "通知模板类型" msgstr "Notification template type" -#: itsm/iadmin/models.py:134 itsm/ticket/models/misc.py:172 -#: itsm/ticket/models/misc.py:231 itsm/workflow/models/common.py:56 -#: itsm/workflow/models/common.py:57 +#: itsm/iadmin/models.py:137 itsm/ticket/models/misc.py:175 +#: itsm/ticket/models/misc.py:232 itsm/workflow/models/common.py:57 +#: itsm/workflow/models/common.py:58 msgid "通知方式" msgstr "Notification Channel" -#: itsm/iadmin/models.py:138 +#: itsm/iadmin/models.py:140 msgid "更新人" msgstr "Updated by" -#: itsm/iadmin/models.py:139 +#: itsm/iadmin/models.py:141 msgid "使用者" msgstr "" -#: itsm/iadmin/models.py:140 pipeline/engine/models/core.py:998 +#: itsm/iadmin/models.py:142 pipeline/engine/models/core.py:998 msgid "版本" msgstr "Version" -#: itsm/iadmin/models.py:143 itsm/postman/models.py:126 -#: itsm/project/models/project.py:168 itsm/project/models/project.py:188 -#: itsm/role/models.py:137 itsm/service/models.py:85 itsm/service/models.py:521 +#: itsm/iadmin/models.py:145 itsm/postman/models.py:126 +#: itsm/project/models/project.py:190 itsm/project/models/project.py:210 +#: itsm/role/models.py:158 itsm/service/models.py:85 itsm/service/models.py:521 #: itsm/sla/models/policy.py:434 itsm/sla/models/schedule.py:90 -#: itsm/ticket/models/ticket.py:1284 itsm/trigger/models/trigger.py:163 +#: itsm/ticket/models/ticket.py:1375 itsm/trigger/models/trigger.py:163 #: itsm/workflow/models/field.py:215 msgid "项目key" msgstr "" -#: itsm/iadmin/models.py:151 itsm/iadmin/models.py:152 +#: itsm/iadmin/models.py:153 itsm/iadmin/models.py:154 msgid "通知模板" msgstr "Notification template" -#: itsm/iadmin/models.py:272 itsm/workflow/models/workflow.py:121 +#: itsm/iadmin/models.py:279 itsm/workflow/models/workflow.py:124 msgid "版本号" msgstr "Version" -#: itsm/iadmin/models.py:273 pipeline/log/models.py:45 +#: itsm/iadmin/models.py:280 pipeline/log/models.py:45 msgid "日志内容" msgstr "Log content" -#: itsm/iadmin/models.py:274 +#: itsm/iadmin/models.py:281 msgid "语言" msgstr "Language" -#: itsm/iadmin/models.py:275 +#: itsm/iadmin/models.py:282 msgid "日期" msgstr "Date" -#: itsm/iadmin/models.py:276 +#: itsm/iadmin/models.py:283 msgid "是否最新版本" msgstr "Is latest" -#: itsm/iadmin/models.py:277 +#: itsm/iadmin/models.py:284 msgid "版本号大小" msgstr "Version number" -#: itsm/iadmin/models.py:283 itsm/iadmin/models.py:284 +#: itsm/iadmin/models.py:290 itsm/iadmin/models.py:291 msgid "版本日志" msgstr "Version log" -#: itsm/iadmin/models.py:290 +#: itsm/iadmin/models.py:297 msgid "旧版本" msgstr "Old version" -#: itsm/iadmin/models.py:291 +#: itsm/iadmin/models.py:298 msgid "新版本" msgstr "new version" -#: itsm/iadmin/models.py:292 +#: itsm/iadmin/models.py:299 msgid "升级人" msgstr "UpdateBy" -#: itsm/iadmin/models.py:293 +#: itsm/iadmin/models.py:300 msgid "记录创建日期" msgstr "Record creation date" -#: itsm/iadmin/models.py:295 +#: itsm/iadmin/models.py:302 msgid "执行的函数" msgstr "Executed function" -#: itsm/iadmin/models.py:296 +#: itsm/iadmin/models.py:303 msgid "是否执行结束" msgstr "Whether to execute the end" -#: itsm/iadmin/models.py:297 +#: itsm/iadmin/models.py:304 msgid "是否迁移成功" msgstr "Result" -#: itsm/iadmin/models.py:301 itsm/iadmin/models.py:302 +#: itsm/iadmin/models.py:308 itsm/iadmin/models.py:309 msgid "数据迁移日志" msgstr "Data migration log" -#: itsm/iadmin/models.py:316 +#: itsm/iadmin/models.py:323 msgid "字符串" msgstr "String" -#: itsm/iadmin/models.py:317 +#: itsm/iadmin/models.py:324 msgid "哈希值" msgstr "Hash value" -#: itsm/iadmin/models.py:318 +#: itsm/iadmin/models.py:325 msgid "列表" msgstr "List" -#: itsm/iadmin/models.py:319 +#: itsm/iadmin/models.py:326 msgid "集合" msgstr "Set" -#: itsm/iadmin/models.py:320 +#: itsm/iadmin/models.py:327 msgid "有序集合" msgstr "Ordered set" -#: itsm/iadmin/models.py:322 itsm/service/models.py:152 +#: itsm/iadmin/models.py:329 itsm/service/models.py:152 msgid "关键字" msgstr "Keyword" -#: itsm/iadmin/models.py:323 +#: itsm/iadmin/models.py:330 msgid "值" msgstr "Value" -#: itsm/iadmin/models.py:327 +#: itsm/iadmin/models.py:334 msgid "过期时间" msgstr "Expiration time" -#: itsm/iadmin/models.py:336 itsm/iadmin/models.py:337 +#: itsm/iadmin/models.py:343 itsm/iadmin/models.py:344 msgid "数据存储" msgstr "Data storage" -#: itsm/iadmin/permissions.py:52 +#: itsm/iadmin/permissions.py:55 msgid "您没有该模块的操作权限" msgstr "You don't have operational permission of this module" -#: itsm/iadmin/permissions.py:66 +#: itsm/iadmin/permissions.py:69 msgid "您没有权限" msgstr "Permission denied" @@ -1616,152 +1962,257 @@ msgstr "" msgid "该项目下已存在相同的通知配置,不能重复添加" msgstr "" -#: itsm/iadmin/validators.py:78 +#: itsm/iadmin/validators.py:82 msgid "路径不能为空!" msgstr "The directory is required!" -#: itsm/iadmin/validators.py:80 +#: itsm/iadmin/validators.py:89 msgid "路径不存在,请检查!" msgstr "No such file or directory" -#: itsm/iadmin/validators.py:92 -msgid "路径无法写入,请联系管理员!" -msgstr "Path cannot be written, please contact the administrator!" - -#: itsm/iadmin/validators.py:100 +#: itsm/iadmin/validators.py:114 msgid "组织架构接口调用失败,无法启用,请联系管理员" msgstr "" "The feature of organization is unavailable. Please contact the administrator." -#: itsm/iadmin/validators.py:108 +#: itsm/iadmin/validators.py:123 msgid "以下流程节点正在使用组织架构功能,请更改再关闭:{}" msgstr "" "This feature is used for following flow tasks, please change and then close:" "{}" -#: itsm/iadmin/validators.py:113 +#: itsm/iadmin/validators.py:132 msgid "以下服务正在使用组织架构功能,请更改再关闭:{}" msgstr "" "This feature is used for following services, please change and then close:{}" -#: itsm/iadmin/validators.py:124 +#: itsm/iadmin/validators.py:152 msgid "存在未完成的含有母子单的单据,请处理后再关闭" msgstr "" "There are unfinished parent-child ticket, please close it after processing" -#: itsm/iadmin/validators.py:131 +#: itsm/iadmin/validators.py:159 msgid "存在含有未完成任务的单据,请处理后再关闭" msgstr "" "There are tickets with unfinished tasks, please close it after processing" -#: itsm/iadmin/validators.py:139 +#: itsm/iadmin/validators.py:169 msgid "存在被引用的触发器,请处理后再关闭" msgstr "There are referenced triggers, please close it after processing" -#: itsm/iadmin/views.py:183 +#: itsm/iadmin/views.py:187 msgid "有数据迁移任务未完成" msgstr "There is a running data migration task " -#: itsm/iadmin/views.py:230 +#: itsm/iadmin/views.py:234 msgid "已经是最新版本,无需升级。" msgstr "Already the latest version, no upgrade required." -#: itsm/misc/views.py:68 +#: itsm/misc/views.py:71 msgid "缓存更新成功" msgstr "Cache update succeeded" -#: itsm/misc/views.py:70 +#: itsm/misc/views.py:73 #, python-format msgid "缓存更新失败:%s" msgstr "Cache update failed: %s" -#: itsm/misc/views.py:136 +#: itsm/misc/views.py:139 msgid "文件【{}】不存在" msgstr "File [{}] does not exist" -#: itsm/openapi/service/views.py:229 +#: itsm/openapi/base_service/serializers.py:41 itsm/postman/serializers.py:56 +#: itsm/service/serializers.py:335 itsm/service/serializers.py:517 +#: itsm/service/serializers.py:632 itsm/service/serializers.py:674 +#: itsm/service/serializers.py:721 itsm/service/serializers.py:820 +msgid "编码不能为空" +msgstr "The code is required" + +#: itsm/openapi/base_service/serializers.py:55 +#: itsm/openapi/base_service/serializers.py:105 itsm/task/serializers.py:431 +#: itsm/task/validators.py:81 itsm/workflow/serializers/workflow.py:189 +#: itsm/workflow/serializers/workflow.py:196 +#: itsm/workflow/serializers/workflow.py:199 +#: itsm/workflow/serializers/workflow.py:204 +#: itsm/workflow/serializers/workflow.py:211 +msgid "参数校验失败" +msgstr "Parameter verification failed" + +#: itsm/openapi/base_service/serializers.py:55 +#: itsm/openapi/base_service/serializers.py:105 +#: itsm/workflow/serializers/workflow.py:196 +#: itsm/workflow/serializers/workflow.py:199 +msgid "系统中已存在同名流程,请尝试换个流程名称" +msgstr "" +"A flow with the same name already exists in the system. Try changing the " +"flow name." + +#: itsm/openapi/base_service/serializers.py:166 itsm/workflow/validators.py:267 +#: itsm/workflow/validators.py:571 +msgid "当前流程已存在唯一标识【{}】,请重新输入" +msgstr "The current flow already has a unique identifier 【{}】, please check" + +#: itsm/openapi/base_service/serializers.py:270 +#: itsm/postman/rpc/components/ticket_status.py:39 +#: itsm/ticket/serializers/ticket.py:961 itsm/ticket_status/models.py:180 +#: itsm/ticket_status/models.py:181 +#: itsm/trigger/action/components/modify_ticket_status.py:49 +msgid "工单状态" +msgstr "Ticket Status" + +#: itsm/openapi/base_service/serializers.py:270 +#: itsm/ticket/serializers/ticket.py:961 +msgid "工单状态不存在,请检查" +msgstr "Ticket status does not exist, please have a check" + +#: itsm/openapi/base_service/validator.py:28 +#: itsm/ticket/validators/ticket.py:72 +msgid "fields字段未填" +msgstr "Fields field is missing" + +#: itsm/openapi/base_service/validator.py:44 +msgid "单据创建失败,flow_id 对应的流程版本不存在, flow_id={}" +msgstr "" + +#: itsm/openapi/base_service/validator.py:49 +msgid "单据创建失败,flow_id对应的流程与该服务绑定的流程不一致,flow_id:{}" +msgstr "" + +#: itsm/openapi/base_service/validator.py:71 +#: itsm/ticket/validators/ticket.py:103 +msgid "单据创建失败,缺少参数:{}" +msgstr "Ticket creation failed, missing parameters:{}" + +#: itsm/openapi/base_service/views/transition.py:39 itsm/workflow/views.py:547 +msgid "内置连线不能被删除" +msgstr "Built-in connections cannot be deleted" + +#: itsm/openapi/decorators.py:74 +msgid "接口异常,请检查请求参数: {}" +msgstr "" + +#: itsm/openapi/service/views.py:241 msgid "导入失败,服务名称已经存在" msgstr "" -#: itsm/openapi/ticket/serializers.py:293 +#: itsm/openapi/service/views.py:272 +msgid "更新失败,服务名称已经存在" +msgstr "" + +#: itsm/openapi/ticket/serializers.py:366 #, fuzzy #| msgid "任务处理失败,缺少参数:{}" msgid "单据处理失败,缺少参数:{}" msgstr "Task processing failed, missing parameters: {}" -#: itsm/openapi/ticket/validators.py:38 +#: itsm/openapi/ticket/serializers.py:512 +#, fuzzy +#| msgid "对应的单据【%s】不存在" +msgid "sn={}对应的单据不存在!" +msgstr "The corresponding ticket [%s] does not exist" + +#: itsm/openapi/ticket/serializers.py:515 +msgid "单据未结束,不允许评价!" +msgstr "" + +#: itsm/openapi/ticket/serializers.py:520 +msgid "单据评价记录未存在,无法评价!" +msgstr "" + +#: itsm/openapi/ticket/serializers.py:523 itsm/ticket/serializers/misc.py:127 +msgid "该单据已经被评论,请勿重复评论" +msgstr "The ticket has been commented, please do not repeat the comment" + +#: itsm/openapi/ticket/validators.py:46 #, fuzzy #| msgid "抱歉,当前单据无法操作" msgid "抱歉,单据已关闭,无法操作" msgstr "Sorry, the ticket is out of operation" -#: itsm/openapi/ticket/validators.py:41 itsm/ticket/validators/ticket.py:419 -#: itsm/ticket/validators/ticket.py:523 +#: itsm/openapi/ticket/validators.py:49 itsm/ticket/validators/ticket.py:481 +#: itsm/ticket/validators/ticket.py:592 msgid "抱歉,子单为只读状态,无法操作" msgstr "Sorry, the child-ticket is read-only, and out of operation" -#: itsm/openapi/ticket/validators.py:47 +#: itsm/openapi/ticket/validators.py:55 #, fuzzy #| msgid "没有找到对应的节点" msgid "抱歉,没有找到该节点:{}" msgstr "The state does not exist" -#: itsm/openapi/ticket/validators.py:49 +#: itsm/openapi/ticket/validators.py:57 msgid "抱歉,当前节点:{} 已经结束" msgstr "" -#: itsm/openapi/ticket/validators.py:51 +#: itsm/openapi/ticket/validators.py:60 msgid "抱歉,{}不能操作该节点(没有权限或操作类型不支持)" msgstr "" -#: itsm/openapi/ticket/validators.py:54 +#: itsm/openapi/ticket/validators.py:64 #, fuzzy #| msgid "抱歉,您无权操作该单据" msgid "抱歉,{}无权操作该单据" msgstr "Sorry, you don't have permission to operate the ticket" -#: itsm/openapi/ticket/validators.py:61 +#: itsm/openapi/ticket/validators.py:71 #, fuzzy #| msgid "抱歉,子单为只读状态,无法操作" msgid "抱歉,该单据不在流程中,无法操作" msgstr "Sorry, the child-ticket is read-only, and out of operation" -#: itsm/openapi/ticket/validators.py:68 +#: itsm/openapi/ticket/validators.py:78 #, fuzzy #| msgid "抱歉,单据执行中,无法撤销" msgid "抱歉,该单据不在挂起中,无法操作" msgstr "Sorry, the ticket cannot be revoked while it is in progress" -#: itsm/openapi/ticket/views.py:144 -msgid "接口异常,请检查请求参数: {}" +#: itsm/openapi/ticket/validators.py:87 +msgid "未找到提单节点找到对应的字段, key={}" +msgstr "" + +#: itsm/openapi/ticket/validators.py:93 +msgid "只允许修改提单节点的字段和内置字段, key={}" +msgstr "" + +#: itsm/openapi/ticket/validators.py:117 itsm/ticket/validators/field.py:75 +#: itsm/ticket/validators/field.py:466 +msgid "标题不能超过120个字符" +msgstr "The title cannot exceed 120 characters" + +#: itsm/pipeline_plugins/components/collections/bk_plugin.py:374 +msgid "蓝鲸插件 集成节点" msgstr "" -#: itsm/pipeline_plugins/components/collections/itsm_auto.py:136 +#: itsm/pipeline_plugins/components/collections/itsm_auto.py:144 #, python-format msgid "请求参数构造异常,详细信息: %s" msgstr "" -#: itsm/pipeline_plugins/components/collections/itsm_auto.py:144 +#: itsm/pipeline_plugins/components/collections/itsm_auto.py:152 #, python-format msgid "请求参数转换异常,详细信息: %s" msgstr "" -#: itsm/pipeline_plugins/components/collections/itsm_auto.py:150 +#: itsm/pipeline_plugins/components/collections/itsm_auto.py:158 #, fuzzy, python-format #| msgid "请求参数校验失败: %s" msgid "请求参数校验异常,详细信息: %s" msgstr "Request parameter verification failed: %s" -#: itsm/pipeline_plugins/components/collections/itsm_auto.py:293 -#: itsm/postman/models.py:389 itsm/ticket/views/field.py:65 -#: itsm/ticket/views/ticket.py:426 +#: itsm/pipeline_plugins/components/collections/itsm_auto.py:305 +#: itsm/postman/models.py:389 itsm/ticket/views/field.py:74 +#: itsm/ticket/views/ticket.py:446 msgid "对应的api配置不存在,请查询" msgstr "The corresponding api configuration does not exist, please check" -#: itsm/pipeline_plugins/components/collections/itsm_auto.py:454 +#: itsm/pipeline_plugins/components/collections/itsm_auto.py:477 msgid "自动节点" msgstr "Automatic task" +#: itsm/pipeline_plugins/components/collections/webhook.py:404 +msgid "WEBHOOK 节点" +msgstr "" + #: itsm/postman/models.py:99 msgid "系统id" msgstr "System id" @@ -1795,8 +2246,8 @@ msgid "系统域名" msgstr "System domain name" #: itsm/postman/models.py:115 itsm/postman/models.py:231 -#: itsm/project/models/project.py:54 itsm/service/models.py:905 -#: itsm/sla/models/policy.py:430 itsm/workflow/models/workflow.py:86 +#: itsm/project/models/project.py:57 itsm/service/models.py:905 +#: itsm/sla/models/policy.py:430 itsm/workflow/models/workflow.py:89 msgid "是否启用" msgstr "Enabled" @@ -1848,15 +2299,15 @@ msgstr "API call function" msgid "请求方法" msgstr "Request method" -#: itsm/postman/models.py:212 itsm/project/models/project.py:187 +#: itsm/postman/models.py:212 itsm/project/models/project.py:209 #: itsm/service/models.py:205 itsm/service/models.py:902 pipeline/models.py:284 #: pipeline/models.py:629 msgid "描述" msgstr "description" -#: itsm/postman/models.py:213 itsm/role/models.py:133 +#: itsm/postman/models.py:213 itsm/role/models.py:151 #: itsm/service/models.py:904 itsm/workflow/models/task.py:69 -#: itsm/workflow/models/workflow.py:97 +#: itsm/workflow/models/workflow.py:100 msgid "负责人" msgstr "Principal" @@ -1944,94 +2395,100 @@ msgstr "API configuration parameter instance" msgid "{}配置实例({})" msgstr "{}Configuration instance ({})" -#: itsm/postman/models.py:467 +#: itsm/postman/models.py:470 +msgid "" +"接口返回协议不符合规范,请确保接口协议符合蓝鲸规范。详见: Github->API功能使用" +"说明" +msgstr "" + +#: itsm/postman/models.py:478 #, python-format msgid "用户没有对应的第三方系统接口【%s】权限" msgstr "" "The user does not have the corresponding third-party system interface [%s] " "permission" -#: itsm/postman/models.py:507 +#: itsm/postman/models.py:518 msgid "所选关键字与返回结果不匹配, 请联系管理员" msgstr "" "The selected keyword does not match the returned result. Please contact the " "administrator." +#: itsm/postman/permissions.py:64 +msgid "API 所属项目异常" +msgstr "" + #: itsm/postman/rpc/components/demo.py:37 #: itsm/postman/rpc/components/demo.py:42 msgid "样例" msgstr "Sample" -#: itsm/postman/rpc/components/ticket_fields.py:38 -msgid "工单的公共字段" -msgstr "Public field of ticket" +#: itsm/postman/rpc/components/state_fields.py:39 +msgid "流程内的节点字段" +msgstr "" +#: itsm/postman/rpc/components/state_fields.py:44 #: itsm/postman/rpc/components/ticket_fields.py:42 #: itsm/postman/rpc/components/ticket_states.py:42 msgid "触发器源id" msgstr "Trigger source id" +#: itsm/postman/rpc/components/state_fields.py:47 #: itsm/postman/rpc/components/ticket_fields.py:43 #: itsm/postman/rpc/components/ticket_states.py:43 msgid "触发器源类型" msgstr "" +#: itsm/postman/rpc/components/ticket_fields.py:38 +msgid "工单的公共字段" +msgstr "Public field of ticket" + #: itsm/postman/rpc/components/ticket_states.py:38 msgid "工单的节点" msgstr "Trigger source type" -#: itsm/postman/rpc/components/ticket_status.py:39 -#: itsm/ticket/serializers/ticket.py:927 itsm/ticket_status/models.py:174 -#: itsm/ticket_status/models.py:175 -#: itsm/trigger/action/components/modify_ticket_status.py:49 -msgid "工单状态" -msgstr "Ticket Status" - -#: itsm/postman/rpc/components/ticket_status.py:102 +#: itsm/postman/rpc/components/ticket_status.py:116 msgid "所有服务类型" msgstr "All service type" -#: itsm/postman/serializers.py:51 itsm/postman/serializers.py:114 -#: itsm/service/serializers.py:122 itsm/service/serializers.py:325 -#: itsm/service/serializers.py:507 itsm/service/serializers.py:637 -#: itsm/service/serializers.py:682 itsm/service/serializers.py:812 +#: itsm/postman/serializers.py:53 itsm/postman/serializers.py:127 +#: itsm/service/serializers.py:123 itsm/service/serializers.py:326 +#: itsm/service/serializers.py:508 itsm/service/serializers.py:638 +#: itsm/service/serializers.py:683 itsm/service/serializers.py:816 msgid "名称不能为空" msgstr "The name is required" -#: itsm/postman/serializers.py:52 itsm/service/serializers.py:334 -#: itsm/service/serializers.py:516 itsm/service/serializers.py:631 -#: itsm/service/serializers.py:673 itsm/service/serializers.py:720 -#: itsm/service/serializers.py:816 -msgid "编码不能为空" -msgstr "The code is required" - -#: itsm/postman/serializers.py:104 itsm/postman/serializers.py:107 +#: itsm/postman/serializers.py:116 itsm/postman/serializers.py:119 msgid "该系统已经存在,请重新选择" msgstr "The system already exists, please re-select" -#: itsm/postman/serializers.py:115 +#: itsm/postman/serializers.py:130 msgid "路径不能为空" msgstr "the request path is required" -#: itsm/postman/serializers.py:117 +#: itsm/postman/serializers.py:134 msgid "调用函数不能为空" msgstr "The call function is required" -#: itsm/postman/serializers.py:182 itsm/postman/serializers.py:185 +#: itsm/postman/serializers.py:211 itsm/postman/serializers.py:214 msgid "该接口名称已存在,请重新输入" msgstr "API name is not available, please try another" -#: itsm/postman/views.py:282 itsm/workflow/views.py:343 +#: itsm/postman/views.py:262 itsm/postman/views.py:267 +msgid "接口数量异常,请刷新后重试" +msgstr "" + +#: itsm/postman/views.py:304 itsm/workflow/views.py:327 msgid "文件格式有误,请提供从本系统导出的json文件" msgstr "" "The file format is incorrect. Please provide the json file exported from " "this system." -#: itsm/postman/views.py:293 itsm/workflow/views.py:337 +#: itsm/postman/views.py:316 itsm/workflow/views.py:321 msgid "暂不支持当前操作" msgstr "Operation not support" -#: itsm/postman/views.py:320 +#: itsm/postman/views.py:343 #, python-format msgid "【%s】为必需参数" msgstr "【%s】 is required parameter" @@ -2040,135 +2497,135 @@ msgstr "【%s】 is required parameter" msgid "您当前没有权限迁移该服务,您在权限中心没有该服务的权限,service_name={}" msgstr "" -#: itsm/project/models/project.py:47 +#: itsm/project/models/project.py:50 #, fuzzy #| msgid "关键字唯一标识" msgid "项目唯一标识" msgstr "Keyword unique identifier" -#: itsm/project/models/project.py:48 +#: itsm/project/models/project.py:51 msgid "项目名" msgstr "" -#: itsm/project/models/project.py:50 +#: itsm/project/models/project.py:53 msgid "项目描述" msgstr "" -#: itsm/project/models/project.py:52 +#: itsm/project/models/project.py:55 msgid "logo base64 内容" msgstr "" -#: itsm/project/models/project.py:53 +#: itsm/project/models/project.py:56 msgid "项目颜色" msgstr "" -#: itsm/project/models/project.py:84 itsm/service/managers.py:482 -#: itsm/service/managers.py:526 +#: itsm/project/models/project.py:84 itsm/service/managers.py:504 +#: itsm/service/managers.py:548 msgid "根目录" msgstr "Root" -#: itsm/project/models/project.py:166 itsm/ticket/models/ticket.py:4614 +#: itsm/project/models/project.py:188 itsm/ticket/models/ticket.py:4949 #, fuzzy #| msgid "用户uid" msgid "用户名" msgstr "User uid" -#: itsm/project/models/project.py:186 itsm/service/models.py:199 +#: itsm/project/models/project.py:208 itsm/service/models.py:199 #: itsm/service/models.py:900 itsm/service/models.py:1020 #: itsm/sla/models/schedule.py:84 itsm/trigger/models/trigger.py:133 #: itsm/workflow/models/trigger.py:36 msgid "名称" msgstr "name" -#: itsm/project/models/project.py:190 +#: itsm/project/models/project.py:212 msgid "筛选条件" msgstr "" -#: itsm/project/models/project.py:192 +#: itsm/project/models/project.py:214 #, fuzzy #| msgid "字段排序" msgid "排序" msgstr "Field Sequence" -#: itsm/project/views.py:72 +#: itsm/project/views.py:83 msgid "删除失败,项目目前不允许删除!" msgstr "" -#: itsm/project/views.py:182 +#: itsm/project/views.py:193 msgid "project_key:该字段是必填项" msgstr "" -#: itsm/role/models.py:93 +#: itsm/role/models.py:94 msgid "角色名称" msgstr "Role Name" -#: itsm/role/models.py:94 +#: itsm/role/models.py:95 msgid "角色类型" msgstr "Role type" -#: itsm/role/models.py:95 +#: itsm/role/models.py:96 msgid "可否操作单据" msgstr "Can I operate the ticket?" -#: itsm/role/models.py:96 itsm/service/models.py:908 +#: itsm/role/models.py:97 itsm/service/models.py:908 msgid "是否显示" msgstr "Whether to display" -#: itsm/role/models.py:97 +#: itsm/role/models.py:99 msgid "角色描述" msgstr "Role description" -#: itsm/role/models.py:106 itsm/role/models.py:107 +#: itsm/role/models.py:109 itsm/role/models.py:110 msgid "用户角色类型" msgstr "User role type" -#: itsm/role/models.py:129 +#: itsm/role/models.py:145 msgid "对应角色类型" msgstr "Corresponding role type" -#: itsm/role/models.py:130 +#: itsm/role/models.py:147 msgid "角色唯一标识" msgstr "Role unique identifier" -#: itsm/role/models.py:131 +#: itsm/role/models.py:149 msgid "角色命名" msgstr "Role naming" -#: itsm/role/models.py:132 +#: itsm/role/models.py:150 msgid "角色组成人员" msgstr "Role members" -#: itsm/role/models.py:134 +#: itsm/role/models.py:152 msgid "对应服务" msgstr "Corresponding service" -#: itsm/role/models.py:135 +#: itsm/role/models.py:154 msgid "用户角色描述" msgstr "User role description" -#: itsm/role/models.py:136 itsm/service/models.py:83 +#: itsm/role/models.py:156 itsm/service/models.py:83 #: itsm/sla/models/policy.py:431 itsm/sla/models/schedule.py:89 #: itsm/workflow/models/task.py:63 msgid "是否内置" msgstr "Built-in" -#: itsm/role/models.py:147 itsm/role/models.py:148 +#: itsm/role/models.py:169 itsm/role/models.py:170 msgid "用户角色和权限表" msgstr "User role and permission table" -#: itsm/role/models.py:379 +#: itsm/role/models.py:443 msgid "蓝鲸用户username" msgstr "Blueking user username" -#: itsm/role/models.py:380 +#: itsm/role/models.py:445 msgid "用户角色" msgstr "User role" -#: itsm/role/models.py:381 +#: itsm/role/models.py:447 msgid "用户uid" msgstr "User uid" -#: itsm/role/models.py:386 itsm/role/models.py:387 +#: itsm/role/models.py:453 itsm/role/models.py:454 msgid "蓝鲸用户角色表" msgstr "User & Role Members" @@ -2193,27 +2650,31 @@ msgid "," msgstr "," #: itsm/role/validators.py:49 +msgid "角色 ID 异常" +msgstr "" + +#: itsm/role/validators.py:52 msgid "{}角色类型不存在" msgstr "{} role type does not exist" -#: itsm/role/validators.py:58 +#: itsm/role/validators.py:61 msgid "该角色名称已存在" msgstr "The role name already exists" -#: itsm/role/validators.py:63 +#: itsm/role/validators.py:66 msgid "该管理员权限页面不允许修改" msgstr "This admin rights page does not allow modification" -#: itsm/role/validators.py:65 +#: itsm/role/validators.py:68 msgid "该管理员角色名不允许修改" msgstr "The admin role name is not allowed to be modified" -#: itsm/role/validators.py:70 itsm/ticket/validators/misc.py:120 +#: itsm/role/validators.py:73 itsm/ticket/validators/misc.py:120 #: itsm/workflow/validators.py:95 msgid "【{}】用户不存在" msgstr "【{}】User does not exist" -#: itsm/role/validators.py:79 +#: itsm/role/validators.py:82 msgid "该角色不能删除" msgstr "This role cannot be deleted" @@ -2229,13 +2690,6 @@ msgstr "Favorite user" msgid "收藏名称" msgstr "Favorite name" -#: itsm/service/models.py:114 itsm/service/models.py:161 -#: itsm/service/models.py:162 itsm/sla/models/policy.py:133 -#: itsm/sla/models/policy.py:157 itsm/ticket_status/models.py:106 -#: itsm/ticket_status/models.py:155 itsm/ticket_status/models.py:244 -msgid "服务类型" -msgstr "Service type" - #: itsm/service/models.py:115 msgid "收藏数据" msgstr "Collection data" @@ -2293,7 +2747,7 @@ msgstr "Service manager" msgid "是否可以代提单" msgstr "Whether it can be on behalf of the ticket of create" -#: itsm/service/models.py:258 itsm/workflow/models/common.py:97 +#: itsm/service/models.py:258 itsm/workflow/models/common.py:107 msgid "是否有效" msgstr "IsValid" @@ -2351,7 +2805,7 @@ msgstr "" msgid "服务与SLA关联表" msgstr "" -#: itsm/service/models.py:504 itsm/ticket/models/misc.py:380 +#: itsm/service/models.py:504 itsm/ticket/models/misc.py:382 msgid "目录关键字" msgstr "Directory keyword" @@ -2363,7 +2817,7 @@ msgstr "Directory name" msgid "目录描述" msgstr "Directory description" -#: itsm/service/models.py:509 itsm/ticket/models/misc.py:382 +#: itsm/service/models.py:509 itsm/ticket/models/misc.py:384 msgid "节点顺序" msgstr "The node order" @@ -2372,7 +2826,7 @@ msgid "特殊过滤" msgstr "Special filtration" #: itsm/service/models.py:514 itsm/service/models.py:1027 -#: itsm/ticket/models/misc.py:387 +#: itsm/ticket/models/misc.py:389 msgid "上级目录" msgstr "Parent directory" @@ -2380,11 +2834,6 @@ msgstr "Parent directory" msgid "前置路径集合" msgstr "Pre-path set" -#: itsm/service/models.py:526 itsm/service/models.py:912 -#: itsm/service/models.py:1033 -msgid "流程元素" -msgstr "Process element" - #: itsm/service/models.py:562 msgid "请先删除【{}】下的子目录" msgstr "Please delete the subdirectory under 【{}】 first." @@ -2422,7 +2871,7 @@ msgid "以下流程模板中正在使用该字典,请先删除:{}" msgstr "" "The dictionary is being used in the following flow template, please delete:{}" -#: itsm/service/models.py:1007 itsm/ticket/validators/field.py:159 +#: itsm/service/models.py:1007 itsm/ticket/validators/field.py:164 #, python-format msgid "数据字典不存在,请检查字典编码: %s" msgstr "" @@ -2432,7 +2881,7 @@ msgstr "" msgid "关联字典项" msgstr "Associated dictionary entry" -#: itsm/service/models.py:1021 itsm/ticket/models/ticket.py:234 +#: itsm/service/models.py:1021 itsm/ticket/models/ticket.py:244 msgid "顺序" msgstr "Sequence" @@ -2528,102 +2977,122 @@ msgstr "Displayable user" msgid "服务属性记录" msgstr "Service attribute record" -#: itsm/service/permissions.py:80 +#: itsm/service/permissions.py:84 msgid "服务占用中,请到服务目录中解绑后再删除" msgstr "" "If the service is occupied, please unbind it in the service catalog and " "delete it." -#: itsm/service/serializers.py:162 itsm/service/serializers.py:169 +#: itsm/service/permissions.py:122 +msgid "服务 ID 不存在" +msgstr "" + +#: itsm/service/permissions.py:129 +msgid "服务所属项目不一致" +msgstr "" + +#: itsm/service/serializers.py:163 itsm/service/serializers.py:170 msgid "指定的父目录不存在" msgstr "The specified parent directory does not exist" -#: itsm/service/serializers.py:173 +#: itsm/service/serializers.py:174 msgid "请提供合法的父级目录" msgstr "Please provide a legal parent directory" -#: itsm/service/serializers.py:176 +#: itsm/service/serializers.py:177 msgid "服务目录最多只支持3级" msgstr "The service catalog supports only up to level 3" -#: itsm/service/serializers.py:186 itsm/service/serializers.py:195 +#: itsm/service/serializers.py:187 itsm/service/serializers.py:196 msgid "同级下目录名不能重复,请修改后提交" msgstr "" "The directory name under the same level cannot be duplicated. Please submit " "it after modification." -#: itsm/service/serializers.py:252 +#: itsm/service/serializers.py:253 msgid "名称为必填项" msgstr "Name is required" -#: itsm/service/serializers.py:255 +#: itsm/service/serializers.py:256 msgid "服务级别名已存在,请重新输入" msgstr "Service level name already exists, please check" -#: itsm/service/serializers.py:261 +#: itsm/service/serializers.py:262 msgid "选项不合法" msgstr "Option is not legal" -#: itsm/service/serializers.py:264 +#: itsm/service/serializers.py:265 msgid "响应时间为必填项" msgstr "Response time is required" -#: itsm/service/serializers.py:267 +#: itsm/service/serializers.py:268 msgid "处理时间为必填项" msgstr "Processing time is required" -#: itsm/service/serializers.py:309 +#: itsm/service/serializers.py:310 #, fuzzy #| msgid "名称不能为空" msgid "协议名称不能为空" msgstr "The name is required" -#: itsm/service/serializers.py:328 itsm/service/serializers.py:510 +#: itsm/service/serializers.py:329 itsm/service/serializers.py:511 msgid "服务名已存在,请重新输入" msgstr "The service name already exists, please check" -#: itsm/service/serializers.py:351 itsm/service/serializers.py:753 -#: itsm/service/serializers.py:829 +#: itsm/service/serializers.py:352 itsm/service/serializers.py:754 +#: itsm/service/serializers.py:833 msgid "服务负责人不能为空" msgstr "Service owner cannot be empty" -#: itsm/service/serializers.py:604 +#: itsm/service/serializers.py:605 msgid "请选择至少一项服务" msgstr "Please select at least one service" -#: itsm/service/serializers.py:607 +#: itsm/service/serializers.py:608 msgid "部分服务不存在" msgstr "Some services does not exists" -#: itsm/service/serializers.py:619 +#: itsm/service/serializers.py:620 msgid "根目录不允许添加服务,选择其他目录" msgstr "" "Root directory does not allow adding services, select other directories" -#: itsm/service/serializers.py:621 +#: itsm/service/serializers.py:622 msgid "指定的服务目录不存在" msgstr "The specified service directory does not exist" -#: itsm/service/serializers.py:676 +#: itsm/service/serializers.py:677 msgid "编码已存在,请重新输入" msgstr "Code already exists. Please check" -#: itsm/service/serializers.py:761 +#: itsm/service/serializers.py:762 msgid "display_role 为必填项" msgstr "" -#: itsm/service/serializers.py:770 itsm/workflow/serializers/workflow.py:56 +#: itsm/service/serializers.py:771 itsm/workflow/serializers/workflow.py:56 msgid "请输入流程名称!" msgstr "Please enter a flow name!" -#: itsm/service/serializers.py:770 itsm/workflow/serializers/workflow.py:56 +#: itsm/service/serializers.py:771 itsm/workflow/serializers/workflow.py:56 msgid "流程名称长度不能大于120个字符" msgstr "Process name length cannot be greater than 120 characters" -#: itsm/service/serializers.py:836 +#: itsm/service/serializers.py:843 msgid "导入失败,project_key 对应的项目不存在" msgstr "" +#: itsm/service/serializers.py:848 +#, fuzzy +#| msgid "服务对应的服务目录不存在" +msgid "导入失败,对应的服务目录不存在" +msgstr "The service directory corresponding to the service does not exist." + +#: itsm/service/serializers.py:853 +#, fuzzy +#| msgid "服务对应的服务目录不存在" +msgid "更新失败,对应的服务不存在" +msgstr "The service directory corresponding to the service does not exist." + #: itsm/service/validators.py:42 msgid "时间单位不正确" msgstr "Time unit is incorrect" @@ -2660,21 +3129,21 @@ msgstr "The service does not exist, please contact the administrator!" msgid "服务对应的服务目录不存在" msgstr "The service directory corresponding to the service does not exist." -#: itsm/service/views.py:214 itsm/service/views.py:322 +#: itsm/service/views.py:224 itsm/service/views.py:330 msgid "当前排序列表参数不正确,清重试!" msgstr "The current sorted list parameter is not correct, please try again!" -#: itsm/service/views.py:655 +#: itsm/service/views.py:686 msgid "2.5.9 版本之前的流程无法导入,请转换后在看,详情请看github" msgstr "" -#: itsm/service/views.py:755 +#: itsm/service/views.py:786 msgid "[{}] 已经被绑定,请先到优先级管理中解绑" msgstr "" "Have attached,please go to the Priority Management to remove the attachment " "first" -#: itsm/service/views.py:766 +#: itsm/service/views.py:797 msgid "[{}] 已经被勾选绑定,请先到优先级管理中解绑" msgstr "" "Have selected,please go to the Priority Management to remove the attachment " @@ -2692,7 +3161,7 @@ msgstr "Service Time" msgid "处理期限" msgstr "Solution Duration" -#: itsm/sla/models/policy.py:74 itsm/ticket_status/models.py:253 +#: itsm/sla/models/policy.py:74 itsm/ticket_status/models.py:276 msgid "时长单位" msgstr "Unit of the duration" @@ -2726,8 +3195,8 @@ msgstr "Type " msgid "开始" msgstr "Begin" -#: itsm/sla/models/policy.py:163 itsm/ticket/models/ticket.py:3205 -#: itsm/ticket/models/ticket.py:3216 +#: itsm/sla/models/policy.py:163 itsm/ticket/models/ticket.py:3419 +#: itsm/ticket/models/ticket.py:3430 msgid "结束" msgstr "End" @@ -2783,10 +3252,6 @@ msgstr "Strategy of service upgrading to incident" msgid "是否启用响应约定" msgstr "Enabled" -#: itsm/sla/models/policy.py:448 itsm/sla/models/policy.py:449 -msgid "服务协议" -msgstr "SLA" - #: itsm/sla/models/policy.py:543 msgid "预警单据背景色" msgstr "" @@ -3199,13 +3664,13 @@ msgid "sla行为历史记录" msgstr "History of SLA actions" #: itsm/task/models.py:139 itsm/task/models.py:999 itsm/task/models.py:1080 -#: itsm/ticket/models/ticket.py:265 requests_tracker/models.py:46 +#: itsm/ticket/models/ticket.py:275 msgid "单据ID" msgstr "Ticket ID" -#: itsm/task/models.py:140 itsm/ticket/models/ticket.py:267 +#: itsm/task/models.py:140 itsm/ticket/models/ticket.py:277 #: itsm/workflow/models/trigger.py:46 pipeline/contrib/statistics/models.py:21 -#: pipeline/contrib/statistics/models.py:37 requests_tracker/models.py:47 +#: pipeline/contrib/statistics/models.py:37 msgid "节点ID" msgstr "Task ID" @@ -3226,12 +3691,12 @@ msgid "任务组件类型" msgstr "Task component type" #: itsm/task/models.py:151 itsm/task/models.py:1196 -#: itsm/ticket/models/ticket.py:300 itsm/workflow/models/event.py:51 +#: itsm/ticket/models/ticket.py:310 itsm/workflow/models/event.py:51 #: itsm/workflow/models/state.py:108 msgid "处理人类型" msgstr "Processors type" -#: itsm/task/models.py:154 itsm/ticket/models/ticket.py:303 +#: itsm/task/models.py:154 itsm/ticket/models/ticket.py:313 #: itsm/workflow/models/event.py:52 itsm/workflow/models/state.py:111 msgid "处理人列表" msgstr "Processors" @@ -3262,7 +3727,7 @@ msgid "任务的状态" msgstr "Task status" #: itsm/task/models.py:171 itsm/task/models.py:1197 -#: itsm/ticket/models/ticket.py:238 +#: itsm/ticket/models/ticket.py:248 #: itsm/trigger/action/components/modify_processor.py:42 #: itsm/trigger/action/components/modify_specified_state_processor.py:50 msgid "处理人" @@ -3280,7 +3745,7 @@ msgstr "Time to start execution" msgid "结束执行的时间" msgstr "Time to end execution" -#: itsm/task/models.py:175 itsm/ticket/models/ticket.py:1223 +#: itsm/task/models.py:175 itsm/ticket/models/ticket.py:1314 msgid "Pipeline流程树元数据" msgstr "Pipeline Process Tree Metadata" @@ -3303,16 +3768,16 @@ msgstr "You have received a ticket task, please handle it in time" msgid "您收到一个单据总结任务,请及时处理" msgstr "You have received a ticket summary task, please handle it in time" -#: itsm/task/models.py:928 itsm/workflow/models/task.py:137 +#: itsm/task/models.py:928 itsm/workflow/models/task.py:141 msgid "对应的任务模型" msgstr "Corresponding task model" -#: itsm/task/models.py:933 itsm/workflow/models/task.py:139 +#: itsm/task/models.py:933 itsm/workflow/models/task.py:143 msgid "所处阶段" msgstr "Stage" -#: itsm/task/models.py:938 itsm/ticket_status/models.py:164 -#: itsm/workflow/models/task.py:141 +#: itsm/task/models.py:938 itsm/ticket_status/models.py:170 +#: itsm/workflow/models/task.py:145 msgid "序号" msgstr "No." @@ -3322,11 +3787,11 @@ msgid "表单值" msgstr "Form value" #: itsm/task/models.py:942 itsm/task/models.py:943 -#: itsm/workflow/models/task.py:147 itsm/workflow/models/task.py:148 +#: itsm/workflow/models/task.py:155 itsm/workflow/models/task.py:156 msgid "任务字段表" msgstr "Task Field Table" -#: itsm/task/models.py:1000 itsm/ticket/models/ticket.py:268 +#: itsm/task/models.py:1000 itsm/ticket/models/ticket.py:278 msgid "业务ID" msgstr "Business ID" @@ -3424,7 +3889,7 @@ msgstr "The name of the task template" msgid "任务类型" msgstr "Task type name" -#: itsm/task/models.py:1198 itsm/ticket/models/ticket.py:325 +#: itsm/task/models.py:1198 itsm/ticket/models/ticket.py:335 msgid "字段列表" msgstr "Field list" @@ -3466,15 +3931,6 @@ msgstr "Sops task" msgid "总结" msgstr "Summary" -#: itsm/task/serializers.py:431 itsm/task/validators.py:81 -#: itsm/workflow/serializers/workflow.py:189 -#: itsm/workflow/serializers/workflow.py:196 -#: itsm/workflow/serializers/workflow.py:199 -#: itsm/workflow/serializers/workflow.py:204 -#: itsm/workflow/serializers/workflow.py:211 -msgid "参数校验失败" -msgstr "Parameter verification failed" - #: itsm/task/serializers.py:431 msgid "您名下已经有同名任务库,请尝试换个名称" msgstr "Duplicated task library name error, please change a name" @@ -3518,12 +3974,12 @@ msgstr "Task node callback exception (%s)" msgid "任务列表为空" msgstr "Task list" -#: itsm/ticket/managers.py:872 +#: itsm/ticket/managers.py:885 #, python-format, python-brace-format msgid "{operator} {action}【{name}】(%s)" msgstr "{operator} {action}【{name}】(%s)" -#: itsm/ticket/managers.py:878 +#: itsm/ticket/managers.py:891 msgid "已处理" msgstr "processed" @@ -3544,8 +4000,8 @@ msgid "自动执行" msgstr "Automatic execution" #: itsm/ticket/models/event.py:50 itsm/ticket/models/field.py:42 -#: itsm/ticket/models/misc.py:97 itsm/ticket/models/misc.py:254 -#: itsm/ticket/models/misc.py:312 +#: itsm/ticket/models/misc.py:101 itsm/ticket/models/misc.py:254 +#: itsm/ticket/models/misc.py:314 msgid "关联工单" msgstr "Associated ticket" @@ -3565,8 +4021,8 @@ msgstr "Processors snapshot" msgid "日志来源" msgstr "Log source" -#: itsm/ticket/models/event.py:56 itsm/ticket/models/ticket.py:339 -#: itsm/ticket/models/ticket.py:340 +#: itsm/ticket/models/event.py:56 itsm/ticket/models/ticket.py:349 +#: itsm/ticket/models/ticket.py:350 msgid "节点处理状态" msgstr "Task processing status" @@ -3591,79 +4047,79 @@ msgstr "Form field value" msgid "任务字段值" msgstr "Task field value" -#: itsm/ticket/models/misc.py:55 pipeline/models.py:281 +#: itsm/ticket/models/misc.py:54 pipeline/models.py:281 msgid "模板名称" msgstr "Template name" -#: itsm/ticket/models/misc.py:57 itsm/ticket/models/ticket.py:1267 +#: itsm/ticket/models/misc.py:56 itsm/ticket/models/ticket.py:1358 msgid "对应服务主键" msgstr "Corresponding service primary key" -#: itsm/ticket/models/misc.py:59 +#: itsm/ticket/models/misc.py:58 msgid "单据模板字段" msgstr "Ticket template field" -#: itsm/ticket/models/misc.py:64 itsm/ticket/models/misc.py:65 +#: itsm/ticket/models/misc.py:63 itsm/ticket/models/misc.py:64 msgid "单据模板" msgstr "Ticket template" -#: itsm/ticket/models/misc.py:75 itsm/ticket/models/misc.py:393 +#: itsm/ticket/models/misc.py:74 itsm/ticket/models/misc.py:395 msgid "单据id" msgstr "Ticket id" -#: itsm/ticket/models/misc.py:76 +#: itsm/ticket/models/misc.py:75 msgid "节点id" msgstr "Task id" -#: itsm/ticket/models/misc.py:78 +#: itsm/ticket/models/misc.py:77 msgid "单据节点草稿字段" msgstr "Ticket node draft field" -#: itsm/ticket/models/misc.py:83 +#: itsm/ticket/models/misc.py:82 msgid "单据节点草稿" msgstr "Ticket task draft" -#: itsm/ticket/models/misc.py:102 +#: itsm/ticket/models/misc.py:106 msgid "评价信息" msgstr "Evaluation information" -#: itsm/ticket/models/misc.py:104 +#: itsm/ticket/models/misc.py:108 msgid "评价来源" msgstr "Source of evaluation" -#: itsm/ticket/models/misc.py:113 itsm/ticket/models/misc.py:114 +#: itsm/ticket/models/misc.py:117 itsm/ticket/models/misc.py:118 msgid "工单评价" msgstr "Ticket evaluation" -#: itsm/ticket/models/misc.py:167 +#: itsm/ticket/models/misc.py:171 msgid "关联评论" msgstr "Associated comment" -#: itsm/ticket/models/misc.py:174 +#: itsm/ticket/models/misc.py:176 msgid "联系人/联系方式" msgstr "Contacts/Contact way" -#: itsm/ticket/models/misc.py:175 +#: itsm/ticket/models/misc.py:177 msgid "短码" msgstr "Short code" -#: itsm/ticket/models/misc.py:180 itsm/ticket/models/misc.py:181 +#: itsm/ticket/models/misc.py:182 itsm/ticket/models/misc.py:183 msgid "邀请途径记录" msgstr "Invitation record" -#: itsm/ticket/models/misc.py:221 +#: itsm/ticket/models/misc.py:223 msgid "发送节点ID" msgstr "Send Task ID" -#: itsm/ticket/models/misc.py:223 pipeline/engine/models/core.py:990 +#: itsm/ticket/models/misc.py:225 pipeline/engine/models/core.py:990 msgid "节点名称" msgstr "Task name" -#: itsm/ticket/models/misc.py:229 +#: itsm/ticket/models/misc.py:231 msgid "通知信息" msgstr "Notification information" -#: itsm/ticket/models/misc.py:259 itsm/ticket/models/ticket.py:4713 +#: itsm/ticket/models/misc.py:259 itsm/ticket/models/ticket.py:5048 msgid "关注人" msgstr "Followers" @@ -3679,451 +4135,457 @@ msgstr "Focus on link read-only identifier" msgid "是否系统流程发送" msgstr "Send by system" -#: itsm/ticket/models/misc.py:279 itsm/ticket/models/misc.py:280 +#: itsm/ticket/models/misc.py:281 itsm/ticket/models/misc.py:282 msgid "关注人通知日志" msgstr "Follower notification log" -#: itsm/ticket/models/misc.py:317 +#: itsm/ticket/models/misc.py:319 msgid "被督办的人" msgstr "Supervised person" -#: itsm/ticket/models/misc.py:322 itsm/ticket/models/misc.py:323 +#: itsm/ticket/models/misc.py:324 itsm/ticket/models/misc.py:325 msgid "督办日志" msgstr "Supervisory log" -#: itsm/ticket/models/misc.py:332 itsm/workflow/models/common.py:90 +#: itsm/ticket/models/misc.py:334 itsm/workflow/models/common.py:98 msgid "变量关键字" msgstr "Variable keyword" -#: itsm/ticket/models/misc.py:333 itsm/workflow/models/common.py:91 +#: itsm/ticket/models/misc.py:335 itsm/workflow/models/common.py:99 msgid "变量名" msgstr "variable name" -#: itsm/ticket/models/misc.py:334 +#: itsm/ticket/models/misc.py:336 msgid "变量值" msgstr "variable" -#: itsm/ticket/models/misc.py:336 itsm/workflow/models/common.py:94 +#: itsm/ticket/models/misc.py:338 itsm/workflow/models/common.py:104 msgid "关联节点" msgstr "Associated task" -#: itsm/ticket/models/misc.py:337 +#: itsm/ticket/models/misc.py:339 msgid "关联单据" msgstr "Associated ticket" -#: itsm/ticket/models/misc.py:346 itsm/ticket/models/misc.py:347 +#: itsm/ticket/models/misc.py:348 itsm/ticket/models/misc.py:349 msgid "单据全局变量" msgstr "Ticket global variable" -#: itsm/ticket/models/misc.py:381 +#: itsm/ticket/models/misc.py:383 msgid "评论内容" msgstr "" -#: itsm/ticket/models/misc.py:383 +#: itsm/ticket/models/misc.py:385 msgid "评论类型" msgstr "" -#: itsm/ticket/models/misc.py:395 +#: itsm/ticket/models/misc.py:397 msgid "用户@的用户列表" msgstr "" -#: itsm/ticket/models/misc.py:396 +#: itsm/ticket/models/misc.py:398 msgid "用户评论的更新记录" msgstr "" -#: itsm/ticket/models/ticket.py:233 +#: itsm/ticket/models/ticket.py:243 msgid "状态ID" msgstr "State ID" -#: itsm/ticket/models/ticket.py:239 +#: itsm/ticket/models/ticket.py:249 msgid "是否审批通过" msgstr "Approved" -#: itsm/ticket/models/ticket.py:244 itsm/ticket/models/ticket.py:245 +#: itsm/ticket/models/ticket.py:254 itsm/ticket/models/ticket.py:255 msgid "会签任务" msgstr "Sign task" -#: itsm/ticket/models/ticket.py:266 +#: itsm/ticket/models/ticket.py:276 msgid "进入节点的线条ID" msgstr "Enter the line ID of the node" -#: itsm/ticket/models/ticket.py:269 +#: itsm/ticket/models/ticket.py:279 msgid "节点名" msgstr "Task name" -#: itsm/ticket/models/ticket.py:271 +#: itsm/ticket/models/ticket.py:281 #, fuzzy #| msgid "节点类型" msgid "节点类型类型" msgstr "Node type" -#: itsm/ticket/models/ticket.py:277 itsm/workflow/models/state.py:154 +#: itsm/ticket/models/ticket.py:287 itsm/workflow/models/state.py:154 msgid "是否是串行任务" msgstr "Is it a serial task" -#: itsm/ticket/models/ticket.py:279 itsm/ticket/models/ticket.py:1225 +#: itsm/ticket/models/ticket.py:289 itsm/ticket/models/ticket.py:1316 msgid "节点状态" msgstr "Task status" -#: itsm/ticket/models/ticket.py:285 itsm/workflow/models/state.py:104 +#: itsm/ticket/models/ticket.py:295 itsm/workflow/models/state.py:104 msgid "节点标签" msgstr "Node tag" -#: itsm/ticket/models/ticket.py:287 +#: itsm/ticket/models/ticket.py:297 msgid "节点内部操作类型" msgstr "Node internal operation type" -#: itsm/ticket/models/ticket.py:293 itsm/workflow/models/state.py:126 +#: itsm/ticket/models/ticket.py:303 itsm/workflow/models/state.py:126 msgid "分配方式" msgstr "Distribute Type" -#: itsm/ticket/models/ticket.py:307 itsm/workflow/models/state.py:121 +#: itsm/ticket/models/ticket.py:317 itsm/workflow/models/state.py:121 msgid "转单人类型" msgstr "Delivers type" -#: itsm/ticket/models/ticket.py:309 itsm/workflow/models/state.py:123 +#: itsm/ticket/models/ticket.py:319 itsm/workflow/models/state.py:123 msgid "转单人列表" msgstr "Delivers" -#: itsm/ticket/models/ticket.py:310 itsm/workflow/models/state.py:119 +#: itsm/ticket/models/ticket.py:320 itsm/workflow/models/state.py:119 msgid "能否转单" msgstr "Deliver Permitted " -#: itsm/ticket/models/ticket.py:315 itsm/workflow/models/state.py:114 +#: itsm/ticket/models/ticket.py:325 itsm/workflow/models/state.py:114 msgid "派单人类型" msgstr "Assignors type" -#: itsm/ticket/models/ticket.py:318 itsm/workflow/models/state.py:117 +#: itsm/ticket/models/ticket.py:328 itsm/workflow/models/state.py:117 msgid "派单人列表" msgstr "Assignors" -#: itsm/ticket/models/ticket.py:320 +#: itsm/ticket/models/ticket.py:330 msgid "能否强制终止" msgstr "Can be terminated" -#: itsm/ticket/models/ticket.py:322 +#: itsm/ticket/models/ticket.py:332 msgid "终止原因" msgstr "Reason for termination" -#: itsm/ticket/models/ticket.py:327 itsm/workflow/models/field.py:80 -#: itsm/workflow/models/state.py:160 requests_tracker/models.py:48 +#: itsm/ticket/models/ticket.py:337 itsm/workflow/models/field.py:80 +#: itsm/workflow/models/state.py:160 msgid "api实例主键" msgstr "Api instance primary key" -#: itsm/ticket/models/ticket.py:329 +#: itsm/ticket/models/ticket.py:339 msgid "失败信息" msgstr "Failure information" -#: itsm/ticket/models/ticket.py:332 +#: itsm/ticket/models/ticket.py:342 msgid "状态上下文" msgstr "State context" -#: itsm/ticket/models/ticket.py:333 +#: itsm/ticket/models/ticket.py:343 msgid "配置信息" msgstr "Configuration information" -#: itsm/ticket/models/ticket.py:334 +#: itsm/ticket/models/ticket.py:344 msgid "表单输入信息" msgstr "Form input information" -#: itsm/ticket/models/ticket.py:335 +#: itsm/ticket/models/ticket.py:345 msgid "忽略结果参数" msgstr "Ignore result parameters" -#: itsm/ticket/models/ticket.py:591 +#: itsm/ticket/models/ticket.py:648 msgid "组织架构" msgstr "Organization" -#: itsm/ticket/models/ticket.py:857 +#: itsm/ticket/models/ticket.py:919 msgid "系统自动处理" msgstr "System automatic processing" -#: itsm/ticket/models/ticket.py:1201 +#: itsm/ticket/models/ticket.py:1292 msgid "单据号" msgstr "Ticket No" -#: itsm/ticket/models/ticket.py:1202 +#: itsm/ticket/models/ticket.py:1293 msgid "单据名称" msgstr "Ticket name" -#: itsm/ticket/models/ticket.py:1203 itsm/trigger/models/trigger.py:157 +#: itsm/ticket/models/ticket.py:1294 itsm/trigger/models/trigger.py:157 #: itsm/workflow/models/state.py:146 itsm/workflow/models/task.py:67 -#: itsm/workflow/models/workflow.py:94 +#: itsm/workflow/models/workflow.py:97 msgid "是否为草稿" msgstr "IsDraft" -#: itsm/ticket/models/ticket.py:1206 +#: itsm/ticket/models/ticket.py:1297 msgid "服务目录ID" msgstr "Service Catalog ID" -#: itsm/ticket/models/ticket.py:1208 +#: itsm/ticket/models/ticket.py:1299 msgid "服务项ID" msgstr "Service ID" -#: itsm/ticket/models/ticket.py:1211 +#: itsm/ticket/models/ticket.py:1302 msgid "服务编码" msgstr "Service code" -#: itsm/ticket/models/ticket.py:1214 +#: itsm/ticket/models/ticket.py:1305 msgid "流程版本ID" msgstr "Flow Version ID" -#: itsm/ticket/models/ticket.py:1217 +#: itsm/ticket/models/ticket.py:1308 msgid "业务id" msgstr "Business id" -#: itsm/ticket/models/ticket.py:1220 +#: itsm/ticket/models/ticket.py:1311 msgid "优先级编码" msgstr "Priority coding" -#: itsm/ticket/models/ticket.py:1231 +#: itsm/ticket/models/ticket.py:1322 msgid "单据前一状态" msgstr "Ticket previous status" -#: itsm/ticket/models/ticket.py:1234 itsm/workflow/models/workflow.py:110 +#: itsm/ticket/models/ticket.py:1325 itsm/workflow/models/workflow.py:113 msgid "是否需要督办" msgstr "Do you need to supervise?" -#: itsm/ticket/models/ticket.py:1236 itsm/workflow/models/workflow.py:112 +#: itsm/ticket/models/ticket.py:1327 itsm/workflow/models/workflow.py:115 msgid "督办人类型" msgstr "Supervisor type" -#: itsm/ticket/models/ticket.py:1239 itsm/workflow/models/workflow.py:115 +#: itsm/ticket/models/ticket.py:1330 itsm/workflow/models/workflow.py:118 msgid "督办列表" msgstr "Supervisors" -#: itsm/ticket/models/ticket.py:1243 +#: itsm/ticket/models/ticket.py:1334 msgid "任务处理者列表" msgstr "Task handler list" -#: itsm/ticket/models/ticket.py:1246 +#: itsm/ticket/models/ticket.py:1337 msgid "任务历史处理者列表" msgstr "List of task history processors" -#: itsm/ticket/models/ticket.py:1251 itsm/workflow/models/event.py:47 +#: itsm/ticket/models/ticket.py:1342 itsm/workflow/models/event.py:47 msgid "当前状态ID" msgstr "Current Status ID" -#: itsm/ticket/models/ticket.py:1253 +#: itsm/ticket/models/ticket.py:1344 msgid "分派人列表" msgstr "Assignors" -#: itsm/ticket/models/ticket.py:1256 +#: itsm/ticket/models/ticket.py:1347 msgid "处理者列表" msgstr "Processors" -#: itsm/ticket/models/ticket.py:1259 +#: itsm/ticket/models/ticket.py:1350 msgid "分派人类型" msgstr "Assignor type" -#: itsm/ticket/models/ticket.py:1262 +#: itsm/ticket/models/ticket.py:1353 msgid "处理者类型" msgstr "Processor type" -#: itsm/ticket/models/ticket.py:1269 +#: itsm/ticket/models/ticket.py:1360 msgid "业务特性json字段" msgstr "Business feature json field" -#: itsm/ticket/models/ticket.py:1271 +#: itsm/ticket/models/ticket.py:1362 msgid "对应的快照信息" msgstr "Corresponding snapshot information" -#: itsm/ticket/models/ticket.py:1281 itsm/workflow/models/common.py:100 +#: itsm/ticket/models/ticket.py:1372 itsm/workflow/models/common.py:110 msgid "扩展描述信息" msgstr "Extended description" -#: itsm/ticket/models/ticket.py:1293 itsm/ticket/models/ticket.py:1294 -msgid "工单" -msgstr "Tickets" +#: itsm/ticket/models/ticket.py:1379 +msgid "单据标签" +msgstr "" -#: itsm/ticket/models/ticket.py:1427 itsm/ticket/models/ticket.py:3744 +#: itsm/ticket/models/ticket.py:1547 itsm/ticket/models/ticket.py:3960 #, fuzzy #| msgid "节点处理状态" msgid "没有获取到当前节点处理状态" msgstr "Task processing status" -#: itsm/ticket/models/ticket.py:2943 +#: itsm/ticket/models/ticket.py:3137 msgid "节点设置的默认单据状态为结束状态" msgstr "The default ticket status set by node is the end status" -#: itsm/ticket/models/ticket.py:3380 itsm/ticket/models/ticket.py:3409 +#: itsm/ticket/models/ticket.py:3594 itsm/ticket/models/ticket.py:3623 #, python-format msgid "流程服务异常(%s)" msgstr "Flow service exception (%s)" -#: itsm/ticket/models/ticket.py:3893 +#: itsm/ticket/models/ticket.py:4146 msgid "触发器事件发送失败, ticket_sn {} signal :{}" msgstr "Trigger event failed to send, ticket_sn {} signal: {}" -#: itsm/ticket/models/ticket.py:4012 +#: itsm/ticket/models/ticket.py:4266 msgid "您的单据已经完成!" msgstr "Your ticket has been completed!" -#: itsm/ticket/models/ticket.py:4027 +#: itsm/ticket/models/ticket.py:4283 #, python-brace-format msgid "{operator} 处理【{name}】" msgstr "{operator} processed【{name}】" -#: itsm/ticket/models/ticket.py:4105 +#: itsm/ticket/models/ticket.py:4361 #, python-brace-format msgid "" "{operator}处理节点【{name}】(流程被终止,【终止原因】:{detail_message})." msgstr "" "{operator} process task【{name}】(ticket force closed: {detail_message})." -#: itsm/ticket/models/ticket.py:4160 +#: itsm/ticket/models/ticket.py:4417 #, python-format msgid "流程终止成功:%s" msgstr "Process terminated successfully: %s" -#: itsm/ticket/models/ticket.py:4615 +#: itsm/ticket/models/ticket.py:4950 msgid "一级组织id" msgstr "" -#: itsm/ticket/models/ticket.py:4617 +#: itsm/ticket/models/ticket.py:4952 msgid "一级组织名称" msgstr "" -#: itsm/ticket/models/ticket.py:4619 +#: itsm/ticket/models/ticket.py:4954 msgid "二级组织id" msgstr "" -#: itsm/ticket/models/ticket.py:4621 +#: itsm/ticket/models/ticket.py:4956 msgid "二级组织名称" msgstr "" -#: itsm/ticket/models/ticket.py:4623 +#: itsm/ticket/models/ticket.py:4958 msgid "三级组织id" msgstr "" -#: itsm/ticket/models/ticket.py:4625 +#: itsm/ticket/models/ticket.py:4960 msgid "三级组织名称" msgstr "" -#: itsm/ticket/models/ticket.py:4627 +#: itsm/ticket/models/ticket.py:4962 #, fuzzy #| msgid "组织架构" msgid "组织树" msgstr "Organization" -#: itsm/ticket/models/ticket.py:4632 itsm/ticket/models/ticket.py:4633 +#: itsm/ticket/models/ticket.py:4967 itsm/ticket/models/ticket.py:4968 msgid "用户组织" msgstr "" -#: itsm/ticket/models/ticket.py:4645 +#: itsm/ticket/models/ticket.py:4980 msgid "绑定成功" msgstr "Bind successfully" -#: itsm/ticket/models/ticket.py:4646 +#: itsm/ticket/models/ticket.py:4981 msgid "绑定失败" msgstr "Binding failed" -#: itsm/ticket/models/ticket.py:4647 +#: itsm/ticket/models/ticket.py:4982 msgid "解绑成功" msgstr "Unbind successfully" -#: itsm/ticket/models/ticket.py:4648 +#: itsm/ticket/models/ticket.py:4983 msgid "解绑失败" msgstr "Unbinding failed" -#: itsm/ticket/models/ticket.py:4653 +#: itsm/ticket/models/ticket.py:4988 msgid "源单据" msgstr "Source ticket" -#: itsm/ticket/models/ticket.py:4660 +#: itsm/ticket/models/ticket.py:4995 msgid "目标单据" msgstr "Target ticket" -#: itsm/ticket/models/ticket.py:4666 +#: itsm/ticket/models/ticket.py:5001 msgid "单据关联类型" msgstr "Associated Type" -#: itsm/ticket/models/ticket.py:4669 +#: itsm/ticket/models/ticket.py:5004 msgid "关联状态" msgstr "Association status" -#: itsm/ticket/models/ticket.py:4680 itsm/ticket/models/ticket.py:4681 +#: itsm/ticket/models/ticket.py:5015 itsm/ticket/models/ticket.py:5016 msgid "单据间关联" msgstr "Ticket Association" -#: itsm/ticket/models/ticket.py:4692 +#: itsm/ticket/models/ticket.py:5027 msgid "关联的单据" msgstr "Associated Tickets" -#: itsm/ticket/models/ticket.py:4696 +#: itsm/ticket/models/ticket.py:5031 msgid "流转前的单据状态" msgstr "Former status of ticket" -#: itsm/ticket/models/ticket.py:4697 +#: itsm/ticket/models/ticket.py:5032 msgid "流转后的单据状态" msgstr "Later status of ticket" -#: itsm/ticket/models/ticket.py:4702 itsm/ticket/models/ticket.py:4703 -#: itsm/ticket/models/ticket.py:4719 +#: itsm/ticket/models/ticket.py:5037 itsm/ticket/models/ticket.py:5038 +#: itsm/ticket/models/ticket.py:5054 msgid "单据状态流转日志" msgstr "Logs of ticket status changes" -#: itsm/ticket/models/ticket.py:4718 +#: itsm/ticket/models/ticket.py:5053 msgid "单据关注人" msgstr "Ticket follower" -#: itsm/ticket/permissions.py:47 +#: itsm/ticket/permissions.py:49 msgid "抱歉,您无权查看和操作" msgstr "Sorry, you do not have permission to view and operate" -#: itsm/ticket/permissions.py:62 +#: itsm/ticket/permissions.py:64 msgid "抱歉,您无权查看该单据" msgstr "Sorry, you don't have permission to view the ticket" -#: itsm/ticket/permissions.py:86 +#: itsm/ticket/permissions.py:104 msgid "抱歉,当前单据无法操作" msgstr "Sorry, the ticket is out of operation" -#: itsm/ticket/permissions.py:96 +#: itsm/ticket/permissions.py:114 msgid "抱歉,您无权执行此操作,因为您该服务没有工单管理的权限" -msgstr "" +msgstr "Sorry, you don't have permission to operate the ticket" -#: itsm/ticket/permissions.py:130 +#: itsm/ticket/permissions.py:145 msgid "抱歉,您无权操作该单据" msgstr "Sorry, you don't have permission to operate the ticket" -#: itsm/ticket/permissions.py:216 +#: itsm/ticket/permissions.py:231 msgid "抱歉,您无权操作当前单据任务" msgstr "Sorry, you don't have permission to operate the current ticket task" -#: itsm/ticket/permissions.py:229 +#: itsm/ticket/permissions.py:244 msgid "抱歉,您无权查看该单据的日志" msgstr "Sorry, you don't have permission to view the log of this ticket" -#: itsm/ticket/permissions.py:243 +#: itsm/ticket/permissions.py:258 #, python-format msgid "单据不存在:%s,请检查" msgstr "ticket does not exist: %s, please check" -#: itsm/ticket/permissions.py:255 +#: itsm/ticket/permissions.py:270 msgid "抱歉,您无权限查看此信息" msgstr "Sorry, you don't have permission to view this post" -#: itsm/ticket/permissions.py:274 +#: itsm/ticket/permissions.py:289 msgid "抱歉,您无权查看该单据的日志信息" msgstr "" "Sorry, you don't have permission to view the log information for this ticket." -#: itsm/ticket/permissions.py:283 +#: itsm/ticket/permissions.py:298 #, python-format msgid "抱歉,单据不存在:%s,请检查" msgstr "Sorry, the ticket does not exist: %s, please check" -#: itsm/ticket/permissions.py:291 +#: itsm/ticket/permissions.py:306 msgid "抱歉,您无权查看该单据的评价信息" msgstr "Sorry, you don't have permission to view reviews for this ticket" -#: itsm/ticket/permissions.py:311 +#: itsm/ticket/permissions.py:326 msgid "抱歉,您不是该单据的提单人,无法评价" msgstr "" "Sorry, you are not the bill of lading of the ticket and cannot be evaluated." -#: itsm/ticket/permissions.py:324 +#: itsm/ticket/permissions.py:337 +#, fuzzy +#| msgid "抱歉,您无权查看该单据的评价信息" +msgid "抱歉,您无权处理该单据的评论信息" +msgstr "Sorry, you don't have permission to view reviews for this ticket" + +#: itsm/ticket/permissions.py:361 msgid "对不起,您没有模块的权限,请联系管理员。" msgstr "" "Sorry, you do not have permission for the module, please contact the " @@ -4142,55 +4604,55 @@ msgstr "The template name already exists" msgid "已在该单据节点创建了草稿" msgstr "Draft has been created on this ticket task" -#: itsm/ticket/serializers/misc.py:127 -msgid "该单据已经被评论,请勿重复评论" -msgstr "The ticket has been commented, please do not repeat the comment" - -#: itsm/ticket/serializers/ticket.py:327 +#: itsm/ticket/serializers/ticket.py:342 #, python-format msgid "%s (共%d人, 已处理%d人)" msgstr "%s (Total %d processor(s), processed %d processor(s))" -#: itsm/ticket/serializers/ticket.py:386 itsm/workflow/models/workflow.py:177 -#: itsm/workflow/models/workflow.py:178 +#: itsm/ticket/serializers/ticket.py:402 itsm/workflow/models/workflow.py:180 +#: itsm/workflow/models/workflow.py:181 msgid "流程模板" msgstr "Flow template" -#: itsm/ticket/serializers/ticket.py:927 -msgid "工单状态不存在,请检查" -msgstr "Ticket status does not exist, please have a check" +#: itsm/ticket/serializers/ticket.py:969 +msgid "服务:{}, 节点({})不存在" +msgstr "" + +#: itsm/ticket/serializers/ticket.py:981 +msgid "服务:{}, 节点({})对应的审批人不允许为空" +msgstr "" -#: itsm/ticket/serializers/ticket.py:1130 -#: itsm/ticket/serializers/ticket.py:1136 +#: itsm/ticket/serializers/ticket.py:1184 +#: itsm/ticket/serializers/ticket.py:1190 msgid "母子单" msgstr "Parent-child tickets" -#: itsm/ticket/serializers/ticket.py:1130 +#: itsm/ticket/serializers/ticket.py:1184 #, python-format msgid "子单ID(%s)->母单ID(%s)的绑定关系不存在" msgstr "" "The binding relationship of child order ID (%s) -> parent order ID (%s) does " "not exist" -#: itsm/ticket/serializers/ticket.py:1136 +#: itsm/ticket/serializers/ticket.py:1190 msgid "正在解绑中... 请勿重复执行" msgstr "Unbinding... Please do not repeat" -#: itsm/ticket/serializers/ticket.py:1169 +#: itsm/ticket/serializers/ticket.py:1223 msgid "该节点不存在" msgstr "The node does not exist" -#: itsm/ticket/serializers/ticket.py:1172 +#: itsm/ticket/serializers/ticket.py:1226 msgid "抱歉, 你不具有操作当前节点的权限" msgstr "Sorry, you do not have permission to operate the current node" -#: itsm/ticket/serializers/ticket.py:1308 -#: itsm/ticket/serializers/ticket.py:1364 +#: itsm/ticket/serializers/ticket.py:1362 +#: itsm/ticket/serializers/ticket.py:1418 msgid "操作的任务不存在,请确认后再提交" msgstr "" "The task of the operation does not exist. Please confirm before submitting." -#: itsm/ticket/serializers/ticket.py:1404 +#: itsm/ticket/serializers/ticket.py:1459 msgid "[步骤:{},处理人:{}]" msgstr "[Step: {}, Processors: {}]" @@ -4198,92 +4660,92 @@ msgstr "[Step: {}, Processors: {}]" msgid "添加默认评价" msgstr "Add default rating" -#: itsm/ticket/tasks.py:249 +#: itsm/ticket/tasks.py:255 msgid "当前单据的状态, current_status={}" msgstr "" -#: itsm/ticket/tasks.py:254 +#: itsm/ticket/tasks.py:260 #, fuzzy #| msgid "当前任务已过期" msgid "当前任务已过期, ticket_id={}, state_id={}" msgstr "Current task has expired" -#: itsm/ticket/tasks.py:258 +#: itsm/ticket/tasks.py:264 msgid "开始定时发送通知, ticket_id={}, state_id={}" msgstr "" -#: itsm/ticket/validators/field.py:63 itsm/ticket/validators/field.py:345 +#: itsm/ticket/validators/field.py:65 itsm/ticket/validators/field.py:439 msgid "【{}】字段不存在,请联系管理员" msgstr "【{}】field does not exist, please contact the administrator" -#: itsm/ticket/validators/field.py:73 itsm/ticket/validators/field.py:372 -msgid "标题不能超过120个字符" -msgstr "The title cannot exceed 120 characters" - -#: itsm/ticket/validators/field.py:90 +#: itsm/ticket/validators/field.py:92 msgid "【{}】只读字段不允许修改" msgstr "【{}】Read-only fields are not allowed to edit" -#: itsm/ticket/validators/field.py:101 itsm/ticket/validators/field.py:105 -#: itsm/ticket/validators/field.py:133 +#: itsm/ticket/validators/field.py:103 itsm/ticket/validators/field.py:107 +#: itsm/ticket/validators/field.py:135 msgid "【{}】为必填项" msgstr "【{}】Is required" -#: itsm/ticket/validators/field.py:125 +#: itsm/ticket/validators/field.py:127 #, python-brace-format msgid "表格字段【{field_name}】的第【{index}】行【{column_name}】为必填项" msgstr "" "The 【{column_name}】 in row {index} of field [{field_name}] is required" -#: itsm/ticket/validators/field.py:152 +#: itsm/ticket/validators/field.py:157 #, python-format msgid "【%s】选项不存在,请联系管理员" msgstr "【%s】does not exist, please contact the administrator" -#: itsm/ticket/validators/field.py:167 itsm/ticket/validators/field.py:173 -#: itsm/ticket/validators/field.py:179 +#: itsm/ticket/validators/field.py:172 itsm/ticket/validators/field.py:178 +#: itsm/ticket/validators/field.py:184 msgid "【{}】选项不匹配,请重新选择" msgstr "【{}】option does not match, please re-select" -#: itsm/ticket/validators/field.py:225 +#: itsm/ticket/validators/field.py:230 #, fuzzy #| msgid "自定义正则规则" msgid "用户输入的值不符合自定义正则规则" msgstr "Custom regular rules" -#: itsm/ticket/validators/field.py:227 +#: itsm/ticket/validators/field.py:232 msgid "自定义正则出现异常, error = {}" msgstr "" -#: itsm/ticket/validators/field.py:238 +#: itsm/ticket/validators/field.py:319 msgid "该正则规则不在可选范围内" msgstr "The regular rule is not within the optional range" -#: itsm/ticket/validators/field.py:299 +#: itsm/ticket/validators/field.py:335 +msgid "字段[{}]关联规则不满足条件,请检查" +msgstr "" + +#: itsm/ticket/validators/field.py:393 msgid "【{}】{} 不匹配日期格式{}" msgstr "【{}】{} does not match date format{}" -#: itsm/ticket/validators/field.py:304 +#: itsm/ticket/validators/field.py:398 msgid "【{}】{} 不在当前日期之后" msgstr "【{}】{} not after the current date" -#: itsm/ticket/validators/field.py:309 +#: itsm/ticket/validators/field.py:403 msgid "【{}】{} 不在当前日期之前" msgstr "【{}】{}is not before the current date" -#: itsm/ticket/validators/field.py:323 +#: itsm/ticket/validators/field.py:417 msgid "【{}】{} 不匹配时间格式{}" msgstr "【{}】{} does not match time format{}" -#: itsm/ticket/validators/field.py:330 +#: itsm/ticket/validators/field.py:424 msgid "【{}】{} 不在当前时间之后" msgstr "【{}】{} not after the current time" -#: itsm/ticket/validators/field.py:335 +#: itsm/ticket/validators/field.py:429 msgid "【{}】{} 不在当前时间之前" msgstr "【{}】{} is not before the current time" -#: itsm/ticket/validators/field.py:348 +#: itsm/ticket/validators/field.py:442 msgid "非公共字段不允许修改" msgstr "Private fields are not allowed to edit " @@ -4343,194 +4805,189 @@ msgstr "Please choose a rating star from (1~5 stars)!" msgid "抱歉,您无权发送评价邀请" msgstr "Sorry, you don't have permission to send review invitations" -#: itsm/ticket/validators/ticket.py:70 -msgid "fields字段未填" -msgstr "Fields field is missing" - -#: itsm/ticket/validators/ticket.py:99 -msgid "单据创建失败,缺少参数:{}" -msgstr "Ticket creation failed, missing parameters:{}" - -#: itsm/ticket/validators/ticket.py:128 +#: itsm/ticket/validators/ticket.py:134 msgid "节点暂不支持操作:{}" msgstr "Operation [{}] is not currently supported by this node" -#: itsm/ticket/validators/ticket.py:142 itsm/ticket/validators/ticket.py:150 +#: itsm/ticket/validators/ticket.py:149 itsm/ticket/validators/ticket.py:162 #, python-format msgid "当前节点无法进行【%s】操作" msgstr "The current task does not support【%s】operation" -#: itsm/ticket/validators/ticket.py:142 itsm/ticket/validators/ticket.py:150 +#: itsm/ticket/validators/ticket.py:150 itsm/ticket/validators/ticket.py:163 msgid "不存在操作类型的" msgstr "There is no type of operation" -#: itsm/ticket/validators/ticket.py:156 +#: itsm/ticket/validators/ticket.py:170 msgid "您无法认领该单据" msgstr "You cannot claim the ticket" -#: itsm/ticket/validators/ticket.py:162 +#: itsm/ticket/validators/ticket.py:176 msgid "指定流程节点【{}】不支持转单操作." msgstr "The specified flow task【{}】does not support the deliver operation." -#: itsm/ticket/validators/ticket.py:165 +#: itsm/ticket/validators/ticket.py:179 msgid "当前任务状态下无法转单." msgstr "Unable to deliver ticket in current task status." -#: itsm/ticket/validators/ticket.py:168 +#: itsm/ticket/validators/ticket.py:182 msgid "转单描述信息不能为空,请重新确认." msgstr "The description of the deliver cannot be empty. Please reconfirm." -#: itsm/ticket/validators/ticket.py:185 +#: itsm/ticket/validators/ticket.py:205 msgid "当前分配的用户组类型不正确" msgstr "The currently assigned user group type is incorrect" -#: itsm/ticket/validators/ticket.py:194 +#: itsm/ticket/validators/ticket.py:219 msgid "当前分配的用户组可能不存在" msgstr "The currently assigned user group may not exist" -#: itsm/ticket/validators/ticket.py:201 +#: itsm/ticket/validators/ticket.py:228 msgid "当前分配的部分用户组可能不存在" msgstr "Some of the currently assigned user groups may not exist" -#: itsm/ticket/validators/ticket.py:214 +#: itsm/ticket/validators/ticket.py:242 #, fuzzy #| msgid "当前分配的部分用户可能不符合条件" msgid "当前分配的部分用户可能不符合条件,请确保用户在{}中" msgstr "Some of the users currently assigned may not be eligible" -#: itsm/ticket/validators/ticket.py:230 itsm/ticket/validators/ticket.py:242 +#: itsm/ticket/validators/ticket.py:255 itsm/ticket/validators/ticket.py:269 +#: itsm/ticket/validators/ticket.py:281 msgid "【{}】没有任务【提单】的【提交】操作权限." msgstr "【{}】No permission to 【submit】 of the task【New ticket】." -#: itsm/ticket/validators/ticket.py:268 itsm/ticket/validators/ticket.py:271 -#: itsm/ticket/validators/ticket.py:274 +#: itsm/ticket/validators/ticket.py:310 itsm/ticket/validators/ticket.py:313 +#: itsm/ticket/validators/ticket.py:316 msgid "单据" msgstr "Ticket" -#: itsm/ticket/validators/ticket.py:268 +#: itsm/ticket/validators/ticket.py:310 msgid "单据不存在,请联系管理员!" msgstr "The ticket does not exist, please contact the administrator!" -#: itsm/ticket/validators/ticket.py:271 +#: itsm/ticket/validators/ticket.py:313 msgid "单据已结束,无法新建关联单!" msgstr "The ticket is closed, you can create the associated tickets! " -#: itsm/ticket/validators/ticket.py:274 +#: itsm/ticket/validators/ticket.py:316 msgid "抱歉,您没有单据操作权限,请联系管理员!" msgstr "" "Sorry, you have no permission for the ticket, please contact the " "administrator!" -#: itsm/ticket/validators/ticket.py:286 +#: itsm/ticket/validators/ticket.py:328 msgid "参数类型错误:[to_tickets]" msgstr "Parameter type error: [to_tickets]" -#: itsm/ticket/validators/ticket.py:289 +#: itsm/ticket/validators/ticket.py:331 msgid "关联失败,单据不能关联自身" msgstr "Build relationship fail, ticket cannot relate with itself" -#: itsm/ticket/validators/ticket.py:303 +#: itsm/ticket/validators/ticket.py:351 msgid "单据【{}】和【{}】已存在关联关系" msgstr "ticket 【{}】 has been related with 【{}】." -#: itsm/ticket/validators/ticket.py:316 +#: itsm/ticket/validators/ticket.py:365 msgid "母单为必填项" msgstr "Parent-ticket is required" -#: itsm/ticket/validators/ticket.py:337 +#: itsm/ticket/validators/ticket.py:389 msgid "母单不存在,请联系管理员" msgstr "Parent-ticket does not exist, please contact the administrator" -#: itsm/ticket/validators/ticket.py:342 +#: itsm/ticket/validators/ticket.py:396 msgid "抱歉,您没有关联母子单的权限" msgstr "Sorry, you have no permission to associate the parent-child tickets" -#: itsm/ticket/validators/ticket.py:347 +#: itsm/ticket/validators/ticket.py:401 msgid "母子单必须属于同一个流程版本,无法关联" msgstr "The parent-child tickets must belong to the same work-flow version" -#: itsm/ticket/validators/ticket.py:353 +#: itsm/ticket/validators/ticket.py:407 msgid "子单不存在,请联系管理员" msgstr "Child-ticket does not exist, please contact the administrator" -#: itsm/ticket/validators/ticket.py:362 +#: itsm/ticket/validators/ticket.py:416 msgid "单据 [{}] 已经是子单,无法成为母单" msgstr "Ticket [{}] already is child ticket, cannot be parent ticket" -#: itsm/ticket/validators/ticket.py:379 +#: itsm/ticket/validators/ticket.py:435 msgid "单据 [{}] 已经是母单,无法成为子单" msgstr "Ticket [{}] already is parent ticket, cannot be child ticket" -#: itsm/ticket/validators/ticket.py:389 +#: itsm/ticket/validators/ticket.py:449 msgid "抱歉,当前流程配置无法撤单,请联系服务负责人" msgstr "" "Sorry, the current workflow configuration don't allow to cancel the ticket," "please contact the service owner." -#: itsm/ticket/validators/ticket.py:392 -msgid "抱歉,你无权撤销单据,请联系提单人" +#: itsm/ticket/validators/ticket.py:453 +#, fuzzy +#| msgid "抱歉,你无权撤销单据,请联系提单人" +msgid "抱歉,你无权撤销单据,撤销单据的非当前单据的提单人, {}!={}" msgstr "" "Sorry, you have no right to cancel the ticket, please contact the ticket " "requester." -#: itsm/ticket/validators/ticket.py:395 +#: itsm/ticket/validators/ticket.py:457 msgid "抱歉,单据已经结束,无法撤销" msgstr "Sorry, the ticket is closed, cancel operation is not available" -#: itsm/ticket/validators/ticket.py:400 +#: itsm/ticket/validators/ticket.py:462 msgid "抱歉,单据执行中,无法撤销" msgstr "Sorry, the ticket cannot be revoked while it is in progress" -#: itsm/ticket/validators/ticket.py:407 +#: itsm/ticket/validators/ticket.py:469 msgid "抱歉,您无权督办" msgstr "Sorry, you have no permission to supervise" -#: itsm/ticket/validators/ticket.py:416 itsm/ticket/validators/ticket.py:526 +#: itsm/ticket/validators/ticket.py:478 itsm/ticket/validators/ticket.py:595 #, python-format msgid "流程节点(%s)不存在,请联系管理员." msgstr "The flow task (%s) does not exist, please contact the administrator." -#: itsm/ticket/validators/ticket.py:423 itsm/ticket/validators/ticket.py:500 +#: itsm/ticket/validators/ticket.py:485 itsm/ticket/validators/ticket.py:567 msgid "任务处于【{}】状态,无法操作." msgstr "The task is in the 【{}】state and cannot be operated." -#: itsm/ticket/validators/ticket.py:434 +#: itsm/ticket/validators/ticket.py:495 msgid "指定流程节点【{}】不支持终止操作." msgstr "The specified flow task【{}】does not support termination operations." -#: itsm/ticket/validators/ticket.py:437 +#: itsm/ticket/validators/ticket.py:499 msgid "【{}】没有任务【{}】的操作权限." msgstr "【{}】 does not have operation permission of task 【{}】." -#: itsm/ticket/validators/ticket.py:440 +#: itsm/ticket/validators/ticket.py:503 msgid "请输入终止原因!" msgstr "Please enter the reason for termination!" -#: itsm/ticket/validators/ticket.py:515 itsm/ticket/validators/ticket.py:518 +#: itsm/ticket/validators/ticket.py:581 itsm/ticket/validators/ticket.py:586 msgid "【{}】没有任务【{}】的【提交】操作权限." msgstr "【{}】 There is no 【Submit】 operation permission for task 【{}】." -#: itsm/ticket/validators/ticket.py:529 itsm/ticket_status/validators.py:74 +#: itsm/ticket/validators/ticket.py:598 itsm/ticket_status/validators.py:74 msgid "单据状态为结束状态,无法继续转换" msgstr "The status is ending status, which cannot switch on any more" -#: itsm/ticket/views/misc.py:119 +#: itsm/ticket/views/misc.py:122 msgid "单据评论信息不存在" msgstr "Ticket comment information does not exist" -#: itsm/ticket/views/misc.py:220 +#: itsm/ticket/views/misc.py:223 msgid "组件调用异常:发送失败,请联系管理员" msgstr "" "Component call exception: Send failed, please contact the administrator" -#: itsm/ticket/views/operational.py:452 +#: itsm/ticket/views/operational.py:534 msgid "" "日期范围输入有误,请重新输入,例如:{}__gte=2019-01-01, {}__lte=2019-01-02" msgstr "" "The date range was input incorrectly, please check, for example: {}" "__gte=2019-01-01, {}__lte=2019-01-02" -#: itsm/ticket/views/operational.py:480 +#: itsm/ticket/views/operational.py:565 msgid "" "日期范围输入有误,请重新输入,例如:create_at__gte=2019-01, " "create_at__lte=2019-02" @@ -4538,63 +4995,90 @@ msgstr "" "The date range was input incorrectly, please check, for example: " "create_at__gte=2019-01, create_at__lte=2019-02" -#: itsm/ticket/views/operational.py:662 itsm/ticket/views/ticket.py:445 +#: itsm/ticket/views/operational.py:758 itsm/ticket/views/ticket.py:465 msgid "服务类型参数必填" msgstr "Service type is required" -#: itsm/ticket/views/operational.py:883 itsm/ticket/views/operational.py:920 +#: itsm/ticket/views/operational.py:1014 itsm/ticket/views/operational.py:1056 msgid "服务类型参数有误,请重新输入" msgstr "The service type parameter is incorrect. Please check" -#: itsm/ticket/views/ticket.py:386 +#: itsm/ticket/views/ticket.py:406 msgid "请输入service_id" msgstr "Please enter service_id" -#: itsm/ticket/views/ticket.py:552 +#: itsm/ticket/views/ticket.py:572 msgid "【{}】发送短信失败,请检查电话号码是否正确或联系管理员!" msgstr "" "【{}】Failed to send SMS, please check if the phone number is correct or " "contact the administrator!" -#: itsm/ticket/views/ticket.py:618 +#: itsm/ticket/views/ticket.py:638 msgid "【{}】发送邮件失败,请检查用户邮件配置是否正确或联系管理员!" msgstr "" "【{}】Failed to send EMAIL, please check whether the user mail configuration " "is correct or contact the administrator!" -#: itsm/ticket/views/ticket.py:630 itsm/ticket/views/ticket.py:681 +#: itsm/ticket/views/ticket.py:650 itsm/ticket/views/ticket.py:701 msgid "请选择需要导出的字段" msgstr "Please select the field you want to export" -#: itsm/ticket/views/ticket.py:698 +#: itsm/ticket/views/ticket.py:718 msgid "" "解析导出的提单字段异常:请检查请求参数内容,提单字段需要通过base64编码。" msgstr "" -#: itsm/ticket/views/ticket.py:1150 +#: itsm/ticket/views/ticket.py:887 +msgid "处理失败,单据处于挂起状态中,请先恢复" +msgstr "" + +#: itsm/ticket/views/ticket.py:1144 +msgid "催办失败,该单据处于挂起状态" +msgstr "" + +#: itsm/ticket/views/ticket.py:1203 +msgid "异常分派失败,该单据处于挂起状态" +msgstr "" + +#: itsm/ticket/views/ticket.py:1223 msgid "该单据已经是挂起状态, 请勿重复操作" msgstr "This ticket has been suspended, please do not repeat the operation" -#: itsm/ticket/views/ticket.py:1152 +#: itsm/ticket/views/ticket.py:1225 msgid "无" msgstr "Empty" -#: itsm/ticket/views/ticket.py:1161 +#: itsm/ticket/views/ticket.py:1234 msgid "该单据不是挂起状态, 请勿重复操作" msgstr "This ticket is not suspended, please do not repeat operation" -#: itsm/ticket/views/ticket.py:1172 +#: itsm/ticket/views/ticket.py:1245 msgid "设置的关闭状态不在正确状态范围之内" msgstr "The closed status is out of range of the correct status" -#: itsm/ticket/views/ticket.py:1305 itsm/ticket/views/ticket.py:1330 +#: itsm/ticket/views/ticket.py:1249 +#, python-brace-format +msgid "关单失败,原因描述超过 {len} 字符" +msgstr "" + +#: itsm/ticket/views/ticket.py:1382 itsm/ticket/views/ticket.py:1407 msgid "无操作权限" msgstr "No operation permission" -#: itsm/ticket/views/ticket.py:1345 +#: itsm/ticket/views/ticket.py:1422 msgid "无效的关联关系" msgstr "Invalid association relationship" +#: itsm/ticket/views/ticket.py:1812 +msgid "存在挂起的单据, 请检查" +msgstr "" + +#: itsm/ticket/views/ticket_remark.py:25 +#, fuzzy +#| msgid "from_status_id不能为空" +msgid "ticket_id 不能为空" +msgstr "from_status_id cannot be blank" + #: itsm/ticket_status/models.py:107 msgid "已配置" msgstr "Configured" @@ -4603,59 +5087,59 @@ msgstr "Configured" msgid "工单状态配置" msgstr "Ticket Status Configuration" -#: itsm/ticket_status/models.py:156 +#: itsm/ticket_status/models.py:158 msgid "状态关键字" msgstr "Status keywords" -#: itsm/ticket_status/models.py:157 +#: itsm/ticket_status/models.py:159 msgid "状态名称" msgstr "Name" -#: itsm/ticket_status/models.py:158 +#: itsm/ticket_status/models.py:160 msgid "二进制颜色" msgstr "Binary color" -#: itsm/ticket_status/models.py:159 +#: itsm/ticket_status/models.py:162 msgid "状态说明" msgstr "Description" -#: itsm/ticket_status/models.py:162 +#: itsm/ticket_status/models.py:165 msgid "流程状态" msgstr "Status of Flow" -#: itsm/ticket_status/models.py:165 +#: itsm/ticket_status/models.py:171 msgid "是否内置状态" msgstr "IsBuilt-in" -#: itsm/ticket_status/models.py:166 +#: itsm/ticket_status/models.py:172 msgid "是否为开始状态" msgstr "Is Beginning Status" -#: itsm/ticket_status/models.py:167 +#: itsm/ticket_status/models.py:173 msgid "是否为结束状态" msgstr "Is Ending Status" -#: itsm/ticket_status/models.py:168 +#: itsm/ticket_status/models.py:174 msgid "是否为挂起状态" msgstr "Is Pending Status" -#: itsm/ticket_status/models.py:246 +#: itsm/ticket_status/models.py:262 msgid "源状态" msgstr "Source Status" -#: itsm/ticket_status/models.py:248 +#: itsm/ticket_status/models.py:268 msgid "目标状态" msgstr "Target Status" -#: itsm/ticket_status/models.py:250 +#: itsm/ticket_status/models.py:273 msgid "是否自动转换" msgstr "Auto-Switch" -#: itsm/ticket_status/models.py:251 +#: itsm/ticket_status/models.py:274 msgid "阈值" msgstr "The threshold value" -#: itsm/ticket_status/models.py:261 itsm/ticket_status/models.py:262 +#: itsm/ticket_status/models.py:290 itsm/ticket_status/models.py:291 msgid "状态转换规则" msgstr "Regulation of status switch" @@ -4741,11 +5225,11 @@ msgstr "API system return parameters" msgid "API执行" msgstr "API execution" -#: itsm/trigger/action/components/automatic_announcement.py:42 +#: itsm/trigger/action/components/automatic_announcement.py:43 msgid "文本内容" msgstr "Text content" -#: itsm/trigger/action/components/automatic_announcement.py:49 +#: itsm/trigger/action/components/automatic_announcement.py:50 msgid "企业微信机器人通知" msgstr "Enterprise WeChat Robot Notification" @@ -4754,6 +5238,7 @@ msgid "修改的字段" msgstr "Modified fields" #: itsm/trigger/action/components/modify_field.py:42 +#: itsm/trigger/action/components/modify_first_state_field.py:48 msgid "设置的字段值" msgstr "Set field value" @@ -4762,11 +5247,20 @@ msgid "修改字段值" msgstr "Modify field's value" #: itsm/trigger/action/components/modify_field.py:56 +#: itsm/trigger/action/components/modify_first_state_field.py:64 #: itsm/trigger/action/components/unbind_parent_child_tickets.py:62 #, python-format msgid "对应的单据【%s】不存在" msgstr "The corresponding ticket [%s] does not exist" +#: itsm/trigger/action/components/modify_first_state_field.py:42 +msgid "节点字段值" +msgstr "" + +#: itsm/trigger/action/components/modify_first_state_field.py:53 +msgid "修改提单节点字段值" +msgstr "" + #: itsm/trigger/action/components/modify_specified_state_processor.py:43 msgid "指定节点" msgstr "Given node(s)" @@ -4787,15 +5281,15 @@ msgstr "" "The ticket status cannot be updated to %s. The status transfer rules are not " "met, please contact the administrator!" -#: itsm/trigger/action/components/send_message.py:59 +#: itsm/trigger/action/components/send_message.py:105 msgid "短信" msgstr "SMS" -#: itsm/trigger/action/components/send_message.py:77 +#: itsm/trigger/action/components/send_message.py:127 msgid "微信" msgstr "WeChat" -#: itsm/trigger/action/components/send_message.py:117 +#: itsm/trigger/action/components/send_message.py:193 msgid "发送通知给用户" msgstr "Send notification to user" @@ -4824,99 +5318,101 @@ msgstr "update ticket status" msgid "所选择的API配置对象不存在" msgstr "The selected API configuration object does not exist" -#: itsm/trigger/models/action.py:73 itsm/trigger/models/trigger.py:136 +#: itsm/trigger/models/action.py:77 itsm/trigger/models/trigger.py:136 msgid "触发事件信号" msgstr "Trigger event signal" -#: itsm/trigger/models/action.py:74 itsm/trigger/models/trigger.py:138 +#: itsm/trigger/models/action.py:80 itsm/trigger/models/trigger.py:138 msgid "触发对象" msgstr "Trigger object" -#: itsm/trigger/models/action.py:74 +#: itsm/trigger/models/action.py:80 msgid "一般为触发该信号的元素id" msgstr "Generally the id of the element that triggered the signal" -#: itsm/trigger/models/action.py:75 +#: itsm/trigger/models/action.py:82 msgid "事件关联的触发器规则信息" msgstr "Event related trigger rule information" -#: itsm/trigger/models/action.py:76 +#: itsm/trigger/models/action.py:83 msgid "事件关联的触发器信息" msgstr "Event related trigger information" -#: itsm/trigger/models/action.py:77 +#: itsm/trigger/models/action.py:84 msgid "事件关联的配置信息" msgstr "Event related configuration information" -#: itsm/trigger/models/action.py:81 +#: itsm/trigger/models/action.py:88 msgid "响应事件来源类型" msgstr "Response event source type" -#: itsm/trigger/models/action.py:81 +#: itsm/trigger/models/action.py:89 msgid "记录响应事件的来源类型, 由用户自定义,方便使用方后期管理" msgstr "" "The source type of the recorded response event is defined by the user, which " "is convenient for the user to manage later" -#: itsm/trigger/models/action.py:83 itsm/trigger/models/trigger.py:153 +#: itsm/trigger/models/action.py:93 itsm/trigger/models/trigger.py:153 msgid "对应的来源PK值" msgstr "Corresponding source PK value" -#: itsm/trigger/models/action.py:85 +#: itsm/trigger/models/action.py:95 msgid "触发事件的上下文参数" msgstr "The context parameter that triggered the event" -#: itsm/trigger/models/action.py:86 +#: itsm/trigger/models/action.py:97 msgid "用户的输入参数" msgstr "User input parameters" -#: itsm/trigger/models/action.py:86 itsm/trigger/models/trigger.py:81 +#: itsm/trigger/models/action.py:97 itsm/trigger/models/trigger.py:81 #: itsm/trigger/models/trigger.py:143 msgid "输入参数引用的参数变量" msgstr "Parameter variables referenced by input parameters" -#: itsm/trigger/models/action.py:87 +#: itsm/trigger/models/action.py:100 msgid "动作的输出参数" msgstr "Action output parameters" -#: itsm/trigger/models/action.py:87 +#: itsm/trigger/models/action.py:100 msgid "动作的输出参数字典" msgstr "Action output parameter dictionary" -#: itsm/trigger/models/action.py:90 +#: itsm/trigger/models/action.py:105 msgid "响应事件状态" msgstr "Response event status" -#: itsm/trigger/models/action.py:91 +#: itsm/trigger/models/action.py:110 msgid "任务结束事件" msgstr "Task end event" -#: itsm/trigger/models/action.py:92 +#: itsm/trigger/models/action.py:111 msgid "执行人" msgstr "Executor" -#: itsm/trigger/models/action.py:93 +#: itsm/trigger/models/action.py:113 msgid "执行错误信息" msgstr "Execution error message" -#: itsm/trigger/models/action.py:93 +#: itsm/trigger/models/action.py:113 msgid "状态为失败的时候记录的错误日志" msgstr "Error log recorded when the status is failed" -#: itsm/trigger/models/action.py:98 itsm/trigger/models/action.py:99 +#: itsm/trigger/models/action.py:116 +msgid "执行的参数" +msgstr "" + +#: itsm/trigger/models/action.py:116 +msgid "手动触发器实际执行的参数信息" +msgstr "" + +#: itsm/trigger/models/action.py:123 itsm/trigger/models/action.py:124 msgid "响应动作表" msgstr "Response Action Table" -#: itsm/trigger/models/action.py:222 +#: itsm/trigger/models/action.py:277 msgid "系统" msgstr "System" -#: itsm/trigger/models/base.py:53 itsm/trigger/models/trigger.py:172 -#: itsm/trigger/models/trigger.py:173 itsm/workflow/models/trigger.py:53 -#: itsm/workflow/models/trigger.py:54 -msgid "触发器" -msgstr "Trigger" - #: itsm/trigger/models/trigger.py:68 msgid "动作模版的名称" msgstr "Action template name" @@ -5025,49 +5521,49 @@ msgstr "Rule names of under the same trigger cannot be repeated" msgid "第{}个规则下的响应事件部分不存在" msgstr "The response event part under rule {} does not exist" -#: itsm/workflow/backend.py:103 +#: itsm/workflow/backend.py:105 msgid "当前节点画布连线不合理, 请重新确认" msgstr "The current node canvas connection is unreasonable, please reconfirm." -#: itsm/workflow/backend.py:384 +#: itsm/workflow/backend.py:390 #, python-format msgid "不支持的数据类型 %s" msgstr "Nonsupport data type %s" -#: itsm/workflow/models/common.py:47 +#: itsm/workflow/models/common.py:48 msgid "通知方式名称" msgstr "Notifications" -#: itsm/workflow/models/common.py:48 itsm/workflow/models/state.py:148 -#: itsm/workflow/models/transition.py:96 itsm/workflow/models/workflow.py:95 +#: itsm/workflow/models/common.py:49 itsm/workflow/models/state.py:148 +#: itsm/workflow/models/transition.py:96 itsm/workflow/models/workflow.py:98 msgid "是否为系统内置" msgstr "Built into the system" -#: itsm/workflow/models/common.py:49 +#: itsm/workflow/models/common.py:50 msgid "通知渠道" msgstr "Notification channel" -#: itsm/workflow/models/common.py:51 +#: itsm/workflow/models/common.py:52 msgid "通知模板:可使用变量如下:xxx(TODO)" msgstr "" "Notification template: The variables that can be used are as follows: xxx " "(TODO)" -#: itsm/workflow/models/common.py:92 +#: itsm/workflow/models/common.py:101 msgid "变量类型" msgstr "Variable type" -#: itsm/workflow/models/common.py:95 itsm/workflow/models/field.py:178 +#: itsm/workflow/models/common.py:105 itsm/workflow/models/field.py:178 #: itsm/workflow/models/field.py:180 itsm/workflow/models/state.py:90 #: itsm/workflow/models/transition.py:74 msgid "关联流程" msgstr "Association flow" -#: itsm/workflow/models/common.py:98 +#: itsm/workflow/models/common.py:108 msgid "是否已删除" msgstr "IsDeleted" -#: itsm/workflow/models/common.py:106 itsm/workflow/models/common.py:107 +#: itsm/workflow/models/common.py:116 itsm/workflow/models/common.py:117 msgid "全局变量" msgstr "Global variable" @@ -5079,34 +5575,34 @@ msgstr "Snapshot creation time" msgid "工作流ID" msgstr "Workflow ID" -#: itsm/workflow/models/deprecated.py:53 itsm/workflow/models/workflow.py:535 +#: itsm/workflow/models/deprecated.py:53 itsm/workflow/models/workflow.py:549 msgid "字段快照字典" msgstr "Field snapshot dictionary" -#: itsm/workflow/models/deprecated.py:54 itsm/workflow/models/workflow.py:536 +#: itsm/workflow/models/deprecated.py:54 itsm/workflow/models/workflow.py:550 msgid "状态快照字典" msgstr "State snapshot dictionary" -#: itsm/workflow/models/deprecated.py:55 itsm/workflow/models/workflow.py:538 +#: itsm/workflow/models/deprecated.py:55 itsm/workflow/models/workflow.py:552 msgid "流转快照字典" msgstr "Circulating snapshot dictionary" -#: itsm/workflow/models/deprecated.py:58 itsm/workflow/models/workflow.py:125 +#: itsm/workflow/models/deprecated.py:58 itsm/workflow/models/workflow.py:128 msgid "主分支列表" msgstr "Master branch list" #: itsm/workflow/models/deprecated.py:60 itsm/workflow/models/state.py:132 -#: itsm/workflow/models/workflow.py:99 +#: itsm/workflow/models/workflow.py:102 msgid "可关联多种通知方式" msgstr "Can be associated with multiple notification methods" #: itsm/workflow/models/deprecated.py:61 itsm/workflow/models/state.py:134 -#: itsm/workflow/models/workflow.py:101 +#: itsm/workflow/models/workflow.py:104 msgid "通知规则" msgstr "Notification rule" #: itsm/workflow/models/deprecated.py:62 itsm/workflow/models/state.py:136 -#: itsm/workflow/models/workflow.py:103 +#: itsm/workflow/models/workflow.py:106 msgid "重试间隔(s)" msgstr "Retry interval (s)" @@ -5115,7 +5611,7 @@ msgid "工作流快照" msgstr "Workflow snapshot" #: itsm/workflow/models/deprecated.py:78 itsm/workflow/models/field.py:214 -#: itsm/workflow/models/workflow.py:84 +#: itsm/workflow/models/workflow.py:87 msgid "流程分类" msgstr "Flow classification" @@ -5265,36 +5761,37 @@ msgstr "Complex description" msgid "字段表" msgstr "Field table" -#: itsm/workflow/models/field.py:228 itsm/workflow/models/field.py:229 +#: itsm/workflow/models/field.py:229 itsm/workflow/models/field.py:230 msgid "字段库" msgstr "Field Library" -#: itsm/workflow/models/field.py:250 +#: itsm/workflow/models/field.py:251 msgid "关联的公共字段" msgstr "Related public fields" -#: itsm/workflow/models/field.py:251 +#: itsm/workflow/models/field.py:252 msgid "模型名称" msgstr "Model Name" -#: itsm/workflow/models/field.py:252 +#: itsm/workflow/models/field.py:253 msgid "基础模型描述" msgstr "Description" -#: itsm/workflow/models/field.py:253 +#: itsm/workflow/models/field.py:254 msgid "字段排序" msgstr "Field Sequence" -#: itsm/workflow/models/field.py:255 +#: itsm/workflow/models/field.py:256 msgid "是否内置字段" msgstr "Is Build-in Field" -#: itsm/workflow/models/field.py:257 +#: itsm/workflow/models/field.py:258 msgid "Table版本:空" msgstr "Version of Table: Null" -#: itsm/workflow/models/field.py:264 itsm/workflow/models/field.py:265 -#: itsm/workflow/models/workflow.py:409 itsm/workflow/serializers/field.py:85 +#: itsm/workflow/models/field.py:265 itsm/workflow/models/field.py:266 +#: itsm/workflow/models/workflow.py:423 itsm/workflow/serializers/field.py:85 +#: itsm/workflow/serializers/field.py:99 msgid "基础模型" msgstr "Basic Module" @@ -5359,12 +5856,6 @@ msgstr "Label record" msgid "是否多签" msgstr "Is multi-sign" -#: itsm/workflow/models/state.py:426 itsm/workflow/serializers/field.py:87 -#: itsm/workflow/serializers/global_variable.py:47 -#: itsm/workflow/serializers/global_variable.py:50 -msgid "当前节点" -msgstr "Current node" - #: itsm/workflow/models/task.py:62 itsm/workflow/models/task.py:66 msgid "任务模版的名称" msgstr "The name of the task template" @@ -5385,39 +5876,39 @@ msgstr "When referring to the process version, it cannot be edited and viewed" msgid "任务模型" msgstr "Task model" -#: itsm/workflow/models/task.py:160 +#: itsm/workflow/models/task.py:168 msgid "流程id" msgstr "" -#: itsm/workflow/models/task.py:161 +#: itsm/workflow/models/task.py:169 msgid "流程类型" msgstr "Flow type" -#: itsm/workflow/models/task.py:162 +#: itsm/workflow/models/task.py:170 #, fuzzy #| msgid "任务模版的名称" msgid "任务模版id" msgstr "The name of the task template" -#: itsm/workflow/models/task.py:163 +#: itsm/workflow/models/task.py:171 #, fuzzy #| msgid "任务创建人" msgid "任务创建节点" msgstr "Task creator" -#: itsm/workflow/models/task.py:164 +#: itsm/workflow/models/task.py:172 msgid "任务执行节点" msgstr "" -#: itsm/workflow/models/task.py:165 +#: itsm/workflow/models/task.py:173 msgid "执行节点是否可创建" msgstr "" -#: itsm/workflow/models/task.py:166 +#: itsm/workflow/models/task.py:174 msgid "流转是否需要任务全部完成" msgstr "" -#: itsm/workflow/models/task.py:170 itsm/workflow/models/task.py:171 +#: itsm/workflow/models/task.py:178 itsm/workflow/models/task.py:179 msgid "任务配置" msgstr "" @@ -5482,137 +5973,149 @@ msgstr "Incoming parameters" msgid "流程ID" msgstr "Process ID" -#: itsm/workflow/models/workflow.py:79 +#: itsm/workflow/models/workflow.py:82 msgid "流程名" msgstr "Flow name" -#: itsm/workflow/models/workflow.py:81 +#: itsm/workflow/models/workflow.py:84 msgid "流程描述" msgstr "Flow description" -#: itsm/workflow/models/workflow.py:87 +#: itsm/workflow/models/workflow.py:90 msgid "是否可撤销" msgstr "Can it be revoked" -#: itsm/workflow/models/workflow.py:89 +#: itsm/workflow/models/workflow.py:92 msgid "撤销配置" msgstr "" -#: itsm/workflow/models/workflow.py:96 +#: itsm/workflow/models/workflow.py:99 msgid "是否需要关联子任务" msgstr "Do you need to associate subtasks" -#: itsm/workflow/models/workflow.py:106 +#: itsm/workflow/models/workflow.py:109 msgid "是否绑定业务" msgstr "Whether to bind the business" -#: itsm/workflow/models/workflow.py:108 +#: itsm/workflow/models/workflow.py:111 #, fuzzy #| msgid "是否自动转换" msgid "是否自动过单" msgstr "Auto-Switch" -#: itsm/workflow/models/workflow.py:109 +#: itsm/workflow/models/workflow.py:112 msgid "是否使用IAM角色" msgstr "Whether to use IAM roles" -#: itsm/workflow/models/workflow.py:118 +#: itsm/workflow/models/workflow.py:121 msgid "引擎版本:空/PIPELINE_VX" msgstr "Engine version: empty / PIPELINE_VX" -#: itsm/workflow/models/workflow.py:127 +#: itsm/workflow/models/workflow.py:130 msgid "其他配置信息" msgstr "Other configuration information" -#: itsm/workflow/models/workflow.py:150 +#: itsm/workflow/models/workflow.py:153 msgid "关联的基础模型" msgstr "Related Basic Module" -#: itsm/workflow/models/workflow.py:159 +#: itsm/workflow/models/workflow.py:162 msgid "对应的服务类型,为服务的主键" msgstr "The corresponding service type is the primary key of the service." -#: itsm/workflow/models/workflow.py:167 +#: itsm/workflow/models/workflow.py:170 msgid "对应服务的属性,为json字段" msgstr "Corresponding service attribute, json field" -#: itsm/workflow/models/workflow.py:495 +#: itsm/workflow/models/workflow.py:191 +msgid "服务初始化流程版本异常" +msgstr "" + +#: itsm/workflow/models/workflow.py:195 +msgid "服务初始化异常" +msgstr "" + +#: itsm/workflow/models/workflow.py:509 msgid "" "检测到您的流程已经发生改变,现流程版本中缺少【{}】信息,请补充完整后重新配置" "sla" msgstr "" -#: itsm/workflow/models/workflow.py:533 +#: itsm/workflow/models/workflow.py:547 msgid "流程模板ID" msgstr "Flow template ID" -#: itsm/workflow/models/workflow.py:541 +#: itsm/workflow/models/workflow.py:555 msgid "触发器快照字典" msgstr "Trigger snapshot dictionary" -#: itsm/workflow/models/workflow.py:544 +#: itsm/workflow/models/workflow.py:558 msgid "基础模型快照字典" msgstr "Snapshot Dictionary of Basic Module" -#: itsm/workflow/models/workflow.py:547 +#: itsm/workflow/models/workflow.py:561 msgid "版本信息" msgstr "Version Information" -#: itsm/workflow/models/workflow.py:551 +#: itsm/workflow/models/workflow.py:565 msgid "pipeline描述数据" msgstr "Pipeline description data" -#: itsm/workflow/models/workflow.py:561 itsm/workflow/models/workflow.py:562 +#: itsm/workflow/models/workflow.py:575 itsm/workflow/models/workflow.py:576 msgid "流程快照" msgstr "Process snapshot" -#: itsm/workflow/models/workflow.py:875 +#: itsm/workflow/models/workflow.py:890 msgid "流程版本中缺少【{}】信息,请补充完整后再进行服务协议的关联" msgstr "" "The flow version is missing [{}], please complete it before associating the " "service" -#: itsm/workflow/permissions.py:40 +#: itsm/workflow/permissions.py:42 msgid "抱歉,您没有基础模型编辑的权限,请联系管理员添加" msgstr "" "Sorry, you do not have the right to edit the basic model. Please contact the " "administrator to add it." -#: itsm/workflow/permissions.py:52 +#: itsm/workflow/permissions.py:54 msgid "抱歉,您没有流程编辑的权限,请联系管理员添加" msgstr "" "Sorry, you don't have permission to edit the flow, please contact the " "administrator to add" -#: itsm/workflow/permissions.py:69 +#: itsm/workflow/permissions.py:71 msgid "对不起,您未拥有相应权限,请联系管理员添加" msgstr "" "Sorry, you do not have the appropriate permissions, please contact the " "administrator to add" -#: itsm/workflow/permissions.py:145 +#: itsm/workflow/permissions.py:136 msgid "流程版本占用中,请到服务中解绑后再删除" msgstr "" "The flow version is occupied, please unbind it in the service and then " "delete it." -#: itsm/workflow/serializers/field.py:101 +#: itsm/workflow/serializers/field.py:87 itsm/workflow/serializers/field.py:102 +#: itsm/workflow/serializers/global_variable.py:47 +#: itsm/workflow/serializers/global_variable.py:50 +#: itsm/workflow/serializers/global_variable.py:70 +#: itsm/workflow/serializers/global_variable.py:73 +msgid "当前节点" +msgstr "Current node" + +#: itsm/workflow/serializers/field.py:121 msgid "字段显示名称不能超过64个字符" msgstr "Display name cannot be more than 64 chars" -#: itsm/workflow/serializers/field.py:425 +#: itsm/workflow/serializers/field.py:441 msgid "基础模型名称已经存在,请重新输入" msgstr "The name of basic module have existed, please input again." -#: itsm/workflow/serializers/field.py:434 +#: itsm/workflow/serializers/field.py:450 msgid "该字段模板不存在,请检查" msgstr "The module does not exist ,please have a check" -#: itsm/workflow/serializers/notify.py:39 -msgid "指定的通知方式不存在" -msgstr "The specified notification method does not exist" - -#: itsm/workflow/serializers/state.py:223 +#: itsm/workflow/serializers/state.py:249 msgid "节点名称不能为空" msgstr "Task name cannot be empty" @@ -5641,13 +6144,6 @@ msgstr "Boolean value range is incorrect" msgid "通知频率参数不正确" msgstr "Notification frequency parameter is incorrect" -#: itsm/workflow/serializers/workflow.py:196 -#: itsm/workflow/serializers/workflow.py:199 -msgid "系统中已存在同名流程,请尝试换个流程名称" -msgstr "" -"A flow with the same name already exists in the system. Try changing the " -"flow name." - #: itsm/workflow/serializers/workflow.py:204 msgid "至少选择一种通知类型" msgstr "Select at least one notification type" @@ -5700,10 +6196,6 @@ msgstr "Please select the field" msgid "{}公共字段不存在,请联系管理员" msgstr "{} public field does not exist, please contact the administrator" -#: itsm/workflow/validators.py:267 itsm/workflow/validators.py:571 -msgid "当前流程已存在唯一标识【{}】,请重新输入" -msgstr "The current flow already has a unique identifier 【{}】, please check" - #: itsm/workflow/validators.py:281 msgid "当前SLA任务缺少开始节点或者结束节点,请重新选择" msgstr "" @@ -5786,8 +6278,7 @@ msgstr "Field's key cannot be modified" #, fuzzy #| msgid "title, bk_biz_id 为内置唯一标识,请重新输入" msgid "title 为内置唯一标识,请重新输入" -msgstr "" -"'title' is the built-in unique identifier, please re-enter" +msgstr "'title' is the built-in unique identifier, please re-enter" #: itsm/workflow/validators.py:584 msgid "存在空行数据,请补全或删除" @@ -5907,41 +6398,43 @@ msgstr "" "The current task template has been referenced by the process and cannot be " "deleted!" -#: itsm/workflow/views.py:511 +#: itsm/workflow/views.py:503 msgid "参数格式不合法" msgstr "Invalid parameter format" -#: itsm/workflow/views.py:550 -msgid "内置连线不能被删除" -msgstr "Built-in connections cannot be deleted" - -#: itsm/workflow/views.py:587 +#: itsm/workflow/views.py:584 msgid "提供的流程版本信息错误!" msgstr "Incorrect workflow version information provided!" -#: itsm/workflow/views.py:592 +#: itsm/workflow/views.py:589 msgid "当前字段非附件字段,无法下载附件文件!" msgstr "" "The current field is not an attachment field, cannot download the attachment " "file!" -#: itsm/workflow/views.py:601 +#: itsm/workflow/views.py:598 msgid "当前字段解析信息出错,请确认是否已进行数据升级!" msgstr "" "There is an error with the current field parsing information, please confirm " "whether the data has been upgraded!" -#: itsm/workflow/views.py:605 +#: itsm/workflow/views.py:602 msgid "当前字段不存在您需要下载的附件!" msgstr "The current field does not have the attachment you need to download!" -#: itsm/workflow/views.py:612 +#: itsm/workflow/views.py:609 msgid "要下载的文件【{}】不存在, 可能已经被删除,请与管理员确认!" msgstr "" "The file [{}] to download does not exist and may have been deleted,please " "confirm with the administrator!" -#: itsm/workflow/views.py:1104 +#: itsm/workflow/views.py:841 +#, fuzzy +#| msgid "内置的服务模式不能删除" +msgid "内置字段不能删除" +msgstr "The built-in calendar cannot be deleted" + +#: itsm/workflow/views.py:1119 msgid "任务字段排序参数不合法,请联系管理员" msgstr "" "The task field sort parameter is invalid, please contact the administrator" @@ -6768,11 +7261,6 @@ msgstr "" msgid "Variable变量" msgstr "" -#: requests_tracker/monkey.py:59 -#, python-format -msgid "%r does not have __implements__" -msgstr "%r does not have __implements__" - #: weixin/core/admin.py:35 #, fuzzy #| msgid "Extra info" @@ -6795,14 +7283,24 @@ msgstr "" "Please log in to your Bluemail platform's Personal Center ({}/console/" "user_center/) to bind your WeChat ({}) and visit ITSM once." -msgid "单据处理进度" -msgstr "Progress of ticket processing" +#~ msgid "路径无法写入,请联系管理员!" +#~ msgstr "Path cannot be written, please contact the administrator!" -msgid "被终止" -msgstr "Terminated" +#~ msgid "指定的通知方式不存在" +#~ msgstr "The specified notification method does not exist" -msgid "是否为任务通知模板" -msgstr "Is a task notification template" +#, python-format +#~ msgid "%r does not have __implements__" +#~ msgstr "%r does not have __implements__" + +#~ msgid "单据处理进度" +#~ msgstr "Progress of ticket processing" + +#~ msgid "被终止" +#~ msgstr "Terminated" + +#~ msgid "是否为任务通知模板" +#~ msgstr "Is a task notification template" #~ msgid "sla_metric规则引擎计算测试" #~ msgstr "sla_metric rule engine calculation test" @@ -6825,20 +7323,20 @@ msgstr "Is a task notification template" #~ msgid "已违规" #~ msgstr "Out of Line" -msgid "最近一次检查时间" -msgstr "Latest checking time" +#~ msgid "最近一次检查时间" +#~ msgstr "Latest checking time" -msgid "结束计时的时间" -msgstr "Ending time of time-counting" +#~ msgid "结束计时的时间" +#~ msgstr "Ending time of time-counting" -msgid "下一次检查时间" -msgstr "Next inspection time" +#~ msgid "下一次检查时间" +#~ msgstr "Next inspection time" -msgid "归档的时长(s)" -msgstr "Duration of file" +#~ msgid "归档的时长(s)" +#~ msgstr "Duration of file" -msgid "经过的百分比(%)" -msgstr "The schedule(%)" +#~ msgid "经过的百分比(%)" +#~ msgstr "The schedule(%)" #~ msgid "定时发送通知" #~ msgstr "Send notifications regularly" @@ -6855,463 +7353,460 @@ msgstr "The schedule(%)" #~ msgid "抱歉,单据自动任务已开始执行,无法撤销" #~ msgstr "Sorry, the ticket's auto task has started and cannot be revoked" -msgid "QQ咨询" -msgstr "QQ" - -msgid "蓝鲸论坛" -msgstr "BlueKing Forum" +#~ msgid "QQ咨询" +#~ msgstr "QQ" -msgid "蓝鲸官网" -msgstr "BlueKing Official" +#~ msgid "蓝鲸论坛" +#~ msgstr "BlueKing Forum" -msgid "蓝鲸智云桌面" -msgstr "BlueKing Desktop" +#~ msgid "蓝鲸官网" +#~ msgstr "BlueKing Official" -msgid "蓝鲸" -msgstr "BlueKing" +#~ msgid "蓝鲸智云桌面" +#~ msgstr "BlueKing Desktop" -msgid "蓝鲸智云社区版" -msgstr "BlueKing Community Edition" +#~ msgid "蓝鲸" +#~ msgstr "BlueKing" -msgid "蓝鲸智云企业版" -msgstr "BlueKing Enterprise Edition" +#~ msgid "蓝鲸智云社区版" +#~ msgstr "BlueKing Community Edition" -msgid "请求管理" -msgstr "Requests" +#~ msgid "蓝鲸智云企业版" +#~ msgstr "BlueKing Enterprise Edition" -msgid "变更管理" -msgstr "Changes" +#~ msgid "请求管理" +#~ msgstr "Requests" -msgid "单选下拉框" -msgstr "Single-Select Dropdown List" +#~ msgid "变更管理" +#~ msgstr "Changes" -msgid "单选框" -msgstr "Radio" +#~ msgid "单选下拉框" +#~ msgstr "Single-Select Dropdown List" -msgid "复选框" -msgstr "Checkbox" +#~ msgid "单选框" +#~ msgstr "Radio" -msgid "多选下拉框" -msgstr "Multi-select Box" +#~ msgid "复选框" +#~ msgstr "Checkbox" -msgid "表格" -msgstr "Table" +#~ msgid "多选下拉框" +#~ msgstr "Multi-select Box" -msgid "单行文本" -msgstr "Input" +#~ msgid "表格" +#~ msgstr "Table" -msgid "多行文本" -msgstr "Textarea" +#~ msgid "单行文本" +#~ msgstr "Input" -msgid "数字" -msgstr "Number" +#~ msgid "多行文本" +#~ msgstr "Textarea" -msgid "日期时间" -msgstr "Datetime" +#~ msgid "数字" +#~ msgstr "Number" -msgid "时间间隔" -msgstr "Datetime Range" +#~ msgid "日期时间" +#~ msgstr "Datetime" -msgid "多个人员选择" -msgstr "Multiple-Person Selector" +#~ msgid "时间间隔" +#~ msgstr "Datetime Range" -msgid "单个人员选择" -msgstr "Single-Person Selector" +#~ msgid "多个人员选择" +#~ msgstr "Multiple-Person Selector" -msgid "富文本" -msgstr "Rich Text" +#~ msgid "单个人员选择" +#~ msgstr "Single-Person Selector" -msgid "附件上传" -msgstr "Attachment" +#~ msgid "富文本" +#~ msgstr "Rich Text" -msgid "自定义表格" -msgstr "Custom Table" +#~ msgid "附件上传" +#~ msgstr "Attachment" -msgid "树形选择" -msgstr "Tree Selector" +#~ msgid "自定义表格" +#~ msgstr "Custom Table" -msgid "链接" -msgstr "Link" +#~ msgid "树形选择" +#~ msgstr "Tree Selector" -msgid "可输入单选下拉框" -msgstr "Multi-Select Dropdown List" +#~ msgid "链接" +#~ msgstr "Link" -msgid "级联" -msgstr "CascadeSelect" +#~ msgid "可输入单选下拉框" +#~ msgstr "Multi-Select Dropdown List" -msgid "自定义数据" -msgstr "Custom" +#~ msgid "级联" +#~ msgstr "CascadeSelect" -msgid "接口数据" -msgstr "Api" +#~ msgid "接口数据" +#~ msgstr "Api" -msgid "半行" -msgstr "Half" +#~ msgid "半行" +#~ msgstr "Half" -msgid "整行" -msgstr "Full" +#~ msgid "整行" +#~ msgstr "Full" -msgid "可选" -msgstr "Optional" +#~ msgid "可选" +#~ msgstr "Optional" -msgid "必填" -msgstr "Required" +#~ msgid "必填" +#~ msgstr "Required" -msgid "变更" -msgstr "change" +#~ msgid "变更" +#~ msgstr "change" -msgid "事件" -msgstr "event" +#~ msgid "事件" +#~ msgstr "event" -msgid "问题" -msgstr "problem" +#~ msgid "问题" +#~ msgstr "problem" -msgid "请求" -msgstr "request" +#~ msgid "请求" +#~ msgstr "request" -msgid "请求管理类相关服务" -msgstr "Request management related services" +#~ msgid "请求管理类相关服务" +#~ msgstr "Request management related services" -msgid "变更管理类相关服务" -msgstr "Change management related services" +#~ msgid "变更管理类相关服务" +#~ msgstr "Change management related services" -msgid "事件管理类相关服务" -msgstr "Event management related services" +#~ msgid "事件管理类相关服务" +#~ msgstr "Event management related services" -msgid "服务分类类相关服务" -msgstr "Service classification related services" +#~ msgid "服务分类类相关服务" +#~ msgstr "Service classification related services" -msgid "问题管理类相关服务" -msgstr "Problem management related services" +#~ msgid "问题管理类相关服务" +#~ msgstr "Problem management related services" -msgid "统计配置" -msgstr "Statistical Configuration" +#~ msgid "统计配置" +#~ msgstr "Statistical Configuration" -msgid "超级管理员" -msgstr "Super Administrator" +#~ msgid "超级管理员" +#~ msgstr "Super Administrator" -msgid "知识库管理员" -msgstr "Knowledge Administrator" +#~ msgid "知识库管理员" +#~ msgstr "Knowledge Administrator" -msgid "已结束" -msgstr "Closed" +#~ msgid "已结束" +#~ msgstr "Closed" -msgid "待认领" -msgstr "Claiming" +#~ msgid "待认领" +#~ msgstr "Claiming" -msgid "待分派" -msgstr "Assigning" +#~ msgid "待分派" +#~ msgstr "Assigning" -msgid "执行失败" -msgstr "Failed" +#~ msgid "执行失败" +#~ msgstr "Failed" -msgid "等于" -msgstr "equal" +#~ msgid "等于" +#~ msgstr "equal" -msgid "不等于" -msgstr "not equal to" +#~ msgid "不等于" +#~ msgstr "not equal to" -msgid "大于" -msgstr "more than the" +#~ msgid "大于" +#~ msgstr "more than the" -msgid "小于" -msgstr "less than" +#~ msgid "小于" +#~ msgstr "less than" -msgid "不大于" -msgstr "not greater than" +#~ msgid "不大于" +#~ msgstr "not greater than" -msgid "不小于" -msgstr "not less than" +#~ msgid "不小于" +#~ msgstr "not less than" -msgid "默认" -msgstr "default" +#~ msgid "默认" +#~ msgstr "default" -msgid "字段判断" -msgstr "Field Condition" +#~ msgid "字段判断" +#~ msgstr "Field Condition" -msgid "认领工单" -msgstr "Claim ticket" +#~ msgid "认领工单" +#~ msgstr "Claim ticket" -msgid "分派工单" -msgstr "Distribute ticket" +#~ msgid "分派工单" +#~ msgstr "Distribute ticket" -msgid "恢复" -msgstr "Recover" +#~ msgid "恢复" +#~ msgstr "Recover" -msgid "转派" -msgstr "Re-assign" +#~ msgid "转派" +#~ msgstr "Re-assign" -msgid "撤单" -msgstr "Cancel" +#~ msgid "撤单" +#~ msgstr "Cancel" -msgid "关注" -msgstr "Attention" +#~ msgid "关注" +#~ msgstr "Attention" -msgid "打回" -msgstr "return" +#~ msgid "打回" +#~ msgstr "return" -msgid "提交" -msgstr "Submit" +#~ msgid "提交" +#~ msgstr "Submit" -msgid "分派" -msgstr "Assign" +#~ msgid "分派" +#~ msgstr "Assign" -msgid "认领" -msgstr "Claim" +#~ msgid "认领" +#~ msgstr "Claim" -msgid "普通节点" -msgstr "Ordinary task" +#~ msgid "普通节点" +#~ msgstr "Ordinary task" -msgid "标准运维节点" -msgstr "Standard operation task" +#~ msgid "标准运维节点" +#~ msgstr "Standard operation task" -msgid "分支网关节点(菱形)" -msgstr "Branch gateway task (diamond)" +#~ msgid "分支网关节点(菱形)" +#~ msgstr "Branch gateway task (diamond)" -msgid "并行网关节点" -msgstr "Parallel gateway task" +#~ msgid "并行网关节点" +#~ msgstr "Parallel gateway task" -msgid "汇聚网关节点" -msgstr "Aggregation gateway task" +#~ msgid "汇聚网关节点" +#~ msgstr "Aggregation gateway task" -msgid "CMDB业务公用角色" -msgstr "CMDB Role" +#~ msgid "CMDB业务公用角色" +#~ msgstr "CMDB Role" -msgid "通用角色表" -msgstr "Role" +#~ msgid "通用角色表" +#~ msgstr "Role" -msgid "不限" -msgstr "Open" +#~ msgid "不限" +#~ msgstr "Open" -msgid "个人" -msgstr "Specific Person" +#~ msgid "个人" +#~ msgstr "Specific Person" -msgid "派单人指定" -msgstr "By Assignor" +#~ msgid "派单人指定" +#~ msgstr "By Assignor" -msgid "引用变量" -msgstr "From Variable" +#~ msgid "引用变量" +#~ msgstr "From Variable" -msgid "先派单,后处理" -msgstr "Re-assign To Process" +#~ msgid "先派单,后处理" +#~ msgstr "Re-assign To Process" -msgid "直接处理" -msgstr "Directly Process" +#~ msgid "直接处理" +#~ msgstr "Directly Process" -msgid "先认领,后处理" -msgstr "Claim To Process" +#~ msgid "先认领,后处理" +#~ msgstr "Claim To Process" -msgid "先派单,后认领" -msgstr "Assign And Claim" +#~ msgid "先派单,后认领" +#~ msgstr "Assign And Claim" -msgid "侧边栏" -msgstr "Sidebar" +#~ msgid "侧边栏" +#~ msgstr "Sidebar" -msgid "故障" -msgstr "malfunction" +#~ msgid "故障" +#~ msgstr "malfunction" -msgid "告警" -msgstr "Alarm" +#~ msgid "告警" +#~ msgstr "Alarm" -msgid "业务平台" -msgstr "business platform" +#~ msgid "业务平台" +#~ msgstr "business platform" -msgid "云平台" -msgstr "cloud platform" +#~ msgid "云平台" +#~ msgstr "cloud platform" -msgid "巡检" -msgstr "Inspection" +#~ msgid "巡检" +#~ msgstr "Inspection" -msgid "人工报障" -msgstr "Manual reporting" +#~ msgid "人工报障" +#~ msgstr "Manual reporting" -msgid "监控" -msgstr "monitor" +#~ msgid "监控" +#~ msgstr "monitor" -msgid "不通知" -msgstr "Close Notice" +#~ msgid "不通知" +#~ msgstr "Close Notice" -msgid "发送一次" -msgstr "Notice Once" +#~ msgid "发送一次" +#~ msgstr "Notice Once" -msgid "重试发送,直到处理完" -msgstr "Retry Notice" +#~ msgid "重试发送,直到处理完" +#~ msgstr "Retry Notice" -msgid "开发" -msgstr "Development" +#~ msgid "开发" +#~ msgstr "Development" -msgid "开发经理" -msgstr "Development Manager" +#~ msgid "开发经理" +#~ msgstr "Development Manager" -msgid "运营" -msgstr "Operation" +#~ msgid "运营" +#~ msgstr "Operation" -msgid "运维" -msgstr "Operation & Maintenance" +#~ msgid "运维" +#~ msgstr "Operation & Maintenance" -msgid "测试" -msgstr "Tester" +#~ msgid "测试" +#~ msgstr "Tester" -msgid "变更经理" -msgstr "Change manager" +#~ msgid "变更经理" +#~ msgstr "Change manager" -msgid "故障派单员" -msgstr "Fault dispatcher" +#~ msgid "故障派单员" +#~ msgstr "Fault dispatcher" -msgid "服务台小组" -msgstr "ServiceDesk Group" +#~ msgid "服务台小组" +#~ msgstr "ServiceDesk Group" -msgid "工单统计管理员" -msgstr "Statistics Manager" +#~ msgid "工单统计管理员" +#~ msgstr "Statistics Manager" -msgid "可查看所有单据" -msgstr "View all tickets" +#~ msgid "可查看所有单据" +#~ msgstr "View all tickets" -msgid "ITSM超级管理员" -msgstr "ITSM Administrator" +#~ msgid "ITSM超级管理员" +#~ msgstr "ITSM Administrator" -msgid "可查看并处理所有单据" -msgstr "View and process all tickets" +#~ msgid "可查看并处理所有单据" +#~ msgstr "View and process all tickets" -msgid "管理员角色表" -msgstr "Admin Roles" +#~ msgid "管理员角色表" +#~ msgstr "Admin Roles" -msgid "请输入标题" -msgstr "Please enter a title" +#~ msgid "请输入标题" +#~ msgstr "Please enter a title" -msgid "变更类型" -msgstr "Change type" +#~ msgid "变更类型" +#~ msgstr "Change type" -msgid "平台类型" -msgstr "Platform type" +#~ msgid "平台类型" +#~ msgstr "Platform type" -msgid "事件来源" -msgstr "Event source" +#~ msgid "事件来源" +#~ msgstr "Event source" -msgid "操作类型" -msgstr "Operation type" +#~ msgid "操作类型" +#~ msgstr "Operation type" -msgid "一级" -msgstr "First level" +#~ msgid "一级" +#~ msgstr "First level" -msgid "一级响应策略" -msgstr "Primary response strategy" +#~ msgid "一级响应策略" +#~ msgstr "Primary response strategy" -msgid "二级" -msgstr "Second level" +#~ msgid "二级" +#~ msgstr "Second level" -msgid "二级响应策略" -msgstr "Secondary response strategy" +#~ msgid "二级响应策略" +#~ msgstr "Secondary response strategy" -msgid "三级" -msgstr "Third level" +#~ msgid "三级" +#~ msgstr "Third level" -msgid "三级响应策略" -msgstr "Three-level response strategy" +#~ msgid "三级响应策略" +#~ msgstr "Three-level response strategy" -msgid "ITSM内置SLA" -msgstr "ITSM built-in SLA" +#~ msgid "ITSM内置SLA" +#~ msgstr "ITSM built-in SLA" -msgid "说明" -msgstr "Description" +#~ msgid "说明" +#~ msgstr "Description" -msgid "对应平台" -msgstr "Corresponding platform" +#~ msgid "对应平台" +#~ msgstr "Corresponding platform" -msgid "平台名称" -msgstr "Platform name" +#~ msgid "平台名称" +#~ msgstr "Platform name" -msgid "父类型" -msgstr "Parent type" +#~ msgid "父类型" +#~ msgstr "Parent type" -msgid "级别及SLA" -msgstr "Level and SLA" +#~ msgid "级别及SLA" +#~ msgstr "Level and SLA" -msgid "服务分类名称" -msgstr "Service category name" +#~ msgid "服务分类名称" +#~ msgstr "Service category name" -msgid "上级分类" -msgstr "Sub-headings" +#~ msgid "上级分类" +#~ msgstr "Sub-headings" -msgid "请求管理类别" -msgstr "Request management category" +#~ msgid "请求管理类别" +#~ msgstr "Request management category" -msgid "请求管理描述" -msgstr "Request management description" +#~ msgid "请求管理描述" +#~ msgstr "Request management description" -msgid "问题管理类别" -msgstr "Problem management category" +#~ msgid "问题管理类别" +#~ msgstr "Problem management category" -msgid "问题管理描述" -msgstr "Problem management description" +#~ msgid "问题管理描述" +#~ msgstr "Problem management description" -msgid "故障事件" -msgstr "Fault event" +#~ msgid "故障事件" +#~ msgstr "Fault event" -msgid "故障事件描述" -msgstr "Fault event description" +#~ msgid "故障事件描述" +#~ msgstr "Fault event description" -msgid "硬件类" -msgstr "Hardware class" +#~ msgid "硬件类" +#~ msgstr "Hardware class" -msgid "硬件类异常事件。" -msgstr "Hardware exception event。" +#~ msgid "硬件类异常事件。" +#~ msgstr "Hardware exception event。" -msgid "服务器、交换机等" -msgstr "Server, switch, etc." +#~ msgid "服务器、交换机等" +#~ msgstr "Server, switch, etc." -msgid "硬件设备类异常。" -msgstr "Hardware device class exception." +#~ msgid "硬件设备类异常。" +#~ msgstr "Hardware device class exception." -msgid "业务平台描述" -msgstr "Business platform description" +#~ msgid "业务平台描述" +#~ msgstr "Business platform description" -msgid "云平台描述" -msgstr "Cloud platform description" +#~ msgid "云平台描述" +#~ msgstr "Cloud platform description" -msgid "基础设施" -msgstr "infrastructure" +#~ msgid "基础设施" +#~ msgstr "infrastructure" -msgid "基础性设施" -msgstr "Basic facilities" +#~ msgid "基础性设施" +#~ msgstr "Basic facilities" -msgid "网络资源" -msgstr "Internet resources" +#~ msgid "网络资源" +#~ msgstr "Internet resources" -msgid "资源申请" -msgstr "Resource application" +#~ msgid "资源申请" +#~ msgstr "Resource application" -msgid "故障受理" -msgstr "Fault acceptance" +#~ msgid "故障受理" +#~ msgstr "Fault acceptance" -msgid "state_id不存在" -msgstr "State_id does not exist" +#~ msgid "state_id不存在" +#~ msgstr "State_id does not exist" -msgid "源单据不支持新建关联单,请联系管理员!" -msgstr "" -"Source ticket does not support derive" -" ticket, please contact the administrator!" +#~ msgid "源单据不支持新建关联单,请联系管理员!" +#~ msgstr "" +#~ "Source ticket does not support derive ticket, please contact the " +#~ "administrator!" -msgid "受理报障或异常处理" -msgstr "Acceptance of reporting or exception handling" +#~ msgid "受理报障或异常处理" +#~ msgstr "Acceptance of reporting or exception handling" -msgid "数据服务" -msgstr "data service" +#~ msgid "数据服务" +#~ msgstr "data service" -msgid "数据类的需求" -msgstr "Data class requirements" +#~ msgid "数据类的需求" +#~ msgstr "Data class requirements" -msgid "标准变更" -msgstr "Standard change" +#~ msgid "标准变更" +#~ msgstr "Standard change" -msgid "适用日常标准变更场景。" -msgstr "Applicable to daily standard change scenarios" +#~ msgid "适用日常标准变更场景。" +#~ msgstr "Applicable to daily standard change scenarios" -msgid "邀请评价" -msgstr "Invite assessments" +#~ msgid "邀请评价" +#~ msgstr "Invite assessments" -msgid "督办" -msgstr "Supervise" +#~ msgid "督办" +#~ msgstr "Supervise" #~ msgid "被恢复" #~ msgstr "Restored" @@ -7380,8 +7875,8 @@ msgstr "Supervise" #~ "Custom data key value 【{}】 only supports 【Chinese, English letters, " #~ "numbers and underscores】, please check" -msgid "请填写字段展示说明" -msgstr "Please fill in the field description" +#~ msgid "请填写字段展示说明" +#~ msgstr "Please fill in the field description" #~ msgid "字段显示名称不能超过20个字符" #~ msgstr "Field display name cannot exceed 20 characters" @@ -7395,12 +7890,12 @@ msgstr "Please fill in the field description" #~ msgid "{operator}处理单据任务【{name}】({action})." #~ msgstr "{operator} process the ticket task 【{name}】({action})." -msgid "" -"{operator}处理节点【{name}】(流程被【{operator}】终止,原因:" -"【{detail_message}】)." -msgstr "" -"{operator}process task 【{name}】 (the flow is terminated by " -"【{operator}】, reason:【{detail_message}】)." +#~ msgid "" +#~ "{operator}处理节点【{name}】(流程被【{operator}】终止,原因:" +#~ "【{detail_message}】)." +#~ msgstr "" +#~ "{operator}process task 【{name}】 (the flow is terminated by " +#~ "【{operator}】, reason:【{detail_message}】)." #~ msgid "{operator} 在任务【{name}】中挂起单据,原因:【{detail_message}】." #~ msgstr "" @@ -7413,11 +7908,11 @@ msgstr "" #~ msgid "{operator} 撤销单据." #~ msgstr "{operator} cancel the ticket" -msgid "流程开始." -msgstr "Flow started" +#~ msgid "流程开始." +#~ msgstr "Flow started" -msgid "流程结束." -msgstr "Flow ended" +#~ msgid "流程结束." +#~ msgstr "Flow ended" #~ msgid "轮询间隔不能为0" #~ msgstr "Polling interval should be greater than 0" @@ -7425,359 +7920,137 @@ msgstr "Flow ended" #~ msgid "轮询次数不能为0" #~ msgstr "The times of polling should be greater than 0" -msgid "{operator} 修改字段【{detail_message}】." -msgstr "{operator} modified field [{detail_message}]." - -msgid "{}(修改后)" -msgstr "{}(After)" - -msgid "包含" -msgstr "include" - -msgid "不包含" -msgstr "exclusive" - -#: itsm/ticket/models/ticket.py:219 -msgid "自动处理单据任务【{name}】执行失败:({detail_message})." -msgstr "The execution of api task【{name}】is failed: {detail_message})." - -msgid "自动处理单据任务【{name}】执行成功." -msgstr "Auto api task【{name}】executed successfully." - -msgid "开始执行标准运维任务【{name}】" -msgstr "Start bk-sops task [{name}]" - -msgid "标准运维任务【{name}】执行成功" -msgstr "Task [{name}] executed successfully" - -msgid "标准运维任务【{name}】执行失败" -msgstr "The execution of task [{name}] is failed" - -msgid "标准运维任务【{name}】执行失败,失败信息 {detail_message}" -msgstr "" -"The execution of task [{name}] is failed, error message: {detail_message}" - -msgid "系统数据" -msgstr "System data" - -msgid "未创建" -msgstr "Not created" - -msgid "创建失败" -msgstr "Creation failed" - -msgid "创建成功" -msgstr "Created successfully" - -msgid "启动失败" -msgstr "Failed to activate" - -msgid "执行结束" -msgstr "End of execution" - -msgid "创建关联单" -msgstr "Create related ticket" - -msgid "创建母子单" -msgstr "Create parent-child ticket" - -msgid "解除母子单" -msgstr "Relieve parent-child ticket" - -msgid "邮件标题" -msgstr "Mail title" - -msgid "收件人" -msgstr "Recipient" - -msgid "内容" -msgstr "Content" - -msgid "微信主题" -msgstr "WeChat theme" - -msgid "文本格式支持html,如果需要换行,请在行尾加 <br/>" -msgstr "HTML text is supported. Please enter <br/> to wrap" - -msgid "在触发后,指定的节点为当前节点,则当前动作会生效" -msgstr "The action will not execute when the given node's status is not running while event happens" - -msgid "{operator} {action} 【{name}】. 处理结果: 失败 {detail_message}" -msgstr "{operator} {action} 【{name}】. Result:Failed {detail_message}" - -msgid "自定义表单" -msgstr "Custom Form" - -msgid "提单人上级" -msgstr "Requester's Superior" - -msgid "自定义角色" -msgstr "Custom roles" - -msgid "自定义角色组" -msgstr "Custom Role Group" - -msgid "第三方系统" -msgstr "Third party systems" - -msgid "权限中心角色" -msgstr "IAM Role" - -msgid "是否使用权限中心角色" -msgstr "Whether to use iam role" - -msgid "满意度评分" -msgstr "Satisfaction rating" - -msgid "满意度评价" -msgstr "Satisfaction comment" - -msgid "已终止" -msgstr "Terminate" - -msgid "已撤销" -msgstr "Revoked" - -msgid "指定节点处理人上级" -msgstr "Processor's Superior of specific node" - -msgid "不支持撤回" -msgstr "Withdrawal not supported" - -msgid "创建项目" -msgstr "New Project" - -msgid "项目查看" -msgstr "View Project" - -msgid "项目编辑" -msgstr "Edit Project" - -msgid "流程创建" -msgstr "New Flow" - -msgid "流程管理" -msgstr "Manage Flow" - -msgid "流程部署" -msgstr "Deploy Flow" - -msgid "服务创建" -msgstr "New Service" - -msgid "服务查看" -msgstr "View Service" - -msgid "服务管理" -msgstr "Manage Service" - -# 已废弃 -msgid "流程版本还原" -msgstr "Restore Flow Version" - -# 已废弃 -msgid "流程版本管理" -msgstr "Manage Flow Version" - -# 已废弃 -msgid "角色创建" -msgstr "New Role" - -# 已废弃 -msgid "角色管理" -msgstr "Manage Role" - -msgid "服务协议管理" -msgstr "Manage SLA" - -# 已废弃 -msgid "流程元素管理" -msgstr "Manage Flow Element" - -msgid "系统配置管理" -msgstr "Manage System Configuration" - -msgid "工单查看" -msgstr "View Ticket" - -msgid "工单管理" -msgstr "Manage Ticket" - -msgid "运营数据查看" -msgstr "View Data Analysis" - -msgid "字段新建" -msgstr "New Field" - -msgid "字段查看" -msgstr "View Field" - -msgid "字段编辑" -msgstr "EditField" - -msgid "字段删除" -msgstr "Delete Field" - -msgid "触发器新建" -msgstr "New Trigger" - -msgid "触发器查看" -msgstr "View Trigger" - -msgid "触发器编辑" -msgstr "Edit Trigger" - -msgid "触发器管理" -msgstr "Manage Trigger" +#~ msgid "{operator} 修改字段【{detail_message}】." +#~ msgstr "{operator} modified field [{detail_message}]." -msgid "设置查看" -msgstr "View Setting" - -msgid "设置管理" -msgstr "Manage Setting" - -msgid "目录新建" -msgstr "New Service Directory" +#~ msgid "{}(修改后)" +#~ msgstr "{}(After)" -msgid "目录编辑" -msgstr "Edit Service Directory" - -msgid "目录删除" -msgstr "Delete Service Directory" - -msgid "用户组新建" -msgstr "New Custom Role Group" +#~ msgid "包含" +#~ msgstr "include" -msgid "用户组查看" -msgstr "View Custom Role Group" +#~ msgid "不包含" +#~ msgstr "exclusive" -msgid "用户组编辑" -msgstr "Edit Custom Role Group" +#~ msgid "自动处理单据任务【{name}】执行失败:({detail_message})." +#~ msgstr "The execution of api task【{name}】is failed: {detail_message})." -msgid "用户组删除" -msgstr "Delete Custom Role Group" +#~ msgid "自动处理单据任务【{name}】执行成功." +#~ msgstr "Auto api task【{name}】executed successfully." -# 已废弃 -msgid "SLA 服务模式查看" -msgstr "View SLA Service Mode" +#~ msgid "开始执行标准运维任务【{name}】" +#~ msgstr "Start bk-sops task [{name}]" -# 已废弃 -msgid "SLA 服务模式编辑" -msgstr "Edit SLA Service Mode" +#~ msgid "标准运维任务【{name}】执行成功" +#~ msgstr "Task [{name}] executed successfully" -# 已废弃 -msgid "SLA 服务模式删除" -msgstr "Delete SLA Service Mode" +#~ msgid "标准运维任务【{name}】执行失败" +#~ msgstr "The execution of task [{name}] is failed" -# 已废弃 -msgid "SLA 服务模式新建" -msgstr "New SLA Service Mode" +#~ msgid "标准运维任务【{name}】执行失败,失败信息 {detail_message}" +#~ msgstr "" +#~ "The execution of task [{name}] is failed, error message: {detail_message}" -# 已废弃 -msgid "SLA 服务协议查看" -msgstr "View SLA Service Agreement" +#~ msgid "系统数据" +#~ msgstr "System data" -# 已废弃 -msgid "SLA 服务协议创建" -msgstr "New SLA Service Agreement" +#~ msgid "未创建" +#~ msgstr "Not created" -# 已废弃 -msgid "SLA 服务协议编辑" -msgstr "Edit SLA Service Agreement" +#~ msgid "创建失败" +#~ msgstr "Creation failed" -# 已废弃 -msgid "SLA 服务协议删除" -msgstr "Delete Service Agreement" +#~ msgid "创建成功" +#~ msgstr "Created successfully" -# 已废弃 -msgid "SLA 优先级查看" -msgstr "View SLA Priority" +#~ msgid "启动失败" +#~ msgstr "Failed to activate" -# 已废弃 -msgid "SLA 优先级管理" -msgstr "Manage SLA Priority" +#~ msgid "执行结束" +#~ msgstr "End of execution" -msgid "公共字段新建" -msgstr "New Public Field" +#~ msgid "创建关联单" +#~ msgstr "Create related ticket" -msgid "公共字段编辑" -msgstr "Edit Public Field" +#~ msgid "创建母子单" +#~ msgstr "Create parent-child ticket" -msgid "公共字段删除" -msgstr "Delete Field" +#~ msgid "解除母子单" +#~ msgstr "Relieve parent-child ticket" -msgid "公共字段查看" -msgstr "View Public Field" +#~ msgid "邮件标题" +#~ msgstr "Mail title" -msgid "公共API新建" -msgstr "New Public API" +#~ msgid "收件人" +#~ msgstr "Recipient" -msgid "公共API查看" -msgstr "New Public API" +#~ msgid "内容" +#~ msgstr "Content" -msgid "公共API管理" -msgstr "Manage Public API" +#~ msgid "微信主题" +#~ msgstr "WeChat theme" -msgid "任务模版查看" -msgstr "View Task Template" +#~ msgid "文本格式支持html,如果需要换行,请在行尾加 <br/>" +#~ msgstr "HTML text is supported. Please enter <br/> to wrap" -msgid "任务模版创建" -msgstr "New Task Template" +#~ msgid "在触发后,指定的节点为当前节点,则当前动作会生效" +#~ msgstr "" +#~ "The action will not execute when the given node's status is not running " +#~ "while event happens" -msgid "任务模版管理" -msgstr "Manage Task Template" +#~ msgid "{operator} {action} 【{name}】. 处理结果: 失败 {detail_message}" +#~ msgstr "{operator} {action} 【{name}】. Result:Failed {detail_message}" -msgid "通知配置查看" -msgstr "View Notification" +#~ msgid "自定义表单" +#~ msgstr "Custom Form" -msgid "通知配置管理" -msgstr "Manage Notification" +#~ msgid "提单人上级" +#~ msgstr "Requester's Superior" -msgid "全局设置查看" -msgstr "View Global Setting" +#~ msgid "自定义角色" +#~ msgstr "Custom roles" -msgid "全局设置管理" -msgstr "Manage Global Setting" +#~ msgid "自定义角色组" +#~ msgstr "Custom Role Group" -msgid "单据状态查看" -msgstr "View Ticket Status" +#~ msgid "第三方系统" +#~ msgstr "Third party systems" -msgid "单据状态管理" -msgstr "Manage Ticket Status" +#~ msgid "权限中心角色" +#~ msgstr "IAM Role" -msgid "平台管理访问" -msgstr "View Administration" +#~ msgid "是否使用权限中心角色" +#~ msgstr "Whether to use iam role" -msgid "项目" -msgstr "Project" +#~ msgid "指定节点处理人上级" +#~ msgstr "Processor's Superior of specific node" -# 已废弃 -msgid "通用角色" -msgstr "Common Role" +#~ msgid "不支持撤回" +#~ msgstr "Withdrawal not supported" -msgid "系统配置" -msgstr "System Configuration" +#~ msgid "系统配置管理" +#~ msgstr "Manage System Configuration" -msgid "运营数据" -msgstr "Data Analysis" +#~ msgid "公共字段新建" +#~ msgstr "New Public Field" -msgid "用户组" -msgstr "Custom Role Group" +#~ msgid "公共字段编辑" +#~ msgstr "Edit Public Field" -msgid "字段" -msgstr "Field" +#~ msgid "公共字段删除" +#~ msgstr "Delete Field" -msgid "SLA 服务协议" -msgstr "SLA Service Agreement" +#~ msgid "公共字段查看" +#~ msgstr "View Public Field" -msgid "SLA 服务模式" -msgstr "SLA Service Mode" +#~ msgid "公共API新建" +#~ msgstr "New Public API" -msgid "公共字段" -msgstr "Public Field" +#~ msgid "公共API查看" +#~ msgstr "New Public API" -msgid "公共API" -msgstr "Public API" +#~ msgid "任务模版查看" +#~ msgstr "View Task Template" -msgid "任务模版" -msgstr "Task Template" +#~ msgid "任务模版创建" +#~ msgstr "New Task Template"