languageName: "简体中文"
languageContribute: "帮助翻译Rancher"

##############################
# Really generic things used in multiple places (use sparingly)
##############################
generic:
  actions: 操作
  activate: 激活
  add: 添加
  advanced: 高级
  all: 全部
  any: 任何
  application: 应用程序
  as: 以
  back: 返回
  cancel: 取消
  closeModal: 关闭
  cluster: 集群
  collapseAll: 折叠全部
  comingSoon: 即将推出
  command: 命令
  confirm: 确认
  containers: 容器
  created: 创建时间
  createdDate: "创建时间: {date}"
  custom: 自定义
  customize: 定制
  default: 默认
  description: 描述
  details: 详情
  disable: 禁用
  disabled: 禁用
  displayName: 显示名称
  dockerId: '容器 ID:'
  domainName: 域名
  done: 完成
  download: 下载
  edit: 编辑
  emptyString: ""
  enable: 启用
  enabled: 启用
  entrypoint: 入口
  environment: 环境
  expandAll: 全部展开
  experimental: "(实验)"
  from: 来自
  false: 'False'
  generic: '常规'
  gigabyte: 'GB'
  hardware: 硬件
  healthy: 健康
  help: 帮助
  hostname: 主机名
  hours: 小时
  id: 用户 ID
  image: 镜像
  import: 导入
  internal: 内部
  ipAddress: Pod IP
  key: 键
  limit: 限制
  limits: 限制
  loading: "加载中..."
  loggingOut: "注销..."
  member: 成员
  mbps: Mbps
  mibibyte: 'MiB'
  minutes: 分钟
  milliseconds: '毫秒'
  missing: "*%缺少%*"
  moreActions: 更多操作
  na: 'n/a'
  name: 名称
  namespaces: 命名空间
  namespace: 命名空间
  never: 从不
  no: "否"
  noRating: 无评价
  node: 主机
  none: 无
  owner: 所有者
  paste: 粘贴
  pod: pod
  port: 端口
  ports: 端口
  prefix: 前缀
  project: 项目
  persistentVolumeClaim: 持久卷claim
  persistentVolume: 持久卷
  random: 随机
  remove: 移除
  restarts: 重启次数
  role: 角色
  save: 保存
  saved: 已保存
  saving: 保存中
  scope: 范围
  search: 搜索
  searchOrCustomInput: 搜索或输入自定义值
  searching: '正在搜索...'
  seconds: 秒
  select: 选择
  service: 服务
  services: 服务
  size: 大小
  state: 状态
  tags: 标签
  test: 测试
  testing: 测试
  to: 至
  total: 合计
  true: 'True'
  type: 类型
  unknown: 未知
  unknownUser: 无法获取用户信息
  upload: 上传
  url: URL
  user: 用户
  uuid: UUID
  value: 值
  version: 版本
  yes: "是"
  isRequired: 必须填写
  readOnly: 只读
  readWrite: 读写
  writeOnly: 只写
  full: 完整
realmNames:
  all: 全部
  usWest: 美国西部
  usEast: 美国东部
  asia: 亚洲
  euWest: 欧洲西部
  euEast: 欧洲东部

##############################
# Routes
##############################
accountsPage:
  detail:
    header: 用户信息
    table:
      headers:
        permission: 权限
        role: 角色
        clusterName: 集群
        projectName: 项目
        active: 激活
        created: 已授权
      global:
        title: 全局权限
        description: 访问管理影响整个安装的事情
        admin: 此用户是管理员并拥有所有权限
        noRoles: 此用户没有全局角色
      cluster:
        title: 集群角色
        description: 授予此用户的单个集群的角色
        noRoles: 此用户没有项目角色
      project:
        title: 项目角色
        description: 授予此用户的单个项目的角色
        noRoles: 此用户没有项目角色
      roles:
        title: 角色
  index:
    header: 用户列表
    localLink: 添加用户
    table:
      id: '用户 ID'
      kind: 类型
      username: 本地用户名
      identity: 标识
      noData: 目前还没有用户
      noMatch: 没有用户匹配当前搜索
      noName: 无
  new:
    header: 添加用户
    errors:
      usernameReq: 必须填写用户名
      usernameInExists: 用户名已存在，请设置新的用户名
      pwReq: 密码必须设置
      role: 新用户需要具备角色，从列表中选择角色。
    form:
      username:
        labelText: 用户名
        placeholder: '例如: jsmith'
      password:
        labelText: 密码
      name:
        labelText: 显示名称
        placeholder: '例如: John Smith'
      type:
        labelText: 账号类型
      description:
        labelText: 描述
        placeholder: '例如: 这是John Smith的账号'
  modal:
    password: 修改密码

appDetailPage:
  header: "App: {appName}"
  endpoints:
    title: 端点
    detail: '此应用的公共端点'
    endpoint: Endpoint
    protocol: 协议
    noData: 此应用未创建公开终端
    noMatch: 没有满足当前搜索的公共终端
  answers:
    title: 应答
    detail: 自定义应用应答
    variable: 键
  notes:
    title: 注释
    detail: '关于如何使用此应用的说明'
  workloads:
    title: 工作负载
    detail: 此应用创建的工作负载
    nodata: 此应用未创建工作负载
  ingress:
    title: Ingress规则
    detail: 此应用创建的入口规则
    nodata: 此应用未创建入口规则
  services:
    title: 服务
    detail: 此应用创建的服务
    nodata: 此应用未创建服务
  volumes:
    title: 卷
    detail: 此应用创建的持久卷声明(Pvc)
    nodata: 此应用未创建持久卷声明
  configMaps:
    title: 配置映射
    detail: 与此应用关联的配置映射
    nodata: 此应用程序没有配置映射
  secrets:
    title: 密文
    detail: 此应用相关的密文(Secrets)
    nodata: 此应用未使用密文

podSecurityPoliciesPage:
  index:
    header: Pod安全策略
    description: 将策略应用于由具有此角色的用户创建的Pod。
    table:
      name: 名称
      created: 创建时间
      noData: 未定义Pod安全策略
      noMatch: 没有与当前搜索匹配的Pod安全策略
  addPodSecurityPolicy: 添加策略
  editPodSecurityPolicy: 编辑策略
  detail:
    header: 策略
  saveEdit: 编辑
  saveNew: 创建
  new:
    errors:
      nameReq: 名称(必填)
      nameInExists: 名称已存在， 请使用新的Pod安全策略名称。
    form:
      name:
        labelText: 名称
        placeholder: '例如: 策略'

rolesPage:
  title: 角色
  headers:
    global: 全局
    cluster: 集群
    project: 项目
  index:
    localLink: 添加角色
    table:
      builtin: 内置
      created: 创建时间
      enabled: 已启用
      name: 名称
      noData: 目前还没有角色
      noMatch: 没有与当前搜索匹配的角色
      subjectKind: 类型
      template: 模板
      global: 新用户默认角色
      cluster: 新集群默认角色
      project: 新项目默认角色
      showDefaults: 仅显示默认角色
    errors:
      inherited: "角色{displayName}被:{roleNames}继承"
  resources:
    title: 授权资源
    detail: 对Kubernetes资源的具体操作进行授权。
  inherit:
    title: 继承角色
    detail: 继承其他角色的所有权限
  addRole: 添加角色
  editRole: 编辑角色
  saveEdit: 编辑
  saveNew: 创建
  new:
    errors:
      nameReq: 名称(必填)
      memberReq: 成员是必需的
      nameInExists: 名称是已经存在， 请使用新的角色名称。
      ruleResourceReq: 资源是规则所必需的
      roleTemplate: 角色模板是必需的
      noSelectedRoles: 请为该用户至少选择一个角色。
      roleAlreadyExists: 用户已经具有"{key}"角色。
    form:
      name:
        labelText: 姓名
        placeholder: '例如: 开发者'
      context:
        labelText: 上下文
        detail: 此角色的适用范围适合在此展示
      locked:
        labelText: 已锁定
        detail: 对已经绑定的用户没有影响
        enabled: '是: 不允许用户再绑定此角色，已绑定的用户不受影响。'
        disabled: "否"
      allow:
        create: 创建
        delete: 删除
        deletecollection: '删除集合'
        get: 获取
        list: 列表
        patch: 修补程序
        update: 更新
        watch: 观察
        labelText: 允许
        resource: 资源
        addAction: 添加资源
      otherRole:
        labelText: 包含其他角色
        role: 角色
        addAction: 添加角色
      policy:
        policy: 策略
        addAction: 添加策略
      default:
        global: 新用户默认角色
        cluster: 新集群默认角色
        project: 新项目默认角色
        enabled:
          global: "是: 新用户的默认角色"
          cluster: "是: 新集群的默认角色"
          project: "是: 新项目的默认角色"
        disabled: "否"

apiPage:
  header: API & Keys
  actionButton: 添加Key
  currentEndpoint: '访问地址:'
  detail: "API密钥与特定用户(例如: {name})绑定，可以创建、删除和操作有权访问的所有集群和项目。"
  table:
    state: 状态
    name: 访问密钥
    description: 描述
    scope: 范围
    created: 创建时间
    expires:
      label: 过期时间
      never: 永不过期
    noData: 没有定义API密钥

authPage:
  saml:
    accessEnabled:
      header: 认证
      disable: 禁用访问控制
    header:
      disabled:
        label: "{providerName}未配置"
    enabled:
      authenticated:
        header:
          text: 认证
      groupsField: '组:'
      displayName: '显示名称'
      userName: '用户名:'
      userId: '用户 ID:'
    disabled:
      header: "1. 配置{providerName}账户"
      headerDetail: "填写{providerName}账户信息"
      label: "{providerName}未配置"
      name:
        labelText: 显示名称
        display: "显示名称:"
      username:
        labelText: 用户名
        display: "用户名:"
      uid:
        labelText: UID
        display: "UID:"
      rancherApiHost:
        labelText: "{appName} API地址"
        display: "{appName} API地址:"
      groups:
        labelText: 组
        display: "组:"
      testAuth:
        header: '2. 测试并启用认证'
        subtext: '测试以确认配置是否正确'
    providerName:
      ping: Ping
      adfs: AD FS
      keycloak: Keycloak
      okta: Okta
    authError: '账号未经授权'
    popupError: '请关闭弹出验证窗口，然后再次单击“验证”。'
  ping:
    buttonText:
      pre: '启用Ping认证 '
      post: '等待返回'
  keycloak:
    buttonText:
      pre: '启用Keycloak认证'
      post: '等待返回'
  adfs:
    buttonText:
      pre: '启用AD FS认证'
      post: '等待返回'
  okta:
    buttonText:
      pre: '启用Okta认证'
      post: '等待返回'


  shibboleth:
    enabled:
      authenticated:
        header:
          text: 认证
      disableAccess:
        header: '危险区域&trade;'
        warning: '<b class="text-danger">警告:</b>禁用访问控制将导致任何能够访问此页面或API的用户拥有对{appName}的完全控制权限。'
        confirmDisable: "确认? 再次点击将关闭访问控制"
        disable: 关闭访问控制
      groupsField: '组︰'
      displayName: '显示名称: '
      userName: '用户名: '
      userId: '用户 ID: '
    disabled:
      header: '1. 配置Shibboleth账户'
      label: "{providerName}未配置"
      name:
        labelText: 显示名称字段
      username:
        labelText: 用户名字段
      uid:
        labelText: UID 字段
      groups:
        labelText: 组织字段
      testAuth:
        header: '2. 测试并启用认证'
        subtext: '测试以确认配置是否正确:'
        buttonText:
          pre: 使用IDP验证
          post: 等待IDP响应
    providerName:
      shibboleth: Shibboleth
  root:
    header: 访问控制
  github:
    standard: GitHub
    enterprise: GitHub企业版
    header:
      disabled:
        label: GitHub未配置
    authenticated:
      header:
        text: 认证信息
        enterpriseHostName: "地址:"
        clientId:
          text: "客户端 ID:"
          helpText: "要修改设置的GitHub应用，请在下方禁用访问控制后重新设置"
      disableAccess:
        header: "危险区域&trade;"
        warning: '<b class="text-danger">警告:</b>禁用访问控制将导致任何能够访问此页面或API的用户拥有对{appName}的完全控制权限。'
        confirmDisable: "确认? 再次点击将关闭访问控制"
        disable: 禁用Github访问
    notAuthenticated:
      header: "1. 设置GitHub应用"
      ul:
        li1:
          text: '标准GitHub。<a href="https://github.com/settings/developers" target="_blank">点击此处</a>并在弹出的新窗口中进行应用设置。'
          ul:
            li1: "企业版GitHub。请登录账号，点击Settings，然后点击Applications进行设置"
        li2:
          text: '点击 "Register new application" 并填写表单内容:'
          ul:
            li1: '<b>应用名称: </b><span class="text-muted">应用名称，例如: My {appName}</span>'
            li2: '主页URL: '
            li3: '<b>应用描述: </b><span class="text-muted">应用描述，可选</span>'
            li4: '授权回调URL: '
        li3:
          text: '点击 "Register Application" '
      form:
        header: '2. 配置{appName}以使用GitHub进行身份验证'
        subtext: '将新创建的GitHub应用Client ID和Secret复制粘贴到下方的对应输入框中'
        clientId:
          labelText: 客户端 ID
        clientSecret:
          labelText: 客户端秘钥
        ghEnterprise:
          labelText: 使用私有GitHub企业版部署
        isGHEnterprise:
          labelText: 使用安全连接
        enterpriseHost:
          labelText: 地址
          placeholder: '例如: github.example.com'
    testAuth:
      header: '3. 测试并启用认证'
      subtext: '测试以确认配置是否正确'
      buttonText:
        pre: 启用GitHub认证
        post: 等待GitHub返回
      authError: '未获取Github访问权限'
      popupError: '请关闭当前窗口，点击认证按钮重新认证'
  azuread:
    header:
      disabled:
        label: 'Azure AD未配置'
    enabled:
      header: '危险区域&trade;'
      reallyDisable: '确认? 再次点击将关闭访问控制'
      promptDisable: 关闭访问控制
      general:
        header: 常规
    configure:
      header: '配置Azure AD帐户'
      replyUrl: "在开始设置之前，需要在Azure AD为{appName}设置一个白名单URL。请确保Azure门户的Reply URL部分设置了以下Reply URL。 请注意，白名单URL设置后可能需要5分钟生效时间。"
      help: '输入租户ID、Client ID和管理用户详细信息，以连接到Azure AD 验证帐户信息。'
      applicationId:
        label: 应用 ID
        placeholder: UUID字符串
      applicationSecret:
        label: 应用 Secret
      serverURL:
        label: Rancher Server Url
      azureADEndpoint:
        label: 'Endpoint(Azure China地址: https://login.chinacloudapi.cn)'
      azureADGraphEndpoint:
        label: 'Graph Endpoint(Azure China地址: https://graph.chinacloudapi.cn)'
      azureADTokenEndpoint:
        label: Token Endpoint
      azureADAuthEndpoint:
        label: Auth Endpoint
      endpoints:
        label: Azure AD访问地址
      regions:
        standard: Standard
        china: China
        custom: 自定义
      tenantId:
        label: 租户ID
        placeholder: UUID字符串
        help: 由Azure AD portal获取
    test:
      header: '2. 测试并启用认证'
      help: '测试验证以确认配置是否正确:'
      username:
        label: 登录用户名
        placeholder: '例如: jsmith'
      password:
        label: 登录密码
      pre: 启用Azure认证
      post: 等待Azure返回
      authError: 'Azure访问未认证授权'
      popupError: '请关闭窗口，然后再次点击认证按钮进行认证'
  localAuth:
    header:
      enabled: '本地验证已启用'
      disabled: '本地验证未设置'
    subtext:
      enabled:
        text: '{appName}已设置本地账户访问'
        alwaysOn: '本地身份验证将始终启用，您可以在本地认证基础之上添加其他认证方案'
        linkText: 管理账号
      disabled: '{appName}能够被设置为仅允许{appName}本地数据库中定义的用户访问。当前系统未进行设置，因此任何可以访问此页面(或API)的用户都具有系统的完全控制权限。'
    accessEnabled:
      header: '危险区域&trade;'
      warning: '<b class="text-danger">警告:</b>禁用访问控制将导致所有能够访问此页面或API的用户拥有对{appName}的完全控制权限。'
      buttonText:
        disable: '确认? 再次点击将关闭访问控制。'
        prompt: 关闭访问控制
    accessDisabled:
      header: '1. 设置管理员用户'
      helpText: '该账户将成为管理员并拥有对{appName}的完全控制权限。'
      form:
        login:
          labelText: 登录用户名
          placeholder: '例如: jsmith'
        name:
          labelText: 全名
          placeholder: '例如: John Smith'
        password:
          labelText: 密码
        confirmPassword:
          labelText: 确认密码
    accessControl:
      header: '2. 启用访问控制'
      helpText: '点击以开启访问控制并登录'
      buttonText:
        pre: 启用本地认证
        post: '启用中...'

backupsPage:
  header: Etcd 快照
  detail: 如果启用etcd快照功能，将按预定义的时间间隔周期性地获取的集群快照，可用于集群灾难恢复。
  table:
    state: 状态
    target:
      label: 目标
      s3: S3
      local: Local
    name: 名称
    created: 创建时间
    noData: 当前没有Etcd快照

balancerPage:
  noMatch: 没有符合当前搜索的负载均衡
  noData: 没有负载均衡
  table:
    target: 目标

catalogPage:
  index:
    header: 应用商店
    refreshBtn: 刷新
    allCatalogs: 全部应用商店
    allCategories: 所有分类
    manage: 管理
    search:
      label: 搜索
    filters:
      label: 应用过滤
    certified:
      rancher:
        rancher: Rancher Labs
        partner: 官方
      pl:
        rancher: 核心
        partner: 官方
    noData:
      singular: 没有符合的应用模板
      plural: 当前目录下没有符合的应用模板
    action:
      launch: 查看详情
      notCompatible: 不兼容
      alreadyDeployed: 已经部署

cloudCredentialsPage:
  header: 云凭证
  rightButtons:
    addKey: 添加云凭证
    nodeTemplates: 管理主机模板
  index:
    table:
      noData: 当前没有云凭证
      noMatch: 没有云凭证匹配当前搜索

clusterCatalogPage:
  header: 应用商店

certificatesPage:
  cn: 域名
  expiresDate: 过期时间
  fingerprint: 指纹
  valid: 生效时间
  expires: 过期时间
  algorithm: 算法
  issuer: 发布机构
  serialNumber: 序列号
  domainNames:
    labelText: 域名
    single: '<a href="https://{cn}" target="_blank" rel="nofollow noreferrer noopener">{cn} <i class="icon icon-sm icon-external-link"/></a>'
    withSan: |
      <a href="https://{cn}" target="_blank" rel="nofollow nefererrer noopener">{cn} <i class="icon icon-sm icon-external-link"></i></a> +
      {sans, plural,
      =1{1other}
      other{#others}
      }
    wildcardSingle: '{cn}'
    wildcardWithSan: |
      {cn} +
      {sans, plural,
      =1{1other}
      other{#others}
      }
  detail:
    header: '证书: {name}'
  index:
    header: 证书
    linkTo: 添加证书
    noData: 没有定义证书
  new:
    header: 添加证书
    form:
      name:
        placeholder: '例如: Mydomain.com'
      description:
        placeholder: '例如: Mydomain.com的EV证书'

membersPage:
  title: 成员
  add:
    title: '添加{type}成员'
    form:
      member: 成员
      role: 角色
      kind: 类型
  index:
    localLink: '添加成员'
    table:
      name: 名称
      created: 创建时间
      noData: 目前还没有成员
      noMatch: 没有成员与当前搜索匹配
      userId: 用户
      subjectKind: 类型
      template: 角色

namespacesPage:
  header: 命名空间
  addNamespace: 添加命名空间
  noMatch: 没有符合搜索的命名空间
  noData: 此集群未创建任何命名空间
  table:
    name:
      label: 命名空间
    description:
      label: 描述
    project:
      label: 项目
    pods:
      label: Pods
    workloads:
      label: 工作负载
    created:
      label: 创建时间

clusterPage:
  edit: 编辑集群
  removeMemberNote: '注意: 删除成员不会删除其项目权限'
  internal: '<b>警告:</b>{appName}集群用作数据存储，只应授予管理员拥有写入权限.<br>对此集群具有写入权限的用户，可以使用它授予自己安装并管理的其他集群的访问权限。'

projectsListNamespacePage:
  header: 命名空间
  notIn: 不属于任何项目
  current: 当前项目

projectsPage:
  header: 项目/命名空间列表
  headerNS: 命名空间
  addProject: 添加项目
  editProject: 编辑项目
  noMatch: 没有与当前搜索匹配的项目
  noData: 此集群没有定义任何项目
  groups:
    none: 命名空间列表
    namespaces: 项目分组/命名空间分组
  quota:
    label: 资源配额
  ns:
    label: 命名空间
    placeholder: '例如: lab'
  name:
    label: 项目名称
    placeholder: '例如: lab'
  created:
    label: 创建时间
  psp:
    label: Pod安全策略
  resourceQuota:
    title: 资源配额
    detail: 配置整个项目可以使用多少资源。
  containerDefaultLimit:
    title: 容器默认限制
    detail: 配置默认情况下容器可以消耗多少资源
  members:
    title: 成员
    detail: 配置可以访问该项目中资源的用户以及用户权限。
    user: 用户
    group: 组
    serviceaccount: 服务账号
    labelText: 成员
    addMember: 添加成员
    addUser: 添加用户
    noAddUser: 您是唯一的活动注册用户
    addGroup: 添加组
    addServiceAccount: 添加服务帐户
    multipleRoles: 多个角色
    customRoles: 自定义角色
    kind:
      label: 类型
    name:
      label: 名称
    role:
      label: 角色
    errors:
      nameReq: 名称(必填)
      nameInExists: 名称已经存在，请使用新的项目名称。
      memberNameReq: 成员名称是必须的
      memberRoleReq: 成员角色是必须的

clustersPage:
  header: 集群列表
  newCluster: 添加集群
  newClusterName: "添加集群: {name}"
  editClusterName: "编辑集群: {name}"
  cluster:
    label: 集群名称
  provider:
    label: 供应商
  version:
    label: kubernetes版本
  nodes:
    label: 主机数
  cpu:
    label: 处理器
  memory:
    label: 内存
  pod:
    label: Pods
  storage:
    label: 磁盘

ingressPage:
  header: 'Ingress: {name}'
  gkeIngressWarning: 'Kubernetes Engine可能需要几分钟才能分配外部IP地址并准备负载均衡器。与此同时，您可能会收到HTTP 404和HTTP 500等错误，直到负载平衡器准备好为流量提供服务。'
  table:
    targets:
      label: 目标
    noMatch: 没有ingresses匹配当前搜索。
    noData: 没有定义ingress规则

containerPage:
  header: '容器: {name}'
  initContainer:
    label: 初始化容器
  envTab:
    header: 环境变量
    detail: '在创建容器时配置到容器内的环境变量。'
  portsTab:
    header: 端口
    detail: '容器监听端口到主机公用IP地址端口的映射关系。'
    hostPrimaryIp: "({ip})"
  linksTab:
    header: 链接
    detail: '这些属性显示了其他容器和当前容器之间的链接。'
    noData: 当前容器没有链接
  volumesTab:
    header: 数据卷
    detail: '这些属性显示了附加到容器的数据卷。'
    table:
      path: 挂载点
      shared: 共享
      writable: 可写
      noData: 该容器未使用数据卷
      noMatch: 没有符合当前搜索的数据卷
      noContainers: 无其他容器
  pod: Pod
podPage:
  header: "Pod: {name}"
  nodeIp: 主机
  podIp: Pod IP
  containerImage: "{container}的镜像"
  image: 镜像
  displayImage: '{image} + 其他{sidecar, plural, =1 {1个image} other {#个images}}'
containersPage:
  table:
    sparkPrefixCpu: "CPU: "
    sparkPrefixMemory: "内存:"
    sparkPrefixNetwork: "网络:"
    sparkPrefixStorage: "存储:"
    noData: 没有可以显示的容器
    noMatch: 没有符合当前搜索的容器
  welcome:
    container: 立即开始
    containerLink: 创建容器
    orchestrator: 安装另一个编排引擎
    kubernetesLink: 安装 Kubernetes

clusterDashboard:
  systemProject: "这是具有所有Kubernetes和{appName}系统命名空间的系统项目，修改系统项目中的资源可能会导致系统无法正常运行。"
  notActive: 当前集群<b>{state}</b>中...
  notReady: 当前集群<b>{state}</b>中...，在API准备就绪之前，直接与API交互的功能将不可用。
  used: 使用值
metricsAction:
  description: 查看实时监控指标
  noData: 没有足够的数据绘制图表
  sections:
    workload: 工作负载监控
    pod: Pod监控
    container: Container监控
  grafana:
    label: Grafana
  summary:
    label: 概览模式
  detail:
    label: 详情模式
  from:
    label: 起始时间
  to:
    label: 结束时间
  periods:
    custom: 自定义时间段
    5m: 5分钟
    1h: 1小时
    6h: 6小时
    24h: 24小时
    7d: 7天
    30d: 30天

metrics:
    workload-cpu-usage: CPU
    workload-disk-io: 磁盘I/O
    workload-memory-usage-bytes-sum: 内存
    workload-network-io: 网络I/O
    workload-network-packet: 网络数据包
    pod-cpu-usage: CPU
    pod-disk-io: 磁盘I/O
    pod-memory-usage-bytes-sum: 内存
    pod-network-io: 网络I/O
    pod-network-packet: 网络数据包
    container-cpu-usage: CPU
    container-disk-io: 磁盘I/O
    container-memory-usage-bytes-sum: 内存

dnsPage:
  noMatch: 没有匹配当前搜索的记录
  noData: 没有可以显示的DNS记录
  type:
    arecord: 外部IP
    cname: 主机名
    alias: 别名
    workload: 工作负载
    selector: 选择器
    clusterIp: Cluster IP
    unknown: 未知
  table:
    target: 目标
    clusterIpDetail: '集群IP: {ip}'

editDns:
  title:
    new: 添加DNS记录
    edit: 编辑DNS记录
    view: "记录: {name}"
  name:
    placeholder: '例如: Myapp'
  sessionAffinity:
    title: 会话保持
    detail: 根据源IP将连接映射到一致的目标
    label: 启用会话保持
  externalIPs:
    addActionLabel: 添加外部IP
    placeholder: '例如: 80.11.12.10'
    value: 外部IP
  loadBalancerIP:
    label: Load Balancer IP
    placeholder: '例如: 78.11.24.19'
  loadBalancerSourceRanges:
    addActionLabel: 添加ip源范围
    placeholder: '例如: 143.231.0.0/16'
    value: 负载均衡器ip源范围
  healthCheckNodePort:
    label: 健康检查节点端口
    placeholder: '例如: 8080'
  externalTrafficPolicy:
    label: External Traffic Policy
    local: Local
    cluster: Cluster
  publishNotReadyAddresses:
    label: Published IP Addresses
    readyOnly: 仅就绪接入点
    all: 所有接入点
  sessionAffinityConfig:
    label: Session Sticky Time
    placeholder: '例如: 10800'
  kind:
    label: As a
    clusterIP: Cluster IP (Internal Only)
    loadBalancer: L4负载均衡器
    nodePort: NodePort(On every node)
    externalName: ExternalName
    headless: Headless Service
  description:
    placeholder: '例如: 当前MyApp版本'
  selector:
    label: 容器选择器
    keyLabel: 标签
    addActionLabel: 添加标签选择器
  recordType:
    label: "解析到"
    arecord: 外部IP地址
    cname: 外部主机名
    alias: 服务名别名
    workload: 工作负载
    selector: Pod
    clusterIp: "Cluster IP"
  target:
    arecord: 目标IP地址
    cname: 目标主机名
    alias: 目标DNS记录
    workload: 目标工作负载
    selector: 目标Pod选择器
  add:
    arecord: 添加目标IP
    alias: 添加目标服务
    workload: 添加目标工作负载
    selector: 添加目标选择器
  placeholder:
    arecord: '例如: 19.82.2.24'
    cname: '例如: example.com'
  prompt:
    alias: 选择目标服务...
    workload: 选择工作负载...
  errors:
    targetRequired: '必须配置一个或多个"目标服务/工作负载/主机名/域名"'
    selectorRequired: '必须配置一个或多个"目标标签选择器"'
    mixedAlias: 别名不能以CNAME和其他记录的组合为目标。
    multipleCname: 别名不能指向多个CNAME记录

cruPersistentVolumeClaim:
  title:
    define: 定义卷声明
    new: 添加卷声明
    edit: '编辑卷声明: {name}'
    view: '持久卷: {name}'
  define:
    addActionLabel: 定义
  capacity:
    label: 容量
    unit: GiB
  name:
    placeholder: '例如: myvol'
  source:
    label: 源
    pv: 使用现有的持久卷
    storageClass: 使用存储类来创建新的持久卷
  pv:
    label: 持久卷
    prompt: 选择持久卷…
  storageClass:
    label: 存储 Class
    prompt: 使用默认 class

cruVolumeClaimTemplate:
  title:
    define: Define Volume Claim Template
    new: Add Volume Claim Template
    edit: "Edit Volume Claim Template: {name}"
    view: "Volume Claim Template: {name}"
  define:
    addActionLabel: 确定
  capacity:
    label: 容量
    unit: GiB
  name:
    placeholder: '例如: Myvol'
  source:
    label: 源
    pv: 使用已有的持久卷
    storageClass: 使用存储类来配置新的持久卷
  pv:
    label: 持久卷
    prompt: 选择持久卷...
  storageClass:
    label: 存储类
    prompt: 使用默认类
  customize:
    title: 自定义
    detail: 自定义高级设置

cruPrivateRegistry:
  title:
    label: 私有镜像仓库
    detail: 向这个集群添加私有镜像仓库
  noData: 当前集群没有配置私有镜像仓库
  defaultError: 您必须指定默认的私有镜像仓库。
  add:
    label: 添加私有镜像仓库
  registry:
    user:
      label: 用户名
    password:
      label: 密码
    url:
      label: 仓库地址
    default:
      label: 默认仓库

cruVolume:
  sourcePrompt: 需要先在上面选择存储源...
  title:
    new: 定义临时卷
  define:
    addActionLabel: 确定
  name:
    placeholder: '例如: Myvol'
  source:
    label: 存储源
    title: 源配置
    detail: 配置选定存储源的选项
    prompt: 选择存储源...

globalDnsPage:
  header: 全局DNS记录列表
  newDns: 添加DNS记录
  noDnsMatch: 没有DNS条目匹配当前搜索。
  noDnsData: 当前没有全局DNS条目。
  newProvider: 添加DNS提供商
  noDnsProviderMatch: 没有DNS提供商匹配当前搜索。
  noDnsProviderData: 当前没有全局DNS提供商。
  noProjects: 没有要选择的项目
  noApps: 没有可访问的多集群应用
  noProviders: 没有选择DNS提供商
  entriesPage:
    header:
      new: 添加全局DNS记录
      edit: 编辑全局DNS记录
    options:
      title: 配置选项
      detail: 自定义DNS记录选项
    access:
      noAccessMulti: 您无法访问目标应用程序
      noAccessProvider: 您没有权限访问此供应商
      noAccessProject: 您无法访问目标项目
    projectHelp: "要完成项目的全局DNS记录设置，必须在应用或项目的ingress规则中添加注释(<code>rancher.io/globalDNS.hostname='hostname'</code>)，其中<code>'hostname'</code>是路由规则中使用的主机名，这个<code>'hostname'</code>也必须匹配这个全局DNS条目的FQDN。"
    table:
      name: 名称
      fqdn: FQDN (域名)
      target: 目标
      provider: 提供商 ID
    config:
      title: 配置DNS条目
      detail: 提供配置细节以添加新的全局DNS条目
      configType: 解析到
      multi: 多集群应用
      project: 项目
      fqdn:
        label: FQDN (域名)
        placeholder: '例如: dev.example.com'
      multiCluster:
        label: 目标应用
        placeholder: 没有选择多集群应用
        add:
          label: 添加目标
      provider:
        label: 提供商
        placeholder: 选择提供商
      projects:
        label: 目标项目
      ttl:
        label: DNS TTL (DNS解析记录缓存有效期)
  providersPage:
    title: 全局DNS提供商列表
    header:
      new: 添加全局DNS提供商
      edit: 编辑全局DNS提供商
    options:
      title: DNS提供商设置
      detail: 自定义DNS提供商设置
    members:
      title: 成员访问
      detail: 控制谁有权访问资源
    table:
      name: 名称
      provider: 提供商名称
      rootDomain: 根域名
    config:
      root:
        label: 根域名
        placeholder: Your root domain
      accessKey:
        label: Access Key
        placeholder: Your access key
      secretKey:
        label: Secret Key
        placeholder: Your secret key
        info: 密钥已经提供, 只有在更新密钥本身时才需要它。
      apiEmail:
        label: API Email
        placeholder: Your API Email
      apiKey:
        label: API Key
        placeholder: Your API Key

multiClusterAppsPage:
  header: 多集群应用列表

# If you change translations here also change the translation in app/utils/constants.js under the FALLBACK_TRANSLATIONS key
# those are present in case we have an error in the app and can not load the translations file
# the error page will at least make a little sense
failWhalePage:
  header: 错误
  reloadButton: |
    <a href="#" onclick="window.location.href = window.location.href; return false;">重新加载</a>以重试或
  logoutButton: 注销

time:
  now: 现在
  mins: |
    {mins, plural,
    =1{#分钟}
    other{#分钟}
    }
  minsAgo: |
    {mins, plural,
    =1{#分钟前}
    other{#分钟前}
    }
  secsAgo: |
    {secs, plural,
    =1{#秒前}
    other{#秒前}
    }

haPage:
  header: 高可用性(HA)
  setup:
    prefix: "可以在不同主机上部署多个服务器容器，以便{appName}一直保持运行，即使其中一个主机失败。"
    link: 请参阅文档
    suffix: ' 有关安装和使用信息'
  table:
    address: 主机地址
    port: 端口
    heartbeat: 上次在线
    clustered: 集群

nodesPage:
  header: 主机列表
  editCluster: 编辑集群
  nodePoolGroup: "Pool: {name}"
  table:
    clusterName: 集群
    role: 角色
    cpu: 处理器
    memory: 内存
    disk: 磁盘
    pod: Pods
    version: 版本
    docker: Docker
    unschedulable: 不可调度
    instanceState: 容器状态
    instanceStateWithIcon: 状态
    noData: 此集群没有定义任何主机
    noMatch: 没有符合当前搜索的主机

hostsPage:
  cloudHostsPage:
    addPage:
      launch: 启动
      header: 添加主机
      name:
        label: 主机名称
        placeholder: '例如: node01'
      transferUnit: TB
      instance: '类型:'
      storage: '存储:'
      transfer: '流量限制:'
      zone: '区域:'
      env: '环境'
      size: '大小: '
      os: '操作系统: '
      driver: '驱动: '
      template: '模板名称: '
  addContainer: 添加容器
  new:
    header:
      customText: 添加自定义主机
      text: 添加主机
    manageLink: 管理Docker-machine驱动
    custom: 添加自定义主机
    name:
      placeholder: '例如: node01'
    addCluster:
      label: "集群选项"
      description: 将此新主机附加到集群，委派角色等
      cluster:
        label: 集群
      roles:
        label: 角色
      table:
        label:
          etcd: 用于etcd
          control: 用于管理
          worker: 作为worker节点使用

  hostPage:
    header:
      title: '主机: {name}'
    hostname: 主机名
    ipAddress: IP地址
    version: 版本
    kubeletVersion: Kubelet 版本
    kubeProxyVersion: Kube-Proxy 版本
    dockerVersion: Docker 版本
    kernelVersion: 内核版本
    operatingSystem: 操作系统
    conditions:
      diskSpace: 磁盘空间
      diskPressure: 磁盘负载
      memoryPressure: 内存负载
      ready: Kubelet
    limits:
      cpu: 'CPU限制: '
      memory: '内存限制: '
      storage: '本地卷限制: '
    infoMultiStats:
      ip: 'IP地址'
      cpu: 'CPU'
      memory: '内存'
      storage: '数据卷'
      provider:
        labelText: '供应商:'
        noHost: 自定义
      kernel: '内核'
      docker: 'Docker:'
      os: '操作系统'
      milliCpu:
        labelText: mCPU
    containersTab:
      header: 容器
      detail: 在此主机上运行的容器列表
    portsTab:
      header: 端口
      detail: '这些属性显示哪些端口已被映射到哪里'
      table:
        header:
          ip: IP地址
          port: 端口
          service: 服务
          container: 容器
        body:
          noData: 主机当前未映射任何端口
    storageTab:
      header: 卷
      detail: '这些属性显示主机卷细节'
      table:
        header:
          state: 状态
          hostPath: 主机路径
          mounts: 挂载
        body:
          noData: 主机未使用任何数据卷

k8sImport:
  header: 导入现有的Kubernetes
  name:
    label: 集群名称
    placeholder: '例如: My-imported-cluster'
  kubeConfig:
    label: 要导入的Kubeconfig文件
    placeholder: 导入或粘贴集群的Kubeconfig文件以供使用。
  actionLabel: 导入

k8sPage:
  header: Kubernets
  dashboard:
    title: 控制面板
    detail: 访问本地Kubernetes仪表盘。
    button: 打开仪表盘
  shell:
    title: 命令行
    detail: 在浏览器中执行Kubernetes的<code>kubectl</code>命令行。
    button: 执行kubectl命令行
  configFile:
    title: 配置文件
    detail: 生成在本机可以使用的<code>kubectl</code>配置文件。
    button: Kubeconfig文件
    generating: 生成中...
    usage:
      helpText: |
        将设置保存到<code>~/.kube/config</code>
      downloadText: |
        然后<a href="{downloadUrl}" target="_blank">下载</a><code>kubectl</code>(如有需要)并运行。

loginPage:
  greeting: "您好！<br>欢迎使用{appName}"
  insecure: "{appName}仅支持<code>https://</code>连接，您必须:<br><br>使用服务器内置的TLS支持,或者<br><br>在容器前面提供自己的TLS终端。"
  githubMessage: "{appName}使用GitHub管理账号和团队。点击以下按钮以登录，我们将仅使用基本的GitHub账号信息。"
  shibbolethMessage: "{appName}使用Shibboleth管理账号。点击以下按钮以登录到设置的Shibboleth IDP。"
  shibbolethError:
    401: "未授权"
    500: "内部服务器错误"
    generic: "尝试登录时发生错误({errorCode})，请重试"
  error:
    authFailedCreds: "登录失败: 检查凭据，或者帐户可能无权登录"
    authFailed: "登录失败: 帐户可能无权登录"
  readableProviders:
    ad: Active Directory
    azureAd: Azure AD
    local: 本地用户
    openldap: OpenLDAP
    freeipa: FreeIPA

machinePage:
  header: 主机驱动
  inactive: 未激活
  subtext: "另外<code>Docker-machine</code>驱动可在此加载并在添加主机界面使用。"
  add: 添加主机驱动
  builtin: 内置
  url: 位置

# If you change translations here also change the translation in app/utils/constants.js under the FALLBACK_TRANSLATIONS key
# those are present in case we have an error in the app and can not load the translations file
# the error page will at least make a little sense
notFoundPage:
  header: "当前页面不存在！"
  linkTo: 回到首页

registriesPage:
  index:
    header: 镜像库凭证
    linkTo: 添加镜像库凭证
    table:
      header:
        state: 状态
        address: 地址
        username: 用户名
        created: 创建时间
      body:
        noData: "当前没有任何镜像仓库"
  new:
    header: 添加镜像库凭证
    form:
      custom:
        labelText: 地址
        placeholder: '例如: registry.example.com'
        help: "仅添加主机名或IP地址，不要包含协议头(https://)。"
      username:
        labelText: 用户名
        placeholder: '例如: username'
      password:
        labelText: 密码
        placeholder: '例如: password'

secretsPage:
  index:
    header: 密文
    linkTo: 添加密文
    noData: 未定义任何密文
    noMatch: 没有符合搜索条件的密文
  table:
    keys: 键

configMapsPage:
  index:
    header: 配置映射
    linkTo: 添加配置映射
    noData: 没有定义配置映射
    noMatch: 没有配置映射与当前搜索匹配
  table:
    keys: 键

servicePage:
  header: '工作负载: {name}'
  globalScale: '每个主机{scale}'
  endpoints: '访问端口'
  multistat:
    type: '类型'
    fqdn: 'FQDN'
    scale: 'Pod配置副本数'
    image: '镜像名'
    namespace: '命名空间'
    created: '创建时间'
    daemonSetScale: '每主机1个Pod'
    currentScale: 'Pod可用副本数: {count}'
  serviceType:
    deployment: Deployment
    replicaSet: 副本集
    statefulSet: 有状态集
    daemonSet: 守护程序集
    replicationController: 复制控制器
    job: 任务
    cronJob: 定时任务
    pod: 独立容器
  external:
    externalIp: |
      {count, plural,
      =1{个外部IP }
      other{个外部IP }
      }
    externalHostname: '外部主机名:'
  selector:
    label: '选择器:'
  containersTab:
    title: '容器'
    detail: '组成该服务的容器列表'
  linksTab:
    header: 链接
    detail: '这些属性显示当前服务中容器之间的链接'
    noData: 当前服务没有链接
  certsTab:
    title: 证书
    detail: 'TLS请求所使用的证书'
    default: 默认证书
    additional: 其他SNI证书
  new:
    form:
      name:
        placeholder: '例如: Myapp'
      description:
        placeholder: '例如: 我的应用'
  newBalancer:
    upgradeImage: "负载均衡器镜像版本将由<code>{from}</code>升级到<code>{to}</code>。"
    form:
      name:
        placeholder: '例如: website'
      description:
        placeholder: '例如: Mycompany.com的负载均衡'
  newIngress:
    form:
      name:
        placeholder: '例如: website'
      description:
        placeholder: '例如: Mycompany.com的Ingress'
  portsTab:
    title: 端口
    detail: '从主机IP映射到容器监听的端口'
    notActive: 端口仅当服务处于活动状态时可见
  logTab:
    title: 服务日志
    detail: '这项服务最近发生的编排事件'
  type:
    service: 服务
    selectorservice: 选择器
    loadbalancerservice: 负载均衡
    dnsservice: 服务别名
    externalservice-ip: 外部 IP
    externalservice-host: 外部名称
    kubernetesservice: K8s服务
    composeservice: Compose服务
    networkdriverservice: 网络服务
    storagedriverservice: 存储服务
  sidekick:
    tabHeader: Sidecars
    header: 工作负载与Sidecar
    helpBlock: 选择主容器或其中一个sidecar容器

signupPage:
  header: '注册{appName}'
  form:
    button: 注册
    labels:
      loginUsername: 姓名
      email: 电子邮箱
  emailSuccess:
    header: '欢迎使用{appName}'
    confirm:
      subtext: 已经发送邮件到邮箱，请点击邮件中的验证链接以确认邮件地址。
      resend: 重新发送邮件

stackPage:
  header:
    singleBanner: 查看单个应用
    backLink: 返回全部应用
  basics:
    tagsCopy: 复制用逗号分隔的标签
  containers:
    header: 容器
    detail: 应用中所包含的独立容器和服务。
    status: |
      {count, plural,
      =0{无容器}
      =1{#个容器}
      other{#个容器}
      }
  loadBalancers:
    header: 负载均衡
    detail: '属于该应用的负载均衡容器'
    status: |
      {count, plural,
      =0{无负载均衡}
      =1{#条负载均衡}
      other{#条负载均衡}
      }
  dnsServices:
    header: DNS 记录
    detail: '属于该应用的DNS记录'
    status: |
      {count, plural,
      =0{无记录}
      =1{#条记录}
      other{#条记录}
      }
  scalingGroups:
    header: 扩容组
    detail: '属于该扩容组的容器'
    status: |
      {count, plural,
      =0{无容器}
      =1{#个容器}
      other{#个容器}
      }
  volumesTab:
    header: 卷
    detail: '该应用挂载到容器中的卷'
    table:
      path: 挂载点
      shared: 共享
      writable: 可写
      noData: 这个应用没有挂载任何卷
      noMatch: 没有匹配当前搜索的卷

newStack:
  header: 导入YAML
  name:
    placeholder: '例如: Myapp'
  description:
    placeholder: '例如: MyApp Stack'
  files:
    label: 额外的Compose文件
    addActionLabel: 添加Compose文件
    uploadActionLabel: 从磁盘读取
    namePlaceholder: 文件名
    valuePlaceholder: 文件内容
    protipLabel: "支持{appName}<code>compose.yml</code>，<code>docker-compose.yml</code>和Kubernetes清单文件。"
  answers:
    label: 应答(变量替换)
    addActionLabel: 添加应答

nodeTemplatesPage:
  header: 主机模板
  rightButtons:
    actionButton: 添加模板
    cloudCredentials: 管理云凭证
  detail: 主机模板用于在基础设施提供商上部署组成集群的主机。
  table:
    state: 状态
    name: 名称
    provider: 提供者
    location: 位置
    size: 大小
    usedBy: 使用者
    noData: 没有定义主机模板
    usedByNone: 没有集群
    unknown: 未知

storageClassPage:
  header: 存储类列表
  addActionLabel: 添加类
  noData: 没有定义存储类
  noMatch: 没有存储类别与当前搜索匹配
  provisioner:
    label: 提供者
  default:
    label: 默认

persistentVolumePage:
  header: 持久卷列表
  addActionLabel: 添加卷
  noData: 没有定义持久卷
  noMatch: 没有符合当前搜索的持久卷
  source:
    label: 存储源

userPreferencesPage:
  header: 设置
  theme:
    header: 主题
    light: 明亮
    auto: 自动
    autoDetail: 自动设置会在晚6点到早6点间自动切换主题到黑色
    dark: 黑色
  generalInfo:
    header: 账号
    name:
      label: 姓名
    username:
      label: 用户名
    email:
      label: 邮件地址
    password:
      text: 修改密码

verifyPage:
  header: "您已经成功验证了邮件地址!"
  subtext: 在完成账号设置前，我们还需要一些信息。
  account:
    header: 账号创建完成
    subtext: 点击以下链接登录
    linkText: 登录

verifyResetPasswordPage:
  header: 重置密码
  button: 更新密码
  success:
    header: 密码已重置!
    subtext: 点击以下链接返回登录页面
    linkText: 登录


waitingPage:
  hosts:
    setup:
      kubernetes: 设置Kubernetes

notifierPage:
  notifiers: 通知
  testedBtnLabel: OK
  testingBtnLabel: 测试
  deleteErrorMessage: '通知程序{displayName}正在由{alertNames}使用'
  notifierTypes:
    slack: Slack
    email: 电子邮箱
    pagerduty: PagerDuty
    webhook: Webhook
    wechat: 企业微信
  slack:
    url: 访问URL
    urlPlaceholder: '例如: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'
    defaultRecipient:
      label: 默认频道
      helpText: 可选。默认情况下，通知被发送到默认频道。在配置告警时，可以覆盖该频道。
    defaultRecipientPlaceholder: '例如: #example'
    helpText: |
      以下是<a href="https://slack.com/apps/A0F7XDUAZ-incoming-webhooks" target="_blank" rel="nofollow noopener noreferrer">创建传入WebHooks</a>的方法。

  smtp:
    server: Smtp服务器配置
    host: Smtp服务器地址
    hostPlaceholder: '例如: 192.168.1.121'
    port: 端口
    portPlaceholder: '例如: 465'
    sender: 默认发件箱
    userName: 用户名
    userNamePlaceholder: '例如: John'
    password: 密码
    passwordPlaceholder: 账号的密码
    defaultRecipient:
      label: 默认收件人地址
      helpText: 在配置告警时，可以覆盖收件人。
    defaultRecipientPlaceholder: '例如: you@example.com'
    tls: 使用TLS
  pagerduty:
    serviceKey:
      label: 默认服务密匙
      helpText: 在配置告警时，可以覆盖服务密匙。
    serviceKeyPlaceholder: 您的PagerDuty服务密匙。
    helpText: |
      以下是<a href="https://support.pagerduty.com/docs/webhooks">为PagerDuty创建传入WebHooks</a>的方法。

  wechat:
    recipientType:
      label: 接收者类型
      tag: 标签
      party: 部门
      user: 用户
    secret:
      label: 自建应用密钥
      helpText: 您可以在<a href="https://work.weixin.qq.com/wework_admin/frame#apps" target="_blank" rel="nofollow noopener noreferrer">自建应用详情页</a>找到Secret。
    agent:
      label: 自建应用代理 ID
      helpText: 您可以在<a href="https://work.weixin.qq.com/wework_admin/frame#apps" target="_blank" rel="nofollow noopener noreferrer">自建应用详情页</a>找到Agent Id。
    corp:
      label: 企业 ID
      helpText: |
        点击<a href="https://work.weixin.qq.com/wework_admin/frame#profile" target="_blank" rel="nofollow noopener noreferrer">这里</a>查看企业 ID。
    defaultRecipient:
      label: 默认接收者
    secretPlaceholder: 您的自建应用密钥
    agentPlaceholder: '例如: 1000003'
    corpPlaceholder: '例如: wwc0cc3d58f9b021b6'
    defaultRecipientPlaceholder: '例如: 2'

  webhook:
    url: URL
    urlPlaceholder: webhook URL
  testAction:
    testing: 测试
    testOk: 设置已验证
    testFailed: 出了点问题，请检查输入的信息。
    test: 测试
  clone: 克隆
  index:
    addActionLabel: 添加通知
    table:
      created: 创建时间
      noData: 没有定义通知
      noMatch: 不匹配
##############################
# Partials
##############################
ldap:
  providerName:
    openldap: OpenLDAP
    ad: Active Directory
    freeipa: FreeIPA
    saveLabels:
      openldap: 启用OpenLDAP认证
      ad: 启用Active Directory认证
      freeipa: 启用FreeIPA认证
  header:
    disabled:
      label: "{providerName}未设置"
  accessEnabled:
    header: 验证
    subtext: "如需修改服务器配置，请在下方关闭访问控制后重新设置"
    serviceAccountDistinguishedName:
      labelText: "服务帐户专有名称:"
    connectionTimeout:
      labelText: "服务连接超时:"
    general:
      header: 常规
      server: "服务器:"
      tls: "TLS:"
      serviceAccount: "服务账号:"
      searchBase: "搜索起点:"
      defaultDomain: "缺省域:"
    users:
      header: 用户
      objectClass: "对象分类:"
      login: "登录字段:"
      name: "名称字段:"
      search: "搜索字段:"
      searchFilter: "搜索过滤器:"
      enabled: "启用字段:"
      disabledBitMask: "禁用位掩码:"
    group:
      header: 组
      objectClass: "对象分类:"
      name: "名称字段:"
      search: "搜索字段:"
      searchFilter: "搜索过滤器:"
    disable:
      confirmDisable:
        pre: 关闭访问控制
  accessConfig:
    header: "1. 配置{providerName}服务器"
    subtext1: "请输入地址、端口及协议以连接{providerName}服务器。<code>389</code>是标准端口(未加密)，<code>636</code>是加密连接(TLS)端口。"
    subtext2: "{appName}需要对所有登录域有只读权限的服务账号。"
    port:
      labelText: 端口
      checkbox: TLS
    groupSearchBase:
      labelText: '用户组搜索起点:'
      placeholder: "例如: ou=Groups,dc=Mycompany,dc=com"
      helpText: "设置后，会在此搜索起点下搜索用户组，而不会在用户搜索起点下搜索用户组。"
    userSearchBase:
      labelText: 用户搜索起点
      placeholder: "例如: ou=Users,dc=Mycompany,dc=com"
    defaultDomain:
      helpText: "当用户未指定登录域时使用该域"
      labelText: 默认登录域
      placeholder: "例如: Mycompany"
    serviceAccountDistinguishedName:
      labelText: 服务帐户专有名称
    connectionTimeout:
      labelText: 服务连接超时
  customizeSchema:
    header: "2. 自定义架构"
    helpText: "如果活动目录架构(Schema)不是标准格式，可以在这里进行自定义设置。"
    cert:
      labelText: CA证书
      helpText: 如果需要，请输入CA证书
      placeholder: "粘贴或导入证书，以-----BEGIN CERTIFICATE-----开头。"
    users:
      header: 用户
      objectClass:
        labelText: 对象类型
      login:
        labelText: 登录属性
      name:
        labelText: 用户名属性
      search:
        labelText: 搜索属性
      searchFilter:
        labelText: 搜索过滤器
      searchBase:
        labelText: '用户搜索起点:'
      enabledAttribute:
        labelText: 用户启用的属性
      disabledBitMask:
        labelText: 禁用状态位掩码
      userMemberAttribute:
        labelText: 用户成员属性
    groups:
      header: 组
      objectClass:
        labelText: 对象分类
      name:
        labelText: 名称属性
      search:
        labelText: 搜索属性
      searchFilter:
        labelText: 搜索过滤器
      groupMemberUser:
        labelText: 组成员用户属性
        placeholder: uid
      groupMemberMapping:
        labelText: 组成员映射属性
      groupDN:
        labelText: 组DN属性
        placeholder: 专有名称
      nestedGroup:
        title: 嵌套的组成员
        enabled:
          labelText: 搜索直接和嵌套的组成员关系
          helpText: 嵌套搜索在大目录中可能会比较慢
        disabled:
          labelText: 只搜索直接的组成员关系
  testAuth:
    header: "3. 测试并启用认证"
    helpText: "通过{providerName}账号进行验证测试以确认配置是否正确:"
    userName:
      labelText: 用户名
    password:
      labelText: 密码
    authenticate:
      pre: 验证
      post: "测试中..."

servicePartial:
  noContainers:
    label: 没有容器
    inactive:
      start: 启动

##############################
# Components
##############################
accordionRow:
  status:
    none: 无
    incomplete: 未完成
    error: 错误
    notConfigured: 未配置
    configured: 已配置
    countConfigured: "{count}条规则已配置"
    standard: 默认
    custom: 自定义
    specific: 具体
    any: 任何
    rule: "{count, plural,=1{#条规则}other{#条规则}}"

advancedSection:
  showText: 显示高级选项
  hideText: 隐藏高级选项

annotationsSection:
  title: 注释
  detail: Key/value元数据
  key: 键
  value: 值
  noData: 没有注释
  noMatch: 没有符合当前搜索的注释

authorizedEndpoint:
  enabled:
    label: '授权集群访问地址(此地址需要能够访问k8s api-server，在Rancher不可用时，可通过此地址直接访问k8s)'
  fqdn:
    label: FQDN(域名，后面的证书为CA证书 → )

taintsSection:
  title: Taints
  detail: 当前主机的Taints
  key: 键
  value: 值
  effect: 影响
  noData: 没有Taints
  noMatch: 没有符合当前搜索的Taints

billingInfo:
  header: 账单信息
  addNew: 添加支付方式
  card: "{brand}: ...{last}"
  noSub: 您尚无可用的付款方式
  table:
    title:
      cardType: "信用卡类型: {brand}"
      last4: "卡号末4位: {last}"
      exp: "有效期: {exp}"
      name: "持卡人姓名: {name}"
      actions: 操作

cloudProvider:
  title: 云提供商
  amazon: Amazon
  azure: Azure
  name: 云提供商名称
  custom:
    notInList: '如果云提供商没有列出，请使用<b>自定义</b>选项。'
    helpText: '请通过编辑YAML来添加其他<a href="http://rancher.com/docs/rke/v0.1.x/en/config-options/cloud-providers/" target="_blank" rel="nofollow noopener noreferrer">云提供商</a>'

  helpText: |
    详细了解<a href="https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/" target="_blank" rel="nofollow noopener noreferrer">云提供商</a>
  warning:
    使用云提供程序而不传递云提供程序配置可能会导致集群无法正确配置，推荐您在创建集群之前添加云提供程序配置，文档中可以找到支持的云提供商所需的先决条件。
  azureCloudConfig:
    cloudProviderBackoff:
      description: "Enable exponential backoff to manage resource request retries"
    cloudProviderBackoffDuration:
      description: "Backoff duration"
    cloudProviderBackoffExponent:
      description: "Backoff exponent"
    cloudProviderBackoffJitter:
      description: "Backoff jitter"
    cloudProviderBackoffRetries:
      description: "Backoff retry limit"
    cloudProviderRateLimit:
      description: "启用速率限制"
    cloudProviderRateLimitBucket:
      description: "Rate limit Bucket Size"
    cloudProviderRateLimitQPS:
      description: "Rate limit QPS (Read)"
    maximumLoadBalancerRuleCount:
      description: "允许最大的负载均衡器规则计数是Azure负载均衡器执行的限制"
    useInstanceMetadata:
      description: "尽可能使用实例元数据服务"
    useManagedIdentityExtension:
      description: "为虚拟机使用托管服务标识来访问Azure ARM API"
    aadClientCertPassword:
      description: "具有RBAC访问权限的AAD应用程序的客户端证书密码，用来与Azure RM API通信"
    aadClientCertPath:
      description: "具有RBAC访问权限的AAD应用程序的客户端证书路径，用来与Azure RM API进行通信"
    aadClientId:
      description: "具有RBAC访问权限的AAD应用程序的Client ID，用于与Azure RM API通信"
    aadClientSecret:
      description: "具有RBAC访问权限的AAD应用程序的Client Secret key,用于与Azure RM API通信"
    cloud:
      description: "云环境标识符，请参阅此处了解有效参数"
    location:
      description: "部署集群的资源组位置"
    primaryAvailabilitySetName:
      description: "应用作负载均衡器后端的可用性集的名称"
    primaryScaleSetName:
      description: "应该用作负载均衡器后端的缩放集的名称"
    resourceGroup:
      description: "部署集群的资源组名称"
    routeTableName:
      description: "附加到部署集群的子网的路由表名称"
    securityGroupName:
      description: "附加到集群子网的安全组名称"
    subnetName:
      description: "部署集群的子网名称"
    subscriptionId:
      description: "部署集群的Azure订阅的ID"
    tenantId:
      description: "部署集群订阅的AAD租户ID"
    vmType:
      description: "azure节点类型，可选值为: vmss和standard"
    vnetName:
      description: "集群部署在VNet中的名称"
    vnetResourceGroup:
      description: "部署Vnet的资源组的名称"

catalogSettings:
  header: 应用商店
  notAvailable: "不可用: 这是名为<code>{name}</code>的自定义商店"
  helpText: 目前只支持Helm目录
  currentCluster: 当前集群
  currentProject: 当前项目
  globalCatalog: 全局
  library:
    label: 官方认证
    detail: 由{appName}官方维护的模板仓库。
  helm:
    stable:
      label: Helm Stable
      detail: 由Kubernetes社区维护的模板仓库。
    incubator:
      label:  Helm Incubator
      detail: 未经测试验证的应用模板仓库。
  certified:
    header:
      rancher: "{appName}认证库"
      pl: 认证的库
    detail:
      rancher: 'Rancher核心功能所依赖的模板，例如: Kubernetes/Mesos/Swarm编排支持，由Rancher官方维护并提供支持。'
      pl: '由官方维护的核心功能所需要的模板，例如: Kubernetes/Mesos/Swarm等。'
  community:
    header:
      rancher: 社区贡献
      pl: 社区贡献
    detail:
      rancher: 由社区成员创建并维护的模板，未经Rancher Labs认证。
      pl: 由社区成员创建并维护的模板
  more:
    header: 自定义
    helpText:
      header: "您可以自定义应用商店，每个自定义商店需满足以下要求:"
      help-name: 唯一的名称
      help-repo: '仓库地址:'
      help-git: "基于Git的商店地址，例如: https://github.com/{appName}/charts.git。"
      help-chart: 'Helm Charts server URL，例如: https://kubernetes-charts.storage.googleapis.com/，详细信息可查看<a href="https://docs.helm.sh/developing_charts/#hosting-chart-repositories" target="_blank" rel="nofollow noopener noreferrer">Chart托管仓库</a>。'
    addActionLabel: 添加应用商店
    noMatch: 没有与当前搜索匹配的应用商店
    noData: 没有自定义应用商店
    addHeader: 添加应用商店
    editHeader: 编辑应用商店
    name:
      label: 名称
      placeholder: '例如: Mycatalog'
    url:
      label: 商店URL地址
    kind:
      label: 类型
      native: 原生
      helm: Helm
    branch:
      label: 分支
      placeholder: '例如: master'
    private:
      label: 使用私有应用商店
    username:
      label: 用户名
      required: '用户名必须填写'
      placeholder: "比如: admin"
    password:
      label: 密码
      required: '密码必须填写'
      placeholder:  password
  errors:
    nameInExists: '在启用{key}之前，请移除名称为{key}的应用商店。'
clusterRow:
  noMatch: 没有匹配当前搜索的环境。
  noData: 集群中还没有任何环境。
  noHosts: 外部集群没有任何主机
  noClusterMatch: 没有匹配当前搜索的集群。
  noClusterData: 没有任何集群。
  addHost: 添加主机...
  importCluster: 使用已有的Kubernetes
  loginDefault: 登录

clusterNew:
  advanced:
    helpText: 不要使用Tabs，Tabs字符在yaml中不能解析。
    cancel: 表单输入
    yaml: 编辑YAML
  name:
    label: 集群名称
    placeholder: '例如: Sandbox'
    required: 集群名称必须填写
  description:
    placeholder: '例如: 用于开发和测试工作负载的集群'
  driverLabels:
    cloud: Kubernetes托管服务商
    custom: 添加主机自建Kubernetes集群
    import: 导入现有的Kubernetes集群
    infra: 来自云服务商提供的主机
    noCloud: 没有启用集群驱动程序。
    noInfra: 没有启用主机驱动程序。
  externalError: '无法加载组件。检查URL。'
  members:
    label: 成员角色
    detail: 控制哪些用户可以访问集群，以及他们拥有的对其进行更改的权限。
  config:
    label: 供应商
    detail: 选择集群主机的来源
  nodes:
    title: 主机
    detail: 自定义将要创建的主机
  customize:
    title: 集群选项
    detail: 自定义将要创建的集群
  security:
    title: 安全
    detail: 自定义GKE服务账号和访问权限
  psp:
    label: 默认的Pod安全策略
    prompt: 选择Pod安全策略...
    none: 没有定义策略
    required: 启用时需要设置默认Pod安全策略
  amazoneks:
    label: AWS的基于Kubernetes的弹性容器服务
    shortLabel: Amazon EKS
    ingressWarning: "注意:目前Amazon EKS不会在启动新的集群时创建传入控制器。如果需要此功能，则必须在集群创建后手动创建一个传入控制器。"
    access:
      title: 账户访问
      detail: 选择将用于启动Amazon EKS的区域和API密钥
  tencenttke:
    label: 腾讯云Kubernetes服务
    shortLabel: Tencent TKE
    access:
      next: "下一步: 配置集群"
      loading: "从腾讯云获取VPC信息"
      title: 账户认证
      detail: 选择腾讯云Kubernetes服务所使用的区域
    cluster:
      title: 集群配置
      detail: 选择腾讯云Kubernetes服务中使用的VPC和版本
      next: "下一步: 选择主机类型"
      loading: "从腾讯云获取可用区信息"
    node:
      title: 主机类型
      detail: 选择腾讯云Kubernetes服务中使用的主机类型
      next: "下一步: 配置节点"
      loading: "从腾讯云获取节点配置信息"
    instance:
      title: 节点配置
      detail: 配置腾讯云Kubernetes服务中的节点
    subnet:
      label: 子网
      required: 请选择子网
    os:
      label: 操作系统
    disk:
      basic: 本地硬盘
      ssd: 本地SSD硬盘
      cloudBasic: 普通云硬盘
      cloudPremium: 高性能云硬盘
      cloudSsd: SSD云硬盘
    rootSize:
      label: 系统盘大小
      placeholder: '例如: 25'
    rootType:
      label: 系统盘类型
    storageType:
      label: 数据盘类型
    storageSize:
      label: 数据盘大小
      placeholder: '例如: 10'
    bandwidth:
      label: 带宽
      placeholder: '例如: 10'
    nodeCount:
      label: 节点数量
      placeholder: '例如: 3'
      required: 请输入节点数量
      help: 将要创建的腾讯云Kubernetes服务中所含有的节点数量
    bandwidthType:
      label: 带宽类型
      hour: 按带宽使用时长计费
      traffic: 按流量计费
    keyPair:
      label: 密钥
      required: 请选择密钥
    region:
      label: 区域
    secretId:
      label: 密钥ID
      placeholder: 您的腾讯云API密钥ID
      required: 请输入密钥ID
    secretKey:
      label: 密钥
      placeholder: 您的腾讯云API密钥
      provided: 已提供
      required: 请输入密钥
    securityGroup:
      label: 安全组
      required: 请选择安全组
    vpc:
      label: VPC
      required: 请选择VPC
    version:
      label: Kubernetes版本
    cidr:
      label: 容器网络 CIDR
      placeholder: '例如: 172.16.0.0/16'
      required: 请输入容器网络的CIDR
    zone:
      label: 可用区
      required: 请选择可用区
    instanceType:
      label: 实例类型
      required: 请选择实例类型
  azureaks:
    label: Azure容器服务
    shortLabel: Azure AKS
    ingressWarning: "注意:目前Azure AKS在启动新集群时不会创建一个传入控制器。如果需要此功能，则必须在集群创建后手动创建一个传入控制器。"
    authenticate:
      next: "下一步: 认证 & 配置主机"
    access:
      title: 账户访问
      detail: 配置用于与Azure通讯的凭据
      help: '参考<a href="https://docs.microsoft.com/en-us/azure/aks/kubernetes-service-principal" target="_blank">链接文档</a>创建客户端 ID和秘钥。'
    placement:
      label: 位置
    count:
      label: 主机数量
      placeholder: "例如: 1"
    location:
      label: 位置
      prompt: 选择位置...
    accountAccessSection:
      label: 账户访问
    subscriptionId:
      label: 订阅 ID
      placeholder: Azure订阅 ID
    machineType:
      label: VM规格
      prompt: 选择规格...
    diskSizeGb:
      label: OS磁盘大小
      placeholder: "例如: 100"
    dns:
      label: DNS前缀
      placeholder: "例如: example"
    ssh:
      label: 公共密钥
    security:
      label: 安全
    members:
      label: 成员角色
    pod:
      label: Pod安全策略
    kubernetesVersion:
      label: Kubernetes版本
      prompt: 选择版本...
    admin:
      label: 管理员名称
      placeholder: user-1
    tenant:
      label: 租户ID
      placeholder: Azure租户 ID
    image:
      label: 镜像
      placeholder: '推荐: UbuntuServer:16.04.0-LTS:latest'
    size:
      label: 规格
    dockerPort:
      label: Docker端口
      placeholder: '2376'
    publishSettingsFile:
      label: 发布配置
      placeholder: 发布配置文件
    environment:
      label: 环境
    resourceGroup:
      label: 资源组
      placeholder: 'docker-machine'
      helpText: "使用已有的资源组或者输入新的资源组名称。注意: 如果使用的资源组内已经存有AKS集群的话，将会创建新的资源组,Azure AKS只允许一个资源组有一个AKS集群。"
    networking:
      label: 网络
      default: 默认
      advanced: 高级
      vnet:
        label: 虚拟网络-子网(子网CIDR)
        prompt: '选择虚拟网络/子网'
      vnetresourcegroup:
        label: 虚拟网络资源组
        prompt: 请选择虚拟网络
        help:  The Resource Group if your Virtual Network does not exist in the same Resource Group as your cluster.
      subnet:
        label: 子网
      serviceCidr:
        label: Kubernetes Service IP范围
        help: "CIDR表示用于分配给service cluster的IP范围，它不得与任何子网IP范围相同。例如: 10.0.0.0/16."
        prompt: "10.43.0.0/16"
      dnsServiceIp:
        label: Kubernetes DNS服务IP地址
        help: "分配给Kubernetes DNS服务的IP地址，它必须在Kubernetes服务地址范围内。例如: 10.0.0.10."
        placeholder: "例如: 10.0.0.10"
      dockerBridgeCidr:
        label: Docker bridge地址
        help: '分配给Docker Bridge的IP地址和网络掩码，它不能位于任何子网IP范围或Kubernetes服务地址范围内。例如: 172.17.0.1/16.'
        placeholder: "例如: 172.17.0.1/16"
    sshUser:
      label: SSH用户
      placeholder: usr1
    storageType:
      label: 存储类型
    vnet:
      label: VNet
      placeholder: '[resourcegroup:]名称'
    subnet:
      label: 子网
      placeholder: 示例-子网名称
    subnetPrefix:
      label: 子网Prefix
      placeholder: '128.42.0.0/21'
    availabilitySet:
      label: 可用性集
      placeholder: 可用集名称
    openPort:
      label: 开放端口
      placeholder: '逗号分隔，例如: 80,443'
    privateIpAddress:
      label: 私有IP
      placeholder: '127.0.0.1'
    usePrivateIp:
      label: 使用私有IP连接
    staticPublicIp:
      label: 公网 IP
    noPublicIp:
      label: 无公网 IP
    clientId:
      label: 客户端 ID
      placeholder: 客户端 ID
    clientSecret:
      label: 客户端秘钥
      placeholder: 客户端秘钥
    region:
      label: 区域
    enableHttpApplicationRouting:
      label: HTTP应用程序路由
    enableMonitoring:
      label: 监控
    networkPolicy:
      label: 网络策略
      placeholder: 选择网络策略
    tags:
      label: 标签
      addActionLabel: 添加标签
    errors:
      included:
        serviceCidr: 'Kubernetes服务地址范围必须是有效的CIDR格式。'
        dnsServiceIp: 'Kubernetes DNS服务IP地址必须是有效的IP地址。'
        dockerBridgeCidr: 'Docker bridge地址必须是有效的CIDR格式。'
        parsedServiceCidr: 'Kubernetes服务地址范围必须在选定的虚拟网络范围内。'
        parsedDnsServiceIp: 'Kubernetes DNS服务IP地址必须在Kubernetes服务地址范围内。'
        parsedDockerBridgeCidr: 'Docker bridge地址不能与选定的虚拟网络或Kubernetes服务地址相同'

  aliyunkcs:
    label: Aliyun Kubernetes Container Service
    shortLabel: Alibaba ACK
    access:
      next: "下一步: 配置集群"
      loading: "从Alibaba ACK加载可用区域"
      title: 帐户访问
      detail: 选择将用于启动阿里巴巴Kubernetes服务的地区和API密钥
    cluster:
      title: 集群配置
      detail: 选择将用于启动阿里巴巴Kubernetes服务的区域和Kubernetes版本
      next: "下一步: 配置Master节点"
      loading: "从Alibaba加载可用区域"
    clusters:
      k8s: Kubernetes
      managed: 管理 Kubernetes
      label: Cluster 类型
    master:
      title: Master 节点
      detail: 配置用于启动阿里巴巴Kubernetes服务的主节点
      next: "下一步: 配置Worker节点"
      loading: "从阿里巴巴加载密钥对"
    worker:
      title: Worker 节点
      detail: 配置用于启动阿里巴巴Kubernetes服务的工作节点
    disk:
      efficiency: Ultra Disk
      ssd: SSD Disk
    rootSize:
      label: 根磁盘大小
      placeholder: '例如: 120'
    rootType:
      label: 根磁盘类型
    storageType:
      label: 数据磁盘类型
    storageSize:
      label: 数据磁盘大小
      placeholder: '例如: 120'
    masterNum:
      label: Master 节点数
      help: 此Kubernetes集群将运行的Master节点数
    numOfNodes:
      label: Worker 节点数
      placeholder: '例如: 3'
      required: 必须设置Worker节点
      help: 此Kubernetes集群将运行的Worker节点数
    keyPair:
      label: 密钥对
      required: 必须选择密钥对
    regionId:
      label: 区域
    accessKeyId:
      label: Access Key
      placeholder: Your Aliyun access key
      required: Access Key is required
    accessKeySecret:
      label: Secret Key
      placeholder: Your Aliyun secret key
      provided: Provided
      required: Secret Key is required
    version:
      label: Kubernetes Version
    zoneId:
      label: 可用区域
      required: 可用区域必须设置
    instanceType:
      label: 实例类型
      required: 实例类型必须设置
  googlegke:
    label: Google Kubernetes 引擎
    shortLabel: Google GKE
    checkServiceAccount: "下一步: 配置主机"
    checkingServiceAccount: 认证
    credential:
      label: 服务账号
      placeholder: 服务帐号私钥JSON文件
      configured: 为{project}项目配置
      helpText: |
        "创建拥有JSON私钥的<a href="https://console.cloud.google.com/projectselector/iam-admin/serviceaccounts" target="_blank" rel="nofollow noopener noreferrer">Service Account</a>，并在此处提供JSON。有关创建服务帐户的更多信息，请参阅<a href="https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances" target="_blank" rel="nofollow noopener noreferrer">Google Cloud文档</a> 。需要四个IAM角色: Compute Viewer (<code>roles/compute.viewer</code>)，(Project) Viewer (<code>roles/viewer</code>)，Kubernetes Engine Admin (<code>roles/container.admin</code>)和Service Account User (<code>roles/iam.serviceAccountUser</code>)，更多关于角色的信息可在<a href="https://cloud.google.com/kubernetes-engine/docs/how-to/iam-integration" target="_blank" rel="nofollow noopener noreferrer">此处</a>找到。<a href="https://cloud.google.com/kubernetes-engine/docs/how-to/iam-integration" target="_blank" rel="nofollow noopener noreferrer">"
    zone:
      label: 区域
      prompt: 选择区域...
    project:
      label: 项目
      placeholder: '例如: My-project'
    machineType:
      label: 虚拟机类型
      prompt: 选择类型...
    nodeCount:
      label: 主机数量
      prompt: 选择类型...
    diskSizeGb:
      label: 根磁盘大小
    masterVersion:
      label: Kubernetes版本
      prompt: 选择版本...
      warning: 当您用GKE升级Kubernetes版本时，只有主master节点会被升级。如果您也想升级worker节点，则需要通过谷歌云平台手动升级。
    clusterIpv4Cidr:
      label: 容器地址范围
      placeholder: '例如: 10.42.0.0/16'
    alphaFeatures:
      label: Alpha功能
    legacyAuth:
      label: 废弃的认证
    stackDriverLogging:
      label: Stackdriver日志
    stackdriverMonitor:
      label: Stackdriver监控
    dashboard:
      label: Kubernetes仪表盘
    httpLB:
      label: Http负载均衡
    maintenanceWindow:
      label: 维护窗口
    enableHorizontalPodAutoscaling:
      label: Pod自动横向伸缩
    enableNodepoolAutoscaling:
      label: 节点池自动横向伸缩
    minNodeCount:
      label: 最小节点数
      required: 最小节点数必须填写
    maxNodeCount:
      label: 最大节点数
      minError: 最大节点数应大于最小节点数
      required: 最大节点数必须填写
    masterAuthUsername:
      label: 主节点认证用户名
      placeholder: 主节点认证用户名
      required: 主节点认证用户名必须填写
    masterAuthPassword:
      label: 主节点认证密码
      placeholder: 主节点认证密码
      required: 主节点认证密码必须填写
    issueClientCertificate:
      label: 主节点认证
    enableMasterAuthorizedNetwork:
      label: 主节点认证网络
    enablePrivateEndpoint:
      label: 使用内部IP地址访问主节点
    enablePrivateNodes:
      label: 专用集群
    masterIpv4CidrBlock:
      label: Master IP范围
      placeholder: '例如: 10.42.0.0/28'
    useIpAliases:
      label: 使用Ip别名
    ipPolicySubnetworkName:
      label: 子网名称
      placeholder: Your Subnetwork Name
    ipPolicyCreateSubnetwork:
      label: 创建子网
    ipPolicyClusterSecondaryRangeName:
      label: Cluster Secondary Range Name
      placeholder: Your Cluster Secondary Range Name
    ipPolicyServicesSecondaryRangeName:
      label: Services Secondary Range Name
      placeholder: Your Services Secondary Range Name
    ipPolicyClusterIpv4CidrBlock:
      label: Pod地址范围
      placeholder: '例如: 10.96.0.0/11'
    ipPolicyNodeIpv4CidrBlock:
      label: Node Ipv4 CIDR Block
      placeholder: Your Node Ipv4 CIDR Block
    masterAuthorizedNetworkCidrBlocks:
      label: Master Authorized Network CIDR Blocks
      placeholder: Your Master Authorized Network CIDR Blocks
      addActionLabel: Add CIDR Block
    ipPolicyServicesIpv4CidrBlock:
      label: 服务地址范围
      placeholder: '例如: 10.94.0.0/18'
    header:
      iPAllocationPolicy: IP分配策略
      privateCluster: Private Cluster
      masteAuth: Master Auth
      nodePoolAutoscaling: 主机池自动伸缩
      masterAuthorizedNetwork: Master Authorized Network
    locations:
      label: 附加区域
    imageType:
      label: Image Type
      UBUNTU: Ubuntu
      COS: Container-Optimized OS
    network:
      label: 网络
    subNetwork:
      label: 主机子网
    nodeLabels:
      label: 主机标签
      addAction: 添加标签
    clusterLabels:
      label: 集群标签
    localSsdCount:
      label: 本地 SSD 磁盘数量
    diskType:
      label: 根磁盘类型
      pd-standard: 标准持久磁盘
      pd-ssd: SSD持久磁盘
    preemptible:
      label: 可抢占的节点（测试版）
    enableAutoUpgrade:
      label: 自动升级
    enableAutoRepair:
      label: 自动修复
    serviceAccount:
      label: 服务帐号
    oauthScopes:
      label: 访问权限范围
      default: 允许默认访问权限
      full: 允许所有Cloud API的全面访问权限
      custom: 针对每个API设置访问权限
    userInfo:
      label: 用户信息
    computeEngine:
      label: Compute Engine
    storage:
      label: 存储
    taskQueue:
      label: 任务队列
    bigQuery:
      label: BigQuery
    cloudSQL:
      label: Cloud SQL
    cloudDatastore:
      label: Cloud Datastore
    stackdriverLoggingAPI:
      label: Stackdriver Logging API
    stackdriverMonitoringAPI:
      label: Stackdriver Monitoring API
    cloudPlatform:
      label: 云平台
    bigtableData:
      label: Bigtable 数据
    bigtableAdmin:
      label: Bigtable 管理员
    cloudPub:
      label: Cloud Pub/Sub
    serviceControl:
      label: 服务控制
    serviceManagement:
      label: 服务管理
    stackdriverTrace:
      label: Stackdriver Trace
    cloudSourceRepositories:
      label: Cloud Source Repositories
    cloudDebugger:
      label: 云调试器
    taints:
      label: 污点
      addAction: 添加污点
      effect:
        label: Effect
      key:
        label: 键
        placeholder: Key
      value:
        label: 值
        placeholder: Value
      required: '污点的 "key"和"value"必须设置.'
    tablesOnly: Tables Only
  huaweicce:
    label: 华为云容器引擎
    shortLabel: Huawei CCE
    name:
      label: 集群名称
      required: 集群名称必须填写
    access:
      title: Account Access
      detail: 选择用于启动华为云容器引擎的区域和API KEY。
    accessKey:
      label: 访问密钥ID
      placeholder: CCE访问密钥ID
      help: 创建访问密钥ID参考<a href="https://support.huaweicloud.com/usermanual-ca/zh-cn_topic_0046606340.html" target="_blank">这里</a>.
    secretKey:
      label: 访问密钥
      placeholder: CCE访问密钥
      help: 获取访问密钥参考<a href="https://support.huaweicloud.com/usermanual-ca/zh-cn_topic_0046606340.html" target="_blank">这里</a>.
    projectId:
      label: 项目ID
      placeholder: CCE项目ID
      help: 获取项目ID参考<a href="https://support.huaweicloud.com/usermanual-ca/zh-cn_topic_0046606344.html" target="_blank">这里</a>.
      required: 项目ID必须填写
    region:
      label: 区域
      helpText: 获取区域参考<a href="https://developer.huaweicloud.com/endpoint" target="_blank">这里</a>.
      required: 区域必须填写
    business:
      label: 业务
    checkAccount: "下一步: 配置集群"
    checkingAccount: 用户校验中...
    configureNode: "下一步: 配置节点"
    configuringNode: 配置中...
    clusterOption:
      title: 集群选项
      detail: 为集群自定义Kubernetes选项
    clusterType:
      label: 集群类型
    clusterFlavor:
      label: Cluster Flavor
    masterVersion:
      label: 版本
    vpcId:
      label: 虚拟私有云
    subnetId:
      label: 所在子网
      none: 无可用子网
    highwaySubnet:
      label: 高速网卡
      placeholder: 高速子网
      none: 没有高速子网被使用
    nodeOption:
      title: 节点选项
      detail: 为节点自定义选项
    dataVolumeType:
      label: 数据盘类型
    dataVolumeSize:
      label: 数据盘大小
    description:
      label: 描述
      placeholder: '例如: 华为CCE集群'
    eipBandwidthSize:
      label: 带宽
    eipChargeMode:
      label: 计费模式
    eipCount:
      label: 数量
    availableZone:
      label: 当前区域
    billingMode:
      label: 计费模式
      payPerUse: 按需计费
      yearly: 包年/包月
    containerNetworkCidr:
      label: 容器网段
      placeholder: '例如: 172.16.0.0/16'
    containerNetworkMode:
      label: 网络模型
      none: 无配置
    rootVolumeType:
      label: 系统盘类型
    rootVolumeSize:
      label: 系统盘大小
    nodeCount:
      label: 节点个数
    nodeFlavor:
      label: 	节点规格
    ssh:
      label: 密钥对
    eip:
      label: 弹性IP
    eipSelection:
      none: 暂不使用
      new: 创建新的
      exist: 使用已有
    eipIds:
      label: 弹性 IP
      none: 无可用弹性 IP
    eipType:
      label: Eip Type
    clusterLabels:
      label: 集群标签
      none: 无标签
    nodeLabels:
      label: 主机标签
    clusterEipId:
      label: Cluster Eip
      prompt: 选择Eip...
    externalServerEnabled:
      label: 外部服务器
      enabled: 启用 - 只支持内网
      disabled: 禁用 - CCE集群将部署在Rancher所在的VPC
    highAvailability:
      label: 高可用
    managementScale:
      label: 集群管理规模
    nodeOperationSystem:
      label: 操作系统
    authenticatingProxyCa:
      label: 	CA根证书
    validityPeriod:
      label: 有效期
    bmsIsAutoRenew:
      label: 自动更新
    loginMode:
      label: 登录方式
      password: 密码
      keyPair: 密钥对
    password:
      label: 密码
      placeholder: 请输入密码
    userName:
      label: 用户名
    authentiactionMode:
      label: 认证模式
      rbac: RBAC
      authenticating_proxy: 认证代理
    eipShareType:
      label: 共享Eip类型
  rke:
    etcd:
      enabled:
        label: Etcd快照轮换
      backupConfig:
        legacy: "当前集群配置了废弃的ectd快照设置。新的设置将创建时间和保留持续时间替换为更简单的创建时间(以小时和保留计数为单位)。系统已自动迁移了您的创建周期，保留计数已配置为默认的6个备份(当前保留时间:{duration})，如果您不介意这个设置，那不需要进一步的操作，您也可以在高级设置中更改此设置。"
        retention:
          label: 快照副本数
          placeholder: "12"
        interval:
          label: 快照创建周期
          placeholder: "6"
        bucketName:
          label: S3 Bucket Name
          placeholder: "backups"
        region:
          label: S3 Region
          placeholder: "us-west-2"
        endpoint:
          label: S3 Region Endpoint
          placeholder: "s3.us-west-2.amazonaws.com"
        accessKey:
          label: Access Key
          placeholder: Your AWS access key
        secretKey:
          label: Secret Key
          placeholder: Your AWS secret key
          provided: Provided
      location:
        label: Etcd快照存储
        s3:
          label: s3
          help: 'Etcd将在本地生成快照，随后将快照备份到s3存储。'
        local:
          label: local
          help: Etcd快照只存在本地，不执行外部备份
      heartbeat:
        label: Etcd心跳间隔时间
        placeholder: 心跳间隔时间
      election:
        label: Etcd选举超时时间
        placeholder: 选举超时时间
      snapshot:
        label: Etcd快照轮换
      retention:
        label: Etcd快照有效期
        placeholder: "12h"
        help: "可用的时间单位: h, m, s"
      creation:
        label: 快照创建周期
        placeholder: "6h"
      error: "快照{type}周期错误: 必须指定一个时间值和时间单位(s、m、h)，当前输入{entry}"
    nodeName:
      title: 节点名称
      detail: (可选)自定义节点显示的名称，不显示实际的主机名
      placeholder: '例如: My-worker-node'
    address:
      title: 主机地址
      detail: 为主机配置公网地址和内网地址, 如果为VPC网络的云服务器，如果不指定公网地址节点将无法获取到对应公网IP。
      warning: 这似乎不是有效的IP地址
      public:
        label: 公网地址
        placeholder: '例如: 1.2.3.4'
      private:
        label: 内网地址
        placeholder: '例如: 1.2.3.4'
    label: '{appName}Kubernetes引擎'
    shortLabel: 自定义
    customize:
      label: 集群选项
      detail: "自定义Kubernetes集群选项"
    labels:
      title: 主机标签
      detail: 应用于节点的可选标签
    nodes:
      title: 主机池
      detail: 配置组成集群的主机
      add: 添加主机池
      addTemplate: 添加主机模板
      templatePrompt: "选择模板..."
      hostnamePrefix: 名称前缀
      count: 数量
      template: 模板
    detected: |
      {count, plural,
      =1{#台新主机注册成功}
      other{#台新主机注册成功}
      }
    done: 完成
    info:
      text: 编辑主机选项将更新主机注册命令
    command:
      instructions: '复制以下命令在主机的SSH终端运行。'
      winInstructions: '在一台或者多台运行了受支持的Docker版本的主机上运行<code>CMD</code>命令，并且windows server版本大于<code class="code-version">{version}</code>.'
    auth:
      label: 认证提供者
      x509: x509
    serviceNodePortRange:
      label: NodePort端口范围
      placeholder: '例如: 30000-32767'
    network:
      title: 网络驱动
      detail: 为集群配置网络驱动
      label: 网络组件
      flannel: Flannel
      flannelCustom: Flannel
      calico: Calico
      canal: Canal
      weave: Weave
      options:
        flannel:
          iface:
            label: 接口
        canal:
          iface:
            label: 接口
        calico:
          cloudProvider:
            label: 云提供商
      type:
        info: '仅支持host-gw后端'
    ingress:
      label: Nginx Ingress
    monitoring:
      label: 服务监控指标
    networkPolicy:
      label: 项目网络隔离
    version:
      label: Kubernetes版本
    registry:
      label: 从以下仓库拉取Kubernetes镜像
      default: 默认的镜像仓库(DockerHub)
      custom: "自定义镜像仓库"
      url:
        label: URL
        placeholder: '例如: quay.io'
      user:
        label: 用户名
      password:
        label: 密码
    ignoreDockerVersion:
      label: 主机Docker版本
      enabled: 允许不受支持的版本
      disabled: 需要支持的版本
    podSecurityPolicy:
      label: Pod安全策略(需先在全局下创建Pod策略)
    role:
      pageheader: 自定义主机运行命令
      sectionheader: 主机选项
      title: '角色选择(一台主机可以对应多个角色,每个集群至少需要一个Etcd角色、一个Control角色、一个Worker角色)'
      detail: '选择主机角色,端口放行请参考: https://rancher.com/docs/rancher/v2.x/en/installation/references/'
      header:
        etcd: Etcd
        controlplane: Control
        worker: Worker
      requirements:
        label: "所需的主机数: "
        etcd: 1,3或5
        controlplane: 1或更多
        worker: 1或更多
    kubeApi:
      label: Kube API
      ipRange: 服务集群IP范围
      podSecurityPolicy: Pod安全策略
    kubeController:
      label: Kube控制器
      cidr: 集群CIDR
      ipRange: 服务集群IP范围
    kubelet:
      label: Kubelet
      domain: 集群域
      dns: 集群DNS服务器
    warning:
      etcd:
        even: 设置{count}个etcd主机是对硬件的浪费，因为它不会增加仲裁，除非它是奇数。
        noEtcd: 至少需要一个etcd主机。
      aws:
        iam: '使用Amazon Cloud Provider时，应在节点模板中配置IAM角色名称'
    errors:
      etcd: 请选择1个，3个或5个主机用于etcd。
      controlPlane: 请至少选择一个用于management角色的主机。
      worker: 请至少选择一个用于worker角色的主机。
    dockerRootDir:
      placeholder: "{dir}是默认目录"
    system:
      title: 主机操作系统
      detail: 将添加到集群的主机的操作系统
      linux: Linux
      windows: Windows
    windowsSupport:
      label: Windows Support
      disabled: 不支持{plugin}网络驱动。
    advanced:
      label: 高级集群选项
      detail: 自定义高级选项
    authorizedEndpoint:
      title: 授权集群访问地址
      detail: "通过授权的集群访问地址与集群直接通信，绕过Rancher API代理。可以通过为集群生成kubeconfig来访问集群。"
      label: 授权集群访问地址
  custom:
    label: 自定义
    shortLabel: 自定义
  import:
    label: 已导入
    shortLabel: 已导入
    command:
      instructionsAdminRole: "<b>注意:</b><br/>如果想要导入Google Kubernetes Engine(GKE)集群(或一些不提供绑定集群管理角色的kubectl配置文件的集群),需要通过以下命令来绑定集群管理角色。<br/><br/>如果导入Google Kubernetes Engine集群，将<b>[USER_ACCOUNT]</b>替换为Google帐户（可使用<b>gcloud config get-value account</b>检索帐户）。<br/>如果未导入Google Kubernetes Engine集群，请将<b>[USER_ACCOUNT]</b>替换为kubectl配置文件中配置的执行用户。"
      instructions: "在现有受支持的Kubernetes集群中，运行下面的kubectl命令将其导入到{appName}中:"
      instructionsInsecure: "如果因为{appName}使用不受信任/自签名的SSL证书而出现<b> \"由未知颁发机构签名的证书\"</b> 错误，请运行下面的命令以绕过证书检查:"

conditionSections:
  title: 状态
  detail: '当前{resourceType}运行状态 '
  table:
    type: 类型
    status: 状态
    lastUpdate: 最后更新
    reason: 状态原因
    message: 消息
  noData: 没有条件
  noMatch: 没有条件与当前搜索匹配

resourceEventList:
  title: 事件
  detail: '当前{resourceType}的事件'
  table:
    type: 类型
    lastUpdate: 最后更新
    reason: 事件原因
    message: 事件信息
  noData: 当前没有事件
  noMatch: 没有事件与当前搜索匹配

confirmDelete:
  title: '是否确认要删除'
  environmentNote: '注意: 此环境内的所有资源都将被永久性的删除，包括通过{appName}创建的主机。'
  clusterNote: '注意: 在云平台中创建的关联资源(如卷，负载均衡器和网络)不会自动删除。'
  clusterRoleTemplateBindingNote: "注意: 此用户的权限直接添加到项目中将不会被删除."
  systemProjectNamespaceNote: '您正在删除系统项目下的命名空间。如果删除，可能会对集群造成有害影响。'
  systemProjectNote: '您正在删除系统项目。如果删除，可能会对集群造成有害影响。'
  protip: '高级技巧:在点击删除时按住{key}键以跳过确认操作。'
  confirmAction: 删除
  cancelAction: 取消
  largeDeleteText: '{key}及{othersCount}其他'

containerLogs:
  download: 下载日志
  title: "日志: "
  onlyCombined: "<b>注意:</b>此容器运行时带有TTY(-t)参数，仅有合并的标准输出和标准错误日志可见。"
  combined: 合并日志
  stdout: 标准输出
  stderr: 标准错误
  protip: "高级技巧: 点击查看日志时按住{key}键在新窗口中打开"
  scrollTop: 回到顶部
  scrollBottom: 回到底部
  clear: 清除屏幕
  wrapLines: 自动换行
  status:
    initializing: 初始化...
    connecting: 连接中...
    connected: 已连接
    disconnected: 已断开
    closed: 已关闭

containerShell:
  protip: "高级技巧: 点击运行命令行时按住{key}键在新窗口中打开"
  status:
    initializing: '初始化...'
    error: "错误:{error}"
    connecting: '连接中...'
    connected: 已连接
    disconnected: 已断开
    closed: 已关闭
    code: " 状态码: {code}"

copyToClipboard:
  tooltip: 复制到剪贴板
  copied: 已复制

cruRegistry:
  title:
    new: 添加镜像库凭证
    edit: '编辑镜像库凭证: {name}'
    view: '镜像库凭证: {name}'
  address:
    label: 地址
    dockerhub: DockerHub
    quay: Quay.io
    custom: 自定义
    placeholder: '例如: registry.example.com'
  multiple: 多个
  auth:
    label: 认证token
    saved: 已保存
  username:
    label: 用户名
  password:
    label: 密码
    saved: 已保存

cruPersistentVolume:
  name:
    placeholder: '例如: Myvolume'
  description:
    placeholder: '例如: 生产数据库的卷'
  title:
    new: 添加持久卷
    edit: '编辑持久卷: {name}'
    view: '持久卷: {name}'
  storageClass:
    label: 分配给存储类
    prompt: 无
  pvc: 持久卷Claim
  reclaimPolicy: 回收策略
  capacity:
    label: 容量
    unit: GiB
  source:
    label: 卷插件
    title: 插件配置
    detail: 配置选定卷插件的选项
    prompt: '选择卷插件...'
  nodeAffinity:
    label: 节点亲和性
  customize:
    title: 自定义
    detail: 自定义高级选项
  mountOptions:
    label: 挂载选项
    addActionLabel: 添加
    noData: 没有挂载选项
  awsElasticBlockStore:
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    readOnly:
      label: 只读
    partition:
      label: 分区
      placeholder: "例如: 1，0表示整块硬盘。"
    volumeID:
      label: 卷 ID
      placeholder: "例如: volume1"
  azureDisk:
    cachingMode:
      label: 缓存模式
      none: None
      readOnly: 只读
      readWrite: 读写
    diskName:
      label: 磁盘名称
      placeholder: "例如: kubernetes-pvc"
    diskURI:
      label: 磁盘URI
      placeholder: "例如: https://example.com/disk"
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    kind:
      label: 类型
      dedicated: 专用
      managed: 托管
      shared: 共享
    readOnly:
      label: 只读
  secret:
    defaultMode:
      label: 默认模式
      placeholder: "例如: 256"
    optional:
      label: 可选
    secretName:
      label: 密文
    certificateName:
      label: 证书
    items:
      label: 项目
  configMap:
    defaultMode:
      label: 默认模式
      placeholder: "例如: 256"
    optional:
      label: 可选
    name:
      label: 配置映射名
    items:
      label: 项目
  emptyDir:
    medium:
      label: 存储介质
      default: 主机的默认存储
      memory: 内存
    sizeLimit:
      label: 大小限制
      placeholder: "例如: 300Mi"
  azureFile:
    secretName:
      label: 密文名称
      placeholder: "例如: secret"
    secretNamespace:
      label: 密文命名空间
      placeholder: "例如: default"
    shareName:
      label: 共享名
      placeholder: "例如: abc"
    readOnly:
      label: 只读
  cephfs:
    monitors:
      label: 监控
      addActionLabel: 添加
    path:
      label: 路径
      placeholder: "例如: /var"
    readOnly:
      label: 只读
    secretFile:
      label: 密文文件
      placeholder: "例如: secret"
    secretRef:
      name:
        label: 名称
        placeholder: "例如: lab"
      namespace:
        label: 命名空间
        placeholder: "例如: default"
      label: 密文
    user:
      label: 用户
      placeholder: "例如: root"
  rbd:
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    image:
      label: 镜像
      placeholder: "例如: 镜像"
    keyring:
      label: 密钥文件
      placeholder: "例如: /etc/ceph/keyring"
    monitors:
      label: 监控
      addActionLabel: 添加
    pool:
      label: 池
      placeholder: "例如: rbd"
    readOnly:
      label: 只读
    secretRef:
      label: 密文
      placeholder: "例如: secret"
    user:
      label: 用户
      placeholder: "例如: root"
  fc:
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    lun:
      label: Lun
      placeholder: "例如: 2"
    readOnly:
      label: 只读
    targetWWNs:
      label: 目标的WWNs
      addActionLabel: 添加
    wwids:
      label: Wwids
      addActionLabel: 添加
  flexVolume:
    driver:
      label: 驱动
      placeholder: "例如: driver"
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    options:
      label: 选项
      addActionLabel: 添加
    readOnly:
      label: 只读
    secretRef:
      label: 密文
      placeholder: "例如: secret"
  flocker:
    datasetName:
      label: 数据集名称
      placeholder: "例如: database"
    datasetUUID:
      label: 数据集UUID
      placeholder: "例如: uuid"
  glusterfs:
    endpoints:
      label: 终端
      placeholder: "例如: glusterfs-cluster"
    path:
      label: 路径
      placeholder: "例如: kube_vol"
    readOnly:
      label: 只读
  gcePersistentDisk:
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    partition:
      label: 分区
      placeholder: "例如: 1，0表示整块硬盘"
    pdName:
      label: 持久化磁盘名称
      placeholder: "例如: abc"
    readOnly:
      label: 只读
  iscsi:
    chapAuthDiscovery:
      label: Chap验证发现
    chapAuthSession:
      label: Chap验证会话
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    initiatorName:
      label: 启动器名称
      placeholder: "例如: abc"
    iqn:
      label: IQN
      placeholder: "例如: 2"
    iscsiInterface:
      label: iSCSI接口
      placeholder: "例如: interface"
    lun:
      label: Lun
      placeholder: "例如: 2"
    portals:
      label: 门户
      addActionLabel: 添加
    readOnly:
      label: 只读
    secretRef:
      label: 密文
      placeholder: "例如: secret"
    targetPortal:
      label: 目标门户
      placeholder: "例如: portal"
  local:
    path:
      label: 路径
      placeholder: "例如: /mnt/disks/ssd1"
  nfs:
    path:
      label: 路径
      placeholder: "例如: /var"
    readOnly:
      label: 只读
    server:
      label: 服务器
      placeholder: "例如: 10.244.1.4"
  cinder:
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    readOnly:
      label: 只读
    volumeID:
      label: 卷 ID
      placeholder: "例如: vol"
  photonPersistentDisk:
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    pdID:
      label: PD ID
      placeholder: "例如: abc"
  portworxVolume:
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    readOnly:
      label: 只读
    volumeID:
      label: 卷 ID
      placeholder: "例如: abc"
  quobyte:
    group:
      label: 组
      placeholder: "例如: abc"
    readOnly:
      label: 只读
    registry:
      label: 镜像库
      placeholder: "例如: abc"
    user:
      label: 用户
      placeholder: "例如: root"
    volume:
      label: 卷
      placeholder: "例如: vol"
  scaleIO:
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    gateway:
      label: 网关
      placeholder: "例如: https://localhost:443/api"
    protectionDomain:
      label: 保护域
      placeholder: "例如: pd01"
    readOnly:
      label: 只读
    secretRef:
      name:
        label: 名称
        placeholder: "例如: secret"
      namespace:
        label: 命名空间
        placeholder: "例如: default"
      label: 密文
    sslEnabled:
      label: SSL已启用
    storageMode:
      label: 存储模式
      placeholder: "例如: ThinProvisioned"
    storagePool:
      label: 存储池
      placeholder: "例如: sp01"
    system:
      label: 系统
      placeholder: "例如: scaleio"
    volumeName:
      label: 卷名
      placeholder: "例如: vol-0"
  storageos:
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    readOnly:
      label: 只读
    secretRef:
      name:
        label: 名称
        placeholder: "例如: secret"
      namespace:
        label: 命名空间
        placeholder: "例如: default"
      label: 密文
    volumeName:
      label: 卷名
      placeholder: "例如: vol"
    volumeNamespace:
      label: 卷命名空间
      placeholder: "例如: default"
  vsphereVolume:
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    storagePolicyID:
      label: 存储策略ID
      placeholder: "例如: sp1"
    storagePolicyName:
      label: 存储策略名称
      placeholder: "例如: sp"
    volumePath:
      label: 卷路径
      placeholder: "例如: /"
cruStorageClass:
  name:
    placeholder: '例如: 储存'
  description:
    placeholder: '例如: AWS EBS存储'
  title:
    new: 添加存储类
    edit: '编辑存储类: {name}'
    view: '存储类: {name}'
  allowVolumeExpansion:
    label: 允许用户扩展卷
  pv:
    title: 持久卷
    detail: 当前存储类提供的持久卷。
  mountOptions:
    label: 挂载选项
    addActionLabel: 添加
    noData: 没有挂载选项
  parameters:
    title: 参数
    detail: 为存储类配置特定的参数
    addActionLabel: 添加参数
  customize:
    title: 自定义
    detail: 自定义高级选项
  provisioner:
    label: 提供者
  reclaimPolicy:
    label: 回收策略
    Delete: 在工作负载释放后删除卷和底层设备
    Retain: 保留卷以进行手动清理
    Recycle: "回收: 清空内容，然后为以后的工作负载保留卷"
  aws-ebs:
    type:
      label: 卷类型
      gp2: 'GP2 - 通用SSD'
      io1: 'IO1 - Provisioned IOPS SSD'
      st1: 'ST1 - Throughput-Optimized HDD'
      sc1: 'SC1 - Cold-Storage HDD'
    zone:
      label: 可用区
      automatic: "自动: 集群中有主机的区域"
      manual: "手动: 选择特定区域"
      placeholder: "us-east-1d，us-east-1c"
    iopsPerGB:
      label: 预置IOPS
      unit: 'GB/s'
    encrypted:
      label: 加密
    kmsKeyId:
      label: 用于加密的KMS Key ID
      automatic: "自动: 生成密钥"
      manual: "手动: 使用特定的秘钥(完整的ARN)"
  gce-pd:
    type:
      label: 卷类型
      pd-standard: '标准'
      pd-ssd: 'SSD'
    zone:
      label: 可用区
      automatic: "自动: 集群中有主机的区域"
      manual: "手动: 选择特定区域"
      placeholder: "us-central1-a，us-central1-b"
  cinder:
    type:
      label: 卷类型
      placeholder: "例如: fast"
    availability:
      label: 可用区
      automatic: "自动: 集群中有主机的区域"
      manual: "手动: 选择特定区域"
      placeholder: "例如: nova"
  vsphere-volume:
    diskformat:
      label: 磁盘格式
      thin: 精简
      zeroedthick: 厚置备延迟置零
      eagerzeroedthick: 厚置备置零
    storagePolicyName:
      label: 存储策略名称
      placeholder: "例如: gold"
    datastore:
      label: 数据存储
      placeholder: "例如: VSANDatastore"
    fstype:
      label: 文件系统类型
      placeholder: "例如: ext3"
    hostFailuresToTolerate:
      label: 主机失败容忍
      placeholder: "例如: 2"
    cachereservation:
      label: 缓存预留
      placeholder: "例如: 20"
  azure-disk:
    new: 新建Azure磁盘
    unmanaged: Azure非托管磁盘
    skuName:
      label: Sku名称
      placeholder: "例如: Standard_LRS"
    location:
      label: 区域
      placeholder: "例如: eastus"
    storageAccount:
      label: 存储帐户
      placeholder: "例如: azure_storage_account_name"
    storageaccounttype:
      label: 存储帐户类型
      placeholder: "例如: Standard_LRS"
    kind:
      label: 类型
      shared: 共享
      dedicated: 专用
      managed: 托管
      placeholder: "例如: 共享"
  azure-file:
    skuName:
      label: Sku名称
      placeholder: "例如: Standard_LRS"
    location:
      label: 区域
      placeholder: "例如: eastus"
    storageAccount:
      label: 存储帐户
      placeholder: "例如: azure_storage_account_name"
  portworx-volume:
    fs:
      label: 文件系统
      placeholder: "例如: ext4"
    block_size:
      label: 块大小
      placeholder: "例如: 32"
    repl:
      label: Repl
      placeholder: "例如: 1; 0为整个设备"
    io_priority:
      label: I/O 优先级
      placeholder: "例如: low"
    snap_interval:
      label: 快照间隔
      placeholder: "例如: 70"
    aggregation_level:
      label: 聚合级别
      placeholder: "例如: 0"
    ephemeral:
      label: 临时卷
      placeholder: "是否是临时卷，true或者false，默认false"
  scaleio:
    gateway:
      label: 网关
      placeholder: "例如: https://192.168.99.200:443/api"
    system:
      label: 系统
      placeholder: "例如: scaleio"
    protectionDomain:
      label: 保护域
      placeholder: "例如: pd0"
    storagePool:
      label: 存储池
      placeholder: "例如: sp1"
    storageMode:
      label: 存储模式
      ThinProvisioned: 精简配置
      ThickProvisioned: 精简置备
    secretRef:
      label: 密文
      placeholder: "例如: sio-secret"
    readOnly:
      label: 只读
      placeholder: "例如: false"
    fsType:
      label: 文件系统类型
      placeholder: "例如: xfs"
  storageos:
    pool:
      label: 池
      placeholder: "例如: default"
    description:
      label: 描述
      placeholder: "例如: Kubernetes卷"
    adminSecretNamespace:
      label: 管理密文命名空间
      placeholder: "例如: default"
    adminSecretName:
      label: 管理密文名
      placeholder: "例如: storageos-secret"
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
  longhorn:
    numberOfReplicas:
      label: 副本数量
      placeholder: "例如: 3"
    staleReplicaTimeout:
      label: 陈旧副本超时
      placeholder: "例如: 30"
    fromBackup:
      label: 从备份
      placeholder: ""
  quobyte:
    quobyteAPIServer:
      label: Quobyte API服务器
      placeholder: "例如: https://138.68.74.142:7860"
    registry:
      label: 镜像库
      placeholder: "例如: 138.68.74.142"
    adminSecretNamespace:
      label: 管理密文命名空间
      placeholder: "例如: kube-system"
    adminSecretName:
      label: 管理密文名称
      placeholder: "例如: quobyte-admin-secret"
    user:
      label: 用户
      placeholder: "例如: root"
    group:
      label: 组
      placeholder: "例如: root"
    quobyteConfig:
      label: Quobyte配置
      placeholder: "例如: BASE"
    quobyteTenant:
      label: Quobyte租户
      placeholder: "例如: DEFAULT"
  rbd:
    monitors:
      label: "Ceph-Monitor地址"
      placeholder: "例如: 10.16.153.105:6789"
    adminId:
      label: "管理员账号(ID)"
      placeholder: "例如: kube"
    adminSecretNamespace:
      label: 管理密文所在命名空间
      placeholder: "例如: kube-system"
    adminSecret:
      label: 管理密文
      placeholder: "例如: secret"
    pool:
      label: 池
      placeholder: "例如: kube"
    userId:
      label: 用户 ID
      placeholder: "例如: kube"
    userSecretName:
      label: 用户密文名称
      placeholder: "例如: ceph-secret-user"
    fsType:
      label: 文件系统类型
      placeholder: "例如: ext4"
    imageFormat:
      label: 镜像格式
      placeholder: "例如: 2"
    imageFeatures:
      label: 镜像功能
      placeholder: "例如: layering"
  glusterfs:
    resturl:
      label: REST URL
      placeholder: "例如: https://127.0.0.1:8081"
    restuser:
      label: REST 用户
      placeholder: "例如: admin"
    restuserkey:
      label: REST 用户密钥
      placeholder: "例如: password"
    secretNamespace:
      label: 密文命名空间
      placeholder: "例如: default"
    secretName:
      label: 密文名称
      placeholder: "例如: heketi-secret"
    clusterid:
      label: 集群ID
      placeholder: "例如: 630372ccdc720a92c681fb928f27b53f"
    gidMin:
      label: GID MIN
      placeholder: "例如: 40000"
    gidMax:
      label: GID MAX
      placeholder: "例如: 50000"
    volumetype:
      label: 卷类型
      placeholder: "例如: replicate:3"

dangerZone:
  header: 高级设置
  subtext: "通常情况下用户不需要修改以下设置。请谨慎操作，不正确的值可能导致{appName}无法正常运行。修改默认设置后将以<b>粗体</b>显示配置名。"
  showLabel: 我已确认修改高级设置可能导致{appName}出问题。
  description:
    'cacerts': '验证ssl证书所需的CA证书，此CA证书仅适用于自签名SSL证书。若SSL证书是权威CA机构所颁发，则要求删除此CA证书。'
    'cluster-defaults': '在创建新集群时覆盖RKE默认值。'
    'engine-install-url': '默认的Docker引擎安装URL(用于大多数Machine Drivers)。'
    'engine-iso-url': '默认OS安装URL(用于Machine vSphere Drivers)。'
    'engine-newest-version': '当前Rancher Server支持的最新Docker版本，不支持的版本或比此Docker版本新的将被标记为未测试。'
    'engine-supported-range': '当前Rancher Server支持的Docker版本范围，不满足此范围的Docker版本将在UI中标记为不受支持。'
    'ingress-ip-domain': '用于自动生成Ingress主机名的通配域名。<入口名>.<命名空间名>.<入口控制器的IP地址>将被添加到域名中。'
    'server-url': '默认的{appName} Server访问地址，必须是HTTPS。集群中的所有主机都必须能够访问此地址。'
    'system-default-registry': '用于RKE部署系统服务时镜像的拉取，其他服务拉取镜像不生效。'
    'ui-index': 'UI的HTML索引位置。'
    'ui-pl': '公司名称专用标签。'
    'telemetry-opt': '遥感报告设置。'
    'auth-user-info-max-age-seconds': 'The maximum age of a users auth tokens before an auth provider group membership sync will be performed.'
    'auth-user-info-resync-cron': '用于重新同步身份验证提供者组成员关系的默认cron调度。'

deleteEksCluster:
  title: "确定删除集群{clusterName}吗?"
  help: 此集群是通过临时令牌创建的，请提供新的令牌来删除它。
  updateKeys: Update Keys
  updatingKeys: Updating Keys
  deleteCluster: 删除集群
  deletingCluster: 集群删除中...
  accessKey:
    label: Access Key
    placeholder: Your AWS access key
  secretKey:
    label: Secret Key
    placeholder: Your AWS secret key
    provided: Provided
  sessionToken:
    label: "Session Token  <em class='text-muted'>可选</em>"
    deleteLabel: Session Token
    placeholder: Your AWS session token
    provided: Provided
  error:
    accessKey: Access key必须设置。
    secretKey: Secret key必须设置。
    sessionToken: Session token必须设置。



editAccount:
  title: 编辑账号
  form:
    name:
      label: 显示名称
      placeholder: '例如: John Smith'
    kind:
      label: 账号类型
      user: 普通用户
      admin: '管理员: 完全访问管理所有集群中的所有内容'
    description:
      label: 描述
      placeholder: '例如: John Smith的账号'
    publicValue:
      label: 用户名
    oldPassword:
      label: 当前密码
    newPassword:
      label: 新密码
    confirmPassword:
      label: 确认密码
    identity:
      label: 标识

editApiKey:
  title:
    justCreated: API Key已创建
    editing: 编辑API Key
    new: 添加API Key
  accessKey: Access Key(用户名)
  secretKey: Secret Key(密码)
  basicAuth: "Access Key和Secret Key可以作为HTTP基本身份验证的用户名和密码发送，以授权请求。您也可以将它们组合为Bearer Token:"
  token: Bearer Token
  scope: 作用集群范围
  scopeSelect:
    prompt: 未指定作用范围
  ttl:
    label: 自动失效时间
    never: 永不过期
    day: 从现在开始，有效期1天
    month: 从现在开始，有效期1个月
    year: 从现在开始，有效期1年
  description:
    placeholder: "可选: 例如: 此密钥由应用服务器使用，用于容器部署。"
  saveWarning1: 请保存上面的信息！这些信息仅显示一次。
  saveWarning2: 如果忘记了Secret Key，您需要重新创建新的API Key。
  noteOptional: 说明是可选项，以帮助您记住此密钥将用于何种用途。

editCertificate:
  title: 编辑证书
  name:
    placeholder: '例如: Mydomain.com'
  description:
    placeholder: '例如: Mydomain.com的EV证书'
  noteKeyWriteOnly: "注意:Private Key部分为只写(write only)因而显示为空白。更新证书时您需要重新上传Private Key，即便Private Key未发生变化"

editCluster:
  title:
    new: 添加集群
    edit: 编辑集群
  name:
    label: 名称
    placeholder: '例如: Sandbox'
  description:
    label: 描述
    placeholder: '例如: 开发人员所共享的集群'
  systemStacks:
    hr: 集群选项
    title: 系统应用
    detail: 这些应用将会被自动部署到该集群的System环境中。
    noData: 没有应用将会被部署到系统环境中。
    add: 添加应用
    cancel: 取消添加系统应用
  modal:
    onCluster: "注意: 您正在尝试删除当前环境所在的集群。请在删除该集群之前，先选择其他集群的环境"

editContainer:
  title:
    vm: 编辑虚拟机
    container: 编辑容器
  name:
    placeholder: '例如: Myapp'
  description:
    placeholder: '例如: 我的应用'

editHost:
  title: 编辑主机
  hostname:
    label: 主机名
    help: 由主机操作系统获取
  customName:
    label: 自定义名称
    placeholder: '例如: dev1'
    help: 如果此处未设置，名称将显示为主机名
  description:
    label: 描述
    placeholder: '例如: 我的开发主机'
  labels:
    label: 标签
  ips:
    label: 调度 IP
    valueLabel: IP 地址
    valuePlaceholder: '例如: 1.2.3.4'
    addActionLabel: 添加IP
    help: 如果设置，调度器将从中选择一个IP地址并将发布的端口绑定到该地址。
  requireAny:
    label: 容器标签需求
    help: 如果设置，容器必须具备设置的一个或者多个标签才能够被调度到该主机。如果仅设置Key而Value留空，具备相应Key的容器可以被调度到该主机而忽略Value的值。<code>io.rancher.container.system</code>标签是运行系统容器所必须的。
    addActionLabel: 添加标签需求

editService:
  title: 编辑服务

editStack:
  title: 编辑命名空间
  name:
    label: 名称
    error: 命名空间名称已被使用，请设置新的命名空间名称。
    placeholder: '例如: Myapp'
  project:
    label: 项目
    prompt: '选择项目:'
  description:
    label: 描述
    placeholder: '例如: MyApp命名空间'
  resourceQuota:
    title: 资源配额
    detail: 配置命名空间整体可以使用的资源量
  group:
    label: 标签
    placeholder: '例如: frontend，production'
    help: 逗号分隔的标签列表，负载列表可以根据相应的标签进行过滤。

editUser:
  title: 编辑用户
  form:
    name:
      label: 显示名称
      placeholder: '例如: John Smith'
    username:
      label: 用户名
    otherRoles:
      label: 移除角色
    password:
      label: 修改密码
      new: 新密码
      confirm: 确认密码
      error: 密码必须相同
      mustChangePassword:
        new: 要求用户在首次登录时更改密码
        edit: 要求用户在下次登录时更改密码

envCatalog:
  header: 管理应用商店
  subtext: '可以在这里定义自定义的应用商店源，该应用商店仅对当前环境的用户可见。全局应用商店对所有环境可见，仅能由管理员在管理设置中修改。应用商店需要一个唯一的名称并且支持<code>git clone</code>的URL地址(参考 <a href="https://git-scm.com/docs/git-clone#_git_urls_a_id_urls_a" target="_blank" rel="nofollow noopener noreferrer">文档</a>以获取更多信息)'
  addActionLabel: 添加应用商店

moveNamespace:
  title: |
    移动{count, plural,
    =1 {命名空间: {name}}
    other{#个命名空间: }}
  to: "到目标项目: "
  actionLabel: 移动

stackHeader:
  title: '命名空间: {name}'
  outputs: 输出

stacksPage:
  table:
    standalone: 独立容器
    endpoints: 终端
    scale: Pod副本数
    instanceState: 容器状态
    instanceStateWithIcon: 状态

formatIp:
  noIp: 无

formBalancerConfig:
  title: 自定义配置文件
  detail: 提供自定义配置文件，这个配置将会被应用到{appName}自动生产的配置上方。
  custom: |
    请参考<a href="https://cbonte.github.io/haproxy-dconv/1.6/configuration.html" target="_blank" rel="nofollow noopener noreferrer">haproxy文档</a>了解更多关于该配置文件的参数。当重写<code>backend</code>或包括目标容器IP的某行时，请使用<code>$IP</code>来代替IP地址，{appName}将会自动转换成相应的配置。
  config:
    prompt: 自定义haproxy.cfg内容

formNodeAffinity:
  addRuleLabel: 添加节点选择规则
  noRules: 没有节点选择器
  removeRuleLabel: 删除节点选择规则

formMembersGlobalAccess:
  title: 成员
  detail: 选择可以查看此应用程序的成员
  table:
    name: 名称
    type: 成员类型
    accessType: 访问类型
    noData: 当前没有成员
    noMatch: 没有成员匹配当前搜索
    prompt: 选择值...


formNodeRequirement:
  label: 规则
  addRuleLabel: 添加规则
  noRules: 没有规则
  key:
    label: 键
    placeholder: '例如: hostname'
  operator:
    label: 操作符
  values:
    label: 值
    placeholder: '用逗号分割，例如: node1,node2'

formIngress:
  hostMode:
    automatic: 自动生成<code>.{domain}</code>后缀域名
    existing: 继续使用当前主机名<code>{domain}</code>
    manual: 自定义域名
    default: 默认后端
    defaultDisabled: Ingress控制器不支持默认后端
  defaultBackend:
    label: 将此规则设置为默认后端
    mark: 默认后端
  label: 规则
  addRuleLabel: 添加规则
  removeRuleLabel: 移除此规则
  noRules: 没有规则
  host:
    label: 访问域名
    placeholder: "例如: example.com"
  backendType:
    label: 后端类型
  mode:
    workload: 工作负载
    service: DNS记录

formIngressBackends:
  label: 目标后端
  noRules: 没有后端
  warning: 如果目标后端是一个服务，您只可以使用该服务所暴露的端口。您可以在服务发现页找到该服务，然后通过编辑YAML的方式添加所需要的端口。
  addServiceLabel: 服务
  addWorkloadLabel: 工作负载
  service:
    label: 服务
  workload:
    label: 工作负载
  targetPort:
    label: 容器端口
    placeholder: '例如: 80'
  path:
    label: '访问路径（如需使用后端重写功能,请查看下方标签/注释）'
    placeholder: '例如: /foo'
  target: '服务/工作负载'

formBalancerListeners:
  label: 监听器与目标规则
  detail: 配置负载均衡，使其将请求转发到目标地址。
  status: |
    {count, plural,
    =0{无规则}
    =1{#条规则}
    other{#条规则}
    }
  noRules: 没有端口
  addPortLabel: 添加监听端口
  removePortLabel: 删除这个监听端口
  showBackendLabel: "自定义backend名称"
  access:
    label: 访问
    public: 公开
    internal: 内部
  protocol:
    label: 协议
  sourceIp:
    label: 主机IP
    placeholder: "例如: 1.2.3.4; Default: All"
  sourcePort:
    label: 监听端口
    placeholder: '例如: 80'
  help: "主机及路径规则将根据显示的顺序自上而下进行匹配，后端默认将随机命名。要自定义生成的后端，提供一个名称并在您自定义的haproxy.cfg文件中引用该名称"

formBalancerRules:
  label: 目标规则
  detail: 根据主机、 端口、 路径或IP地址映射请求到不同的目标。
  status: |
    {count, plural,
    =0{无规则}
    =1{#条规则}
    other{#条规则}
    }
  noRules: 无规则
  addServiceLabel: 添加服务
  addInstanceLabel: 添加容器
  addSelectorLabel: 添加选择器
  addTargetLabel: 添加规则
  access:
    label: 访问
    public: 公开
    internal: 内部
  protocol:
    label: 协议
  sourceIp:
    label: 主机IP
    placeholder: "例如: 1.2.3.4， 默认: 所有"
  sourcePort:
    label: 监听端口
    placeholder: '例如: 80'
  path:
    label: 路径
    placeholder: '例如: /foo'
  hostname:
    label: 请求头信息
    placeholder: '例如: example.com'
  backendName:
    label: 后端
    placeholder: '例如: webapp'
  targetPort:
    label: 端口
    placeholder: '例如: 80'
  priority:
    label: 优先级
  target: 目标
  selector:
    label: 选择器
    placeholder: '例如: foo=bar'

formCommand:
  title: 命令
  detail: 配置容器启动时将运行的可执行文件。
  command:
    label: 命令(CMD)
    placeholder: '例如: /usr/sbin/httpd -f httpd.conf'
  entryPoint:
    label: 入口(Entrypoint)
    placeholder: '例如: /bin/sh'
  environment:
    label: 环境标签
  workingDir:
    label: 工作目录
    placeholder: '例如: /myapp'
  uid:
    label: '用户UID'
    placeholder: '例如: 501'
  console:
    label: 控制台
    both: '交互&amp;TTY终端<span class="text-muted">(-i -t)</span>'
    interactive: '交互<span class="text-muted">(-i)</span>'
    terminal: 'TTY终端<span class="text-muted">(-t)</span>'
    none: 无
  autoRestart:
    label: 自动重启
    no: 从不
    onFailure: '失败时<span class="text-muted">(非0退出代码)</span>总是'
    onFailureCondPrefix: 失败时，最多
    onFailureCondSuffix: |
      {limit, plural,
      =1{次}
      other{次}
      }
    always: 总是
  terminationGracePeriodSeconds:
    label: 停止超时
    helpText: 容器将在强制终止之前自行停止。
  fsgid:
    label: 文件系统组
    placeholder: '例如: 501'


formContainerLinks:
  title: 链接
  detail: 定义此容器和其他容器的关联关系
  addActionLabel: 添加链接
  name:
    label: 目标容器
  alias:
    label: 名称
    placeholder: '例如: database'
  noData: 没有容器链接
  noMatch: 没有匹配当前搜索的链接

formCount:
  label: 数量

formDisks:
  addDiskLabel: 添加磁盘
  addRootDiskLabel: 添加根磁盘
  name:
    rootDisk: 根磁盘
    label: 名称
    placeholder: '例如: data'
  size:
    label: 磁盘大小
    rootDisk: 由系统镜像决定
  readIops:
    label: 读取IOPS
    placeholder: '例如: 1000'
  writeIops:
    label: 写入IOPS
    placeholder: '例如: 1000'
  driver:
    label: 驱动

formEngineOpts:
  title: 引擎选项
  detail: 自定义Docker守护进程的配置
  engineInstallUrl:
    label: Docker安装URL
    placeholder: '例如: http://get.docker.com'
    recommended: 推荐
    latest: 最新
  engineStorageDriver:
    label: 存储驱动
    placeholder: '例如: overlay'
  engineOpts:
    label: 引擎选项
    addActionLabel: 添加引擎选项
    keyPlaceholder: '例如: log-driver'
    valuePlaceholder: '例如: syslog'
  engineLabels:
    label: 引擎标签
    addActionLabel: 添加引擎标签
    keyLabel: 标签
  engineEnv:
    label: 引擎环境
    addActionLabel: 添加环境变量
    keyLabel: 变量
    keyPlaceholder: '例如: HTTP_PROXY'
    valuePlaceholder: '例如: http://your-proxy:8080'
  engineInsecureRegistry:
    label: 非安全镜像库
    addActionLabel: 添加非安全镜像库
    valueLabel: 镜像库域名
    valuePlaceholder: '例如: registry.example.com'
  engineRegistryMirror:
    label: 镜像库镜像
    addActionLabel: 添加镜像库镜像
    valueLabel: 镜像URL
    valuePlaceholder: '例如: https://my-mirror.example.com:5000'

formResourceQuota:
  addQuotaLabel: 添加配额
  table:
    type:
      label: 资源类型
    value:
      label: 限制
      placeholder: '例如: 10'
      milliCpuPlaceholder: '例如: 500'
      memoryPlaceholder: '例如: 1Gi'
    resources:
      label: 项目资源可用性
      reserved: 其他命名空间
      namespace: 当前命名空间
      available: 可用
      max: 总共
    projectLimit:
      label: 项目限制
      placeholder: '例如: 50'
      milliCpuPlaceholder: '例如: 2000'
      memoryPlaceholder: '例如: 2048'
    namespaceLimit:
      label: 命名空间默认限制
      placeholder: '例如: 10'
      milliCpuPlaceholder: '例如: 500'
      memoryPlaceholder: '例如: 1024'
    noData: 没有定义资源配额
  errors:
    projectLimitRequired: "项目中{resource}必须设置"
    nsDefaultLimitRequired: 命令空间中{resource}默认限制必需设置。
    limitRequired: '{resource}需要设置。'
    invalidLimit: '{resource}配额总共{total}，已使用{used}。该已使用应小于或等于{left}。'
  resources:
    configMaps: 配置映射
    limitsCpu: CPU限制
    limitsMemory: 内存限制
    persistentVolumeClaims: Persistent Volume Claims
    pods: Pods
    replicationControllers: Replication Controllers
    requestsCpu: CPU预留
    requestsMemory: 内存保留
    requestsStorage: 存储预留
    secrets: 密文
    services: 服务
    servicesLoadBalancers: 服务负载均衡器
    servicesNodePorts: 服务节点端口

formEnvVar:
  title: 环境变量
  detail: 在创建时添加的环境变量。
  noData: 当前没有环境变量
  status: |
    {count, plural,
    =0{无变量}
    =1{#个变量}
    other{#个变量}
    }
  labels:
    key: 键
    value: 值

formGlobalRoles:
  title: 全局权限
  description: 控制用户管理整个{appName}安装的访问权限。
  mode:
    admin:
      label: 管理员
      detail: 管理员完全控制所有集群中的全部安装和所有资源
    user:
      label: 标准用户
      detail: 标准用户可以创建新的集群并管理他们已被授权访问的集群和项目。
    custom:
      label: 自定义
      detail: 为这个用户选择独立的权限
  role:
    create-clusters:
      label: 创建新的集群
      detail: 允许用户创建新的集群并成为它们的所有者，标准用户默认具有此权限。
    manage-authn:
      label: 配置身份验证
      detail: 允许用户启用，配置和禁用所有身份验证程序设置。
    manage-catalogs:
      label: 配置应用商店
      detail: 允许用户添加，编辑和删除应用商店
    manage-clusters:
      label: 管理所有集群
      detail: 允许用户管理全部集群，即使这个用户不是被管理集群中的成员也可以管理。
    manage-node-drivers:
      label: 配置主机驱动
      detail: 允许用户启用，配置和移除所有主机驱动设置。
    manage-node-templates:
      label: 管理主机模板
      detail: 允许用户定义，编辑和删除主机模板
    manage-roles:
      label: 管理角色
      detail: 允许用户定义，编辑和删除角色定义
    manage-users:
      label: 管理用户
      detail: 允许用户为所有用户创建，删除和设置密码
    use-catalogs:
      label: 使用应用商店
      detail: 允许用户查看和应用商店中的模板。标准用户默认具有此权限。
    use-node-templates:
      label: 使用主机模板
      detail: 允许用户使用现有的主机模板部署新的主机。
    base:
      label: 登录访问
formMembers:
  members:
    user: 用户
    group: 组
    serviceaccount: 服务账号
    labelText: 成员
    addMember: 添加成员
    addUser: 添加用户
    noAddUser: 您是唯一的活动注册用户。
    addGroup: 添加组
    addServiceAccount: 添加服务帐户
    multipleRoles: 多个角色
    customRoles: 自定义角色
    kind:
      label: 类型
    name:
      label: 名称
    role:
      label: 角色
    errors:
      nameReq: 名称(必填)
      nameInExists: 名称已经存在，请使用新的项目名称。
      memberNameReq: 必须设置成员名称
      memberRoleReq: 必须设置成员角色
      ownerReq: 必须至少有一个具有所有者角色的成员。

formScopedRoles:
  title: '{type}权限'
  description: '控制用户对{type}的访问权限'
  mode:
    admin:
      label: 所有者
      detail: 所有者可以完全控制{type}及内部的所有资源。
    user:
      label: 成员
      detail: 成员可以管理{type}内部的资源，但不能更改{type}本身。
    custom:
      label: 自定义
      detail: 为用户选择单个角色
    readOnly:
      label: 只读
      detail: 成员仅可以查看{type}中的资源，但不能更改资源和{type}本身。
    userDef:
      detail: 用户定义的角色
    role:
      read-only:
        label: 只读
        detail: 允许看到一切，但不会改变任何东西。

formHealthCheck:
  title: 健康检查
  detail: 周期性向容器发出请求，以检测其健康状态。默认设置下，readiness和liveness使用相同的配置参数。对于应用初始化较长的容器，需要增加就绪检测时间。
  readiness: 就绪状态检查(readiness)
  liveness: 存活状态检查(liveness)
  separateLivenessCheck: '单独配置存活状态(liveness)检查'
  combinedLivenessCheck: 使用相同的就绪状态(readiness)与存活状态(liveness)配置
  checkType:
    none: 无
    tcp: TCP端口检查
    http: HTTP请求状态检查(2xx或3xx)
    https: HTTPS请求状态检查(2xx或3xx)
    command: 容器中进程退出状态码检查(0)
  command:
    label: 命令
    placeholder: '例如: cat /tmp/health'
  path:
    label: 请求路径
    placeholder: '例如: /health'
  httpHeaders:
    label: 其他的HTTP Headers
    addActionLabel: 添加Headers
    keyLabel: Http头字段
    keyPlaceholder: '例如: 用户代理'
    valuePlaceholder: '例如: 健康检查'
  host:
    label: 主机 Headers
    placeholder: '例如: example.com'
  port:
    label: 容器端口
    placeholder: '例如: 80'
  initialDelaySeconds:
    label: 运行多少时间后开始检测
  reinitializingTimeout:
    label: 重新检查时间
  periodSeconds:
    label: 检查间隔
  timeoutSeconds:
    label: 检查超时
  successThreshold:
    label: 健康阈值
    unit: 成功
  failureThreshold:
    label: 不健康阈值
    unit: 失败

formKeyToPath:
  addAction: 添加项目
  header: 项目
  default: 所有键
  specific: 选择特定的键
  key:
    label: 键
    placeholder: "例如: username"
  path:
    label: 路径
    placeholder: "例如: my-group/my-username"
  mode:
    label: 模式
    placeholder: "例如: 400"

formKeyValue:
  addAction: 添加键值对
  key:
    label: 键
    placeholder: 键
  separator: "="
  value:
    label: 值
    placeholder: 值
  protip: '高级技巧: 在键(Key)输入栏中粘贴一行或多行的key=value键值对能够批量输入。'

formImage:
  label: Docker镜像
  container:
    placeholder: "例如: ubuntu:xenial"

formNameDescription:
  name:
    label: 名称
    placeholder: 名称
  description:
    label: 描述
    placeholder: 描述
    expand: 添加描述

formNetwork:
  title: 网络
  detail: 设置容器的网络和DNS选项
  netMode:
    label: 使用主机网络
    disable: "否"
    enable: "是"
  dnsPolicy:
    label: DNS策略
    clusterFirstWithHostNet: "主机网络下集群DNS优先"
    clusterFirst: "集群DNS优先"
  dnsConfig:
    nameservers:
      label: DNS服务器地址
      addActionLabel: 添加DNS服务器
      placeholder: "例如: 192.168.2.1"
    options:
      label: DNS解析选项
      addActionLabel: 添加
      name:
        label: 名称
        placeholder: "例如: ndots"
      value:
        label: 值
        placeholder: "例如: 5"
    searches:
      label: DNS搜索域
      placeholder: "例如: example.com"
      addActionLabel: 添加搜索域
  container:
    label: 容器
  requestedIp:
    label: 请求IP
    placeholder: '例如: 10.42.2.24'
    help: 从10.42.0.0/16网段中请求指定的IP地址，如果此IP地址已经被使用则会分配随机IP。
  retainIp:
    label: 保持IP
    reuse: 当升级或替换不健康的容器实例时保持IP地址不变。
  dns:
    label: 服务发现
    enable: 启用服务发现并使用本地缓存DNS服务器。
    disable: 禁用服务发现并使用外部远端DNS服务器。
  hostname:
    label: 主机名
    placeholder: '例如: web'
    dockerId: 使用Docker容器ID
    hostName: 使用主机的主机名
    containerName: 使用容器名称
    custom: 设置主机名
  domainName:
    label: 域名
    placeholder: '例如: example.com'
  resolvingServers:
    label: 解析服务器
    addActionLabel: 添加服务器
    placeholder: '例如: 114.114.114.114'
  searchDomains:
    label: 搜索域
    placeholder: '例如: prod.example.com'
    addActionLabel: 添加搜索域
  subdomain:
    label: 子域名
    placeholder: '例如: foo'
  hostAlias:
    addActionLabel: 添加主机别名
    label: 主机别名(/etc/hosts记录)
    host:
      label: 主机名
      placeholder: '例如: database'
    ip:
      label: IP地址
      placeholder: '例如: 192.168.0.1'

formCustomMetrics:
  title: 自定义指标
  detail: 配置自定义指标端口，监控系统将通过这些端口采集自定义指标。
  port:
    label: 容器端口
    placeholder: "例如: 8080"
  path:
    label: Path
    placeholder: "例如: /metrics"
  protocol:
    label: 协议
  noPorts: 没有自定义指标
  addActionLabel: 添加自定义指标

formServicePorts:
  header: 端口映射
  addAction: 添加端口
  noPorts: 此服务没有端口映射。
  name:
    label: 端口名称
    placeholder: "例如: myport"
  port:
    label: 发布服务端口
    placeholder: "例如: 8088"
  protocol:
    label: 协议
  targetPort:
    label: 目标端口
    placeholder: "例如: 80"
    default: "与服务端口相同"
  nodePort:
    label: 主机端口
    placeholder: "例如: 30000"
formPorts:
  header: 端口映射
  addAction: 添加规则
  warning: "这个工作负载不是由{appName}或{appName} API创建的,{appName}不会自动为端口映射创建相关服务。"
  kind:
    label: 网络模式
    NodePort: NodePort(所有主机端口均可访问)
    HostPort: HostPort(仅Pod所在主机端口可访问)
    ClusterIP: 集群IP(集群内部访问)
    LoadBalancer: L4层负载均衡器(对接公有云负载均衡服务)
    LoadBalancerDisbaled: 'Layer-4 Load Balancer (disabled)'
  sourcePort:
    label: 主机监听端口
    placeholder: '例如: 80'
    ipPlaceholder: '例如: 80或19.82.2.24:80'
    clusterIpDefault: '与容器端口相同'
  nodePort:
    placeholder: '默认端口范围30000-32768，例如: 30000'
    customPortRangePlaceholder: "端口范围{range}，例如: {port}"
  containerPort:
    label: 容器端口
    placeholder: "例如: 8080"
  protocol:
    label: 协议
  name:
    label: 名称
    placeholder: '例如: backend'
  dnsName:
    label: DNS记录
    placeholder: '例如: example'
  noPorts: 当前Pod没有映射端口
  error:
    privateRequired: 每条映射规则必须设置容器端口。
    publicRequired: 如果指定了主机IP，则需要源端口。
    hostPort:
      sourcePortRequired: 对于运行Pod的主机，必须始终源端口。
    loadBalancer:
      sourcePortRequired: 每条规则必须设置源端口。
    mixedIpPort: "Port{ip}:{port}/{proto}有超过一条映射规则。"
    mixedPort: "Port{port}/{proto}有超过一条映射规则。"
  showAdvanced: 显示端口命名选项

formScale:
  label: 类型
  showAdvanced: 更多选项
  scaleMode:
    deploymentPrefix: "部署"
    replicationControllerPrefix: "复制控制器"
    replicaSetPrefix: "副本集"
    statefulSetPrefix: "有状态(StatefulSet)部署"
    scaleSuffix: |
      {scale, plural,
      =1{个Pod}
      other{个Pods}
      }
    daemonSet: "每台主机部署1个Pod(DaemonSet)"
    cronJob: "Cron定时运行"
    job: Job
    sidekickInactive: "Sidecar: 将容器添加到现有工作负载"
    sidekickPrefix: "Sidecar: 添加容器到"
    sidekickSuffix: ""

formScheduling:
  title: 主机调度
  detail: 配置Pod对应的主机调度规则。
  status: |
    {count, plural,
    =0{无规则}
    =1{#条规则}
    other{#条规则}
    }
  canRequestHost:
    vm: 在指定主机上运行<b>所有</b>虚拟机
    containers: 指定主机运行<b>所有Pods</b>
  runSpecific: 在指定主机上运行此Pod
  noRules: 没有配置规则
  noToleration: 未配置节点污点
  autoRun: "在匹配调度规则的每个主机上自动运行"
  autoPick:
    vm: "为每一个虚拟机自动选择符合调度规则的主机"
    container: "为每一个Pod自动选择符合调度规则的主机"
    host: "自动选择符合调度规则的主机"
  addRule: 添加规则
  addCustom: 添加自定义规则
  condition: 条件
  field: 字段
  key: 标签键
  value: 标签值
  operator: 操作符
  effect: 效果
  time: 时间
  toleration:
    title: 调度容忍
    add: 增加调度容忍
  scaling:
    minMaxDetail: 如果设置，用户将无法通过界面或API请求使容器数量低于最小数量或超过最大数量。
    incrementDetail: 如果设置，容器数量必须是它的倍数。
    hostMaxDetail: 如果设置，容器将最多被运行在这个数量的主机上。
  scaleMin: 最小数量
  scaleMax: 最大数量
  scaleIncrement: 伸缩增量
  hostMax: 最大主机数
  perHost: 每个主机
  priority:
    label: 优先级等级
    placeholder: '例如: 3'
  priorityClassName:
    label: 优先级显示名称
    placeholder: '例如: 高'
  scheduler:
    label: 调度
    placeholder: '例如: MyScheduler'
  nodeSelector:
    requireAll: "必须 "
    requireAny: "最好"
    preferred: "首选"
    operator:
      lt: '<'
      le: |
        &le;
      eq: '='
      ne: |
        &ne;
      gt: '>'
      ge: |
        &ge;
      in: '在列表中'
      notIn: '不在列表中'
      exists: '已设置'
      notExists: '未设置'
    multiple:
      placeholder: '例如: foo，bar，baz'
    custom:
      placeholder: '例如: foo>42 && bar != baz'

formSources:
  title: 来自其他源的环境变量
  detail: 来自其他源的环境变量允许您将密码、密钥或其他信息注入需要它们的容器中。
  noData: 没有来自其他源的环境变量
  noMatch: 没有匹配当前搜索的来自其他源的环境变量
  addLabel: 添加源
  type:
    label: 类型
  source:
    label: 源
  prefixOrKey:
    label: 键
  prefix:
    label: 前缀或别名
  field:
    placeholder: "例如: spec.nodeName"
  resource:
    placeholder: "例如: requests.cpu"
  container:
    placeholder: '例如: my-container'

formSecurity:
  title: '安全/主机设置'
  detail: 授予或限制容器影响所运行主机的能力
  pullImage:
    label: 镜像拉取策略
    always: 总是拉取
    ifNotPresent: 不存在则拉取
  privileged:
    label: 特权模式
    disable: "否"
    enable: "是: 容器具有所有主机访问权限"
  allowPrivilegeEscalation:
    label: 提升特权
    disable: "否"
    enable: "是: 容器可以获得比其父进程更多的特权"
  hostIPC:
    label: 使用主机的IPC命名空间
  runAsNonRoot:
    label: 以非root用户身份运行
    disable: "否"
    enable: "是: 容器必须以非root用户身份运行"
  readOnlyRootFilesystem:
    label: 只读根文件系统
    disable: "否"
    enable: "是: 容器有只读的根文件系统"
  hostPID:
    label: 使用主机的PID命名空间
  memoryLimit:
    label: 内存限制
    unlimited: 无限制
    set: 限制为
  cpuLimit:
    label: CPU限制
    unlimited: 无限制
    set: 限制为
    unit: milli CPUs
  swapLimit:
    label: 交换内存
    unlimited: 无限制
    set: 限制为
    default: 限制为两倍物理内存
    none: 不允许使用交换内存
  swappiness:
    label: Swappiness
    default: 使用主机的默认值
    none: 最小
    set: 自定义(1-100)
  cpuPinning:
    label: CPU绑定
    placeholder: "例如: 0,1,3  默认: All"
  shares:
    label: CPU份额
    placeholder: '例如: 1024'
  capabilities:
    add: 增加内核功能
    drop: 移除内核功能
    helpBlock:
      text: 内核能力能够对容器所拥有的超级用户权限进行更细粒度的控制，
      link: 更多信息
  deviceBinding:
    label: 设备绑定
    addActionLabel: 添加绑定
    pathHost:
      label: 主机内路径
      placeholder: '例如: /dev/sdc'
    pathContainer:
      label: 容器内路径
      placeholder: '例如: /dev/xsdc'
    permissions:
      label: 权限
  memoryReservation:
    label: 内存预留
    placeholder: '例如: 128'
  milliCpuReservation:
    label: CPU预留
    placeholder: '例如: 1000'
    unit: milli CPUs
  gpuReservation:
    label: NVIDIA GPU预留
    placeholder: '例如: 1'
    unit: GPUs
  isolation:
    label: 隔离
    default: 默认(容器)
    hyperv: HyperV(虚拟机)

formSslTermination:
  title: SSL/TLS证书
  detail: '配置用于端口加密的SSL/TSL证书。'
  defaultCertificate:
    prompt: '选择证书...'
  default:
    label: 使用默认的ingress controller证书
    noHosts: 请提供至少一个主机给默认证书
  custom:
    label: 选择证书
    required: 请选择证书
  alternateCertificate:
    prompt: '选择证书...'
  certificate: 证书
  alternateCerts: 备选证书
  addAlternate: 添加备选证书
  noCertificates: 没有可用的证书。
  wildcardCert: 请提供至少一个主机，因为证书{name}是一个通配符证书。
  noCertificatesConfiged: 没有证书
  noAlternateCertificates: 没有其他可用的证书。
  hosts: 主机
  noHosts: 没有主机
  host:
    label: 主机
    placeholder: '例如: example.com'
  addHostLabel: 添加主机
  helpBlock: |
    "注意: 一些旧的SSL/TLS客户的不支持<a href="https://en.wikipedia.org/wiki/Server_Name_Indication" target="_blank">Server Name Indication(SNI)</a> 功能，对于这些客户端将只提供主证书。对于支持SNI功能的现代客户端将根据匹配结果从备选证书列表中选择一个合适的证书"
  notNeeded: 没有配置了有效的目标规则的SSL/TLS的监听端口。
  removeCertLabel: 删除此证书
  addCertLabel: 添加证书

formNamespace:
  label:
    reuse: 命名空间
    create: 命名空间
    default: 默认命名空间
  toggle:
    simple: 自定义
    reuse: 使用现有的名称空间
    create: 创建新的命名空间
  reuse:
    prompt: 选择命名空间...
  create:
    placeholder: '例如: Myapp'
  errors:
    noneChosen: 您必须选择命名空间。
    validation: "命名空间: {error}"

formUserData:
  placeholder: "例如: 容器的配置信息"
  isVmPlaceholder: "例如: 虚拟机的配置信息"
formLabelsAnnotations:
  title: '标签/注释'
  detail: "用于调度决策的键值对。后端重写请配置注释: 键: nginx.ingress.kubernetes.io/rewrite-target，值: /。"
formUserLabels:
  title: 标签
  detail: 标签是可用于注释容器并进行调度决策的键值对。
  nodeDetail: 键/值对形式的标签将应用于主机上，用于容器的调度决策。
  addAction: 添加标签
  key:
    label: 键
    placeholder: '例如: foo'
  separator: "="
  value:
    label: 值
    placeholder: '例如: bar'
  protip: "高级技巧: 粘贴一行或多行的key=value键值对能够批量输入。"

formAccessModes:
  label: 访问模式
  accessRWO: 单主机读写
  accessROX: 多主机只读
  accessRWX: 多主机读写

formAnnotations:
  addActionLabel: 添加注释
  title: 注释
  detail: 配置容器的注释(键/值元数据)。
  errors:
    invalidJSON: JSON注释格式无效。
    topLevelValueInvalid: JSON注释顶级值必须是对象。

formAuthCloudCredential:
  add: Add New
  label: 云凭证
  selectCreds:
    prompt: 选择云凭证


formJobConfig:
  title: Job配置
  detail: 配置Job需要的参数。
  times: |
    {count, plural,
      =1{Time}
      other{Times}
    }
  seconds: |
    {count, plural,
      =1{Second}
      other{Seconds}
    }
  completions:
    label: 完成
    detail: 成功运行Job的Pod的数量。
  parallelism:
    label: 并行数
    detail: Job在给定时间内应运行的最大Pod数。
  backoffLimit:
    label: Back Off Limit
    detail: 标记此作业失败之前的重试次数。
  activeDeadlineSeconds:
    label: 停止延迟时间
    detail: 在系统尝试终止Job之前,job可能处于活动状态的持续时间。
  suspend:
    label: 暂停

formUpgrade:
  title: 缩放/升级策略
  detail: 配置升级过程中替换Pod的策略。
  strategy:
    label: 升级策略
    orderedReady: 严格按顺序更新并等待准备就绪
    parallel: 启动所有新Pod和停止所有旧Pod并行执行
    onDelete: 仅当手动删除旧Pod时才启动升级新Pod
    recreate: 删除所有Pod，然后重新开始
    rollingUpdate: 滚动更新
    startFirst: '滚动: 先启动新Pod，再停止旧Pod'
    stopFirst: '滚动: 先停止旧Pod，再启动新Pod'
    custom: 自定义
    batchSize:
      label: 批量大小
      detail: Pod将批量启动或停止
    maxSurge:
      label: 最大浪涌
      detail: 在任何给定时间内允许超出所需规模的最大Pod数量。
    maxUnavailable:
      label: 最大不可用
      detail: 在任意给定时间最大不可用的Pod数量。
    minReadySeconds:
      label: 最短准备时间
      detail: 在Pod被视为可用之前，Pod中的容器需至少运行多长时间。
    progressDeadlineSeconds:
      label: 进度截止时间
      detail: 将部署标记为停滞状态之前需要等待多久时间才能看到进度。


formValueArray:
  addActionLabel: 添加值
  valueLabel: 值
  valuePlaceholder: 值
  noData: 没有数据
  protip: '高级技巧: 在任意输入栏中粘贴一行或多行的value能够批量输入。'

formVersions:
  experimental: "(实验)"
  unsupported: "(不支持)"

formVolumeRow:
  prompt: 选择持久卷声明...
  name:
    label: 卷名
    placeholder: '例如: vol1'
  volumeClaimTemplateName:
    label: Volume Claim Template Name
    placeholder: '例如: vol1'
    vctWarning: Stateful workloads launched with volume claim templates will become uneditable due to a <a href="https://github.com/kubernetes/kubernetes/issues/69041" target="_blank" rel="nofollow noreferrer noopener">upstream bug</a> in Kubernetes. Please be aware that this limitation exists before launching your new workload.
  mode:
    label: 卷类型
    newVolume: 临时卷
    existingVolume: 已有的卷
    newPvc: 卷声明
    existingPvc: 持久卷声明
    existingVct: Volume Claim Template
    bindMount: 路径映射卷
    tmpfs: Tmpfs
    secret: 密文卷
    configmap: 配置映射卷
    certificate: 证书卷
    newVolumeClaimTemplate: New Volume Claim Template
  remove: 删除卷
  subPath: 卷中的子路径
  readOnly: 只读
  noVolume: 卷不会被挂载到当前容器中，它可能被Pod中的其他容器使用。
  addMount: 添加映射
  mounts:
    mountPoint: 容器路径
    subPath: '子路径(仅适用于数据卷挂载，不适用于主机路径映射)'
    readOnly: 只读
    helper: 卷不会被挂载到当前容器中，它可能被Pod中的其他容器使用。
  customLogPath:
    helpText: 我们将部署Flexvolume驱动程序来创建卷并将日志挂载到主机，GKE集群现在支持该功能。

formVolumes:
  title: 数据卷
  detail: 持久化及共享数据并与独立容器的生命周期分离。
  value:
    prompt: 选择容器...
  volumes: 卷
  volumesFrom: 卷来自
  volumeDriver:
    label: 卷驱动
    placeholder: '例如: rancher-nfs，默认: local'
    suggestion: '使用的存储驱动:'
  noLaunchConfigs: 此服务下没有可共享卷的启动配置。
  noHostContainers: 该主机没有可以提供共享卷的容器。
  onlySingleHost: 仅当添加容器到特定主机时适用。
  errors:
    incomplete: 尚未完成卷定义
    absoluteMountPoint: 卷挂载点必须使用绝对路径。
  add:
    label: 添加卷...
    newVolume: 添加临时卷
    existingVolume: 现有的临时卷
    newPvc: 添加新的持久卷(声明)
    existingPvc: 使用现有的持久卷(声明)
    bindMount: 映射主机目录
    tmpfs: 添加内存中的tmpfs
    secret: 密文卷
    configMap: 配置映射卷
    certificate: 证书卷
    customLogPath: 从目录读取日志文件
    vct: Add a Volume Claim Template
  table:
    kind: 类型
    source: 源
    mountPoint: 挂载点
    opts: 权限/选项

formCapabilityPodSecurityPolicy:
  title: 内核安全策略
  detail: 配置一组功能策略
  capabilities:
    allow: 启用的功能
    add: 默认添加的能力
    drop: 必须禁用的内核能力

formVolumePodSecurityPolicy:
  title: 卷策略
  detail: 控制卷类型的使用
  volumes: 数据卷

formAllowedHostPathsPodSecurityPolicy:
  title: 允许主机路径策略
  detail: 允许的主机路径的白名单
  path:
    addLabel: 添加路径前缀
    placeholder: '例如: /foo'

formFsGroupPodSecurityPolicy:
  title: FS组策略
  detail: 分配拥有Pod卷的FSGroup
  rule:
    mustRunAs: MustRunAs-至少需要指定一个范围，使用第一个范围的最小值作为默认值，对照第一个范围中的第一个ID进行验证。
    runAsAny: RunAsAny - 没有默认值，允许指定任何fsGroup ID。
  range:
    addLabel: 添加范围
    max:
      label: 最大值
      placeholder: '例如: 6'
    min:
      label: 最小值
      placeholder: '例如: 1'

formHostPortsPodSecurityPolicy:
  title: 主机端口策略
  detail: 使用主机端口
  port:
    addLabel: 添加端口范围
    max:
      label: 最大值
      placeholder: '例如: 7000'
    min:
      label: 最小值
      placeholder: '例如: 6000'

formRunAsUserPodSecurityPolicy:
  title: 用户运行策略
  detail: User ID
  rule:
    mustRunAs: MustRunAs - 需要配置范围，使用范围的第一个值作为默认值。根据配置的范围进行验证。
    mustRunAsNonRoot: MustRunAsNonRoot - 要求使用非零runAsUser启动Pod，或者在镜像中定义USER指令，不提供默认值。
    runAsAny: RunAsAny - 无默认值，允许任何runAsUser来指定。
  range:
    addLabel: 添加范围
    max:
      label: 最大值
      placeholder: '例如: 6'
    min:
      label: 最小值
      placeholder: '例如: 1'

formSeLinuxodSecurityPolicy:
  title: SELinux策略
  detail: 容器的SELinux上下文
  rule:
    mustRunAs: MustRunAs - 使用seLinuxOptions作为默认值，根据seLinuxOptions进行验证。
    runAsAny: RunAsAny - 允许指定任何seLinuxOptions设置
  level:
    label: 等级
    placeholder: '例如: dev1'
  role:
    label: 角色
    placeholder: '例如: node'
  user:
    label: 用户
    placeholder: '例如: master'

formSupplementalGroupsPodSecurityPolicy:
  title: 补充组策略
  detail: 配置允许的补充组
  rule:
    mustRunAs: MustRunAs - 需要至少指定一个范围，使用第一个范围的最小值作为默认值，针对所有范围进行验证。
    runAsAny: RunAsAny - 无默认值。允许指定任何补充组。
  range:
    addLabel: 添加范围
    max:
      label: 最大值
      placeholder: '例如: 6'
    min:
      label: 最小值
      placeholder: '例如: 1'

formBasicPodSecurityPolicy:
  title: 基本策略
  detail: 配置基本的Pod安全策略
  allowPrivilegeEscalation:
    label: 允许提升特权
    enable: '是: 运行允许从其父级升级特权的容器'
    disable: "否"
  defaultAllowPrivilegeEscalation:
    label: 默认允许提升特权
    enable: '是: 控制进程可以获得父进程获得更多特权'
    disable: "否"
  hostIPC:
    label: 主机IPC
    enable: "是: 主机IPC命名空间"
    disable: "否"
  hostNetwork:
    label: 主机网络
    enable: "是: 使用主机网络"
    disable: "否"
  hostPID:
    label: 主机PID
    enable: "是: 主机PID名称空间"
    disable: "否"
  privileged:
    label: 特权
    enable: "是: 运行特权容器"
    disable: "否"
  readOnlyRootFilesystem:
    label: 只读根文件系统
    enable: "是: 需要采用只读根文件系统"
    disable: "否"

hostSettings:
  header: 主机注册URL
  subtext: 主机连接{appName}API的Base URL是？
  hostUrl:
    local: "当前站点地址:"
    new:
      labelText: "其他地址:"
      placeholder: "例如: http://example.com:8080"
  helpText:
    static1: "不要包含<code>/v1</code>或任何其他路径，但如果您设置了"
    static2: "在{appName}前面，请确保使用<code>https://</code>."
    isRancher: '<a href="{docsBase}/installing-rancher/installing-server/basic-ssl-config/" target="_blank">SSL termination</a>'
    sslTerm: SSL终止
  notPublic:
    alert: |
      确定要创建的所有主机都能够连接<code>{activeValue}</code>？<br/>当前地址似乎是私有IP或内部网络。
  badTld:
    alert: |
      '<code>.local</code>顶级域名根据RFC6762被保留为用于多播DNS。不推荐使用.local域名作为注册URL，该设置可能导致DNS解析问题。请选择其他的主机名或者IP地址'

hostPod:
  supportState:
    unsupported: 不支持的Docker版本
    untested: 未测试的Docker版本
  groupedInstances:
    namespace: '命名空间:'
    stack: '应用:'
    standalone: 独立容器

identityBlock:
    loading: 加载中...


inputAnswers:
  yaml: 编辑YAML
  config: 配置选项
  editAsForm: 编辑表单
  yamlConfig: 粘贴或者上传yml/yaml格式的应答参数
  yamlProtip: 您可以在下面的预览部分，找到该应用的默认应答值
  unknownType: "未识别问题类型:"
  noConfig: 该模板没有配置选项
  protip: "粘贴和读取操作要求应答为yml/yaml格式"

inputIdentity:
  placeholder:
    github: 添加GitHub用户或组织名称
    generic: 添加用户名或组名
  dropdownLabel:
    teams: 团队和组织
    groups: 组

inputPassword:
  buttonText: 生成

inputTextFile:
  tooltip: 从文件读取

uploadFile:
  label: 从文件读取

podsSection:
  title: Pods
  detail: 此工作负载中的Pods

containersSection:
  title: 容器
  detail: Pod中的容器
  noData: 没有容器
  noMatch: 没有容器匹配当前搜索
  initContainer: Init Container

labelsSection:
  kind: 类型
  title: 标签
  detail: 键/值可以被用在主机调度规则里和一些其他的高级设置中
  status: |
    {count, plural,
    =0{无标签}
    =1{#个标签}
    other{#个标签}
    }
  key: 键
  value: 值
  noData: 没有标签
  noMatch: 没有标签与当前搜索匹配

loginShibboleth:
  buttonText: 用Shibboleth登录

loginGithub:
  buttonText: 用GitHub登录

loginAzure:
  buttonText: 用Azure AD登录

loginSaml:
  ping:
    buttonText: "使用Ping登录"
  adfs:
    buttonText: "使用AD FS登录"
  okta:
    buttonText: "使用Okta登录"
  keycloak:
    buttonText: "使用Keycloak登录"

loginUserPass:
  local: 使用本地用户
  externalProvider: 使用{externalName}用户
  provider: "{kind}"
  userLabel: 用户名
  remember: 记住登录
  userPlaceholder: '例如: jsmith'
  genericLoginLabel: 登录
  loginLabel: 登录{provider}
  loggingInLabel: 登录中...
  passwordLabel: 密码

machineTemplatesPage:
  title: 添加主机
  new:
    helpText: 启动新的主机或通过SSH导入已经运行Docker的主机
    btn: 设置
  custom: 自定义添加一台现有的正在运行Docker的主机
  templateBox:
    button: 选择
    labels:
      region: 实例所在地区
      zone: 区域

newCertificate:
  title:
    new: 添加证书
    edit: '编辑证书: {name}'
    view: '证书: {name}'
  key:
    label: 私钥
    required: 必须填写私钥
    invalidFormat: 私钥无效
    placeholder: "粘贴或导入私钥，以-----BEGIN RSA PRIVATE KEY-----开头"
  cert:
    label: 证书
    required: 必须填写证书
    invalidFormat: 无效的证书
    placeholder: "粘贴或导入证书，以-----BEGIN CERTIFICATE-----开头"
    protip: 包括全部所需的证书链
  certChain:
    label: 证书链
    placeholder: "粘贴或导入证书，以-----BEGIN CERTIFICATE-----开头"
  metaXML:
    label: 元数据XML
    placeholder: "粘贴IDP Metadata XML"
  publicKey:
    label: SSH公钥
    required: 必须填写公钥
    invalidFormat: 公钥无效
    placeholder: "粘贴或导入证书，以'ssh-rsa', 'ssh-dss', 'ssh-ed25519', 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384', or 'ecdsa-sha2-nistp521'开头"
  errors:
    encrypted: 私钥不能被密码保护
    key:
      required: 必须填写私钥
      invalidFormat: 私钥无效，请确保它是RSA密钥
    cert:
      required: 必须填写证书
      invalidFormat: 证书无效

modalAboutComponent:
  component: 组件
  version: 版本
  cattle: Cattle
  cli: 命令行
  ui: 用户界面
  helm: Helm
  machine: 主机

modalAddPayment:
  header: 添加新的付款方式
  save: 保存
  errors:
    cc: 不正确的信用卡号码
    exp: 不正确的有效期
    cvc: 不正确的CVC number
    street: 街道信息为必填项
    city: 城市信息为必填项
    state: 省份信息为必填项
    zip: 邮编信息为必填项
  form:
    currency:
      label: 选择币种
    cc:
      label: 信用卡号码
      placeholder: '• • • • • • • • • • • •'
    default:
      label: 默认卡
    name:
      label: 所有者名称
      placeholder: '约翰 · 史密斯'
    exp:
      label: 有效期
      placeholder: '••/••'
    cvc:
      label: CVC号码
      placeholder: '•••'
    address:
      addressLine1:
        label: 地址栏1
        placeholder: 742 Evergreen Terrace
      addressLine2:
        label: 地址栏2
        placeholder: Apt. 123
      city:
        label: 城市
        placeholder: Shanghai
      state:
        label: 省
        placeholder: Shanghai
      zip:
        label: 邮编
        placeholder: '518000'
      country:
        label: 国家
        placeholder: 中国
  currencies:
    yuan: "人民币(¥)"
    euro: "欧元(€)"
    dollar: "美元($)"

modalAddCloudKey:
  name:
    placeholder: '例如: production-credentials'
  description:
    placeholder: '例如: cloud credential for production'
  header:
    new: 添加云凭证
    edit: 编辑云凭证
  type: 凭证类型
  saving:
    validating: Validating Keys
  errors:
    validation: '{ status }: 验证密钥时出现问题，请输入有效凭证，然后重试。'
    region: 您必须选择一个区域来验证您的密钥
  typeSelect:
    prompt: 选择云凭证提供商类型
  amazonec2:
    accessKey:
      label: Access Key
      placeholder: Your AWS access key
    secretKey:
      label: Secret Key
      placeholder: Your AWS secret key
  azure:
    clientId:
      label: Client ID
      placeholder: Your Client ID
    clientSecret:
      label: Client Secret
      placeholder: Your Client Secret
  digitalocean:
    accessToken:
      label: Access Token
      placeholder: Your DigitalOcean API access token
      help: |
        粘贴来自DigitalOcean的
        <a href="https://cloud.digitalocean.com/settings/api/tokens" target="_blank" rel="nofollow noreferrer noopener">Applications & API</a>。
  vmwarevsphere:
    password:
      label: Password

modalContainerStop:
  header: "确认要停止吗？"
  helpText: "在超时时间后容器将被强制停止"
  protip: "高级技巧: 在点击停止按钮时按住{key}键以跳过此确认提示"
  label: 超时
  button: 停止


modalConfirmDeactivate:
  header: 是否确认要
  protip: "高级技巧:在点击{isServiceButton}时按住{key}键以跳过确认操作"
  cancel: 取消
  buttons:
    project:
      message: 停用环境
      button: 停用
    environment:
      message: 停止服务
      button: 停止服务
    default:
      message: 停用
      button: 停用

modalConfirmRemovePayment:
  header: '确认移除付款信息'
  title: '是否确认要删除'
  card: '以{card}结尾的信用卡'

modalEditDriver:
  header:
    create: 添加驱动
    edit: 编辑驱动
  url:
    label: 下载URL
    help: 64位Linux Docker-Machine驱动下载地址
  uiUrl:
    label: 自定义UI URL
    help: "可选项: 用于加载本驱动程序的自定义添加主机界面的URL"
    link: 参考<a href="https://github.com/rancher/ui-driver-skel" target="_blank">ui-driver-skel</a>以了解更多信息
  checksum:
    label: 校验和
    help: "可选: 检验下载的驱动是否匹配期望的校验和"
  whitelist:
    label: 域名白名单
    addActionLabel: 添加域名
    noData: 没有域名


modalEditSetting:
  title: 编辑高级设置
  name:
    label: 名称
  value:
    label: 值
    prompt: 选择值...
  reset:
    label: 重置为默认值

modalEditPassword:
  firstLogin:
    title: "欢迎使用{appName}"
    help: '第一步: 请为默认<code>admin</code>用户设置强密码'
    actionButton: 继续
  edit:
    title: 修改密码
    help: 请输入新密码。
  current: 当前密码
  new: 新密码
  confirm: 确认密码
  mismatch: 密码不匹配
  actionButton: 修改
  mode:
    generate: '使用新的随机生成的密码: '
    manual: '设置特定的密码来使用: '

modalFeedback:
  header: "欢迎使用{appName}!"
  subtitle: "在开始使用前，请让我们了解关于您的信息..."
  send: 开始使用

modalHostEvacuate:
  header: "确认进行疏散操作"
  helpText: "此操作将停用该主机并删除主机上所有运行的非基础设施容器"
  protip: "进阶提示: 在点击时按住{key}键以跳过确认操作"
  button: 疏散

modalImport:
  title: 导入YAML
  mode:
    label: 导入模式
    cluster: "集群: 直接将资源导入到此集群中"
    project: "项目: 将资源导入此项目"
    namespace: "命名空间: 将资源导入特定的命名空间"
  detail:
    cluster1: 如果资源指定了命名空间，那么会自动创建命名空间，但是不会自动加入到项目中
    cluster2: 如果资源没有指定命名空间，它将被导入到default中
    cluster3: '该模式还支持没有命名空间的资源，例如: RoleTemplates'

    project1: 不指定命名空间的资源将被导入到选定的默认命名空间中
    project2: 如果资源指定了不存在的命名空间，此命名空间将被创建并添加到这个项目中

    namespace1: 所有资源将被导入到选定的命名空间中
    namespace2: 如果资源指定了不同的命名空间，则导入将失败


modalProcessError:
  header: 异常信息
  cause: "原因:"
  none: N/A
  stackTrace: "堆栈跟踪:"
  close: 关闭

modalDrainNode:
  titleOne: '驱散节点: "{name}"'
  titleMultiple: '驱散{count}个节点'
  action: 驱散
  mode: 模式
  safe:
    label: 安全
    helpText: 如果节点具有独立的Pod或临时的数据，它将被隔离但不会被驱散。
  aggressive:
    label: Aggressive
    helpText: <b>永久删除</b>:<ul class="m-0"><li>独立Pods和它们的数据</li><li>Pods和"Empty Dir"卷以及它们的数据。</li></ul>
  gracePeriod:
    title: 'Pod终止延时时间:'
    default: 使用默认设置时间
    placeholder: '例如: 30'
    custom: "忽略默认值自定义延时时间:"
  timeout:
    title: "驱散超时时间:"
    default: 一直不断重试
    placeholder: '例如: 60'
    custom: "自定义超时时间:"

modalRevertSettings:
  title: "将{setting}还原为默认值?"
  current: 当前值
  default: 默认值

modalRestoreBackup:
  title: 数据恢复
  backups: 可用备份
  error: 需要备份
  fetching: 获取新的备份
  select:
    all: 选择备份

modalRotateCertificates:
  title: 更新集群证书
  caCerts: 更新集群CA证书和所有服务证书
  servicesCa: 更新所有服务证书(保持CA不变)
  services: 仅更新所有服务证书 (不更新CA证书)
  single: 更新单个服务
  dropdownLabel: 服务
  select:
    all: 选择服务...

modalRollbackService:
  title: '回滚"{instanceName}"'
  titleWithSidekicks: '回滚"{instanceName}"&{count, plural,=1{#个sidecar}other{#个sidecars}}'
  action: 回滚
  current:
    label: 当前版本
  revisionId:
    label: 回滚到版本
    prompt: 选择版本..
  difference:
    label: 区别

modalRollbackApp:
  title: '回滚 "{appName}"'
  action: 回滚
  current:
    label: 当前版本
  revision:
    label: 回滚到版本
    prompt: 选择版本...
  difference:
    label: 差异

modalShell:
  title: "命令行: "

modalShortcuts:
  world: 世界
  time: 时间
  title:
    rancher: "欢迎来到传送门！"
    pl: 快捷键
  global: 全局
  cluster: 集群
  project: 项目
  other: 其他的东西
  shift: Shift-{key}
  delete: 删除所选择的(在表视图中)
  kubectl: Kubectl Shell

  viewGroup: 切换分组视图
  nextTab: 下一页
  search: 聚焦搜索字段
  shortcuts: 您在这里

modalYaml:
  title:
    new: 导入{type}YAML
    edit: '编辑YAML: {name}'
    view: '查看YAML: {name}'
modalWechat:
  title: '扫码关注Rancher中国微信技术群'
  wechat: 微信
modalWelcome:
  header: "欢迎使用{appName}!"
  closeModal: 确认

namespaceGroup:
  label: "命名空间: {name}"
  none: Pod
  project: "命名空间: 全部"

nodeGroup:
  label: "主机: {name}"

newIngress:
  header:
    add: 添加Ingress
    edit: 编辑Ingress
  error:
    noRules: "您必须有一个或多个规则"
newBalancer:
  header:
    add: 添加负载均衡
    edit: 编辑负载均衡
    upgrade: 升级负载均衡
  error:
    noRules: "必须有一个或多个目标规则和监听端口"
    noSourcePort: "每条规则必须设置源端口"
    invalidSourcePort: "不正确的源端口: '{num}'"
    invalidTargetPort: "不正确的目标端口: '{num}'"
    mixedPort: "端口{num}有多条冲突的访问/协议规则"
    noTarget: "每条规则必须设置目标端口"
    noTargetPort: "每个规则需要设置目标端口"
    needsCertificate: "设置SSL/TLS规则时需要证书"
    stackName: "请输入新应用的名称"

newCatalog:
  answers:
    label: 应答
    addAction: 添加应答
  catalog: "应用商店:"
  category: "类别:"
  config: 配置选项
  helm:
    label: 配置选项
    protip: Helm模板接受逗号做为分隔符的字符串列表
  kind: "应用分类: "
  license: "授权:"
  maintainedBy: 由社区成员维护
  maintainer: "维护者:"
  newNamespace: 新的命名空间
  customizeNamespace: "此应用程序将被部署到<code>{namespaceId}</code>命名空间"
  newAppDetail: 选择应用程序版本和对应的命名空间
  appInfo: 详细描述
  appInfoDetail: 应用程序信息和用户guid
  noConfig: 该模板没有配置选项
  official: 官方认证
  preview: 预览
  forceUpgrade: 如果升级过程中需要，删除和重新创建资源
  forceRollback: 如果在回滚期间需要，删除和重新创建资源
  templateFiles: 模版文件
  seeMore: 更多信息...
  saveConfigure: 设置
  saveNew: 启动
  saveUpgrade: 升级
  selectVersionAdd: 选择模板版本部署
  selectVersionConfigure: 选择模板版本设置
  selectVersionUpgrade: 选择模板版本升级
  startService: 创建后启动服务
  support: "支持:"
  templateVersion: 模板版本
  titleAdd: "添加{name}应用"
  titleConfigure: "设置{name}应用"
  titleUpgrade: "升级{name}应用"
  txt: answers.txt
  unknownType: "未识别问题类型:"
  upgrade: "升级:"
  url: "项目URL:"
  version:
    prompt: 选择版本...
    default: 当前默认(当前版本{version})

newMultiClusterApp:
  answers:
    label: 应答
    addAction: 添加应答
  access:
    noAccessLink: 您无法访问目标项目
  catalog: "应用商店:"
  category: "类型:"
  config: 配置选项
  helm:
    label: 配置选项
    protip: Helm模板接受逗号分隔的字符串列表
  kind: "商店类型:"
  license: "许可:"
  maintainedBy: 由社区成员维护
  maintainer: "维护人员:"
  newNamespace: 新的命名空间
  customizeNamespace: "此应用程序将部署到<code>{namespaceId}</code>命名空间中。"
  newAppDetail: 为应用程序选择应用程序版本和名称空间
  appInfo: 详细描述
  appInfoDetail: 应用程序信息和用户指南
  noConfig: 此模板没有配置选项
  official: 官方认证
  preview: 预览
  templateFiles: 模板文件
  seeMore: 更多信息...
  saveConfigure: 配置
  saveNew: 执行
  saveUpgrade: 升级
  selectVersionAdd: 选择要部署的模板的版本
  selectVersionConfigure: 选择要配置的模板的版本
  selectVersionUpgrade: 选择要升级到的模板版本
  startService: 创建后启动服务
  support: "支持:"
  targets:
    label: 目标项目
    add: 添加目标
    prompt: 添加目标项目
    target: 目标
    cluster: 集群
    project: 项目
    noData: 当前没有目标
  targetDivider:
    label: 目标驱动
  upgradeDivider:
    label: 更新
  rolesDivider:
    label: 角色
  templateVersion: 模板版本
  titleAdd: "添加 {name} App"
  titleConfigure: "配置 {name} App"
  titleUpgrade: "升级 {name} App"
  txt: answers.txt
  unknownType: "无法识别的问题类型:"
  upgrade: "升级:"
  url: "Project URL:"
  version:
    prompt: 选择版本...
    default: 当时的默认值 (当前{version})
  overrides:
    label: 应答参数
    detail: '在每个集群/项目的基础上覆盖单个应答参数'
    dropdown:
      allProjects: "集群{clusterName}中的所有项目"
      clusterGroup: "集群: {clusterName}"
    add:
      label: 添加应答参数
    table:
      scope: 区域
      question: 问题
      answer: 回答
      noData: 当前没有应答参数
      noMatch: 没有应答参数匹配当前搜索
    scopeOverride:
      placeholder: 选择区域
    questionOverride:
      placeholder: 选择问题
    answerOverride:
      placeholder: 问题需求
  roles:
    title: 角色
    detail: 选择查看此应用程序所需的角色
    label: 可用的角色
    radios:
      cluster: "集群 - 该应用程序将能够访问和管理部署在集群中的所有资源"
      project: "项目 - 该应用程序将能够访问和管理它所部署的项目中的资源"
    help: "注意: 这可能不是完整的角色列表。该列表仅限于用户可用的角色。如果您缺少所需的角色，请询问您的系统管理员。"
    additionalRoles: 现有的角色
    noRoles: "您不能添加新角色，因为您没有任何可用的角色。请联系系统管理员获得角色访问权。"
    table:
      role: 角色
      name: 名称
      builtIn: 内置
      external: 扩展
      noData: 当前没有角色
      noMatch: 没有角色匹配当前搜索
      prompt: "选择角色..."
  members:
    title: 成员
    detail: 选择可以查看此应用程序的成员
    table:
      name: 名称
      type: 成员类型
      accessType: 访问类型
      noData: 目前还没有成员
      noMatch: 没有成员匹配当前搜索
      prompt: 选择值…
  upgradeApp:
    title: 升级策略
    disabled: 同时升级所有应用
    enabled: 滚动更新(批量更新)
    batch: 批量大小
    interval: 时间间隔

newContainer:
  add:
    container: 部署Pod
    service: 部署工作负载
    globalService: 添加全局工作负载
    sidekick: '部署Sidecar'
    sidekickName: '部署{name}的Sidecar'
  upgrade:
    container: 升级容器
    service: 升级服务
    globalService: 升级全局服务
    sidekick: 升级Sidecar
    sidekickName: '升级{name}的Sidecar'
  selectUpgrade: 选择一个或者多个服务进行升级。
  saveUpgrade: 升级
  saveNew: 启动
  name:
    placeholder: '例如: Myapp'
  description:
    placeholder: '例如: 我的应用'
  environment:
    label: 环境变量
    from: 引用其他资源
    detail: 设置容器可见的环境变量，包括从其他资源(如密文等)注入的值。
    addAction: 添加变量
    addFrom: 添加附加资源
    keyLabel: 键
    keyPlaceholder: '例如: FOO'
    valueLabel: 值
    valuePlaceholder: '例如: bar'
  sidekick:
    header: 升级服务
    title: 选择加载配置的服务来升级
    detail: '{service}有多个容器，希望升级哪个容器?'
    primary: 主容器
    sidekick: Sidecars
  containerType:
    title: Sidecar类型
    standard: 标准容器
    init: Init容器

  errors:
    noSidekick: 选择要添加sidecar的工作负载
    duplicateName: '工作负载{service}中已经存在名为{name}的sidecar。'
    quotaRequired: '"{key}"必需设置，因为在项目上执行资源配额。'

newPassword:
  placeholder: 新密码
  password: 新密码
  confirmPassword: 确认密码
  passwordNoMatch: 密码不匹配

newSecret:
  title:
    new: 添加密文
    edit: '编辑密文: {name}'
    view: '密文: {name}'
  name:
    placeholder: '例如: api-key'
  description:
    placeholder: '例如: S3密钥对'
  values:
    label: 密文
  addActionLabel: 添加密文

customDrivers:
  nodes: 主机驱动
  clusters: 集群驱动

clusterDrivers:
  add: 添加集群驱动
  builtIn: 内置
  table:
    noData: 当前集群没有定义任何节点
    noMatch: 没有节点匹配当前搜索

kontainerDriver:
  displayName:
    aliyunkubernetescontainerservice: Alibaba ACK
    amazonElasticContainerService: Amazon EKS
    azureKubernetesService: Azure AKS
    googleKubernetesEngine: Google GKE
    huaweicontainercloudengine: Huawei CCE
    import: Import
    rancherKubernetesEngine: Rancher RKE
    tencentkubernetesengine: Tencent TKE


nodeDriver:
  addTemplate: 添加主机模板
  editTemplate: "编辑主机模板: {name}"
  cloneTemplate: "从{name}克隆主机模板"
  editWarning: 编辑主机模板只会影响由主机池创建的新主机，现有主机将不会自动更新或替换。<br>如果从池中删除主机，将使用模板中的新设置创建新主机
  externalError: "尝试加载自定义驱动{ driverName }出错，请验证自定义节点驱动配置。"
  cloudCredentialError: 云凭证必须设置。
  nameError: 名称必须设置。
  displayName:
    aliyunecs: Aliyun ECS
    aliyunkcs: Alibaba ACK
    amazonec2: Amazon EC2
    amazoneks: Amazon EKS
    azure: Azure
    azureaks: Azure AKS
    cloudca: Cloud.ca
    digitalocean: DigitalOcean
    exoscale: Exoscale
    googlegke: Google GKE
    huaweicce: Huawei CCE
    linode: Linode
    openstack: OpenStack
    otc: Open Telekom Cloud
    packet: Packet
    rackspace: RackSpace
    softlayer: SoftLayer
    tencenttke: Tencent TKE
    vmwarevsphere: vSphere
    zstack: ZStack
  driverOptions: "{driver}选项"
  templateOptions: "{appName}模板"
  amazoneks:
    access:
      next: "下一步: 配置集群"
      loading: 从亚马逊加载集群选项...
      help: "在这里粘贴AWS密钥对。只使用IAM访问键，使用根用户生成的键将使集群不可访问。"
    clusterOption:
      title: 集群选项
      detail: 为集群自定义Kubernetes选项
    kubernetesVersion:
      label: Kubernetes版本
      placeholder: 选择要安装的Kubernetes版本
    role:
      label: 服务角色
      noneSelected: "Rancher创建角色"
      help: "您可以不选择服务角色，Rancher会为您自动创建。"
      radio:
        default: "标准: Rancher生成的服务角色"
        custom: "自定义: 从现有服务角色中选择"
      next: "下一步: 选择 VPC & Subnet"
      loading: "从Amazon加载VPCs..."
    vpc:
      title: VPC & Subnet
      detail: 选择将用于EKS实例的VPC
      next: "下一步: Subnet"
      loading: "加载Subnets..."
      nextRancherDefault: "下一步: 选择实例选项"
      loadingRancherDefault: "加载实例选项..."
      noneSelected: "Rancher创建VPC和Subnet"
      radio:
        default: "标准: 通过Rancher创建VPC和子网"
        custom: "自定义: 从现有VPC和子网中选择"
    subnet:
      title: 子网
      help: 2 必须选择子网
      next: "下一步:选择安全组"
      loading: "从Amazon加载安全组..."
    associateWorkerNodePublicIp:
      title: Worker节点的公网IP
      radio:
        default: 是
        off: '否: 仅私有ip'
    securityGroup:
      title: 安全组
      detail: 选择将应用于EKS实例的安全组
      choose:  选择一个或多个现有安全组
      defaultExisting: "标准: 使用现有的{groupName}组"
      defaultCreate: "标准: 自动创建新的安全组"
      next: "下一步: 设置实例选项"
      loading: 加载设置实例选项...
    ami:
      label: 自定义AMI
      help: "您可以覆盖Rancher基于区域选择的默认AMI"
    max:
      label: 最大平均比重
    min:
      label: 最小平均比重
    userData:
      label: 用户数据
      help: 将用户数据传递给节点以执行自动配置任务
      placeholder: 粘贴脚本
    nodeVolumeSize:
      label: 主机卷大小
      placeholder: '例如: 20'
    accessKey:
      label: Access Key
      placeholder: Your AWS access key
    secretKey:
      label: Secret Key
      placeholder: Your AWS secret key
      provided: Provided
    sessionToken:
      label: "Session Token  <em class='text-muted'>可选</em>"
      placeholder: Your AWS session token
      provided: Provided
    region:
      label: 区域
  amazonec2:
    access:
      title: 1. 帐户访问
      detail: 选择将用于启动EC2实例的区域和API密钥
      next: "下一步: 认证 & 设置节点"
      loading: 从EC2加载可用区和VPC信息...
      help: "在此粘贴AWS密钥对，我们将用秘钥创建新的实例"
    zone:
      title: 2. 区域和网络
      detail: 为实例选择可用区和VPC/子网
      next: "下一步: 选择安全组"
      loading: 从EC2加载安全组信息...
    accessKey:
      label: 访问密钥
      placeholder: AWS access key
    secretKey:
      label: 加密秘钥
      placeholder: AWS secret key
      provided: 已提供
    region:
      label: 区域
    availabilityZone: 可用区域
    subnet: VPC/Subnet
    noSubnet: 当前没有子网可选择
    securityGroup:
      title: 3. 安全组
      detail: 选择安全组将应用到实例
      choose: 选择一个或多个现有的组
      defaultExisting: "标准: 使用现有的<code>{groupName}</code>安全组"
      defaultCreate: "标准: 自动创建<code>{groupName}</code>安全组"
      next: "下一步: 设置实例选项"
      loading: 正在加载实例选项...
    tags:
      addActionLabel: 添加AWS标签
      valueLabel: 标签
      placeholder: '例如: dev'
    instance:
      title: 4. 实例
      detail: 自定义将要创建的EC2实例。
    portHelp:
      link: 了解更多
      text: 将要开放端口的详细信息
    needs:
      label: "为了使{appName}正常使用，安全组需要配置允许以下流量通过:"
      item1: '从{appName} 服务器到主机的<code>TCP</code>端口<code>22</code><span class="text-muted">(SSH连接用于安装docker)'
      item2: '主机之间需要开放<code>UDP</code>端口<code>500</code>和<code>4500</code><span class="text-muted">(ipsec网络)</span></li>'
      item3: 这些规则<b>不会</b>自动添加
    instanceType:
      label: 实例类型
    rootSize:
      label: 根磁盘大小
      unit: GB
    ami:
      label: AMI
      placeholder: Ubuntu AMI
      rancherList: RancherOS AMI列表
    sshUser:
      label: SSH 用户
      placeholder: '例如: ubuntu'
    iam:
      label: IAM配置文件
      placeholder: my-k8s-profile
    privateIp:
      label: 私有IP
    onlyPrivate:
      label: 仅使用私有IP地址
    requestSpotInstance:
      label: 竞价实例
      enable: 请求竞价实例
    spotPrice:
      label: 竞价价格
      unit: '$'
  digitalocean:
    droplet:
      title: Droplet选项
      detail: 配置将由此模板创建的Droplets的选项
    sizeLabel: |
      {highMem, select, true {High Memory: } other {}}{memoryGb} GB RAM, {disk} GB Disk, {vcpus, plural,
        =1 {# vCPU}
        other {# vCPUs}
      }
    authAccountButton: '下一步: 配置Droplet'
    accessToken:
      label: 访问令牌
      placeholder: DigitalOcean API访问令牌
      help: |
        '从<a href="https://cloud.digitalocean.com/settings/api/tokens" target="_blank" rel="nofollow noreferrer noopener">Applications&API</a>页面获取DigitalOcean的个人访问token'
    image:
      label: 镜像
    sshUser:
      label: SSH用户
      placeholder: '例如: root'
    size:
      label: Droplet规格
    region:
      label: 区域
    optionsSection: 选项
    backups:
      label: 启用备份
    ipv6:
      label: 启用IPv6
    privateNetworking:
      label: 启用私有网络
    monitoring:
      label: 启用监控
    tags:
      addActionLabel: 添加Droplet标签
      valueLabel: 标签
      placeholder: '例如: dev'
    errors:
      hostnamePrefix: 名称前缀不能包含"_"
  exoscale:
    accountSection: 账户访问
    apiKey:
      label: API Key
      placeholder: Exoscale API密钥
    secretKey:
      label: 加密秘钥
      placeholder: Exoscale secret密钥
      provided: 已提供
    accountHelp: 在此粘贴Exoscale密钥对，我们将用秘钥创建新的实例
    loginAction: '下一步: 验证并选择安全组'
    loadingSecurity: 从Exoscale加载安全组...
    securityGroupSection: 安全组
    securityGroup:
      label: 安全组
      defaultExisting: '标准: 使用现有的<code>{groupName}</code>安全组'
      defaultCreate: '标准: 自动创建<code>{groupName}</code>安全组'
      custom: '自定义: 选择现有安全组'
      updating: 更新安全组...
      creating: 创建安全组...
    loadingZone: 从Exoscale加载区域信息...
    zoneSection: 区域
    selectZoneAction: '下一步: 选择安全组'
    zone:
      label: 区域
    portHelp:
      link: 了解更多
      text: 关于将要开放的端口信息
    needs:
      label: "{appName}正常工作需要安全组允许以下通讯: "
      item1: '从{appName}服务器到主机的<code>TCP</code>端口<code>22</code><span class="text-muted">(SSH连接用于安装docker)'
      item2: 与其他所有主机之间的 <code>UDP</code>端口<code>500</code>和<code>4500</code><span class="text-muted">(用于IPsec网络)</span>
      item3: 这些规则<b>不会</b>自动添加
    selectSecurityGroupAction: "下一步: 设置实例选项"
    loadingInstance: 读取可用实例配置...
    instanceSection: 实例
    instanceProfile:
      label: 实例配置文件
    diskSize:
      label: 根磁盘大小
    sshUser:
      label: SSH 用户
      placeholder: '默认情况下由docker-machine选择'
    template:
      label: 模板
  packet:
    accountSection: 账户访问
    projectId:
      label: 项目
      placeholder: Packet项目 ID
    apiKey:
      label: API Key
      placeholder: Packet API Key
    apiKeyHelp: '由Packet的<a href="https://app.packet.net/portal#/api-keys" target="_blank">API Keys</a>页面获取'
    instanceSection: 实例
    instanceOptionsSection: 实例选项
    loginAction: "下一步: 认证并且选择实例"
    authentication: 验证
    location: 所在地区
    planDetails:
      label: 实例详情
      cpu: CPUs
      memory: 内存
      drives: 驱动
      network: NICs
    image:
      label: 镜像
    size:
      label: 规格
    regionSection: 区域
    region:
      label: 区域
  rackspace:
    account:
      title: 1. 账户访问
      detail: 用来创建RackSpace实例的用户名和API Key
    username:
      label: 用户名
      placeholder: RackSpace用户名
    apiKey:
      label: API Key
      placeholder: RackSpace APK Key
    accountHelp: 从RackSpace控制面板的帐户设置页面获取
    region:
      title: 2. 区域和偏好
      detail: 选择要创建的RackSpace实例的区域和偏好
      label: 区域
    flavor:
      label: 偏好
  vmwarevsphere:
    access:
      title: '1. 帐户访问'
      detail: 配置在哪里查找vCenter或ESXi服务器
      help: "注意: 免费的ESXi license不支持API访问，只支持具有有效或评估许可证的服务器"
    instance:
      title: 2. 实例选项
      detail: 选择虚拟机的大小和操作系统
    scheduling:
      title: 3. 调度
      detail: 选择将虚拟机调度到何种hypervisor
    vappOptions:
      title: '4. vApp选项'
      detail: 选择OVF环境属性
    vcenter:
      label: vCenter或ESXi服务器
      placeholder: vCenter或者ESXi主机名/IP
    vcenterPort:
      label: 端口
    username:
      label: 用户名
    password:
      label: 密码
    instanceSection: 实例
    instanceOptionsSection: 实例选项
    cpuCount:
      label: CPUs
      unit: '{cores, plural, =1 {Core} other {Cores}}'
    memorySize:
      label: 内存
      unit: MB
    diskSize:
      label: 磁盘
      unit: MB
    boot2dockerUrl:
      label: 操作系统ISO下载地址
      placeholder: "缺省: 最新的rancheros-vmware镜像"
    schedulingSection: 调度
    dataCenter:
      label: 数据中心
      placeholder: "例如: datacenter_name"
      help: "用于创建虚拟机的数据中心（对于独立ESXi保留空白）"
    pool:
      label: 池
      placeholder: "例如: /dc_name/host/host_name/Resources/pool_name"
      help: "用于创建VM的资源池(对于独立ESXi保留空白)"
    host:
      label: 主机
      placeholder: "例如: cluster_name/host_name"
      help: "用于创建虚拟机的特定主机(对于独立ESXi或具有DRS的集群留空)"
    network:
      label: 网络
      placeholder: "例如: VM网络"
      help: "VM连接到的网络"
    dataStore:
      label: 数据存储
      placeholder: "例如: datastore_cluster_name/datastore_name"
      help: "创建VM磁盘的数据存储"
    cloudinit:
      label: Cloud Init
      placeholder: "例如: http://my_host/cloud-config.yml"
      help: "Cloud-init文件或url在guestinfo中设置"
    folder:
      label: Folder
      placeholder: "例如: /folder"
      help: "VM的文件夹。该文件夹必须已经存在于数据中心中"
    cfgparam:
      key:
        placeholder: "例如: guestinfo.hostname"
      value:
        placeholder: "例如: Myrancherhost"
      label: 用于guestinfo的配置参数
      addActionLabel: Add Parameter
    vappHelp: "注意:独立的ESXI不支持vApp选项和网络协议配置文件"
    vappMode:
      disabled: "不使用vApp"
      auto: "使用vApp配置网络协议配置文件"
      manual: "提供自定义vApp配置"
    vappTransport:
      label: OVF environment transport
      placeholder: "例如: com.vmware.guestInfo"
      help: "com.vmware.guestInfo或者iso"
    vappIpprotocol:
      label: vApp IP protocol
      placeholder: "例如: IPv4"
      help: "IPv4 or IPv6"
    vappIpallocationpolicy:
      label: vApp IP分配策略
      placeholder: "例如: fixedAllocated"
      help: "dhcp, fixed, transient or fixedAllocated"
    vappProperty:
      key:
        placeholder: "例如: guestinfo.interface.0.ip.0.address"
      value:
        placeholder: "例如: ip:VM Network, expression or string"
      label: vApp属性
      addActionLabel: 添加参数
  azure:
    placement:
      title: 区域
      detail: 选择将由此模板创建的实例的区域。
    access:
      title: 账户访问
      detail: 将用于启动Azure实例的API密钥。
    network:
      title: 网络
      detail: 为此模板创建的实例配置网络
    instance:
      title: 实例
      detail: 自定义将要创建的Azure实例
    subscriptionId:
      label: 订阅 ID
      placeholder: Azure订阅 ID
    subscriptionCert:
      label: 订阅证书
      placeholder: Azure订阅证书
    image:
      label: 镜像
      placeholder: '推荐:UbuntuServer:16.04.0-LTS:latest'
    size:
      label: 规格
    dockerPort:
      label: Docker端口
      placeholder: '2376'
    publishSettingsFile:
      label: 发布配置
      placeholder: 发布配置文件
    environment:
      label: 环境
      placeholder: 'AzurePublicCloud'
    resourceGroup:
      label: 资源组
      placeholder: 'docker-machine'
    sshUser:
      label: SSH 用户
      placeholder: usr1
    storageType:
      label: 存储类型
    vnet:
      label: VNet
      placeholder: '[资源组: ]名称'
    subnet:
      label: 子网
      placeholder: 示例别名
    subnetPrefix:
      label: 子网前缀
      placeholder: 128.42.0.0/21
    availabilitySet:
      label: 可用性集
      placeholder: 可用集名称
    openPort:
      label: 开放端口
      placeholder: '使用逗号分隔符，例如: 80，443'
    privateIpAddress:
      label: 私有IP
      placeholder: 127.0.0.1
    usePrivateIp:
      label: 使用私有IP连接
    staticPublicIp:
      label: 公网IP
    noPublicIp:
      label: 无公网IP
    clientId:
      label: 客户端 ID
      placeholder: 客户端 ID
    clientSecret:
      label: 客户端秘钥
      placeholder: 客户端秘钥
    region:
      label: 区域
  aliyunecs:
    accountSection:
      label: 1. 访问令牌
      detail: 配置用于创建阿里云主机的访问令牌
      next: "下一步: 认证&配置网络"
      loading: 正在获取阿里云区域信息...
    accessKey:
      label: 访问秘钥
      placeholder: 阿里云访问秘钥
    accessKeySecret:
      label: 访问秘钥令牌
      placeholder: 阿里云访问秘钥所对应的令牌
      provided: 已提供
    apiEndpoint:
      label: "(可选)阿里云私有部署API地址"
      placeholder: 阿里云私有部署API地址
    instanceOptionsSection:
      label: 实例
      detail: 设置即将创建的阿里云实例
    instanceDescription:
      label: 实例描述
      placeholder: 该实例的描述
    instanceType:
      label: 实例类型
      placeholder: 实例类型
    systemImage:
      label: 系统镜像
      placeholder: 系统镜像
    internetMaxBandwidth:
      label: 最大网络带宽
      placeholder: 1到100
    aliyunSLB:
      label: 阿里云SLB ID
      placeholder: 阿里云SLB ID
    storageSection:
      label: 存储
      detail: 配置通过该模版创建的实例的存储选项
      next: "下一步: 配置阿里云实例选项"
      loading: 正在获取主机类型和系统镜像...
    ioOptimized:
      label: 存储IO优化
      optimized: 优化
      none: 不优化
    systemDiskCategory:
      label: 系统盘种类
    dataDiskCategory:
      label: 数据盘种类
    dataDiskSize:
      label: 数据磁盘大小
      placeholder: 磁盘大小
    region:
      label: 区域
      placeholder: 区域
    zone:
      label: 可用区
      prompt: 选择可用区...
    networkSection:
      label: 网络
      detail: 配置通过该模版创建的实例的网络选项
      next: "下一步: 配置存储选项"
      loading: 正在获取阿里云存储类型...
    routeCIDR:
      label: 路由CIDR
      placeholder: '例如: 192.168.1.0/24'
    vpcId:
      label: 专有网络
      prompt: 选择专有网络...
    vswitchId:
      label: 交换机
      prompt: 选择交换机...
    privateIp:
      label: 私有IP
      placeholder: 专用网络中的私有 IP
    privateAddressOnly:
      label: 仅私网IP
    securitySection:
      label: 安全
      detail: 选择实例所需要配置的安全组。
    securityGroup:
      label: 安全组
      placeholder: 安全组
      prompt: 选择安全组...
      defaultCreate: "自动创建<code>{groupName}</code>安全组"
    sshPassword:
      label: SSH密码
      placeholder: 创建实例后SSH远程登录密码(非必填)
      provided: 已提供
    tags:
      addActionLabel: 添加实例标签
      valueLabel: 标签
      placeholder: '例如: dev'
    errors:
      vpcIdRequired: 请选择专有网络
      vswitchIdRequired: 请选择交换机
      accessKeyRequired: 请输入访问秘钥
      accessSecretRequired: 请输入访问秘钥令牌
      sshPasswordLengthNotValid: SSH密码的长度应为8至30之间
      sshPasswordInvalidCharacter: SSH密码包含非法字符
      sshPasswordFormatError: "SSH密码必须至少包括大写字符，小写字符，数字和特殊字符中的三种"
      nameNotValidForApp: 根据{appName}主机名规则该名称无效。
  zstack:
    access:
      title: 1. 帐户访问
      detail: 选择将用于启动ZStack实例的endpoint，帐户名称和帐户密码
      next: "下一步: 验证&选择网络"
      loading: 从ZStack加载区域、集群、网络信息...
    endpoint:
      label: 终端
      placeholder: '例如: https://192.168.1.42:8443/'
    accountName:
      label: 帐户名称
      placeholder: 帐户
    accountPassword:
      label: 帐户密码
      placeholder: 帐户密码
      provided: 已提供
    zone:
      title: 2. 区域、集群和网络
      detail: 选择实例的区域，集群和网络
      next: "下一步: 设置实例选项"
      loading: 从ZStack加载实例选项...
      label: 区域
    cluster:
      label: 集群
    network:
      defaultCreate: "标准: 自动创建<code>{groupName}</code>安全组"
      choose: 连接到现有网络
      label: 网络
    portHelp:
      link: 了解更多
      text: 将要开放的端口的详细信息
    instance:
      title: 3. 实例
      detail: 自定义将要创建的EC2实例
    instanceOffering:
      label: 实例类型
    systemDiskOffering:
      label: 系统磁盘
    imageName:
      label: 镜像名称
    dataDiskOffering:
      label: 数据磁盘

newConfigMap:
  title:
    new: 添加ConfigMap
    edit: '编辑配置映射: {name}'
    view: '配置映射: {name}'
  name:
    placeholder: '例如: map'
  description:
    placeholder: '例如: app'
  values:
    label: 配置映射
  addActionLabel: 添加配置映射

projectGroup:
  label: "项目: {name}"
  none: 命名空间
  project: 不在项目中
  noNS: 此项目下没有命名空间

optionallyNamespaced:
  scope:
    label: 作用域
    project: 此项目所有命名空间
    namespace: 单个命名空间

orchestrationWelcome:
  simple:
    title: 简单
  enhanced:
    title: 通过Kubernetes加强

pageFooter:
  notARelease: (非正式发布)
  help: '帮助&文档'
  issues: 提交问题
  forums: 论坛
  cnforums: 中文社区
  slack: Slack
  download:
    link: 下载Rancher CLI
    mac: macOS
    windows: Windows
    linux: Linux
  showSystem: 显示系统容器

pagination:
  catalog: |
    {pages, plural,
    =0{无应用商店}
    =1{选中{count}{count, plural,=1{个应用商店}other{个应用商店}}}
    other{当前显示{count}个应用商店中的{from}到{to}个}}
  certificate: |
    {pages, plural,
    =0{无证书}
    =1{选中{count}{count, plural,=1{个证书}other{个证书}}}
    other{当前显示{count}个证书中的{from}到{to}个}}
  container: |
    {pages, plural,
    =0 {无容器}
    =1{选中{count} {count, plural, =1{个容器}other{个容器}}}
    other{当前显示{count}个容器中的{from}到{to}个 }}
  cluster: |
    {pages, plural,
    =0{没有集群}
    =1{选中{count}{count, plural,=1{个集群}other{个集群}}}
    other{当前显示{count}个集群中的{from}到{to}个 }}
  dnsRecord: |
    {pages, plural,
    =0{无DNS记录}
    =1{选中{count}{count, plural,=1{条DNS记录}other{条DNS记录}}}
    other {当前显示{count}条DNS Records中的{from}到{to}条}}
  driver: |
    {pages, plural,
    =0{无驱动}
    =1{选中{count}{count, plural,=1{个驱动}other{个驱动}}}
      other {当前显示{count}个驱动中的{from}到{to}个}}
  driverOptions: |
    {pages, plural,
    =0{无驱动选项}
    =1{选中{count}{count, plural,=1{个驱动选项}other{个驱动选项}}}
    other {当前显示{count}个驱动选项中的{from}到{to}个}}
  entry: |
    {pages, plural,
    =0{无条目}
    =1{选中{count}{count, plural,=1{个条目}other{个条目}}}
    other {当前显示{count}个条目中的{from}到{to}个 }}
  event: |
    {pages, plural,
    =0{无事件}
    =1{选中{count}{count, plural,=1{个事件}other{个事件}}}
    other{当前显示{count}个事件中的{from}到{to}个}}
  generic: |
    {pages, plural,
    =0{无条目}
    =1{选中{count}{count, plural, =1{个条目}other{个条目}}}
    other{当前显示{count}个条目中的{from}到{to}个}}
  image: |
    {pages, plural,
    =0{无镜像}
    =1{选中{count}{count, plural,=1{个镜像}other{个镜像}}}
    other {当前显示{count}个镜像中的{from}到{to}个 }}
  link: |
    {pages, plural,
    =0{无链接}
    =1{选中{count}{count, plural,=1{个链接}other{个链接}}}
    other {当前显示{count}个Links中的{from}到{to}个 }}
  loadBalancer: |
    {pages, plural,
    =0{无负载均衡}
    =1{选中{count}{count, plural,=1{条负载均衡}other{条负载均衡}}}
    other {当前显示{count}条负载均衡中的{from}到{to}条 }}
  ingress: |
    {pages, plural,
    =0{无Ingresses}
    =1{选中{count}{count, plural,=1{个Ingresses}other{个Ingresses}}}
    other {当前显示{count}个Ingresses中的{from}到{to}个 }}
  member: |
    {pages, plural,
    =0{无成员}
    =1{选中{count}{count, plural,=1{个成员}other{个成员}}}
    other {当前显示{count}个成员中的{from}到{to}个}}
  mount: |
    {pages, plural,
    =0{无挂载}
    =1{选中{count}{count, plural,=1{个挂载}other{个挂载}}}
    other {当前显示{count}个挂载中的{from}到{to}个 }}
  namespace: |
    {pages, plural,
    =0{无命名空间}
    =1{选中{count}{count, plural,=1{个命名空间}other{个命名空间}}}
    other {当前显示{count}个命名空间中的{from}到{to}个 }}
  node: |
    {pages, plural,
    =0{无主机}
    =1{选中{count}{count, plural,=1{台主机}other{台主机}}}
    other {当前显示{count}个Nodes中的{from}到{to}个}}
  nodePool: |
    {pages, plural,
    =0{无主机池}
    =1{选中{count}{count, plural,=1{个主机池}other{个主机池}}}
    other {当前显示{count}个Node Pools中的{from}到{to}个}}
  nodeTemplate: |
    {pages, plural,
    =0{无主机模板}
    =1{选中{count}{count, plural,=1{个主机模板}other{个主机模板}}}
    other {当前显示{count}个主机模板中的{from}到{to}个 }}
  pod: |
    {pages, plural,
    =0 {没有Pods}
    =1{{count}{count, plural, =1{个Pod}other{个Pods}}}
    other{当前显示{count}个Pods中的{from}到{to}个}}
  podHighlightSubset: "<b>{subset} of {count}</b> Pods"
  podNoSubset: "0 of {count} Pods"
  podLabel: |
    {count, plural,
      =1{个Pod}
      other{个Pods}
    }
  port: |
    {pages, plural,
    =0{无端口}
    =1{选中{count}{count, plural,=1{个端口}other{个端口}}}
    other{当前显示{count}个端口中的{from}到{to}个}}
  project: |
    {pages, plural,
    =0{无项目}
    =1{选中{count}{count, plural,=1{个项目}other{个项目}}}
    other {当前显示{count}个项目中的{from}到{to}个 }}
  rule: |
    {pages, plural,
    =0{无规则}
    =1{选中{count}{count, plural,=1{条规则}other{条规则}}}
    other {当前显示{count}条规则中的{from}到{to}条 }}
  role: |
    {pages, plural,
    =0 {没有角色}
    =1 {选中{count} {count, plural, =1 {条角色} other {条角色}}}
    other {当前显示{count}条角色中的{from}到{to}条}}
  service: |
    {pages, plural,
    =0{无服务}
    =1{选中{count}{count, plural,=1{个服务}other{个服务}}}
    other {当前显示{count}个服务中的{from}到{to}个}}
  storageClass: |
    {pages, plural,
    =0{无存储类}
    =1{选中{count}{count, plural,=1{个存储类}other{个存储类}}}
    other{当前显示{count}个Storage Classes中的{from}到{to}个}}
  volume: |
    {pages, plural,
    =0{没有卷}
    =1{选中{count}{count, plural,=1{个卷}other{个卷}}}
    other {当前显示{count}个数据卷中的{from}到{to}个}}
  workload: |
    {pages, plural,
    =0{无工作负载}
    =1{选中{count}{count, plural,=1{个工作负载}other{个工作负载}}}
    other {当前显示{count}个工作负载中的{from}到{to}个 }}

projectRow:
  none: 无描述
  orchestration: 编排

publicEndpoints:
  endpoint: 终端
  bindIpAddress: 绑定 IP
  publicPort: 映射端口
  target: 目标
  privatePort: 容器端口
  noData: 无映射端口
  noMatch: 没有与当前搜索匹配的端口

physicalStats:
  title: 物理属性
  detail: 物理计算机属性

registryRow:
  address: 地址
  username: 用户名
  created: 创建时间

reservationParameters:
  label: 资源限制
  memory:
    labelText: '内存'
    placeholder: '默认: 整个主机'
    unit: 'MB'
  milliCpu:
    labelText: 处理器
    placeholder: '默认: 整个主机'
    unit: 'mCPU'

saveCancel:
  saving: 保存中...
  saved: 已保存!
  edit: 保存
  next: 下一步
  create: 创建
  cancel: 取消

schema:
  inputBoolean:
    y: "是"
    n: "否"
  inputCertificate:
    prompt: 选择证书...
  inputContainer:
    prompt: 选择容器...
  inputConfigMap:
    prompt: 选择ConfigMap
  inputEnum:
    option: 选择选项...
  inputHost:
    label: 选择主机...
  inputService:
    prompt: 选择工作负载...
    custom: 自定义
  inputDnsRecord:
    prompt: 选择服务...
  inputStorageClass:
    prompt: 使用默认的类
  inputSecret:
    secret: 选择密文...
    certificate: 选择证书...

schedulingRuleRow:
  theHost: 主机
  must: 必须
  should: 最好
  shouldNot: 最好没有
  mustNot: 必须没有
  haveA: 具有
  of: 其
  hostLabel: 主机标签
  containerLabel: 容器标签
  serviceName: 服务名称
  containerName: 容器名称

serverUrl:
  header:
    label: Rancher Server URL
    detail: "{appName}安装使用的地址，集群中的所有节点都需要能够访问此地址"
  button:
    save: 保存URL

siteAccess:
  header: 站点访问
  helpText: "配置允许哪些人登录和使用{appName}"
  unrestricted: "允许所有有效的{individuals}"
  restricted: "允许集群成员，项目成员以及授权的{individuals}和{collection}"
  required: "仅允许授权的{individuals}和{collection}"
  listHeader: "授权的{individuals}和{collection}"
  dupe: "已授权用户访问"
  minimum: '您必须至少添加一条授权条目'
  noIdentity: 无
  users: 用户
  groups: 组
  organizations: 组织
  refreshGroups: 刷新组成员
  refreshHelp: 这将触发所有组的刷新并更新它们的用户列表。
  helpLabel: 这是什么?

systemInfoSection:
  title: 系统信息
  detail: 操作系统和kubernetes信息
  key: 键
  value: 值
  noData: 没有数据
  arch: 系统架构
  dockerVersion: Docker版本
  kernelVersion: 内核版本
  kubeletVersion: Kubelet版本
  kubeProxyVersion: Kube代理版本
  operatingSystem: 操作系统映像
  osType: 系统类型
  noMatch: 没有与当前搜索匹配的系统信息

tableCountSelect:
  header: 每页显示行数

telemetryOpt:
  header: 信息统计
  subtext: |
    Rancher Labs希望能够收集您环境的匿名配置信息以帮助改进{appName}产品。<br/>信息不会被提供给任何第三方，收集的信息不包含特定的资源名称或地址
  learnMore:
    label: 了解更多
  label: 允许收集匿名统计信息

tooltipLink:
  list: 列表
  composeYaml: 编排文件

tooltipWarning:
  notConfigured: 未设置访问控制
  dismiss: 取消

upgradeBtn:
  version:
    current: '当前版本'
  status:
    none: '升级: 无'
    loading: '检查更新...'
    current: '已经是最新版本'
    available: '有可用更新'
    inprogress: '升级进行中'
    upgraded: '已升级: 完成升级'
    notfound: '未识别模板版本'
    error: '检查更新出错'
    required: '需要升级'

jsonEditor:
  placeholder: "请以JSON格式输入"

viewEditDescription:
  form:
    name:
      placeholder: '例如: lab'
    description:
      placeholder: '例如: 开发实验环境'

volumesPage:
  title: Volume Claims
  addActionLabel: 添加Volume Claim
  noData: 没有定义持久卷声明
  noMatch: 没有符合当前搜索的持久卷
  claimName:
    label: Claim名称
  volume:
    label: 持久卷
  storageClass:
    label: 存储类


vmConsole:
  header: "控制台:"
  protip: "高级技巧:启动命令行时按下{key}键可在新窗口中打开"
  canvas: 暂不提供Canvas支持
  footerActions:
    buttonSend: 发送Ctrl-Alt-Delete
    buttonCancel: 关闭

volumeRow:
  mounts:
    readOnly: "(只读)"

waitOrchestration:
  count: '({sub}/{count})'

waitKubernetes:
  addHost: '添加至少一台主机'
  activateHost: '等待主机激活'
  createStack: '创建Kubernetes系统应用栈'
  startServices: '启动服务'
  waitApi: '等待Kubernetes API'

searchableSelect:
  noMatch: 没有匹配
  noOptions: 没有可用的选项

##############################
# Mixins
##############################
containerChoices:
  hostGroup: "主机:{name}"
  hostGroupWithState: "主机:{name}{state}"
  unknownHost: "主机:???"
  containerOption: "{name}"

##############################
# Services
##############################
allWorkloads:
  namespace: "命名空间: {name}"

##############################
# Navigation
##############################
nav:
  srToggleDropdown: 切换下拉菜单
  projectDropdown:
    label: 范围
    clusters: 集群
    projects: 项目
    projectsIn: 集群{cluster}中的项目。
    clustersNoData: 没有集群。
    projectsNoData: 选择集群来查看项目。
    projectNoData: 当前集群没有项目。
    clustersNoMatch: '没有与"{searchInput}"匹配的集群。'
    projectsNoMatch: '没有与"{searchInput}"匹配的项目。'
    projectNotReady: '集群未就绪。'
    projectInCluster: '在集群{cluster}中的项目。'
    search: "搜索..."
  cluster:
    dashboard: 集群
    members: 成员
    nodes: 主机
    namespaces: 命名空间
    storage:
      tab: 存储
      classes: 存储类
      volumes: 持久卷
    projects: 项目/命名空间
  containers:
    tab: 工作负载
    systemTab: 系统
    ingresses: 负载均衡
    containers: 工作负载
    dns: 服务发现
    volumes: 数据卷
    pipelines: 流水线
    deploy: 部署服务
    addContainer: 添加容器
    addBalancer: 添加负载均衡
    addIngress: 添加Ingress
    addDns: 添加DNS记录
    addVolume: 添加卷
    importCompose: 导入YAML
  group:
    none: 列表视图
    node: 按主机分组
    workload: 按负载量分组
    namespace: 按名称空间分组
    namespaceWorkload: 按名称空间/工作负载分组
  hosts:
    tab: 主机
    addHost: 添加主机
  catalog:
    all: 全部
    library: 官方认证
    community: 社区贡献
  apps:
    tab: 应用商店
    apps: 应用商店
    launch: 启动
    manage: 管理
  infra:
    tab: 资源
    storagePage: 存储
    certificates: 证书
    configMaps: 配置映射
    registries: 镜像库凭证
    secrets: 密文
    members: 成员
  admin:
    tab: 全局
    accounts: 用户
    clusters: 集群
    machines: 主机
    drivers: 驱动
    catalogs: 应用商店
    globalDns: 全局DNS服务
    globalDnsEntries: 全局DNS服务
    globalDnsProviders: 全局DNS提供商
    multiClusterApps: 多集群应用
    security:
      cloudCredentials: 云凭证
      tab: 安全
      roles: 角色
      members: 成员
      podSecurityPolicies: Pod安全策略
      authentication: 认证
    settings:
      tab: 系统设置
      auth: 访问控制
      registration: 主机注册
      advanced: 高级
  user:
    label: "用户菜单: {username}"
    logout: 注销
  userPreferences:
    link: "设定"
  nodeTemplates:
    link: "主机模板"
  api:
    link: "API & Keys"
  settings:
    tab: 系统设置
    advanced: 高级
  tools:
    alerts: 告警
    backups: 快照
    catalogs: 应用商店
    logging: 日志
    monitoring: 监控
    notifiers: 通知
    pipeline: 流水线
    tab: 工具
  project:
    none: 项目/命名空间
    namespaces: 命名空间


##############################
# Resource Actions
##############################
action:
  activate: 激活
  addContainer: 部署Pod
  addSidekick: 添加Sidecar
  backupEtcd: 备份
  backupEtcdMessage:
    success:
      title: 备份成功
      message: "{ clusterId }已备份到{ backupType }provider"
  clone: 克隆
  console: 打开控制台
  convertToService: 转换为服务
  cordon: 暂停
  deactivate: 停用
  downloadYaml: 下载YAML
  drain: 驱散
  edit: 升级
  editConfig: 编辑配置
  editService: 编辑服务
  editYaml: '查看/编辑 YAML'
  evacuate: 疏散
  execute: 执行命令行
  exportConfig: 导出配置
  garbageCollect: 清理
  logs: 查看日志
  makeDefault: 设置为缺省
  move: 移动
  mute: Mute
  nodeConfig: 下载Keys
  pause: 暂停编排
  pauseAll: 暂停全部
  redeploy: 重新部署
  refreshAuthProviderAccess:
    label: 刷新组成员
    success:
      title: 刷新成功
      message: 已触发组成员更新
    allSuccess:
      title: 刷新成功
      message: 已为所有用户触发组成员更新。
  remove: 删除
  replay: 重播
  resetDefault: 恢复默认值
  restart: 重启
  restoreFromEtcdBackup: 恢复
  resume: 恢复编排
  retry: 重试
  revert: 恢复默认值
  rollback: 回滚
  rotate: 更新证书
  setDefault: 设置为默认值
  setting: 设置
  start: 启动
  startAll: 全部开始
  stop: 停止
  stopAll: 全部停止
  stopDrain: 停止Drain
  test: 测试
  uncordon: 激活
  unmute: 取消静默
  upgrade: 升级
  upgradeOrEdit: 升级/编辑
  viewConfig: 查看配置
  viewGraph: 查看图形
  viewInApi: API查看
  viewInGrafana: 查看Grafana
  viewInstance: 查看实例
  viewYaml: 查看YAML

##############################
# Resource Actions
##############################
validation:
  required: '"{key}"必须设置'
  arrayLength:
    exactly: '"{key}"应当包含{count, plural,=1{#个条目}other{#个条目}}'
    between: '"{key}"应当介于{min}和{max}之间{max, plural,=1{个条目}other{个条目}}'
    min: '"{key}"应当至少为{count}{count, plural,=1{个条目}other{个条目}}'
    max: '"{key}"应当至多为{count}{count, plural,=1{个条目}other{个条目}}'
  stringLength:
    exactly: '"{key}"应当为{count, plural,=1{#个字符}other{#个字符}}'
    between: '"{key}"应当介于{min}和{max}之间{max, plural,=1{个字符}other{个字符}}'
    min: '"{key}"应当至少为{count}{count, plural,=1{个字符}other{个字符}}'
    max: '"{key}"应当至多为{count}{count, plural,=1{个字符}other{个字符}}'
  number:
    exactly: '"{key}"应当为{val}'
    between: '"{key}"应当介于{min}和{max}之间'
    min: '"{key}"应当至少为{val}'
    max: '"{key}"应当至多为{val}'
  chars: '"{key}"包含{count, plural,=1{个无效字符}other{#个无效字符}}:{chars}'
  dns:
    doubleHyphen: 不能包含两个连续的连字符
    hostname:
      startDot: '“{key}”不能以点开头'
      endDot: '"{key}"不能以点结尾'
      empty: '“{key}”至少需一个字符'
      tooLong: '“{key}”不能超过{max}个字符'
      startNumber: '"{key}"不能以数字开头'
      startHyphen: '“{key}”必须以字母或数字开头'
      endHyphen: '“{key}”必须以字母或数字结尾'
      emptyLabel: '“{key}”不能有两个连续的点'
      tooLongLabel: '“{key}”不能超过{max}个字符'
    label:
      startHyphen: '“{key}”必须以字母或数字开头'
      endHyphen: '“{key}”必须以字母或数字结尾'
      startNumber: '"{key}"不能以数字开头'
      emptyLabel: '"{key}"不能为空'
      tooLongLabel: '"{key}"不能超过{max}字符'
  k8s:
    identifier:
      startLetter: '“{key}”必须以字母或数字开头'
      endLetter: '“{key}”必须以字母或数字结尾'
      emptyPrefix: '“{key}”不能有空白的前缀'
      tooLongPrefix: '“{key}”的前缀不能超过{max}个字符'
      emptyLabel: '“{key}”不能有空格键'
      tooLongKey: '“{key}”的长度不能超过{max}个字符'
  targets:
    missingProjectId: 必须选择目标项目。

##############################
# Model Properties
##############################
model:
  account:
    kind:
      registeredAgent: 已注册代理
      agent: 代理
      service: 服务
      user: 用户
      admin: 管理员
      project: 环境
  cluster:
      name: 集群名
  identity:
    displayType:
      user: 用户
      team: 团队
      group: 组
      org: 组织
      localUser: 本地用户
      unknown: "{type}？"
  ingress:
    displayKind: L7 Ingress
  machine:
    role:
      worker: Worker
      etcd: etcd
      controlPlane: Control
  openldapconfig:
    server:
      label: 主机名或IP地址
    serviceAccountUsername:
      label: 服务账号用户名
    serviceAccountPassword:
      label: 服务账号密码
    domain:
      label: '用户搜索起点:'
      placeholder: "例如: ou=Users,dc=Mycompany,dc=com"
      help: "仅该搜索起点下的用户能够访问"
  projectMember:
    role:
      member: 成员
      owner: 所有者
      readonly: 只读
      restricted: 受限
  service:
    displayKind:
      generic: 服务
      loadBalancer: L4层负载均衡

growl:
  dismiss: 禁止所有通知
  webSocket:
    connecting:
      title: 连接至服务器时发生错误！
      warning: 无法建立到服务器的WebSocket连接。如果服务器位于代理或SSL终端设备后面，则浏览器无法连接到WebSocket。如果您在代理后面运行服务器，请确保代理支持WebSockets。在解决问题之前，流量统计、日志、shell/控制台和资源状态的自动更新可能无法正常工作。
      safariCertWarning: 另一个可能的原因是Safari不允许使用无法识别的证书进行WebSocket连接，即使您继续绕过警告也是如此。服务器必须拥有由Safari自动信任的认可机构签署的证书。
      disconnectedWarning: "断开与服务器的连接，尝试重新连接..."

storageClass:
  aws-ebs:
    title: Amazon EBS Disk
  azure-disk:
    title: Azure Disk
  azure-file:
    title: Azure File
  cinder:
    title: Openstack Cinder Volume
  gce-pd:
    title: Google Persistent Disk
  glusterfs:
    title: Gluster Volume
  local:
    title: Local Node Disk
  longhorn:
    title: Longhorn
  portworx-volume:
    title: Portworx Volume
  quobyte:
    title: Quobyte Volume
  rbd:
    title: Ceph RBD
  scaleio:
    title: ScaleIO Volume
  storageos:
    title: StorageOS
  vsphere-volume:
    title: VMWare vSphere Volume

volumeSource:
  aws-ebs:
    title: Amazon EBS Disk
  azure-disk:
    title: Azure Disk
  azure-file:
    title: Azure Filesystem
  cephfs:
    title: Ceph Filesystem
  config-map:
    title: Config Map Volume
  cinder:
    title: Openstack Cinder Volume
  secret:
    title: Secret Volume
  empty-dir:
    title: Empty Dir Volume
  fc:
    title: Fibre Channel
  flex-volume:
    title: Flex Volume
  flex-volume-longhorn:
    title: Longhorn
  flocker:
    title: Flocker
  gce-pd:
    title: Google Persistent Disk
  glusterfs:
    title: Gluster Volume
  host-path:
    title: Local Node Path
    path:
      label: Path on the Node
      placeholder: '例如: /data'
    kind:
      label: 主机路径类型检查
      Any: "任意: 不检查目标路径"
      DirectoryOrCreate: '目录: 不存在则创建'
      FileOrCreate: '文件: 不存在则创建'
      Directory: '现有目录'
      File: '现有文件'
      Socket: '现有socket文件'
      CharDevice: '现有character设备'
      BlockDevice: '现有block设备'
  iscsi:
    title: iSCSI Target
  local:
    title: Local Node Disk
  nfs:
    title: NFS Share
  photon:
    title: Photon Volume
  portworx:
    title: Portworx Volume
  quobyte:
    title: Quobyte Volume
  rbd:
    title: Ceph RBD
  scaleio:
    title: ScaleIO Volume
  storageos:
    title: StorageOS
  vsphere-volume:
    title: VMWare vSphere Volume
  customLogPath:
    mountPath:
      label: 日志路径
      placeholder: '例如: /var/www'
      helpText: 容器中的日志路径
    logFormat:
      label: 日志格式
      useCustomRegex: 使用自定义Fluentd regex
      useExistingLogFormat: 使用现有的日志格式
      helpText: 您可以在</a>这里<a href="http://fluentular.herokuapp.com/" target="_blank">测试正则表达式。

yamlPage:
  errors: yaml文件中存在错误

rkeConfigComment:
  ingress: |
    ""
    "  # 当前仅支持nginx的ingress"
    "  # 设置`provider: none`从而禁用ingress控制器"
    "  # 通过node_selector可以指定在某些节点上运行ingress控制器，例如: "
    "     provider: nginx"
    "     node_selector:"
    "       app: ingress"
  network: |
    ""
    "  # 如果您在AWS上使用calico"
    ""
    "     network:"
    "       plugin: calico"
    "       calico_network_provider:"
    "         cloud_provider: aws"
    ""
    "  # 指定flannel的网络接口"
    ""
    "     network:"
    "       plugin: flannel"
    "       flannel_network_provider:"
    "         iface: eth1"
    ""
    "  # 指定canal网络插件的flannel网络接口"
    ""
    "     network:"
    "       plugin: canal"
    "       canal_network_provider:"
    "         iface: eth1"
  services: |
    ""
    " # 自定义服务参数"
    "     services:"
    "       kube-api:"
    "         service_cluster_ip_range: 10.43.0.0/16"
    "       kube-controller:"
    "         cluster_cidr: 10.42.0.0/16"
    "         service_cluster_ip_range: 10.43.0.0/16"
    "         extra_args:     "
    "           # 控制器定时与节点通信以检查通信是否正常，周期默认5s  "
    "           node-monitor-period: '5s'  "
    "           # 当节点通信失败后，再等一段时间kubernetes判定节点为notready状态。这个时间段必须是kubelet的nodeStatusUpdateFrequency(默认10s)的N倍，其中N表示允许kubelet同步节点状态的重试次数，默认40s。"
    "           node-monitor-grace-period: '20s' "
    "           # 再持续通信失败一段时间后，kubernetes判定节点为unhealthy状态，默认1m0s。"
    "           node-startup-grace-period: '30s' "
    "           # 再持续失联一段时间，kubernetes开始迁移失联节点的Pod，默认5m0s。"
    "           pod-eviction-timeout: '1m'   "
    "       kubelet:"
    "         cluster_domain: cluster.local"
    "         cluster_dns_server: 10.43.0.10"
    "         # 扩展变量 "
    "         extra_args:"
    "           # 修改节点最大Pod数量"
    "           max-pods: '250' "
    "           # secrets和configmaps同步到Pod需要的时间，默认一分钟"
    "           sync-frequency: '3s'"
    "           # kubelet默认一次拉取一个镜像，设置为false可以同时拉取多个镜像，前提是存储驱动要为overlay2，对应的Dokcer也需要增加下载并发数     "
    "           serialize-image-pulls: false  "
    "           # 拉取镜像的最大并发数，registry-burst不能超过registry-qps ，仅当registry-qps大于0(零)时生效，(默认10)。如果registry-qps为0则不限制(默认5)。"
    "           registry-burst: '10' "
    "           registry-qps: '0'   "
    "       etcd:"
    "         # 修改空间配额为$((4*1024*1024*1024))，默认2G,最大8G"
    "         extra_args:"
    "           quota-backend-bytes: '4294967296'"
  docker_root_dir: |
    ""
    "  # 自定义Rancher参数"
