多语言

This commit is contained in:
iioter 2024-01-08 22:18:16 +08:00
parent cd7352ee6f
commit 231534125a
17 changed files with 301 additions and 78 deletions

View File

@ -4,26 +4,26 @@ namespace IoTGateway.Model
{
public enum DeviceTypeEnum
{
[Display(Name = "Collection Group")]
[Display(Name = "Group")]
Group = 0,
[Display(Name = "Collection Device")]
[Display(Name = "Device")]
Device = 1
}
public enum AccessEnum
{
[Display(Name = "Read Only")]
[Display(Name = "ReadOnly")]
ReadOnly = 0,
[Display(Name = "Read and write")]
[Display(Name = "ReadWrite")]
ReadAndWrite = 1
}
public enum DataSide
{
[Display(Name = "Shared Properties")]
[Display(Name = "AnySide")]
AnySide=0,
//ServerSide=1,
[Display(Name = "Client Properties")]
[Display(Name = "ClientSide")]
ClientSide =2,
}
}

View File

@ -7,7 +7,7 @@ namespace IoTGateway.Model
{
public class Device : TreePoco<Device>, IBasePoco
{
[Display(Name = "Device Name")]
[Display(Name = "DeviceName")]
public string DeviceName { get; set; }
[Display(Name = "Sort")]
@ -17,31 +17,31 @@ namespace IoTGateway.Model
public string Description { get; set; }
public Driver Driver { get; set; }
[Display(Name = "Device PLC")]
[Display(Name = "Driver")]
public Guid? DriverId { get; set; }
[Display(Name = "Start up")]
[Display(Name = "AutoStart")]
public bool AutoStart { get; set; }
[Display(Name = "Change upload")]
[Display(Name = "ChangeUpload")]
public bool CgUpload { get; set; }
[Display(Name = "Archiving cycle ms")]
[Display(Name = "EnforcePeriodms")]
public uint EnforcePeriod { get; set; }
[Display(Name = "Command interval ms")]
[Display(Name = "CmdPeriodms")]
public uint CmdPeriod { get; set; }
[Display(Name = "Device Type")]
[Display(Name = "Type")]
public DeviceTypeEnum DeviceTypeEnum { get; set; }
[Display(Name = "Creation time")]
[Display(Name = "CreateTime")]
public DateTime? CreateTime { get; set; }
[Display(Name = "Founder")]
[Display(Name = "CreateBy")]
public string CreateBy { get; set; }
[Display(Name = "Update time")]
[Display(Name = "UpdateTime")]
public DateTime? UpdateTime { get; set; }
[Display(Name = "updater")]
[Display(Name = "UpdateBy")]
public string UpdateBy { get; set; }
public List<DeviceConfig> DeviceConfigs { get; set; }

View File

@ -6,9 +6,9 @@ namespace IoTGateway.Model
{
public class DeviceConfig : BasePoco
{
[Display(Name = "Name")]
[Display(Name = "ConfigName")]
public string DeviceConfigName { get; set; }
[Display(Name = "attribute side")]
[Display(Name = "DataSide")]
public DataSide DataSide { get; set; }
[Display(Name = "Description")]
public string Description { get; set; }
@ -17,7 +17,7 @@ namespace IoTGateway.Model
[Display(Name = "Remark")]
public string EnumInfo { get; set; }
public Device Device { get; set; }
[Display(Name = "ID")]
[Display(Name = "Device")]
public Guid? DeviceId { get; set; }
}
}

View File

@ -10,7 +10,7 @@ namespace IoTGateway.Model
{
public class DeviceVariable : TopBasePoco, IVariable
{
[Display(Name = "Tag Name")]
[Display(Name = "VariableName")]
public string Name { get; set; }
[Display(Name = "Description")]
@ -37,34 +37,35 @@ namespace IoTGateway.Model
[Display(Name = "Permissions")]
public ProtectTypeEnum ProtectType { get; set; }
[Display(Name = "sort")]
[Display(Name = "Sort")]
public uint Index { get; set; }
[Newtonsoft.Json.JsonIgnore]
public Device Device { get; set; }
[Display(Name = "Device Name")]
[Display(Name = "Device")]
public Guid? DeviceId { get; set; }
[Display(Name = "Alias")]
public string Alias { get; set; }
[NotMapped]
[Display(Name = "Value")]
[Display(Name = "RawValue")]
public object Value { get; set; }
[NotMapped]
[Display(Name = "CookedValue")]
public object CookedValue { get; set; }
[NotMapped]
[Display(Name = "Message")]
public string Message { get; set; }
[NotMapped]
[Display(Name = "Update time")]
[Display(Name = "Timestamp")]
public DateTime Timestamp { get; set; }
[NotMapped]
[Display(Name = "State")]
[Display(Name = "Status")]
[JsonConverter(typeof(StringEnumConverter))]
public VaribaleStatusTypeEnum StatusType { get; set; } = VaribaleStatusTypeEnum.UnKnow;
[NotMapped][Display(Name = "The Most Recent Values")] public object[] Values { get; set; } = new object[3];
[NotMapped][Display(Name = "MostRecentValues")] public object[] Values { get; set; } = new object[3];
public void EnqueueVariable(object value)
{
Values[2] = Values[1];

View File

@ -6,13 +6,13 @@ namespace IoTGateway.Model
{
public class Driver : BasePoco
{
[Display(Name = "Name")]
[Display(Name = "DriverName")]
public string DriverName { get; set; }
[Display(Name = "FileName")]
public string FileName { get; set; }
[Display(Name = "AssembleName")]
public string AssembleName { get; set; }
[Display(Name = "Number of licenses remaining")]
[Display(Name = "Remains")]
public int AuthorizesNum { get; set; }
}
}

View File

@ -5,7 +5,7 @@ namespace IoTGateway.Model
{
public interface IVariable
{
[Display(Name = "Variable Name")]
[Display(Name = "VariableName")]
public string Name { get; set; }
[Display(Name = "Description")]
@ -20,7 +20,7 @@ namespace IoTGateway.Model
[Display(Name = "Expressions")]
public string Expressions { get; set; }
[Display(Name = "Permissions")]
[Display(Name = "Permission")]
public ProtectTypeEnum ProtectType { get; set; }
}
}

View File

@ -10,27 +10,27 @@ namespace IoTGateway.Model
{
public class RpcLog:TopBasePoco
{
[Display(Name = "Initiator")]
[Display(Name = "RpcSide")]
public RpcSide RpcSide { get; set; }
[Display(Name = "Starting Time")]
[Display(Name = "StartTime")]
public DateTime StartTime { get; set; }
public Device Device { get; set; }
[Display(Name = "ID")]
[Display(Name = "Device")]
public Guid? DeviceId { get; set; }
[Display(Name = "Method")]
public string Method { get; set; }
[Display(Name = "Request Parameters")]
[Display(Name = "Parameters")]
public string Params { get; set; }
[Display(Name = "End Time")]
[Display(Name = "EndTime")]
public DateTime EndTime { get; set; }
[Display(Name = "Result")]
[Display(Name = "IsSuccess")]
public bool IsSuccess { get; set; }
[Display(Name = "Description")]
@ -39,9 +39,9 @@ namespace IoTGateway.Model
public enum RpcSide
{
[Display(Name = "Server Request")]
[Display(Name = "ServerSide")]
ServerSide=1,
[Display(Name = "Client Request")]
[Display(Name = "ClientSide")]
ClientSide =1
}
}

View File

@ -5,19 +5,19 @@ namespace IoTGateway.Model
{
public class SystemConfig : BasePoco
{
[Display(Name = "Gateway Name")]
[Display(Name = "GatewayName")]
public string GatewayName { get; set; }
[Display(Name = "ClientId")]
public string ClientId { get; set; }
[Display(Name = "Mqtt Server ")]
[Display(Name = "MqttServer ")]
public string MqttIp { get; set; }
[Display(Name = "Mqtt Port")]
[Display(Name = "MqttPort")]
public int MqttPort { get; set; }
[Display(Name = "Mqtt UserName")]
[Display(Name = "UserName")]
public string MqttUName { get; set; }
[Display(Name = "Mqtt Password")]
[Display(Name = "Password")]
public string MqttUPwd { get; set; }
[Display(Name = "Output platform")]
[Display(Name = "OutputPlatform")]
public IoTPlatformType IoTPlatformType { get; set; }
}
public enum IoTPlatformType
@ -26,17 +26,17 @@ namespace IoTGateway.Model
ThingsBoard =0,
[Display(Name = "IoTSharp")]
IoTSharp =1,
[Display(Name = "Alibaba Internet of Things Platform")]
[Display(Name = "AliIoT")]
AliCloudIoT=2,
[Display(Name = "Tencent Intelligent Cloud")]
[Display(Name = "TencentIoTHub")]
TencentIoTHub =3,
[Display(Name = "Baidu Internet of Things Communication")]
[Display(Name = "BaiduIoTCore")]
BaiduIoTCore =4,
[Display(Name = "中移OneNet")]
[Display(Name = "OneNet")]
OneNET = 5,
[Display(Name = "ThingsCloud")]
ThingsCloud = 6,
[Display(Name = "Huawei Cloud")]
[Display(Name = "HuaWeiCloud")]
HuaWei = 7,
[Display(Name = "IoTGateway")]
IoTGateway = 8

View File

@ -93,7 +93,7 @@ namespace IoTGateway.ViewModel.BasicData.DeviceConfigVMs
public class DeviceConfig_View : DeviceConfig
{
[Display(Name = "设备名")]
[Display(Name = "DeviceName")]
public String DeviceName_view { get; set; }
}

View File

@ -18,10 +18,10 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVMs
{
return new List<GridAction>
{
this.MakeAction("Device","Copy","设备复制","设备复制", GridActionParameterTypesEnum.SingleId,"BasicData",600).SetIconCls("layui-icon layui-icon-template-1").SetPromptMessage("你确定复制设备,包括配置参数和变量?").SetDialogTitle("复制设备确认").SetHideOnToolBar(true).SetShowInRow(true).SetBindVisiableColName("copy"),
this.MakeAction("Device","Attribute","请求属性","请求属性", GridActionParameterTypesEnum.SingleId,"BasicData",600).SetIconCls("layui-icon layui-icon-download-circle").SetPromptMessage("你确定请求客户端属性和共享属性吗?").SetDialogTitle("请求属性确认").SetHideOnToolBar(true).SetShowInRow(true).SetBindVisiableColName("attribute"),
this.MakeAction("Device","CreateGroup","创建组","创建组", GridActionParameterTypesEnum.NoId,"BasicData",600).SetIconCls("_wtmicon _wtmicon-zuzhiqunzu").SetDialogTitle("创建组").SetShowInRow(false),
this.MakeStandardAction("Device", GridActionStandardTypesEnum.Create, "创建设备","BasicData", dialogWidth: 800,name:"创建设备").SetIconCls("layui-icon layui-icon-senior"),
this.MakeAction("Device","Copy",Localizer["CopyDevice"],Localizer["CopyDevice"], GridActionParameterTypesEnum.SingleId,"BasicData",600).SetIconCls("layui-icon layui-icon-template-1").SetPromptMessage("你确定复制设备,包括配置参数和变量?").SetDialogTitle(Localizer["CopyDevice"]).SetHideOnToolBar(true).SetShowInRow(true).SetBindVisiableColName("copy"),
this.MakeAction("Device","Attribute",Localizer["RequestAttribute"],Localizer["RequestAttribute"], GridActionParameterTypesEnum.SingleId,"BasicData",600).SetIconCls("layui-icon layui-icon-download-circle").SetPromptMessage("你确定请求客户端属性和共享属性吗?").SetDialogTitle(Localizer["RequestAttribute"]).SetHideOnToolBar(true).SetShowInRow(true).SetBindVisiableColName("attribute"),
this.MakeAction("Device",Localizer["CreateGroup"],Localizer["CreateGroup"],Localizer["CreateGroup"], GridActionParameterTypesEnum.NoId,"BasicData",600).SetIconCls("_wtmicon _wtmicon-zuzhiqunzu").SetDialogTitle(Localizer["CreateGroup"]).SetShowInRow(false),
this.MakeStandardAction("Device", GridActionStandardTypesEnum.Create, Localizer["CreateDevice"],"BasicData", dialogWidth: 800,name:Localizer["CreateDevice"]).SetIconCls("layui-icon layui-icon-senior"),
this.MakeStandardAction("Device", GridActionStandardTypesEnum.Edit, Localizer["Sys.Edit"], "BasicData", dialogWidth: 800),
this.MakeStandardAction("Device", GridActionStandardTypesEnum.Delete, Localizer["Sys.Delete"], "BasicData", dialogWidth: 800),
this.MakeStandardAction("Device", GridActionStandardTypesEnum.Details, Localizer["Sys.Details"], "BasicData", dialogWidth: 800),
@ -29,7 +29,7 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVMs
this.MakeStandardAction("Device", GridActionStandardTypesEnum.BatchDelete, Localizer["Sys.BatchDelete"], "BasicData", dialogWidth: 800),
//this.MakeStandardAction("Device", GridActionStandardTypesEnum.Import, Localizer["Sys.Import"], "BasicData", dialogWidth: 800),
this.MakeStandardAction("Device", GridActionStandardTypesEnum.ExportExcel, Localizer["Sys.Export"], "BasicData"),
this.MakeAction("Device","ImportExcel","导入Excel","导入Excel", GridActionParameterTypesEnum.NoId,"BasicData",600).SetIconCls("layui-icon layui-icon-upload-circle").SetDialogTitle("导入Excel模板").SetHideOnToolBar(false).SetShowInRow(false),
this.MakeAction("Device","ImportExcel",Localizer["ImportExcel"],Localizer["ImportExcel"], GridActionParameterTypesEnum.NoId,"BasicData",600).SetIconCls("layui-icon layui-icon-upload-circle").SetDialogTitle(Localizer["ImportExcel"]).SetHideOnToolBar(false).SetShowInRow(false),
};
}
@ -103,7 +103,7 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVMs
AutoStart = y.AutoStart,
CgUpload = y.CgUpload,
EnforcePeriod = y.EnforcePeriod,
CmdPeriod=y.CmdPeriod,
CmdPeriod = y.CmdPeriod,
Description = y.Description,
DeviceTypeEnum = y.DeviceTypeEnum,
DriverName_view = y.Driver?.DriverName,
@ -122,9 +122,9 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVMs
public class Device_View : Device
{
[Display(Name = "驱动名")]
[Display(Name = "DriverName")]
public String DriverName_view { get; set; }
[Display(Name = "父级名")]
[Display(Name = "GroupName")]
public String DeviceName_view { get; set; }
public int ExtraOrder { get; set; }
}

View File

@ -21,7 +21,7 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVariableVMs
{
return new List<GridAction>
{
this.MakeAction("DeviceVariable","SetValue","写入值","写入值", GridActionParameterTypesEnum.MultiIds,"BasicData",600).SetIconCls("_wtmicon _wtmicon-xiayibu").SetHideOnToolBar(false).SetShowInRow(false).SetBindVisiableColName("setValue"),
this.MakeAction("DeviceVariable","SetValue",Localizer["WriteValue"],Localizer["WriteValue"], GridActionParameterTypesEnum.MultiIds,"BasicData",600).SetIconCls("_wtmicon _wtmicon-xiayibu").SetHideOnToolBar(false).SetShowInRow(false).SetBindVisiableColName("setValue"),
this.MakeStandardAction("DeviceVariable", GridActionStandardTypesEnum.Create, Localizer["Sys.Create"],"BasicData", dialogWidth: 800),
this.MakeStandardAction("DeviceVariable", GridActionStandardTypesEnum.Edit, Localizer["Sys.Edit"], "BasicData", dialogWidth: 800),
this.MakeStandardAction("DeviceVariable", GridActionStandardTypesEnum.Delete, Localizer["Sys.Delete"], "BasicData", dialogWidth: 800),
@ -210,7 +210,7 @@ namespace IoTGateway.ViewModel.BasicData.DeviceVariableVMs
public class DeviceVariable_View : DeviceVariable
{
[Display(Name = "设备名")]
[Display(Name = "DeviceName")]
public string DeviceName_view { get; set; }
}
}

View File

@ -67,34 +67,34 @@ namespace IoTGateway.ViewModel.MqttClient.MqttServerVMs
}
public class MqttClient_View : TopBasePoco
{
[Display(Name = "客户端Id")]
[Display(Name = "ClientId")]
public string ClientId { get; set; }
[Display(Name = "Endpoint")]
public string Endpoint { get; set; }
[Display(Name = "收消息数")]
[Display(Name = "RxMessages")]
public long ReceivedApplicationMessagesCount { get; set; }
[Display(Name = "收发消息数")]
[Display(Name = "TxMessages")]
public long SentApplicationMessagesCount { get; set; }
[Display(Name = "收包数")]
[Display(Name = "RxPackets")]
public long ReceivedPacketsCount { get; set; }
[Display(Name = "发包数")]
[Display(Name = "TxPackets")]
public long SentPacketsCount { get; set; }
[Display(Name = "发字节数")]
[Display(Name = "TxBytes")]
public long BytesSent { get; set; }
[Display(Name = "收字节数")]
[Display(Name = "RxBytes")]
public long BytesReceived { get; set; }
[Display(Name = "未决消息数")]
[Display(Name = "PendingMessage")]
public long PendingApplicationMessagesCount { get; set; }
[Display(Name = "协议版本")]
[Display(Name = "ProtocolVersion")]
public MqttProtocolVersion MqttProtocolVersion { get; set; }
}

View File

@ -38,7 +38,7 @@ namespace IoTGateway.ViewModel.Rpc.RpcLogVMs
this.MakeGridHeader(x => x.DeviceName_view),
this.MakeGridHeader(x => x.Method),
this.MakeGridHeader(x => x.Params),
this.MakeGridHeader(x => x.IsSuccess).SetHeader("是否成功"),
this.MakeGridHeader(x => x.IsSuccess),
this.MakeGridHeader(x => x.Description),
this.MakeGridHeaderAction(width: 200)
};
@ -92,9 +92,9 @@ namespace IoTGateway.ViewModel.Rpc.RpcLogVMs
public class RpcLog_View : RpcLog
{
[Display(Name = "设备名")]
[Display(Name = "DeviceName")]
public String DeviceName_view { get; set; }
[Display(Name = "持续时间(ms)")]
[Display(Name = "Duration(ms)")]
public double Duration { get; set; }
}

View File

@ -117,6 +117,36 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Address" xml:space="preserve">
<value>地址</value>
</data>
<data name="Alias" xml:space="preserve">
<value>别名</value>
</data>
<data name="AnySide" xml:space="preserve">
<value>共享属性</value>
</data>
<data name="AssembleName" xml:space="preserve">
<value>程序集名</value>
</data>
<data name="AutoStart" xml:space="preserve">
<value>启动</value>
</data>
<data name="ChangeUpload" xml:space="preserve">
<value>变化上传</value>
</data>
<data name="Client Status" xml:space="preserve">
<value>客户端状态</value>
</data>
<data name="ClientId" xml:space="preserve">
<value>客户端Id</value>
</data>
<data name="ClientSide" xml:space="preserve">
<value>客户端属性</value>
</data>
<data name="CmdPeriodms" xml:space="preserve">
<value>指令间隔ms</value>
</data>
<data name="Codegen.ApiOnly" xml:space="preserve">
<value>勾选此项将只生成api而没有前端代码</value>
</data>
@ -207,6 +237,87 @@
<data name="Codegen.VMNs" xml:space="preserve">
<value>VM命名空间</value>
</data>
<data name="Communication" xml:space="preserve">
<value>通讯配置</value>
</data>
<data name="ConfigName" xml:space="preserve">
<value>名称</value>
</data>
<data name="CookedValue" xml:space="preserve">
<value>值</value>
</data>
<data name="CopyDevice" xml:space="preserve">
<value>复制设备</value>
</data>
<data name="CreateDevice" xml:space="preserve">
<value>创建设备</value>
</data>
<data name="CreateGroup" xml:space="preserve">
<value>创建组</value>
</data>
<data name="DataCollect Conf" xml:space="preserve">
<value>采集配置</value>
</data>
<data name="DataSide" xml:space="preserve">
<value>属性侧</value>
</data>
<data name="DataType" xml:space="preserve">
<value>类型</value>
</data>
<data name="Description" xml:space="preserve">
<value>描述</value>
</data>
<data name="Device" xml:space="preserve">
<value>设备</value>
</data>
<data name="DeviceName" xml:space="preserve">
<value>设备名</value>
</data>
<data name="Devices" xml:space="preserve">
<value>设备维护</value>
</data>
<data name="Driver" xml:space="preserve">
<value>驱动</value>
</data>
<data name="DriverName" xml:space="preserve">
<value>驱动名</value>
</data>
<data name="Drivers" xml:space="preserve">
<value>驱动管理</value>
</data>
<data name="Duration(ms)" xml:space="preserve">
<value>持续时间(ms)</value>
</data>
<data name="EndianType" xml:space="preserve">
<value>大小端</value>
</data>
<data name="EndTime" xml:space="preserve">
<value>结束时间</value>
</data>
<data name="EnforcePeriodms" xml:space="preserve">
<value>归档周期ms</value>
</data>
<data name="Expressions" xml:space="preserve">
<value>表达式</value>
</data>
<data name="FileName" xml:space="preserve">
<value>文件名</value>
</data>
<data name="Gateway Conf" xml:space="preserve">
<value>网关配置</value>
</data>
<data name="GatewayName" xml:space="preserve">
<value>网关名称</value>
</data>
<data name="Group" xml:space="preserve">
<value>组</value>
</data>
<data name="ImportExcel" xml:space="preserve">
<value>导入Excel</value>
</data>
<data name="IsSuccess" xml:space="preserve">
<value>是否成功</value>
</data>
<data name="Login.ChangePassword" xml:space="preserve">
<value>修改密码</value>
</data>
@ -288,9 +399,81 @@
<data name="MenuMangement" xml:space="preserve">
<value>菜单管理</value>
</data>
<data name="Method" xml:space="preserve">
<value>方法</value>
</data>
<data name="MqttPort" xml:space="preserve">
<value>Mqtt端口</value>
</data>
<data name="MqttServer" xml:space="preserve">
<value>Mqtt服务器</value>
</data>
<data name="OutputPlatform" xml:space="preserve">
<value>输出平台</value>
</data>
<data name="Parameters" xml:space="preserve">
<value>参数</value>
</data>
<data name="Password" xml:space="preserve">
<value>密码</value>
</data>
<data name="PendingMessage" xml:space="preserve">
<value>未决消息数</value>
</data>
<data name="Permissions" xml:space="preserve">
<value>权限</value>
</data>
<data name="ProtocolVersion" xml:space="preserve">
<value>协议版本</value>
</data>
<data name="RawValue" xml:space="preserve">
<value>原值</value>
</data>
<data name="ReadOnly" xml:space="preserve">
<value>只读</value>
</data>
<data name="ReadWrite" xml:space="preserve">
<value>读写</value>
</data>
<data name="Reg.Success" xml:space="preserve">
<value>注册成功</value>
</data>
<data name="Remains" xml:space="preserve">
<value>剩余授权数量</value>
</data>
<data name="Remark" xml:space="preserve">
<value>备注</value>
</data>
<data name="RequestAttribute" xml:space="preserve">
<value>请求属性</value>
</data>
<data name="Rpc Logs" xml:space="preserve">
<value>Rpc日志</value>
</data>
<data name="RpcSide" xml:space="preserve">
<value>发起方</value>
</data>
<data name="RxBytes" xml:space="preserve">
<value>收字节数</value>
</data>
<data name="RxMessages" xml:space="preserve">
<value>收消息数</value>
</data>
<data name="RxPackets" xml:space="preserve">
<value>收包数</value>
</data>
<data name="ServerSide" xml:space="preserve">
<value>服务端</value>
</data>
<data name="Sort" xml:space="preserve">
<value>排序</value>
</data>
<data name="StartTime" xml:space="preserve">
<value>开始时间</value>
</data>
<data name="Status" xml:space="preserve">
<value>状态</value>
</data>
<data name="Sys.Account" xml:space="preserve">
<value>账号</value>
</data>
@ -672,6 +855,33 @@
<data name="Sys.{0}ValueTypeNotAllowed" xml:space="preserve">
<value>{0}输入的值不在允许的数据类型范围内</value>
</data>
<data name="Timestamp" xml:space="preserve">
<value>更新时间</value>
</data>
<data name="Transport" xml:space="preserve">
<value>传输配置</value>
</data>
<data name="Tutorial Docs" xml:space="preserve">
<value>教程文档</value>
</data>
<data name="TxBytes" xml:space="preserve">
<value>发字节数</value>
</data>
<data name="TxMessages" xml:space="preserve">
<value>收发消息数</value>
</data>
<data name="TxPackets" xml:space="preserve">
<value>发包数</value>
</data>
<data name="Type" xml:space="preserve">
<value>类型</value>
</data>
<data name="Upload" xml:space="preserve">
<value>上传</value>
</data>
<data name="UserName" xml:space="preserve">
<value>用户名</value>
</data>
<data name="Validate.{0}formaterror" xml:space="preserve">
<value>{0}格式错误</value>
</data>
@ -693,6 +903,18 @@
<data name="Validate.{0}stringmax{1}" xml:space="preserve">
<value>{0}最多输入{1}个字符</value>
</data>
<data name="Value" xml:space="preserve">
<value>值</value>
</data>
<data name="VariableName" xml:space="preserve">
<value>变量名</value>
</data>
<data name="Variables" xml:space="preserve">
<value>变量配置</value>
</data>
<data name="WriteValue" xml:space="preserve">
<value>写入值</value>
</data>
<data name="_Admin.Account" xml:space="preserve">
<value>账号</value>
</data>

Binary file not shown.

View File

@ -129,7 +129,7 @@ namespace Plugin
try
{
_logger.LogError($"MQTT DISCONNECTED WITH SERVER ");
await Client.DisconnectAsync();
await Client.ConnectAsync(_options);
}
catch (Exception ex)
{

View File

@ -49,15 +49,15 @@ namespace PluginInterface
TimeStampS,
[Display(Name = "Any")]
Any,
[Display(Name = "Custom 1")]
[Display(Name = "Custom1")]
Custome1,
[Display(Name = "Custom 2")]
[Display(Name = "Custom2")]
Custome2,
[Display(Name = "Custom 3")]
[Display(Name = "Custom3")]
Custome3,
[Display(Name = "Custom4")]
Custome4,
[Display(Name = "Custom 5")]
[Display(Name = "Custom5")]
Custome5,
[Display(Name = "Gb2312")]
Gb2312String,