import enLocale from 'element-ui/lib/locale/lang/en'

export default {
  ...enLocale,
  common: {
    confirm: 'Confirm',
    cancel: 'Cancel',
    home: 'Home',
    logout: 'Logout',
    online: 'Online',
    language: 'Language',
    chinese: 'Chinese',
    english: 'English'
  },
  login: {
    systemName: 'Intelligent Assembly Line Information Management System',
    usernamePlaceholder: 'Please enter Employee ID',
    passwordPlaceholder: 'Please enter password',
    rememberPassword: 'Remember password',
    changePassword: 'Change password',
    loginButton: 'Login',
    account: 'Employee ID',
    oldPassword: 'Old password',
    newPassword: 'New password',
    confirmPassword: 'Confirm password',
    confirmPasswordPlaceholder: 'Please enter confirm password',
    oldPasswordPlaceholder: 'Please enter old password',
    newPasswordPlaceholder: 'Please enter new password',
    passwordNotSame: 'The two passwords do not match',
    changeSuccess: 'Changed successfully',
    editFailed: 'Edit failed',
    accountPasswordError: 'Incorrect username or password'
  },
  dashboard: {
    workbench: 'MES Workbench',
    heroDescription: '{date}, the current workbench includes {moduleCount} top-level modules, {entryCount} quick entries.',
    focus: 'Focus',
    module: 'Module',
    pendingTitle: 'Pending Alerts',
    sortHint: 'Sorted by count in descending order',
    handleHint: 'Open the related business page to process it',
    emptyTitle: 'No pending alerts at the moment',
    emptyText: 'New business alerts will appear here automatically when available.',
    quickAccess: 'Quick Access',
    moduleEntryCount: '{count} quick entries',
    metricTopModules: 'Top-Level Modules',
    metricTopModulesHint: 'Primary navigation groups',
    metricQuickEntries: 'Quick Entries',
    metricQuickEntriesHint: 'Direct dashboard shortcuts',
    metricPendingMessages: 'Pending Messages',
    metricPendingMessagesHint: 'Items requiring timely action',
    metricNoticeSources: 'Alert Sources',
    metricNoticeSourcesHint: 'Active alert categories',
    greetingMorning: 'Good morning',
    greetingAfternoon: 'Good afternoon',
    greetingEvening: 'Good evening'
  },
  menuManagement: {
    filterPlaceholder: 'Enter keyword to filter',
    menuName: 'Menu Name',
    firstLevelMenuName: 'First-Level Menu',
    secondLevelMenuName: 'Second-Level Menu',
    roleName: 'Role Name',
    role: 'Role:',
    roleMenuData: 'Role Menu Data',
    selectPlaceholder: 'Please select',
    sequence: 'No.',
    addFirstLevelModule: 'Add First-Level Menu',
    assignFirstLevelTooltip: 'Assign the selected first-level menu to this role',
    assignSecondLevelTooltip: 'Assign the selected second-level menu to the selected first-level menu of this role',
    moveUp: 'Move Up',
    moveDown: 'Move Down',
    remove: 'Remove',
    prompt: 'Prompt',
    confirmReturnMenu: 'Confirm removing the assigned menu?',
    confirmAssignFirstLevelMenu: 'Confirm assigning the selected first-level menu to the selected role?',
    confirmAssignSecondLevelMenu: 'Confirm assigning the selected second-level menu to the selected first-level menu of the selected role?',
    operationSuccess: 'Operation succeeded',
    operationFailed: 'Operation failed',
    operationCanceled: 'Operation canceled',
    moveUpSuccess: 'Moved up successfully',
    moveUpFailed: 'Failed to move up',
    alreadyFirst: 'The current item is already first',
    alreadyLast: 'The current item is already last',
    assignOneFirstLevelOnly: 'Can only assign to one first-level menu',
    requiredInput: 'Please enter'
  },
  personnelManagement: {
    add: 'Add',
    edit: 'Edit',
    delete: 'Delete',
    peopleName: 'Employee Name:',
    peopleNamePlaceholder: 'Please enter employee name',
    resign: 'Resign',
    resignedList: 'Resigned List',
    move: 'Move',
    selectDepartmentPlaceholder: 'Please select department',
    departmentMaintenance: 'Department Maintenance',
    expand: 'Expand',
    sequence: 'No.',
    departmentName: 'Dep. Name',
    attendanceNo: 'Employee ID',
    jobNo: 'Employee ID',
    password: 'Password',
    employeeName: 'User Name',
    operation: 'Operation',
    addDepartment: 'Add Department',
    editDepartment: 'Edit Department',
    addEmployee: 'Add Employee',
    editEmployeeTitle: 'Edit Employee',
    uploadPicture: 'Upload Picture',
    prompt: 'Prompt',
    requiredInput: 'Please enter',
    confirmDeleteResignedEmployee: 'This action will permanently delete the resigned employee record. Continue?',
    confirmDeleteImage: 'This action will permanently delete the image. Continue?',
    confirmDeleteDepartment: 'This action will permanently delete this data. Continue?',
    confirmResign: 'This action will permanently remove this row. Continue?',
    deleteSuccess: 'Deleted successfully',
    deleteFailed: 'Delete failed',
    deleteCanceled: 'Delete canceled',
    cancelDelete: 'Deletion canceled',
    uploadSuccess: 'Uploaded successfully!',
    imageOnly: 'Only image files can be uploaded',
    uploadLimitOne: 'Only one photo can be uploaded',
    selectDepartmentToEdit: 'Please select the department to edit',
    addSuccess: 'Added successfully',
    addFailed: 'Add failed',
    editSuccess: 'Edited successfully',
    editFailed: 'Edit failed',
    deleteCompleted: 'Deleted successfully',
    selectDepartment: 'Please select department',
    enterPeopleName: 'Please enter employee name',
    selectDepartmentName: 'Please select department name',
    selectEmployeesForResign: 'Please select employees to resign',
    resignSuccess: 'Resigned successfully',
    resignFailed: 'Resign failed',
    resignCanceled: 'Resign operation canceled',
    moveGroupSuccess: 'Moved successfully',
    updateFailed: 'Update failed',
    selectAtLeastOnePerson: 'Please select at least one person'
  },
  systemRoleMaintenance: {
    add: 'Add',
    roleCode: 'Role Code',
    roleFunction: 'Role Function',
    operation: 'Operation',
    addRole: 'Add Role',
    editRole: 'Edit Role',
    roleName: 'Role Name',
    roleFunctionPlaceholder: 'Role function',
    enterRoleName: 'Please enter role name',
    prompt: 'Prompt',
    addSuccess: 'Added successfully',
    addFailed: 'Add failed',
    editSuccess: 'Edited successfully',
    editFailed: 'Edit failed',
    confirmDelete: 'This action will permanently delete this row. Continue?',
    deleteSuccess: 'Deleted successfully',
    deleteFailed: 'Delete failed',
    deleteCanceled: 'Delete canceled'
  },
  workshopPersonnelRoleMana: {
    staffName: 'Staff Name',
    roleName: 'Role Name',
    search: 'Search',
    add: 'Add',
    edit: 'Edit',
    sequence: 'No.',
    departmentName: 'Department',
    attendanceNo: 'Attendance No.',
    operation: 'Operation',
    personnelInfo: 'Personnel Info',
    name: 'Name',
    gender: 'Gender',
    doubleClickSelect: 'Double-click to select',
    selectStaffName: 'Please select employee name',
    selectStaffRole: 'Please select employee role',
    prompt: 'Prompt',
    addSuccess: 'Added successfully',
    addFailed: 'Add failed',
    editSuccess: 'Updated successfully',
    editFailed: 'Update failed',
    confirmDelete: 'This action will permanently delete this row. Continue?',
    deleteSuccess: 'Deleted successfully',
    deleteFailed: 'Delete failed',
    deleteCanceled: 'Delete canceled'
  },
  stationInformationMaintenance: {
    sequence: 'No.',
    stationNumber: 'Station No.',
    stationName: 'Station Name',
    stationMESFunction: 'MES Function',
    enabled: 'Enabled',
    disabled: 'Disabled',
    mesDll: 'MES_DLL',
    operation: 'Operation',
    edit: 'Edit',
    add: 'Add',
    addStationInfo: 'Add Station Info',
    editStationInfo: 'Edit Station Info',
    electricalComponents: 'Electrical Components',
    number: 'Number',
    description: 'Description',
    disabledStatus: 'Disabled Status',
    remarks: 'Remarks',
    import: 'Import',
    importToDatabase: 'Import to Database',
    enterStationName: 'Please enter station name',
    selectStationMES: 'Please select whether to enable station MES',
    prompt: 'Prompt',
    addSuccess: 'Added successfully',
    addFailed: 'Add failed!',
    editSuccess: 'Updated successfully',
    editFailed: 'Update failed!',
    deleteSuccess: 'Deleted successfully',
    deleteFailed: 'Delete failed!',
    deleteCanceled: 'Delete canceled',
    duplicateStationCode: 'Duplicate station code. Please re-enter.',
    confirmClose: 'Confirm close?',
    noData: 'No data',
    selectRowToCopy: 'Please select a row to copy.',
    confirmDelete: 'This action will permanently delete this row. Continue?',
    alreadyExistsCheckFile: ' already exists. Please check whether the file is correct',
    stationNumberRequired: 'Station number cannot be empty',
    confirmImportFile: 'Please check whether the import file is correct',
    importCompleted: 'Import completed',
    importFailedCountPrefix: 'Import failed count: ',
    importFailedCountSuffix: '. Please check whether the file is correct',
    importDataErrorFile: 'Import data error. Please check whether the import file is correct',
    importFailedForStation: ' import failed',
    duplicateDataForStation: ' has duplicate data',
    importDataError: 'Import data error'
  },
  releaseOfProductionPlan: {
    orderNumberLabel: 'Order No.',
    filterOrderNumber: 'Please enter order number',
    productModelLabel: 'Product Model',
    selectProductModel: 'Please select product model',
    startDateLabel: 'Start Date',
    endDateLabel: 'End Date',
    selectStartDate: 'Please select start date',
    selectEndDate: 'Please select end date',
    searchOrder: 'Search',
    createOrder: 'Create Order',
    loadingData: 'Loading data',
    sort: 'Sort',
    sequence: 'No.',
    crankcaseAssemblyNo: 'Crankcase Assembly No.',
    onlineTime: 'Online Time',
    offlineTime: 'Offline Time',
    orderNumber: 'Order No.',
    productModel: 'Pro. Model',
    planQuantity: 'Planned Qty',
    planStartDate: 'Planned Start Time',
    planEndDate: 'Planned Finish Time',
    productionStatus: 'Production Status',
    notStarted: 'Not Started',
    inProduction: 'In Production',
    completed: 'Completed',
    operation: 'Operation',
    completeOrder: 'Complete',
    modify: 'Edit',
    delete: 'Delete',
    issue: 'Issue',
    withdraw: 'Withdraw',
    moveUp: 'Up',
    moveDown: 'Down',
    createProductionOrder: 'Create Production Order',
    editProductionOrder: 'Edit Production Order',
    enterOrderNumber: 'Please enter order number',
    enterPlanQuantity: 'Please enter planned quantity',
    planStartTime: 'Start Time',
    planEndTime: 'Finish Time',
    selectStartTime: 'Please select start time',
    selectEndTime: 'Please select end time',
    orderImport: 'Order Import',
    importToDatabase: 'Import to Database',
    printTransmissionBarcode: 'Print Transmission Barcode',
    enterProductModel: 'Please enter product model',
    assemblyNo: 'Assembly No.',
    enterAssemblyNo: 'Please enter assembly number',
    serialNo: 'Start Serial No.',
    enterEightDigitSerialNo: 'Please enter an 8-digit start serial number',
    printDate: 'Print Date',
    selectPrintDate: 'Please select print date',
    printQuantity: 'Print Quantity',
    enterPrintQuantity: 'Please enter print quantity',
    printProgress: 'Print Progress: ',
    enterAssemblyNoRequired: 'Please enter assembly number',
    enterOrderNumberRequired: 'Please enter order number',
    enterProductModelRequired: 'Please enter product model',
    serialNoMinLength: 'Minimum length is 8 characters',
    selectPrintDateRequired: 'Please select print date',
    enterPrintQuantityRequired: 'Please enter print quantity',
    enterPlanQuantityRequired: 'Please enter planned quantity',
    selectEngineTypeRequired: 'Please select model',
    selectAssemblyNoRequired: 'Please select assembly number',
    selectPlanStartTimeRequired: 'Please select planned start time',
    selectPlanEndTimeRequired: 'Please select planned finish time',
    enterPlannedCompletionRequired: 'Please enter planned completion quantity',
    enterIssuedQuantityRequired: 'Please enter issued quantity',
    prompt: 'Prompt',
    noPartCodeForModel: 'No part number is mapped to this model',
    orderCreateSuccess: 'Order created successfully',
    orderDuplicateCreateFailed: 'Duplicate order. Creation failed!',
    orderCreateFailed: 'Order creation failed!',
    startPrintingTransmissionBarcode: 'Start printing transmission barcodes',
    printTransmissionBarcodeFailed: 'Failed to print transmission barcode!',
    allBarcodesPrinted: 'All barcodes printed',
    recordFailed: 'Record failed!',
    confirmDeleteOrder: 'This action will permanently delete this row. Continue?',
    orderDeleteSuccess: 'Order deleted successfully',
    orderDeleteFailed: 'Order deletion failed!',
    deleteCanceled: 'Deletion canceled',
    orderEditSuccess: 'Order updated successfully',
    confirmIssueOrder: 'Confirm issuing order {orderNo}?',
    orderIssueSuccess: 'Order issued successfully!',
    orderIssueFailed: 'Order issuance failed!',
    confirmWithdrawOrder: 'Confirm withdrawing order {orderNo}?',
    orderWithdrawSuccess: 'Order withdrawn successfully!',
    orderWithdrawFailed: 'Order withdrawal failed!',
    contentEmpty: 'Content is empty',
    materialDictionaryUpdated: 'Material dictionary updated successfully',
    alreadyExistsCheckFile: '{name} already exists. Please check whether the file is correct',
    orderNumberRequired: 'Order number cannot be empty',
    planQuantityRequired: 'Planned quantity cannot be empty',
    confirmImportFile: 'Please check whether the import file is correct',
    importCompleted: 'Import completed',
    importFailedCount: 'Import failed count: {count}. Please check whether the file is correct',
    importDataErrorFile: 'Import data error. Please check whether the import file is correct',
    importFailedSuffix: '{value} import failed',
    duplicateDataSuffix: '{value} has duplicate data',
    importDataError: 'Import data error',
    noData: 'No data',
    selectOrder: 'Please select an order!',
    confirmCompleteOrder: 'Confirm early completion for order {orderNo}?'
  },
  cylinderMaintenance: {
    keywordLabel: 'Keyword:',
    keywordPlaceholder: 'Please enter keyword',
    productionDateLabel: 'Production Date',
    selectProductionDate: 'Please select production date',
    productionStatusLabel: 'Production Status',
    selectProductionStatus: 'Please select production status',
    onlineTimeLabel: 'Online Time',
    startDate: 'Start Date',
    endDate: 'End Date',
    dateRangeSeparator: '~',
    search: 'Search',
    importData: 'Import',
    importTitle: 'Cylinder Group Import',
    importHint: 'The first Excel row must match the `缸体分组号` table fields before import.',
    confirmImport: 'Confirm Import',
    dragExcelFile: 'Drop the Excel file here or',
    browse: 'Browse',
    sequence: 'No.',
    blankNo: 'Blank No.',
    materialNo: 'Material No.',
    groupNo: 'Group No.',
    productionMonth: 'Production Month',
    crankcaseNo: 'Crankcase No.',
    bindingTime: 'Binding Time',
    qrCode: 'QR Code',
    serialNo: 'Serial No.',
    statusAll: 'All',
    statusCompleted: 'Completed',
    statusPending: 'Not Produced',
    loadingData: 'Loading data',
    noData: 'No data',
    noImportData: 'No import data',
    queryFailed: 'Query failed',
    importPreviewFailed: 'Import preview failed',
    importSuccess: 'Import succeeded',
    importFailed: 'Import failed. Check the file or field mapping.',
    uploadOneFileOnly: 'Only one file can be uploaded',
    uploadExcelOnly: 'Only .xlsx, .xls, and .csv files are supported'
  },
  recipeManagement: {
    productModelLabel: 'Cylinder Model:',
    productModel: 'Cylinder Model',
    search: 'Search',
    loadingData: 'Loading data',
    productModelCode: 'Cylinder Code',
    largeModel: 'Model Name',
    crankcaseCode: 'Crankcase Code',
    crankcaseModel: 'Crankcase Model',
    crankcaseModelName: 'Crankcase Model Name',
    combinePartNumber: 'Combined Part No.',
    add: 'Add',
    edit: 'Edit',
    partType: 'Part Type',
    partTypeSign: 'Part Type Sign',
    partTypeName: 'Part Type Name',
    pleaseEnter: 'Please enter',
    pleaseSelect: 'Please select',
    addSuccess: 'Added successfully',
    addFailedDuplicate: 'Add failed, duplicate data!',
    prompt: 'Prompt',
    confirmDelete: 'This action will permanently delete this row. Continue?',
    deleteSuccess: 'Deleted successfully',
    deleteFailed: 'Delete failed!',
    deleteCanceled: 'Deletion canceled',
    editSuccess: 'Updated successfully',
    editFailedDuplicate: 'Update failed! Duplicate data'
  },
  assemblyQualitydataQuery: {
    stationNumberLabel: 'Station No.:',
    selectStationNumber: 'Please select station number',
    orderNumberLabel: 'Order No.:',
    orderNumber: 'Order No.',
    productModelLabel: 'Product Model:',
    selectProductModel: 'Please select product model',
    productionTimeLabel: 'Production Time:',
    startDate: 'Start Date',
    endDate: 'End Date',
    dateRangeSeparator: '~',
    search: 'Search',
    loadingData: 'Loading data',
    sequence: 'No.',
    stationNumber: 'Station No.',
    productNumber: 'Product No.',
    productModel: 'Product Model',
    measuringPosition: 'Measuring Position',
    measuringProject: 'Item',
    measuringValue: 'Value',
    measuringUnit: 'Unit',
    upperLimit: 'Upper Limit',
    lowerLimit: 'Lower Limit',
    productionDate: 'Production Date',
    qualifiedFlag: 'Qualified Flag',
    qualified: 'Qualified',
    unqualified: 'Unqualified',
    all: 'All',
    detailTitle: 'Assembly Quality Details',
    detailSubtitle: 'Inspect measurements, limits, and quality status after multi-filter search',
    summaryTotal: 'Total Results',
    summaryPageSize: 'Page Size',
    summaryFilters: 'Active Filters',
    noData: 'No data'
  },
  inquiryTransitInformation: {
    stationNumberLabel: 'Station No.:',
    stationNumber: 'Station No.',
    orderNumberLabel: 'Order No.:',
    orderNumber: 'Order No.',
    productModelLabel: 'Product Model:',
    selectProductModel: 'Please select product model',
    productionTimeLabel: 'Production Time:',
    startDate: 'Start Date',
    endDate: 'End Date',
    dateRangeSeparator: '~',
    search: 'Search',
    loadingData: 'Loading data',
    sequence: 'No.',
    productNumber: 'Product No.',
    productModel: 'Product Model',
    arrivalTime: 'Arrival Time',
    departureTime: 'Departure Time',
    onlineTimeSeconds: 'Online Time (s)',
    isQualified: 'Qualified',
    noData: 'No data'
  },
  offLinePartCount: {
    productionTimeLabel: 'Production Time:',
    startDate: 'Start Date',
    endDate: 'End Date',
    dateRangeSeparator: '~',
    orderNumberLabel: 'Order No.',
    orderNumberPlaceholder: 'Please enter order number',
    productModelLabel: 'Product Model:',
    selectProductModel: 'Please select product model',
    trendGranularityLabel: 'Trend Granularity:',
    byDay: 'By Day',
    byHour: 'By Hour',
    search: 'Search',
    export: 'Export',
    exporting: 'Exporting....',
    sequence: 'No.',
    orderNumber: 'Order No.',
    productNumber: 'Product No.',
    productModel: 'Product Model',
    offlineTime: 'Offline Time',
    trendTitle: 'Offline Output Trend Analysis',
    trendSubtitle: 'Monitor output fluctuations and abnormal offline periods within the selected range',
    detailTitle: 'Offline Detail Records',
    detailSubtitle: 'Shows production offline details matching the current filters',
    saveAsImage: 'Save as Image',
    dateAxis: 'Date',
    hourAxis: 'Hour',
    offlineQuantityAxis: 'Offline production Qty',
    offlineQuantitySeries: 'Offline Qty',
    summaryTotal: 'Offline Total',
    summaryTrendPoints: 'Trend Points',
    summaryGranularity: 'Granularity',
    selectDateRange: 'Please select start date and end date!',
    noData: 'No data'
  },
  stationBeat: {
    productionTimeLabel: 'Production Time:',
    startDate: 'Start Date',
    endDate: 'End Date',
    dateRangeSeparator: '~',
    stationLabel: 'Station:',
    selectStation: 'Please select station',
    orderNumberLabel: 'Order No.',
    orderNumberPlaceholder: 'Please enter order number',
    productModelLabel: 'Product Model:',
    selectProductModel: 'Please select product model',
    search: 'Search',
    excel: 'Excel',
    sequence: 'No.',
    station: 'Station',
    totalAverageBeat: 'Total Avg Beat (s)',
    totalAverageBeatChartTitle: 'Total Average Beat Bar Chart',
    chartSubtitle: 'Quickly identify bottleneck stations with higher average beat',
    detailTitle: 'Station Beat Details',
    detailSubtitle: 'Review average beat by station across each date',
    totalAverageBeatAxis: 'Total Avg Beat (s)',
    totalAverageBeatSeries: 'Total Avg Beat',
    saveAsImage: 'Save as Image',
    summaryStations: 'Stations',
    summaryDays: 'Days',
    summarySelectedStations: 'Selected Stations',
    allStations: 'All',
    noData: 'No data'
  },
  stationJph: {
    productionTimeLabel: 'Production Time:',
    startDate: 'Start Date',
    endDate: 'End Date',
    dateRangeSeparator: '~',
    stationLabel: 'Station:',
    selectStation: 'Please select station',
    orderNumberLabel: 'Work Order',
    orderNumberPlaceholder: 'Please enter work order',
    productModelLabel: 'Product Model:',
    selectProductModel: 'Please select product model',
    search: 'Search',
    export: 'Export',
    realtimeTab: 'Realtime Today',
    historyTab: 'History',
    realtimeChartTitle: 'Realtime Hourly Output by Station',
    historyChartTitle: 'Historical Hourly Output by Station',
    realtimeSubtitle: 'Auto-refreshing view of today\'s hourly output distribution',
    historySubtitle: 'Review hourly output changes by date',
    detailTitle: 'Historical Output Details',
    detailSubtitle: 'Tabular breakdown of output for each date and hour slot',
    saveAsImage: 'Save as Image',
    sequence: 'No.',
    date: 'Date',
    station: 'Station',
    hourSlot: 'Hour Slot',
    outputQty: 'Output Qty',
    summaryRealtimePoints: 'Realtime Hours',
    summaryRealtimeTotal: 'Realtime Total',
    summaryRefreshMode: 'Refresh Mode',
    autoRefresh: 'Auto Polling',
    noData: 'No data'
  },
  materialDataQuery: {
    stationNumberLabel: 'Station No.:',
    selectStationNumber: 'Please select station number',
    orderNumberLabel: 'Order No.:',
    orderNumber: 'Order No.',
    productModelLabel: 'Product Model:',
    selectProductModel: 'Please select product model',
    materialBarcodeLabel: 'Material Barcode:',
    enterMaterialBarcode: 'Please enter material barcode',
    productionTimeLabel: 'Production Time:',
    startDate: 'Start Date',
    endDate: 'End Date',
    dateRangeSeparator: '~',
    search: 'Search',
    loadingData: 'Loading data',
    sequence: 'No.',
    stationNumber: 'Station No.',
    productNumber: 'Product No.',
    productModel: 'Product Model',
    materialNumber: 'Material No.',
    partQuantity: 'Part Quantity',
    partName: 'Part Name',
    materialBarcode: 'Material Barcode',
    operationTime: 'Operation Time',
    noData: 'No data'
  },
  materialVerificationMaintenance: {
    stationNumberLabel: 'Station No.:',
    selectStationNumber: 'Please select station number',
    productModelLabel: 'Product Model:',
    selectProductModel: 'Please select product model',
    searchMaterial: 'Search Material',
    createMaterial: 'Create Material',
    exportMaterial: 'Export Material',
    loadingData: 'Loading data',
    sequence: 'No.',
    stationNumber: 'Station',
    materialNumber: 'Material No.',
    partName: 'Part Name',
    materialQuantity: 'Quantity',
    isVerification: 'Verification',
    yes: 'Yes',
    no: 'No',
    matchRule: 'Match Rule',
    matchLength: 'Match Length',
    operation: 'Operation',
    edit: 'Edit',
    delete: 'Delete',
    productModel: 'Product Model',
    enterMaterialNumber: 'Please enter material number',
    materialName: 'Material Name',
    quantity: 'Quantity',
    enterQuantity: 'Please enter quantity',
    selectVerification: 'Please select verification status',
    verificationRuleSetting: 'Verification Rule Setting',
    rule: 'Rule',
    enterMatchRule: 'Please enter match rule',
    length: 'Length',
    enterMatchLength: 'Please enter match length',
    editMaterial: 'Edit Material',
    version: 'Version',
    selectVersion: 'Please select version',
    materialImport: 'Material Import',
    confirmImport: 'Confirm Import',
    dataCopy: 'Data Copy',
    enterMaterialNameRequired: 'Please enter material name',
    selectStationNumberRequired: 'Please select station number',
    enterMaterialNumberRequired: 'Please enter material number',
    selectEngineTypeRequired: 'Please select model',
    enterQuantityRequired: 'Please enter quantity',
    selectVerificationRequired: 'Please select verification status',
    selectMaterialVersionRequired: 'Please select material version',
    enterVerificationLengthRequired: 'Please enter verification length',
    enterVerificationOrderRequired: 'Please enter verification order',
    enterVerificationRuleRequired: 'Please enter verification rule',
    enterPartNameRequired: 'Please enter part name',
    materialAddSuccess: 'Material added successfully!',
    materialAddFailed: 'Failed to add material!',
    noDataToCopy: 'No data available to copy!',
    addSuccess: 'Added successfully',
    prompt: 'Prompt',
    confirmDelete: 'This action will permanently delete this row. Continue?',
    deleteSuccess: 'Deleted successfully',
    deleteFailed: 'Delete failed',
    deleteCanceled: 'Deletion canceled',
    editSuccess: 'Updated successfully',
    editFailed: 'Update failed!',
    contentEmpty: 'Content is empty',
    materialDictionaryUpdated: 'Material dictionary updated successfully',
    materialNumberRequired: 'Material number cannot be empty',
    partDrawingRequired: 'Part drawing number cannot be empty',
    confirmImportFile: 'Please check whether the import file is correct',
    importCompleted: 'Import completed',
    importFailedCount: 'Import failed count: {count}. Please check whether the file is correct',
    importDataErrorFile: 'Import data error. Please check whether the import file is correct',
    importFailedSuffix: '{value} import failed',
    importSuccessSuffix: '{value} import succeeded',
    importDataError: 'Import data error',
    noData: 'No data',
    importSuccess: 'Import succeeded!',
    importFailed: 'Import failed!'
  },
  toolLife: {
    stationLabel: 'Equipment/Station:',
    selectAllPlaceholder: 'Leave empty to view all equipment/stations',
    search: 'Search',
    totalTools: 'Total Tools',
    pieceUnit: 'pcs',
    normalTools: 'Normal Tools',
    warningTools: 'Warning Tools',
    scrapTools: 'Scrap Tools',
    statusOverview: 'Status Overview',
    statusOverviewSubtitle: 'Tool status summary by equipment',
    normalRate: 'Normal Rate',
    warningRate: 'Warning Rate',
    scrapRate: 'Scrap Rate',
    detailTitle: 'Tool Details',
    detailSubtitle: 'Life and status of each tool under the current equipment',
    sequence: 'No.',
    stationColumn: 'Equipment/Station',
    toolCode: 'Tool Code',
    ratedLife: 'Rated Life',
    usedLife: 'Used Life',
    warningValue1: 'Warning Value',
    remainingLife: 'Remaining Life',
    lifeProgress: 'Life Progress',
    status: 'Status',
    statusNormal: 'Normal',
    statusWarning: 'Warning',
    statusScrap: 'Scrap',
    allStations: 'All Equipment/Stations',
    noData: 'No tool life data in the current scope',
    queryFailed: 'Failed to query tool life data'
  },
  tagsView: {
    refresh: 'Refresh',
    closeCurrent: 'Close Current',
    closeOthers: 'Close Others',
    closeAll: 'Close All'
  },
  menu: {
    '主页': 'Home',
    '菜单管理': 'Menus',
    '系统管理': 'Admin',
    '工厂日历': 'Calendar',
    '人员管理': 'Users',
    '系统角色维护': 'Roles',
    '人员角色分配': 'User Roles',
    '生产计划管理': 'Prod. Planning',
    '生产计划': 'Prod. Plan',
    '计划状态查看': 'Plan Status',
    '工艺管理': 'Process',
    'MES消息维护': 'MES Message',
    '界面标签语言维护': 'UI Labels',
    '界面模块维护': 'UI Modules',
    '检查内容维护': 'Inspection',
    '工艺图片维护': 'Process Images',
    '物料扫码维护': 'Material Scan',
    '工艺PDF维护': 'Process PDFs',
    'Andon呼叫维护': 'Andon Calls',
    '工艺参数维护': 'Process Params',
    '测量范围维护': 'Meas. Range',
    '工艺节拍维护': 'Takt Time',
    '拧紧位置维护': 'Tightening',
    '线外工位验证维护': 'Offline Verify',
    '质量管理': 'Quality',
    '质量数据查询': 'Quality Data',
    '物料数据查询': 'Material Data',
    '过站信息查询': 'Station Pass',
    '分线质量查询': 'Line Quality',
    '分线物料查询': 'Line Material',
    '下线统计': 'Offline Count',
    '工位节拍': 'Station Beat',
    '工位JPH': 'Station JPH',
    '缸体分组号': 'Cylinder Group No.',
    '生产计划订单完工': 'Order Complete',
    'SPC分析': 'SPC Analysis',
    '基本趋势图': 'Trend Chart',
    '样本趋势图': 'Sample Trend',
    '直方图': 'Histogram',
    '工序能力分析': 'Process Capability',
    '排列图': 'Pareto',
    '均值极差图': 'Xbar-R',
    '均值标准差图': 'Xbar-S',
    'SPC': 'SPC',
    '设备运行分析': 'Equip. Ops',
    '设备基本信息维护': 'Equip. Info',
    '设备状态监控': 'Equip. Status',
    '设备维修记录': 'Repair Records',
    '设备实时状态': 'Live Status',
    '设备保养计划': 'Maint. Plan',
    '设备保养内容': 'Maint. Content',
    '设备当前保养计划': 'Current Maint.',
    '设备能耗信息': 'Energy Usage',
    'ANDON系统': 'ANDON',
    '物料ANDON查询': 'Material ANDON',
    '物料ANDON统计': 'Material ANDON',
    '质量ANDON查询': 'Quality ANDON',
    '质量ANDON统计': 'Quality ANDON',
    '设备ANDON查询': 'Equip. ANDON',
    '设备ANDON统计': 'Equip. Stats',
    '班次管理': 'Shifts',
    '配方管理': 'Recipes',
    '基础数据管理': 'Basic Data',
    '产品型号': 'Product Model',
    '电气元件参数': 'Elec. Params',
    '基础数据维护': 'Basic Data',
    '工位信息维护': 'Station Info',
    '基本变量写入': 'Write Variable',
    '分配工位号': 'Assign Station',
    '基本变量查询': 'Query Variable',
    '变量设备类型维护': 'Var. Equip. Types',
    'FTT趋势图': 'FTT Trend',
    'JPH趋势图': 'JPH Trend',
    'OEE趋势图': 'OEE Trend',
    '点检信息维护': 'Spot Check',
    '点检记录查询': 'Spot Check Logs',
    '报警变量维护': 'Alarm Vars',
    '监控数据查询': 'Monitor Data',
    'BOM管理': 'BOM',
    '工序工位计划管理': 'Station Plans',
    '系统日志': 'System Logs',
    '扫码记录': 'Scan Logs',
    '工位录入项维护': 'Station Inputs',
    '工位录入查询': 'Station Logs',
    '每日数据统计': 'Daily Stats',
    '工位报警日志': 'Station Alarms',
    '停机记录查询': 'Downtime',
    '检查记录查询': 'Inspection Logs',
    '工位呼叫统计': 'Call Stats',
    '类型呼叫统计': 'Call Type Stats',
    '接口维护': 'Interfaces',
    '接口列表': 'Interface List',
    '工位接口设置': 'IF Settings',
    '工位接口监控': 'IF Monitor',
    '首件管理': 'First Article',
    '数据录入': 'Data Entry',
    '检测项维护': 'Inspect Items',
    '看板参数管理': 'TV Params'
  }
}
