/*
 * Licensed 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.
 */
export default {
  route: {
    dashboard: 'Dashboard',
    introduction: 'Introduction',
    documentation: 'Documentation',
    guide: 'Guide',
    permission: 'Permission',
    pagePermission: 'Page Permission',
    directivePermission: 'Directive Permission',
    icons: 'Icons',
    components: 'Components',
    componentIndex: 'Introduction',
    tinymce: 'Tinymce',
    markdown: 'Markdown',
    jsonEditor: 'JSON Editor',
    dndList: 'Dnd List',
    splitPane: 'SplitPane',
    avatarUpload: 'Avatar Upload',
    dropzone: 'Dropzone',
    sticky: 'Sticky',
    countTo: 'CountTo',
    componentMixin: 'Mixin',
    backToTop: 'BackToTop',
    dragDialog: 'Drag Dialog',
    dragSelect: 'Drag Select',
    dragKanban: 'Drag Kanban',
    charts: 'Charts',
    keyboardChart: 'Keyboard Chart',
    lineChart: 'Line Chart',
    mixChart: 'Mix Chart',
    example: 'Example',
    nested: 'Nested Routes',
    menu1: 'Menu 1',
    'menu1-1': 'Menu 1-1',
    'menu1-2': 'Menu 1-2',
    'menu1-2-1': 'Menu 1-2-1',
    'menu1-2-2': 'Menu 1-2-2',
    'menu1-3': 'Menu 1-3',
    menu2: 'Menu 2',
    Table: 'Table',
    dynamicTable: 'Dynamic Table',
    dragTable: 'Drag Table',
    inlineEditTable: 'Inline Edit',
    complexTable: 'Complex Table',
    treeTable: 'Tree Table',
    customTreeTable: 'Custom TreeTable',
    tab: 'Tab',
    form: 'Form',
    createArticle: 'Create Article',
    editArticle: 'Edit Article',
    articleList: 'Article List',
    errorPages: 'Error Pages',
    page401: '401',
    page404: '404',
    errorLog: 'Error Log',
    excel: 'Excel',
    exportExcel: 'Export Excel',
    selectExcel: 'Export Selected',
    uploadExcel: 'Upload Excel',
    zip: 'Zip',
    exportZip: 'Export Zip',
    theme: 'Theme',
    clipboardDemo: 'Clipboard',
    i18n: 'I18n',
    externalLink: 'External Link'
  },
  navbar: {
    logOut: 'Log Out',
    dashboard: 'Dashboard',
    github: 'Github',
    screenfull: 'Screenfull',
    theme: 'Theme',
    size: 'Global Size'
  },
  login: {
    title: 'Login Form',
    logIn: 'Log in',
    username: 'Username',
    password: 'Password',
    any: 'any',
    thirdparty: 'Or connect with',
    thirdpartyTips: 'Can not be simulated on local, so please combine you own business simulation! ! !'
  },
  documentation: {
    documentation: 'Documentation',
    github: 'Github Repository'
  },
  permission: {
    roles: 'Your roles',
    switchRoles: 'Switch roles'
  },
  guide: {
    description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ',
    button: 'Show Guide'
  },
  components: {
    documentation: 'Documentation',
    tinymceTips: 'Rich text editor is a core part of management system, but at the same time is a place with lots of problems. In the process of selecting rich texts, I also walked a lot of detours. The common rich text editors in the market are basically used, and the finally chose Tinymce. See documentation for more detailed rich text editor comparisons and introductions.',
    dropzoneTips: 'Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/Dropzone.',
    stickyTips: 'when the page is scrolled to the preset position will be sticky on the top.',
    backToTopTips1: 'When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner',
    backToTopTips2: 'You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally',
    imageUploadTips: 'Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.'
  },
  table: {
    dynamicTips1: 'Fixed header, sorted by header order',
    dynamicTips2: 'Not fixed header, sorted by click order',
    dragTips1: 'The default order',
    dragTips2: 'The after dragging order',
    title: 'Title',
    importance: 'Imp',
    type: 'Type',
    remark: 'Remark',
    search: 'Search',
    add: 'Add',
    export: 'Export',
    reviewer: 'reviewer',
    id: 'ID',
    date: 'Date',
    author: 'Author',
    readings: 'Readings',
    status: 'Status',
    actions: 'Actions',
    edit: 'Edit',
    publish: 'Publish',
    draft: 'Draft',
    delete: 'Delete',
    cancel: 'Cancel',
    confirm: 'Confirm',
    name: 'Name',
    serviceUrl: 'Service Url',
    brokerServiceUrl: 'BrokerServiceUrl',
    tenant: 'Tenants',
    namespace: 'Namespaces',
    role: 'Role',
    clusters: 'Clusters',
    addRole: 'AddRole',
    addCluster: 'AddCluster',
    config: 'Config',
    policies: 'Policies',
    description: 'Description',
    update: 'Update',
    topic: 'Topic',
    stats: 'Stats',
    partition: 'Partition',
    cluster: 'Cluster',
    subscription: 'Subscription',
    unsubscription: 'Unsubscription',
    grant: 'Grant',
    limit: 'Limit',
    schemas: 'Schemas',
    brokers: 'Brokers',
    internalConfig: 'InternalConfig',
    runtimeConfig: 'RuntimeConfig',
    dynamicConfig: 'DynamicConfig',
    healthCheck: 'HealthCheck',
    functions: 'Functions',
    start: 'Start',
    stop: 'Stop',
    restart: 'Restart',
    trigger: 'Trigger',
    configName: 'ConfigName',
    configValue: 'ConfigValue',
    sources: 'Sources',
    builtin: 'Builtin',
    sinks: 'Sink',
    quotas: 'Quotas',
    monitor: 'Monitor',
    allowedClusters: 'Allowed Clusters',
    adminRoles: 'Admin Roles'
  },
  errorLog: {
    tips: 'Please click the bug icon in the upper right corner',
    description: 'Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.',
    documentation: 'Document introduction'
  },
  excel: {
    export: 'Export',
    selectedExport: 'Export Selected Items',
    placeholder: 'Please enter the file name(default excel-list)'
  },
  zip: {
    export: 'Export',
    placeholder: 'Please enter the file name(default file)'
  },
  theme: {
    change: 'Change Theme',
    documentation: 'Theme documentation',
    tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.'
  },
  tagsView: {
    refresh: 'Refresh',
    close: 'Close',
    closeOthers: 'Close Others',
    closeAll: 'Close All'
  },
  tabs: {
    config: 'CONFIG',
    broker: 'BROKER',
    bookie: 'BOOKIE',
    namespace: 'NAMESPACE',
    overview: 'OVERVIEW',
    topic: 'TOPIC',
    policies: 'POLICIES',
    configuration: 'CONFIGURATION',
    failuredomains: 'FAILURE DOMAINS',
    isolationpolicies: 'ISOLATION POLICIES'
  },
  common: {
    dangerZone: 'Danger Zone',
    actions: 'Actions',
    clusterLabel: 'Cluster',
    namespacesLabel: 'Namespaces',
    regex: 'Regex',
    inMsg: 'In - msg/s',
    outMsg: 'Out - msg/s',
    inBytes: 'In - bytes/s',
    outBytes: 'Out - bytes/s',
    storageSize: 'Storage Size',
    enabled: 'Enabled',
    disabled: 'Disabled'
  },
  tenant: {
    label: 'Tenant',
    name: 'Tenant Name',
    searchTenant: 'Search Tenants',
    newTenant: 'New Tenant',
    deleteTenant: 'Delete Tenant',
    nameLabel: 'Tenant Name',
    adminRolesLabel: 'Admin Roles',
    allowedClustersLabel: 'Allowed Clusters',
    selectTenantMessage: 'Please select tenant',
    deleteTenantMessage: 'Are you sure you want to delete this tenant?',
    tenantInfo: 'Tenant Info',
    allowedClustersContent: 'This is Allowed Clusters Content',
    adminRolesContent: 'This is Admin Roles Content',
    permissions: 'Permissions',
    newRole: '+ New Role'
  },
  namespace: {
    label: 'Namespace',
    name: 'Namespace Name',
    namespaceNumber: 'Namespace Number',
    newNamespace: 'New Namespace',
    deleteNamespace: 'Delete Namespace',
    inputNamespaceMessage: 'Please input namespace',
    newTopic: 'New Topic',
    searchTopics: 'Search Topics',
    deleteNamespaceMessage: 'Are you sure you want to delete this namespace?',
    policy: {
      label: 'Policy',
      name: 'Policy Name',
      cluster: 'Clusters',
      replicatedCluster: 'Replicated Clusters',
      replicatedClustersContent: 'This is replicatedClustersContent',
      authorization: 'Authorization',
      authorizationContent: 'This is authorizationContent',
      selectRole: 'Please select role',
      deleteRole: 'Delete Role',
      addRole: 'Add Role',
      subscriptionAuthentication: 'Subscription Authentication',
      subscriptionAuthenticationMode: 'Subscription Authentication Mode',
      subscriptionAuthenticationModeContent: 'This is subscriptionAuthenticationModeContent',
      storage: 'Storage',
      replicationFactor: 'Replication Factor',
      replicationFactorContent: 'This is replicationFactorContent',
      ensembelSize: 'Ensembel Size',
      inputEnsemble: 'Please input ensembel',
      writeQuorumSize: 'Write Quorum Size',
      inputWriteQuorumSize: 'Please input Write Quorum Size',
      readQuorumSize: 'Read Quorum Size',
      inputReadQuorumSize: 'Please input Read Quorum Size',
      markDeleteRate: 'Mark Delete Rate',
      markDeleteRateContent: 'This is markDeleteRateContent',
      inputDeleteMaxRate: 'Please input Delete Max Rate',
      encryptionRequire: 'Encryption Require',
      encryptionRequireContent: 'This is encryptionRequireContent',
      deduplication: 'Deduplication',
      deduplicationContent: 'This is deduplicationContent',
      backlog: 'Backlog',
      backlogQuotasLimit: 'Backlog Quotas Limit',
      backlogQuotasLimitContent: 'This is backlogQuotasLimitContent',
      inputBacklogQuotasLimit: 'Please input Backlog Quotas Limit',
      backlogRententionPolicy: 'Backlog Retention Policy',
      backlogRententionPolicyContent: 'This is backlogRententionPolicyContent',
      inputBacklogRententionPolicyContent: 'Please select backlog rentention policy',
      schema: 'Schema',
      autoUpdateStrategy: 'AutoUpdate Strategy',
      autoUpdateStrategyContent: 'This is autoUpdateStrategyContent',
      inputAutoUpdateStrategy: 'Please select backlog autoUpdate strategy',
      schemaValidationEnforced: 'Schema Validation Enforced',
      schemaValidationEnforcedContent: 'This is schemaValidationEnforcedContent',
      cleanupPolicy: 'Cleanup Policy',
      messageTTL: 'Message TTL(Unit Second)',
      messageTTLContent: 'This is messageTTLContent',
      inputMessageTTL: 'Please input Backlog Quotas Limit',
      retentionSize: 'Retention Size',
      retentionSizeContent: 'This is retentionSizeContent',
      inputRententionSize: 'Please input retention size',
      retentionTime: 'Retention Time(Unit Minutes)',
      retentionTimeContent: 'This is retentionTimeContent',
      inputRetentionTime: 'Please input Retention Time',
      compactionThreshold: 'Compaction Threshold',
      compactionThresholdContent: 'This is compactionThresholdContent',
      inputCompactionThreshold: 'Please input compaction threshold',
      offloadThreshold: 'Offload Threshold',
      offloadThresholdContent: 'This is offloadThresholdContent',
      inputOffloadThreshold: 'Please input Offload Threshold',
      offloadDeletionLag: 'Offload Deletion Lag',
      offloadDeletionLagContent: 'This is offloadDeletionLagContent',
      inputOffloadDeleteLag: 'Please input offload delete lag',
      throttling: 'Throttling',
      maxProducersPerTopic: 'Max Producers Per Topic',
      maxProducersPerTopicContent: 'This is maxProducersPerTopicContent',
      inputMaxProducersPerTopic: 'Please input max Producers',
      maxConsumersPerTopic: 'Max Consumers Per Topic',
      maxConsumersPerTopicContent: 'This is maxConsumersPerTopicContent',
      inputMaxConsumersForTopic: 'Please input max Consumers for topic',
      maxConsumerPerSubscription: 'Max Consumers Per Subscription',
      maxConsumerPerSubContent: 'This is maxConsumerPerSubContent',
      inputMaxConsumersForSub: 'Please input max consumer for sub',
      dispatchRate: 'Dispatch Rate',
      dispatchRatePerTopic: 'Dispatch Rate Per Topic',
      dispatchRatePerTopicContent: 'This is dispatchRatePerTopicContent',
      dispatchRatePerTopicBytes: 'bytes/second',
      inputDispatchRateBytes: 'Please input dispatch rate',
      dispatchRatePerTopicMessage: 'message/second',
      inputDispatchRatePerTopicMessage: 'Please input dispatch rate',
      dispatchRatePerTopicPeriod: 'period(Unit second)',
      inputDispatchPerTopicPerPeriod: 'Please input dispatch rate',
      dispatchRateForSub: 'Dispatch Rate Per Subscription',
      dispatchRatePerSubContent: 'This is dispatchRatePerSubContent',
      inputDispatchRatePerSubBytes: 'Please input dispatch rate',
      dispatchRatePerSubBytes: 'bytes/second',
      dispatchRatePerSubMessage: 'message/second',
      inputDispatchRatePerSubMessage: 'Please input dispatch rate',
      dispatchRatePerSubPeriod: 'period(Unit Second)',
      inputDispatchRatePerSubPeriod: 'Please input dispatch rate',
      subscribeRatePerConsumer: 'Subscribe Rate Per Consumer',
      subscribeRatePerConsumerSub: 'message/second',
      inputSubscribeRate: 'Please input subscribe rate',
      subscribeRatePerConsumerContent: 'This is subscribeRatePerConsumerContent',
      subscribeRatePerConsumerPeriod: 'period(Unit Second)',
      antiAffinity: 'Anti Affinity',
      antiAffinityGroup: 'Anti Affinity Group',
      antiAffinityGroupContent: 'This is antiAffinityGroupContent',
      inputAntiAffinityGroup: 'Please input Anti Affinity Group'
    },
    clearBacklog: 'Clear Backlog',
    bundle: {
      label: 'Bundle',
      name: 'Bundle Name',
      operation: 'Operation',
      split: 'Split',
      unload: 'Unload',
      bundleInfoContent: 'This is Bundle Info'
    }
  },
  topic: {
    label: 'Topic',
    name: 'Topic Name',
    topicNumber: 'Topic Number',
    newTopic: 'New Topic',
    deleteTopic: 'Delete Topic',
    delete: 'Delete',
    persistent: 'Persistent',
    nonPersistent: 'Non-persistent',
    partition: 'Partition',
    partitions: 'Partitions',
    partitionNumber: 'Partition Number',
    topicDomain: 'Topic Domain',
    addRole: 'Add Role',
    producer: {
      label: 'Producer',
      name: 'Producer Name',
      producers: 'Producers',
      producerId: 'Producer Id',
      producerName: 'Producer Name',
      producerNumber: 'Producer Number',
      avgMsgSize: 'Avg Msg Size',
      address: 'Address',
      since: 'Since'
    },
    subscription: {
      label: 'Subscription',
      name: 'Subscription Name',
      subscriptions: 'Subscriptions',
      type: 'Type',
      subscriptionNumber: 'Subscription Number',
      msgExpired: 'Msg Expired',
      backlog: 'Backlog',
      skip: 'SKIP',
      skipMessage: 'Messages',
      expire: 'EXPIRE',
      expireMessage: 'messages older than timestamp (in seconds)',
      clear: 'CLEAR',
      clearMessage: 'Clear Message',
      reset: 'RESET',
      resetByTimeMessage: 'Reset By Time',
      resetById: 'Reset By Message Id',
      messageId: 'Message ID',
      mins: 'Mins',
      storage: 'STORAGE',
      storageSize: 'Storage Size',
      entries: 'Entries',
      segments: 'Segments'
    },
    segment: {
      label: 'Segment',
      name: 'Segment Name',
      ledgerId: 'Ledger Id',
      entries: 'Entries',
      size: 'Size',
      status: 'Status',
      offload: 'Offload'
    },
    cursor: {
      label: 'Cursor',
      name: 'Cursor Name',
      cursors: 'Cursors',
      markDeletePosition: 'Mark Delete Position',
      readPosition: 'Read Position',
      waitingReadOp: 'Waiting Read Op',
      pendingReadOp: 'Pending Read Op',
      numberOfEntriesSinceFirstNotAckedMessage: 'Entries Since First Not AckedMessage'
    },
    policy: {
      label: 'policy',
      name: 'Policy Name',
      policies: 'Policies',
      authentication: 'Authorization',
      authorizationContent: 'This is authorizationContent'
    },
    consumer: {
      label: 'Consumer',
      name: 'Consumer Name',
      consumers: 'Consumers',
      avgMsgSize: 'Avg Msg Size',
      address: 'Address',
      since: 'Since'
    },
    info: 'INFO',
    column: 'column',
    data: 'data',
    terminate: 'terminate',
    compactionName: 'COMPACTION',
    compaction: 'compaction',
    offloadName: 'OFFLOAD',
    offload: 'offload',
    status: 'STATUS',
    unload: 'Unload',
    deleteTopicMessage: 'Are you sure you want to delete this topic?',
    partitionedTopicName: 'Partitioned Topic Name',
    selectRoleMessage: 'Please Select Role',
    backlogOpeartion: 'Backlog Operation'
  },
  cluster: {
    label: 'Cluster',
    name: 'Cluster Name',
    addCluster: 'Add Cluster',
    updateCluster: 'Update Cluster',
    deleteCluster: 'Delete Cluster',
    searchClusters: 'Search Clusters',
    selectCluster: 'Please select cluster',
    serviceUrl: 'Service Url',
    selectClusterMessage: 'Please select clusters',
    webServiceUrlPrefix: 'Http Service Url',
    webServiceUrlTlsPrefix: 'Https Service Url',
    brokerServiceUrlPrefix: 'Broker Service Url',
    brokerServiceUrlTlsPrefix: 'Broker Service Url (TLS)',
    deleteClusterMessage: 'Are you sure you want to delete this policy?',
    replicatedCluster: 'Replicated Clusters'
  },
  broker: {
    label: 'Broker',
    name: 'Broker Name',
    brokerNumber: 'Broker Number',
    ownedNamespaceNumber: 'Owned Namespace Number',
    throughput: 'Throughput',
    bandwidth: 'Bandwidth',
    placeholderSelectBroker: 'Please select brokers',
    brokerContent: 'This is Broker Content'
  },
  bookie: {
    label: 'Bookie',
    name: 'Bookie Name',
    state: 'Bookie state',
    storage: 'Bookie storage'
  },
  // failure domain
  fd: {
    label: 'Failure Domain',
    failureDomainNumber: 'Failure Domain Number',
    createFdTitle: 'Add a New Failure Domain',
    name: 'Domain Name',
    brokerList: 'Broker List',
    selectBrokers: 'Please select brokers',
    searchFds: 'Search Failure Domains',
    newFd: 'New FailureDomain',
    updateFd: 'Update Failure Domain',
    deleteFd: 'Delete Failure Domain',
    deleteFdMessage: 'Are you sure you want to delete this domain?'
  },
  // isolation policies
  ip: {
    label: 'Policy',
    heading: 'Namespace Isolation Policy',
    name: 'Policy Name',
    searchIps: 'Search Isolation Policies',
    selectIp: 'Select Isolation Policy',
    newIp: 'New Isolation Policy',
    nameLabel: 'Isolation Policy',
    numPBLabel: 'Number of Primary Brokers',
    numSBLabel: 'Number of Secondary Brokers',
    newIpName: 'Please input policy name',
    selectNsLabel: 'Select Namespaces',
    selectPbLabel: 'Select Brokers',
    selectSbLabel: 'Select Brokers',
    selectAfpPh: 'Please select auto failover policy',
    pbHeading: 'Primary Brokers',
    sbHeading: 'Secondary Brokers',
    afpHeading: 'Auto Failover Policy',
    ptHeading: 'Policy Type',
    brokerUsageThresholdLabel: 'Broker Usage Threshold',
    brokerUsageThresholdPh: 'Please input broker usage threshold',
    minimalAvailableBrokerLabel: 'Minimal Available Brokers',
    minimalAvailableBrokerPh: 'Please input minimalAvailableBroker',
    deletePolicyMessage: 'Are you sure you want to delete this policy?'
  }
}
