diff --git a/src/Moryx.ProcessData/Listener/ProcessDataListenerConfig.cs b/src/Moryx.ProcessData/Listener/ProcessDataListenerConfig.cs
index 3d9f704c3..2f32b4a8e 100644
--- a/src/Moryx.ProcessData/Listener/ProcessDataListenerConfig.cs
+++ b/src/Moryx.ProcessData/Listener/ProcessDataListenerConfig.cs
@@ -1,10 +1,12 @@
-// Copyright (c) 2021, Phoenix Contact GmbH & Co. KG
+// Copyright (c) 2021, Phoenix Contact GmbH & Co. KG
// Licensed under the Apache License, Version 2.0
using System.Collections.Generic;
using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Moryx.Modules;
+using Moryx.ProcessData.Localization;
using Moryx.Serialization;
namespace Moryx.ProcessData.Listener
@@ -31,13 +33,14 @@ public ProcessDataListenerConfig()
/// Unique Name of the Listener
///
[DataMember]
- [Description("Unique Name of the Listener")]
+ [Display(Name = nameof(Strings.LISTENERNAME), Description = nameof(Strings.LISTENERNAME_DESCRIPTION), ResourceType = typeof(Strings))]
public string ListenerName { get; set; }
///
/// Configuration for the occurred measurand. They can be enabled or disabled.
///
[DataMember]
+ [Display(Name = nameof(Strings.MEASURAND_CONFIG), ResourceType = typeof(Strings))]
public List MeasurandConfigs { get; set; }
}
@@ -51,14 +54,14 @@ public class MeasurandConfig
/// Name of the measurand
///
[DataMember]
- [Description("Name of the measurand")]
+ [Display(Name = nameof(Strings.MEASURAND_NAME), Description = nameof(Strings.MEASURAND_NAME_DESCRIPTION), ResourceType = typeof(Strings))]
public string Name { get; set; }
///
/// Indicator if measurand processing is enabled
///
[DataMember]
- [Description("If enabled, process data will be processed")]
+ [Display(Name = nameof(Strings.IS_ENABLED), Description = nameof(Strings.IS_ENABLED_DESCRIPTION), ResourceType = typeof(Strings))]
public bool IsEnabled { get; set; }
///
@@ -68,4 +71,4 @@ public override string ToString()
return $"{Name}: {status}";
}
}
-}
\ No newline at end of file
+}
diff --git a/src/Moryx.ProcessData/Localization/Strings.Designer.cs b/src/Moryx.ProcessData/Localization/Strings.Designer.cs
new file mode 100644
index 000000000..2bf53de57
--- /dev/null
+++ b/src/Moryx.ProcessData/Localization/Strings.Designer.cs
@@ -0,0 +1,126 @@
+//------------------------------------------------------------------------------
+//
+// Dieser Code wurde von einem Tool generiert.
+// Laufzeitversion:4.0.30319.42000
+//
+// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+// der Code erneut generiert wird.
+//
+//------------------------------------------------------------------------------
+
+namespace Moryx.ProcessData.Localization {
+ using System;
+
+
+ ///
+ /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
+ ///
+ // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
+ // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
+ // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
+ // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ public class Strings {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Strings() {
+ }
+
+ ///
+ /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Moryx.ProcessData.Localization.Strings", typeof(Strings).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
+ /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Is enabled ähnelt.
+ ///
+ public static string IS_ENABLED {
+ get {
+ return ResourceManager.GetString("IS_ENABLED", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die If enabled, process data will be processed ähnelt.
+ ///
+ public static string IS_ENABLED_DESCRIPTION {
+ get {
+ return ResourceManager.GetString("IS_ENABLED_DESCRIPTION", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Listener name ähnelt.
+ ///
+ public static string LISTENERNAME {
+ get {
+ return ResourceManager.GetString("LISTENERNAME", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Unique name of the listener ähnelt.
+ ///
+ public static string LISTENERNAME_DESCRIPTION {
+ get {
+ return ResourceManager.GetString("LISTENERNAME_DESCRIPTION", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Measurand config ähnelt.
+ ///
+ public static string MEASURAND_CONFIG {
+ get {
+ return ResourceManager.GetString("MEASURAND_CONFIG", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Name ähnelt.
+ ///
+ public static string MEASURAND_NAME {
+ get {
+ return ResourceManager.GetString("MEASURAND_NAME", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Name of the measurand ähnelt.
+ ///
+ public static string MEASURAND_NAME_DESCRIPTION {
+ get {
+ return ResourceManager.GetString("MEASURAND_NAME_DESCRIPTION", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/src/Moryx.ProcessData/Localization/Strings.de.resx b/src/Moryx.ProcessData/Localization/Strings.de.resx
new file mode 100644
index 000000000..3b0a8cd9d
--- /dev/null
+++ b/src/Moryx.ProcessData/Localization/Strings.de.resx
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Ist aktiviert
+
+
+ Wenn aktiviert, werden Prozessdaten verarbeitet
+
+
+ Name des Listeners
+
+
+ Eindeutiger Name des Listeners
+
+
+ Messgrößenkonfiguration
+
+
+ Name
+
+
+ Name der Messgröße
+
+
\ No newline at end of file
diff --git a/src/Moryx.ProcessData/Localization/Strings.it.resx b/src/Moryx.ProcessData/Localization/Strings.it.resx
new file mode 100644
index 000000000..52fee14f4
--- /dev/null
+++ b/src/Moryx.ProcessData/Localization/Strings.it.resx
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ È abilitato
+
+
+ Se abilitato, i dati di processo verranno elaborati
+
+
+ Nome del listener
+
+
+ Nome univoco del listener
+
+
+ Configurazione della grandezza misurata
+
+
+ Nome
+
+
+ Nome della grandezza misurata
+
+
\ No newline at end of file
diff --git a/src/Moryx.ProcessData/Localization/Strings.resx b/src/Moryx.ProcessData/Localization/Strings.resx
new file mode 100644
index 000000000..a07bef41a
--- /dev/null
+++ b/src/Moryx.ProcessData/Localization/Strings.resx
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Is enabled
+
+
+ If enabled, process data will be processed
+
+
+ Listener name
+
+
+ Unique name of the listener
+
+
+ Measurand config
+
+
+ Name
+
+
+ Name of the measurand
+
+
\ No newline at end of file
diff --git a/src/Moryx.ProcessData/Localization/Strings.zh.resx b/src/Moryx.ProcessData/Localization/Strings.zh.resx
new file mode 100644
index 000000000..97a32c98f
--- /dev/null
+++ b/src/Moryx.ProcessData/Localization/Strings.zh.resx
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 已启用
+
+
+ 如果启用,将处理过程数据
+
+
+ 监听器名称
+
+
+ 监听器的唯一名称
+
+
+ 测量量配置
+
+
+ 名称
+
+
+ 测量量的名称
+
+
\ No newline at end of file
diff --git a/src/Moryx.ProcessData/Moryx.ProcessData.csproj b/src/Moryx.ProcessData/Moryx.ProcessData.csproj
index a115c6a2d..2b0060ac3 100644
--- a/src/Moryx.ProcessData/Moryx.ProcessData.csproj
+++ b/src/Moryx.ProcessData/Moryx.ProcessData.csproj
@@ -12,4 +12,19 @@
+
+
+ True
+ True
+ Strings.resx
+
+
+
+
+
+ ResXFileCodeGenerator
+ Strings.Designer.cs
+
+
+