diff --git a/src/assets/css/main.css b/src/assets/css/main.css index a9499235..f0c78455 100644 --- a/src/assets/css/main.css +++ b/src/assets/css/main.css @@ -362,7 +362,8 @@ textarea { display: flex; align-items: center; justify-content: center; - width: 120px; + min-width: 120px; + padding: 0 5px; height: 34px; background: rgba(0, 255, 186, 0.15); border: 1px solid rgba(0, 255, 186, 0.5); diff --git a/src/assets/css/main.scss b/src/assets/css/main.scss index 0a7fd1da..777f9757 100644 --- a/src/assets/css/main.scss +++ b/src/assets/css/main.scss @@ -392,7 +392,8 @@ textarea { display: flex; align-items: center; justify-content: center; - width: 120px; + min-width: 120px; + padding: 0 5px; height: 34px; background: rgba(0, 255, 186, 0.15); border: 1px solid rgba(0, 255, 186, 0.50); diff --git a/src/components/setParamsControl.vue b/src/components/setParamsControl.vue index 2bac4316..991d86cc 100644 --- a/src/components/setParamsControl.vue +++ b/src/components/setParamsControl.vue @@ -128,6 +128,7 @@ export default { var data = store.equipmentList[store.equipmentIndex - 1].deviceId; this.api.getcontrol_cpermission(data).then((res) => { this.routerList = []; + this.loading.close(); this.purview = res.data.data; this.purview.forEach((el, index) => { if (el.state == 1) { diff --git a/src/i18n/lang/en.js b/src/i18n/lang/en.js index b87bb875..07474112 100644 --- a/src/i18n/lang/en.js +++ b/src/i18n/lang/en.js @@ -16,14 +16,24 @@ module.exports = { { name: 'Greater than or equal (>=)', value: 3 }, { name: 'Less than or equal (<=)', value: 4 } ], - message:{ - delete:'Delete successfully.', - add:'Added successfully', - change:'Modified successfully', + message: { + delete: 'Delete successfully.', + add: 'Added successfully', + change: 'Modified successfully', loading: 'Loading', - uploading:'Uploading', + uploading: 'Uploading', + deviceCodeRequired: "Device code is required", + deviceTypeRequired: "Device type is required", + deviceNameRequired: "Device name is required", + usernameRequired: "Username is required", + phoneRequired: "Phone number is required", + nicknameRequired: "Nickname is required", + roleRequired: "Role is required", + deviceRequired: "Please add at least one device", + passwordMismatch: "Passwords do not match", + sortRequired: "Sort code is required" }, - placeholder:{ + placeholder: { setValue: 'Set Value', deviceCodePlaceholder: "Please select weather station device code", @@ -33,31 +43,80 @@ module.exports = { sortOrderPlaceholder: "Please enter sort order", deviceNamePlaceholder: "Please enter device name", quantityPlaceholder: "Please enter quantity", + deviceTypePlaceholder: "Please select device type", + deviceAlias: "Please enter device alias", + newSortOrder: "Please enter new sort order", + nicknameQuery: "Enter nickname", + username: "Enter username", + phone: "Enter phone number", + nickname: "Enter nickname", + oldPassword: "Enter old password", + newPassword: "Enter new password", + confirmPassword: "Confirm password", + sortOrder: "Enter sort order", + role: "Select role" }, - nameText:{ - sortOrder: "Sort Order", + text: { + sortOrder: "Sort Order", operations: "Operations", edit: "Edit", delete: "Delete", deleteContent: "Are you sure to delete this content?", deviceCode: 'Device Code', deviceName: "Device Name", + deviceType: "Device Type", + add: 'Add', + add1: 'Add', + search: "Search", + download: 'Download', + statistics: 'Statistics', + serialNumber: "No.", + deviceAlias: "Device Alias", + subDeviceName: "Sub-device Name", + id: "ID", + "valid": "Valid", + "invalid": "Invalid", + "autoRun": "Auto Run", + "manualOn": "Manual On", + "manualOff": "Manual Off", + "manualSet": "Manual Setting", + "selection": "Work Mode Selection", + expand: 'Expand', + collapse: 'Collapse', + stop: 'Stop', + autoSet: 'Auto Setting', + min: 'mins', + sec: 'sec', + turnOn: 'Turn on', + seconds: 'seconds', + turnOff: 'Turn off', + minutes: 'minutes', + degrees: 'degrees', + collapseIn: 'collapse in', + return: "Return", + auto: 'Auto', + manual: 'Manual Start', + "openWindow": "Open", + "closeWindow": "Close", + + Configuration:'Configuration', }, index: { // header - noData:'NO DATA', + noData: 'NO DATA', confirm: 'Confirm', + confirm1: 'Confirm', cancel: 'Cancel', cancel1: 'Cancel', - realTimeData: "Realtime", - setParams: "Params", - galleryData: "Gallery", - videoMonitor: "Monitor", - historyData: "History", - dataAnalysis: "Analytics", - management: "Admin", - bigData: "Dashboard", - qrTrace: "Trace" , + realTimeData: "Realtime", + setParams: "Params", + galleryData: "Gallery", + videoMonitor: "Monitor", + historyData: "History", + dataAnalysis: "Analytics", + management: "Admin", + bigData: "Dashboard", + qrTrace: "Trace", // leftMenu home: "Home", @@ -69,7 +128,7 @@ module.exports = { pestMonitor: "Pest Monitoring", // management - mgmt:'Management', + mgmt: 'Management', userMgmt: "User Management", adminMgmt: "Admin Management", deviceStatusConfig: "Device Status Settings", @@ -102,20 +161,20 @@ module.exports = { pestDevice: 'Pest monitoring device', cardExpiryWarning: `
The IoT card {iccid} for device {deviceName} is about to expire. Remaining time: {daysDifference} days. Please contact the administrator.
`, notification: 'Notification', - + }, setParams: { title: 'Parameter Settings', statusDisplay: '{deviceName} Status Display', - formulaSettings: 'Fertilizer Formula Settings', - irrigationGroupConfig: 'Irrigation Group Configuration', - intrinsicParams: 'Intrinsic Parameters', - internalPIDConfig: 'Internal PID Configuration', - systemParamsConfig: 'System Parameters Configuration', - sensorChannelConfig: 'Sensor Channel Configuration', - dataUpload: 'Data Upload', + formulaSettings: 'Fertilizer Formula Settings', + irrigationGroupConfig: 'Irrigation Group Configuration', + intrinsicParams: 'Intrinsic Parameters', + internalPIDConfig: 'Internal PID Configuration', + systemParamsConfig: 'System Parameters Configuration', + sensorChannelConfig: 'Sensor Channel Configuration', + dataUpload: 'Data Upload', irrigationGroups: [ 'Irrigation Group 1#', 'Irrigation Group 2#', 'Irrigation Group 3#', 'Irrigation Group 4#', 'Irrigation Group 5#', 'Irrigation Group 6#', 'Irrigation Group 7#', 'Irrigation Group 8#', @@ -164,7 +223,7 @@ module.exports = { solenoidValve: 'Solenoid Valve', CO2: 'CO2 Supplement' }, - + realTime: { target: 'Target', average: 'Avg', @@ -174,8 +233,8 @@ module.exports = { smsAlarm: 'SMS Alarm', viewAllData: 'View All Real-time Data', deviceStatus: 'Device Operation Status', - fault:'fault', - iccid:'iccid', + fault: 'fault', + iccid: 'iccid', sunrise: 'Sunrise', sunset: 'Sunset', batteryVoltage: 'Wireless Battery Voltage', @@ -206,9 +265,9 @@ module.exports = { openWindow: 'Open Window', closeWindow: 'Close Window' }, - dialog:{ + dialog: { title: 'Please select devices to display', - choose:'Please select.', + choose: 'Please select.', confirm: 'Confirm' }, alarm: { @@ -242,7 +301,7 @@ module.exports = { west: 'West', northwest: 'Northwest' }, - + }, imageGallery: { title: 'Image Gallery', @@ -262,24 +321,24 @@ module.exports = { imageList: 'Image List', download: "Download", dataStatistics: "Data Statistics", - time: "Time", - name: "Name", - difference: "Difference", - max: "Max", - min: "Min", - avg: "Average", - return: "Return" + time: "Time", + name: "Name", + difference: "Difference", + max: "Max", + min: "Min", + avg: "Average", + return: "Return" }, videoMonitoring: { - title: "Video Monitoring", - topLeft: "Top Left", - topRight: "Top Right", - bottomLeft: "Bottom Left", - bottomRight: "Bottom Right", - zoomIn: "Zoom In", - zoomOut: "Zoom Out", - focusNear: "Focus Near", - focusFar: "Focus Far" + title: "Video Monitoring", + topLeft: "Top Left", + topRight: "Top Right", + bottomLeft: "Bottom Left", + bottomRight: "Bottom Right", + zoomIn: "Zoom In", + zoomOut: "Zoom Out", + focusNear: "Focus Near", + focusFar: "Focus Far" }, bigDataDevice: { @@ -342,8 +401,1011 @@ module.exports = { recipePlaceholder: "Recipe {n}", groupPlaceholder: "Group {n}", externalPlaceholder: "External Device {n}", - smartPlaceholder:"Smart Irrigation {n}", + smartPlaceholder: "Smart Irrigation {n}", noteText: "If there is a camera, the image on the mini-program's camera main page will be updated hourly. If there is no camera, you can customize the image address information." } + }, + + deviceManage: { + title: "Device Management", + search: { + username: "Username Query", + deviceCode: "Device Code Query", + }, + tableHeaders: { + cameraName: "Associated Camera Name", + cameraChannel: "Associated Camera Channel", + username: "Associated Username", + permission: "Permission", + }, + dialogs: { + permissionManagement: "Controller Permission Management", + addDeviceTitle: "Add Device", + cameraName: "Associated Camera Name", + cameraChannel: "Associated Camera Channel", + addStandardController: "Add Standard Controller" + }, + deviceTypes: { + controller: "Controller", + fertilizer: "Fertilizer Machine", + weatherStation: "Weather Station", + smartController: "Smart Irrigation Controller", + dataCollector: "Data Collector" + }, + }, + deviceStatus: { + title: "Device Status Management", + title1: "Device Status Monitoring Equipment", + }, + mobileControl: { + title: "Mobile Control Module", + tableHeaders: { + planName: "Plan Name", + controlName: "Mobile Control Name", + }, + placeholders: { + controlName: "Please enter mobile control name" + }, + }, + userManagement: { + title: "User Information Management", + tableHeaders: { + username: "Username", + nickname: "Nickname", + phone: "Phone Number", + changePassword: "Change Password", + }, + + dialogs: { + changePassword: "Change Password", + addDevice: "Add Device" + }, + roles: { + admin: "Admin", + user: "User" + }, + + }, + deviceBinding: { + title: "Device to Weather Station Binding", + tableHeaders: { + deviceCode: "Bound Weather Station Device Code", + stationName: "Bound Weather Station Name", + }, + placeholders: { + selectDeviceCode: "Select weather station device code", + enterStationName: "Enter weather station name" + }, + + }, + + "air": { + "tempTrigger": "Temperature to manually turn on AC", + "humidityTrigger": "Humidity to manually turn on AC", + "zoneSelection": "Select zones for manual/auto control", + "fanSpeed": "AC Fan Speed", + "mode": "AC Mode", + "heatingPeriod": "Enable Heating Period", + "coolingPeriod": "Enable Cooling Period", + "workingHours": "Working Hours", + "pidSampling": "AC PID Sampling Time", + "proportional": "Proportional Coefficient", + "integral": "Integral Coefficient", + "derivative": "Derivative Coefficient", + "tempDiff": "AC Shutdown Temperature Difference", + "humidityDiff": "AC Shutdown Humidity Difference", + "modeSwitch": "AC Cooling/Heating Switch Time", + "tempTolerance": "Temperature Tolerance for Cool/Heat Mode", + "priority": "Priority for Fan Coil Units", + "fallback": "minutes before starting AC", + "closeSkylight": "Close skylight when AC is running", + "closeVentilation": "Close fans/pad when AC is running", + "circulationFan": "Turn on circulation fan when AC is running", + "coolHeatMode": "Cool/Heat Mode", + "tips": { + "pidFormula": "(Proportional = (Target Temp - Actual Temp) * 10 * Proportional Coefficient)", + "pidFormula2": "(Integral = Accumulated Integral * 10 * Integral Coefficient)", + "pidFormula3": "(Derivative = (Current Diff - Previous Diff) * 10 * Derivative Coefficient)", + "pidSummary": "Total PID Output = Proportional + Integral + Derivative. (Start adjustment when >=10000)", + "heatingStop": "During heating, stop AC when actual temp > target temp + shutdown difference", + "coolingStop": "During cooling, stop AC when actual temp < target temp - shutdown difference", + "dehumidifyStop": "Stop AC when actual temp < target temp - shutdown temp difference", + "capacityWarning": "When fan coil units reach max capacity but still can't meet target" + }, + "modes": { + "auto": "Auto Mode", + "cool": "Cooling Mode", + "heat": "Heating Mode", + "dry": "Dehumidification Mode", + "fan": "Fan Mode", + "coolHeat": "Cool/Heat Mode" + }, + "fanSpeeds": { + "autoAdjust": "Auto Adjust Speed", + "level1": "Level 1 Speed", + "level2": "Level 2 Speed", + "level3": "Level 3 Speed", + "level4": "Level 4 Speed", + "level5": "Level 5 Speed", + "level6": "Level 6 Speed" + } + }, + "alarm": { + "title": "Alarm Settings", + "channel": "Alarm channel", + "temperature": { + "selectRealTime": "Real-time temp select for alarm temp {index}", + "option1High": "Option 1: Temp higher than target", + "option2Low": "Option 2: Temp lower than target", + "option3High": "Option 3: Temp above", + "option4Low": "Option 4: Temp below", + "highAlarm": "°C, high temp alarm.", + "lowAlarm": "°C, low temp alarm.", + "average": "Avg Temp {index}#", + "sensor": "Temp Sensor {index}#" + }, + "humidity": { + "selectRealTime": "Real-time humidity select for alarm humidity {index}", + "option1High": "Option 1: Humidity higher than target", + "option2Low": "Option 2: Humidity lower than target", + "option3High": "Option 3: Humidity above", + "option4Low": "Option 4: Humidity below", + "highAlarm": "%RH, high humidity alarm.", + "lowAlarm": "%RH, low humidity alarm.", + "average": "Avg Humidity {index}#", + "sensor": "Humidity Sensor {index}#" + }, + }, + "circulation": { + "period1": "Period 1", + "period2": "Period 2", + "period3": "Period 3", + "period4": "Period 4", + "highHumidity": "Humidity above", + "startFan": "Start circulation fan", + "controlPrecision": "Control precision", + "co2Supplement": "Run circulation fan during CO2 supplementation", + "humidifying": "Run circulation fan during humidification", + "fanOperation": "Disable circulation fan when main fan is running", + "start": "On for", + "onDuration": "mins, off for", + "offDuration": "mins, interval operation." + }, + CO2: { + lightSource: 'Light source selection', + lightConfirmTime: 'Light confirmation time', + minutes: 'minutes', + workLimit: 'Supplement work limit', + lightGreaterThan: 'Light greater than', + allowSupplement: 'allow supplement', + indoorTempGreaterThan: 'Indoor temperature greater than', + co2ConcentrationBelow: 'CO₂ concentration below', + startSupplement: 'start supplement', + co2ConcentrationAbove: 'CO₂ concentration above', + stopSupplement: 'stop supplement', + turnOn: 'Turn on', + seconds: 'seconds', + turnOff: 'turn off', + intervalSupplement: 'for interval supplement', + outdoor: 'Outdoor light', + indoor: 'Indoor light' + }, + coercionMist: { + + indoorTempHigher: 'Indoor temperature higher than target temperature', + openHighPressureMist: 'degrees, turn on high pressure mist cooling', + intervalWork: 'for interval work', + indoorHumidityLower: 'Indoor humidity lower than target value, turn on high pressure mist humidification', + indoorHumidityHigher: 'Indoor humidity higher than (target humidity + hysteresis band)', + closeHighPressureMist: '%), turn off high pressure mist' + }, + electromagnetic: { + manualValveTime: 'Manual valve opening time', + operationMode: 'Operation mode selection (choose 1 of 2)', + weekDays: { + sun: 'Sunday', + mon: 'Monday', + tue: 'Tuesday', + wed: 'Wednesday', + thu: 'Thursday', + fri: 'Friday', + sat: 'Saturday' + }, + timeSegment: 'Time segment activation: each irrigation duration', + minutes: 'minutes', + timeRange: 'time range', + startTimes: 'start times in this time range', + soilSensor: 'Soil sensor', + validDetectionTime: 'Valid detection time range', + minSoilMoisture: 'Minimum soil moisture', + maxSoilMoisture: 'Maximum soil moisture', + irrigationDurationLimit: 'Irrigation duration limit', + Interval: 'Interval mode activation', + Soil: 'Soil moisture sensor activation' + }, + + exitSettings: { + channelAlarmSettings: 'Channel Alarm Settings', + tempHigherThanTarget1: 'Temperature higher than target 1', + tempLowerThanTarget1: 'Temperature lower than target 1', + tempHigherThanTarget2: 'Temperature higher than target 2', + tempLowerThanTarget2: 'Temperature lower than target 2', + humidityHigherThanTarget1: 'Humidity higher than target 1', + humidityLowerThanTarget1: 'Humidity lower than target 1', + humidityHigherThanTarget2: 'Humidity higher than target 2', + humidityLowerThanTarget2: 'Humidity lower than target 2', + highTempAlarmChannel: '°C, high temperature alarm output channel', + lowTempAlarmChannel: '°C, low temperature alarm output channel', + highHumidityAlarmChannel: '%RH, high humidity alarm output channel', + lowHumidityAlarmChannel: '%RH, low humidity alarm output channel' + }, + facadeInsulation: { + insulationStartTime: 'Insulation start time', + insulationEndTime: 'Insulation end time', + whenLightGreaterThan: 'When light greater than', + advance: 'advance', + minutesCollapseFacade: 'minutes collapse facade insulation' + }, + fan: { + fanGroup1: 'Fan Group 1', + fanGroup2: 'Fan Group 2', + fanGroup3: 'Fan Group 3', + fanGroup4: 'Fan Group 4', + fanGroup5: 'Fan Group 5', + fan1: 'Fan 1', + fan2: 'Fan 2', + fan3: 'Fan 3', + fan4: 'Fan 4', + fan5: 'Fan 5', + tempConfirmationTime: 'Temperature confirmation time', + channelInputSignalType: 'Channel input signal type', + fanTempControlWidth: 'Fan temperature control width', + indoorAvgTempHigherThan: 'Indoor 1# average temperature higher than', + startFan: '℃ start', + fanChannel: 'Fan channel' + }, + forceOutput: { + title: 'Forced Output Parameters', + testModeSelection: 'Test Mode Selection', + testMode: 'Test Mode', + nonTestMode: 'Non-Test Mode', + }, + formula: { + parameters: 'Parameters', + formulaMode: 'Formula Mode Selection', + flowRatioMode: 'Flow Ratio Mode', + targetPH: 'Target PH Value', + targetEC: 'Target EC Value', + fertilizerType: 'Fertilizer Type', + waterToFertilizerRatio: 'Water to Fertilizer Ratio', + fixedIntakeIntensity: 'Fixed Intake Intensity', + targetPHECMode: 'Target PH/EC Mode', + fertilizerChannelMax: 'Fertilizer Channel Maximum', + initialPH: 'PH Initial Value', + initialEC: 'EC Initial Value', + initialTime: 'Initial Time', + formulaModes: { + flowRatio: 'Flow Ratio Mode', + fixedIntakeFlow: 'Fixed Intake Flow Mode', + phEcPid: 'PH,EC Mode (PID Control)' + }, + fertilizerOptions: { + Fertilizer: '{n} Fertilizer', + acid: 'Acid', + ecMaxDeviation: 'EC Maximum Deviation', + phMaxDeviation: 'PH Maximum Deviation', + targetValueLimit: 'Target Value Limit' + }, + + }, + heatFan: { + manualOperationTip: 'Heater/Cooler fan starts when manually turned on', + workingPeriod: 'Working period', + fanMode: 'Heater/Cooler fan mode', + maxFanGear: 'Maximum fan gear', + max4: '(Max: 4 gears)', + heatingMode: 'Heating mode:', + coolingMode: 'Cooling mode:', + tempBelowTarget: 'Temperature below target value', + tempAboveTarget: 'Temperature above target value', + cannotReachTarget: 'Cannot reach target value,', + startHeating: '°C, start 1st gear heating', + startCooling: '°C, start 1st gear cooling', + decreaseGear: '°C, decrease gear', + increaseGear: 'seconds, increase gear', + operationRules: { + closeSkylight: 'Close skylight when heater/cooler fan is running', + closeFanPad: 'Close fan and pad when heater/cooler fan is running', + openCirculationFan: 'Turn on circulation fan when heater/cooler fan is running' + }, + gear0: '0', + gear1: 'Gear {index}', + }, + insizeSunshade: { + daytimeShadingPeriod: 'Daytime shading period', + outdoorLightGreaterThan: 'When outdoor light is greater than', + lightConfirmationTime: 'Light confirmation time', + lightHysteresisBand: 'Outdoor light hysteresis band', + KLux: '(KLux)', + indoorTempHigherThan: 'Indoor temperature higher than target temperature', + nightInsulationPeriod: 'Night insulation period', + dehumidifyAngle: 'Shading angle during vent window dehumidification', + lightGreaterThan: 'When light is greater than', + advanceCollapse: 'minutes in advance to collapse inner shade', + nightInsulationEnd: 'At the end of night insulation', + stepsToCollapse: 'steps to collapse the shade net, interval time', + degrees: 'degrees', + expandInnerShade: 'expand inner shade', + collapseInnerShade: 'collapse inner shade', + shadingNet: 'shade net' + }, + internalInsulation: { + nightInsulationPeriod: 'Night insulation period', + atNightInsulationEnd: 'At night insulation end', + stepsToCollapse: 'steps to collapse inner insulation, interval time', + indoorTempHigherThan: 'Indoor temperature higher than target temperature', + expandInnerInsulation: 'expand inner insulation', + dehumidifyAngle: 'Inner insulation opening angle during vent window dehumidification', + whenLightGreaterThan: 'When light is greater than', + advanceCollapse: 'minutes in advance to collapse inner insulation', + when: 'when', + advance: 'in advance', + }, + intrinsicParameterSoil: { + title: 'Device Intrinsic Parameters', + soilSensorCount: 'Soil Sensor Installation Count:', + waterFlowPulse: 'Water Flow Pulse(P/L):', + groupTempSensor: 'Group {index}# Soil Temperature Sensor Selection', + groupHumiditySensor: 'Group {index}# Soil Humidity Sensor Selection', + soilTemp: '#Soil Temperature', + soilHumidity: '#Soil Humidity', + passwordDialog: { + title: 'Please Enter Password', + passwordLabel: 'Password:', + }, + soilTempOptionLabel: '{index}# Soil Temperature', + soilHumidityOptionLabel: '{index}# Soil Humidity', + averageSoilHumidity: 'Average {index}# Soil Humidity' + }, + intrinsicParameter: { + title: 'Device Intrinsic Parameters', + solenoidValve: { + sensorSelection: 'Group {index}# Solenoid Valve Auto-control Sensor Selection', + outputChannel: 'Output Channel:' + }, + deployOutput: 'Deploy Output Channel:', + retractOutput: 'Retract Output Channel:', + wetCurtainPump: 'Wet Curtain Pump Group {index} Output Channel:', + circulatingFan: 'Circulating Fan Group {index} Output Channel:', + highPressureMist: 'High Pressure Mist Group {index} Output Channel:', + co2Supplement: 'CO2 Supplement Group {index} Output Channel:', + heatingCoolingFan: 'Heating/Cooling Fan Group {index} Output Channel:', + axialFan: 'Axial Fan Group {index} Output Channel:', + fillLight: 'Fill Light Group {index} Output Channel:', + ventilationWindow: { + fullTravelTime: 'Ventilation Window {index}# Full Travel Time', + openOutput: 'Open Output Channel:', + closeOutput: 'Close Output Channel:', + orientation: 'Window Orientation', + openingBaseValue: 'Opening Base Value:' + }, + innerShade: { + fullTravelTime: 'Inner Shade {index}# Full Travel Time', + }, + outerShade: { + fullTravelTime: 'Outer Shade {index}# Full Travel Time', + }, + innerInsulation: { + fullTravelTime: 'Inner Insulation {index}# Full Travel Time', + }, + wetCurtainWindow: { + fullTravelTime: 'Wet Curtain Window {index}# Full Travel Time', + }, + verticalInsulation: { + fullTravelTime: 'Vertical Insulation {index} Full Travel Time', + + }, + deviceProtection: 'Travel Protection Time for All Devices', + deviceLocation: { + title: 'Device Location', + longitude: 'Longitude', + latitude: 'Latitude' + }, + + }, + irrigateSetSoil: { + label: 'Control Mode', + smartGroup: '{index}# Smart Irrigation Group', + manualStartTime: 'Manual Start Time', + autoRun: { + startDate: 'Auto Run Start Date', + year: 'Year', + month: 'Month', + day: 'Day', + intervalDays: 'Irrigation Interval Days' + }, + rainProtection: { + label: 'Rain Protection', + note: '(Effective in Auto Mode)', + threshold: 'Rainfall reaches', + stopText: 'mm, this irrigation group stops.' + }, + valveControl: 'Solenoid Valve Control Channel', + followValve: 'Follow Valve for This Group', + rotationMode: 'Rotation Mode', + fertilizerMode: { + label: 'Fertilizer Auto Mode', + placeholder: 'Select Setting', + timePoint: 'Scheduled Time Start', + timeRange: 'Scheduled Period Start', + soilSensor: 'Based on Soil Sensor', + lightSensor: 'Based on Light Sensor', + externalSignal: 'Based on External Signal' + }, + timePointStart: { + controlParamsConfig: '{index}# Irrigation Group Control Parameters Configuration', + title: 'Time Point Start', + durationLabel: 'Each Irrigation Duration', + startTimes: 'Start Times', + }, + intervalStart: { + title: 'Interval Start', + durationLabel: 'Each Irrigation Duration', + startTimes: 'Start Times', + timesInRange: 'Start Times in Period', + }, + lightAccumulation: { + title: 'Light Accumulation Start', + validTimeLabel: 'Valid Detection Period', + durationLabel: 'Start Irrigation Duration', + thresholdLabel: 'Light Accumulation Threshold', + minLightLabel: 'Minimum Light', + minIntervalLabel: 'Min Irrigation Interval', + maxIntervalLabel: 'Max Irrigation Interval', + }, + soilSensor: { + title: 'Soil Sensor', + validTimeLabel: 'Valid Detection Period', + minMoistureLabel: 'Minimum Soil Moisture', + maxMoistureLabel: 'Maximum Soil Moisture', + maxDurationLabel: 'Max Irrigation Duration', + }, + externalControl: { + title: 'External Control Mode', + validTimeLabel: 'Valid Time:', + digitalControl: 'External Digital Control:', + channelLabel: 'External Input Channel', + levelControl: 'Level Sensor Control:', + levelChannelLabel: 'Level Signal Channel', + startLevelLabel: 'Start Low Level', + stopLevelLabel: 'Stop High Level', + + }, + }, + + + irrigateSet: { + irrigation: "Irrigation", + clearWaterTimes: "times of clear water,with interval irrigation", + fertilizationTimes: "times of fertilization.", + useFormula: "Use formula No.", + formulaNumber: "when fertilizing.", + reachMidLevel: "When reaching mid liquid level, mix for", + solenoidValveOutput: "seconds before solenoid valve starts output", + solenoidValveChannel: "Solenoid valve control channel", + activateFollowValve: "This irrigation group activates follow-up valve", + options: { + noFertilizer: "Do not start fertilizer machine when irrigating with clear water", + emptyTank: "Empty mixing tank when irrigation ends", + rotationMode: "Rotation irrigation mode", + noInletPump: "Do not start inlet pump when irrigating with clear water" + } + }, + + LED: { + manualStartTip: "Turn on lights when manually started", + highTempAlert: "Prohibit starting supplementary lights during high temperature alarm", + useTargetTemp1: "Use target temperature 1#", + useTargetTemp2: "Use target temperature 2#", + lightIntensityLimit1: "When light intensity is greater than", + lightIntensityLimit2: "(KLux), supplementary lights are prohibited", + lightConditionEnable: "Enable under low light condition", + lightIntensityLow: "When light intensity is less than", + lightIntensityHigh: "When light intensity is greater than", + turnOnLights: ", turn on supplementary lights", + turnOffLights: ", turn off supplementary lights", + lightSourceSelect: "Light source selection", + lightConfirmTime: "Light confirmation time", + groupStartInterval: "When multiple groups of supplementary lights start, stagger by", + preventOverload: "seconds to prevent instantaneous power overload", + timePeriod: `Time period {index}`, + lightLowCondition: "Low light condition", + lampNumber: `Light {index}#`, + + }, + + + outsizeSunshade: { + workingHours: "Working hours:", + rainPosition: "Shade net position during rain", + rainConfirmTime: "Rain confirmation time", + outdoorLightHigh1: "When outdoor light intensity is greater than", + outdoorLightHigh2: "(KLux), expand the outer shade", + outdoorLightFull: "(KLux), expand outer shade to 100%", + lightConfirmTime: ".Light confirmation time", + lightHysteresis: "Outdoor light hysteresis band", + windSpeedHigh: "When wind speed is greater than", + windProtection: ", retract shade net. Wind protection release time", + indoorTempHigh: "When indoor temperature is higher than target temperature by", + degree: "degrees, expand outer shade.", + }, + + parameterSet: { + title: "Manufacturer Internal Parameter Configuration", + targetTempSelect: `Target Temperature Selection`, + envTempSelect: "Environment Temperature Selection", + targetHumiditySelect: "Target Humidity Selection", + envHumiditySelect: "Environment Humidity Selection", + tempSelect: "Temperature Selection", + indoorHumiditySelect: `Indoor Humidity Selection for Fan {index}#`, + curtainTempSelect: `Temperature Selection for Wet Curtain Window {index}#`, + circulationFan: "Circulation Fan", + wetCurtainWindow: "Wet Curtain Window", + highPressureMist: `High Pressure Mist {index}#`, + axialFan: "Axial Fan", + innerInsulation: `Inner Insulation {index}`, + co2Supplement: `CO2 Supplement {index}`, + tempSourceSelect: "Temperature Source Selection", + lightSourceSelect: "Light Source Selection", + co2SensorSelect: "CO2 Sensor Source Selection", + fillLight: "Fill Light", + indoorLightSource: "Indoor Light Source Selection", + heatingCoolingFan: "Heating/Cooling Fan", + airConditioner: "Air Conditioner", + humiditySourceSelect: "Humidity Source Selection", + fillLightIndoorLightSource: "Fill Light Indoor Light Source Selection", + outsideShade: "Outside Shade {index}#", + insideShade: "Inside Shade {index}#", + ventWindow: "Vent Window {index}#", + avgAirTemp: `Average Air Temperature {index}#`, + airTemp: `Air Temperature {index}#`, + targetTemp: `Target Temperature {index}`, + avgAirHumidity: `Average Air Humidity {index}#`, + airHumidity: `Air Humidity {index}#`, + targetHumidity: `Target Humidity {index}`, + avgLight: `Average Light {index}#`, + light: `Light {index}#`, + avgCO2: `Average CO2 {index}#`, + co2: `CO2 {index}#`, + curtainTempSelect: `Wet Curtain Window {index}# Temperature Selection` + }, + + PIDSet: { + pageTitle: "Manufacturer Internal PID Settings", + phSettings: "PH Parameter Settings", + ecSettings: "EC Parameter Settings", + proportionCoefficient: "Proportional Coefficient (P)", + integralCoefficient: "Integral Coefficient (I)", + differentialCoefficient: "Differential Coefficient (D)", + integralLimit: "Integral Limit", + pwmCycle: "PWM Cycle", + calculationCycle: "Calculation Cycle", + acidSuctionChannel: "Acid Suction Designated Channel", + waterPumpPreStart: "Water Pump Pre-start Time", + waterFlowPulse: "Water Flow Pulse", + bypassValve: "Bypass Irrigation Valve" + }, + sensorSet: { + pageTitle: "Sensor Configuration Interface", + sensorDescription: "Sensor Instructions", + sensorChannel: `Channel {index}#`, + validity: "Validity", + sensorType: "Sensor Type", + analogSensor: "(4-20ma Sensor)", + selectSensorType: "Select Sensor Type", + calibration: { + lowAD: "Calibration Low AD Value", + lowData: "Calibration Low Data", + highAD: "Calibration High AD Value", + highData: "Calibration High Data", + lowAD1: "Low AD Value", + lowData1: "Low Data", + highAD1: "High AD Value", + highData1: "High Data" + }, + sensorInstructions: { + title: "Greenhouse Controller Sensor Matching Instructions", + part1: "1. The first 36 channels of the greenhouse controller correspond to 6 communication-type (wired and wireless sensors universal) six-parameter sensors.", + parameters: `{index} corresponds to temperature, humidity, light, CO2, soil temperature, soil moisture.`, + communicationMatch: "The AD value matching relationship for communication-type sensors is as follows:", + temperature: "Temperature:", + humidity: "Humidity:", + light: "Light:", + co2: "CO2:", + soilTemp: "Soil Temp:", + soilMoisture: "Soil Moisture:", + part2: "2. Channels 37-40 (communication-type soil PH/EC combo sensors).", + phEcSensor: `Channel {index} corresponds to {type};`, + matchRelation: "Matching relation:", + part3: "3. Channels 41-48 (8 analog sensor data).", + analogRange: "655-low range, 3276-full range." + }, + "intelligentIrrigationTitle": "Smart Irrigation Controller Sensor Matching Instructions", + "greenhouseChannels": "1. The first 80 channels of the greenhouse controller correspond to 40 communication-type soil temperature/humidity sensors.", + "channelExample": "{num1} corresponds to {num2} soil temp, {num3} soil moisture.", + "sensorMatchingRelation": "AD value matching relationship for communication sensors:", + "analogChannels": "2. Channels 81-90 (10 analog sensor data).", + }, + skylight:{ + "skylightRollFilm": "Skylight Roll Film", + "windProtection": "Wind Protection Active", + "rainProtection": "Rain Protection", + "rainBucketDetection": "Rain Bucket Detection", + "tempConfirmationTime": "Temperature Confirmation Time", + "rollFilmCloseLimit": "Roll Film Close Limit Time", + "windSpeedLimit": "Wind Speed Above", + "forbidOpenWindow": "m/s, Forbid Window Opening", + "windProtectionTime": "Wind Protection Duration", + "rainDetectionTime": "Rain Detection Time", + "tempSelection": "Temperature Selection", + "tempControlWidth": "Temperature Control Width", + "indoorTempCondition": "Indoor Temp >", + "openPercentage": "℃, Open", + "fullOperationTime": "Full Operation Time", + "openChannel": "Open Channel", + "closeChannel": "Close Channel", + }, + status:{ + "equipmentStatus": "Status Display", + "inletPump": "Inlet Pump", + "solenoidValveControl": "Solenoid Valve Control Channel", + "soilSensorData": "Soil Temperature & Humidity Sensor Data", + "soilTempSensor": "{index}# Soil Temperature Sensor", + "soilMoistureSensor": "{index}# Soil Moisture Sensor", + "irrigationRemainingTime": "Irrigation Remaining Time", + "currentIrrigationVolume": "Current Irrigation Volume", + "startupMethod": "Startup Method", + "executingGroupNumber": "Executing Group Number", + "instantFlowRate": "Instant Flow Rate", + "externalControlSignal": "External Control Signal {index}#", + "externalControlSignal1": "Ext {index}#", + "startupMethods": { + "manual": "Manual Start", + "externalControl": "External Control Mode", + "lightAccumulation": "Light Accumulation Start", + "soilMoistureControl": "Soil Moisture Control", + "interval": "Interval Start", + "timed": "Timed Start", + "none": "None" + }, + "irrigationStatus": "Irrigation Status", + "remainingTime": "Remaining Time", + "instantFlow": "Instant Flow Rate", + "currentVolume": "Current Volume", + "startupMethod": "Startup Method", + "formulaNumber": "Formula Number", + "executingGroup": "Executing Group", + "inletPump": "Inlet Pump", + "fertilizerPump": "Fertilizer Pump", + + "fertilizerIntensity": "Fertilization Intensity", + "targetPH": "Target PH", + "measuredPH": "Measured PH", + "measuredEC": "Measured EC", + "targetEC": "Target EC", + + "solenoidValveStatus": "Solenoid Valve Status", + + "sensorData": "Sensor Data", + "value": "Value", + "adValue": "AD Value", + + "fertilizationSpeed": "Fertilization Speed", + + "fertilizerTypes": { + "a": "A", + "b": "B", + "c": "C", + "d": "D", + "e": "E", + "f": "F", + "g": "G", + "acid": "Acid", + "acidFertilizer": "Acid" + }, + "sensorTypes": { + "ph": "PH Sensor", + "ec": "EC Sensor", + "generic": "Sensor {index}" + }, + "controlSignals": { + "highLevel": "High Level", + "mediumLevel": "Medium Level", + "lowLevel": "Low Level", + "motor": "Motor Signal" + } + }, + + "sunroofControl": { + "tempControlPrecision": "Temp Control Precision", + "calculationCycle": "Calculation Cycle", + "proportionalCoefficient": "P Coefficient", + "integralCoefficient": "I Coefficient", + "pidResult": "PID Result", + "ventilationStages": "Vent Stages", + "fanOperationAngle": "Open Angle When Fan Running", + "outdoorTempLimit": "Disable when outdoor temp < ", + "outdoorTempLimit1": "°C", + + "windSpeedLimit": "Close when wind > ", + "windSpeedLimit1": "m/s. Wind Protection Reset Time", + "dehumidificationFunction": "Enable Dehumidification", + "rainProtection": "Enable Rain Protection", + "rainGaugeDetection": "Enable Rain Gauge Detection", + "humidity": { + "condition": "When humidity > (target + hysteresis ", + "action": "Open angle for dehumidification: ", + }, + "tempDehumidification": { + "condition": "When temp < target by ", + "actionOpen": "Start intermittent dehumidification: on ", + "actionClose": "mins, off ", + }, + "tempLimit": { + "condition": "Disable dehumidification when indoor temp < ", + "action": "°C" + }, + "rainDetectionTime": "Rain Detection Time" + }, + "synthesisCon": { + "title": "Sensor Input Synthesis", + "category": "Category", + "illuminance": "Illuminance", + "soilTemp": "Soil Temp", + "soilMoisture": "Soil Moisture", + "nutrientPH": "Nutrient PH", + "nutrientEC": "Nutrient EC", + "waterTemp": "Water Temp" + }, + + "systemSet": { + "title": "System Parameters", + "importSettings": "Import Settings", + "exportSettings": "Export Settings", + "softwareVersion": "Software Version", + "controllerStatus": "Controller Status", + "remainingUsageTime": "Remaining Usage Time", + "daysUnit": "days", + "signalQuality": "Signal Quality", + "simCard": "SIM", + "network4G": "4G", + "ipAddress": "IP", + "iccid": "ICCID", + "instructions": { + "network": "4G:=0,No network;=2,2G network;=4,4G network", + "sim": "SIM:=0,Normal;=1,No SIM;=2,Abnormal (Network registration failed)", + "signal": "Signal:CSQ<11 Poor;1118 Stable (Max 31)" + }, + "memo": "Memo", + "normal": "Normal", + "pendingLock": "Pending Lock", + "locked": "Locked", + }, + + + target:{ + "targetCo2Page": "Target CO2 Setting", + "timePeriodStart": "# Time Period Start:", + "transitionTime": "Transition Time (minutes):", + "targetCo2": "Target CO2", + }, + upload:{ + "dataUpload": "Data Upload", + "envDataUploadTime": "Environmental Data Upload Interval", + "weatherStation": "Weather Station", + "targetValue": "Target Value", + "channelSensor": "Channel Sensor", + "fertigationParams": "Fertigation Parameters", + "sensorTypes": { + "outdoorAvgTemp": "Outdoor Avg Temperature Sensor", + "outdoorAvgHumidity": "Outdoor Avg Humidity Sensor", + "outdoorAvgLight": "Outdoor Avg Light Sensor", + "outdoorAvgWindSpeed": "Outdoor Avg Wind Speed Sensor", + "outdoorAvgWindDirection": "Outdoor Avg Wind Direction Sensor", + "outdoorAvgSnowRain": "Outdoor Avg Snow/Rain Sensor", + "outdoorAvgRainfall": "Outdoor Avg Rainfall Sensor", + "weatherStationVoltage": "Weather Station Voltage(V)", + "weatherStationRSSI": "Weather Station RSSI", + "weatherStationSNR": "Weather Station SNR", + "outdoorAvgDewPoint": "Outdoor Avg Dew Point", + "outdoorAvgCO2": "Outdoor Avg CO2 Sensor", + "outdoorAvgSoilTemp": "Outdoor Avg Soil Temperature Sensor", + "outdoorAvgSoilMoisture": "Outdoor Avg Soil Moisture Sensor", + "outdoorAvgPressure": "Outdoor Avg Atmospheric Pressure Sensor", + "outdoorAvgSolarRadiation": "Outdoor Avg Solar Radiation Sensor", + "avgTemp": "# Avg Temperature Sensor", + "avgHumidity": "# Avg Humidity Sensor", + "avgLight": "# Avg Light Sensor", + "avgCO2": "# Avg CO2 Sensor", + "avgSoilTemp": "# Avg Soil Temperature Sensor", + "avgSoilMoisture": "# Avg Soil Moisture Sensor", + "avgPH": "# Avg PH Sensor", + "avgEC": "# Avg EC Sensor", + "waterTemp": "# Water Temperature Sensor", + "targetTemp": "Target Temperature Sensor", + "targetHumidity": "Target Humidity Sensor", + "targetCO2": "Target CO2 Sensor", + "ph": "Fertigation PH", + "ec": "Fertigation EC", + "waterTemp": "Water Temperature Sensor", + "targetPH": "Target Fertigation pH Data", + "targetEC": "Target Fertigation EC Data", + "avgPH": "Average Fertigation pH Data", + "avgEC": "Average Fertigation EC Data", + "ph": "# Fertigation pH Data", + "ec": "# Fertigation EC Data", + "channel": "# Channel Sensor Data", + "waterTemp": "# Water Temp Sensor Data" + } + }, + "wetFan": { + "pageName": "Pad-Fan System Control", + "manualHint": "Fans will start when manually turned on", + "workingHours": "Working Hours", + "modeSelection": "Operation Mode Selection", + "mode1": "Mode 1", + "mode2": "Mode 2", + "maxLevel": "Max Operation Level", + "adjustTime": "Adjustment Interval", + "conditions": { + + "maxCooling": "Start fans when vents reach max cooling capacity", + "dryDelay": "Post-operation drying time", + "tempPrecision": "Temperature hysteresis band", + "tempTrigger": { + "prefix": "Open vent windows when room temp > ", + "middle": ". Hysteresis: ", + "suffix": "" + }, + "outdoorTempLimit": { + "prefix": "Disable fans when outdoor temp < ", + "suffix": "" + }, + "tempExceed": { + "prefix": "Start fans directly when temp exceeds target by ", + "suffix": "" + }, + "fanStartCondition": { + "prefix": "Start fan ", + "middle": " when temp > (", + "suffix": " + hysteresis)" + } + }, + "pump": { + "pump1": "Water Pump 1", + "pump2": "Water Pump 2", + "coolingLevel": { + "prefix": "Start pump ", + "middle": " at cooling level ", + } + }, + "window": { + "window1": "Vent Window 1 Mode", + "window2": "Vent Window 2 Mode", + "tempTrigger": { + "prefix": "Open when room temp > ", + "middle": ". Hysteresis: ", + "suffix": "" + }, + "closeDelay": { + "prefix": "Close windows ", + "suffix": " mins after fan stops" + } + } + }, + + "downtake": { + "pageTitle": "Downtake", + "settings": "Downtake Activation Settings", + "conditions": { + "outdoorTemp": { + "prefix": "Open downtake when outdoor temp > ", + "suffix": "°C" + }, + "upperVentFullOpen": { + "prefix": "Open downtake if temperature not reduced within ", + "suffix": " mins with upper vents fully open (100%)" + } + }, + "parameters": { + "travelTime":"Travel time", + "openChannel": "Open channel", + "closeChannel":"Close channel", + } + }, + + "geothermalFan": { + "pageTitle": "Geothermal Fan", + "settings": "Geothermal Fan Activation Settings", + "conditions": { + "startCondition": { + "prefix": "Start when Zone 1 avg temp > ", + "suffix": "°C" + }, + "hysteresis":"Hysteresis band", + "channelControl":"Output channel control", + } + }, + + "rollByRoll": { + "pageTitle": "Rolling Curtain", + "sunrise": "Sunrise", + "sunset": "Sunset", + "settings": "Rolling Curtain Activation Settings", + "conditions": { + "lightHigh": { + "prefix": "Roll up when outdoor light > ", + "suffix": "klx" + }, + "sunrise": { + "prefix": "Roll up ", + "suffix": "mins after sunrise" + }, + "tempLow": { + "prefix": "Unroll when Zone 1 temp < ", + "suffix": "°C" + }, + "sunsetBefore": { + "prefix": "Unroll ", + "suffix": "mins before sunset" + } + }, + "travelTime":"Curtain travel time", + "windowTravelTime":"Window opening travel time", + "openChannel": "Unroll output channel", + "closeChannel": "Roll up output channel", + }, + snowRemoval: { + title: "Snow Removal", + effectivenessSetting: "Snow Removal Effectiveness Setting", + autoSnowRemoval: "Auto Snow Removal", + oneClickSnowRemoval: "One-click Snow Removal", + start: "Start", + stop: "Stop", + duration: "Snow Removal Duration", + channelControl: "Turn Output Channel On/Off" + }, + + uptake: { + title: "Windward Opening", + effectivenessSetting: "Windward Opening Effectiveness Setting", + indoorTemp: "When Indoor #1 Average Temperature Reaches", + startSuffix: "°C to Start", + hysteresisBand: "Hysteresis Band", + stepOpenPrefix: "Steps to Open", + stepInterval: "Step Opening Interval Time", + calculatedMaxOpening: "Calculated Maximum Opening", + windProtection: "High Wind Protection Active", + rainProtection: "Rain Protection", + rainGaugeDetection: "Rain Gauge Detection", + maxOpening: "Maximum Opening", + openingCoefficient: "Opening Coefficient", + travelTime: "Windward Opening Travel Time", + openChannel: "Open Channel", + closeChannel: "Close Channel", + windSpeedThreshold: "When Windward Wind Speed Exceeds", + forbidOpenSuffix: "m/s, Forbid Window Opening", + windProtectionTime: "High Wind Protection Duration", + rainDetectionTime: "Rain Detection Duration" + }, + + waterPump: { + title: "Heating Water Pump", + daytimeTemp: "When Indoor #1 Average Temperature (Daytime) is Above", + nightTempBelow: "When Indoor #1 Average Temperature (Night) is Below", + nightTempAbove: "When Indoor #1 Average Temperature (Night) is Above", + startSuffix: "°C to Start", + hysteresisBand: "Hysteresis Band", + channelControl: "Turn Output Channel On/Off" } }; diff --git a/src/i18n/lang/zh.js b/src/i18n/lang/zh.js index 4da2224b..8fe0e09c 100644 --- a/src/i18n/lang/zh.js +++ b/src/i18n/lang/zh.js @@ -19,7 +19,7 @@ module.exports = { { name: '小于等于(<=)', value: 4 } ], // 各个input的placeholder - placeholder:{ + placeholder: { setValue: '请输入设定值', deviceCodePlaceholder: "请输入设备code码", @@ -32,29 +32,88 @@ module.exports = { recipePlaceholder: "施肥{n}", groupPlaceholder: "灌溉组{n}", externalPlaceholder: "外控设备{n}", - smartPlaceholder:"智能灌溉{n}", + smartPlaceholder: "智能灌溉{n}", + deviceTypePlaceholder: "请选择设备类型", + deviceAlias: "请输入设备别名", + newSortOrder: "请输入新排序", + nicknameQuery: "输入昵称查询", + username: "请输入用户名", + phone: "请输入手机号", + nickname: "请输入昵称", + oldPassword: "请输入原密码", + newPassword: "请输入新密码", + confirmPassword: "请输入确认密码", + role: "请选择角色" }, - nameText:{ - sortOrder: "排序", + + // 各个消息提示 + message: { + delete: '删除成功', + add: '添加成功', + change: '修改成功', + loading: '加载中', + uploading: '上传中', + deviceCodeRequired: "设备code码还未填写", + deviceTypeRequired: "设备类型还未选择", + deviceNameRequired: "设备名称还未填写", + usernameRequired: "用户名还未填写", + phoneRequired: "手机号还未填写", + nicknameRequired: "昵称还未填写", + roleRequired: "角色还未选择", + deviceRequired: "请添加一个设备", + passwordMismatch: "两次密码不一致", + sortRequired: "排序还未填写" + }, + text: { + sortOrder: "排序", operations: "操作", edit: "编辑", delete: "删除", deleteContent: "这一段内容确定删除吗?", deviceCode: '设备code码', deviceName: "设备名称", - }, - // 各个消息提示 - message:{ - delete:'删除成功', - add:'添加成功', - change:'修改成功', - loading:'加载中', - uploading:'上传中', + deviceType: "设备类型", + add: '添加', + add1: '新增', + search: "查询", + download: '下载', + statistics: '统计', + serialNumber: "序号", + deviceAlias: "设备别名", + subDeviceName: "子设备名称", + id: "ID", + "valid": "有效", + "invalid": "无效", + "autoRun": "自动运行", + "manualOn": "手动打开", + "manualOff": "手动关闭", + "manualSet": "手动设置", + "selection": "工作方式选择", + expand: '展开', + collapse: '收拢', + stop: '停止', + autoSet: '自动设置', + min: '分钟', + sec: '秒', + seconds: '秒', + turnOn: '开启', + turnOff: '关闭', + minutes: '分钟', + collapseIn: '分', + degrees: '度', + return: "返回", + auto: '自动', + manual: '手动启动', + "openWindow": "开窗", + "closeWindow": "关窗", + Configuration: '参数配置', }, // 公共页面 index: { - noData:'无数据', + noData: '无数据', confirm: '确定', + + confirm1: '确 认', cancel: '取消', cancel1: '取 消', // header @@ -78,7 +137,7 @@ module.exports = { pestMonitor: "虫情", // management - mgmt:'管理', + mgmt: '管理', userMgmt: "用户管理", adminMgmt: "管理员管理", deviceStatusConfig: "控制器设备状态值设置", @@ -112,17 +171,17 @@ module.exports = { cardExpiryWarning: `
{deviceName}卡号为{iccid},物联网卡即将到期,剩余时间{daysDifference}天,请联系管理员。
`, notification: '提示', }, -// 设定值页面的tab + // 设定值页面的tab setParams: { title: '设定值参数', statusDisplay: '{deviceName}状态显示', - formulaSettings: '施肥机配方设置', - irrigationGroupConfig: '灌溉组配置', - intrinsicParams: '固有参数', - internalPIDConfig: '厂家内部PID配置', - systemParamsConfig: '系统参数配置', - sensorChannelConfig: '传感器通道配置', - dataUpload: '数据上传', + formulaSettings: '施肥机配方设置', + irrigationGroupConfig: '灌溉组配置', + intrinsicParams: '固有参数', + internalPIDConfig: '厂家内部PID配置', + systemParamsConfig: '系统参数配置', + sensorChannelConfig: '传感器通道配置', + dataUpload: '数据上传', irrigationGroups: [ '1#灌溉组配置', '2#灌溉组配置', '3#灌溉组配置', '4#灌溉组配置', '5#灌溉组配置', '6#灌溉组配置', '7#灌溉组配置', '8#灌溉组配置', @@ -181,8 +240,8 @@ module.exports = { smsAlarm: '短信报警', viewAllData: '查看全部实时数据', deviceStatus: '设备运行状态', - fault:'故障', - iccid:'卡号', + fault: '故障', + iccid: '卡号', sunrise: '日出', sunset: '日落', batteryVoltage: '无线电池电压', @@ -213,7 +272,7 @@ module.exports = { openWindow: '正向开窗', closeWindow: '反向关窗' }, - dialog:{ + dialog: { title: '请选择要显示的设备', choose: '请选择', confirm: '确 认' @@ -249,7 +308,7 @@ module.exports = { west: '西', northwest: '西北' }, - + }, // 历史数据/图库分析 imageGallery: { @@ -270,25 +329,25 @@ module.exports = { imageList: '图片列表', download: "下载", dataStatistics: "数据统计", - time: "时间", - name: "名称", - difference: "差值", - max: "最大值", - min: "最小值", - avg: "平均值", - return: "返回", + time: "时间", + name: "名称", + difference: "差值", + max: "最大值", + min: "最小值", + avg: "平均值", + return: "返回", }, // 视频监控 videoMonitoring: { title: "视频监控", - topLeft: "左上", - topRight: "右上", - bottomLeft: "左下", - bottomRight: "右下", - zoomIn: "放大+", - zoomOut: "缩小-", - focusNear: "近焦距", - focusFar: "远焦距" + topLeft: "左上", + topRight: "右上", + bottomLeft: "左下", + bottomRight: "右下", + zoomIn: "放大+", + zoomOut: "缩小-", + focusNear: "近焦距", + focusFar: "远焦距" }, // 大数据设备信息 dataDevice bigDataDevice: { @@ -338,15 +397,1033 @@ module.exports = { statusPageName: "施肥机状态页名称", cameraName: "摄像机名称", cameraChannel: "摄像机通道号", - + fertilizationRecipes: "施肥配方1-8", irrigationGroups: "灌溉组1-8", irrigationGroups9_16: "灌溉组9-16", externalDevices: "外控设备1-4", smartIrrigation: "智能灌溉1-8", smartIrrigation9_16: "智能灌溉9-16", - + noteText: "如果有摄像机则每小时都会定时更新小程序摄像机主页面图片,如果没有摄像机则可以自定义更改图片地址信息。" } + }, + // 设备管理deviceManage + deviceManage: { + title: "设备管理", + search: { + username: "用户名查询", + deviceCode: "设备code码查询", + }, + tableHeaders: { + + cameraName: "设备关联摄像头名称", + cameraChannel: "设备关联摄像头通道", + username: "设备关联用户名称", + permission: "权限", + }, + dialogs: { + permissionManagement: "控制器权限管理", + addDeviceTitle: "添加设备", + + cameraName: "关联摄像头名称", + cameraChannel: "关联摄像头通道", + addStandardController: "添加标准控制器" + }, + deviceTypes: { + controller: "控制器", + fertilizer: "施肥机", + weatherStation: "气象站", + smartController: "智能灌溉控制器", + dataCollector: "数据采集器" + }, + }, + + deviceStatus: { + title: "设备状态管理", + title1: "设备状态设备", + }, + mobileControl: { + title: "手机控制模块信息", + tableHeaders: { + planName: "规划名称", + controlName: "手机控制名称", + }, + placeholders: { + controlName: "请输入手机控制名称" + }, + }, + userManagement: { + title: "用户信息管理", + tableHeaders: { + username: "用户名", + nickname: "昵称", + phone: "手机号", + operations: "操作", + edit: "编辑", + changePassword: "修改密码", + deviceCode: "设备code码", + deviceType: "设备类型", + }, + + dialogs: { + changePassword: "修改密码", + addDevice: "添加设备" + }, + roles: { + admin: "管理员", + user: "用户" + }, + + }, + deviceBinding: { + title: "设备绑定气象站数据", + tableHeaders: { + deviceCode: "关联气象站设备code码", + stationName: "关联气象站名称", + }, + placeholders: { + selectDeviceCode: "请选择气象站设备code码", + enterStationName: "请输入气象站名称" + }, + }, + + // 设定值 + // 空调 + "air": { + "tempTrigger": "手动开启空调的温度", + "humidityTrigger": "手动开启空调的湿度", + "zoneSelection": "手自动开启几区空调", + "fanSpeed": "空调的风速", + "mode": "空调的模式", + "heatingPeriod": "制热时段启用", + "coolingPeriod": "制冷时段启用", + "workingHours": "工作时段", + "pidSampling": "空调PID采样时间", + "proportional": "比例调节系数", + "integral": "积分调节系数", + "derivative": "微分调节系数", + "tempDiff": "空调停机温度差值", + "humidityDiff": "空调停机湿度差值", + "modeSwitch": "空调制冷,制热切换时间", + "tempTolerance": "冷暖模式温度允许误差值", + "priority": "优先冷暖风机启动", + "fallback": "分钟后启动空调", + "closeSkylight": "空调运行时,关闭天窗;", + "closeVentilation": "空调运行时,关闭风机,湿帘;", + "circulationFan": "空调运行时开启环流风扇。", + "coolHeatMode": "冷暖模式", + "tips": { + "pidFormula": "(比例需求=【目标温度-实时温度】*10*比例调节系数)", + "pidFormula2": "(积分需求=累计积分*10*积分调节系数)", + "pidFormula3": "(微分需求=(这次差值-上次差值)*10*微分调节系数)", + "pidSummary": "总PID输出=比例需求+积分需求+微分需求。(>=10000开始调节)", + "heatingStop": "加热时,实时温度>目标温度+空调停机温度差值,空调停机", + "coolingStop": "制冷时,实时温度<目标温度-空调停止温度差值,空调停机", + "dehumidifyStop": "实时温度<目标温度-空调停机温度差值,空调停机", + "capacityWarning": "冷暖风机达到最大输出能力后,仍然达不到目标值" + }, + "modes": { + "auto": "自动模式", + "cool": "制冷模式", + "heat": "制热模式", + "dry": "除湿模式", + "fan": "送风模式", + "coolHeat": "冷暖模式" + }, + "fanSpeeds": { + "autoAdjust": "自动调整风速", + "level1": "1级风速", + "level2": "2级风速", + "level3": "3级风速", + "level4": "4级风速", + "level5": "5级风速", + "level6": "6级风速" + } + }, + // 报警设置 + "alarm": { + "title": "报警设置", + "channel": "报警通道", + "temperature": { + "selectRealTime": "报警温度{index}的实时温度选择", + "option1High": "选项一:温度高于目标值", + "option2Low": "选项二:温度低于目标值", + "option3High": "选项三:温度高于", + "option4Low": "选项四:温度低于", + "highAlarm": "℃,高温报警。", + "lowAlarm": "℃,低温报警。", + "average": "{index}#平均温度", + "sensor": "{index}#温度传感器" + }, + "humidity": { + "selectRealTime": "报警湿度{index}的实时湿度选择", + "option1High": "选项一:湿度高于目标值", + "option2Low": "选项二:湿度低于目标值", + "option3High": "选项三:湿度高于", + "option4Low": "选项四:湿度低于", + "highAlarm": "%RH,高湿报警。", + "lowAlarm": "%RH,低湿报警。", + "average": "{index}#平均湿度", + "sensor": "{index}#湿度传感器" + }, + + }, + "circulation": { + "period1": "时段1", + "period2": "时段2", + "period3": "时段3", + "period4": "时段4", + "highHumidity": "湿度高于", + "startFan": "启动环流风扇", + "controlPrecision": "控制精度", + "co2Supplement": "CO2补气时,同时运行环流风扇。", + "humidifying": "加湿时,同时运行环流风扇。", + "fanOperation": "风机运行时,禁止开环流风扇。", + "start": "开启", + "onDuration": "分,关闭", + "offDuration": "分,进行间隔工作。" + }, + CO2: { + lightSource: '光照来源选择', + lightConfirmTime: '光照确定时间', + minutes: '分钟。', + workLimit: '补气工作限制', + lightGreaterThan: '光照大于', + allowSupplement: '允许补气。', + indoorTempGreaterThan: '室内温度大于', + co2ConcentrationBelow: '二氧化碳浓度低于', + startSupplement: '开始补气。', + co2ConcentrationAbove: '二氧化碳浓度高于', + stopSupplement: '停止补气。', + turnOn: '开启', + seconds: '秒', + turnOff: '关闭', + intervalSupplement: '进行间隔补气。', + outdoor: '室外光照', + indoor: '室内光照' + }, + coercionMist: { + indoorTempHigher: '室内温度高于目标温度', + openHighPressureMist: '度,开启高压微雾降温。', + intervalWork: '进行间隔工作。', + indoorHumidityLower: '室内湿度小于目标值,开启高压微雾加湿。', + indoorHumidityHigher: '室内湿度大于(目标湿度+滞回带', + closeHighPressureMist: '%),关闭高压微雾。' + }, + + electromagnetic: { + manualValveTime: '手动开启阀门的时间', + operationMode: '运行模式选择(2选1)', + weekDays: { + sun: '周日', + mon: '周一', + tue: '周二', + wed: '周三', + thu: '周四', + fri: '周五', + sat: '周六' + }, + timeSegment: '时间段启动:每次灌溉时长', + timeRange: '时间段', + minutes: '分', + startTimes: '时间段里启动次数', + soilSensor: '土壤传感器', + validDetectionTime: '有效检测时间段', + minSoilMoisture: '最低土壤湿度', + maxSoilMoisture: '最高土壤湿度', + irrigationDurationLimit: '灌溉时长上限', + Interval: '间隔模式启动', + Soil: '土壤湿度传感器启动' + }, + + exitSettings: { + channelAlarmSettings: '通道报警设置', + tempHigherThanTarget1: '温度高于目标1', + tempLowerThanTarget1: '温度低于目标1', + tempHigherThanTarget2: '温度高于目标2', + tempLowerThanTarget2: '温度低于目标2', + humidityHigherThanTarget1: '湿度高于目标1', + humidityLowerThanTarget1: '湿度低于目标1', + humidityHigherThanTarget2: '湿度高于目标2', + humidityLowerThanTarget2: '湿度低于目标2', + highTempAlarmChannel: '℃,高温报警输出通道', + lowTempAlarmChannel: '℃,低温报警输出通道', + highHumidityAlarmChannel: '%RH,高湿报警输出通道', + lowHumidityAlarmChannel: '%RH,低湿报警输出通道' + }, + facadeInsulation: { + insulationStartTime: '保温开始时间', + insulationEndTime: '保温结束时间', + whenLightGreaterThan: '当光照大于', + advance: '提前', + minutesCollapseFacade: '分钟收拢立面保温' + }, + fan: { + fanGroup1: '一号风组', + fanGroup2: '二号风组', + fanGroup3: '三号风组', + fanGroup4: '四号风组', + fanGroup5: '五号风组', + fan1: '一号风机', + fan2: '二号风机', + fan3: '三号风机', + fan4: '四号风机', + fan5: '五号风机', + tempConfirmationTime: '温度确认时间', + channelInputSignalType: '通道输入信号类型', + fanTempControlWidth: '风机控温宽度', + indoorAvgTempHigherThan: '室内1#平均温度大于', + startFan: '℃启动', + fanChannel: '风机通道' + }, + forceOutput: { + title: '强制输出参数', + testModeSelection: '测试模式选择', + testMode: '测试模式', + nonTestMode: '非测试模式', + }, + formula: { + parameters: '参数', + formulaMode: '配肥模式选择', + flowRatioMode: '流量定比例模式', + targetPH: '目标PH值', + targetEC: '目标EC值', + fertilizerType: '肥料种类', + waterToFertilizerRatio: '清水与肥料的倍数', + fixedIntakeIntensity: '固定吸肥强度', + targetPHECMode: '目标PH、EC模式', + fertilizerChannelMax: '肥料通道最大值', + initialPH: 'PH初始值', + initialEC: 'EC初始值', + initialTime: '初始时间', + formulaModes: { + flowRatio: '流量定比例', + fixedIntakeFlow: '固定吸肥流量', + phEcPid: 'PH,EC模式(PID调节)' + }, + fertilizerOptions: { + Fertilizer: '{n}肥选择', + acid: '酸 选择', + ecMaxDeviation: 'EC允许最大偏差', + phMaxDeviation: 'PH允许最大偏差', + targetValueLimit: '目标值限制' + }, + + }, + heatFan: { + manualOperationTip: '手动打开时冷暖风机启动', + workingPeriod: '工作时段', + fanMode: '冷暖风机模式', + maxFanGear: '冷暖风机最高档位', + max4: '(最大为4档)', + heatingMode: '加热模式:', + coolingMode: '制冷模式:', + tempBelowTarget: '温度低于目标值', + tempAboveTarget: '温度高于目标值', + cannotReachTarget: '达不到目标值,', + startHeating: '℃时,启动1档加热。', + startCooling: '℃时,启动1档制冷。', + decreaseGear: '℃时,减档', + increaseGear: '秒加档。', + operationRules: { + closeSkylight: '冷暖风机运行时,关闭天窗。', + closeFanPad: '冷暖风机运行时,关闭风机,湿帘。', + openCirculationFan: '冷暖风机运行时,开启环流风扇。' + }, + gear0: '0', + gear1: '{index}档', + }, + + insizeSunshade: { + daytimeShadingPeriod: '白天遮阳时段限制', + outdoorLightGreaterThan: '室外光照大于', + lightConfirmationTime: '光照确认时间', + lightHysteresisBand: '室外光照滞回带', + indoorTempHigherThan: '室内温度高于目标温度', + nightInsulationPeriod: '夜间保温时段', + KLux: '(KLux)时', + dehumidifyAngle: '通风窗除湿时,内遮阳开启角度', + lightGreaterThan: '光照大于', + advanceCollapse: '分钟收拢内遮阳。', + nightInsulationEnd: '夜间保温结束时', + stepsToCollapse: '步收拢遮阳网,间隔时间', + degrees: '度', + collapseIn: '分', + expandInnerShade: '展开内遮阳。', + collapseInnerShade: '收拢内遮阳。', + shadingNet: '遮阳网' + }, + internalInsulation: { + nightInsulationPeriod: '夜间保温时段', + atNightInsulationEnd: '夜间保温结束时', + stepsToCollapse: '步收拢内保温,间隔时间', + indoorTempHigherThan: '室内温度高于目标温度', + expandInnerInsulation: '展开内保温', + dehumidifyAngle: '通风窗除湿时,内保温开启角度', + whenLightGreaterThan: '光照大于', + advanceCollapse: '分钟收拢内保温', + when: '时', + advance: '提前', + }, + intrinsicParameterSoil: { + title: '设备固有参数', + soilSensorCount: '土壤传感器安装数量:', + waterFlowPulse: '出水流量脉冲(P/L):', + groupTempSensor: '{index}#灌溉组土壤温度传感器选择', + groupHumiditySensor: '{index}#灌溉组土壤湿度传感器选择', + soilTemp: '#土壤温度', + soilHumidity: '#土壤湿度', + passwordDialog: { + title: '请输入密码', + passwordLabel: '密码:', + }, + soilTempOptionLabel: '{index}#土壤温度', + soilHumidityOptionLabel: '{index}#土壤湿度', + averageSoilHumidity: '平均{index}#土壤湿度' + }, + + + intrinsicParameter: { + title: '设备固有参数', + solenoidValve: { + sensorSelection: '{index}#电磁阀自控传感器选择', + outputChannel: '输出通道:' + }, + wetCurtainPump: '湿帘水泵{index}组输出通道:', + circulatingFan: '环流风扇{index}组输出通道:', + highPressureMist: '高压微雾{index}组输出通道:', + co2Supplement: 'CO2补气{index}输出通道:', + heatingCoolingFan: '冷暖风机{index}组输出通道:', + axialFan: '轴流风机{index}组输出通道:', + fillLight: '补光灯{index}组输出通道:', + + deployOutput: '展开输出通道:', + retractOutput: '收拢输出通道:', + ventilationWindow: { + fullTravelTime: '{index}#通风窗全程运行时间', + openOutput: '打开输出通道:', + closeOutput: '关闭输出通道:', + orientation: '通风窗朝向', + openingBaseValue: '开度基础值:' + }, + innerShade: { + fullTravelTime: '{index}#内遮阳全程运行时间', + }, + outerShade: { + fullTravelTime: '{index}#外遮阳全程运行时间', + }, + innerInsulation: { + fullTravelTime: '{index}#内保温全程运行时间', + }, + wetCurtainWindow: { + fullTravelTime: '{index}#湿帘窗全程运行时间', + }, + verticalInsulation: { + fullTravelTime: '立面保温{index}全程运行时间', + }, + deviceProtection: '所有设备的行程保护时间', + deviceLocation: { + title: '设备位置', + longitude: '经度', + latitude: '维度' + }, + + }, + + irrigateSetSoil: { + label: '控制模式选择', + smartGroup: '{index}#智能灌溉组', + manualStartTime: '手动启动时间', + autoRun: { + startDate: '自动运行起始日期', + year: '年', + month: '月', + day: '日', + intervalDays: '间隔灌溉天数' + }, + rainProtection: { + label: '下雨禁止灌溉功能', + note: '(自动模式下生效)', + threshold: '雨量达到', + stopText: 'mm,本灌溉组停止灌溉。' + }, + valveControl: '电磁阀控制通道', + followValve: '本灌溉组启动追随阀', + rotationMode: '轮灌模式', + fertilizerMode: { + label: '施肥机自动运行模式选择', + placeholder: '选择设定弹窗', + timePoint: '预定时间点启动', + timeRange: '预定时间段启动', + soilSensor: '依据土壤传感器', + lightSensor: '依据光照传感器', + externalSignal: '依据外控信号' + }, + timePointStart: { + controlParamsConfig: '{index}#灌溉组控制参数配置', + title: '时间点启动', + durationLabel: '每次灌溉时长', + startTimes: '启动时间点', + }, + intervalStart: { + title: '间隔启动', + durationLabel: '每次灌溉时长', + startTimes: '启动时间点', + timesInRange: '时间段里启动次数', + }, + lightAccumulation: { + title: '光积累启动', + validTimeLabel: '有效检测时间段', + durationLabel: '启动时灌湛时长', + thresholdLabel: '光积累启动值', + minLightLabel: '最小光照值', + minIntervalLabel: '最短灌溉间隔', + maxIntervalLabel: '最长灌溉间隔', + }, + soilSensor: { + title: '土壤传感器', + minMoistureLabel: '最低土壤湿度', + maxMoistureLabel: '最高土壤湿度', + maxDurationLabel: '灌溉时长上限', + }, + externalControl: { + title: '外控模式', + validTimeLabel: '有效时间:', + digitalControl: '外部数字量控制方式:', + channelLabel: '外部输入通道', + levelControl: '液位传感器控制方式:', + levelChannelLabel: '液位信号通道', + startLevelLabel: '启动低液位值', + stopLevelLabel: '停止高液位值', + }, + + }, + irrigateSet: { + irrigation: "灌溉", + clearWaterTimes: "次清水,间隔灌溉", + fertilizationTimes: "次施肥。", + useFormula: "施肥时采用", + formulaNumber: "号配方。", + reachMidLevel: "达到中液位混合", + solenoidValveOutput: "(秒)电磁阀开始输出", + solenoidValveChannel: "电磁阀控制通道", + activateFollowValve: "本灌溉组启动追随阀", + options: { + noFertilizer: "灌溉清水时不启动施肥机", + emptyTank: "灌溉结束时,清空混液罐", + rotationMode: "轮灌模式", + noInletPump: "灌溉清水时不启动进水泵" + } + }, + + LED: { + manualStartTip: "手动启动时开灯", + highTempAlert: "高温报警时,禁止启动补光灯", + useTargetTemp1: "使用1#目标温度", + useTargetTemp2: "使用2#目标温度", + lightIntensityLimit1: "光照大于", + lightIntensityLimit2: "(KLux)时,禁止启用补光灯。", + lightConditionEnable: "光照低限条件启用", + lightIntensityLow: "光照小于", + lightIntensityHigh: "光照大于", + turnOnLights: ",开启补光灯。", + turnOffLights: ",停止补光灯。", + lightSourceSelect: "光照来源选择", + lightConfirmTime: "光照确定时间", + groupStartInterval: "多组补光灯启动时,间隔", + preventOverload: "秒顺序启动,防止同时启动瞬间功率过大", + timePeriod: `时段{index}`, + lightLowCondition: "光照低限条件", + lampNumber: `{index}#灯`, + }, + + outsizeSunshade: { + workingHours: "工作时段:", + rainPosition: "降雨时遮阳网处于的位置", + rainConfirmTime: "降雨确认时间", + outdoorLightHigh1: "室外光照大于", + outdoorLightHigh2: "(KLux)时,展开外遮阳", + outdoorLightFull: "(KLux)时,外遮阳展开 100%", + lightConfirmTime: "。光照确认时间", + lightHysteresis: "室外光照滞回带", + windSpeedHigh: "风速大于", + windProtection: "时收拢遮阳网,大风保护解除时间", + indoorTempHigh: "室内温度高于目标温度", + degree: "度,展开外遮阳。", + }, + + parameterSet: { + title: "厂家内部参数配置", + targetTempSelect: `目标温度选择`, + envTempSelect: "环境温度选择", + targetHumiditySelect: "目标湿度选择", + envHumiditySelect: "环境湿度选择", + tempSelect: "温度选择", + indoorHumiditySelect: `{index}#风扇室内湿度选择`, + curtainTempSelect: `{index}#湿帘窗温度选择`, + + highPressureMist: `{index}#高压微雾`, + + innerInsulation: `内保温{index}`, + co2Supplement: `CO2补气{index}`, + axialFan: "轴流风机", + circulationFan: "环流风机", + wetCurtainWindow: "湿帘外翻窗", + tempSourceSelect: "温度来源选择", + lightSourceSelect: "光照来源选择", + co2SensorSelect: "CO2传感器来源选择", + indoorLightSource: "室内光照来源选择", + heatingCoolingFan: "冷暖风机", + airConditioner: "空调", + humiditySourceSelect: "湿度来源选择", + fillLightIndoorLightSource: "补光灯室内光照来源选择", + outsideShade: "{index}#外遮阳", + insideShade: "{index}#内遮阳", + ventWindow: "{index}#通风窗", + avgAirTemp: `{index}#平均空气温度`, + airTemp: `{index}#空气温度`, + targetTemp: `目标温度{index}`, + + avgAirHumidity: `{index}#平均空气湿度`, + airHumidity: `{index}#空气湿度`, + targetHumidity: `目标湿度{index}`, + + avgLight: `{index}#平均光照`, + light: `{index}#光照`, + + avgCO2: `{index}#平均CO2`, + co2: `{index}#CO2`, + + curtainTempSelect: `{index}#湿帘窗温度选择` + }, + + + PIDSet: { + pageTitle: "厂家内部 PID 设置", + phSettings: "PH参数设置", + ecSettings: "EC参数设置", + proportionCoefficient: "比例系数(P)", + integralCoefficient: "积分系数(I)", + differentialCoefficient: "微分系数(D)", + integralLimit: "积分限制", + pwmCycle: "PWM周期", + calculationCycle: "计算周期", + acidSuctionChannel: "吸酸指定通道", + waterPumpPreStart: "供水泵提前启动时间", + waterFlowPulse: "出水流量脉冲", + bypassValve: "旁通灌溉阀" + }, + + sensorSet: { + pageTitle: "传感器配置界面", + sensorDescription: "传感器说明", + sensorChannel: `{index}#传感器通道`, + validity: "有效性", + sensorType: "传感器类型", + analogSensor: "(4-20ma传感器)", + selectSensorType: "选择传感器类型", + calibration: { + lowAD: "标定低点AD值", + lowData: "标定低点数据", + highAD: "标定高点AD值", + highData: "标定高点数据", + lowAD1: "低点AD值", + lowData1: "低点数据", + highAD1: "高点AD值", + highData1: "高点数据" + }, + sensorInstructions: { + title: "温室控制器匹配传感器说明", + part1: "一、温室控制器的前36个通道对应6个通讯类(有线和无线传感器通用)六参数传感器。", + parameters: `{index} 对应温度、湿度、光照、CO2、土温、土湿。`, + communicationMatch: "通信类传感器AD值匹配关系如下:", + temperature: "温度:", + humidity: "湿度:", + light: "光照:", + co2: "二氧化碳:", + soilTemp: "土温:", + soilMoisture: "土湿:", + part2: "二、37通道-40通道(通讯类土壤PH,EC二合一传感器)。", + phEcSensor: `{index}通道对应{type};`, + matchRelation: "匹配关系:", + part3: "三、41通道-48通道(8个模拟量传感器数据)。", + analogRange: "655-低量程,3276-满量程。" + }, + "intelligentIrrigationTitle": "智能灌溉控制器匹配传感器说明", + "greenhouseChannels": "一、温室控制器的前80个通道对应40个通讯类土壤温湿度传感器。", + "channelExample": "{num1} 对应{num2}土温、{num3}土湿。", + "sensorMatchingRelation": "通信类传感器AD值匹配关系如下:", + "analogChannels": "二、81通道-90通道(10个模拟量传感器数据)。", + }, + + skylight: { + "skylightRollFilm": "顶卷膜", + "windProtection": "大风保护有效", + "rainProtection": "下雨保护", + "rainBucketDetection": "有雨量桶检测", + "tempConfirmationTime": "温度确认时间", + "rollFilmCloseLimit": "卷膜关闭限制时间", + "windSpeedLimit": "风速大于多少", + "forbidOpenWindow": "m/s,禁止开窗", + "windProtectionTime": "大风保护时间", + "rainDetectionTime": "下雨检测时间", + "tempSelection": "温度选择", + "tempControlWidth": "控温宽度", + "indoorTempCondition": "室内温度 >", + "openPercentage": "℃,打开", + "fullOperationTime": "全程运行时间", + "openChannel": "打开通道", + "closeChannel": "关闭通道", + }, + status: { + "equipmentStatus": "状态显示", + "inletPump": "进水泵", + "solenoidValveControl": "电磁阀控制通道", + "soilSensorData": "土壤温湿度传感器数据", + "soilTempSensor": "{index}#土壤温度传感器", + "soilMoistureSensor": "{index}#土壤湿度传感器", + "irrigationRemainingTime": "灌溉剩余时长", + "currentIrrigationVolume": "本次灌溉量", + "startupMethod": "启动方式", + "executingGroupNumber": "执行灌溉组号", + "instantFlowRate": "瞬时流量", + "externalControlSignal": "外控信号{index}#", + "externalControlSignal1": "外控信号{index}#", + "startupMethods": { + "manual": "手动开启动", + "externalControl": "外控模式启动", + "lightAccumulation": "光照积累启动", + "soilMoistureControl": "土壤湿度控制", + "interval": "间隔启动", + "timed": "定时启动", + "none": "无" + }, + "irrigationStatus": "灌溉状态", + "remainingTime": "灌溉剩余时长", + "instantFlow": "灌溉瞬时流量", + "currentVolume": "本次灌溉量", + "startupMethod": "启动方式", + "formulaNumber": "使用灌溉配方号", + "executingGroup": "执行灌溉组号", + "fertilizerPump": "配肥泵", + + "fertilizerIntensity": "配肥强度", + "targetPH": "目标PH", + "measuredPH": "实测PH", + "measuredEC": "实测EC", + "targetEC": "目标EC", + + "solenoidValveStatus": "电磁阀状态", + + "sensorData": "传感器数据", + "value": "数值", + "adValue": "AD值", + + "fertilizationSpeed": "配肥速度", + "fertilizerTypes": { + "a": "A肥", + "b": "B肥", + "c": "C肥", + "d": "D肥", + "e": "E肥", + "f": "F肥", + "g": "G肥", + "acid": "酸", + "acidFertilizer": "酸肥" + }, + "sensorTypes": { + "ph": "PH传感器", + "ec": "EC传感器", + "generic": "传感器{index}" + }, + "controlSignals": { + "highLevel": "高液位信号", + "mediumLevel": "中液位信号", + "lowLevel": "低液位信号", + "motor": "电机信号" + } + }, + "sunroofControl": { + "tempControlPrecision": "温度控制精度", + "calculationCycle": "计算周期", + "proportionalCoefficient": "比例系数", + "integralCoefficient": "积分系数", + "pidResult": "PID计算结果", + "ventilationStages": "通风窗分阶段全部打开次数", + "fanOperationAngle": "风机运行时,通风窗打开角度", + "outdoorTempLimit": "室外温度低于", + "outdoorTempLimit1": "度时,禁止开启通风窗。", + "windSpeedLimit": "风速大于", + "windSpeedLimit1": "m/s时,关闭通风窗。大风保护解除时间", + "dehumidificationFunction": "开启通风窗除湿功能", + "rainProtection": "选择下雨保护条件有效", + "rainGaugeDetection": "选择有雨量桶检测条件有效", + "humidity": { + "condition": "实测湿度大于(目标湿度+滞回带", + "action": "通风窗除湿时开启角度", + }, + "tempDehumidification": { + "condition": "实测温度比目标温度低", + "actionOpen": "将进行间断除湿开", + "actionClose": "分钟,关", + }, + "tempLimit": { + "condition": "室内温度低于", + "action": "度,禁止开窗除湿" + }, + "rainDetectionTime": "下雨检测时间" + }, + + "synthesisCon": { + "title": "传感器输入合成", + "category": "类别", + "illuminance": "光亮度", + "soilTemp": "土壤温度", + "soilMoisture": "土壤湿度", + "nutrientPH": "营养液PH", + "nutrientEC": "营养液EC", + "waterTemp": "水温" + }, + + "systemSet": { + "title": "系统参数设置", + "importSettings": "导入设定值", + "exportSettings": "导出设定值", + "softwareVersion": "软件版本号", + "controllerStatus": "控制器状况", + "remainingUsageTime": "控制器剩余使用时间", + "daysUnit": "天", + "signalQuality": "信号质量", + "instructions": { + "network": "4G:=0,无网络;=2,2G网络;=4,4G网络", + "sim": "SIM:=0,SIM卡正常;=1,无SIM卡;=2,SIM卡异常(网络注册失败)", + "signal": "信号质量:CSQ<11 信号很差;1118,信号稳定,最大是31" + }, + "memo": "备忘录", + "normal": "正常", + "pendingLock": "待锁机", + "locked": "已锁机", + "status": "施肥机状况", + "fertilizerUsageTime": "施肥机剩余使用时间", + }, + + + target: { + "targetCo2Page": "目标CO2设置", + "timePeriodStart": "#时段起始时间:", + "transitionTime": "过渡时间(分钟):", + "targetCo2": "目标CO2", + }, + upload: { + "dataUpload": "数据上传", + "envDataUploadTime": "环境数据上传时间", + "weatherStation": "气象站", + "targetValue": "目标值", + "fertigationParams": "水肥参数", + "channelSensor": "通道传感器", + "sensorTypes": { + "outdoorAvgTemp": "室外平均温度传感器", + "outdoorAvgHumidity": "室外平均湿度传感器", + "outdoorAvgLight": "室外平均光照传感器", + "outdoorAvgWindSpeed": "室外平均风速传感器", + "outdoorAvgWindDirection": "室外平均风向传感器", + "outdoorAvgSnowRain": "室外平均雨雪传感器", + "outdoorAvgRainfall": "室外平均雨量传感器", + "weatherStationVoltage": "气象站电池电压(V)", + "weatherStationRSSI": "气象站信号强度(RSSI)", + "weatherStationSNR": "气象站信噪比(SNR)", + "outdoorAvgDewPoint": "室外平均露点温度", + "outdoorAvgCO2": "室外平均CO2传感器", + "outdoorAvgSoilTemp": "室外平均土温传感器", + "outdoorAvgSoilMoisture": "室外平均土湿传感器", + "outdoorAvgPressure": "室外平均大气压传感器", + "outdoorAvgSolarRadiation": "室外平均太阳总辐射传感器", + "avgTemp": "#平均温度传感器", + "avgHumidity": "#平均湿度传感器", + "avgLight": "#平均光照传感器", + "avgCO2": "#平均CO2传感器", + "avgSoilTemp": "#平均土温传感器", + "avgSoilMoisture": "#平均土湿传感器", + "avgPH": "#平均PH传感器", + "avgEC": "#平均EC传感器", + "waterTemp": "#水温传感器", + "targetTemp": "目标温度传感器", + "targetHumidity": "目标湿度传感器", + "targetCO2": "目标CO2传感器", + "ph": "水肥PH", + "ec": "水肥EC", + "waterTemp": "水温传感器", + "targetPH": "目标水肥PH数据", + "targetEC": "目标水肥EC数据", + "avgPH": "平均水肥PH数据", + "avgEC": "平均水肥EC数据", + "ph": "#水肥PH数据", + "ec": "#水肥EC数据", + "channel": "#通道传感器数据", + "waterTemp": "#水温传感器数据" + } + }, + + "wetFan": { + "pageName": "湿帘风机控制", + "manualHint": "手动打开时风机启动", + "workingHours": "工作时段", + "modeSelection": "工作模式选择", + "mode1": "工作模式一", + "mode2": "工作模式二", + "maxLevel": "风机湿帘工作最大级数", + "adjustTime": "风机湿帘工作调整时间", + "conditions": { + + "maxCooling": "通风窗达到最大降温,启动风机条件", + "dryDelay": "湿帘结束后,风机延时吹干湿帘时间", + "tempPrecision": "控温精度滞回带", + "tempTrigger": { + "prefix": "室温大于", + "middle": "开启湿帘外翻窗降温。滞回带", + "suffix": "" + }, + "outdoorTempLimit": { + "prefix": "室外温度小于", + "suffix": "时,禁止启动风机。" + }, + "tempExceed": { + "prefix": "实测温度大于目标温度", + "suffix": "时,跳过通风窗直接启动风机。" + }, + "fanStartCondition": { + "prefix": "温度大于(", + "middle": "+控温精度滞回带)时,启动", + "suffix": "风机。" + } + }, + "pump": { + "pump1": "湿帘水泵1", + "pump2": "湿帘水泵2", + "prefix": "降温需求到达", + "middle": "级时,湿帘泵", + "suffix": "启动。" + }, + "window": { + "window1": "湿帘外翻窗1模式", + "window2": "湿帘外翻窗2模式", + "tempTrigger": { + "prefix": "室温大于", + "middle": "开启湿帘外翻窗降温。滞回带", + }, + "closeDelay": { + "prefix": "风机结束时,", + "suffix": "分钟之后关闭湿帘窗" + } + }, + + }, + "downtake": { + "pageTitle": "下风口", + "settings": "下风口有效性设置", + "conditions": { + "outdoorTemp": { + "prefix": "室外温度大于", + "suffix": "℃,打开下风口" + }, + "upperVentFullOpen": { + "prefix": "上风口全部打开 (100%) 时", + "suffix": "分钟温度降不下来,打开下风口" + } + }, + "parameters": { + "travelTime": "下风口的行程时间", + "openChannel":"打开的通道", + "closeChannel":"关闭的通道", + } + }, + + "geothermalFan": { + "pageTitle": "地热风机", + "settings": "地热风机有效性设置", + "conditions": { + "startCondition": { + "prefix": "室内1#平均温度高于", + "suffix": "℃启动" + }, + "hysteresis":"滞回带", + "channelControl": "打开或关闭输出通道", + } + }, + + + "rollByRoll": { + "pageTitle": "卷被", + "sunrise": "日出", + "sunset": "日落", + "settings": "卷被有效性设置", + "conditions": { + "lightHigh": { + "prefix": "室外光照高于", + "suffix": "klx,收拢卷被" + }, + "sunrise": { + "prefix": "日出", + "suffix": "分钟,收拢卷被" + }, + "tempLow": { + "prefix": "室内1#平均温度低于", + "suffix": "℃时,展开卷被" + }, + "sunsetBefore": { + "prefix": "日落前", + "suffix": "分钟,展开卷被" + } + }, + "travelTime":"卷被的行程时间", + "windowTravelTime": "卷被开窗的行程时间", + "openChannel": "展开的输出通道", + "closeChannel":"收拢的输出通道", + }, + snowRemoval: { + title: "除雪", + effectivenessSetting: "除雪有效性设置", + autoSnowRemoval: "自动除雪", + oneClickSnowRemoval: "一键除雪", + start: "启动", + stop: "关闭", + duration: "除雪时间", + channelControl: "打开或关闭输出通道" + }, + + uptake: { + title: "上风口", + effectivenessSetting: "上风口有效性设置", + indoorTemp: "室内1#平均温度达到", + startSuffix: "℃启动", + hysteresisBand: "滞回带", + stepOpenPrefix: "步打开", + stepInterval: "分步打开间隔时间", + calculatedMaxOpening: "计算的最大开度", + windProtection: "大风保护有效", + rainProtection: "下雨保护", + rainGaugeDetection: "有雨量桶检测", + maxOpening: "最大开度", + openingCoefficient: "开度系数", + travelTime: "上风口的行程时间", + openChannel: "打开的通道", + closeChannel: "关闭的通道", + windSpeedThreshold: "上风口风速大于多少", + forbidOpenSuffix: "m/s,禁止开窗", + windProtectionTime: "大风保护时间", + rainDetectionTime: "下雨检测时间" + }, + + waterPump: { + title: "加热水泵", + daytimeTemp: "室内1#平均温度白天时段高于", + nightTempBelow: "室内1#平均温度夜间时段低于", + nightTempAbove: "室内1#平均温度夜间时段高于", + startSuffix: "℃启动", + hysteresisBand: "滞回带", + channelControl: "打开或关闭输出通道" } + + }; diff --git a/src/router/index.js b/src/router/index.js index f4c5aad8..7c888e85 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -90,10 +90,6 @@ const routes = [ path: '/sensorSet', name: 'sensorSet', component: () => import('../views/page/sensorSet.vue') - },{ - path: '/history', - name: 'history', - component: () => import('../views/page/history.vue') },{ path: '/dataAnalysis', name: 'dataAnalysis', diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 2ba92579..cc42cff0 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -55,7 +55,6 @@ export default { } this.$bus.$on('refreshTime',(res)=>{ - console.log(res,'time'); this.time=res }) }, diff --git a/src/views/insectPest/detail.vue b/src/views/insectPest/detail.vue index 4f43d33f..325ae663 100644 --- a/src/views/insectPest/detail.vue +++ b/src/views/insectPest/detail.vue @@ -8,7 +8,7 @@ -->
-
{{$t('nameText.deviceName')}}:
+
{{$t('text.deviceName')}}:
{{detail.deviceName}}
diff --git a/src/views/insectPest/imageList.vue b/src/views/insectPest/imageList.vue index e68a954a..ccbacded 100644 --- a/src/views/insectPest/imageList.vue +++ b/src/views/insectPest/imageList.vue @@ -16,7 +16,7 @@
- 查询 + {{$t('text.search')}}
- {{ item.deviceTypeName }}
- - + - + - + - +