{
  "ThingsGateway.Gateway.Application.BusinessUpdateEnum": {
    "Change": "变化",
    "Interval": "定时",
    "IntervalOrChange": "定时或变化"
  },

  "ThingsGateway.Gateway.Application.ControlController": {
    "ControlController": "设备控制",
    "RemoveAllCache": "清空全部缓存",
    "RemoveCache": "删除通道/设备缓存",
    "PauseDeviceThreadAsync": "控制设备线程启停",
    "RestartAllThread": "重启全部线程",
    "RestartDeviceThreadAsync": "重启设备线程",
    "WriteVariablesAsync": "写入变量"
  },
  "ThingsGateway.Gateway.Application.RuntimeInfoController": {
    "RuntimeInfoController": "获取运行态信息",
    "GetChannelListAsync": "获取通道信息",
    "GetDeviceListAsync": "获取设备信息",
    "GetVariableList": "获取变量信息",
    "GetRealAlarmList": "获取实时报警信息",
    "CheckRealAlarm": "确认实时报警"
  },

  "ThingsGateway.Gateway.Application.DeviceRuntime": {
    "SourceVariableCount": "打包数量",
    "MethodVariableCount": "方法数量",
    "ActiveTime": "活跃时间",
    "DeviceVariableCount": "变量数量",
    "LastErrorMessage": "离线原因",

    "Name": "名称",
    "Name.Required": " {0} 不可为空",
    "Description": "描述",
    "ChannelId": "通道",
    "ChannelName": "通道",
    "ChannelId.MinValue": " {0} 不可为空",
    "ChannelId.Required": " {0} 不可为空",
    "IntervalTime": "默认执行间隔",
    "IntervalTime.MinValue": " {0} 值太小",
    "PluginName": "插件名称",
    "PluginName.Required": "{0} 插件名称不可为空",

    "Enable": "设备使能",
    "LogEnable": "启用调试日志",
    "LogLevel": "日志等级",
    "RedundantEnable": "启用冗余",
    "RedundantDeviceId": "冗余设备",
    "RedundantSwitchType": "冗余操作模式",
    "RedundantScanIntervalTime": "冗余检测时间",
    "RedundantScript": "冗余检测脚本",
    "Remark1": "备用1",
    "Remark2": "备用2",
    "Remark3": "备用3",
    "Remark4": "备用4",
    "Remark5": "备用5",

    "RedundantDeviceNotNull": "启用冗余时，必须选择备用设备",

    "SaveDevice": "添加/修改设备",
    "CopyDevice": "复制设备",
    "DeleteDevice": "删除设备",
    "ClearDevice": "清空设备",
    "ExportDevice": "导出设备",
    "ImportDevice": "导入设备",

    "DeviceStatus": "设备状态",

    "ImportNullError": "无法识别",
    "RedundantDeviceError": "冗余设备错误",
    "ChannelError": "通道错误",
    "NotNull": " {0} 不存在",
    "DeviceNotNull": "设备名称不存在",
    "PluginNotNull": "插件不存在"
  },
  "ThingsGateway.Gateway.Application.VariableRuntime": {
    "ChangeTime": "变化时间",
    "CollectTime": "采集时间",
    "DeviceName": "设备名称",
    "IsOnline": "在线",
    "LastErrorMessage": "离线原因",
    "LastSetValue": "上次值",
    "RawValue": "原始值",
    "Value": "实时值",
    "AlarmEnable": "报警使能",

    "Name": "名称",
    "Name.Required": " {0} 不可为空",
    "Description": "描述",
    "DeviceId": "采集设备",
    "DeviceId.MinValue": " {0} 不可为空",
    "DeviceId.Required": " {0} 不可为空",
    "IntervalTime": "执行间隔",
    "IntervalTime.MinValue": " {0} 值太小",

    "ArrayLength": "数组长度",
    "Enable": "变量使能",
    "ProtectType": "读写权限",
    "DataType": "数据类型",
    "ReadExpressions": "读取表达式",
    "WriteExpressions": "写入表达式",
    "RpcWriteEnable": "远程写入",
    "SaveValue": "保存初始值",

    "AlarmDelay": "报警延时",
    "BoolOpenAlarmEnable": "布尔开报警使能",
    "BoolOpenRestrainExpressions": "布尔开报警约束",
    "BoolOpenAlarmText": "布尔开报警文本",

    "BoolCloseAlarmEnable": "布尔关报警使能",
    "BoolCloseRestrainExpressions": "布尔关报警约束",
    "BoolCloseAlarmText": "布尔关报警文本",

    "HAlarmEnable": "高报使能",
    "HRestrainExpressions": "高报约束",
    "HAlarmText": "高报文本",
    "HAlarmCode": "高限值",

    "HHAlarmEnable": "高高报使能",
    "HHRestrainExpressions": "高高报约束",
    "HHAlarmText": "高高报文本",
    "HHAlarmCode": "高高限值",

    "LAlarmEnable": "低报使能",
    "LRestrainExpressions": "低报约束",
    "LAlarmText": "低报文本",
    "LAlarmCode": "低限值",

    "LLAlarmEnable": "低低报使能",
    "LLRestrainExpressions": "低低报约束",
    "LLAlarmText": "低低报文本",
    "LLAlarmCode": "低低限值",

    "CustomAlarmEnable": "自定义报警使能",
    "CustomRestrainExpressions": "自定义报警约束",
    "CustomAlarmText": "自定义报警文本",
    "CustomAlarmCode": "自定义报警限值",

    "Unit": "单位",
    "RegisterAddress": "变量地址",
    "OtherMethod": "特殊方法",

    "Remark1": "备用1",
    "Remark2": "备用2",
    "Remark3": "备用3",
    "Remark4": "备用4",
    "Remark5": "备用5",

    "AlarmCode": "报警值",
    "AlarmLimit": "报警限值",
    "AlarmText": "报警文本",
    "AlarmTime": "报警时间",
    "AlarmType": "报警类型",
    "EventTime": "事件时间",
    "EventType": "事件类型"
  },

  "ThingsGateway.Gateway.Application.BusinessBase": {
    "IntervalInsertVariableFail": "间隔上传变量失败",
    "IntervalInsertDeviceFail": "间隔上传设备失败",
    "IntervalInsertAlarmFail": "间隔上传报警失败"
  },
  "ThingsGateway.Gateway.Application.CollectBase": {
    "VariablePackError": "变量打包失败 {0} ",
    "GetMethodError": "插件方法初始化失败 {0} ",
    "MethodNotNull": "特殊方法变量 {0} 找不到执行方法 {1}，请检查现有方法列表",
    "CollectFail": "{0} - 采集[{1} - {2}] 数据失败  {3}",
    "CollectSuccess": "{0} - 采集[{1} - {2}] 数据成功  {3}",
    "MethodFail": "{0} - 执行方法[{1}] - 失败  {2}",
    "MethodSuccess": "{0} - 执行方法[{1}] - 成功  {2}",
    "WriteExpressionsError": " {0} 转换写入表达式 {1} 失败 {2} "
  },

  "ThingsGateway.Gateway.Application.DriverBase": {
    "DeviceTaskStart": "设备 {0} 线程开始",
    "DeviceTaskStartTimeout": "设备 {0} 线程启动超时 {1} s",
    "DeviceTaskStop": "设备 {0} 线程停止",
    "DeviceTaskPause": "设备 {0} 线程暂停",
    "DeviceTaskContinue": "设备 {0} 线程继续"
  },

  "ThingsGateway.Gateway.Application.DeviceThreadManage": {
    "InitFail": "插件 {0} 设备 {1} 初始化失败",
    "ChannelCreate": "通道 {0} 创建",
    "ChannelDispose": "通道 {0} 销毁"
  },

  "ThingsGateway.Gateway.Application.AlarmHostedService": {
    "RealAlarmTask": "实时报警服务",
    "RealAlarmTaskStart": "实时报警服务启动"
  },
  "ThingsGateway.Gateway.Application.PluginService": {
    "LoadTypeSuccess": "加载插件 {0} 成功",
    "LoadTypeFail1": "加载插件 {0} 失败，插件类型不存在",
    "LoadTypeFail2": "加载插件文件 {0} 失败，文件不存在",
    "PluginNotFound": "没有发现插件类型",
    "LoadOtherFileFail": "尝试加载附属程序集 {0} 失败，如果此程序集为DllImport，可以忽略此警告。",
    "LoadPluginFail": "加载插件 {0} 失败",
    "AddPluginFile": "添加插件文件 {0}"
  },
  "ThingsGateway.Gateway.Application.PluginInfo": {
    "FullName": "插件全名称",
    "FileName": "插件文件",
    "PluginType": "插件类型",
    "Name": "插件名称",
    "DeviceCount": "关联设备数量",
    "Version": "插件版本",
    "LastWriteTime": "插件编译时间"
  },
  "ThingsGateway.Gateway.Application.PluginAddInput": {
    "MainFile": "主程序集",
    "OtherFiles": "附属程序集，可上传多个",
    "SavePlugin": "添加/修改插件"
  },

  "ThingsGateway.Gateway.Application.BackendLog": {
    "LogTime": "时间",
    "LogLevel": "日志级别",
    "LogSource": "日志来源",
    "LogMessage": "具体消息",
    "Exception": "异常对象",

    "DeleteBackendLog": "删除后台日志"
  },

  "ThingsGateway.Gateway.Application.RpcLog": {
    "LogTime": "时间",
    "OperateSource": "操作源",
    "OperateObject": "操作对象",
    "OperateMethod": "RPC方法",
    "IsSuccess": "操作结果",
    "ParamJson": "请求参数",
    "ResultJson": "返回结果",
    "OperateMessage": "具体消息",

    "DeleteRpc": "删除RPC日志"
  },

  "ThingsGateway.Gateway.Application.Device": {
    "Name": "名称",
    "Name.Required": " {0} 不可为空",
    "Description": "描述",
    "ChannelId": "通道",
    "ChannelId.MinValue": " {0} 不可为空",
    "ChannelId.Required": " {0} 不可为空",
    "IntervalTime": "默认执行间隔",
    "IntervalTime.MinValue": " {0} 值太小",
    "LogEnable": "启用调试日志",
    "LogLevel": "日志等级",
    "Enable": "设备使能",

    "RedundantEnable": "启用冗余",
    "RedundantDeviceId": "冗余设备",
    "RedundantSwitchType": "冗余操作模式",
    "RedundantScanIntervalTime": "冗余检测时间",
    "RedundantScript": "冗余检测脚本",

    "Remark1": "备用1",
    "Remark2": "备用2",
    "Remark3": "备用3",
    "Remark4": "备用4",
    "Remark5": "备用5",

    "RedundantDeviceNotNull": "启用冗余时，必须选择备用设备",

    "SaveDevice": "添加/修改设备",
    "CopyDevice": "复制设备",
    "DeleteDevice": "删除设备",
    "ClearDevice": "清空设备",
    "ExportDevice": "导出设备",
    "ImportDevice": "导入设备",

    "ImportNullError": "无法识别",
    "RedundantDeviceError": "冗余设备错误",
    "ChannelError": "通道错误",
    "NotNull": " {0} 不存在",
    "DeviceNotNull": "设备名称不存在",
    "PluginNotNull": "插件不存在",
    "NameDump": "设备名称 {0} 重复"
  },
  "ThingsGateway.Gateway.Application.ChannelRuntime": {
    "Name": "名称",
    "Name.Required": " {0} 不可为空",
    "ChannelType": "通道类型",
    "Enable": "启用",
    "LogEnable": "启用调试日志",
    "LogLevel": "日志等级",
    "PluginName": "插件名称",
    "PluginName.Required": "{0} 插件名称不可为空",

    "RemoteUrl": "远程IP地址",
    "BindUrl": "本地绑定IP地址",

    "PortName": "COM口",
    "BaudRate": "波特率",
    "DataBits": "数据位",
    "Parity": "校验位",
    "StopBits": "停止位",
    "DtrEnable": "Dtr",
    "RtsEnable": "Rts",
    "CacheTimeout": "接收缓存超时",
    "ConnectTimeout": "连接超时",
    "MaxConcurrentCount": "最大并发数",

    "SaveChannel": "添加/修改通道",
    "DeleteChannel": "删除通道",
    "ClearChannel": "清空通道",
    "ExportChannel": "导出通道",
    "ImportChannel": "导入通道",

    "ImportNullError": "无法识别",

    "NotOther": "不支持其他通道类型",
    "Connect": "连接",
    "Confim": "创建",
    "Disconnect": "断开",
    "Channel": "通道",
    "NameDump": "通道名称 {0} 重复",

    "DeviceRuntimeCounts": "设备数量"
  },

  "ThingsGateway.Gateway.Application.Channel": {
    "Name": "名称",
    "Name.Required": " {0} 不可为空",
    "ChannelType": "通道类型",
    "Enable": "启用",
    "LogEnable": "启用调试日志",
    "PluginName": "插件名称",
    "PluginName.Required": "{0} 插件名称不可为空",
    "LogLevel": "日志等级",

    "RemoteUrl": "远程IP地址",
    "BindUrl": "本地绑定IP地址",

    "PortName": "COM口",
    "BaudRate": "波特率",
    "DataBits": "数据位",
    "Parity": "校验位",
    "StopBits": "停止位",
    "DtrEnable": "Dtr",
    "RtsEnable": "Rts",
    "CacheTimeout": "接收缓存超时",
    "ConnectTimeout": "连接超时",
    "MaxConcurrentCount": "最大并发数",

    "SaveChannel": "添加/修改通道",
    "DeleteChannel": "删除通道",
    "ClearChannel": "清空通道",
    "ExportChannel": "导出通道",
    "ImportChannel": "导入通道",

    "ImportNullError": "无法识别",

    "NotOther": "不支持其他通道类型",
    "Connect": "连接",
    "Confim": "创建",
    "Disconnect": "断开",
    "Channel": "通道",
    "NameDump": "通道名称 {0} 重复"
  },

  "ThingsGateway.Gateway.Application.Variable": {
    "AddressOrOtherMethodNotNull": " 变量地址或特殊方法不能同时为空 ",
    "SaveVariable": "添加/修改变量",
    "CopyVariable": "复制变量",
    "DeleteVariable": "删除变量",
    "ClearVariable": "清空变量",
    "ExportVariable": "导出变量",
    "ImportVariable": "导入变量",

    "NotNull": " {0} 不存在",
    "DeviceNotNull": "设备名称不存在",
    "PluginNotNull": "插件不存在",
    "VariableNotNull": "变量名称不存在",

    "Name": "名称",
    "Name.Required": " {0} 不可为空",
    "Description": "描述",
    "DeviceId": "采集设备",
    "DeviceId.MinValue": " {0} 不可为空",
    "DeviceId.Required": " {0} 不可为空",
    "IntervalTime": "执行间隔",
    "IntervalTime.MinValue": " {0} 值太小",
    "ArrayLength": "数组长度",

    "Enable": "变量使能",
    "ProtectType": "读写权限",
    "DataType": "数据类型",
    "ReadExpressions": "读取表达式",
    "WriteExpressions": "写入表达式",
    "RpcWriteEnable": "远程写入",
    "Value": "初始值",
    "SaveValue": "保存初始值",

    "AlarmDelay": "报警延时",
    "BoolOpenAlarmEnable": "布尔开报警使能",
    "BoolOpenRestrainExpressions": "布尔开报警约束",
    "BoolOpenAlarmText": "布尔开报警文本",

    "BoolCloseAlarmEnable": "布尔关报警使能",
    "BoolCloseRestrainExpressions": "布尔关报警约束",
    "BoolCloseAlarmText": "布尔关报警文本",

    "HAlarmEnable": "高报使能",
    "HRestrainExpressions": "高报约束",
    "HAlarmText": "高报文本",
    "HAlarmCode": "高限值",

    "HHAlarmEnable": "高高报使能",
    "HHRestrainExpressions": "高高报约束",
    "HHAlarmText": "高高报文本",
    "HHAlarmCode": "高高限值",

    "LAlarmEnable": "低报使能",
    "LRestrainExpressions": "低报约束",
    "LAlarmText": "低报文本",
    "LAlarmCode": "低限值",

    "LLAlarmEnable": "低低报使能",
    "LLRestrainExpressions": "低低报约束",
    "LLAlarmText": "低低报文本",
    "LLAlarmCode": "低低限值",

    "CustomAlarmEnable": "自定义报警使能",
    "CustomRestrainExpressions": "自定义报警约束",
    "CustomAlarmText": "自定义报警文本",
    "CustomAlarmCode": "自定义报警限值",

    "Unit": "单位",
    "RegisterAddress": "变量地址",
    "OtherMethod": "特殊方法",

    "Remark1": "备用1",
    "Remark2": "备用2",
    "Remark3": "备用3",
    "Remark4": "备用4",
    "Remark5": "备用5",

    "NameDump": "变量名称 {0} 重复"
  },

  "ThingsGateway.Gateway.Application.RpcLogPageInput": {
    "SearchDate": "时间区间",
    "OperateObject": "操作对象",
    "OperateSource": "操作源"
  },
  "ThingsGateway.Gateway.Application.BackendLogPageInput": {
    "SearchDate": "时间区间",
    "LogLevel": "日志等级",
    "LogSource": "日志源"
  },
  "ThingsGateway.Gateway.Application.RpcService": {
    "VariableNotNull": " {0} 变量不存在",
    "VariableReadOnly": " {0} 变量只读",
    "VariableWriteDisable": " {0} 变量不允许写入",
    "DriverNotNull": "系统错误，不存在对应采集设备，请稍候重试",
    "DevicePause": " {0} 设备已暂停",
    "WriteVariable": "写入变量"
  },
  "ThingsGateway.Gateway.Application.ExportString": {
    "VariableName": "变量",
    "RedundantDeviceName": "冗余设备",
    "ChannelName": "通道",
    "DeviceName": "设备"
  },

  "ThingsGateway.Gateway.Application.ProtectTypeEnum": {
    "ReadOnly": "只读",
    "ReadWrite": "读写",
    "WriteOnly": "只写"
  }
}
