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

import type { I18nType } from './type.ts'

const words: I18nType = {
  instanceDomain: {
    CPU: 'CPU',
    enableAppInstanceLogs: '开启该应用所有实例的访问日志',
    appServiceLoadBalance: '调整应用提供服务的负载均衡策略',
    appServiceNegativeClusteringMethod: '调整应用提供服务的的集群方式',
    appServiceRetries: '调整该应用提供服务的重试次数',
    appServiceTimeout: '调整应用提供服务的超时时间',
    close: '关闭',
    enable: '开启',
    executionLog: '执行日志',
    retryCount: '重试次数',
    clusterApproach: '集群方式',
    timeout_ms: '超时时间(ms)',
    details: '详情',
    loadBalance: '负载均衡',
    monitor: '监控',
    linkTracking: '链路追踪',
    configuration: '配置',
    event: '事件',
    healthExamination_k8s: '健康检查(k8s)',
    instanceLabel: '实例标签',
    instanceImage_k8s: '镜像(k8s)',
    owningWorkload_k8s: '所属工作负载(k8s)',
    node: '节点',
    whichApplication: '所属应用',
    registerCluster: '注册集群',
    dubboPort: 'Dubbo端口',
    instanceIP: '实例IP',
    ip: 'IP',
    name: '实例名称',
    deployState: '部署状态',
    deployCluster: '部署集群',
    registerStates: '注册状态',
    registerClusters: '注册集群',
    cpu: 'CPU',
    memory: '内存',
    startTime: '启动时间',
    registerTime: '注册时间',
    labels: '标签',
    instanceName: '实例名称',
    creationTime_k8s: '创建时间(k8s)',
    startTime_k8s: '启动时间(k8s)'
  },
  service: '服务',
  serviceSearch: '服务查询',
  serviceGovernance: '路由规则',
  trafficManagement: '流量管控',
  serviceMetrics: '服务统计',
  serviceRelation: '服务关系',
  routingRule: '条件路由',
  tagRule: '标签路由',
  meshRule: 'Mesh路由',
  dynamicConfig: '动态配置',
  accessControl: '黑白名单',
  weightAdjust: '权重调整',
  loadBalance: '负载均衡',
  serviceTest: '服务测试',
  serviceMock: '服务Mock',
  services: '服务',
  providers: '提供者',
  consumers: '消费者',
  application: '应用',
  instance: '实例',
  all: '全部',
  common: '通用',

  metrics: '可观测',
  relation: '关系',
  group: '组',
  version: '版本',
  app: '应用',
  ip: 'IP地址',
  qps: 'qps',
  rt: 'rt',
  successRate: '成功率',
  serviceInfo: '服务信息',
  port: '端口',
  timeout: '超时(毫秒)',
  serialization: '序列化',
  appName: '应用名',
  instanceNum: '实例数量',
  deployCluster: '部署集群',
  registerClusters: '注册集群列表',
  serviceName: '服务名',
  registrySource: '注册来源',
  instanceRegistry: '应用级',
  interfaceRegistry: '接口级',
  allRegistry: '应用级/接口级',
  operation: '操作',
  searchResult: '查询结果',
  search: '搜索',
  methodName: '方法名',
  enabled: '开启',
  disabled: '禁用',
  method: '方法',
  weight: '权重',
  create: '创建',
  save: '保存',
  cancel: '取消',
  close: '关闭',
  confirm: '确认',
  ruleContent: '规则内容',
  createNewRoutingRule: '创建新路由规则',
  createNewTagRule: '创建新标签规则',
  createMeshTagRule: '创建新mesh规则',
  createNewDynamicConfigRule: '创建新动态配置规则',
  createNewWeightRule: '新建权重规则',
  createNewLoadBalanceRule: '新建负载均衡规则',
  createTimeoutRule: '创建超时时间规则',
  createRetryRule: '创建重试规则',
  createRegionRule: '创建同区域优先规则',
  createArgumentRule: '创建参数路由规则',
  createMockCircuitRule: '创建调用降级规则',
  createAccesslogRule: '创建访问日志规则',
  createGrayRule: '创建灰度隔离规则',
  createWeightRule: '创建权重比例规则',
  serviceIdHint: '服务名',
  view: '查看',
  edit: '编辑',
  delete: '删除',
  searchRoutingRule: '搜索路由规则',
  searchAccessRule: '搜索黑白名单',
  searchWeightRule: '搜索权重调整规则',
  dataIdClassHint: '服务接口的类完整包路径',
  dataIdVersionHint: '服务接口的Version,根据接口实际情况选填',
  dataIdGroupHint: '服务接口的Group,根据接口实际情况选填',
  agree: '同意',
  disagree: '不同意',
  searchDynamicConfig: '搜索动态配置',
  appNameHint: '服务所属的应用名称',
  basicInfo: '基础信息',
  metaData: '元数据',
  methodMetrics: '服务方法统计',
  searchDubboService: '搜索Dubbo服务或应用',
  serviceSearchHint: '服务ID, org.apache.dubbo.demo.api.DemoService, * 代表所有服务',
  ipSearchHint: '在指定的IP地址上查找目标服务器提供的所有服务',
  appSearchHint: '输入应用名称以查找由一个特定应用提供的所有服务, * 代表所有',
  searchTagRule: '根据应用名搜索标签规则',
  searchMeshRule: '根据应用名搜索mesh规则',
  searchSingleMetrics: '输入IP搜索Metrics信息',
  searchBalanceRule: '搜索负载均衡规则',
  parameterList: '参数列表',
  returnType: '返回值',
  noMetadataHint:
    '无元数据信息，请升级至Dubbo2.7及以上版本，或者查看application.properties中关于config center的配置，详见',
  here: '这里',
  configAddress:
    'https://github.com/apache/incubator-dubbo-admin/wiki/Dubbo-Admin%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E',
  whiteList: '白名单',
  whiteListHint: '白名单IP列表, 多个地址用逗号分隔: 1.1.1.1,2.2.2.2',
  blackList: '黑名单',
  blackListHint: '黑名单IP列表, 多个地址用逗号分隔: 3.3.3.3,4.4.4.4',
  address: '地址列表',
  weightAddressHint: '此权重设置的IP地址,用逗号分隔: 1.1.1.1,2.2.2.2',
  weightHint: '权重值，默认100',
  methodHint: '负载均衡生效的方法，*代表所有方法',
  strategy: '策略',
  balanceStrategyHint: '负载均衡策略',
  goIndex: '返回首页',
  releaseLater: '在后续版本中发布，敬请期待',
  later: {
    metrics: 'Metrics会在后续版本中发布，敬请期待',
    serviceTest: '服务测试会在后续版本中发布，敬请期待',
    serviceMock: '服务Mock会在后续版本中发布，敬请期待'
  },
  by: '按',
  $vuetify: {
    dataIterator: {
      rowsPerPageText: '每页记录数：',
      rowsPerPageAll: '全部',
      pageText: '{0}-{1} 共 {2} 条',
      noResultsText: '没有找到匹配记录',
      nextPage: '下一页',
      prevPage: '上一页'
    },
    dataTable: {
      rowsPerPageText: '每页行数：'
    },
    noDataText: '无可用数据'
  },
  configManage: '配置管理',
  configCenterAddress: '配置中心地址',
  searchDubboConfig: '搜索Dubbo配置',
  createNewDubboConfig: '新建Dubbo配置',
  scope: '范围',
  name: '名称',
  warnDeleteConfig: ' 是否要删除Dubbo配置: ',
  warnDeleteRouteRule: '是否要删除路由规则',
  warnDeleteDynamicConfig: '是否要删除动态配置',
  warnDeleteBalancing: '是否要删除负载均衡规则',
  warnDeleteAccessControl: '是否要删除黑白名单',
  warnDeleteTagRule: '是否要删除标签路由',
  warnDeleteMeshRule: '是否要删除mesh路由',
  warnDeleteWeightAdjust: '是否要删除权重规则',
  configNameHint: '配置所属的应用名, global 表示全局配置',
  configContent: '配置内容',
  testMethod: '测试方法',
  execute: '执行',
  result: '结果: ',
  success: ' 成功',
  fail: '失败',
  detail: '详情',
  more: '更多',
  copyUrl: '复制 URL',
  copy: '复制',
  url: 'URL',
  copySuccessfully: '已复制',
  test: '测试',
  placeholders: {
    searchService: '通过服务名搜索服务'
  },
  methods: '方法列表',
  testModule: {
    searchServiceHint: '完整服务ID, org.apache.dubbo.demo.api.DemoService, 按回车键查询'
  },
  userName: '用户名',
  password: '密码',
  login: '登录',
  apiDocs: '接口文档',
  apiDocsRes: {
    dubboProviderIP: 'Dubbo 提供者Ip',
    dubboProviderPort: 'Dubbo 提供者端口',
    loadApiList: '加载接口列表',
    apiListText: '接口列表',
    apiForm: {
      missingInterfaceInfo: '缺少接口信息',
      getApiInfoErr: '获取接口信息异常',
      api404Err: '接口名称不正确,没有查找到接口参数和响应信息',
      apiRespDecShowLabel: '响应说明',
      apiNameShowLabel: '接口名称',
      apiPathShowLabel: '接口位置',
      apiMethodParamInfoLabel: '接口参数',
      apiVersionShowLabel: '接口版本',
      apiGroupShowLabel: '接口分组',
      apiDescriptionShowLabel: '接口说明',
      isAsyncFormLabel: '是否异步调用(此参数不可修改,根据接口定义的是否异步显示)',
      apiModuleFormLabel: '接口模块(此参数不可修改)',
      apiFunctionNameFormLabel: '接口方法名(此参数不可修改)',
      registryCenterUrlFormLabel: '注册中心地址, 如果为空将使用Dubbo 提供者Ip和端口进行直连',
      paramNameLabel: '参数名',
      paramPathLabel: '参数位置',
      paramDescriptionLabel: '说明',
      paramRequiredLabel: '该参数为必填',
      doTestBtn: '测试',
      responseLabel: '响应',
      responseExampleLabel: '响应示例',
      apiResponseLabel: '接口响应',
      LoadingLabel: '加载中...',
      requireTip: '有未填写的必填项',
      requireItemTip: '该项为必填!',
      requestApiErrorTip: '请求接口发生异常,请检查提交的数据,特别是JSON类数据和其中的枚举部分',
      unsupportedHtmlTypeTip: '暂不支持的表单类型',
      none: '无'
    }
  },
  authFailed: '权限验证失败',

  ruleList: '规则列表',
  mockRule: '规则配置',
  mockData: '模拟数据',
  globalDisable: '全局禁用',
  globalEnable: '全局启用',
  saveRuleSuccess: '保存规则成功',
  deleteRuleSuccess: '删除成功',
  disableRuleSuccess: '禁用成功',
  enableRuleSuccess: '启用成功',
  methodNameHint: '服务方法名',
  createMockRule: '创建规则',
  editMockRule: '修改规则',
  deleteRuleTitle: '确定要删除此服务Mock规则吗？',

  ruleName: '规则名',
  ruleGranularity: '规则粒度',
  effectiveTime: '生效时间',
  enable: '是否启用',
  protection: '容错保护',
  trafficTimeout: '超时时间',
  trafficRetry: '调用重试',
  trafficRegion: '同区域优先',
  trafficIsolation: '环境隔离',
  trafficWeight: '权重比例',
  trafficArguments: '参数路由',
  trafficMock: '调用降级',
  trafficAccesslog: '访问日志',
  trafficHost: '固定机器导流',
  trafficGray: '流量灰度',

  homePage: '集群概览',
  serviceManagement: '开发测试',

  groupInputPrompt: '请输入服务group(可选)',
  versionInputPrompt: '请输入服务version(可选)',
  resources: '资源详情',
  applications: '应用',
  instances: '实例',
  applicationDomain: {
    name: '应用名',
    detail: '详情',
    instance: '实例',
    service: '服务',
    monitor: '监控',
    tracing: '链路追踪',
    config: '配置',
    event: '事件',
    appName: '应用名',
    rpcProtocols: 'RPC 协议',
    dubboVersions: 'Dubbo 版本',
    dubboPorts: 'Dubbo 端口',
    serialProtocols: '序列化协议',
    appTypes: '应用类型',
    images: '应用镜像',
    workloads: '工作负载',
    deployCluster: '部署集群',
    registerCluster: '注册集群',
    registerMode: '注册模式'
  },

  searchDomain: {
    total: '共计',
    unit: '条'
  },
  messageDomain: {
    success: {
      copy: '您已经成功复制一条信息'
    }
  },
  backHome: '回到首页',
  noPageTip: '抱歉，你访问的页面不存在',
  globalSearchTip: '搜索ip，应用，实例，服务',

  placeholder: {
    typeAppName: '请输入应用名，支持前缀搜索',
    typeDefault: '请输入',
    typeRoutingRules: '搜索路由规则，支持前缀过滤'
  },
  none: '无',
  details: '详情',
  debug: '调试',
  distribution: '分布',
  monitor: '监控',
  tracing: '链路追踪',
  event: '事件',

  provideService: '提供服务',
  dependentService: '依赖服务',
  idx: '序号'
}

export default words
