{

  "ThingsGateway.Gateway.Application.BusinessVariableProperty": {

    "Data1": "Data1",
    "Data2": "Data2",
    "Data3": "Data3",
    "Data4": "Data4",
    "Data5": "Data5",
    "Data6": "Data6",
    "Data7": "Data7",
    "Data8": "Data8",
    "Data9": "Data9",
    "Data10": "Data10"
  },



  "ThingsGateway.Management.Application.ManagementExportString": {

    "ManagementConfigName": "ManagementConfigName"
  },
  "ThingsGateway.Management.Application.ManagementConfig": {

    "Name": "Name",
    "ServerUri": "ServerUri",
    "Enable": "Enable",
    "IsServer": "IsServer",
    "VerifyToken": "VerifyToken",
    "HeartbeatInterval": "HeartbeatInterval",

    "ImportNullError": "Unable to recognize"
  },

  "ThingsGateway.Management.Application.UpdateZipFile": {
    "AppName": "AppName",
    "Architecture": "Architecture",
    "DotNetVersion": "DotNetVersion",
    "FilePath": "FilePath",
    "FileSize": "FileSize",
    "MinimumCompatibleVersion": "MinimumCompatibleVersion",
    "OSPlatform": "OSPlatform",
    "Version": "Version"
  },

  "ThingsGateway.Gateway.Application.INode": {

    "Actuator": "Actuator",
    "AlarmChangedTriggerNode": "AlarmStateTrigger",
    "PluginEventChangedTriggerNode": "PluginEventTrigger",
    "BusinessNode": "BusinessDeviceExecution",
    "BusinessNode.Placeholder": "BusinessDeviceName",
    "Cancel": "Cancel",
    "Clear": "Clear",
    "ConditionNode": "Condition",
    "ConditionNode.Placeholder": "Calculation returns boolean",
    "DataNode": "DataScript",
    "DelayNode": "Delay",
    "DelayNode.Placeholder": "Interval Time (ms)",
    "Design": "Design",
    "Device.Placeholder": "DeviceName",
    "DeviceChangedTriggerNode": "DeviceStateTrigger",
    "Download": "Download JSON",
    "End": "End",
    "EndNode": "End",
    "ExecuteScriptNode": "CustomExecution",
    "Expression": "Script",
    "Load": "Load JSON",
    "Other": "Other",
    "Save": "Save",
    "Start": "Start",
    "Start/End": "Start/End",
    "StartNode": "Start",
    "TimeIntervalTriggerNode": "IntervalExecutionTrigger",
    "TimeIntervalTriggerNode.Placeholder": "IntervalTime (ms)",
    "Trigger": "Trigger",
    "ValueChangedTriggerNode": "VariableStateTrigger",
    "Variable.Placeholder": "VariableName",
    "VariableRpcNode": "VariableRpc",
    "VariableRpcNode.Placeholder": "VariableName",
    "ZoomToFit": "ZoomToFit"

  },

  "ThingsGateway.Gateway.Application.Rules": {
    "ClearRules": "ClearRules",
    "DeleteRules": "DeleteRules",
    "Name": "Name",
    "SaveRules": "SaveRules",
    "SortCode": "SortCode",
    "Status": "Status"
  },

  "ThingsGateway.Gateway.Application.RulesStatus": {
    "LogConsole": "Log",
    "RulesId": "Name"
  },


  "ThingsGateway.Gateway.Application.RedundancyHostedService": {
    "ErrorSynchronizingData": "Synchronize data to standby site error",
    "RedundancyDisable": "Redundant gateway site not enabled",
    "RedundancyDup": "Redundant station settings duplicated",
    "Start": "Gateway management service started",
    "Stop": "Gateway management service stopped",
    "SwitchMasterState": "Cannot connect to redundant site, local machine will switch to normal state",
    "SwitchNormalState": "Local machine (primary site) will switch to normal state",
    "SwitchSlaveState": "Master site has recovered, local machine (standby) will switch to standby state"
  },
  "ThingsGateway.Gateway.Application.RedundancyOptions": {
    "Confirm": "Confirm switching to redundant state",
    "Enable": "Enable Dual-Machine Redundancy",
    "RedundancyForcedSync": "Forced Synchronous",
    "ForcedSyncWarning": "Forcing synchronization will generate database configuration information.Are you sure you want to continue?",
    "HeartbeatInterval": "Heartbeat Interval",
    "IsMaster": "IsMaster",
    "IsStartBusinessDevice": "Enable Business Device in Slave Site",
    "Master": "Active Node",
    "MasterUri": "Master Node URL",
    "MaxErrorCount": "Maximum Error Count",
    "RedundancyOptions": "Dual-Machine Redundancy",
    "Restart": "The redundant service will be restarted soon",
    "Slave": "Slave Node",
    "Status": "Current Site Status",
    "Switch": "Switch",
    "SyncInterval": "Data Synchronization Interval",
    "VerifyToken": "Verification Token"
  },
  "ThingsGateway.Gateway.Application.RedundancyService": {
    "EditRedundancyOption": "EditRedundancyOption"
  },
  "ThingsGateway.Gateway.Application.UpdateZipFileService": {
    "Update": "New version detected"
  },
  "ThingsGateway.Gateway.Application.UpdateZipFile": {
    "AppName": "AppName",
    "Architecture": "Architecture",
    "DotNetVersion": "DotNetVersion",
    "FilePath": "FilePath",
    "FileSize": "FileSize",
    "MinimumCompatibleVersion": "MinimumCompatibleVersion",
    "OSPlatform": "OSPlatform",
    "Version": "Version"
  },

  "ThingsGateway.Gateway.Application.AlarmVariable": {
    "AlarmCode": "AlarmCode",
    "AlarmDelay": "AlarmDelay",
    "AlarmLevel": "AlarmLevel",
    "AlarmEnable": "AlarmEnable",
    "AlarmLimit": "AlarmLimit",
    "AlarmText": "AlarmText",
    "AlarmTime": "AlarmTime",
    "AlarmType": "AlarmType",
    "ArrayLength": "ArrayLength",
    "BoolCloseAlarmEnable": "BoolCloseAlarmEnable",
    "BoolCloseAlarmText": "BoolCloseAlarmText",
    "BoolCloseRestrainExpressions": "BoolCloseRestrainExpressions",
    "BoolOpenAlarmEnable": "BoolOpenAlarmEnable",
    "BoolOpenAlarmText": "BoolOpenAlarmText",
    "BoolOpenRestrainExpressions": "BoolOpenRestrainExpressions",
    "BusinessGroup": "BusinessGroup",
    "ChangeTime": "ChangeTime",
    "CollectGroup": "CollectGroup",
    "CollectTime": "CollectTime",
    "CustomAlarmCode": "CustomAlarmCode",
    "CustomAlarmEnable": "CustomAlarmEnable",
    "CustomAlarmText": "CustomAlarmText",
    "CustomRestrainExpressions": "CustomRestrainExpressions",
    "DataType": "DataType",
    "Description": "Description",
    "DeviceId": "CollectionDevice",
    "DeviceName": "DeviceName",
    "Enable": "Enable",
    "EventTime": "EventTime",
    "ConfirmTime": "ConfirmTime",
    "FinishTime": "FinishTime",
    "EventType": "EventType",
    "HAlarmCode": "HAlarmCode",
    "HAlarmEnable": "HAlarmEnable",
    "HAlarmText": "HAlarmText",
    "HHAlarmCode": "HHAlarmCode",
    "HHAlarmEnable": "HHAlarmEnable",
    "HHAlarmText": "HHAlarmText",
    "HHRestrainExpressions": "HHRestrainExpressions",
    "HRestrainExpressions": "HRestrainExpressions",
    "IntervalTime": "IntervalTime",
    "IsOnline": "IsOnline",
    "LAlarmCode": "LAlarmCode",
    "LAlarmEnable": "LAlarmEnable",
    "LAlarmText": "LAlarmText",
    "LastErrorMessage": "LastErrorMessage",
    "LastSetValue": "LastSetValue",
    "LLAlarmCode": "LLAlarmCode",
    "LLAlarmEnable": "LLAlarmEnable",
    "LLAlarmText": "LLAlarmText",
    "LLRestrainExpressions": "LLRestrainExpressions",
    "LRestrainExpressions": "LRestrainExpressions",
    "Name": "Name",
    "OtherMethod": "OtherMethod",
    "ProtectType": "ProtectType",
    "RawValue": "RawValue",
    "ReadExpressions": "ReadExpressions",
    "RecoveryCode": "RecoveryCode",
    "RegisterAddress": "RegisterAddress",
    "Remark1": "Remark1",
    "Remark2": "Remark2",
    "Remark3": "Remark3",
    "Remark4": "Remark4",
    "Remark5": "Remark5",
    "RpcWriteEnable": "RpcWriteEnable",
    "SaveValue": "SaveValue",
    "Unit": "Unit",
    "Value": "Value",
    "WriteExpressions": "WriteExpressions"
  },
  "ThingsGateway.Gateway.Application.BackendLog": {
    "DeleteBackendLog": "Delete Backend Log",
    "Exception": "Exception Object",
    "LogLevel": "Log Level",
    "LogMessage": "Specific Message",
    "LogSource": "Log Source",
    "LogTime": "Time"
  },
  "ThingsGateway.Gateway.Application.BackendLogPageInput": {
    "LogLevel": "LogLevel",
    "LogSource": "LogSource",
    "SearchDate": "SearchDate"
  },

  "ThingsGateway.Gateway.Application.BusinessPropertyWithCache": {
    "CacheEnable": "CacheEnable",
    "CacheFileMaxLength": "CacheFileMaxLength",
    "GroupUpdate": "GroupUpdate",
    "OnlineFilter": "OnlineFilter",
    "QueueMaxCount": "QueueMaxCount",
    "SplitSize": "SplitSize"
  },
  "ThingsGateway.Gateway.Application.BusinessPropertyWithCacheInterval": {
    "BusinessInterval": "BusinessInterval",
    "BusinessUpdateEnum": "BusinessUpdateEnum",
    "IsAllVariable": "IsAllVariable"
  },
  "ThingsGateway.Gateway.Application.BusinessPropertyWithCacheIntervalScript": {
    "AlarmTopic": "AlarmTopic",
    "PluginEventDataTopic": "PluginEventDataTopic",
    "BigTextScriptAlarmModel": "BigTextScriptAlarmModel",
    "BigTextScriptPluginEventDataModel": "BigTextScriptPluginEventDataModel",
    "BigTextScriptDeviceModel": "BigTextScriptDeviceModel",
    "BigTextScriptVariableModel": "BigTextScriptVariableModel",
    "DetailLog": "DetailLog",
    "DeviceTopic": "DeviceTopic",
    "IsAlarmList": "IsAlarmList",
    "IsPluginEventDataList": "IsPluginEventDataList",
    "IsDeviceList": "IsDeviceList",
    "IsVariableList": "IsVariableList",
    "JsonFormattingIndented": "JsonFormattingIndented",
    "JsonIgnoreNull": "JsonIgnoreNull",
    "VariableTopic": "VariableTopic"
  },
  "ThingsGateway.Gateway.Application.BusinessUpdateEnum": {
    "Change": "Change",
    "Interval": "Interval",
    "IntervalOrChange": "IntervalOrChange"
  },
  "ThingsGateway.Gateway.Application.Channel": {
    "BaudRate": "BaudRate",
    "BindUrl": "BindUrl",
    "CacheTimeout": "CacheTimeout",
    "Channel": "Channel",
    "ChannelType": "ChannelType",
    "CheckClearTime": "CheckClearTime",
    "ClearChannel": "Clear Channel",
    "Confim": "Confim",
    "Connect": "Connect",
    "ConnectTimeout": "ConnectTimeout",
    "CopyChannel": "Copy Channel",
    "UpdateGatewayData": "UpdateGatewayData",
    "InsertGatewayData": "InsertGatewayData",
    "CreateTime": "CreateTime",
    "CreateUser": "CreateUser",
    "DataBits": "DataBits",
    "DeleteChannel": "Delete Channel",
    "Disconnect": "Disconnect",
    "DtrEnable": "DtrEnable",
    "DtuId": "DtuId",
    "DtuSeviceType": "DtuSeviceType",
    "Enable": "Enable",
    "ExportChannel": "Export Channel",
    "Heartbeat": "Heartbeat",
    "HeartbeatTime": "HeartbeatTime",
    "DtuIdHex": "DtuIdHex",
    "HeartbeatHex": "HeartbeatHex",
    "ImportChannel": "Import Channel",
    "ImportNullError": "Unable to recognize",
    "LogEnable": "LogEnable",
    "LogLevel": "LogLevel",
    "MaxClientCount": "MaxClientCount",
    "MaxConcurrentCount": "MaxConcurrentCount",
    "Name": "Name",
    "Name.Required": "{0} cannot be empty",
    "NameDump": "Duplicate channel name {0}",
    "NotOther": "Not supporting other channel types",
    "Parity": "Parity",
    "PluginName": "PluginName",
    "PluginName.Required": "{0} cannot be empty",
    "PortName": "PortName",
    "RemoteUrl": "RemoteUrl",
    "RtsEnable": "RtsEnable",
    "StreamAsync": "StreamAsync",
    "SaveChannel": "Add/Modify Channel",
    "SortCode": "SortCode",
    "StopBits": "StopBits",
    "UpdateTime": "UpdateTime",
    "UpdateUser": "UpdateUser"
  },
  "ThingsGateway.Gateway.Application.ChannelRuntime": {
    "DeviceRuntimeCount": "DeviceRuntimeCount",
    "MaxConcurrentCount": "MaxConcurrentCount",
    "Name.Required": "{0} cannot be empty",
    "PluginName.Required": "{0} cannot be empty",
    "PluginType": "PluginType"
  },

  "ThingsGateway.Gateway.Application.CollectFoundationDtuPackPropertyBase": {
    "DtuId": "DtuId"
  },
  "ThingsGateway.Gateway.Application.CollectFoundationDtuPropertyBase": {
    "DtuId": "DtuId"
  },
  "ThingsGateway.Gateway.Application.CollectFoundationPackPropertyBase": {
    "MaxPack": "MaxPack"
  },
  "ThingsGateway.Gateway.Application.CollectFoundationPropertyBase": {
    "DataFormat": "DataFormat",
    "IsStringReverseByteWord": "IsStringReverseByteWord",
    "SendDelayTime": "SendDelayTime",
    "Timeout": "Timeout"
  },
  "ThingsGateway.Gateway.Application.CollectPropertyBase": {
    "ConcurrentCount": "ConcurrentCount",
    "RetryCount": "RetryCount"
  },
  "ThingsGateway.Gateway.Application.CollectPropertyRetryBase": {
    "RetryCount": "RetryCount",
    "DutyCycle": "DutyCycle",
    "WritePriority": "WritePriority"
  },
  "ThingsGateway.Gateway.Application.ControlController": {
    "BatchSaveChannelAsync": "BatchSaveChannel",
    "BatchSaveDeviceAsync": "BatchSaveDevice",
    "BatchSaveVariableAsync": "BatchSaveVariable",
    "ControlController": "Device control",
    "DeleteChannelAsync": "DeleteChannel",
    "DeleteDeviceAsync": "DeleteDevice",
    "DeleteVariableAsync": "DeleteVariable",
    "InsertTestDataAsync": "InsertTestData",
    "PauseDeviceThreadAsync": "Control device thread start/stop",
    "RemoveAllCache": "Remove all cache",
    "RemoveCache": "Remove device/channel Cache",
    "RestartAllThread": "Restart all thread",
    "RestartDeviceThreadAsync": "Restart device thread",
    "WriteVariablesAsync": "Write variables"
  },
  "ThingsGateway.Gateway.Application.Device": {
    "Pause": "Pause",
    "ChannelError": "Channel error",
    "ChannelId": "Channel",
    "ChannelId.MinValue": "{0} cannot be empty",
    "ChannelId.Required": "{0} cannot be empty",
    "ClearDevice": "Clear Device",
    "CopyDevice": "Copy Device",
    "DeleteDevice": "Delete Device",
    "Description": "Description",
    "DeviceNotNull": "Device name does not exist",
    "Enable": "Enable",
    "ExportDevice": "Export Device",
    "ImportDevice": "Import Device",
    "ImportNullError": "Unable to recognize",
    "IntervalTime": "DefaultIntervalTime",
    "IntervalTime.MinValue": "{0} value is too small",
    "LogEnable": "LogEnable",
    "LogLevel": "LogLevel",
    "Name": "Name",
    "Name.Required": "{0} cannot be empty",
    "NameDump": "Duplicate device name {0}",
    "NotNull": "{0} does not exist",
    "PluginNotNull": "Plugin name does not exist",
    "RedundantDeviceError": "Redundant device error",
    "RedundantDeviceId": "RedundantDevice",
    "RedundantDeviceNotNull": "When enabling redundancy, you must select a redundant device",
    "RedundantEnable": "RedundantEnable",
    "RedundantScanIntervalTime": "RedundantScanIntervalTime",
    "RedundantScript": "RedundantScript",
    "RedundantSwitchType": "RedundantSwitchType",
    "Remark1": "Remark1",
    "Remark2": "Remark2",
    "Remark3": "Remark3",
    "Remark4": "Remark4",
    "Remark5": "Remark5",
    "SaveDevice": "Add/Modify Device"
  },
  "ThingsGateway.Gateway.Application.DeviceRuntime": {
    "ActiveTime": "ActiveTime",
    "ChannelName": "ChannelName",
    "DeviceStatus": "DeviceStatus",
    "DeviceVariableCount": "DeviceVariableCount",
    "IntervalTime.MinValue": " {0} value is too small",
    "LastErrorMessage": "LastErrorMessage",
    "MethodVariableCount": "MethodVariableCount",
    "Name.Required": " {0}  cannot be empty",
    "PluginName": "PluginName",
    "PluginName.Required": "{0} cannot be empty",
    "RedundantType": "RedundantType",
    "SourceVariableCount": "SourceVariableCount"
  },

  "ThingsGateway.Gateway.Application.DriverBase": {
    "Authorized": "Authorized",
    "ExpireTime": "ExpireTime {0}",
    "Unauthorized": "Unauthorized"
  },
  "ThingsGateway.Gateway.Application.GatewayExportString": {
    "BusinessDeviceName": "BusinessDevice",
    "ChannelName": "Channel",
    "DeviceName": "Device",
    "AlarmName": "Alarm",
    "RedundantDeviceName": "Redundant Device",
    "VariableName": "Variable"
  },
  "ThingsGateway.Gateway.Application.PluginAddInput": {
    "MainFile": "Main Assembly",
    "OtherFiles": "Auxiliary Assemblies, can upload multiple",
    "SavePlugin": "Add/Modify Plugin"
  },
  "ThingsGateway.Gateway.Application.PluginInfo": {
    "DeviceCount": "DeviceCount",
    "FileName": "FileName",
    "FullName": "FullName",
    "LastWriteTime": "CompilationTime",
    "Name": "Name",
    "PluginType": "PluginType",
    "Version": "Version"
  },

  "ThingsGateway.Gateway.Application.ProtectTypeEnum": {
    "ReadOnly": "ReadOnly",
    "ReadWrite": "ReadWrite",
    "WriteOnly": "WriteOnly"
  },
  "ThingsGateway.Gateway.Application.RpcLog": {
    "DeleteRpc": "DeleteRPCLog",
    "IsSuccess": "OperationResult",
    "LogTime": "LogTime",
    "OperateDevice": "OperateDevice",
    "OperateMessage": "SpecificMessage",
    "OperateMethod": "RPCMethod",
    "OperateObject": "OperationObject",
    "OperateSource": "OperationSource",
    "ExecutionTime": "ExecutionTime",
    "ParamJson": "RequestParameters",
    "ResultJson": "ReturnResults"
  },
  "ThingsGateway.Gateway.Application.RpcLogPageInput": {
    "OperateDevice": "OperateDevice",
    "OperateObject": "OperateObject",
    "OperateSource": "OperateSource",
    "SearchDate": "SearchDate"
  },
  "ThingsGateway.Gateway.Application.RpcService": {
    "DeviceNotNull": "Device name does not exist",
    "DevicePause": "{0} device is paused",
    "DriverNotNull": "System error, corresponding collection device does not exist, please try again later",
    "VariableNotNull": "{0} variable does not exist",
    "VariableReadOnly": "{0} variable is read-only",
    "VariableWriteDisable": "{0} variable is not allowed to write"
  },
  "ThingsGateway.Gateway.Application.RuntimeInfoController": {
    "CheckRealAlarm": "Confirm real-time alarm",
    "GetChannelListAsync": "Get channel information",
    "GetRedundancyStatus": "Get redundancy status",
    "GetDeviceListAsync": "Get device information",
    "GetRealAlarmList": "Get real-time alarm information",
    "GetVariableList": "Get variable information",
    "RuntimeInfoController": "Get runtime information"
  },
  "ThingsGateway.Gateway.Application.Variable": {
    "AddressOrOtherMethodNotNull": "Variable address or special method cannot be empty at the same time",

    "ArrayLength": "ArrayLength",

    "BusinessGroup": "BusinessGroup",
    "BusinessGroupUpdateTrigger": "BusinessGroupUpdateTrigger",
    "RpcWriteCheck": "RpcWriteCheck",
    "ClearVariable": "Clear Variable",
    "CollectGroup": "CollectGroup",
    "CopyVariable": "Copy Variable",

    "DataType": "DataType",
    "DeleteVariable": "Delete Variable",
    "Description": "Description",
    "DeviceId": "CollectionDevice",
    "DeviceId.MinValue": "{0} cannot be empty",
    "DeviceId.Required": "{0} cannot be empty",
    "DeviceNotNull": "Device name does not exist",
    "DynamicVariable": "DynamicVariable",
    "Enable": "Enable",
    "ExportVariable": "Export Variable",


    "ImportVariable": "Import Variable",
    "InitValue": "InitValue",
    "IntervalTime": "IntervalTime",
    "IntervalTime.MinValue": "{0} value is too small",


    "Name": "Name",
    "Name.Required": "{0} cannot be empty",
    "NameDump": "Duplicate variable name {0}",
    "NotNull": "{0} does not exist",
    "OtherMethod": "OtherMethod",
    "PluginNotNull": "Plugin name does not exist",
    "ProtectType": "ProtectType",
    "ReadExpressions": "ReadExpressions",
    "RegisterAddress": "RegisterAddress",
    "Remark1": "Remark1",
    "Remark2": "Remark2",
    "Remark3": "Remark3",
    "Remark4": "Remark4",
    "Remark5": "Remark5",
    "RpcWriteEnable": "RpcWriteEnable",
    "SaveValue": "SaveValue",
    "SaveVariable": "Add/Modify Variable",
    "Unit": "Unit",
    "VariableNotNull": "Variable name does not exist",
    "WriteExpressions": "WriteExpressions"
  },

  "ThingsGateway.Gateway.Application.AlarmPropertys": {

    "AlarmDelay": "AlarmDelay",
    "AlarmLevel": "AlarmLevel",
    "BoolCloseAlarmEnable": "BoolCloseAlarmEnable",
    "BoolCloseAlarmText": "BoolCloseAlarmText",
    "BoolCloseRestrainExpressions": "BoolCloseRestrainExpressions",
    "BoolOpenAlarmEnable": "BoolOpenAlarmEnable",
    "BoolOpenAlarmText": "BoolOpenAlarmText",
    "BoolOpenRestrainExpressions": "BoolOpenRestrainExpressions",
    "CustomAlarmCode": "CustomAlarmCode",
    "CustomAlarmEnable": "CustomAlarmEnable",
    "CustomAlarmText": "CustomAlarmText",
    "CustomRestrainExpressions": "CustomRestrainExpressions",
    "HAlarmCode": "HAlarmCode",
    "HAlarmEnable": "HAlarmEnable",
    "HAlarmText": "HAlarmText",
    "HHAlarmCode": "HHAlarmCode",
    "HHAlarmEnable": "HHAlarmEnable",
    "HHAlarmText": "HHAlarmText",
    "HHRestrainExpressions": "HHRestrainExpressions",
    "HRestrainExpressions": "HRestrainExpressions",
    "LAlarmCode": "LAlarmCode",
    "LAlarmEnable": "LAlarmEnable",
    "LAlarmText": "LAlarmText",
    "LLAlarmCode": "LLAlarmCode",
    "LLAlarmEnable": "LLAlarmEnable",
    "LLAlarmText": "LLAlarmText",
    "LLRestrainExpressions": "LLRestrainExpressions",
    "LRestrainExpressions": "LRestrainExpressions"
  },
  "ThingsGateway.Gateway.Application.VariableRuntime": {
    "AlarmCode": "AlarmCode",
    "AlarmEnable": "AlarmEnable",
    "AlarmLimit": "AlarmLimit",
    "AlarmText": "AlarmText",
    "AlarmTime": "AlarmTime",
    "AlarmType": "AlarmType",
    "ChangeTime": "ChangeTime",
    "CollectTime": "CollectTime",
    "DeviceId.MinValue": "{0} cannot be empty",
    "DeviceId.Required": "{0} cannot be empty",
    "DeviceName": "DeviceName",
    "DynamicVariable": "DynamicVariable",
    "EventTime": "EventTime",
    "ConfirmTime": "ConfirmTime",
    "FinishTime": "FinishTime",
    "EventType": "EventType",
    "IntervalTime.MinValue": "{0} value is too small",
    "IsOnline": "IsOnline",
    "LastErrorMessage": "LastErrorMessage",
    "LastSetValue": "LastSetValue",
    "RawValue": "RawValue",
    "RecoveryCode": "RecoveryCode",
    "RuntimeType": "RuntimeType",
    "Value": "Value"
  }
}