module.exports = { login: { title: "Login Form", login: "Login", username: "Username", password: "Password", rememberPassword: 'Remember password', loggingIn: "Logging in...", usernamePlaceholder: "Please enter username", passwordPlaceholder: "Please enter password", loginSuccess: "Login Success", }, comparisonOperators: [ { name: 'Greater than (>)', value: 1 }, { name: 'Less than (<)', value: 2 }, { name: 'Greater than or equal (>=)', value: 3 }, { name: 'Less than or equal (<=)', value: 4 } ], message: { delete: 'Delete successfully.', add: 'Added successfully', change: 'Modified successfully', loading: 'Loading', 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", fileName:'The file name cannot be empty', }, placeholder: { setValue: 'Set Value', deviceCodePlaceholder: "Please select weather station device code", statusPageNamePlaceholder: "Please enter fertilizer status page name", cameraNamePlaceholder: "Please enter camera name", cameraChannelPlaceholder: "Please enter camera channel number", 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", fileName:'Please enter the download file name.' }, 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', 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", // leftMenu home: "Home", greenhouse: "Greenhouse", fertigation: "Fertigation", smartIrrigation: "Smart Irrigation", dataCollector: "Data Collector", weatherStation: "Agro-Weather Station", pestMonitor: "Pest Monitoring", // management mgmt: 'Management', userMgmt: "User Management", adminMgmt: "Admin Management", deviceStatusConfig: "Device Status Settings", deviceSetConfig: "Device Parameter Settings", deviceInfoMgmt: "Device Management", weatherBinding: "Weather Data Binding", bigDataDevice: "Big Data Devices", mobileControl: "Mobile Control", userControl: "User Control", deviceControl: "Device Management", websiteBanner: "Website Banners", websiteProducts: "Website Products", websiteCases: "Case Studies", companyProfile: "Company Profile", websiteNews: "News Management", // status online: "Online", offline: "Offline", // system welcome: "Welcome, ", logoutSuccess: 'Logout successful', requestError: 'Request error', noPageForDevice: 'No this page for {device}', noPermission: 'You currently have no permission to view!', pageDeveloping: 'This page is under development', weatherStation: 'Weather station', dataCollector: 'Data collector', 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', 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#', 'Irrigation Group 9#', 'Irrigation Group 10#', 'Irrigation Group 11#', 'Irrigation Group 12#', 'Irrigation Group 13#', 'Irrigation Group 14#', 'Irrigation Group 15#', 'Irrigation Group 16#' ], targetTemp: 'Target Temperature', targetHumidity: 'Target Humidity', targetCO2: 'Target CO2', alarmSettings: 'Alarm Settings', sunroofControl: 'Skylight', outShade: 'External Shade', inShade: 'Internal Shade', inInsulation: 'Internal Insulation', facadeInsulation: 'Facade Insulation', wetCurtain: 'Wet Curtain System', circulationFan: 'Circulation Fan', airConditioning: 'Air Conditioning', led: 'LED Control', heatFan: 'Heater Fan', highPressureMist: 'High Pressure Mist', solenoidValve: 'Solenoid Valve', sensorConfig: 'Sensor Configuration', synthesis: 'Synthesis Settings', upload: 'Data Upload', forceOutput: 'Force Output', intrinsicParams: 'Intrinsic Parameters', parameterSet: 'Parameter Settings', waterPump: 'Water Pump', geothermalFan: 'Geothermal Fan', uptake: 'Upper Vent', downtake: 'Lower Vent', rollByRoll: 'Rolling Curtain', snowRemoval: 'Snow Removal', mountainGreenhouse: 'Mountain Greenhouse Special Parameters', mountainFan: 'Fan (Mountain Greenhouse)', CO2: 'CO2 Supplement', skylight: 'Rolling Film', fan: 'Fan', wetFan: 'Fan', wetPump: 'Wet Curtain Pump', wetWindow: 'Wet Curtain Window', circulationFan: 'Circulation Fan', highPressureMist: 'High Pressure Mist', solenoidValve: 'Solenoid Valve', CO2: 'CO2 Supplement' }, realTime: { due:'Due', Expiration:'Expiration Date', target: 'Target', average: 'Avg', title: 'Real-time Data', weatherStation: 'Ecological Weather Station', deviceOffline: 'Device Offline', smsAlarm: 'SMS Alarm', viewAllData: 'View All Real-time Data', deviceStatus: 'Device Operation Status', fault: 'fault', iccid: 'iccid', sunrise: 'Sunrise', sunset: 'Sunset', batteryVoltage: 'Wireless Battery Voltage', delete: 'Delete', autoControl: 'Auto Control', mobileControl: 'Mobile Control', deviceInvalid: 'Device Invalid', CalculationResults: 'Calculation results', addDevice: 'Add Device', clickToAdd: 'Click to Add', heatingMode: 'Heating Mode', heatingMode1: 'Heating Mode', coolingMode: 'Cooling Mode', autoMode: 'Auto Mode', dehumidifyMode: 'Dehumidify Mode', airSupplyMode: 'Air Supply Mode', heatingCoolingMode: 'Heating/Cooling Mode', light: 'Fill Light', open: 'OPEN', close: 'CLOSE', return: 'RETURN', status: { still: 'Still', opening: 'Opening', closing: 'Closing', unfolding: 'Unfolding', folding: 'Folding', openWindow: 'Open Window', closeWindow: 'Close Window' }, dialog: { title: 'Please select devices to display', choose: 'Please select.', confirm: 'Confirm' }, alarm: { title: 'Controller SMS Alarm Rules', newRule: 'New Alarm Rule', deviceCode: 'Device Code', phone1: 'Phone 1', phone2: 'Phone 2', condition: 'Condition', setValue: 'Set Value', add: 'Add', existingRules: 'Existing Rules', alarmName: 'Alarm Name', condition: 'Condition', value: 'Value', operation: 'Operation', delete: 'Delete' }, wirelessSensor: { title: 'Wireless Sensor Debug Info', batteryVoltage: 'Battery Voltage', signalQuality: 'Signal Quality', }, directions: { north: 'North', northeast: 'Northeast', east: 'East', southeast: 'Southeast', south: 'South', southwest: 'Southwest', west: 'West', northwest: 'Northwest' }, }, imageGallery: { title: 'Image Gallery', title1: "Historical Data", title2: "Data Analysis", quickQuery: 'Quick Query', today: 'Today', yesterday: 'Yesterday', custom: 'Custom', timeRange: 'Time Range', startTime: 'Start Time', endTime: 'End Time', to: 'to', query: 'Search', downloadImages: 'Download Images', totalImages: 'Total {total} images', imageList: 'Image List', download: "Download", dataStatistics: "Data Statistics", 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" }, bigDataDevice: { title: "Big Data Device Information", tableHeaders: { deviceCode: "Device Code", deviceName: "Device Name", variety: "Variety", quantity: "Quantity", growthStage: "Growth Stage", operations: "Operations", edit: "Edit", delete: "Delete", role:'Role', }, dialog: { title: "Edit", deviceCodePlaceholder: "Please select weather station device code", varietyPlaceholder: "Please enter variety", growthStagePlaceholder: "Please enter growth stage", deviceNamePlaceholder: "Please enter device name", quantityPlaceholder: "Please enter quantity", confirm: "Confirm", cancel: "Cancel", deleteConfirmation: "Are you sure to delete this item?" } }, deviceManagement: { title: "Device Information Management", deviceTypes: { fertilizer: "Fertilizer Machine", controller: "Controller", smartController: "Smart Controller", weatherStation: "Ecological Weather Station", dataCollector: "Data Collector" }, tableHeaders: { deviceCode: "Device Code", deviceName: "Device Name", operations: "Operations", edit: "Edit", modifyMoreNames: "Modify More Names", permissionEdit: "Permission Edit" }, dialogs: { editTitle: "Edit", modifyNamesTitle: "Modify More Names", permissionManagement: "Controller Permission Management", deviceCodePlaceholder: "Please enter device code", deviceNamePlaceholder: "Please enter device name", statusPageName: "Fertilizer Status Page Name", cameraName: "Camera Name", cameraChannel: "Camera Channel Number", fertilizationRecipes: "Fertilization Recipes 1-8", irrigationGroups: "Irrigation Groups 1-8", irrigationGroups9_16: "Irrigation Groups 9-16", externalDevices: "External Devices 1-4", smartIrrigation: "Smart Irrigation 1-8", smartIrrigation9_16: "Smart Irrigation 9-16", recipePlaceholder: "Recipe {n}", groupPlaceholder: "Group {n}", externalPlaceholder: "External Device {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", role:'Role', }, 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", "prefix": "Start pump ", "middle": "at cooling level ", "suffix": "" }, "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" } };