/**
 * Copyright (c) 2022 - present TinyVue Authors.
 * Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
 *
 * Use of this source code is governed by an MIT-style license.
 *
 * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
 * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
 * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
 *
 */
export default {
  'en-US': 'English',
  'zh-CN': 'Chinese',
  'zh-TW': 'China Taiwan',
  hello: 'Hello {name}',
  code: 'en-US',
  yes: 'Yes',
  no: 'No',
  ui: {
    input: {
      close: 'Close',
      more: 'More',
      detail: 'Detailed Info'
    },
    numeric: {
      equalTo: 'Equal to',
      notEqualTo: 'Not equal to',
      moreThan: 'Greater than',
      moreThanOrEqualTo: 'Greater than or equal to',
      lessThan: 'Less than',
      lessThanOrEqualTo: 'Less than or equal to',
      empty: 'Null',
      nonEmpty: 'Not null'
    },
    queryBuilder: {
      addItem: 'Add Rule',
      addGroup: 'Add Rule Group',
      removeGroup: 'Del Rule Group'
    },
    wizard: {
      previousStep: 'Previous',
      nextStep: 'Next',
      save: 'Save',
      submit: 'Submit'
    },
    linkMenu: {
      title: 'Messages',
      placeholder: 'Enter a keyword.',
      sure: 'OK',
      cancel: 'Cancel'
    },
    todoList: {
      add: 'Add',
      placeholder: 'Please enter content...'
    },
    alert: {
      error: 'Error',
      info: 'Information',
      success: 'Success',
      title: 'Information',
      warning: 'Warning'
    },
    amount: {
      currency: 'Currency',
      amount: 'Amount',
      date: 'Date',
      equalTo: 'Equal to',
      notEqualTo: 'Not equal to',
      moreThan: 'Greater than',
      moreThanOrEqualTo: 'Greater than or equal to',
      lessThan: 'Less than',
      lessThanOrEqualTo: 'Less than or equal to',
      empty: 'Null',
      nonEmpty: 'Not null'
    },
    actionMenu: {
      moreText: 'More'
    },
    base: {
      all: 'All',
      cancel: 'Cancel',
      confirm: 'OK',
      delete: 'Delete',
      edit: 'Edit',
      more: 'More',
      reset: 'Reset',
      clear: 'Clear',
      comma: ','
    },
    button: {
      cancel: 'Cancel',
      confirm: 'Confirm'
    },
    buttonGroup: {
      noData: 'No data'
    },
    buttonMessage: {
      cancel: 'Cancel',
      confirm: 'Confirm'
    },
    cell: {
      placeholder: '--Select--'
    },
    cascader: {
      noMatch: 'No matches.',
      loading: 'Loading',
      placeholder: '--Select--',
      noData: 'No data available.'
    },
    chart: {
      auxiliary: 'Auxiliary',
      emptyText: 'No Data',
      kName: 'Daily K-line',
      other: 'Other',
      summation: 'Summation',
      total: 'Total',
      value: 'Value'
    },
    colorSelectPanel: {
      confirm: 'Select',
      cancel: 'Cancel',
      predefine: 'Default Colors',
      history: 'Recent Colors',
      empty: 'None'
    },
    crop: {
      choose: 'Select Picture',
      zoomOut: 'Reduced by 10%',
      zoomIn: 'Zoom in by 10%',
      rotate_45: 'rotate -45°',
      rotate45: 'rotate 45°',
      closeCropArea: 'hide selection',
      reset: 'reset',
      closeCrop: 'Exit cropping',
      cropImage: 'Selecting a Region'
    },
    datepicker: {
      clear: 'Clear',
      cancel: 'Cancel',
      endDate: 'End Date',
      confirm: 'OK',
      month: 'Month',
      endTime: 'End Time',
      month2: 'Feb',
      month1: 'Jan',
      month4: 'Apr',
      month3: 'Mar',
      month6: 'Jun',
      month5: 'May',
      month8: 'Aug',
      month7: 'Jul',
      month10: 'Oct',
      month9: 'Sep',
      month12: 'Dec',
      month11: 'Nov',
      months: {
        feb: 'February',
        jan: 'January',
        apr: 'April',
        mar: 'March',
        jun: 'June',
        may: 'May',
        aug: 'August',
        jul: 'July',
        oct: 'October',
        sep: 'September',
        dec: 'December',
        nov: 'November'
      },
      nextYear: 'Next year',
      nextMonth: 'Next Month',
      prevMonth: 'Previous Month',
      now: 'Now',
      selectDate: 'Select a date.',
      prevYear: 'Previous year',
      startDate: 'Start Date',
      selectTime: 'Select a time.',
      today: 'Today',
      currentMonth: 'This Month',
      startTime: 'Start Time',
      week: 'Week',
      weeks: {
        mon: 'Mon',
        sun: 'Sun',
        wed: 'Wed',
        tue: 'Tue',
        thu: 'Thu',
        sat: 'Sat',
        fri: 'Fri'
      },
      timezone: 'Select a time zone.',
      year: '',
      hour: 'Hour',
      minute: 'Minute',
      second: 'Second',
      to: '-',
      yearMonth: '{month} {year}',
      yearMonthDay: '{month} {day}, {year}'
    },
    richTextEditor: {
      bold: 'bold',
      italic: 'Italic',
      link: 'Link',
      unlink: 'Unlink',
      highlight: 'Highlight',
      underline: 'Underline',
      strike: 'Strikethrough',
      subscript: 'Subscript',
      superscript: 'Superscript',
      code: 'Coding',
      unorderedlist: 'Bullet Lists',
      orderedlist: 'Numbered Lists',
      taskList: 'Multi-level Lists',
      quote: 'Reference',
      codeBlock: 'Code Block',
      formatClear: 'Clear Formatting',
      nodeDelete: 'Delete Node',
      undo: 'Undo',
      redo: 'Redo',
      left: 'Left-Aligned',
      center: 'Centered',
      right: 'Right-Aligned',
      fontSize: 'Font Size',
      lineHeight: 'Line Spacing',
      hBox: 'Headings',
      img: 'Picture',
      color: 'Text Color',
      table: 'Table',
      backgroundColor: 'Background Color',
      localResources: 'Upload Local File',
      resourceLink: 'Past Link'
    },
    calendar: {
      showType: {
        year: 'Year'
      }
    },
    dept: {
      code: 'Code',
      company: 'Company',
      dept1: 'Level-1 Dept.',
      dept2: 'Level-2 Dept.',
      dept3: 'Level-3 Dept.',
      dept4: 'Level-4 Dept.',
      dept5: 'Level-5 Dept.',
      dept6: 'Level-6 Dept.',
      dept7: 'Level-7 Dept.',
      dept8: 'Level-8 Dept.',
      input: 'Enter a department code ID or name.',
      name: 'Name',
      search: 'Auxiliary Search',
      selected: 'Selected'
    },
    dialogBox: {
      confirm: 'OK',
      cancel: 'Cancel'
    },
    load: {
      dot: 'Loading…'
    },
    exception: {
      build: 'The module is under construction.',
      busy: 'The network is busy. Please wait',
      noperm: 'Not find the page',
      weaknet: 'Poor network performance',
      pcview: 'View the file on the PC',
      nodata: 'Get some rest',
      create: 'Create',
      provide: 'Provided by the TINY Team DEV',
      nodatamf: 'No data available.',
      nopermmf: 'Insufficient permissions.',
      weaknetmf: 'Network error.',
      noresult: 'No results found.',
      nonews: 'No messages.',
      pagenoperm: '403 Forbidden',
      pageweaknet: 'Network error.',
      pagenothing: '404 Not Found',
      pageservererror: '500 Internal Server Error'
    },
    fileUpload: {
      largefile: 'The file is too large and will be uploaded in segments. Please wait.',
      folder: 'The file cannot be uploaded because it is more than five-folder levels deep.',
      init: 'Service error. Please try again.',
      token: 'Before starting, perform EDM authentication and obtain the token.',
      exceed: '{fileName} The file size exceeds the upper limit ({maxSize}).',
      largeFile: 'The file exceeds 2 GB.',
      fileSize: '{fileName} The file is less than the minimum size ({minSize} {sizeUnit}).',
      deleteTip: 'Press the Delete key.',
      downloadFile: 'Download',
      previewFile: 'Preview',
      updateFile: 'Update',
      reUploadFile: 'Upload Again',
      cancelFile: 'Cancel Upload',
      deleteFile: 'Delete',
      empty: 'The file is empty.',
      kiaScanTip:
        'KIA needs to verify the download of documents from the public network. The current document is being checked by KIA. Try again later.',
      fileNameExceeds: 'The file name contains more than 255 characters. Shorten the file name.',
      fileName: 'This file name',
      calcHash: 'The document is being analyzed and encrypted.',
      uploadFile: 'Upload',
      downloadAll: 'Download All',
      onlySupport: 'Only {type} files are supported.',
      fileNotLessThan: 'A single file cannot be less than ',
      fileNotMoreThan: 'A single file cannot exceed ',
      fileSizeRange: 'The size of a single file must range from {moreThan} to {lessThan}.',
      notSupport: 'The format (.{format}) is not supported.',
      notSupportNoSuffix: 'Files without file name extensions are not supported.',
      notSupportSpecialCharacters: 'Special characters not allowed. Rename the file and upload it again.',
      attachment: 'Attachments',
      uploadList: 'File List',
      numberExceed: 'Too many files in this batch. Max. supported: {number}',
      numberLimit: 'Maximum files per batch: {number}',
      encryptDialogTitle: 'Watermark and Encryption',
      addWatermark: 'Add Watermark',
      encrypted: 'Encryption',
      docPreview: 'Preview',
      networkError: 'Network error.',
      pictureNetworkError: 'Network error. File upload failed.',
      reUploadTip: '{number} files failed to be uploaded.'
    },
    uploadList: {
      pictureUploading: 'Uploading',
      uploadFailed: 'Upload failed',
      uploading: 'Uploading',
      download: 'Download',
      reUpload: 'Upload Again',
      delete: 'Delete',
      noAttachments: 'No attachments available.',
      cancel: 'Cancel',
      preview: 'Preview',
      releaseAndUpload: 'Release mouse capture to upload the file.',
      dragOrClickImport: 'Drag a file here or click to import.',
      shoot: 'Take Photo or Video',
      selectFromAlbum: 'Select from Album',
      uploadFailedAndReupload: 'Upload failed. Please try again.'
    },
    upload: {
      addPicture: 'Add Picture',
      addAudio: 'Add Audio',
      addVideo: 'Add Video'
    },
    grid: {
      dataUnchanged: 'Data remains unchanged.',
      deleteSelectRecord: 'Delete the selected records?',
      emptyText: 'No data available.',
      error: {
        delRevert: 'The <strong>revert</strong> method has been deprecated. Use <strong>revertData</strong> instead.',
        groupFixed: 'If you want to use grouping headers, place the fixed columns on the left and right sides.',
        notDelete: 'The <strong>delete</strong> method does not exist.',
        notQuery: 'The <strong>query</strong> method does not exist.',
        notResizable: 'Horizontal virtual scrolling cannot be resized.',
        notSave: 'The <strong>save</strong> method does not exist.',
        reqModule: 'The module {{name}} is missing.',
        rowIdEmpty: 'The <strong>row-id</strong> parameter is required.',
        scrollYHeight: 'The height or max-height must be specified before enabling virtual scrolling.',
        toolbarId: 'A unique ID is required for the toolbar.',
        treeFixedExpand: 'The fixed column conflicts with row expansion in the tree structure.',
        treeInsert: 'The tree structure does not support the <strong>insert</strong> operation.',
        treeRemove: 'The tree structure does not support the <strong>remove</strong> operation.',
        unableInsert: 'Unable to insert data to the specified location.',
        notAllowDragSelf: 'Self dragging is not allowed.',
        notAllowDragFixed: 'Fixed columns cannot be dragged.',
        remoteMethod:
          'The <strong>multipleHistory.remoteSelectedMethod</strong> must be set for the remote storage of personalized template management.',
        remoteSelectedMethod:
          '"remoteSelectedMethod" needs to be set for remote storage for personalized template management.',
        chainCallError: 'There are syntax errors in the default slot.',
        renderParamError: 'A rendering method is required for generating VNode.',
        classComponentError: 'There was an error in the class component rendering.',
        groupColumnFixedError: 'Each group must have the same type.',
        missingValueFormat:
          'The renderer cannot format the date character string. The valueFormat source date format is required.',
        clipboardWriteError: 'Clipboard write error.'
      },
      filter: {
        allSelect: 'All',
        endDate: 'End Date',
        startDate: 'Start Date',
        dateTips: 'Select at least one date.',
        clear: 'Clear Filter Criteria from Current Column',
        clearAll: 'Clear Filter Criteria from All Columns',
        confirmFilter: 'Filter',
        empty: 'Empty',
        emptyText: 'No data available.',
        equal: 'Equal to',
        include: 'Contains',
        prefix: 'Starts with',
        resetFilter: 'Reset',
        unempty: 'Not empty'
      },
      individuation: {
        cancelBtn: 'Cancel',
        colConfigs: {
          asc: 'Ascending',
          desc: 'Descending',
          frozenLeft: 'Freeze left',
          frozenRight: 'Freeze right',
          invisible: 'Hide',
          unsorted: 'Unsorted',
          unfrozen: 'Unfrozen',
          visible: 'Show',
          unfreeze: 'Unfreeze',
          unsort: 'Unsort'
        },
        toolbar: {
          set: 'Operation',
          selected: 'Selected',
          freeze: 'Frozen',
          sort: 'Sorting',
          clear: 'Clear',
          search: 'Search',
          all: 'All'
        },
        columnSet: 'Set Columns',
        overwriteSave: 'Overwrite and Save',
        saveAs: 'Save As',
        saveTemplate: 'Save',
        selectTemplate: 'Select',
        hideMsg: 'There must be at least one column.',
        maxFreezeNumMsg: 'A maximum of 6 columns can be frozen.',
        defaultTemplateName:
          'Enter a name. If no name is specified, a name will be automatically generated based on the time.',
        reserveTemplateName: 'If no new name is specified, the original name will be kept.',
        resetBtn: 'Reset',
        saveBtn: 'OK',
        hideAll: 'Hide All',
        showAll: 'Show All',
        tabs: {
          base: {
            title: 'Basic Settings',
            tips: 'Click the icons to customize the display style.'
          },
          other: {
            allDataSort: 'All data',
            currPageSort: 'Current page',
            pageSize: 'Records per Page',
            title: 'Other Settings',
            tips: 'Set sorting for servers or clients and the number of records on each page.',
            sortType: 'Sorting Data'
          }
        },
        title: 'Custom Settings',
        switchtitle: 'Manage',
        switchsave: 'Save',
        switchlabel: 'Configuration List:',
        switchapply: 'Use',
        switchedit: 'Edit',
        switchdel: 'Delete',
        switchdelconfirm: 'Deletion Confirmation',
        switchconfirm: 'Confirm',
        switchonlytemp: 'Save',
        switchtempapply: 'Save and Use',
        switchtempoverwrite: 'Overwrite and Use',
        switchdelcon: 'Delete this template?',
        switchdelyes: 'Confirm',
        switchdelno: 'Cancel',
        switchapplycon: 'Use this template??'
      },
      removeSelectRecord: 'Remove the selected records?',
      saveSuccess: 'Saved successfully.',
      selectOneRecord: 'Select at least one record.',
      isSaveMsg: 'Some data has been modified. Save the changes?'
    },
    hrapprover: {
      approver: 'Authorized Approver',
      noapprover: 'No authorized approver.',
      noselected: 'No authorized approver selected.',
      remark: 'Remarks'
    },
    imageViewer: {
      loadErrorAlt: 'Loading failed.',
      save: 'Save',
      del: 'Delete',
      thumbnail: 'Thumbnail',
      menu: 'Directory',
      hide: 'Hide Sidebar',
      show: 'Show Sidebar'
    },
    navMenu: {
      moreText: 'More'
    },
    logout: {
      in: 'Login',
      out: 'Logout'
    },
    page: {
      goto: 'Go to',
      item: 'items',
      next: 'Next',
      page: 'Records/Page',
      pageClassifier: 'page',
      pagesize: 'Records/Page',
      prev: 'Previous',
      total: 'Total:',
      totals: 'Total:',
      jump: 'Go to',
      hundredThousand: '100,000+',
      million: '1 million+',
      tenMillion: '10 million+',
      loadingTotals: 'Loading the total number of items...'
    },
    popeditor: {
      cancel: 'Cancel',
      confirm: 'OK',
      historyLists: 'History',
      reset: 'Reset',
      search: 'Query',
      selectionLists: 'Selected',
      sourceLists: 'All',
      title: 'Select',
      filterNode: 'Enter a keyword.'
    },
    popupload: {
      fileName: 'Name',
      fileSize: 'Size',
      fileStatus: 'Status',
      dialogTitle: 'Upload Files',
      cancelButtonText: 'Cancel',
      tipsFileText: 'Info',
      uploadError: 'Upload failed.',
      uploadButtonText: 'Upload',
      uploadSuccess: 'Upload completed.',
      saveButtonText: 'Select File',
      uploadsButtonText: 'Select Files',
      errorTypeTips: 'Invalid file format.',
      errorSizeTips: 'File too large.',
      confirmDeleteTips: 'Delete This File?',
      delete: 'Delete',
      waitUpload: 'Waiting for upload',
      operation: 'Operation',
      success: 'Upload successful',
      listTip: 'There are a total of {0} pieces of data: ',
      errorListTip: 'There are {0} errors in them. Please modify them and try again',
      limitUploadFileType: 'Supported file formats',
      limitUploadFileNumber: 'Maximum files allowed',
      limitUploadFileSize: 'Maximum file size',
      errorNumTips: 'The number of uploaded files exceeds the limit. The operation has been cancelled'
    },
    rate: {
      level: {
        average: 'Acceptable',
        excellent: 'Very Good',
        fair: 'Poor',
        good: 'Good',
        poor: 'Very Poor'
      }
    },
    select: {
      loading: 'Loading...',
      noData: 'No data available.',
      noMatch: 'No matches.',
      placeholder: '--Select--',
      pleaseSearch: 'Enter a keyword.',
      search: 'Search',
      selected: 'Selected',
      selectedNum: '{num} selected',
      noSearchData: 'No matches. Enter another keyword.',
      add: 'Add',
      collapse: 'Collapse'
    },
    search: {
      placeholder: 'Search'
    },
    signature: {
      confirm: 'Done',
      rewrite: 'Re-sign',
      cancel: 'Cancel',
      tips: 'Handwritten signature required.',
      resign: 'Re-sign',
      placeholder: 'Please sign here (mandatory).'
    },
    tabs: {
      moreItem: 'More'
    },
    tag: {
      add: 'Add'
    },
    toggleMenu: {
      placeholder: 'Enter a keyword.'
    },
    treeMenu: {
      placeholder: 'Enter a keyword.'
    },
    transfer: {
      filterPlaceholder: 'Enter a keyword.',
      hasCheckedFormat: '{checked}/{total} checked',
      noData: 'No data available.',
      noMatch: 'No matches.',
      noCheckedFormat: '{total} items',
      titles: ['List 1', 'List 2']
    },
    tree: {
      loading: 'Loading...',
      emptyText: 'No data available.',
      switchText: 'Select child nodes',
      edit: 'Edit',
      delete: 'Delete',
      addChild: 'Add Child',
      newNodeTitle: 'Add Child Node',
      deleteTip1: 'Deleted data cannot be restored. Continue?',
      deleteTip2: 'This node has child nodes. Retain them?',
      deleteTip3: 'Retain child nodes'
    },
    usercard: {
      address: 'Address',
      collapse: 'Show less',
      email: 'Email',
      empno: 'Employee ID',
      expand: 'Show more',
      fax: 'Fax',
      internal: 'Extension',
      manager: 'Supervisor',
      mobile: 'Mobile',
      other: 'Additional Info',
      phone: 'Landline',
      timezone: 'Time Zone',
      travelcode: 'Out-of-Office Message for a Business Trip',
      viop: 'VIOP'
    },
    richText: {
      bold: 'Bold',
      italic: 'Tilt',
      underline: 'Underline',
      header: 'Paragraph Format',
      strike: 'Delete Line',
      blockquote: 'Block Reference',
      codeBlock: 'Insert Code Segment',
      size: 'Font Size',
      listOrdered: 'No. List',
      listBullet: 'Project List',
      header1: 'H1',
      header2: 'H2',
      align: 'Alignment Mode',
      color: 'Font Color',
      background: 'Background Color',
      image: 'Image',
      video: 'Video',
      link: 'Add Link',
      formula: 'Insert Function',
      clean: 'Clear Format',
      indent1: 'Indent To The Left',
      indent2: 'Indent To The Right',
      pickerLabel: 'Title Size',
      headerPicker1: 'Title 1',
      headerPicker2: 'Title 2',
      headerPicker3: 'Title 3',
      headerPicker4: 'Title 4',
      headerPicker5: 'Title 5',
      headerPicker6: 'Title 6',
      normal: 'Normal',
      sizeSmall: 'Small',
      sizeLarge: 'Large',
      sizeHuge: 'Super Large Size',
      alignPicker1: 'Align To The Left',
      alignPicker2: 'Align In The Center',
      alignPicker3: 'Align To The Right',
      alignPicker4: 'Align The Two Ends',
      subScript: 'Subscript',
      superScript: 'Superscript',
      directionRTL: 'Right To Left',
      font: 'Font',
      file: 'File',
      betterTable: 'Table',
      fullscreen: 'Fullscreen',
      insertColumnRight: 'Insert Column Right',
      insertColumnLeft: 'Insert Column Left',
      insertRowUp: 'Insert Row Up',
      insertRowDown: 'Insert Row Down',
      mergeCells: 'Merge Cells',
      unmergeCells: 'Split Cells',
      deleteColumn: 'Delete Current Column',
      deleteRow: 'Delete Current Row',
      deleteTable: 'Delete Table',
      colorPicker: 'Background Color',
      placeholder: 'Insert text here...',
      maxLength: 'Text Length exceeds the Limit, max Length config is '
    },
    fluentEditor: {
      undo: 'Undo',
      redo: 'Redo',
      lineheight: 'Line Height'
    },
    steps: {
      done: 'Completed',
      doing: 'In Progress',
      wait: 'Pending'
    },
    actionSheet: {
      cancel: 'Cancel'
    },
    image: {
      loadFail: 'Loading failed.'
    },
    miniPicker: {
      cancel: 'Cancel',
      confirm: 'OK'
    },
    pullRefresh: {
      pullingDown: 'Pull down to refresh.',
      pullingUp: 'Pull up to refresh.',
      pulling: 'Pull down to refresh.',
      loosing: 'Release to refresh.',
      success: 'Refreshed.',
      failed: 'Refresh failed.',
      noMore: 'No more data.'
    },
    currency: {
      defaultCurrency: 'Default',
      setDefault: 'Set as default',
      chooseCurrency: 'Select Currency'
    },
    calendarBar: {
      week: {
        0: 'Sun',
        1: 'Mon',
        2: 'Tue',
        3: 'Wed',
        4: 'Thu',
        5: 'Fri',
        6: 'Sat'
      },
      year: '%s',
      yearMonth: '%m %y',
      month: {
        1: 'Jan',
        2: 'Feb',
        3: 'Mar',
        4: 'Apr',
        5: 'May',
        6: 'Jun',
        7: 'Jul',
        8: 'Aug',
        9: 'Sep',
        10: 'Oct',
        11: 'Nov',
        12: 'Dec'
      },
      monthAbbr: {
        1: 'Jan',
        2: 'Feb',
        3: 'Mar',
        4: 'Apr',
        5: 'May',
        6: 'Jun',
        7: 'Jul',
        8: 'Aug',
        9: 'Sept',
        10: 'Oct',
        11: 'Nov',
        12: 'Dec'
      }
    },
    calendarView: {
      week: {
        0: 'Sun',
        1: 'Mon',
        2: 'Tue',
        3: 'Wed',
        4: 'Thu',
        5: 'Fri',
        6: 'Sat'
      },
      weekDays: {
        0: 'SUN',
        1: 'MON',
        2: 'TUE',
        3: 'WED',
        4: 'THU',
        5: 'FRI',
        6: 'SAT'
      },
      backToday: 'Today',
      new: 'Add',
      noSchedule: 'No Schedule',
      year: '',
      month: '',
      dateFormat: 'yyyy-MM'
    },
    selectedBox: {
      select: 'Selected (%s)',
      allSelect: 'All Selected (%s)',
      clear: 'Clear',
      noData: 'No data'
    },
    record: {
      record: 'Recording',
      cancel: 'Cancel',
      confirm: 'OK',
      clickToStartRecording: 'Click to record.',
      clickToResumeRecording: 'Click to continue recording.'
    },
    dialogSelect: {
      treeSearch: 'Enter a keyword and press Enter.'
    },
    loadList: {
      errorText: 'Something went wrong.',
      loadingText: 'Loading...',
      finishedText: "There's no more."
    }
  },
  validation: {
    array: {
      len: 'This field must contain %s characters.',
      min: 'This field must contain %s characters or more.',
      max: 'This field must contain %s characters or less.',
      range: 'This field must have %s to %s characters.'
    },
    date: {
      format: 'The date %s does not match the %s format.',
      invalid: '%s field verification error.',
      parse: 'Unable to parse %s, %s is invalid'
    },
    default: '%s field verification error.',
    enum: 'Must be one of %s',
    number: {
      len: 'The value must be %s.',
      min: 'The value must be %s or larger.',
      max: 'The value must be %s or less.',
      range: 'The value must be between %s and %s.'
    },
    pattern: {
      mismatch: 'The value %s does not match %s.'
    },
    required: 'Required field',
    string: {
      len: 'This field must contain %s characters.',
      min: 'This field must contain at least %s characters.',
      max: 'This field can contain a maximum of %s characters.',
      range: 'This field must contain %s to %s characters.'
    },
    types: {
      acceptFile: 'Only files are supported.',
      acceptImg: 'Only images are supported.',
      array: 'Invalid array.',
      boolean: 'Invalid boolean value.',
      date: 'Invalid date format.',
      dateTime: 'Invalid date and time format.',
      dateYM: 'The date format (yyyy-mm) does not comply with the rule.',
      dateYMD: 'The date format (y-MM-dd) does not comply with the rule.',
      digits: 'Invalid number only.',
      email: 'Invalid email address.',
      fileSize: 'The file size is not in the correct format, such as 3kb.',
      float: 'Invalid floating point number.',
      hex: 'Invalid hexadecimal number.',
      integer: 'Invalid integer.',
      longDateTime: 'Invalid long date format.',
      method: 'Must be a function.',
      number: 'Invalid number.',
      object: 'Invalid object.',
      regexp: 'Invalid regular expression.',
      specialch: 'Only digits, letters, underscores (_), hyphens (-), and dots (.) are allowed.',
      specialch2: 'Only digits, letters, underscores (_), and hyphens (-) are allowed.',
      speczh: 'Only digits, letters, and underscores (_) are allowed.',
      string: 'Invalid string.',
      time: 'Invalid time format.',
      url: 'Invalid URL.',
      version: 'Invalid version format.'
    },
    whitespace: 'This field cannot be left blank.'
  }
} as any
