/*
 * 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 = {
  destinationRuleDomain: {
    YAMLView: 'YAML view',
    formView: 'Form view'
  },
  virtualServiceDomain: {
    YAMLView: 'YAML view',
    formView: 'Form view'
  },
  dynamicConfigDomain: {
    YAMLView: 'YAML view',
    formView: 'Form view'
  },
  routingRuleDomain: {
    YAMLView: 'YAML view',
    formView: 'Form view'
  },
  tagRuleDomain: {
    YAMLView: 'YAML view',
    formView: 'Form view'
  },
  flowControlDomain: {
    actuatingRange: 'Actuating range',
    notSet: 'Not set',
    versionRecords: 'Version records',
    YAMLView: 'YAML View',
    addConfiguration: 'Add configuration',
    addConfigurationItem: 'Add configurationItem',
    addFilter: 'Add filter',
    configurationItem: 'Configuration item',
    scopeScreening: 'Scope screening',
    endOfAction: 'End of action',
    addLabel: 'Add label',
    actions: 'Actions',
    filterType: 'Filter type',
    labelName: 'Label name',
    formView: 'Form view',
    addMatch: 'Add match',
    addRouter: 'Add router',
    addressSubsetMatching: 'Address subset matching',
    value: 'Value',
    relation: 'Relation',
    parameter: 'Parameter',
    matchingDimension: 'Matching dimension',
    requestParameterMatching: 'Request parameter matching',
    ruleName: 'Rule name',
    actionObject: 'Action object',
    faultTolerantProtection: 'Fault-tolerant protection',
    runTimeEffective: 'Run time effective',
    ruleGranularity: 'Rule granularity',
    timeOfTakingEffect: 'Time of taking effect',
    enabledStatus: 'Enabled status',
    priority: 'Priority',
    off: 'off',
    on: 'on',
    opened: 'Opened',
    closed: 'Closed',
    enabled: 'Enabled',
    disabled: 'Disabled'
  },
  instanceDomain: {
    flowDisabled: 'Flow disabled',
    operatorLog: 'Operator log',
    enableAppInstanceLogs: 'Enable access logs for all instances of this application',
    appServiceRetries: 'Adjust the number of retries for the service provided by this application',
    appServiceLoadBalance:
      'Adjusting the load balancing strategy for application service provision',
    appServiceNegativeClusteringMethod:
      'Adjusting the clustering approach for application service provision',
    appServiceTimeout: 'Adjusting the timeout for application service provision',
    close: 'Close',
    enable: 'Enable',
    executionLog: 'ExecutionLog',
    loadBalance: 'LoadBalance',
    instanceIP: 'InstanceIP',
    clusterApproach: 'ClusterApproach',
    details: 'Detail',
    retryCount: 'RetryCount',
    timeout_ms: 'Timeout(ms)',
    monitor: 'Monitor',
    linkTracking: 'LinkTracking',
    configuration: 'Configuration',
    event: 'Event',
    instanceName: 'InstanceName',
    ip: 'Ip',
    name: 'Name',
    deployState: 'DeployState',
    deployCluster: 'DeployCluster',
    registerStates: 'RegisterState',
    registerCluster: 'RegisterCluster',
    CPU: 'CPU',
    node: 'Node',
    memory: 'Memory',
    owningWorkload_k8s: 'OwningWorkload(k8s)',
    creationTime_k8s: 'CreationTime(k8s)',
    startTime: 'StartTime',
    dubboPort: 'DubboPort',
    instanceImage_k8s: 'Image(k8s)',
    instanceLabel: 'InstanceLabel',
    whichApplication: 'OwningApplication',
    healthExamination_k8s: 'HealthExamination(k8s)',
    registerTime: 'RegisterTime',
    labels: 'Labels',
    startTime_k8s: 'StartTime(k8s)'
  },
  appServiceTimeout: 'Adjusting the timeout for application service provision',
  enableAppInstanceLogs: 'Enable access logs for all instances of this application',
  appServiceLoadBalance: 'Adjusting the load balancing strategy for application service provision',
  appServiceRetries: 'Adjusting the number of retries for application provided services',
  appServiceNegativeClusteringMethod:
    'Adjusting the negative clustering method for application service provision',
  executionLog: 'Execution Log',
  clusterApproach: 'Cluster Approach',
  retryCount: 'Retry Count',
  event: 'Event',
  configuration: 'Configuration',
  linkTracking: 'Link Tracking',
  monitor: 'Monitor',
  details: 'Details',
  creationTime_k8s: 'creationTime(k8s)',
  dubboPort: 'Dubbo Port',
  whichApplication: 'application',
  registerTime: 'Register Time',
  startTime_k8s: 'Start Time(k8s)',
  registerStates: 'Register States',
  deployState: 'Deployment Status',
  owningWorkload_k8s: 'Owning Workload(k8s)',
  creationTime: 'Creation Time',
  nodeIP: 'Node IP',
  healthExamination: 'Health Examination',
  instanceImage_k8s: 'Image(k8s)',
  instanceLabel: 'Instance Label',
  instanceDetail: 'Instance Detail',
  state: 'State',
  memory: 'Memory',
  CPU: 'CPU',
  node: 'Node',
  labels: 'Labels',
  instanceIP: 'Instance IP',
  instanceName: 'Instance Name',
  instance: 'Instance',
  resourceDetails: 'Resource Details',
  service: 'Service',
  serviceSearch: 'Search Service',
  serviceGovernance: 'Routing Rule',
  trafficManagement: 'Traffic Management',
  routingRule: 'Condition Rule',
  tagRule: 'Tag Rule',
  meshRule: 'Mesh Rule',
  dynamicConfig: 'Dynamic Config',
  accessControl: 'Black White List',
  weightAdjust: 'Weight Adjust',
  loadBalance: 'Load Balance',
  serviceTest: 'Service Test',
  serviceMock: 'Service Mock',
  serviceMetrics: 'Service Metrics',
  serviceRelation: 'Service Relation',
  metrics: 'Metrics',
  relation: 'Relation',
  group: 'Group',
  serviceInfo: 'Service Info',
  providers: 'Providers',
  consumers: 'Consumers',
  common: 'Common',
  version: 'Version',
  app: 'Application',
  services: 'Services',
  application: 'Application',
  all: 'All',
  ip: 'IP',
  qps: 'qps',
  rt: 'rt',
  successRate: 'success rate',
  port: 'PORT',
  timeout: 'timeout(ms)',
  serialization: 'serialization',
  appName: 'Application Name',
  instanceNum: 'Instance Number',
  deployCluster: 'Deploy Cluster',
  registerCluster: 'Register Cluster',
  serviceName: 'Service Name',
  registrySource: 'Registry Source',
  instanceRegistry: 'Instance Registry',
  interfaceRegistry: 'Interface Registry',
  allRegistry: 'Instance / Interface Registry',
  operation: 'Operation',
  searchResult: 'Search Result',
  search: 'Search',
  methodName: 'Method Name',
  enabled: 'Enabled',
  disabled: 'Disabled',
  method: 'Method',
  weight: 'Weight',
  create: 'CREATE',
  save: 'SAVE',
  cancel: 'CANCEL',
  close: 'CLOSE',
  confirm: 'CONFIRM',
  ruleContent: 'RULE CONTENT',
  createNewRoutingRule: 'Create New Routing Rule',
  createNewTagRule: 'Create New Tag Rule',
  createNewMeshRule: 'Create New Mesh Rule',
  createNewDynamicConfigRule: 'Create New Dynamic Config Rule',
  createNewWeightRule: 'Create New Weight Rule',
  createNewLoadBalanceRule: 'Create new load balancing rule',
  createTimeoutRule: 'Create timeout rule',
  createRetryRule: 'Create timeout rule',
  createRegionRule: 'Create retry rule',
  createArgumentRule: 'Create argument routing rule',
  createMockCircuitRule: 'Create mock (circuit breaking) rule',
  createAccesslogRule: 'Create accesslog rule',
  createGrayRule: 'Create gray rule',
  createWeightRule: 'Create weighting rule',
  serviceIdHint: 'Service ID',
  view: 'View',
  edit: 'Edit',
  delete: 'Delete',
  searchRoutingRule: 'Search Routing Rule',
  searchAccess: 'Search Access Rule',
  searchWeightRule: 'Search Weight Adjust Rule',
  dataIdClassHint: 'Complete package path of service interface class',
  dataIdVersionHint:
    'The version of the service interface, which can be filled in according to the actual situation of the interface',
  dataIdGroupHint:
    'The group of the service interface, which can be filled in according to the actual situation of the interface',
  agree: 'Agree',
  disagree: 'Disagree',
  searchDynamicConfig: 'Search Dynamic Config',
  appNameHint: 'Application name the service belongs to',
  basicInfo: 'BasicInfo',
  metaData: 'MetaData',
  methodMetrics: 'Method Statistics',
  searchDubboService: 'Search Dubbo Services or applications',
  serviceSearchHint: 'Service ID, org.apache.dubbo.demo.api.DemoService, * for all services',
  ipSearchHint: 'Find all services provided by the target server on the specified IP address',
  appSearchHint:
    'Input an application name to find all services provided by one particular application, * for all',
  searchTagRule: 'Search Tag Rule by application name',
  searchMeshRule: 'Search Mesh Rule by application name',
  searchSingleMetrics: 'Search Metrics by IP',
  searchBalanceRule: 'Search Balancing Rule',
  noMetadataHint:
    'There is no metadata available, please update to Dubbo2.7, or check your config center configuration in application.properties, please check ',
  parameterList: 'parameterList',
  returnType: 'returnType',
  here: 'here',
  configAddress: 'https://github.com/apache/incubator-dubbo-admin/wiki/Dubbo-Admin-configuration',
  whiteList: 'White List',
  whiteListHint: 'White list IP address, divided by comma: 1.1.1.1,2.2.2.2',
  blackList: 'Black List',
  blackListHint: 'Black list IP address, divided by comma: 3.3.3.3,4.4.4.4',
  address: 'Address',
  weightAddressHint: 'IP addresses to set this weight, divided by comma: 1.1.1.1,2.2.2.2',
  weightHint: 'weight value, default is 100',
  methodHint: 'choose method of load balancing, * for all methods',
  strategy: 'Strategy',
  balanceStrategyHint: 'load balancing strategy',
  goIndex: 'Go To Index',
  releaseLater: 'will release later',
  later: {
    metrics: 'Metrics will release later',
    serviceTest: 'Service Test will release later',
    serviceMock: 'Service Mock will release later'
  },
  by: 'by ',
  $vuetify: {
    dataIterator: {
      rowsPerPageText: 'Items per page:',
      rowsPerPageAll: 'All',
      pageText: '{0}-{1} of {2}',
      noResultsText: 'No matching records found',
      nextPage: 'Next page',
      prevPage: 'Previous page'
    },
    dataTable: {
      rowsPerPageText: 'Rows per page:'
    },
    noDataText: 'No data available'
  },
  configManage: 'Configuration Management',
  configCenterAddress: 'ConfigCenter Address',
  searchDubboConfig: 'Search Dubbo Config',
  createNewDubboConfig: 'Create New Dubbo Config',
  scope: 'Scope',
  name: 'Name',
  warnDeleteConfig: ' Are you sure to Delete Dubbo Config: ',
  warnDeleteRouteRule: 'Are you sure to Delete routing rule',
  warnDeleteDynamicConfig: 'Are you sure to Delete dynamic config',
  warnDeleteBalancing: 'Are you sure to Delete load balancing',
  warnDeleteAccessControl: 'Are you sure to Delete access control',
  warnDeleteTagRule: 'Are you sure to Delete tag rule',
  warnDeleteMeshRule: 'Are you sure to Delete mesh rule',
  warnDeleteWeightAdjust: 'Are you sure to Delete weight adjust',
  configNameHint:
    "Application name the config belongs to, use 'global'(without quotes) for global config",
  configContent: 'Config Content',
  testMethod: 'Test Method',
  execute: 'EXECUTE',
  result: 'Result: ',
  success: 'SUCCESS',
  fail: 'FAIL',
  detail: 'Detail',
  more: 'More',
  copyUrl: 'Copy URL',
  copy: 'Copy',
  url: 'URL',
  copySuccessfully: 'Copied',
  test: 'Test',
  placeholders: {
    searchService: 'Search by service name'
  },
  methods: 'Methods',
  testModule: {
    searchServiceHint:
      'Entire service ID, org.apache.dubbo.demo.api.DemoService, press Enter to search'
  },
  userName: 'User Name',
  password: 'Password',
  login: 'Login',
  apiDocs: 'API Docs',
  apiDocsRes: {
    dubboProviderIP: 'Dubbo Provider Ip',
    dubboProviderPort: 'Dubbo Provider Port',
    loadApiList: 'Load Api List',
    apiListText: 'Api List',
    apiForm: {
      missingInterfaceInfo: 'Missing interface information',
      getApiInfoErr: 'Exception in obtaining interface information',
      api404Err:
        'Interface name is incorrect, interface parameters and response information are not found',
      apiRespDecShowLabel: 'Response Description',
      apiNameShowLabel: 'Api Name',
      apiPathShowLabel: 'Api Path',
      apiMethodParamInfoLabel: 'Api method parameters',
      apiVersionShowLabel: 'Api Version',
      apiGroupShowLabel: 'Api Group',
      apiDescriptionShowLabel: 'Api Description',
      isAsyncFormLabel:
        'Whether to call asynchronously (this parameter cannot be modified, according to whether to display asynchronously defined by the interface)',
      apiModuleFormLabel: 'Api module (this parameter cannot be modified)',
      apiFunctionNameFormLabel: 'Api function name(this parameter cannot be modified)',
      registryCenterUrlFormLabel:
        'Registry address. If it is empty, Dubbo provider IP and port will be used for direct connection',
      paramNameLabel: 'Parameter name',
      paramPathLabel: 'Parameter path',
      paramDescriptionLabel: 'Description',
      paramRequiredLabel: 'This parameter is required',
      doTestBtn: 'Do Test',
      responseLabel: 'Response',
      responseExampleLabel: 'Response Example',
      apiResponseLabel: 'Api Response',
      LoadingLabel: 'Loading...',
      requireTip: 'There are required items not filled in',
      requireItemTip: 'This field is required',
      requestApiErrorTip:
        'There is an exception in the request interface. Please check the submitted data, especially the JSON class data and the enumeration part',
      unsupportedHtmlTypeTip: 'Temporarily unsupported form type',
      none: 'none'
    }
  },
  authFailed: 'Authorized failed,please login.',

  ruleList: 'Rule List',
  mockRule: 'Mock Rule',
  mockData: 'Mock Data',
  globalDisable: 'Global Disable',
  globalEnable: 'Global Enable',
  saveRuleSuccess: 'Save Rule Successfully',
  deleteRuleSuccess: 'Delete Rule Successfully',
  disableRuleSuccess: 'Disable Rule Successfully',
  enableRuleSuccess: 'Enable Rule Successfully',
  methodNameHint: 'The method name of Service',
  createMockRule: 'Create Mock Rule',
  editMockRule: 'Edit Mock Rule',
  deleteRuleTitle: 'Are you sure to delete this mock rule?',

  createTime: 'Create Time',
  lastModifiedTime: 'Last Modified Time',
  trafficTimeout: 'Timeout',
  trafficRetry: 'Retry',
  trafficRegion: 'Region Aware',
  trafficIsolation: 'Isolation',
  trafficWeight: 'Weight Percentage',
  trafficArguments: 'Arg Routing',
  trafficMock: 'Mock',
  trafficAccesslog: 'Accesslog',
  trafficHost: 'Host',
  homePage: 'Cluster Overview',
  serviceManagement: 'Dev & Test',
  resources: 'Resources',
  applications: 'Applications',
  instances: 'Instances',
  applicationDomain: {
    operatorLog: 'OperatorLog',
    flowWeight: 'FlowWeight',
    gray: 'Gray',
    detail: 'Detail',
    instance: 'Instance',
    service: 'Service',
    monitor: 'Monitor',
    tracing: 'Tracing',
    config: 'Config',
    event: 'Event',
    appName: 'Application Name',
    rpcProtocols: 'Rpc Protocols',
    dubboVersions: 'Dubbo Versions',
    dubboPorts: 'Dubbo Ports',
    serialProtocols: 'Serial Protocols',
    appTypes: 'Application Types',
    images: 'Images',
    workloads: 'Workloads',
    deployCluster: 'Deploy Cluster',
    registerCluster: 'Register Cluster',
    registerMode: 'Register Mode'
  },
  searchDomain: {
    total: 'Total',
    unit: 'items'
  },
  messageDomain: {
    success: {
      copy: 'You have successfully copied a piece of information'
    }
  },
  backHome: 'Back Home',
  noPageTip: 'Sorry, the page you visited does not exist.',
  globalSearchTip: 'Search ip, application, instance, service',
  placeholder: {
    typeAppName: 'please type appName, support for prefix',
    typeDefault: 'please type '
  },
  none: 'No Select',
  debug: 'Debug',
  distribution: 'Distribution',
  tracing: 'Tracing',

  provideService: 'Provide Service',
  dependentService: 'Dependent Service',
  submit: 'Submit',
  reset: 'Reset'
}

export default words
