export default {
  'pisell-tabbar-expand': 'Expand',
  'pisell-tabbar-minimize': 'Minimize',
  'pisell-tabbar-all': 'All',
  'table-filter-search': 'Search',
  'table-filter-find': 'Find',
  'table-filter-clear': 'Clear',
  'table-filter-filter': 'Filter',
  'table-filter-min': 'Min',
  'table-filter-max': 'Max',
  'table-pagination-previous': 'Previous',
  'table-pagination-next': 'Next',
  'table-pagination-total': function tablePaginationTotal(current, total) {
    return "Page ".concat(current, " of ").concat(total);
  },
  'select-dropdown-render-select-all': 'Select all',
  'select-dropdown-render-search': 'Search',
  'sort-button-text': 'Sort',
  'sort-oldest-to-newest': 'Oldest to newest',
  'sort-newest-to-oldest': 'Newest to oldest',
  'sort-a-z': 'A to Z',
  'sort-z-a': 'Z to A',
  'sort-from-morning-to-night': 'From morning to night',
  'sort-from-evening-to-morning': 'From evening to morning',
  'sort-0-9': '0 ??? 9',
  'sort-9-0': '9 ??? 0',
  'sort-first-last': 'First ??? Last',
  'sort-last-first': 'Last ??? First',
  'table-action-filter-button': 'Filter',
  'table-action-filter-quick-filter': 'Quick Filter',
  'table-action-filter-quick-filter-tip': function tableActionFilterQuickFilterTip(count) {
    return "Enable quick filtering directly on the page for convenient filtering operations, with a maximum of ".concat(count, " filters allowed.");
  },
  'table-action-filter-other-filter': 'Filter',
  'table-action-filter-other-filter-tip': function tableActionFilterOtherFilterTip() {
    return 'Select filter criteria in the list to perform filtering operations and display corresponding results.';
  },
  'table-action-group-by-title': 'Group by',
  'table-action-group-by-title-tip': 'Please select the field from the dropdown menu to group the data for better organization and browsing.',
  'table-action-column-title': 'Header settings',
  'table-column-group-records': 'records',
  'table-column-group-lock-tip': 'Fixed column immutable order',
  'record-board-uniform-summary-empty': '-',
  'record-board-uniform-summary-same': 'Same',
  'table-column-drag-sort-disabled-tip': 'Automatic sorting is enabled, manual dragging is disabled.',
  'table-action-filter-no-filter': 'No filter options available.',
  'table-action-range-picker-placeholder-start': 'Start date',
  'table-action-range-picker-placeholder-end': 'End date',
  'table-action-range-picker-presets-today': 'Today',
  'table-action-range-picker-presets-yesterday': 'Yesterday',
  'table-action-range-picker-presets-last-3-day': 'Last 3 Days',
  'table-action-range-picker-presets-last-7-day': 'Last 7 Days',
  'table-action-range-picker-presets-last-14-day': 'Last 14 Days',
  'table-action-range-picker-presets-last-30-day': 'Last 30 Days',
  'table-action-range-picker-presets-last-90-day': 'Last 90 Days',
  'virtual-keyboard-time-now': 'Now',
  'virtual-keyboard-time-ok': 'OK',
  'batch-editor-batch-edit': 'Batch edit',
  // PisellLookup
  'pisell-lookup-placeholder': 'Please enter search content',
  'pisell-lookup-button-text': 'Search',
  'pisell-lookup-confirm-button-text': 'Lookup',
  'pisell-lookup-clear': 'Clear',
  'pisell-lookup-cancel': 'Cancel',
  'pisell-lookup-close': 'Close',
  'pisell-lookup-search-history': 'Search History',
  'pisell-lookup-clear-history': 'Clear All',
  'pisell-lookup-suggestions': 'Suggestions',
  'pisell-lookup-popular-search': 'Popular Search',
  'pisell-lookup-loading': 'Loading...',
  'pisell-lookup-no-data': 'No Data',
  // PisellFind
  'pisell-find-button-text': 'Find',
  'pisell-find-placeholder': 'Please enter search content',
  // PisellExport
  'pisell-export-button-text': 'Export',
  'batch-editor-actions': 'Actions',
  'batch-editor-remove': 'Remove',
  'batch-editor-price': 'Price',
  'batch-editor-cancel': 'Cancel',
  'batch-editor-search': 'Search',
  'batch-editor-confirm': 'Confirm',
  'batch-editor-batch-remove': 'Batch remove',
  'batch-editor-quick-edit': 'Quick edit',
  'batch-editor-what-price': 'What price',
  'batch-editor-quick-edit-title': function batchEditorQuickEditTitle(product, num) {
    return "You have selected ".concat(num, " products including ").concat(product);
  },
  'batch-editor-quick-edit-title-2': function batchEditorQuickEditTitle2(product) {
    return "You have selected ".concat(product);
  },
  // Batch Action Bar
  'batch-action-bar-select-all': 'Select All',
  'batch-action-bar-invert': 'Invert Selection',
  'batch-action-bar-clear': 'Clear Selection',
  'batch-action-bar-delete': 'Delete',
  'batch-action-bar-more': 'More',
  'batch-action-bar-selected-count': function batchActionBarSelectedCount(count) {
    return "".concat(count, " ").concat(count > 1 ? 'items' : 'item', " selected");
  },
  'batch-action-bar-confirm-title': 'Confirm',
  'batch-action-bar-delete-confirm-title': 'Confirm Delete',
  'batch-action-bar-delete-confirm-content': function batchActionBarDeleteConfirmContent(count) {
    return "Are you sure you want to delete ".concat(count, " selected ").concat(count > 1 ? 'items' : 'item', "?");
  },
  'batch-action-bar-delete-confirm-ok': 'OK',
  'batch-action-bar-delete-confirm-cancel': 'Cancel',
  // RecordBoard Toolbar
  'record-board-toolbar-reset': 'Reset',
  'record-board-toolbar-default-filter-status': 'Status',
  'record-board-toolbar-default-filter-all': 'All',
  'record-board-toolbar-default-filter-enabled': 'Enabled',
  'record-board-toolbar-default-filter-disabled': 'Disabled',
  'record-board-toolbar-default-filter-keyword': 'Keyword',
  'record-board-toolbar-default-placeholder': 'Please enter',
  'record-board-infinite-scroll-loading-more': 'Loading more…',
  'record-board-infinite-scroll-all-loaded': 'All data loaded',
  'record-board-infinite-scroll-pull-hint': 'Scroll down to load more',
  // Resource wall / control panel
  'pisell-resource-wall-appearance-light': 'Light',
  'pisell-resource-wall-appearance-dark': 'Dark',
  'pisell-resource-wall-control-open': 'Control panel',
  'pisell-resource-wall-page-indicator': 'Page {cur} / {total}',
  'pisell-resource-wall-layout-custom': 'Custom',
  'pisell-resource-wall-control-title': 'Resource wall control',
  'pisell-resource-wall-control-cancel': 'Cancel',
  'pisell-resource-wall-control-apply': 'Apply',
  'pisell-resource-wall-control-close': 'Close',
  'pisell-resource-wall-control-eyebrow': 'Backstage Control',
  'pisell-resource-wall-control-subtitle': 'Board Layout & Paging Rules',
  'pisell-resource-wall-display-mode': 'Display mode',
  'pisell-resource-wall-carousel-paging-mode': 'Carousel paging',
  'pisell-resource-wall-summary-pagination': 'Pager / countdown',
  'pisell-resource-wall-summary-page-sec': '— · {sec}s/page',
  'pisell-resource-wall-modal-select-all': 'Select all',
  'pisell-resource-wall-modal-clear-all': 'Clear all',
  'pisell-resource-wall-modal-resource-hint': 'Resources (showing up to {n}); current layout capacity {cap}; max {max} selected.',
  'pisell-resource-wall-status-table-title': 'Status copy & color',
  'pisell-resource-wall-tab-layout': 'Resources & layout',
  'pisell-resource-wall-tab-colors': 'Colors',
  'pisell-resource-wall-tab-status': 'Status copy & color',
  'pisell-resource-wall-resources-section': 'Resources to show',
  'pisell-resource-wall-select-all': 'Fill selection limit',
  'pisell-resource-wall-clear-selection': 'Clear',
  'pisell-resource-wall-max-selection': 'Up to {n} resources',
  'pisell-resource-wall-layout-preset': 'Layout preset',
  'pisell-resource-wall-page-duration': 'Seconds per page',
  'pisell-resource-wall-custom-cols': 'Columns',
  'pisell-resource-wall-custom-rows': 'Rows',
  'pisell-resource-wall-occupied-color': 'In-use color',
  'pisell-resource-wall-available-color': 'Available color',
  'pisell-resource-wall-boarding-soon-min': 'Boarding soon (minutes before start)',
  'pisell-resource-wall-status-col-key': 'Status',
  'pisell-resource-wall-status-col-label': 'Tag label',
  'pisell-resource-wall-status-col-note': 'Note',
  'pisell-resource-wall-status-col-color': 'Color',
  'pisell-resource-wall-status-col-notebg': 'Note background',
  'pisell-resource-wall-carousel-dwell-sec-label': 'Carousel dwell (seconds)',
  'pisell-resource-wall-layout-placeholder': 'Select a layout',
  'pisell-resource-wall-layout-field-label': 'Layout',
  'pisell-resource-wall-panel-custom-cols': 'Custom columns',
  'pisell-resource-wall-panel-custom-rows': 'Custom rows',
  'pisell-resource-wall-hero-width-ratio': 'Hero text max width ratio',
  'pisell-resource-wall-hero-width-hint': 'Baseline copy sets hero font size; other cards align to that height.',
  'pisell-resource-wall-hero-benchmark-placeholder': 'e.g. 60m overtime',
  'pisell-resource-wall-hero-benchmark-sample': '60m overtime',
  'pisell-resource-wall-resources-select-with-count': 'Select resources ({n})',
  'pisell-resource-wall-resources-capacity-carousel-hint': 'This layout fits {cap} cards; when exceeded, carousel uses full-screen pages.',
  'pisell-resource-wall-occupied-card-color-label': 'Occupied tone (dark cards)',
  'pisell-resource-wall-available-card-color-label': 'Available tone (light cards)',
  'pisell-resource-wall-status-col-explain': 'Explanatory copy',
  'pisell-resource-wall-carousel-countdown-line': 'Page {cur} / {tot} · {sec}s/page',
  'pisell-resource-wall-countdown-overtime': '{n} overtime',
  'pisell-resource-wall-countdown-ending-now': 'Ending now',
  'pisell-resource-wall-countdown-left': '{n} left',
  'pisell-resource-wall-countdown-zero-overtime': '0m overtime',
  'pisell-resource-wall-fullscreen-enter': 'Full screen',
  'pisell-resource-wall-fullscreen-exit': 'Exit full screen',
  'pisell-resource-wall-card-hero-available': 'Empty',
  'pisell-resource-wall-card-label-current': 'Current',
  'pisell-resource-wall-card-label-next': 'Next',
  'pisell-resource-wall-card-next-line': 'Next · {time}',
  'pisell-resource-wall-card-starts-in': 'Starts in {n}',
  'pisell-resource-wall-card-late': 'Late +{n}',
  'pisell-resource-wall-card-current-not-in-use': 'Not in use',
  'pisell-resource-wall-floor-status-empty': 'Empty',
  'pisell-resource-wall-floor-status-reserved': 'Reserved',
  'pisell-resource-wall-floor-status-late': 'Late',
  'pisell-resource-wall-floor-status-occupied': 'In use',
  'pisell-resource-wall-floor-status-expired': 'Expired',
  'pisell-resource-wall-marquee-ending-soon': 'Please leave on time to avoid overtime charges.',
  'pisell-resource-wall-card-session-complete': 'Session ended',
  'pisell-resource-wall-card-check-in-prompt': 'Please check in to start',
  'pisell-resource-wall-status-id-inUse': 'In use',
  'pisell-resource-wall-status-id-endingSoon': 'Ending soon',
  'pisell-resource-wall-status-id-expired': 'Expired',
  'pisell-resource-wall-status-id-available': 'Available',
  'pisell-resource-wall-status-id-boardingSoon': 'Boarding soon',
  'pisell-resource-wall-status-id-late': 'Late',
  'pisell-resource-wall-tone-inUse-label': 'In Use',
  'pisell-resource-wall-tone-inUse-note': 'This court is currently in use.',
  'pisell-resource-wall-tone-endingSoon-label': 'Ending Soon',
  'pisell-resource-wall-tone-endingSoon-note': 'Please leave on time to avoid overtime charges.',
  'pisell-resource-wall-tone-expired-label': 'Expired',
  'pisell-resource-wall-tone-expired-note': 'This booking has ended. Please clear the court.',
  'pisell-resource-wall-tone-available-label': 'Available',
  'pisell-resource-wall-tone-available-note': 'This court is now available.',
  'pisell-resource-wall-tone-boardingSoon-label': 'Boarding Soon',
  'pisell-resource-wall-tone-boardingSoon-note': 'Please check in to start.',
  'pisell-resource-wall-tone-late-label': 'Late',
  'pisell-resource-wall-tone-late-note': 'Please check in as soon as possible.',
  // RecordBoard ?????????????ToolBar / ?? / ???????????????? utils ?? key ?? fallback??
  'pisell2.recordBoard.toolbar.find': 'Find',
  'pisell2.recordBoard.toolbar.findPlaceholder': 'Please enter search content',
  'pisell2.recordBoard.toolbar.sort': 'Sort',
  'pisell2.recordBoard.toolbar.sortStatus': 'Status',
  'pisell2.recordBoard.toolbar.sortStatusFreeFirst': 'Available first',
  'pisell2.recordBoard.toolbar.sortStatusOccupiedFirst': 'In use first',
  'pisell2.recordBoard.toolbar.filter': 'Filter',
  'pisell2.recordBoard.toolbar.reset': 'Reset',
  'pisell2.recordBoard.toolbar.viewGrid': 'Table',
  'pisell2.recordBoard.toolbar.viewFloorMap': 'Floor map',
  'pisell2.recordBoard.toolbar.viewCalendar': 'Calendar',
  'pisell2.recordBoard.toolbar.viewResourceWall': 'Wall',
  'pisell2.recordBoard.toolbar.columnSetting': 'Columns',
  'pisell2.recordBoard.toolbar.moreSettings': 'More settings',
  'pisell2.recordBoard.filter.placeholderEnter': 'Enter {label}',
  // RecordBoard ??? Calendar view
  'pisell2.recordBoard.calendar.common.close': 'Close',
  'pisell2.recordBoard.calendar.common.cancel': 'Cancel',
  'pisell2.recordBoard.calendar.common.save': 'Save',
  'pisell2.recordBoard.calendar.common.saving': 'Saving???',
  'pisell2.recordBoard.calendar.common.resourceFallback': 'Resource',
  'pisell2.recordBoard.calendar.common.newBookingName': 'New booking',
  'pisell2.recordBoard.calendar.weekday.mon': 'Mon',
  'pisell2.recordBoard.calendar.weekday.tue': 'Tue',
  'pisell2.recordBoard.calendar.weekday.wed': 'Wed',
  'pisell2.recordBoard.calendar.weekday.thu': 'Thu',
  'pisell2.recordBoard.calendar.weekday.fri': 'Fri',
  'pisell2.recordBoard.calendar.weekday.sat': 'Sat',
  'pisell2.recordBoard.calendar.weekday.sun': 'Sun',
  'pisell2.recordBoard.calendar.resource.monthUnit': '',
  'pisell2.recordBoard.calendar.block.panelTitle': 'New blocked time',
  'pisell2.recordBoard.calendar.block.defaultTitle': 'Blocked time',
  'pisell2.recordBoard.calendar.block.fieldTitle': 'Title',
  'pisell2.recordBoard.calendar.block.fieldNote': 'Note',
  'pisell2.recordBoard.calendar.block.fieldResource': 'Resource',
  'pisell2.recordBoard.calendar.block.fieldTimeRange': 'Blocked period',
  'pisell2.recordBoard.calendar.block.placeholderTitle': 'Blocked time',
  'pisell2.recordBoard.calendar.block.placeholderNote': 'Optional',
  'pisell2.recordBoard.calendar.block.noResource': 'No resource',
  'pisell2.recordBoard.calendar.block.closeAria': 'Close',
  'pisell2.recordBoard.calendar.block.warnSelectTime': 'Please select a blocked period.',
  'pisell2.recordBoard.calendar.block.warnEndAfterStart': 'End time must be after start time.',
  'pisell2.recordBoard.calendar.block.warnSelectResource': 'Please select a resource.',
  'pisell2.recordBoard.calendar.overflow.bookingsForDay': 'Bookings for this day',
  'pisell2.recordBoard.calendar.overflow.listTitleBookings': '{date} · Bookings',
  'pisell2.recordBoard.calendar.overflow.listTitleAllBookings': '{date} · All bookings',
  'pisell2.recordBoard.calendar.overflow.moreCount': '{count} more',
  'pisell2.recordBoard.calendar.move.title': 'Booking information',
  'pisell2.recordBoard.calendar.move.subtitle': 'Update customer, court, date and time for this booking.',
  'pisell2.recordBoard.calendar.move.customer': 'Customer',
  'pisell2.recordBoard.calendar.move.court': 'Court',
  'pisell2.recordBoard.calendar.move.newDate': 'New date',
  'pisell2.recordBoard.calendar.move.newStartTime': 'New start time',
  'pisell2.recordBoard.calendar.move.newEndTime': 'New end time',
  'pisell2.recordBoard.calendar.move.previousInfo': 'Previous booking info',
  'pisell2.recordBoard.calendar.move.original': 'Original',
  'pisell2.recordBoard.calendar.move.dropTarget': 'Drop target',
  'pisell2.recordBoard.calendar.move.updated': 'Updated',
  'pisell2.recordBoard.calendar.move.confirm': 'Confirm',
  'pisell2.recordBoard.calendar.move.noPhone': 'No phone',
  'pisell2.recordBoard.calendar.move.noEmail': 'No email',
  'pisell2.recordBoard.calendar.move.courtFallback': 'Court',
  'pisell2.recordBoard.calendar.move.slotDisabled': '??? {time}',
  'pisell2.recordBoard.calendar.week.headerCourtDate': 'Court / date',
  'pisell2.recordBoard.calendar.week.fullyBooked': 'Fully booked',
  'pisell2.recordBoard.calendar.week.available': 'Available',
  'pisell2.recordBoard.calendar.day.outsideHours': 'Outside hours',
  'pisell2.recordBoard.calendar.day.selectedBlock': 'Selected block',
  'pisell2.recordBoard.calendar.day.selected': 'Selected',
  'pisell2.recordBoard.calendar.day.deselectAll': 'Deselect all',
  'pisell2.recordBoard.calendar.day.openSlot': 'Open slot',
  'pisell2.recordBoard.calendar.day.block': 'Block',
  'pisell2.recordBoard.calendar.day.createBooking': 'Create a booking',
  'pisell2.recordBoard.calendar.day.freeRatio': '{remaining}/{total} empty',
  'pisell2.recordBoard.calendar.card.continuesNext': '??? Continues next day',
  'pisell2.recordBoard.calendar.card.blockBy': 'by {name}',
  'pisell2.recordBoard.calendar.card.lateMinutesBadge': '{n}min',
  'pisell2.recordBoard.calendar.card.lateMinutesDetail': '{n}min late',
  'pisell2.recordBoard.calendar.status.cancel': 'Cancel',
  'pisell2.recordBoard.calendar.status.change': 'Change',
  'pisell2.recordBoard.calendar.status.checkedIn': 'Checked-in',
  'pisell2.recordBoard.calendar.status.pending': 'Pending',
  'pisell2.recordBoard.calendar.status.new': 'New',
  'pisell2.recordBoard.calendar.status.late': 'Late',
  'pisell2.recordBoard.calendar.status.noShow': 'No-show',
  'pisell2.recordBoard.calendar.detail.staff': 'Staff',
  'pisell2.recordBoard.calendar.detail.orderNote': 'Order note',
  'pisell2.salesManagement.pagination.previous': 'Previous',
  'pisell2.salesManagement.pagination.next': 'Next',
  'pisell2.salesManagement.pagination.showTotal': function pisell2SalesManagementPaginationShowTotal(currentPage, totalPages) {
    return "Page ".concat(currentPage, " of ").concat(totalPages);
  },
  'pisell2.salesManagement.pagination.total': function pisell2SalesManagementPaginationTotal(current, max) {
    return "Page ".concat(current, " of ").concat(max);
  },
  'pisell2.salesManagement.batchActionBar.selectedCount': function pisell2SalesManagementBatchActionBarSelectedCount(count) {
    return "".concat(count, " item(s) selected");
  },
  'pisell2.salesManagement.batchActionBar.more': 'More',
  'pisell2.salesManagement.batchActionBar.selectAll': 'Select All',
  'pisell2.salesManagement.batchActionBar.invert': 'Invert Selection',
  'pisell2.salesManagement.batchActionBar.clear': 'Clear Selection',
  'pisell2.salesManagement.batchActionBar.delete': 'Delete',
  'pisell2.salesManagement.batchActionBar.confirmTitle': 'Confirm',
  'pisell2.salesManagement.batchActionBar.deleteConfirmTitle': 'Confirm Delete',
  'pisell2.salesManagement.batchActionBar.deleteConfirmContent': function pisell2SalesManagementBatchActionBarDeleteConfirmContent(count) {
    return "Are you sure you want to delete ".concat(count, " selected item(s)?");
  },
  'pisell2.salesManagement.batchActionBar.deleteConfirmOk': 'OK',
  'pisell2.salesManagement.batchActionBar.deleteConfirmCancel': 'Cancel',
  // ShellFrame statistic collapse
  'shell-frame-statistic-expand': 'Expand statistics',
  'shell-frame-statistic-collapse': 'Collapse statistics',
  // ????
  'table-action-export-import-export-success': 'Export successful! ',
  'table-action-export-import-button': 'Export',
  'table-action-export-import-export-range': 'Export Range',
  'table-action-export-import-current-page': 'Current Page',
  'table-action-export-import-all-records': 'All Records',
  'table-action-export-import-selected-records': 'Selected Records',
  'table-action-export-import-selected': 'Selected',
  'table-action-export-import-item': function tableActionExportImportItem(length) {
    return "".concat(length, " ").concat(length > 1 ? 'items' : 'item');
  },
  'table-action-export-import-product': 'Export Products',
  // ????
  'table-action-export-import-table-text-input-title': 'Click or drag file to this area to upload',
  'table-action-export-import-table-text-input-describe': 'Support both single and bulk uploads. Do not upload data file other than supported template.',
  'table-action-export-import-table-error-file': 'Only supports uploading files in.csv,.xls,.xlsx format.',
  'table-action-export-import-import-success': 'Import successful! ',
  'table-action-export-import-import-phone': 'Whether to replace data with the same mobile number?',
  'table-action-export-import-table-success-download': 'Download Success',
  'table-action-export-import-table-textimport-product': 'Import Products',
  'table-action-export-import-table-text-product-template': 'Import Template',
  'table-action-export-import-table-text-click-download': 'Click to download',
  'table-action-export-import-table-text-edit-file': 'Replace file',
  'table-action-export-import-button-import': 'Import',
  'table-action-export-import-cancel': 'Cancel',
  'table-action-export-import-file-completed': 'completed',
  'table-action-export-import-file-processing': 'processing',
  'table-action-export-import-file-pending': 'pending',
  'table-action-export-import-file-refresh': 'Refresh',
  'table-action-export-import-export-title': 'Export File',
  'table-action-export-import-file-hint': 'Display only the last 10 export histories',
  'table-action-export-import-file-name': 'Export File',
  'table-action-export-import-file-content': 'Content',
  'table-action-export-import-file-content-all': 'All',
  'table-action-export-import-file-content-part': 'Selected',
  'table-action-export-import-file-status': 'Status',
  'table-action-export-import-file-account': 'Operator',
  'table-action-export-import-file-created': 'Operation Time',
  'table-action-export-import-file-record': function tableActionExportImportFileRecord(length) {
    return "".concat(length, " ").concat(length > 1 ? 'records' : 'record');
  },
  // ?????????
  'table-action-export-import-import-title': 'Import Log',
  'table-action-export-import-log-hint': 'Display only the last 10 import histories',
  'table-action-export-import-log-name': 'Import File',
  'table-action-export-import-log-result': 'Import Results',
  'table-action-export-import-log-ok': function tableActionExportImportLogOk(num) {
    return "".concat(num, " successful");
  },
  'table-action-export-import-log-err': function tableActionExportImportLogErr(num) {
    return ", ".concat(num, " failures");
  },
  'table-action-export-import-log-check': "View more",
  // ????????
  'table-action-export-import-log-detail-title': 'Import Details',
  'table-action-export-import-log-err-log': 'Failure Log',
  'table-action-export-import-log-copy': 'Copy',
  'table-action-export-import-table-success-copy': 'Copy Success',
  'drag-sort-tree-unavailable-today-tip': 'Unavailable today',
  // ?????????
  'date-picker-today': 'Today',
  'date-picker-yesterday': 'Yesterday',
  'date-picker-tomorrow': 'Tomorrow',
  'date-picker-next_monday': 'Next monday',
  'date-picker-last_friday': 'Last friday',
  'date-picker-first_day_of_this_month': 'First day of this month',
  'date-picker-last_day_of_this_month': 'Last day of this month',
  'date-picker-first_day_of_next_month': 'First day of next month',
  'date-picker-last_day_of_last_month': 'Last day of last month',
  'date-picker-invalid-date': 'Invalid date',
  'date-picker-apply': 'Apply',
  'date-picker-shortcut-custom': 'Custom',
  'pisell-input-copy-success': 'Copy Success',
  'pisell-input-copy': 'Copy',
  // ???????
  'pisell-empty-description-no-data': 'No Data',
  // ??????????
  'pisell-information-entry-input-search': 'Search',
  'pisell-information-entry-input-confirm': 'Confirm',
  'pisell-information-entry-scan-exit': 'Exit',
  // ?????????????
  'pisell-wallet-pass-card-detail': 'Detail',
  'pisell-wallet-pass-card-edit': 'Edit',
  'pisell-wallet-pass-card-name': 'Name',
  'pisell-wallet-pass-card-store-name': 'StoreName',
  'pisell-wallet-pass-card-balance': 'Balance',
  'pisell-wallet-pass-card-redeem': 'use',
  'pisell-wallet-pass-card-code': 'Code',
  'pisell-wallet-pass-card-valid-to': 'Valid to',
  'pisell-wallet-pass-card-valid': 'Valid',
  'pisell-wallet-pass-card-confirm': 'Confirm',
  'pisell-wallet-pass-card-cancel': 'Cancel',
  'pisell-wallet-pass-card-required': 'This field is required',
  'pisell-wallet-pass-card-expireDate': 'Long term',
  // ???????????
  'pisell-adjust-price-price-override': 'Price override',
  'pisell-adjust-price-discount': 'Discount',
  'pisell-adjust-price-discount-amount': 'Amount',
  'pisell-adjust-price-discount-percentage': 'Percentage',
  'pisell-adjust-price-total-after-discount': 'Total after discount: ',
  'pisell-adjust-price-discount-can-be-maximum': 'Discount can be maximum',
  'pisell-discount-card-title': 'Discount',
  'pisell-discount-card-unit': 'OFF',
  'pisell-discount-card-fixed-amount-prefix': 'Save',
  // ???????
  'pisell-data-source-table-add': 'Add',
  'pisell-data-source-table-edit': 'Edit',
  'pisell-data-source-table-detail': 'Detail',
  'pisell-data-source-table-delete': 'Delete',
  // recordView???
  'pisell-record-view-available': 'Available',
  'pisell-record-view-unavailable': 'No available',
  'pisell-data-source-form-required-message': 'This field is required',
  'pisell-data-source-form-scope-message': 'Scope not specified for settings in URL params',
  'pisell-data-source-form-scene-request-id-message': 'sceneRequestId is required for device settings',
  'pisell-data-source-form-email-message': 'Please enter a valid email address',
  'pisell-data-source-form-domain-message': 'Please enter a valid domain',
  'pisell-data-source-form-url-message': 'Please enter a valid URL',
  'pisell-data-source-form-phone-message': 'Please enter a valid phone number',
  'pisell-data-source-form-min-length-message': function pisellDataSourceFormMinLengthMessage(minLength) {
    return "Length must be at least ".concat(minLength, " character");
  },
  'pisell-data-source-form-max-length-message': function pisellDataSourceFormMaxLengthMessage(maxLength) {
    return "Length must be at most ".concat(maxLength, " character");
  },
  'pisell-data-source-form-min-value-message': function pisellDataSourceFormMinValueMessage(minValue) {
    return "Value must be greater than or equal to ".concat(minValue);
  },
  'pisell-data-source-form-max-value-message': function pisellDataSourceFormMaxValueMessage(maxValue) {
    return "Value must be less than or equal to ".concat(maxValue);
  },
  'pisell-data-source-form-mobile-message': 'Please enter a valid mobile number',
  'pisell-data-source-form-pattern-message': 'Please enter the correct format',
  // Number formatting
  'pisell-number-format-thousand': 'K',
  'pisell-number-format-million': 'M',
  'pisell-number-format-billion': 'B',
  //walletCard ???
  'walletCard-done': 'Done',
  'walletCard-qrcode': 'QR code',
  'walletCard-barcode': 'Bar code',
  'walletCard-viewPin': 'View PIN',
  // ??????
  'pisell-upload-button': 'Upload',
  'pisell-upload-setting-size-error': function pisellUploadSettingSizeError(maxSize) {
    return "Each file should not exceed ".concat(maxSize, "MB in size.");
  },
  'pisell-upload-setting-type-error': function pisellUploadSettingTypeError(type) {
    return "".concat(type, " file type is not supported for upload.");
  },
  'pisell-upload-count-error': function pisellUploadCountError(count) {
    return "Please upload ".concat(count, " file");
  },
  'pisell-upload-error': function pisellUploadError(name) {
    return "".concat(name, " upload failed");
  },
  'pisell-upload-multilingual-title': 'Multilingual',
  'pisell-upload-multilingual-item-title-original': 'Original',
  'pisell-upload-multilingual-item-title-en': 'English',
  'pisell-upload-multilingual-item-title-zh-CN': '????????',
  'pisell-upload-multilingual-item-title-zh-HK': '???????',
  // ????????
  'pisell-color-picker-default': 'Default',
  // ?????????
  'pisell-action-get-data': 'Please get data first',
  'pisell-action-delete-success': 'Deleted successfully',
  'pisell-action-delete-failed': 'Delete failed, please try again',
  'walletCard-point': 'Points',
  'walletCard-rechargeable': 'Balance',
  'walletCard-voucher': 'Voucher',
  'walletCard-discount': 'Discount',
  //PisellQrcode???
  'pisellQrcode-done': 'Done',
  'pisellQrcode-qrcode': 'QR code',
  'pisell-delete-confirm-title': 'Confirm Delete',
  'pisell-delete-confirm-content': 'Are you sure you want to delete this record? This action cannot be undone.',
  'pisell-delete-confirm-ok': 'Delete',
  'pisell-delete-confirm-cancel': 'Cancel',
  'pisell-design-mode-action-disabled': 'This operation is not allowed in edit mode',
  'pisell-translation-original': 'Original',
  // ????????????
  'pisell-version-modal-title': 'Publish new version',
  'pisell-version-modal-current-version': 'Current version',
  'pisell-version-modal-version': 'Version',
  'pisell-version-modal-update-notes': 'Update notes',
  'pisell-version-modal-patch': 'Patch',
  'pisell-version-modal-minor': 'Minor',
  'pisell-version-modal-major': 'Major',
  'pisell-version-modal-custom': 'Custom version',
  'pisell-version-modal-cancel': 'Cancel',
  'pisell-version-modal-confirm': 'Confirm',
  'pisell-version-modal-describe-update-notes': 'Describe the main changes in this version...',
  'pisell-version-modal-version-error': 'Version number must be greater than the current version',
  'pisell-version-modal-version-required': 'Version number is required',
  'pisell-version-modal-based-on-version': 'Based on version',
  // ????????????
  'subdomain-error-too-short': 'Subdomain must be at least 2 characters long',
  'subdomain-error-too-long': 'Subdomain cannot exceed 60 characters',
  'subdomain-error-pattern': 'Subdomain can only contain lowercase letters, numbers and hyphens',
  'subdomain-error-numbers-only': 'Subdomain cannot contain only numbers',
  'subdomain-error-hyphen-ends': 'Subdomain cannot start or end with a hyphen',
  'subdomain-error-consecutive-hyphens': 'Subdomain cannot contain consecutive hyphens',
  'subdomain-error-required': 'Please enter subdomain',
  // ??????????????
  'pisell-icon-select-outlined': 'Outlined',
  'pisell-icon-select-filled': 'Filled',
  'pisell-icon-select-two-tone': 'Two-tone',
  'pisell-icon-select-iconfont': 'Iconfont',
  'pisell-icon-select-search': 'Search icon',
  'pisell-icon-select-select': 'Select icon',
  // ????????????????????
  'pisell-lowcode-app-version-control-live': 'Live',
  'pisell-lowcode-app-version-control-draft': 'Draft',
  'pisell-lowcode-app-version-control-deprecated': 'Deprecated',
  'pisell-lowcode-app-version-control-new-version': 'New version',
  'pisell-lowcode-app-version-control-promote-to-live': 'Promote to live',
  'pisell-lowcode-app-version-control-promote-version': function pisellLowcodeAppVersionControlPromoteVersion(version) {
    return "Promote version ".concat(version || '', "?");
  },
  'pisell-lowcode-app-version-control-promote-version-describe': 'Are you sure you want to promote this version?',
  'pisell-lowcode-app-version-control-promote-version-ok': 'Promote',
  'pisell-lowcode-app-version-control-promote-version-cancel': 'Cancel',
  'pisell-lowcode-app-version-control-version-exists': 'Version already exists',
  // ?????????????
  'pisell-lowcode-drop-sort-add': 'Add',
  // ???????????
  'pisell-lowcode-navigation-menu-add-sub-menu': 'Add submenu',
  'pisell-lowcode-navigation-menu-add-page': 'Add page',
  'pisell-lowcode-navigation-menu-add-page-tip': 'No navigation found. Please add a submenu or page.',
  'pisell-lowcode-navigation-menu-tag-base': 'Base',
  'pisell-lowcode-navigation-menu-tag-proCode': 'Pro code',
  'pisell-lowcode-navigation-menu-tag-pisell1': 'Pisell 1.0',
  'pisell-lowcode-navigation-menu-tag-group': 'Group',
  'pisell-lowcode-navigation-menu-tag-sub-menu': 'Submenu',
  'pisell-lowcode-navigation-menu-tag-custom': 'Custom',
  // ??????????
  'pisell-data-source-form-app-identifier-pattern': 'Can only contain lowercase letters, numbers, hyphens, dots, and underscores',
  'pisell-data-source-form-app-identifier-start-with-letter': 'Must start with a letter',
  // TODO(reilly): Added new properties to `zh-CN.ts`, so adding them here to avoid errors.
  // Please update these translations as needed
  'pisell-group-permissions-rule-required': 'Required',
  'pisell-group-permissions-rule-limit': 'Maximum {{num}} characters',
  'pisell-data-source-form-app-identifier-letters-only': 'Must start with a letter',
  'pisell-data-source-form-app-identifier-alphanumeric': 'Can only contain letters, numbers, hyphens, dots, and underscores',
  'pisell-data-source-form-app-identifier-special-ends': 'Cannot end with a hyphen, dot, or underscore',
  'pisell-data-source-form-app-identifier-consecutive-special': 'Cannot contain consecutive hyphens, dots, or underscores',
  // QR Scanner related texts
  'qrscanner-loading': 'Recognizing QR code...',
  'qrscanner-success': 'Successfully recognized: ',
  'qrscanner-success-qrcode': 'QR code successfully recognized: ',
  'qrscanner-success-barcode': 'Barcode successfully recognized: ',
  'qrscanner-error-upload-image': 'Please upload an image file',
  'qrscanner-error-load-failed': 'Failed to read file',
  'qrscanner-error-no-code': 'No QR code or barcode detected.',
  'qrscanner-error-camera-init': "Cannot start camera. Please make sure it's authorized.",
  'qrscanner-error-process-image': 'Error processing image',
  // ????????????
  'pisell-login-and-register-title': 'Log in to your account',
  'pisell-login-and-register-subtitle': 'Welcome back! Please enter your details.',
  'pisell-login-and-register-email-label': 'Email',
  'pisell-login-and-register-email-placeholder': 'Enter your email',
  'pisell-login-and-register-password-label': 'Password',
  'pisell-login-and-register-password-placeholder': 'Enter your password',
  'pisell-login-and-register-email-error': 'Please input your email!',
  'pisell-login-and-register-email-error-valid': 'Please enter a valid email!',
  'pisell-login-and-register-password-error': 'Please enter the correct password',
  'pisell-login-and-register-login': 'Log in',
  'pisell-login-and-register-google': 'Continue with Google',
  'pisell-login-and-register-facebook': 'Continue with Facebook',
  'pisell-login-and-register-apple': 'Continue with Apple',
  'pisell-login-and-register-sign-up': "Don't have an account? Sign up",
  'pisell-login-and-register-login-tab': 'Login',
  'pisell-login-and-register-register-tab': 'Register',
  'pisell-login-and-register-register-email-placeholder': 'Enter your email',
  'pisell-login-and-register-register-password-placeholder': 'Create a password',
  'pisell-login-and-register-register-button-text': 'Create account',
  'pisell-login-and-register-remember-me': 'Remember me',
  'pisell-login-and-register-forgot-password': 'Forgot password?',
  // ????????????
  'pisell2.text.goodpass.product-vouchers': 'Promotions & Vouchers',
  'pisell2.text.goodpass.last-settlement': '(Last payment)',
  'pisell2.text.goodpass.view-more': 'View More',
  'pisell2.text.goodpass.save': 'Save',
  // ?????????????
  'pisell-wallet-pass-card-status-used': 'Used',
  'pisell-wallet-pass-card-status-expired': 'Expired',
  'pisell-wallet-pass-card-status-disabled': 'Disabled',
  'pisell-wallet-pass-card-status-conflict': 'Conflict',
  'pisell-wallet-pass-card-status-lastPayment': 'Last Payment',
  'pisell-wallet-pass-card-reset': 'Reset',
  'pisell-wallet-pass-card-done': 'Done',
  'pisell2.wallet-card.add-holder-tip': 'To ensure your benefits, please\r\nassign a holder to activate this card.',
  'pisell2.wallet-card.add-holder-button-text': 'Set Holder',
  // ?????????
  'pisell-camera-no-camera-accessible': 'No camera accessible',
  'pisell-camera-permission-denied': 'Permission denied',
  'pisell-camera-switch-camera': 'Switch camera',
  'pisell-camera-canvas': 'Canvas not supported',
  'pisell-camera-checking': 'Detecting camera...',
  'pisell-camera-no-camera-desc': 'Please check if your device has a camera or grant browser permission to access camera',
  // ?????????
  'pisell-upload-camera-local-files': 'Local Files',
  'pisell-upload-camera-capture': 'Capture',
  'pisell-upload-camera-retake': 'Retake',
  'pisell-upload-camera-use': 'Use photo',
  // ???????
  'pisell-list-tab-group-default': 'Field',
  'pisell-list-empty-text-default': 'No data available',
  'pisell-list-load-more': 'Load More',
  'pisell-list-view-less': 'View Less',
  'pisell-list-pagination-total': function pisellListPaginationTotal(start, end, total) {
    return "Showing ".concat(start, "-").concat(end, " of ").concat(total, " items");
  },
  'pisell-list-scroll-down': 'Scroll Down',
  'pisell-list-scroll-right': 'Scroll Right',
  'pisell-list-pagination-page-of': function pisellListPaginationPageOf(current, total) {
    return "Page ".concat(current, " of ").concat(total);
  },
  'pisell-list-pagination-previous': 'Previous',
  'pisell-list-pagination-next': 'Next',
  // PisellProcedure ???
  'pisell-procedure-header-back-confirm-title': 'Hint',
  'pisell-procedure-header-back-confirm-desc': 'Do you want to keep the data before this step, or clear the relevant data of this step based on the data changed in the previous step?',
  'pisell-procedure-header-back-confirm-no': 'Keep',
  'pisell-procedure-header-back-confirm-yes': 'Clear',
  'pisell-procedure-header-close-confirm-title': 'Confirm exit?',
  'pisell-procedure-header-close-confirm-desc': 'All entered information will be lost. Are you sure you want to exit?',
  'pisell-procedure-header-close-confirm-no': 'Continue',
  'pisell-procedure-header-close-confirm-yes': 'Exit',
  'pisell-procedure-footer-more': 'More',
  /** PisellMobileDateRangePicker */
  'pisell-mobile-date-range-picker-placeholder': 'Pick date range',
  'pisell-mobile-date-range-picker-title': 'Select date range',
  'pisell-mobile-date-range-picker-confirm': 'Confirm'
};