{
  "values": {
    "logo": "OpenTherm Gateway",
    "nav": {
      "license": "License",
      "source": "Source code",
      "help": "Help",
      "issues": "Issues & questions",
      "releases": "Releases"
    },
    "dbm": "dBm",
    "kw": "kW",
    "time": {
      "days": "d.",
      "hours": "h.",
      "min": "min.",
      "sec": "sec."
    },

    "button": {
      "upgrade": "Upgrade",
      "restart": "Restart",
      "save": "Save",
      "saved": "Saved",
      "refresh": "Refresh",
      "restore": "Restore",
      "restored": "Restored",
      "backup": "Backup",
      "wait": "Please wait...",
      "uploading": "Uploading...",
      "success": "Success",
      "error": "Error"
    },

    "index": {
      "title": "OpenTherm Gateway",

      "section": {
        "network": "Network",
        "system": "System"
      },

      "system": {
        "build": {
          "title": "Build",
          "version": "Version",
          "date": "Date",
          "core": "Core",
          "sdk": "SDK"
        },
        "uptime": "Uptime",
        "memory": {
          "title": "Free memory",
          "maxFreeBlock": "max free block",
          "min": "min"
        },
        "board": "Board",
        "chip": {
          "model": "Chip",
          "cores": "Cores",
          "freq": "frequency"
        },
        "flash": {
          "size": "Flash size",
          "realSize": "real size"
        },
        "lastResetReason": "Last reset reason"
      }
    },

    "dashboard": {
      "name": "Dashboard",
      "title": "Dashboard - OpenTherm Gateway",

      "section": {
        "control": "Control",
        "states": "States",
        "sensors": "Sensors",
        "diag": "OpenTherm diagnostic"
      },

      "thermostat": {
        "heating": "Heating",
        "dhw": "DHW",
        "temp.current": "Current",
        "enable": "Enable",
        "turbo": "Turbo mode"
      },

      "notify": {
        "fault": {
          "title": "Boiler Fault state is active!",
          "note": "It is recommended to inspect the boiler and study the documentation to interpret the fault code:"
        },
        "diag": {
          "title": "Boiler Diagnostic state is active!",
          "note": "Perhaps your boiler needs inspection? It is recommended study the documentation to interpret the diag code:"
        },
        "reset": "Try reset"
      },

      "states": {
        "mNetworkConnected": "Network connection",
        "mMqttConnected": "MQTT connection",
        "mEmergencyState": "Emergency mode",
        "mExtPumpState": "External pump",
        "mCascadeControlInput": "Cascade control (input)",
        "mCascadeControlOutput": "Cascade control (output)",

        "sConnected": "OpenTherm connection",
        "sFlame": "Flame",
        "sCoolingActive": "Cooling",
        "sCoolingSetpoint": "Cooling setpoint",
        "sFaultActive": "Fault",
        "sFaultCode": "Fault code",
        "sDiagActive": "Diagnostic",
        "sDiagCode": "Diagnostic code",
        
        "mHeatEnabled": "Heating enabled",
        "mHeatBlocking": "Heating blocked",
        "mHeatOverheat": "Heating overheat",
        "sHeatActive": "Heating active",
        "mHeatSetpointTemp": "Heating setpoint temp",
        "mHeatTargetTemp": "Heating target temp",
        "mHeatCurrTemp": "Heating current temp",
        "mHeatRetTemp": "Heating return temp",
        "mHeatIndoorTemp": "Heating, indoor temp",
        "mHeatOutdoorTemp": "Heating, outdoor temp",

        "mDhwEnabled": "DHW enabled",
        "mDhwOverheat": "DHW overheat",
        "sDhwActive": "DHW active",
        "mDhwTargetTemp": "DHW target temp",
        "mDhwCurrTemp": "DHW current temp",
        "mDhwRetTemp": "DHW return temp"
      },

      "sensors": {
        "values": {
          "temp": "Temperature",
          "humidity": "Humidity",
          "battery": "Battery",
          "rssi": "RSSI"
        }
      }
    },

    "network": {
      "title": "Network - OpenTherm Gateway",
      "name": "Network settings",

      "section": {
        "static": "Static settings",
        "availableNetworks": "Available networks",
        "staSettings": "WiFi settings",
        "apSettings": "AP settings"
      },

      "scan": {
        "pos": "#",
        "info": "Info"
      },

      "wifi": {
        "ssid": "SSID",
        "password": "Password",
        "channel": "Channel",
        "signal": "Signal",
        "connected": "Connected"
      },

      "params": {
        "hostname": "Hostname",
        "dhcp": "Use DHCP",
        "mac": "MAC",
        "ip": "IP",
        "subnet": "Subnet",
        "gateway": "Gateway",
        "dns": "DNS"
      },

      "sta": {
        "channel.note": "set 0 for auto select"
      }
    },

    "sensors": {
      "title": "Sensors settings - OpenTherm Gateway",
      "name": "Sensors settings",

      "enabled": "Enabled",
      "sensorName": {
        "title": "Sensor name",
        "note": "May only contain: a-z, A-Z, 0-9, _ and space"
      },
      "purpose": "Purpose",
      "purposes": {
        "outdoorTemp": "Outdoor temperature",
        "indoorTemp": "Indoor temperature",
        "heatTemp": "Heating, temperature",
        "heatRetTemp": "Heating, return temperature",
        "dhwTemp": "DHW, temperature",
        "dhwRetTemp": "DHW, return temperature",
        "dhwFlowRate": "DHW, flow rate",
        "exhaustTemp": "Exhaust temperature",
        "modLevel": "Modulation level (in percents)",
        "number": "Number (raw)",
        "powerFactor": "Power (in percent)",
        "power": "Power (in kWt)",
        "fanSpeed": "Fan speed",
        "co2": "CO2",
        "pressure": "Pressure",
        "humidity": "Humidity",
        "temperature": "Temperature",
        "notConfigured": "Not configured"
      },
      "type": "Type/source",
      "types": {
        "otOutdoorTemp": "OpenTherm, outdoor temp",
        "otHeatTemp": "OpenTherm, heating, temp",
        "otHeatRetTemp": "OpenTherm, heating, return temp",
        "otDhwTemp": "OpenTherm, DHW, temperature",
        "otDhwTemp2": "OpenTherm, DHW, temperature 2",
        "otDhwFlowRate": "OpenTherm, DHW, flow rate",
        "otCh2Temp": "OpenTherm, channel 2, temp",
        "otExhaustTemp": "OpenTherm, exhaust temp",
        "otHeatExchangerTemp": "OpenTherm, heat exchanger temp",
        "otPressure": "OpenTherm, pressure",
        "otModLevel": "OpenTherm, modulation level",
        "otCurrentPower": "OpenTherm, current power",
        "otExhaustCo2": "OpenTherm, exhaust CO2",
        "otExhaustFanSpeed": "OpenTherm, exhaust fan speed",
        "otSupplyFanSpeed": "OpenTherm, supply fan speed",
        "otSolarStorageTemp": "OpenTherm, solar storage temp",
        "otSolarCollectorTemp": "OpenTherm, solar collector temp",
        "otFanSpeedSetpoint": "OpenTherm, setpoint fan speed",
        "otFanSpeedCurrent": "OpenTherm, current fan speed",
        "otBurnerStarts": "OpenTherm, number of burner starts",
        "otDhwBurnerStarts": "OpenTherm, number of burner starts (DHW)",
        "otHeatingPumpStarts": "OpenTherm, number of pump starts (heating)",
        "otDhwPumpStarts": "OpenTherm, number of pump starts (DHW)",
        "otBurnerHours": "OpenTherm, number of burner operating hours",
        "otDhwBurnerHours": "OpenTherm, number of burner operating hours (DHW)",
        "otHeatingPumpHours": "OpenTherm, number of pump operating hours (heating)",
        "otDhwPumpHours": "OpenTherm, number of pump operating hours (DHW)",
        
        "ntcTemp": "NTC sensor",
        "dallasTemp": "DALLAS sensor",
        "bluetooth": "BLE sensor",
        "heatSetpointTemp": "Heating, setpoint temp",
        "manual": "Manual via MQTT/API",
        "notConfigured": "Not configured"
      },
      "gpio": "GPIO",
      "address": {
        "title": "Sensor address",
        "note": "For auto detection of DALLAS sensors leave it at default, for BLE devices need a MAC address"
      },
      "correction": {
        "desc": "Correction of values",
        "offset": "Compensation (offset)",
        "factor": "Multiplier"
      },
      "filtering": {
        "desc": "Filtering values",
        "enabled": {
          "title": "Enabled filtering",
          "note": "It can be useful if there is a lot of sharp noise on the charts. The filter used is \"Running Average\"."
        },
        "factor": {
          "title": "Filtration factor",
          "note": "The lower the value, the smoother and <u>longer</u> the change in numeric values."
        }
      }
    },

    "settings": {
      "title": "Settings - OpenTherm Gateway",
      "name": "Settings",

      "section": {
        "portal": "Portal settings",
        "system": "System settings",
        "diag": "Diagnostic",
        "heating": "Heating settings",
        "dhw": "DHW settings",
        "emergency": "Emergency mode settings",
        "equitherm": "Equitherm settings",
        "pid": "PID settings",
        "ot": "OpenTherm settings",
        "mqtt": "MQTT settings",
        "extPump": "External pump settings",
        "cascadeControl": "Cascade control settings"
      },

      "enable": "Enable",
      "note": {
        "restart": "After changing these settings, the device must be restarted for the changes to take effect.",
        "blankNotUse": "blank - not use",
        "bleDevice": "BLE device can be used <u>only</u> with some ESP32 boards with BLE support!"
      },

      "temp": {
        "min": "Minimum temperature",
        "max": "Maximum temperature"
      },
      "maxModulation": "Max modulation level",
      "ohProtection": {
        "title": "Overheating protection",
        "desc": "<b>Note:</b> This feature can be useful if the built-in boiler overheating protection does not work or does not work correctly and the heat carrier boils. To disable, set 0 as <b>high</b> and <b>low</b> temperature.",
        "highTemp": {
          "title": "High temperature threshold",
          "note": "Threshold at which the burner will be forcibly switched off"
        },
        "lowTemp": {
          "title": "Low temperature threshold",
          "note": "Threshold at which the burner can be turned on again"
        }
      },
      "freezeProtection": {
        "title": "Freeze protection",
        "desc": "Heating will be forced to turn on if the heat carrier or indoor temperature drops below <b>Low temperature</b> during <b>Waiting time</b>.",
        "lowTemp": "Low temperature threshold",
        "thresholdTime": "Waiting time <small>(sec)</small>"
      },

      "portal": {
        "login": "Login",
        "password": "Password",
        "auth": "Require authentication",
        "mdns": "Use mDNS"
      },

      "system": {
        "unit": "Unit system",
        "metric": "Metric <small>(celsius, liters, bar)</small>",
        "imperial": "Imperial <small>(fahrenheit, gallons, psi)</small>",
        "statusLedGpio": "Status LED GPIO",
        "logLevel": "Log level",
        "serial": {
          "enable": "Enabled Serial port",
          "baud": "Serial port baud rate"
        },
        "telnet": {
          "enable": "Enabled Telnet",
          "port": {
            "title": "Telnet port",
            "note": "Default: 23"
          }
        },
        "ntp": {
          "server": "NTP server",
          "timezone": "Timezone",
          "timezonePresets": "Select preset..."
        }
      },

      "heating": {
        "hyst": "Hysteresis <small>(in degrees)</small>",
        "turboFactor": "Turbo mode coeff."
      },

      "emergency": {
        "desc": "Emergency mode is activated automatically when «PID» or «Equitherm» cannot calculate the heat carrier setpoint:<br />- if «Equitherm» is enabled and the outdoor temperature sensor is disconnected;<br />- if «PID» or OT option <i>«Native heating control»</i> is enabled and the indoor temperature sensor is disconnected.<br /><b>Note:</b> On network fault or MQTT fault, sensors with <i>«Manual via MQTT/API»</i> type will be in DISCONNECTED state.",
        
        "target": {
          "title": "Target temperature",
          "note": "<b>Important:</b> <u>Target indoor temperature</u> if OT option <i>«Native heating control»</i> is enabled.<br />In all other cases, the <u>target heat carrier temperature</u>."
        },
        "treshold": "Treshold time <small>(sec)</small>"
      },

      "equitherm": {
        "n": "N factor",
        "k": "K factor",
        "t": {
          "title": "T factor",
          "note": "Not used if PID is enabled"
        }
      },

      "pid": {
        "p": "P factor",
        "i": "I factor",
        "d": "D factor",
        "dt": "DT <small>in seconds</small>",
        "limits": {
          "title": "Limits",
          "note": "<b>Important:</b> When using «Equitherm» and «PID» at the same time, the min and max temperatures limit the influence on the «Equitherm» result temperature.<br />Thus, if the min temperature is set to -15 and the max temperature is set to 15, then the final heat carrier setpoint will be from <code>equitherm_result - 15</code> to <code>equitherm_result + 15</code>."
        },
        "deadband": {
          "title": "Deadband",
          "note": "Deadband is a range around the target temperature where PID regulation becomes less active. Within this range, the algorithm can reduce intensity or pause adjustments to avoid overreacting to small fluctuations.<br /><br />For instance, with a target temperature of 22°, a lower threshold of 1.0, and an upper threshold of 0.5, the deadband operates between 21° and 22.5°. If the I coefficient is 0.0005 and the I multiplier is 0.05, then within the deadband, the I coefficient becomes: <code>0.0005 * 0.05 = 0.000025</code>",
          "p_multiplier": "Multiplier for P factor",
          "i_multiplier": "Multiplier for I factor",
          "d_multiplier": "Multiplier for D factor",
          "thresholdHigh": "Threshold high",
          "thresholdLow": "Threshold low"
        }
      },

      "ot": {
        "advanced": "Advanced Settings",
        "inGpio": "In GPIO",
        "outGpio": "Out GPIO",
        "ledGpio": "RX LED GPIO",
        "memberId": "Master member ID",
        "flags": "Master flags",
        "minPower": {
          "title": "Min boiler power <small>(kW)</small>",
          "note": "This value is at 0-1% boiler modulation level. Typically found in the boiler specification as \"minimum useful heat output\"."
        },
        "maxPower": {
          "title": "Max boiler power <small>(kW)</small>",
          "note": "<b>0</b> - try detect automatically. Typically found in the boiler specification as \"maximum useful heat output\"."
        },

        "options": {
          "title": "Options (additional settings)",
          "desc": "Options can change the logic of the boiler. Not all options are documented in the protocol, so the same option can have different effects on different boilers.<br /><b>Note:</b> There is no need to change anything if everything works well.",
          "dhwSupport": "DHW support",
          "coolingSupport": "Cooling support",
          "summerWinterMode": "Summer/winter mode",
          "heatingStateToSummerWinterMode": "Heating state as summer/winter mode",
          "ch2AlwaysEnabled": "CH2 always enabled",
          "heatingToCh2": "Duplicate heating to CH2",
          "dhwToCh2": "Duplicate DHW to CH2",
          "dhwBlocking": "DHW blocking",
          "dhwStateAsDhwBlocking": "DHW state as DHW blocking",
          "maxTempSyncWithTargetTemp": "Sync max heating temp with target temp",
          "getMinMaxTemp": "Get min/max temp from boiler",
          "ignoreDiagState": "Ignore diag state",
          "autoFaultReset": "Auto fault reset <small>(not recommended!)</small>",
          "autoDiagReset": "Auto diag reset <small>(not recommended!)</small>",
          "setDateAndTime": "Set date & time on boiler",
          "immergasFix": "Fix for Immergas boilers"
        },

        "nativeHeating": {
          "title": "Native heating control (boiler)",
          "note": "Works <u>ONLY</u> if the boiler requires the desired room temperature and regulates the temperature of the coolant itself. Not compatible with PID and Equitherm regulators in firmware."
        }
      },

      "mqtt": {
        "homeAssistantDiscovery": "Home Assistant Discovery",
        "server": "Server",
        "port": "Port",
        "user": "User",
        "password": "Password",
        "prefix": "Prefix",
        "interval": "Publish interval <small>(sec)</small>"
      },

      "extPump": {
        "use": "Use external pump",
        "gpio": "Relay GPIO",
        "invertState": "Invert GPIO state",
        "postCirculationTime": "Post circulation time <small>(min)</small>",
        "antiStuckInterval": "Anti stuck interval <small>(days)</small>",
        "antiStuckTime": "Anti stuck time <small>(min)</small>"
      },

      "cascadeControl": {
        "input": {
          "desc": "Can be used to turn on the heating only if another boiler is faulty. The other boiler controller must change the state of the GPIO input in the event of a fault.",
          "enable": "Enabled input",
          "gpio": "GPIO",
          "invertState": "Invert GPIO state",
          "thresholdTime": "State change threshold time <small>(sec)</small>"
        },
        "output": {
          "desc": "Can be used to switch on another boiler <u>via relay</u>.",
          "enable": "Enabled output",
          "gpio": "GPIO",
          "invertState": "Invert GPIO state",
          "thresholdTime": "State change threshold time <small>(sec)</small>",
          "events": {
            "desc": "Events",
            "onFault": "If the fault state is active",
            "onLossConnection": "If the connection via Opentherm is lost",
            "onEnabledHeating": "If heating is enabled"
          }
        }
      }
    },

    "upgrade": {
      "title": "Upgrade - OpenTherm Gateway",
      "name": "Upgrade",

      "section": {
        "backupAndRestore": "Backup & restore",
        "backupAndRestore.desc": "In this section you can save and restore a backup of ALL settings.",
        "upgrade": "Upgrade",
        "upgrade.desc": "In this section you can upgrade the firmware and filesystem of your device.<br />Latest releases can be downloaded from the <a href=\"https://github.com/Laxilef/OTGateway/releases\" target=\"_blank\">Releases page</a> of the project repository." 
      },

      "note": {
        "disclaimer1": "After a successful upgrade the filesystem, ALL settings will be reset to default values! Save backup before upgrading.",
        "disclaimer2": "After a successful upgrade, the device will automatically reboot after 15 seconds."
      },

      "settingsFile": "Settings file",
      "fw": "Firmware",
      "fs": "Filesystem"
    }
  }
}