#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

sidebar-app=应用
sidebar-config=配置
sidebar-job=作业
sidebar-status=状态
sidebar-job-history=作业历史
sidebar-job-dashboard=历史dashboard
sidebar-job-trace=作业运行轨迹
sidebar-history-status=作业运行状态

switch-language=选择语言
language-zh=中文
language-en=English

dangdang=当当网

switch-theme-title=更改主题
switch-theme-blue=蓝色
switch-theme-white=白色
switch-theme-purple=紫色
switch-theme-green=绿色
switch-theme-yellow=黄色
switch-theme-red=红色
switch-theme-blue-light=蓝色高亮
switch-theme-white-light=白色高亮
switch-theme-purple-light=紫色高亮
switch-theme-green-light=绿色高亮
switch-theme-yellow-light=黄色高亮
switch-theme-red-light=红色高亮

app-name=应用名称
app-bootstrap-script=启动脚本
app-cpu-count=CPU核数
app-memory=占用内存(MB)
app-event-trace-sampling-count=作业事件采样次数(仅Daemon)
app-cache-enable=是否在本地缓存应用
app-url=应用所在路径
app-detail=应用详情
update-app=修改应用
add-app=添加应用
app-name-not-null=应用名称不能为空
app-name-length-limit=应用名称长度不能超过100字符大小
app-name-exists=应用已经注册
app-bootstrap-script-not-null=启动脚本不能为空
app-cpu-count-not-null=CPU核数不能为空
app-cpu-count-regexp-limit=CPU核数应为正数
app-memory-not-null=单片内存不能为空
event-trace-sampling-count-not-null=作业事件采样次数(Daemon)不能为空
app-url-not-null=应用所在路径不能为空
app-name-unregistered=应用未注册
app-disabled=作业对应的应用已失效，操作失败

add-job=添加作业
job-detail=作业详情
update-job=修改作业
job-name=作业名称
job-execution-type=执行类型
job-type=作业类型
job-class=作业实现类
job-cron=Cron表达式
job-sharding-total-count=作业分片总数
job-parameter=自定义参数
job-cpu-count=CPU核数
job-memory=单片作业内存(MB)
job-bean-name=实体名称
job-failover=支持自动失效转移
job-misfire=支持错过重执行
job-streaming-process=是否流式处理数据
job-application-context=Spring配置文件相对路径及名称
job-sharding-item-parameters=分片序列号/参数对照表
job-script-command-line=脚本作业全路径
job-description=作业描述信息
job-status=作业状态
job-sharding-item=分片项
job-spring-type-settings=Spring方式配置
job-application-context-info=请填写Spring配置文件相对路径及名称
job-bean-name-info=请填写beanName名称
job-class-not-null=作业实现类不能为空
job-class-regexp-limit=作业实现类只能使用数字、字母、下划线(_)和点号(.)
job-name-not-null=作业名称不能为空
job-name-length-limit=作业名称长度不能超过100字符大小
job-name-exists=作业名称已经注册
job-cron-length-limit=cron表达式不能超过40字符大小
job-cron-not-null=cron表达式不能为空
job-cpu-count-not-null=CPU核数不能为空
job-cpu-count-regexp-limit=CPU核数只能包含数字和小数点
job-memory-not-null=单片作业内存不能为空
job-sharding-count-not-null=分片数量不能为空
job-script-command-line-not-null=SCRIPT类型作业命令行执行脚本不能为空
job-sharding-item-parameters-regexp-limit=作业分片项格式不正确, 格式: 0=xx,1=yy

tab-running-tasks=运行任务
tab-ready-jobs=待运行作业
tab-failover-tasks=待失效转移任务

task-id=任务主键
task-name=任务名称
server-ip=服务器IP
remaining-execution-times=剩余执行次数
original-task-id=原任务主键

dashboard-succ-and-fail-count=作业成功/失败数
dashboard-job-type=作业分类
dashboard-job-task-running-count=作业/任务运行数
dashboard-current-jobs-count=接入平台作业数
job-info-for-one-minute=一分钟作业情况
job-info-for-one-hour=一小时作业情况
job-info-for-one-week=一周作业情况
job-success-count=作业成功数
job-failure-count=作业失败数
task-running-count=任务运行数
job-running-count=作业运行数
highchart-tooltip-info1=鼠标拖动可以进行缩放
highchart-tooltip-info2=手势操作进行缩放

placeholder-bootstrap-script=启动脚本，如：bin\\start.sh。
placeholder-app-url=必须是可以通过网络访问到的路径。如：http://file_host:8080/your-job.tar.gz
placeholder-job-app-name=作业所在的应用名称，必须是在应用中已注册。
placeholder-job-class=作业实现类，需实现ElasticJob接口，脚本型作业不需要配置
placeholder-cron=作业启动时间的cron表达式。如：0/5 * * * * ?
placeholder-sharding-total-count=作业分片总数
placeholder-job-parameter=作业自定义参数，可通过传递该参数为作业调度的业务方法传参，用于实现带参数的作业例：每次获取的数据量、作业实例从数据库读取的主键。
placeholder-cpu-count=单片作业所需要的CPU核数，最小值为0.001
placeholder-job-memory=单片作业所需要的内存MB，最小值为1
placeholder-bean-name=Spring容器中配置的bean名称
placeholder-failover=只有开启监控作业执行时状态的情况下才可以开启失效转移
placeholder-misfire=是否开启任务错过重新执行
placeholder-streaming-process=DATAFLOW类型作业，是否流式处理数据如果流式处理数据, 则fetchData不返回空结果将持续执行作业，如果非流式处理数据, 则处理数据完成后作业结束。
placeholder-application-context=Spring方式配置Spring配置文件相对路径以及名称，如：META-INF\\applicationContext.xml
placeholder-sharding-item-parameters=分片序列号和参数用等号分隔，多个键值对用逗号分隔，类似map。分片序列号从0开始，不可大于或等于作业分片总数。如：0=a,1=b,2=c
placeholder-script-command-line=SCRIPT类型作业命令行执行脚本

operation=操作
operation-add=添加
operation-submit=提交
operation-confirm=确认
operation-cancel=关闭
operation-delete=删除
operation-reset=重置
operation-reset-scaling=重置缩放比例
operation-enable=生效
operation-disable=失效
operation-detail=详情
operation-update=修改

status=状态
status-running=运行中
status-staging=等待运行
status-task-failed=运行失败
status-task-finished=已完成
status-task-error=启动失败
status-task-killed=主动终止

creation-start-time=创建开始时间
creation-end-time=创建结束时间
creation-time=创建时间
start-time=开始时间
complete-time=完成时间
failure-reason=失败原因
comments=备注

execute-result=执行结果
execute-result-all=全部
execute-result-success=成功
execute-result-failure=失败
execute-result-null=空
execute-source=执行来源
execute-type=执行类型
remaining-execute-times=剩余执行次数

confirm-to-close=确认要关闭吗?
confirm-to-delete=确认要删除该应用及其相关联的作业吗？
operation-succeed=操作已成功完成
confirm-to-delete-job=确认要删除该作业吗？
