Commit 36899304 authored by 潘栩锋's avatar 潘栩锋 🚴

修改 报警内容多国语言,在服务器中实现

parent d162d8d4
......@@ -115,8 +115,12 @@ namespace FLY.OBJComponents.Common
/// </summary>
public struct ERRNO
{
public UInt16 Code;
public string Descrption;
public int Code;
public string Description;
public override string ToString()
{
return $"[{Code}] {Description}";
}
}
public class PlcErrNos
......@@ -126,6 +130,6 @@ namespace FLY.OBJComponents.Common
/// <summary>
/// PLC连接断开
/// </summary>
public ERRNO ERRNO_PLC_DISCONNECTED = new ERRNO() { Code = 65535, Descrption = "PLC连接断开" };
public ERRNO ERRNO_PLC_DISCONNECTED = new ERRNO() { Code = 65535, Description = "PLC连接断开" };
}
}
......@@ -59,7 +59,7 @@ namespace FLY.OBJComponents.Server
//初始化 PLC连接断开的描述列表
int plcCnt = PLCos.PLCs.Count();
int errCode = plcErrCodeBegin;
string descrption = PlcErrNos.Instance.ERRNO_PLC_DISCONNECTED.Descrption;
string descrption = PlcErrNos.Instance.ERRNO_PLC_DISCONNECTED.Description;
for (int i = 0; i < plcCnt; i++)
{
plcDisconnectedErrMsgs.Add(new PlcDisconnectedErrMsg()
......
......@@ -86,7 +86,7 @@ namespace FLY.OBJComponents.Server
public void Add(ERRNO errno,bool canReset = true)
{
Add(errno.Code, errno.Descrption,canReset:canReset);
Add(errno.Code, errno.Description,canReset:canReset);
}
public void Remove(ERRNO errno)
{
......
......@@ -117,6 +117,7 @@
<DependentUpon>UcSingleStateTab.xaml</DependentUpon>
</Compile>
<Compile Include="DependOn\WarningSystem2ServiceClientWithName.cs" />
<Compile Include="IErrNoTranslator.cs" />
<Compile Include="OnInit\OnInitAutoScan.cs" />
<Compile Include="OnInit\OnInitControllerState.cs" />
<Compile Include="OnInit\OnInitWarnings.cs" />
......@@ -340,10 +341,6 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Themes\StringResources\en\StringResource.ERRNO.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Themes\StringResources\en\StringResource.OnInit.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
......@@ -352,10 +349,6 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Themes\StringResources\StringResource.ERRNO.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Themes\StringResources\en\StringResource.FlyADIODefine.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace FLY.Thick.Base.UI
{
public interface IErrNoTranslator
{
/// <summary>
/// errNoKey 查表 获取 文字
/// </summary>
/// <param name="errNoKey"></param>
/// <returns></returns>
string ToDescription(string errNoKey);
}
public class ErrNoTranslator : IErrNoTranslator
{
ResourceDictionary rd_errnos = null;
public virtual string DictKey => "";
public ErrNoTranslator()
{
//提前全部
string resourceName = $"dict{DictKey}.StringResource.ERRNO";
rd_errnos = (ResourceDictionary)Application.Current.TryFindResource(resourceName);
if (rd_errnos == null)
{
throw new Exception($"can't find out ResourceDictionary x:Key = \"{resourceName}\"");
}
}
public virtual string ToDescription(string errNoKey)
{
if (rd_errnos != null && !string.IsNullOrEmpty(errNoKey))
{
string resourceName = $"str{DictKey}.ERRNO.{errNoKey}";
if (rd_errnos.Contains(resourceName))
{
return (string)rd_errnos[resourceName];
}
}
return null;
}
}
}
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xml:space="preserve">
<!--字符串换行 必须添加 xml:space="preserve" -->
<!--字符串换行 换行符 &#10; -->
<system:String x:Key="str.ERRNO.ALARM_TEST">报警测试</system:String>
<system:String x:Key="str.ERRNO.AD_MIN">AD值超下限</system:String>
<system:String x:Key="str.ERRNO.AD_MAX">AD值超上限</system:String>
<system:String x:Key="str.ERRNO.SCRAM">急停</system:String>
<system:String x:Key="str.ERRNO.LIMIT">限位</system:String>
<system:String x:Key="str.ERRNO.FLYAD7_DC">AD盒连接断开</system:String>
<system:String x:Key="str.ERRNO.WILL_EXP">授权将要过期</system:String>
<system:String x:Key="str.ERRNO.AUTH_EXP">授权过期</system:String>
<system:String x:Key="str.ERRNO.DB_BACKUP">已经连续开机1个月,数据库需要备份归档,请尽快重启服务器</system:String>
<system:String x:Key="str.ERRNO.OVERCTRL">超控制线报警</system:String>
<system:String x:Key="str.ERRNO.OVERTOL">超规格线报警</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_ParamErr">采样出错:参数异常</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_ADZero">采样出错:AD值为0</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_NoData">采样出错:没有采集数据</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_FilterErr">采样出错:滤波数据与原始数据差异大</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_PercentErr">采样出错:样品AD与上次差异大</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_CrossErr">采样出错:样品比值与上次差异大</system:String>
</ResourceDictionary>
\ No newline at end of file
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xml:space="preserve">
<!--字符串换行 必须添加 xml:space="preserve" -->
<!--字符串换行 换行符 &#10; -->
<system:String x:Key="str.ERRNO.ALARM_TEST">Alarm Test</system:String>
<system:String x:Key="str.ERRNO.AD_MIN">AD exceeded the lower limit</system:String>
<system:String x:Key="str.ERRNO.AD_MAX">AD exceeded the upper limit</system:String>
<system:String x:Key="str.ERRNO.SCRAM">Scram</system:String>
<system:String x:Key="str.ERRNO.LIMIT">Limit</system:String>
<system:String x:Key="str.ERRNO.FLYAD7_DC">FLYAD7 disconnected</system:String>
<system:String x:Key="str.ERRNO.WILL_EXP">Authorization will expire</system:String>
<system:String x:Key="str.ERRNO.AUTH_EXP">Authorization expired</system:String>
<system:String x:Key="str.ERRNO.DB_BACKUP">The database needs to be backed up,Restart the server</system:String>
<system:String x:Key="str.ERRNO.OVERCTRL">Over control line</system:String>
<system:String x:Key="str.ERRNO.OVERTOL">Over tolerance line</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_ParamErr">Sampling error:Param</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_ADZero">Sampling error:AD=0</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_NoData">Sampling error::No Data</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_FilterErr">Sampling error:Filtering Error</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_PercentErr">Sampling error:Large Deviation</system:String>
<system:String x:Key="str.ERRNO.SAMPLE_CrossErr">Sampling error:Proportional Error</system:String>
</ResourceDictionary>
\ No newline at end of file
......@@ -9,7 +9,7 @@
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Themes/Styles.xaml"/>
<ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Converter/Converters.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
......
......@@ -41,9 +41,7 @@ namespace FLY.Thick.Base.UI.UiModule
errorVm = new DynAreaErrorVm2();
string serverName = (string)Application.Current.TryFindResource("str.DynArea.TGauge");
errorVm.Init(container, warningSystem, serverName, null);
errorVm.Init(container, warningSystem);
this.DataContext = ioVm;
grid_error.DataContext = errorVm;
......@@ -165,38 +163,32 @@ namespace FLY.Thick.Base.UI.UiModule
/// </summary>
string serverName;
/// <summary>
/// StringResource.ERRNO 中的 str.XXX.ERRNO.YYYY, XXX标识
/// </summary>
string errnoKey;
DispatcherTimer timer_error;
private int reason_list_index = -1;
ResourceDictionary rd_errnos = null;
bool isTGauge;
public DynAreaErrorVm2()
{
OpenWarningCmd = new RelayCommand(OpenWarning);
}
public void Init(
IUnityContainer container,
IWarningSystem2Service warningSystem)
{
isTGauge = true;
var serverName = (string)Application.Current.TryFindResource("str.DynArea.TGauge");
Init(container, warningSystem, serverName);
}
public void Init(
IUnityContainer container,
IWarningSystem2Service warningSystem,
string serverName,
string errnoKey)
string serverName)
{
this.container = container;
this.warningSystem = warningSystem;
this.serverName = serverName;
this.errnoKey = errnoKey;
string resourceName;
if (errnoKey != null)
resourceName = $"dict.{this.errnoKey}.StringResource.ERRNO";
else
resourceName = $"dict.StringResource.ERRNO";
rd_errnos = (ResourceDictionary)Application.Current.TryFindResource(resourceName);
//报警原因轮流显示
timer_error = new DispatcherTimer();
......@@ -258,21 +250,6 @@ namespace FLY.Thick.Base.UI.UiModule
//通过资源翻译报警信息
var description = warningSystem.ReasonList[reason_list_index].Description;
if (rd_errnos != null && !string.IsNullOrEmpty(description))
{
string resourceName;
if (errnoKey!=null)
resourceName = $"str.{errnoKey}.ERRNO.{description}";
else
resourceName = $"str.ERRNO.{description}";
if (rd_errnos.Contains(resourceName))
{
description = (string)rd_errnos[resourceName];
}
}
ErrMsg = description;
IsError = true;
timer_error.Start();
......@@ -290,7 +267,8 @@ namespace FLY.Thick.Base.UI.UiModule
{
if (!WdPassword.Authorize("Warning"))
return;
if (errnoKey == null)
if (isTGauge)
{
var p = new PgErrorTable();
p.Init(container, warningSystem);
......
......@@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Windows;
namespace FLY.Thick.Base.Common
{
......@@ -14,39 +15,79 @@ namespace FLY.Thick.Base.Common
{
public static ERRNOs Instance { get; } = new ERRNOs();
public ERRNO ERRNO_ALARM_TEST = new ERRNO() { Code = 1, Descrption = "ALARM_TEST" };//"报警测试" };
public ERRNOs()
{
string resourceName = $"dict.StringResource.ERRNO";
public ERRNO ERRNO_AD_MIN = new ERRNO() { Code = 2, Descrption = "AD_MIN" };//"AD值太小" };
var rd_errnos = (ResourceDictionary)Application.Current.FindResource(resourceName);//异常直接让它出错
public ERRNO ERRNO_AD_MAX = new ERRNO() { Code = 3, Descrption = "AD_MAX" };//"AD值太大" };
Type t = this.GetType();
var fields = t.GetFields();
public ERRNO ERRNO_SCRAM = new ERRNO() { Code = 4, Descrption = "SCRAM" };//"急停" };
foreach (var field in fields)
{
if (field.Name.StartsWith("ERRNO_"))
{
var errno = (ERRNO)field.GetValue(this);
errno.Description = ToDescription(rd_errnos,field.Name);
field.SetValue(this, errno);
}
}
}
string ToDescription(ResourceDictionary rd_errnos, string errNoKey)
{
string resourceName = $"str.ERRNO.{errNoKey}";
return (string)rd_errnos[resourceName];//异常直接让它出错
}
public ERRNO ERRNO_LIMIT = new ERRNO() { Code = 5, Descrption = "LIMIT" };//"限位" };
public List<ERRNO> GetAll()
{
List<ERRNO> list = new List<ERRNO>();
Type t = this.GetType();
var fields = t.GetFields();
public ERRNO ERRNO_FLYAD7_DC = new ERRNO() { Code = 6, Descrption = "FLYAD7_DC" };//"AD盒连接断开" };
foreach (var field in fields)
{
if (field.Name.StartsWith("ERRNO_"))
{
var errno = (ERRNO)field.GetValue(this);
list.Add(errno);
}
}
return list;
}
public ERRNO ERRNO_ALARM_TEST = new ERRNO() { Code = 1, Description = "ALARM_TEST" };//"报警测试" };
public ERRNO ERRNO_WILL_EXP = new ERRNO() { Code = 7, Descrption = "WILL_EXP" };//"授权将要过期" };
public ERRNO ERRNO_AD_MIN = new ERRNO() { Code = 2, Description = "AD_MIN" };//"AD值太小" };
public ERRNO ERRNO_AUTH_EXP = new ERRNO() { Code = 8, Descrption = "AUTH_EXP" };//"授权过期" };
public ERRNO ERRNO_AD_MAX = new ERRNO() { Code = 3, Description = "AD_MAX" };//"AD值太大" };
public ERRNO ERRNO_DB_BACKUP = new ERRNO() { Code = 9, Descrption = "DB_BACKUP" };//"已经连续开机1个月,数据库需要备份归档,请尽快重启服务器" };
public ERRNO ERRNO_SCRAM = new ERRNO() { Code = 4, Description = "SCRAM" };//"急停" };
public ERRNO ERRNO_LIMIT = new ERRNO() { Code = 5, Description = "LIMIT" };//"限位" };
public ERRNO ERRNO_OVERCTRL = new ERRNO() { Code = 11, Descrption = "OVERCTRL" };//"扫描超控制报警" };
public ERRNO ERRNO_FLYAD7_DC = new ERRNO() { Code = 6, Description = "FLYAD7_DC" };//"AD盒连接断开" };
public ERRNO ERRNO_OVERTOL = new ERRNO() { Code = 12, Descrption = "OVERTOL" };//"扫描超规格报警" };
public ERRNO ERRNO_WILL_EXP = new ERRNO() { Code = 7, Description = "WILL_EXP" };//"授权将要过期" };
public ERRNO ERRNO_AUTH_EXP = new ERRNO() { Code = 8, Description = "AUTH_EXP" };//"授权过期" };
public ERRNO ERRNO_DB_BACKUP = new ERRNO() { Code = 9, Description = "DB_BACKUP" };//"已经连续开机1个月,数据库需要备份归档,请尽快重启服务器" };
public ERRNO ERRNO_OVERCTRL = new ERRNO() { Code = 11, Description = "OVERCTRL" };//"扫描超控制报警" };
public ERRNO ERRNO_OVERTOL = new ERRNO() { Code = 12, Description = "OVERTOL" };//"扫描超规格报警" };
public ERRNO ERRNO_SAMPLE = new ERRNO() { Code = 20, Descrption = "SAMPLE" };//"采样出错" };
public ERRNO ERRNO_SAMPLE_ParamErr = new ERRNO() { Code = 20, Descrption = "SAMPLE_ParamErr" };//"采样出错:参数异常" };
public ERRNO ERRNO_SAMPLE_ADZero = new ERRNO() { Code = 21, Descrption = "SAMPLE_ADZero" };//"采样出错:AD值为0" };
public ERRNO ERRNO_SAMPLE_NoData = new ERRNO() { Code = 22, Descrption = "SAMPLE_NoData" };//"采样出错:没有采集数据" };
public ERRNO ERRNO_SAMPLE_FilterErr = new ERRNO() { Code = 23, Descrption = "SAMPLE_FilterErr" };//"采样出错:滤波数据与原始数据差异大" };
public ERRNO ERRNO_SAMPLE_PercentErr = new ERRNO() { Code = 24, Descrption = "SAMPLE_PercentErr" };//"采样出错:样品AD与上次差异大" };
public ERRNO ERRNO_SAMPLE_CrossErr = new ERRNO() { Code = 25, Descrption = "SAMPLE_CrossErr" };//"采样出错:样品比值与上次差异大" };
public ERRNO ERRNO_SAMPLE_ParamErr = new ERRNO() { Code = 20, Description = "SAMPLE_ParamErr" };//"采样出错:参数异常" };
public ERRNO ERRNO_SAMPLE_ADZero = new ERRNO() { Code = 21, Description = "SAMPLE_ADZero" };//"采样出错:AD值为0" };
public ERRNO ERRNO_SAMPLE_NoData = new ERRNO() { Code = 22, Description = "SAMPLE_NoData" };//"采样出错:没有采集数据" };
public ERRNO ERRNO_SAMPLE_FilterErr = new ERRNO() { Code = 23, Description = "SAMPLE_FilterErr" };//"采样出错:滤波数据与原始数据差异大" };
public ERRNO ERRNO_SAMPLE_PercentErr = new ERRNO() { Code = 24, Description = "SAMPLE_PercentErr" };//"采样出错:样品AD与上次差异大" };
public ERRNO ERRNO_SAMPLE_CrossErr = new ERRNO() { Code = 25, Description = "SAMPLE_CrossErr" };//"采样出错:样品比值与上次差异大" };
}
}
......@@ -42,6 +42,8 @@
</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
......@@ -162,6 +164,16 @@
<Folder Include="OBJ_INTERFACE\" />
<Folder Include="Server.OBJProxy\" />
</ItemGroup>
<ItemGroup>
<Page Include="Themes\StringResources\en\StringResource.ERRNO.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Themes\StringResources\StringResource.ERRNO.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
......
......@@ -556,9 +556,8 @@ namespace FLY.Thick.Base.Server
void UpdateSampleErrNo(ERRNO sampleErrNo)
{
this.warningSystem.Update(
ERRNOs.Instance.ERRNO_SAMPLE.Code,
sampleErrNo.Descrption,
accessory: sampleErrNo.Code.ToString()
sampleErrNo.Code,
sampleErrNo.Description
);
}
/// <summary>
......@@ -608,8 +607,7 @@ namespace FLY.Thick.Base.Server
//全部都采集完成
if (!IsErr())//没有异常
{
this.warningSystem.Remove(
ERRNOs.Instance.ERRNO_SAMPLE);
Remove_ERRNO_SAMPLE();
//备份
last_sampleData = new SampleData();
......@@ -624,7 +622,15 @@ namespace FLY.Thick.Base.Server
_end:
SampleChangedEvent?.Invoke(this);
}
void Remove_ERRNO_SAMPLE()
{
this.warningSystem.Remove(ERRNOs.Instance.ERRNO_SAMPLE_ParamErr);
this.warningSystem.Remove(ERRNOs.Instance.ERRNO_SAMPLE_ADZero);
this.warningSystem.Remove(ERRNOs.Instance.ERRNO_SAMPLE_NoData);
this.warningSystem.Remove(ERRNOs.Instance.ERRNO_SAMPLE_FilterErr);
this.warningSystem.Remove(ERRNOs.Instance.ERRNO_SAMPLE_PercentErr);
this.warningSystem.Remove(ERRNOs.Instance.ERRNO_SAMPLE_CrossErr);
}
bool IsErr()
{
if (last_sampleData == null)
......
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xml:space="preserve">
<!--字符串换行 必须添加 xml:space="preserve" -->
<!--字符串换行 换行符 &#10; -->
<system:String x:Key="str.ERRNO.ERRNO_ALARM_TEST">报警测试</system:String>
<system:String x:Key="str.ERRNO.ERRNO_AD_MIN">AD值超下限</system:String>
<system:String x:Key="str.ERRNO.ERRNO_AD_MAX">AD值超上限</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SCRAM">急停</system:String>
<system:String x:Key="str.ERRNO.ERRNO_LIMIT">限位</system:String>
<system:String x:Key="str.ERRNO.ERRNO_FLYAD7_DC">AD盒连接断开</system:String>
<system:String x:Key="str.ERRNO.ERRNO_WILL_EXP">授权将要过期</system:String>
<system:String x:Key="str.ERRNO.ERRNO_AUTH_EXP">授权过期</system:String>
<system:String x:Key="str.ERRNO.ERRNO_DB_BACKUP">已经连续开机1个月,数据库需要备份归档,请尽快重启服务器</system:String>
<system:String x:Key="str.ERRNO.ERRNO_OVERCTRL">超控制线报警</system:String>
<system:String x:Key="str.ERRNO.ERRNO_OVERTOL">超规格线报警</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_ParamErr">采样出错:参数异常</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_ADZero">采样出错:AD值为0</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_NoData">采样出错:没有采集数据</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_FilterErr">采样出错:滤波数据与原始数据差异大</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_PercentErr">采样出错:样品AD与上次差异大</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_CrossErr">采样出错:样品比值与上次差异大</system:String>
</ResourceDictionary>
\ No newline at end of file
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xml:space="preserve">
<!--字符串换行 必须添加 xml:space="preserve" -->
<!--字符串换行 换行符 &#10; -->
<system:String x:Key="str.ERRNO.ERRNO_ALARM_TEST">Alarm Test</system:String>
<system:String x:Key="str.ERRNO.ERRNO_AD_MIN">AD exceeded the lower limit</system:String>
<system:String x:Key="str.ERRNO.ERRNO_AD_MAX">AD exceeded the upper limit</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SCRAM">Scram</system:String>
<system:String x:Key="str.ERRNO.ERRNO_LIMIT">Limit</system:String>
<system:String x:Key="str.ERRNO.ERRNO_FLYAD7_DC">FLYAD7 disconnected</system:String>
<system:String x:Key="str.ERRNO.ERRNO_WILL_EXP">Authorization will expire</system:String>
<system:String x:Key="str.ERRNO.ERRNO_AUTH_EXP">Authorization expired</system:String>
<system:String x:Key="str.ERRNO.ERRNO_DB_BACKUP">The database needs to be backed up,Restart the server</system:String>
<system:String x:Key="str.ERRNO.ERRNO_OVERCTRL">Over control line</system:String>
<system:String x:Key="str.ERRNO.ERRNO_OVERTOL">Over tolerance line</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_ParamErr">Sampling error: Param</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_ADZero">Sampling error: AD=0</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_NoData">Sampling error: No Data</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_FilterErr">Sampling error: Filtering Error</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_PercentErr">Sampling error: Large Deviation</system:String>
<system:String x:Key="str.ERRNO.ERRNO_SAMPLE_CrossErr">Sampling error: Proportional Error</system:String>
</ResourceDictionary>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment