Added minimal functionality for Robot teaching

- Added minimal HMI
- Added possibility to open and close all chamber doors
This commit is contained in:
2026-01-17 09:20:39 +01:00
parent 9f058db2a3
commit 2d11c43579
2274 changed files with 912690 additions and 162 deletions

View File

@@ -0,0 +1,321 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"definitions": {
"visibility": {
"type": "string",
"enum": [
"AlwaysShow",
"AlwaysHide",
"HideInEngineering"
],
"default": "AlwaysShow"
},
"serverSymbol": {
"allOf": [
{
"$ref": "http://json-schema.org/draft-04/schema#"
},
{
"type": "object",
"properties": {
"function": {
"type": "boolean",
"description": "true to declare this symbol as a function."
}
}
}
]
},
"symbolVersionHistory": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the symbol."
},
"sample": {
"description": "Sample value for the WriteValue. Can be used for documentation.",
"type": "object",
"properties": {
"description": {
"description": "A description of this sample."
},
"value": {
"description": "The 'writeValue' for the command."
},
"filter": {
"description": "A filter for the command."
},
"path": {
"description": "A sub-path for the command."
},
"requestType": {
"description": "The request type for the sample request."
}
},
"additionalProperties": true
}
},
"additionalProperties": false
}
},
"properties": {
"$schema": {
"type": "string"
},
"policies": {
"type": "array",
"items": {
"type": "string",
"enum": [
"StrictPropertyValidation",
"StrictConfigListenerFilter"
]
},
"description": "StrictPropertyValidation: when not set, functions without writeValue will accept any input\nStrictConfigListenerFilter: when multiple config values are changed at once, pass only those configuration values to the config listener of the corresponding server extension that match the specified filter; otherwise, all changed configuration values are passed to the config listener of the corresponding server extension if any of them matches the specified filter."
},
"guid": {
"type": "string"
},
"visibility": {
"allOf": [
{
"$ref": "#/definitions/visibility"
},
{
"description": "Indicates under which circumstances the extension config should be visible."
}
]
},
"version": {
"type": "string",
"format": "version",
"description": "Version of the extension library."
},
"configVersion": {
"type": "string",
"format": "version",
"description": "Version of the configuration file."
},
"packageVersion": {
"type": "string",
"description": "Version of the NuGet package that contains the extension."
},
"productVersion": {
"type": "string",
"format": "version",
"description": "Version of the TwinCAT HMI with which the extension was created."
},
"dotNetTargetFramework": {
"type": "string",
"description": "The .NET target framework. (This property is set automatically during the build - do not set it manually.)"
},
"dotNetTargetFrameworkVersion": {
"type": "string",
"description": "Version of the .NET target framework. (This property is set automatically during the build - do not set it manually.)"
},
"dotNetPlatformTarget": {
"type": "string",
"enum": [
"AnyCPU",
"x86",
"x64"
],
"default": "AnyCPU",
"description": ".NET platform target. (This property is set automatically during the build - do not set it manually.)"
},
"dotNetConfiguration": {
"type": "string",
"description": "Configuration of the .NET server extension. (This property is set automatically during the build - do not set it manually.)"
},
"signature": {
"type": "string",
"format": "base64"
},
"signatureData": {
"type": "string",
"format": "base64"
},
"signatureTcHmiSrvExt": {
"type": "string",
"format": "base64"
},
"signatureTcHmiSrvExtNet": {
"type": "string",
"format": "base64"
},
"fileExtensions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fileExtension": {
"type": "string",
"description": "Extension of the file."
},
"fileDescription": {
"type": "string",
"description": "Language variable describing the file extension."
}
},
"additionalProperties": false
},
"description": "File extensions are used by script extensions."
},
"symbolCategories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"localization": {
"type": "string"
}
},
"required": [
"name",
"localization"
]
}
},
"symbols": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"readValue": {
"allOf": [
{
"$ref": "#/definitions/serverSymbol",
"description": "Output parameters of the symbol."
},
{
"type": "object",
"properties": {
"readOnly": {
"type": "boolean",
"description": "true to declare this symbol as read-only."
}
}
}
]
},
"writeValue": {
"$ref": "#/definitions/serverSymbol",
"description": "Input parameters of the symbol."
},
"addSymbol": {
"type": "boolean",
"default": true,
"description": "true to automatically map this symbol."
},
"automap": {
"type": "boolean",
"default": true,
"description": "true to automatically map this symbol. Deprecated, use addSymbol instead."
},
"hidden": {
"type": "boolean",
"default": true,
"description": "true to hide this symbol in symbol browser and on the configuration page."
},
"visibility": {
"allOf": [
{
"$ref": "#/definitions/visibility"
},
{
"description": "Visibility of the symbol."
}
]
},
"category": {
"type": "string",
"description": "Can be used to group related symbols."
},
"userGroups": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "object",
"additionalProperties": {
"type": "integer",
"default": 3,
"enum": [
0,
1,
2,
3
],
"description": "Access level of the symbol for this user group."
}
}
]
},
"access": {
"type": "integer",
"default": 3,
"enum": [
0,
1,
2,
3
],
"description": "Default access level of the symbol."
},
"doc": {
"type": "string",
"description": "THIS PROPERTY IS OBSOLETE. USE PROPERTY 'description' instead."
},
"description": {
"type": "string",
"description": "Description of the symbol."
},
"sample": {
"description": "Sample value for the WriteValue. Can be used for documentation.",
"type": "object",
"properties": {
"description": {
"description": "A description of this sample."
},
"value": {
"description": "The 'writeValue' for the command."
},
"filter": {
"description": "A filter for the command."
},
"path": {
"description": "A sub-path for the command."
},
"requestType": {
"description": "The request type for the sample request."
}
},
"additionalProperties": true
},
"versions": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/symbolVersionHistory"
}
}
},
"additionalProperties": false
},
"description": "List of symbols that the extension supports."
}
},
"required": [
"guid",
"version",
"configVersion"
]
}

View File

@@ -0,0 +1,56 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"description": "URL to a schema file"
},
"scope": {
"type": "string",
"enum": [
"Server",
"Framework",
"Control",
"Application",
"Package"
],
"description": "Describes if this file targets a server, framework, control or package file when it is copied inside the hmi project."
},
"source": {
"type": "string",
"description": "Identifies the localization file source for project level override. Required in engineering environment if file is used to override localization files with Control or Function scope. Example: 'TcHmi.Controls.System.TcHmiControl'"
},
"order": {
"type": "integer",
"description": "Load order of language files. If multiple files of the same language are available the one with the lowest order will be used for conflicting variables."
},
"locale": {
"description": "Language and Region (optionally) as described in ISO 639/BCP 47 (Examples: 'en', 'en-US').",
"format": "locale",
"type": "string"
},
"localizedText": {
"type": "object",
"description": "Name of each additionalProperties entry is the name of each text variable.",
"additionalProperties": {
"description": "Localized text. It may contain placeholders like {0}, {1}, ... May be null if current locale does not have a text.",
"anyOf": [
{
"description": "Localized text. It may contain placeholders like {0}, {1}, ...",
"type": "string"
},
{
"description": "Localized key which has no text value in this locale.",
"type": "null"
}
]
}
}
},
"required": [
"locale",
"localizedText"
],
"additionalProperties": false
}

View File

@@ -0,0 +1,43 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"version": {
"type": "string"
},
"fromVersion": {
"type": "string"
},
"changes": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"script": {
"type": "string"
},
"publishConfigurations": {
"type": "string",
"enum": [
"AllConfigurations",
"OnlyCustomConfigurations"
],
"default": "AllConfigurations"
}
},
"required": [ "path", "script" ],
"additionalProperties": false
}
}
},
"additionalProperties": false,
"required": [
"version",
"fromVersion",
"changes"
]
}

View File

@@ -0,0 +1,253 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"commandOptions": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Add",
"Config",
"Delete",
"Extension1",
"Extension2",
"Extension3",
"Extension4",
"Import",
"Offline",
"PagingHandled",
"Poll",
"ProcessTimingAsTimespan",
"Replace",
"SendErrorMessage",
"SendWriteValue",
"Transaction",
"UniqueHash",
"ValidateRead"
]
}
}
},
"properties": {
"apiVersion": {
"type": "number"
},
"serverTiming": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"value"
]
},
"description": "A list of websocket timing measurements in ms. Only available in diagnostics mode."
},
"requestType": {
"type": "string",
"enum": [
"ReadWrite",
"Subscription",
"Event"
],
"default": "ReadWrite"
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": 0
},
"message": {
"type": "string"
},
"reason": {
"type": "string"
}
}
},
"customerData": {
"type": "string"
},
"id": {
"type": "number",
"default": 0.0
},
"intervalTime": {
"type": "integer",
"minimum": 5
},
"sessionId": {
"type": "string"
},
"serverId": {
"type": "string"
},
"commands": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"version": {
"type": "number"
},
"symbol": {
"type": "string"
},
"customerData": {
"type": "string"
},
"extensionData": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": true,
"properties": {
"TcHmiSrv": {
"type": "object",
"properties": {
"previousValue": {},
"userBeforeReauthentication": {
"type": "object",
"additionalProperties": true,
"properties": {
"sessionId": {
"type": "string"
},
"userName": {
"type": "string"
}
}
},
"reauthentication": {},
"reviewer": {}
}
}
}
}
},
"limit": {
"type": "integer",
"minimum": 0,
"default": 0
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
},
"orderBy": {
"type": "string"
},
"filter": {
"$ref": "tchmi:server#/definitions/filter"
},
"filterMap": {
"type": "array",
"items": {
"type": "integer"
}
},
"maxEntries": {
"type": "integer",
"minimum": 0,
"default": 0,
"readOnly": true
},
"writeValue": {},
"readValue": {},
"symbolOptions": {},
"commandIndex": {
"type": "integer",
"minimum": 0,
"readOnly": true
},
"processedStart": {
"oneOf": [
{
"$ref": "tchmi:general#/definitions/DateTime"
},
{
"$ref": "tchmi:general#/definitions/TimeSpan"
}
]
},
"processedEnd": {
"oneOf": [
{
"$ref": "tchmi:general#/definitions/DateTime"
},
{
"$ref": "tchmi:general#/definitions/TimeSpan"
}
]
},
"error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": 0
},
"message": {
"type": "string"
},
"reason": {
"type": "string"
},
"domain": {
"type": "string"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"minimum": 0
},
"message": {
"type": "string"
},
"reason": {
"type": "string"
},
"domain": {
"type": "string"
}
}
}
}
}
},
"maxSubSymbolDepth": {
"type": "number"
},
"commandOptions": {
"$ref": "#/definitions/commandOptions"
},
"disabledCommandOptions": {
"$ref": "#/definitions/commandOptions"
}
},
"required": [
"symbol"
]
}
}
},
"required": [
"commands"
]
}

View File

@@ -0,0 +1,35 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"$schema": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"extensionHostReloadAutomatically": {
"type": "object"
},
"extensionHostCustomPythonEnvPath": {
"type": "object"
},
"extensionHostDebugPort": {
"type": "object"
},
"extensionHostFileSystemWatcherInterval": {
"type": "object"
},
"testSetting": {
"type": "object"
},
"extensionHostPythonEnvTimeout": {
"type": "object"
}
},
"additionalProperties": false
},
"additionalProperties": false
},
"additionalProperties": false
}

View File

@@ -0,0 +1,517 @@
{
"$schema": "../../TcHmiSrv/schema/ExtensionSettings.Schema.json",
"version": "14.4.293.0",
"configVersion": "1.0.1.5",
"guid": "5AE90DB9-B895-45AD-9B79-27A19FADCD86",
"visibility": "AlwaysShow",
"policies": [
"StrictPropertyValidation",
"StrictConfigListenerFilter"
],
"symbolCategories": [
{
"name": "native",
"localization": "CATEGORY_NATIVE"
},
{
"name": "wrapperFunctions",
"localization": "CATEGORY_WRAPPER_FUNCTIONS"
}
],
"symbols": {
"AdsSyncWriteControlReq": {
"category": "native",
"readValue": {
"function": true
},
"writeValue": {
"type": "object",
"properties": {
"Runtime": {
"type": "string"
},
"AdsState": {
"$ref": "#/definitions/adsState"
},
"DeviceState": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"WriteData": {
"type": "string",
"format": "base64"
}
},
"required": [
"Runtime",
"AdsState",
"DeviceState",
"WriteData"
]
}
},
"AdsSyncReadDeviceInfoReq": {
"category": "native",
"userGroups": [
"__SystemUsers"
],
"readValue": {
"function": true
},
"writeValue": {
"type": "string",
"description": "Ads runtime."
}
},
"AdsSyncReadReq": {
"category": "native",
"readValue": {
"function": true
},
"writeValue": {
"type": "object",
"properties": {
"Runtime": {
"type": "string"
},
"IndexGroup": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"IndexOffset": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"ReadLen": {
"$ref": "tchmi:general#/definitions/UINT32"
}
},
"required": [
"Runtime",
"IndexGroup",
"ReadLen"
]
}
},
"AdsSyncReadStateReq": {
"category": "native",
"userGroups": [
"__SystemUsers"
],
"readValue": {
"function": true,
"type": "object",
"properties": {
"AdsState": {
"$ref": "#/definitions/adsState"
},
"DeviceState": {
"type": "integer"
}
}
},
"writeValue": {
"oneOf": [
{
"type": "string",
"description": "Ads runtime."
},
{
"type": "object",
"properties": {
"Runtime": {
"type": "string",
"description": "Ads runtime."
},
"Port": {
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"const": 10000,
"description": "Execute the request for a different ADS port"
}
]
}
},
"required": [
"Runtime"
]
}
]
}
},
"AdsSyncWriteReq": {
"category": "native",
"readValue": {
"function": true
},
"writeValue": {
"type": "object",
"properties": {
"Runtime": {
"type": "string"
},
"IndexGroup": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"IndexOffset": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"WriteData": {
"type": "string",
"format": "base64"
}
},
"required": [
"Runtime",
"IndexGroup",
"IndexOffset",
"WriteData"
]
}
},
"AdsSyncReadWriteReq": {
"category": "native",
"readValue": {
"function": true
},
"writeValue": {
"type": "object",
"properties": {
"Runtime": {
"type": "string"
},
"IndexGroup": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"IndexOffset": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"ReadLen": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"WriteData": {
"type": "string",
"format": "base64"
}
},
"required": [
"Runtime",
"IndexGroup",
"IndexOffset",
"ReadLen",
"WriteData"
]
}
},
"CheckLicense": {
"category": "wrapperFunctions",
"userGroups": [
"__SystemUsers"
],
"readValue": {
"function": true,
"type": "object",
"properties": {
"expireTimeUTC": {
"type": "string",
"format": "date-time"
},
"result": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"count": {
"$ref": "tchmi:general#/definitions/UINT32"
}
}
},
"writeValue": {
"type": "string"
}
},
"ListSymbols": {
"readValue": {
"function": true
}
},
"ListCommonTypes": {
"readValue": {
"function": true,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"label",
"value"
]
}
}
},
"RuntimePorts": {
"category": "wrapperFunctions",
"readValue": {
"function": true,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"name": {
"type": "string"
},
"value": {
"type": "integer"
}
},
"required": [
"label",
"value"
]
}
},
"writeValue": {
"anyOf": [
{
"type": "object",
"properties": {
"NETID": {
"type": "string",
"format": "amsnetid"
},
"all": {
"type": "boolean",
"default": false
}
}
},
{
"$ref": "tchmi:general#/definitions/VOID"
}
]
}
},
"GetSystemId": {
"category": "wrapperFunctions",
"readValue": {
"function": true,
"type": "string"
}
},
"ListRoutes": {
"category": "wrapperFunctions",
"readValue": {
"function": true,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"name": {
"type": "string"
},
"value": {
"type": "string",
"format": "amsnetid"
}
},
"required": [
"label",
"name",
"value"
]
}
}
},
"GetSchema": {
"writeValue": {
"type": "string"
},
"readValue": {
"function": true
}
},
"Diagnostics": {
"userGroups": [
"__SystemUsers"
],
"readValue": {
"allOf": [
{
"function": true
},
{
"oneOf": [
{
"versions": [
1.0
],
"type": "object",
"properties": {
"runtimes": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"connectionState": {
"propertyOrder": 1,
"type": "string"
},
"systemServiceAdsState": {
"propertyOrder": 2,
"type": "string"
},
"adsState": {
"propertyOrder": 3,
"type": "string"
},
"deviceName": {
"propertyOrder": 4,
"type": "string"
},
"adsApplicationName": {
"propertyOrder": 5,
"type": "string",
"visibility": "HideInEngineering"
},
"adsProjectName": {
"propertyOrder": 6,
"type": "string"
},
"adsProjectCompiledAt": {
"propertyOrder": 7,
"type": "string",
"format": "date-time",
"visibility": "HideInEngineering"
},
"adsVersion": {
"propertyOrder": 8,
"type": "string"
},
"adsVersionBuild": {
"propertyOrder": 9,
"type": "integer",
"minimum": 0,
"visibility": "HideInEngineering"
},
"isUserModeRuntime": {
"propertyOrder": 10,
"type": "boolean",
"visibility": "HideInEngineering"
}
},
"required": [
"deviceName",
"adsVersion",
"adsState",
"connectionState"
]
}
}
}
},
{
"versions": [
2.0
],
"type": "object",
"properties": {
"domainState": {
"propertyOrder": 2,
"type": "string",
"enum": [
"Good",
"Bad"
]
},
"domainError": {
"propertyOrder": 3,
"type": "string",
"format": "multiline"
},
"runtimes": {
"propertyOrder": 1,
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"connectionState": {
"propertyOrder": 1,
"type": "string"
},
"systemServiceAdsState": {
"propertyOrder": 2,
"type": "string"
},
"adsState": {
"propertyOrder": 3,
"type": "string"
},
"deviceName": {
"propertyOrder": 4,
"type": "string"
},
"adsApplicationName": {
"propertyOrder": 5,
"type": "string",
"visibility": "HideInEngineering"
},
"adsProjectName": {
"propertyOrder": 6,
"type": "string"
},
"adsProjectCompiledAt": {
"propertyOrder": 7,
"type": "string",
"format": "date-time",
"visibility": "HideInEngineering"
},
"adsVersion": {
"propertyOrder": 8,
"type": "string"
},
"adsVersionBuild": {
"propertyOrder": 9,
"type": "integer",
"minimum": 0,
"visibility": "HideInEngineering"
},
"isUserModeRuntime": {
"propertyOrder": 10,
"type": "boolean",
"visibility": "HideInEngineering"
}
},
"required": [
"deviceName",
"adsVersion",
"adsState",
"connectionState"
]
}
}
},
"required": [
"domainState"
]
}
]
}
]
}
}
},
"packageVersion": "14.4.293.0",
"productVersion": "14.4.293.0",
"signature": "ORY7oKM/0zMTgi8N4zp1Jd7v86+jx230p/9ke/DKREb2Oza53Y1Pj6pNkgDiP4JHSvxfBD1Bh15bMxMk9wFgAYWiAgB93+uTZOpdOFj8sSN0rRI+dR9IrDdrthr4f7PZPvFTH+X1k3STsEgq+d245NCxiGDSt5NpOE9+N0EiVxhbuGyMzXYWVNW+x/Pcj7cldAAP6/NKFx8KzsU1S8EabDmARQNfVUgLT51FxxXUo0Y3L8Tk2keGQfclI45iikT38fMFukimRRuwUPs/ZIsQAlgZmHe8q3cEAQ2h9Lu8cF228GLHaUwLpxldJccPhPNf66R8myU1MBmVl9cROtLD+w=="
}

View File

@@ -0,0 +1,132 @@
{
"locale": "de",
"localizedText": {
"RUNTIMES": "Laufzeiten",
"DESC_RUNTIMES": "Zu allen aktiven Laufzeiten wird eine ADS-Verbindung hergestellt.",
"NETID": "AmsNetId",
"TIMEOUT": "Timeout",
"DESC_TIMEOUT": "Standard-Timeout für ADS-Anfragen.",
"ENABLED": "Aktiv",
"USE_WHITELISTING": "Nutze Whitelisting",
"READ_ONLY": "Nur Lesezugriff erlauben",
"PORT": "Port",
"DESC_RUNTIME": "Laufzeit",
"TRANSMODE": "Benachrichtigungsmodus",
"MAXDELAY": "Max. Verzögerung",
"CYCLETIME": "Zykluszeit",
"SYMBOLS": "Symbole",
"DESC_SYMBOL": "Symbol",
"INDEXGROUP": "Indexgruppe",
"INDEXOFFSET": "Index-Offset",
"TYPENAME": "Datentyp",
"RUNTIME_STATE_CHECK_TIMEOUT": "Maximales Timeout bei der Laufzeitstatus-Ermittlung",
"RUNTIME_STATE_CHECK_INTERVAL": "Intervall der Laufzeitstatus-Ermittlung",
"runtimes": "Laufzeiten",
"IGNORED_PLC_ATTRIBUTES": "Ignorierte PLC-Attribute",
"VISIBLE_RUNTIME_PORTS": "Sichtbare Laufzeitports",
"RESPONSE_SIZE_LIMIT": "Begrenzung der Antwortgröße von ADS-Anfragen",
"SUM_REQUEST_LIMIT": "Begrenzung der Anzahl von ADS-Anfragen, die in einer Summen-Anfrage gebündelt werden können",
"NEW_HANDLES_PER_SUM_REQUEST_LIMIT": "Begrenzung der Anzahl von ADS-Handles, die mit einer Summen-Anfrage erstellt werden",
"ENABLE_READ_BEFORE_WRITE": "Unvollständige Schreiboperationen durch Lesen vor dem Schreiben unterstützen",
"HMI_ADS_IMPL_UNREGISTERED_ERROR_CODE": "Fehlende Beschreibung: Fehlercode nicht in allen Quelltextdateien hinzugefügt",
"HMI_ADS_E_OFFSET": "HMI_ADS_E_OFFSET",
"HMI_ADS_SUCCESS": "HMI_ADS_SUCCESS",
"HMI_ADS_E_INVALID_MATRIX_ACCESS": "HMI_ADS_E_INVALID_MATRIX_ACCESS",
"HMI_ADS_E_TCDIR": "HMI_ADS_E_TCDIR",
"HMI_ADS_E_TCVERSION": "HMI_ADS_E_TCVERSION",
"HMI_ADS_E_CONFIGDIR": "HMI_ADS_E_CONFIGDIR",
"HMI_ADS_E_STATE": "HMI_ADS_E_STATE",
"HMI_ADS_E_PARSE_BASETYPES": "HMI_ADS_E_PARSE_BASETYPES",
"HMI_ADS_E_PARSE_DATA": "HMI_ADS_E_PARSE_DATA",
"HMI_ADS_E_NOT_IMPLEMENTED": "HMI_ADS_E_NOT_IMPLEMENTED",
"HMI_ADS_E_INVALID_DATA": "HMI_ADS_E_INVALID_DATA",
"HMI_ADS_E_UPLOAD_DATA": "HMI_ADS_E_UPLOAD_DATA",
"HMI_ADS_E_UNEXPECTED": "HMI_ADS_E_UNEXPECTED",
"HMI_ADS_E_INVALID_RUNTIME": "HMI_ADS_E_INVALID_RUNTIME",
"HMI_ADS_E_INVALID_PARAMETER": "HMI_ADS_E_INVALID_PARAMETER",
"HMI_ADS_E_NO_OFFLINE_DATA": "HMI_ADS_E_NO_OFFLINE_DATA",
"HMI_ADS_E_INVALID_SYMBOL": "HMI_ADS_E_INVALID_SYMBOL",
"HMI_ADS_E_INVALID_SYMBOL_TYPE": "HMI_ADS_E_INVALID_SYMBOL_TYPE",
"HMI_ADS_E_MISSING_SYMBOL_TYPE": "HMI_ADS_E_MISSING_SYMBOL_TYPE",
"HMI_ADS_E_INVALID_SYMBOL_HANDLE": "HMI_ADS_E_INVALID_SYMBOL_HANDLE",
"HMI_ADS_E_MISSING_PARAMETER": "HMI_ADS_E_MISSING_PARAMETER",
"HMI_ADS_E_ADD_ROUTE": "HMI_ADS_E_ADD_ROUTE",
"HMI_ADS_E_ABORTED": "HMI_ADS_E_ABORTED",
"HMI_ADS_E_EMPTY": "HMI_ADS_E_EMPTY",
"HMI_ADS_E_DISABLED": "HMI_ADS_E_DISABLED",
"HMI_ADS_E_LICENSE": "HMI_ADS_E_LICENSE",
"HMI_ADS_E_SYMBOL_HIDDEN": "HMI_ADS_E_SYMBOL_HIDDEN",
"HMI_ADS_E_READONLY": "HMI_ADS_E_READONLY",
"HMI_ADS_E_SYNC_TIMEOUT": "HMI_ADS_E_SYNC_TIMEOUT",
"HMI_ADS_E_RUNTIME_NOT_INITIALIZED": "HMI_ADS_E_RUNTIME_NOT_INITIALIZED",
"HMI_ADS_E_STRING_LENGTH_MISMATCH": "HMI_ADS_E_STRING_LENGTH_MISMATCH",
"HMI_ADS_E_UNION_FIELDS_NOT_BINARY_COMPATIBLE": "HMI_ADS_E_UNION_FIELDS_NOT_BINARY_COMPATIBLE",
"HMI_ADS_E_PENDING_ONLINE_CHANGE": "HMI_ADS_E_PENDING_ONLINE_CHANGE",
"HMI_ADS_E_RETURN_VALUE_SUBSYMBOL": "HMI_ADS_E_RETURN_VALUE_SUBSYMBOL",
"HMI_ADS_E_OUT_OF_RANGE": "HMI_ADS_E_OUT_OF_RANGE",
"HMI_ADS_E_INCOMPLETE_WRITE_NOT_ALLOWED": "HMI_ADS_E_INCOMPLETE_WRITE_NOT_ALLOWED",
"HMI_ADS_E_RESULT_NOT_PROCESSED": "HMI_ADS_E_RESULT_NOT_PROCESSED",
"HMI_ADS_E_REQUEST_TOO_LARGE": "HMI_ADS_E_REQUEST_TOO_LARGE",
"deviceName": "Gerätename",
"adsState": "ADS-Status",
"adsVersion": "TwinCAT-Version",
"adsVersionBuild": "TwinCAT-Build",
"adsProjectName": "Projektname",
"adsApplicationName": "App-Name",
"adsProjectCompiledAt": "Kompiliert",
"connectionState": "Verbindungsstatus",
"domainState": "Domain-Status",
"domainError": "Domain-Fehler",
"isUserModeRuntime": "Usermode-Runtime",
"TOOLTIP_isUserModeRuntime": "Keine Echtzeit-Runtime",
"systemServiceAdsState": "System Service ADS-Status",
"CATEGORY_WRAPPER_FUNCTIONS": "Wrapper-Funktionen",
"CATEGORY_NATIVE": "Native ADS-Funktionen",
"TWINCAT_ONLINE_CHANGE": "Online-Change für Laufzeit {0} von {1} nach {2}",
"TWINCAT_SYM_VERSION_CHANGE": "Änderung der Symbol-Version für Laufzeit {0} von {1} nach {2}",
"TWINCAT_APPINFO_CHANGE": "Laufzeit {0} ist mit dem Projekt '{2}' der Applikation '{1}' verbunden (Kompiliert: {3})",
"TWINCAT_RUNTIME_ENTER_TIMEOUT_STATE": "Timeout der Netzwerkverbindung von Laufzeit {0} ({1}). Warte, bis die Laufzeit wieder verfügbar ist.",
"TWINCAT_RUNTIME_EXIT_TIMEOUT_STATE": "Laufzeit {0} ({1}) ist wieder erreichbar",
"TWINCAT_RUNTIME_STATUS_CHECK_ERROR": "Fehler während der Status-Aktualisierung von Laufzeit {0} ({3}): {2} ({1})",
"TWINCAT_CONNECTED": "Verbunden mit lokalem TwinCAT System",
"TWINCAT_DONGLE": "Suche nach angeschlossenen TwinCAT Lizenz-Dongles",
"TWINCAT_DISCONNECTED": "Verbindung zum lokalen TwinCAT System unterbrochen: {1} ({0})",
"DESC_TYPENAME": "Typbezeichnung",
"DESC_IGNORED_PLC_ATTRIBUTES": "Attribut-Pragmas werden zum JSON-Schema hinzugefügt. Die hier konfigurierten Attribute werden ausgeblendet.",
"DESC_RUNTIME_STATE_CHECK_INTERVAL": "Der Status jeder konfigurierten Laufzeit wird in regelmäßigen Abständen überprüft.",
"DESC_RUNTIME_STATE_CHECK_TIMEOUT": "Eine konfigurierte Laufzeit wird als nicht erreichbar angesehen, wenn eine Anfrage länger als diese Zeitspanne dauert.",
"DESC_VISIBLE_RUNTIME_PORTS": "Zielsysteme können viele ADS-Ports haben. Die meisten werden nur selten in HMI-Projekten verwendet.",
"DESC_RESPONSE_SIZE_LIMIT": "Die SPS-Task wird für jede Anfrage gesperrt. Ist die Anfrage zu groß, kann die SPS-Zykluszeit überschritten werden.",
"DESC_SUM_REQUEST_LIMIT": "Die PLC-Task ist für jede Anfrage gesperrt. Wenn eine Summen-Anfrage zu viele Anfragen enthält, kann die SPS-Zykluszeit überschritten werden.",
"DESC_NEW_HANDLES_PER_SUM_REQUEST_LIMIT": "TwinCATs Handle-Buffer wird nicht während einer Summen-Anfrage vergrößert. Das Anlegen von zu vielen ADS-Handles in einer einzigen Summen-Anfrage führt zu Fehlern, wenn TwinCATs Handle-Buffer voll ist.",
"DESC_ENABLE_READ_BEFORE_WRITE": "Variablen, die versteckt oder in der Schreibanforderung nicht gesetzt sind, werden mit einem alten Wert überschrieben. Deaktivieren Sie diese Einstellung, um Seiteneffekte zu vermeiden und die Leistung zu verbessern.",
"DESC_ADS_ROUTE": "ADS-Route",
"DESC_READ_ONLY": "Verhindert den Schreibzugriff auf Variablen und Set-Properties sowie alle Methodenaufrufe.",
"adsStateInvalid": "Invalid",
"adsStateIdle": "Idle",
"adsStateReset": "Reset",
"adsStateInit": "Init",
"adsStateStart": "Start",
"adsStateRun": "Run",
"adsStateStop": "Stop",
"adsStateSaveCfg": "Save Configuration",
"adsStateLoadCfg": "Load Configuration",
"adsStatePowerFailure": "Power Failure",
"adsStatePowerGood": "Power Good",
"adsStateError": "Error",
"adsStateShutdown": "Shutdown",
"adsStateSuspend": "Suspend",
"adsStateResume": "Resume",
"adsStateConfig": "Config",
"adsStateReconfig": "Reconfiguring",
"adsStateStopping": "Stopping",
"adsStateIncompatible": "Incompatible",
"adsStateException": "Exception"
}
}

View File

@@ -0,0 +1,132 @@
{
"locale": "en",
"localizedText": {
"RUNTIMES": "Runtimes",
"DESC_RUNTIMES": "An ADS connection is established to all enabled runtimes.",
"NETID": "AmsNetId",
"TIMEOUT": "Timeout",
"DESC_TIMEOUT": "Default timeout for ADS requests.",
"ENABLED": "Enabled",
"USE_WHITELISTING": "Use whitelisting",
"READ_ONLY": "Allow only read access",
"PORT": "Port",
"DESC_RUNTIME": "Runtime",
"TRANSMODE": "Notification mode",
"MAXDELAY": "Max delay",
"CYCLETIME": "Cycle time",
"SYMBOLS": "Symbols",
"DESC_SYMBOL": "Symbol",
"INDEXGROUP": "Index group",
"INDEXOFFSET": "Index offset",
"TYPENAME": "Datatype",
"RUNTIME_STATE_CHECK_TIMEOUT": "Maximum timeout for determining the runtime status",
"RUNTIME_STATE_CHECK_INTERVAL": "Runtime state check interval",
"runtimes": "Runtimes",
"IGNORED_PLC_ATTRIBUTES": "Ignored PLC attributes",
"VISIBLE_RUNTIME_PORTS": "Visible runtime ports",
"RESPONSE_SIZE_LIMIT": "Limit response size of ADS requests",
"SUM_REQUEST_LIMIT": "Limit the number of ADS requests that can be bundled in one sum request",
"NEW_HANDLES_PER_SUM_REQUEST_LIMIT": "Limit the number of ADS handles created by a sum request",
"ENABLE_READ_BEFORE_WRITE": "Support incomplete writes by reading before writing",
"HMI_ADS_IMPL_UNREGISTERED_ERROR_CODE": "The description for this error code is missing.",
"HMI_ADS_E_OFFSET": "HMI_ADS_E_OFFSET",
"HMI_ADS_SUCCESS": "HMI_ADS_SUCCESS",
"HMI_ADS_E_INVALID_MATRIX_ACCESS": "HMI_ADS_E_INVALID_MATRIX_ACCESS",
"HMI_ADS_E_TCDIR": "HMI_ADS_E_TCDIR",
"HMI_ADS_E_TCVERSION": "HMI_ADS_E_TCVERSION",
"HMI_ADS_E_CONFIGDIR": "HMI_ADS_E_CONFIGDIR",
"HMI_ADS_E_STATE": "HMI_ADS_E_STATE",
"HMI_ADS_E_PARSE_BASETYPES": "HMI_ADS_E_PARSE_BASETYPES",
"HMI_ADS_E_PARSE_DATA": "HMI_ADS_E_PARSE_DATA",
"HMI_ADS_E_NOT_IMPLEMENTED": "HMI_ADS_E_NOT_IMPLEMENTED",
"HMI_ADS_E_INVALID_DATA": "HMI_ADS_E_INVALID_DATA",
"HMI_ADS_E_UPLOAD_DATA": "HMI_ADS_E_UPLOAD_DATA",
"HMI_ADS_E_UNEXPECTED": "HMI_ADS_E_UNEXPECTED",
"HMI_ADS_E_INVALID_RUNTIME": "HMI_ADS_E_INVALID_RUNTIME",
"HMI_ADS_E_INVALID_PARAMETER": "HMI_ADS_E_INVALID_PARAMETER",
"HMI_ADS_E_NO_OFFLINE_DATA": "HMI_ADS_E_NO_OFFLINE_DATA",
"HMI_ADS_E_INVALID_SYMBOL": "HMI_ADS_E_INVALID_SYMBOL",
"HMI_ADS_E_INVALID_SYMBOL_TYPE": "HMI_ADS_E_INVALID_SYMBOL_TYPE",
"HMI_ADS_E_MISSING_SYMBOL_TYPE": "HMI_ADS_E_MISSING_SYMBOL_TYPE",
"HMI_ADS_E_INVALID_SYMBOL_HANDLE": "HMI_ADS_E_INVALID_SYMBOL_HANDLE",
"HMI_ADS_E_MISSING_PARAMETER": "HMI_ADS_E_MISSING_PARAMETER",
"HMI_ADS_E_ADD_ROUTE": "HMI_ADS_E_ADD_ROUTE",
"HMI_ADS_E_ABORTED": "HMI_ADS_E_ABORTED",
"HMI_ADS_E_EMPTY": "HMI_ADS_E_EMPTY",
"HMI_ADS_E_DISABLED": "HMI_ADS_E_DISABLED",
"HMI_ADS_E_LICENSE": "HMI_ADS_E_LICENSE",
"HMI_ADS_E_SYMBOL_HIDDEN": "HMI_ADS_E_SYMBOL_HIDDEN",
"HMI_ADS_E_READONLY": "HMI_ADS_E_READONLY",
"HMI_ADS_E_SYNC_TIMEOUT": "HMI_ADS_E_SYNC_TIMEOUT",
"HMI_ADS_E_RUNTIME_NOT_INITIALIZED": "HMI_ADS_E_RUNTIME_NOT_INITIALIZED",
"HMI_ADS_E_STRING_LENGTH_MISMATCH": "HMI_ADS_E_STRING_LENGTH_MISMATCH",
"HMI_ADS_E_UNION_FIELDS_NOT_BINARY_COMPATIBLE": "HMI_ADS_E_UNION_FIELDS_NOT_BINARY_COMPATIBLE",
"HMI_ADS_E_PENDING_ONLINE_CHANGE": "HMI_ADS_E_PENDING_ONLINE_CHANGE",
"HMI_ADS_E_RETURN_VALUE_SUBSYMBOL": "HMI_ADS_E_RETURN_VALUE_SUBSYMBOL",
"HMI_ADS_E_OUT_OF_RANGE": "HMI_ADS_E_OUT_OF_RANGE",
"HMI_ADS_E_INCOMPLETE_WRITE_NOT_ALLOWED": "HMI_ADS_E_INCOMPLETE_WRITE_NOT_ALLOWED",
"HMI_ADS_E_RESULT_NOT_PROCESSED": "HMI_ADS_E_RESULT_NOT_PROCESSED",
"HMI_ADS_E_REQUEST_TOO_LARGE": "HMI_ADS_E_REQUEST_TOO_LARGE",
"deviceName": "Device name",
"adsState": "ADS state",
"adsVersion": "TwinCAT version",
"adsVersionBuild": "TwinCAT build",
"adsProjectName": "Project name",
"adsApplicationName": "Application name",
"adsProjectCompiledAt": "Compiled at",
"isUserModeRuntime": "User mode runtime",
"TOOLTIP_isUserModeRuntime": "Not a real-time runtime",
"systemServiceAdsState": "System service ADS state",
"CATEGORY_WRAPPER_FUNCTIONS": "Wrapper functions",
"CATEGORY_NATIVE": "Native ADS functions",
"connectionState": "Connection state",
"domainState": "Domain state",
"domainError": "Domain error",
"TWINCAT_ONLINE_CHANGE": "Online change of runtime {0} detected. Counter changed from {1} to {2}.",
"TWINCAT_SYM_VERSION_CHANGE": "Symbol version change detected for runtime {0}. Counter changed from {1} to {2}.",
"TWINCAT_APPINFO_CHANGE": "Runtime {0} is connected to project '{2}' of application '{1}' (Compiled at {3})",
"TWINCAT_RUNTIME_ENTER_TIMEOUT_STATE": "Network connection of runtime {0} ({1}) timed out. Waiting for runtime to become available again.",
"TWINCAT_RUNTIME_EXIT_TIMEOUT_STATE": "Runtime {0} ({1}) is available again",
"TWINCAT_RUNTIME_STATUS_CHECK_ERROR": "Error while checking the status of runtime {0} ({3}): {2} ({1})",
"TWINCAT_CONNECTED": "Connected to the local TwinCAT system",
"TWINCAT_DONGLE": "Checking for connected TwinCAT license dongles",
"TWINCAT_DISCONNECTED": "Unable to connect to the local TwinCAT system: {1} ({0})",
"DESC_TYPENAME": "Typename",
"DESC_IGNORED_PLC_ATTRIBUTES": "Attribute pragmas are added to the JSON schema. The attributes configured here are hidden.",
"DESC_RUNTIME_STATE_CHECK_INTERVAL": "The state of each configured runtime is checked periodically.",
"DESC_RUNTIME_STATE_CHECK_TIMEOUT": "A configured runtime is considered unreachable if a request takes longer than this timeout.",
"DESC_VISIBLE_RUNTIME_PORTS": "Target systems can have many ADS ports. Most are rarely used in HMI projects.",
"DESC_RESPONSE_SIZE_LIMIT": "The PLC task is locked for every request. If the request is too large, the PLC cycle time might be exceeded.",
"DESC_SUM_REQUEST_LIMIT": "The PLC task is locked for every request. If a sum request contains too many requests, the PLC cycle time might be exceeded.",
"DESC_NEW_HANDLES_PER_SUM_REQUEST_LIMIT": "TwinCAT's handle buffer is not resized in the middle of a sum request. Creating too many ADS handles in a single sum request causes errors if TwinCAT's handle buffer is full.",
"DESC_ENABLE_READ_BEFORE_WRITE": "Variables that are hidden or not set in the write request will be overwritten with an old value. Disable this setting to prevent side effects and improve performance.",
"DESC_ADS_ROUTE": "ADS route",
"DESC_READ_ONLY": "Prevents write access to variables and setters, as well as all method calls.",
"adsStateInvalid": "Invalid",
"adsStateIdle": "Idle",
"adsStateReset": "Reset",
"adsStateInit": "Init",
"adsStateStart": "Start",
"adsStateRun": "Run",
"adsStateStop": "Stop",
"adsStateSaveCfg": "Save configuration",
"adsStateLoadCfg": "Load configuration",
"adsStatePowerFailure": "Power failure",
"adsStatePowerGood": "Power good",
"adsStateError": "Error",
"adsStateShutdown": "Shutdown",
"adsStateSuspend": "Suspend",
"adsStateResume": "Resume",
"adsStateConfig": "Config",
"adsStateReconfig": "Reconfiguring",
"adsStateStopping": "Stopping",
"adsStateIncompatible": "Incompatible",
"adsStateException": "Exception"
}
}

View File

@@ -0,0 +1,352 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"adsState": {
"type": "integer",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19
],
"options": [
{
"label": "adsStateInvalid",
"value": 0
},
{
"label": "adsStateIdle",
"value": 1
},
{
"label": "adsStateReset",
"value": 2
},
{
"label": "adsStateInit",
"value": 3
},
{
"label": "adsStateStart",
"value": 4
},
{
"label": "adsStateRun",
"value": 5
},
{
"label": "adsStateStop",
"value": 6
},
{
"label": "adsStateSaveCfg",
"value": 7
},
{
"label": "adsStateLoadCfg",
"value": 8
},
{
"label": "adsStatePowerFailure",
"value": 9
},
{
"label": "adsStatePowerGood",
"value": 10
},
{
"label": "adsStateError",
"value": 11
},
{
"label": "adsStateShutdown",
"value": 12
},
{
"label": "adsStateSuspend",
"value": 13
},
{
"label": "adsStateResume",
"value": 14
},
{
"label": "adsStateConfig",
"value": 15
},
{
"label": "adsStateReconfig",
"value": 16
},
{
"label": "adsStateStopping",
"value": 17
},
{
"label": "adsStateIncompatible",
"value": 18
},
{
"label": "adsStateException",
"value": 19
}
]
}
},
"properties": {
"TIMEOUT": {
"configDescription": "DESC_TIMEOUT",
"type": "string",
"propertyOrder": 2,
"format": "timespan",
"default": "PT1S",
"formatMinimum": "PT0.1S",
"formatMaximum": "PT30S"
},
"RUNTIME_STATE_CHECK_TIMEOUT": {
"configDescription": "DESC_RUNTIME_STATE_CHECK_TIMEOUT",
"type": "string",
"propertyOrder": 3,
"format": "timespan",
"default": "PT5S",
"formatMinimum": "PT1S",
"formatMaximum": "PT30S",
"visibility": "HideInEngineering"
},
"RUNTIME_STATE_CHECK_INTERVAL": {
"configDescription": "DESC_RUNTIME_STATE_CHECK_INTERVAL",
"type": "string",
"propertyOrder": 4,
"format": "timespan",
"default": "PT2S",
"formatMinimum": "PT1S",
"formatMaximum": "PT30S",
"visibility": "HideInEngineering"
},
"RUNTIMES": {
"configDescription": "DESC_RUNTIMES",
"type": "object",
"additionalProperties": {
"type": "object",
"configDescription": "DESC_RUNTIME",
"properties": {
"PORT": {
"type": "integer",
"minimum": 0,
"default": 851,
"optionMethod": {
"symbol": "{domain}.RuntimePorts",
"writeValue": {
"NETID": {
"$data": "#/properties/RUNTIMES/additionalProperties/NETID"
}
}
},
"propertyOrder": 3
},
"NETID": {
"allOf": [
{
"$ref": "tchmi:server#/definitions/adsRoute"
},
{
"propertyOrder": 2,
"configDescription": "DESC_ADS_ROUTE"
}
]
},
"ENABLED": {
"type": "boolean",
"default": true,
"propertyOrder": 1
},
"USE_WHITELISTING": {
"type": "boolean",
"default": false,
"propertyOrder": 4
},
"READ_ONLY": {
"type": "boolean",
"default": false,
"propertyOrder": 5,
"configDescription": "DESC_READ_ONLY"
},
"SYMBOLS": {
"type": "object",
"additionalProperties": {
"type": "object",
"configDescription": "DESC_SYMBOL",
"properties": {
"INDEXGROUP": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"INDEXOFFSET": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"TYPENAME": {
"type": "string",
"configDescription": "DESC_TYPENAME",
"optionMethod": {
"symbol": "{domain}.ListCommonTypes"
}
}
},
"required": [ "INDEXGROUP", "INDEXOFFSET", "TYPENAME" ]
},
"default": {},
"propertyOrder": 6
}
},
"additionalProperties": false,
"required": ["PORT", "USE_WHITELISTING", "NETID", "ENABLED", "SYMBOLS", "READ_ONLY" ]
},
"default": {
"PLC1": {
"PORT": 851,
"NETID": "127.0.0.1.1.1",
"ENABLED": true,
"USE_WHITELISTING": false,
"READ_ONLY": false,
"SYMBOLS": {}
}
},
"defaultConfigurable": true,
"propertyOrder": 1
},
"IGNORED_PLC_ATTRIBUTES": {
"configDescription": "DESC_IGNORED_PLC_ATTRIBUTES",
"type": "array",
"items": {
"type": "string"
},
"default": [
"DisplayMinValue",
"DisplayMaxValue",
"DisplayMinValueX64",
"DisplayMaxValueX64",
"LowerBorder",
"UpperBorder",
"TcRpcEnable",
"TcGenerateDeRefType",
"TcHmiSymbol.ReadOnly",
"TcHmiSymbol.AddSymbol",
"TcHmiSymbol.AddSymbol.UserGroups",
"TcHmiSymbol.AddSymbol.UserGroups.Read",
"TcHmiSymbol.AddSymbol.Hidden",
"to_string_function",
"to_wstring_function"
],
"visibility": "HideInEngineering",
"propertyOrder": 5
},
"VISIBLE_RUNTIME_PORTS": {
"configDescription": "DESC_VISIBLE_RUNTIME_PORTS",
"type": "array",
"items": {
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT16"
},
{
"minimum": 1
}
]
},
"default": [
301,
302,
303,
304,
350,
351,
352,
353,
354,
355,
501,
801,
811,
821,
831,
851,
852,
853,
854,
10000,
19800
],
"visibility": "HideInEngineering",
"propertyOrder": 6
},
"RESPONSE_SIZE_LIMIT": {
"allOf": [
{
"$ref": "tchmi:general#/definitions/INT32"
},
{
"configDescription": "DESC_RESPONSE_SIZE_LIMIT",
"type": "integer",
"minimum": 2048,
"default": 2097152,
"unit": "byte",
"visibility": "HideInEngineering",
"propertyOrder": 7
}
]
},
"SUM_REQUEST_LIMIT": {
"configDescription": "DESC_SUM_REQUEST_LIMIT",
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 500,
"visibility": "HideInEngineering",
"propertyOrder": 8
},
"NEW_HANDLES_PER_SUM_REQUEST_LIMIT": {
"configDescription": "DESC_NEW_HANDLES_PER_SUM_REQUEST_LIMIT",
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 100,
"visibility": "HideInEngineering",
"propertyOrder": 9
},
"ENABLE_READ_BEFORE_WRITE": {
"configDescription": "DESC_ENABLE_READ_BEFORE_WRITE",
"type": "boolean",
"default": false,
"propertyOrder": 10
}
},
"type": "object",
"required": [
"TIMEOUT",
"RUNTIME_STATE_CHECK_TIMEOUT",
"RUNTIME_STATE_CHECK_INTERVAL",
"RUNTIMES",
"IGNORED_PLC_ATTRIBUTES",
"VISIBLE_RUNTIME_PORTS",
"RESPONSE_SIZE_LIMIT",
"SUM_REQUEST_LIMIT",
"NEW_HANDLES_PER_SUM_REQUEST_LIMIT",
"ENABLE_READ_BEFORE_WRITE"
],
"additionalProperties": false
}

View File

@@ -0,0 +1,25 @@
{
"$schema": "../../TcHmiSrv/schema/ExtensionSettings.Schema.json",
"version": "14.4.293.0",
"configVersion": "1.0.1.1",
"guid": "EBCC019A-41B4-4ADA-9163-F9F34357B0B6",
"visibility": "HideInEngineering",
"policies": [
"StrictPropertyValidation",
"StrictConfigListenerFilter"
],
"fileExtensions": [
{
"fileExtension": "lp",
"fileDescription": "LPUPLOADDESCRIPTION"
},
{
"fileExtension": "lua",
"fileDescription": "LUAUPLOADDESCRIPTION"
}
],
"symbols": {},
"packageVersion": "14.4.293.0",
"productVersion": "14.4.293.0",
"signature": "lZ6A8L8o9zZ0vecnbMIZvYXbkZpLsmRV2uZeLkH+MgCEnBnGKugT6f8bOskynR6UHeqpWMpmoFBWFz2er3veEHnRj2bTjN8yA34aRdFWAVhdeykDdCx/1IL4V6JgHSllsR9yxAID8wViRmU9SfMBy/jlgdUos9GzgBIDtJis4k0VDajdZUNahTcgXxM8kfQxl6/Idh30egfXekWmSjp1wctnf0uPjeCa5/CXjRLMWFrWowiY/bSxQD9CYZHqwo+NWiRrmG5fNSwkS4JahaoidM011KRYLOgYYdm6HuA+fFejCwFxX9t27vBn+IV24C1TQa6YjBm7J0e8pHAhUTFaFA=="
}

View File

@@ -0,0 +1,23 @@
{
"locale": "de",
"localizedText": {
"HTML_ERRORS": "Zeige Fehler in HTML-Ausgabe",
"DESC_HTML_ERRORS": "Aus Sicherheitsgründen sollte diese Fehlerausgabe unterdrückt werden.",
"SCRIPT_TIMEOUT": "Script-Timeout",
"DESC_SCRIPT_TIMEOUT": "Timeout, nach dem die Ausführung eines Lua-Scripts abgebrochen wird.",
"LUA_ERROR": "Lua-Fehler: {0}",
"ERROR_CONFIG_STRING": "{0} fehlgeschlagen: {1}",
"ERROR_CONFIG_STRING_NO_DETAIL": "{0} fehlgeschlagen",
"CONFIG_ACTION_SUCCESS_STRING": "{0} erfolgreich",
"CONFIG_ACTION_ADD": "Hinzufügen",
"CONFIG_ACTION_DELETE": "Entfernen",
"CONFIG_ACTION_UPDATE": "Aktualisieren",
"CONFIG_ACTION_RENAME": "Umbenennen",
"CONFIG_ACTION_IMPORT": "Importieren",
"SCRIPT_ERROR": "Ein Script-Fehler ist aufgetreten",
"LOG_PAGE_MAX_ENTRIES": "Maximale Anzahl an Einträgen auf der Log-Seite",
"DESC_LOG_PAGE_MAX_ENTRIES": "Wenn dieser Wert erreicht wird, werden die Ereignisse auf mehreren Seiten angezeigt",
"CONFIG_PAGE_ARRAY_LIMIT": "Maximale Anzahl an Array-Einträgen in der Konfiguration",
"DESC_CONFIG_PAGE_ARRAY_LIMIT": "Maximale Anzahl an Array-Einträgen, die auf der Konfigurationsseite angezeigt werden"
}
}

View File

@@ -0,0 +1,23 @@
{
"locale": "en",
"localizedText": {
"HTML_ERRORS": "Show errors in HTML",
"DESC_HTML_ERRORS": "For security reasons, this error output should be disabled.",
"SCRIPT_TIMEOUT": "Script timeout",
"DESC_SCRIPT_TIMEOUT": "Timeout after which the execution of a Lua script is aborted.",
"LUA_ERROR": "Lua error: {0}",
"ERROR_CONFIG_STRING": "{0} failed: {1}",
"ERROR_CONFIG_STRING_NO_DETAIL": "{0} failed",
"CONFIG_ACTION_SUCCESS_STRING": "{0} successful",
"CONFIG_ACTION_ADD": "Add",
"CONFIG_ACTION_DELETE": "Delete",
"CONFIG_ACTION_UPDATE": "Update",
"CONFIG_ACTION_RENAME": "Rename",
"CONFIG_ACTION_IMPORT": "Import",
"SCRIPT_ERROR": "Script error occurred",
"LOG_PAGE_MAX_ENTRIES": "Max entries to be displayed on the log page",
"DESC_LOG_PAGE_MAX_ENTRIES": "If this value is reached, the events will be displayed on several pages",
"CONFIG_PAGE_ARRAY_LIMIT": "Maximum number of array entries in the configuration",
"DESC_CONFIG_PAGE_ARRAY_LIMIT": "Maximum number of array entries displayed on the configuration page"
}
}

View File

@@ -0,0 +1,32 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"CONFIG_PAGE_ARRAY_LIMIT": {
"type": "integer",
"configDescription": "DESC_CONFIG_PAGE_ARRAY_LIMIT",
"default": 100,
"minimum": 1
},
"LOG_PAGE_MAX_ENTRIES": {
"type": "integer",
"configDescription": "DESC_LOG_PAGE_MAX_ENTRIES",
"default": 200,
"minimum": 10
},
"HTML_ERRORS": {
"configDescription": "DESC_HTML_ERRORS",
"type": "boolean",
"default": false
},
"SCRIPT_TIMEOUT": {
"configDescription": "DESC_SCRIPT_TIMEOUT",
"type": "string",
"format": "timespan",
"default": "PT10S",
"formatMinimum": "PT5S"
}
},
"required": [ "CONFIG_PAGE_ARRAY_LIMIT", "LOG_PAGE_MAX_ENTRIES", "HTML_ERRORS", "SCRIPT_TIMEOUT" ],
"type": "object",
"additionalProperties": false
}

View File

@@ -0,0 +1,189 @@
{
"$schema": "../../TcHmiSrv/schema/ExtensionSettings.Schema.json",
"version": "14.4.293.0",
"configVersion": "1.0.1.2",
"guid": "CD0B1D03-27D7-4904-BEFF-3882D751757A",
"visibility": "HideInEngineering",
"policies": [
"StrictPropertyValidation",
"StrictConfigListenerFilter"
],
"symbols": {
"ListEvents": {
"readValue": {
"function": true
}
},
"Diagnostics": {
"userGroups": [
"__SystemUsers"
],
"readValue": {
"function": true,
"type": "object",
"properties": {
"allDomains": {
"type": "object",
"properties": {
"databaseSize": {
"allOf": [
{
"$ref": "tchmi:general#/definitions/INT64"
},
{
"propertyOrder": 1,
"unit": "byte"
}
]
},
"persistentDatabaseSize": {
"allOf": [
{
"$ref": "tchmi:general#/definitions/INT64"
},
{
"propertyOrder": 2,
"unit": "byte"
}
]
},
"numEvents": {
"type": "integer",
"propertyOrder": 3
},
"numPersistentEvents": {
"type": "integer",
"propertyOrder": 4,
"visibility": "HideInEngineering"
},
"numEventsWithMessagePayload": {
"type": "integer",
"propertyOrder": 5
},
"numPersistentEventsWithMessagePayload": {
"type": "integer",
"propertyOrder": 6,
"visibility": "HideInEngineering"
},
"numEventsWithAlarmPayload": {
"type": "integer",
"propertyOrder": 7
},
"numPersistentEventsWithAlarmPayload": {
"type": "integer",
"propertyOrder": 8,
"visibility": "HideInEngineering"
}
},
"required": [
"databaseSize",
"persistentDatabaseSize",
"numEvents",
"numPersistentEvents",
"numEventsWithMessagePayload",
"numPersistentEventsWithMessagePayload",
"numEventsWithAlarmPayload",
"numPersistentEventsWithAlarmPayload"
]
},
"perDomain": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"numEvents": {
"type": "integer",
"propertyOrder": 1
},
"numPersistentEvents": {
"type": "integer",
"propertyOrder": 2,
"visibility": "HideInEngineering"
},
"numEventsWithMessagePayload": {
"type": "integer",
"propertyOrder": 3
},
"numPersistentEventsWithMessagePayload": {
"type": "integer",
"propertyOrder": 4,
"visibility": "HideInEngineering"
},
"numEventsWithAlarmPayload": {
"type": "integer",
"propertyOrder": 5
},
"numPersistentEventsWithAlarmPayload": {
"type": "integer",
"propertyOrder": 6,
"visibility": "HideInEngineering"
}
},
"required": [
"numEvents",
"numPersistentEvents",
"numEventsWithMessagePayload",
"numPersistentEventsWithMessagePayload",
"numEventsWithAlarmPayload",
"numPersistentEventsWithAlarmPayload"
]
}
}
},
"required": [
"allDomains",
"perDomain"
]
}
},
"Clear": {
"readValue": {
"function": true
},
"writeValue": {
"anyOf": [
{
"type": "object",
"properties": {
"match": {
"$ref": "tchmi:server#/definitions/eventFilter"
}
},
"required": [
"match"
]
},
{
"$ref": "tchmi:general#/definitions/VOID"
}
]
}
},
"ClearLocalizations": {
"readValue": {
"function": true
},
"writeValue": {
"anyOf": [
{
"type": "object",
"properties": {
"match": {
"$ref": "tchmi:server#/definitions/eventFilter"
}
},
"required": [
"match"
]
},
{
"$ref": "tchmi:general#/definitions/VOID"
}
]
}
}
},
"packageVersion": "14.4.293.0",
"productVersion": "14.4.293.0",
"signature": "PjtuaAGFMO67Ih+reaGa2D/ScO/zHxAqAC+ntIugYa2KqvXc4scuRxy1JL5RapS7BdMc6fcYQxr2zk7hw1q0qwDNPRgm+XrX+PIsC+asXdCfeRe8Px2MUxpvIpYmKW/S6NsYBwcS0YKMnolwkCv+zvTmLiTOnO5V/M94W7OZ8Vs9eTiLTpXTmFdUYaWfuO53ZG0nBMWPi0BKcwihOZPZYzLogZT5wIy/xG4KFjeWjB2bSZ0iJ/h5t2zBJD+hPKYnnEXDNcjedBPBo+l/XIQQdPiXSP3QOeqa+V4iq5ben4EpOVJ7/D42d+V/pJ3TSEEc6CCSe0+2B1yLbwkAXZcSaw=="
}

View File

@@ -0,0 +1,43 @@
{
"locale": "de",
"localizedText": {
"MAXENTRIES": "Maximale Anzahl von Einträgen",
"DESC_MAXENTRIES": "Um die Datenbankgröße zu begrenzen, werden die ältesten Datenbankeinträge unwiderruflich gelöscht, wenn dieses Limit überschritten wird.",
"MAXENTRYLENGTH": "Maximale Länge eines Eintrags",
"DESC_MAXENTRYLENGTH": "Einträge, die dieses Limit überschreiten, werden vor dem Speichern gekürzt.",
"EVENTREQUIRESCONFIRMATION": "Ereignis {0} benötigt eine Bestätigung",
"EVENTCONFIRMED": "Ereignis {0} wurde bestätigt",
"DEFAULT_LIST_LIMIT": "Standardlimit für Eintragslisten",
"DESC_DEFAULT_LIST_LIMIT": "Dieses Limit wird für alle Anfragen verwendet, für die kein anderes Limit angegeben wurde.",
"VACUUM_ON_STARTUP": "Vacuum beim Start",
"DESC_VACUUM_ON_STARTUP": "Versucht, die Datenbankgröße zu reduzieren. Dies kann bei großen Datenbanken sehr lange dauern.",
"MODE": "Modus",
"DESC_MODE": "Synchronisation aus ist schneller, kann aber im Fall eines Stromausfalls die Datenbank korrumpieren.",
"ENUM_SYNCHRONOUS_EXTRA_PERSIST": "Synchronisation extra",
"ENUM_SYNCHRONOUS_FULL_PERSIST": "Synchronisation vollständig",
"ENUM_SYNCHRONOUS_NORMAL_PERSIST": "Synchronisation normal",
"ENUM_SYNCHRONOUS_OFF_PERSIST": "Synchronisation aus",
"REDIRECT_DIAGNOSTICS_MESSAGES_TO_FILE": "Diagnosemeldungen in eine Datei umleiten",
"DESC_REDIRECT_DIAGNOSTICS_MESSAGES_TO_FILE": "Verringert die Wahrscheinlichkeit, dass eine Flut von Diagnosemeldungen das System überfordert. Besonders nützlich bei der Diagnose von Problemen auf kleineren Geräten. Diese Funktion wird nur auf Windows unterstützt. Server-Neustart erforderlich.",
"REDIRECTING_DIAGNOSTICS_MESSAGES_TO_FILE": "Diagnosemeldungen werden in diese Datei umgeleitet: {0}",
"MAX_DIAGNOSTICS_MESSAGES_FILE_SIZE": "Maximale Größe der Datei, die die Diagnosemeldungen enthält",
"MAX_DIAGNOSTICS_ARCHIVE_FILE_COUNT": "Maximale Anzahl der Archivdateien, die Diagnosemeldungen enthalten",
"DESC_MAX_DIAGNOSTICS_MESSAGES_FILE_SIZE": "Server-Neustart erforderlich.",
"DESC_MAX_DIAGNOSTICS_ARCHIVE_FILE_COUNT": "Server-Neustart erforderlich.",
"MSG_SHUTDOWN": "Herunterfahren der Erweiterung {0} war erfolgreich.",
"allDomains": "Alle Domains",
"perDomain": "Pro Domain",
"databaseSize": "Datenbankgröße",
"persistentDatabaseSize": "Größe der persistenten Datenbank",
"numEvents": "Anzahl Ereignisse",
"numPersistentEvents": "Anzahl persistierter Ereignisse",
"numEventsWithAlarmPayload": "Anzahl Alarme",
"numPersistentEventsWithAlarmPayload": "Anzahl persistierter Alarme",
"numEventsWithMessagePayload": "Anzahl Nachrichten",
"numPersistentEventsWithMessagePayload": "Anzahl persistierter Nachrichten"
}
}

View File

@@ -0,0 +1,43 @@
{
"locale": "en",
"localizedText": {
"MAXENTRIES": "Maximum number of entries",
"DESC_MAXENTRIES": "To limit the database size, the oldest database entries are permanently deleted when this limit is exceeded.",
"MAXENTRYLENGTH": "Maximum length of an entry",
"DESC_MAXENTRYLENGTH": "Entries that exceed this limit will be truncated before being stored.",
"EVENTREQUIRESCONFIRMATION": "Event {0} requires confirmation",
"EVENTCONFIRMED": "Event {0} got confirmed",
"DEFAULT_LIST_LIMIT": "Default limit for entry lists",
"DESC_DEFAULT_LIST_LIMIT": "This limit is used for all requests for which no other limit has been specified.",
"VACUUM_ON_STARTUP": "Vacuum at startup",
"DESC_VACUUM_ON_STARTUP": "Tries to reduce database size. This might take a while on big databases.",
"MODE": "Mode",
"DESC_MODE": "Synchronous off mode is fast but can corrupt the database in case of a power failure.",
"ENUM_SYNCHRONOUS_EXTRA_PERSIST": "Synchronous extra",
"ENUM_SYNCHRONOUS_FULL_PERSIST": "Synchronous full",
"ENUM_SYNCHRONOUS_NORMAL_PERSIST": "Synchronous normal",
"ENUM_SYNCHRONOUS_OFF_PERSIST": "Synchronous off",
"REDIRECT_DIAGNOSTICS_MESSAGES_TO_FILE": "Redirect diagnostics messages to file",
"DESC_REDIRECT_DIAGNOSTICS_MESSAGES_TO_FILE": "Reduces the chance that a flood of diagnostics messages will overwhelm the system. Especially useful when diagnosing problems on smaller devices. Only supported on Windows. Server restart required.",
"REDIRECTING_DIAGNOSTICS_MESSAGES_TO_FILE": "Redirecting diagnostics messages to this file: {0}",
"MAX_DIAGNOSTICS_MESSAGES_FILE_SIZE": "Maximum size of the file containing the diagnostic messages",
"MAX_DIAGNOSTICS_ARCHIVE_FILE_COUNT": "Maximum count of archive files containing diagnostic messages",
"DESC_MAX_DIAGNOSTICS_MESSAGES_FILE_SIZE": "Server restart required.",
"DESC_MAX_DIAGNOSTICS_ARCHIVE_FILE_COUNT": "Server restart required.",
"MSG_SHUTDOWN": "Shutdown extension {0} succeeded.",
"allDomains": "All domains",
"perDomain": "Per domain",
"databaseSize": "Database size",
"persistentDatabaseSize": "Size of the persistent database",
"numEvents": "Number of events",
"numPersistentEvents": "Number of persistent events",
"numEventsWithAlarmPayload": "Number of alarms",
"numPersistentEventsWithAlarmPayload": "Number of persistent alarms",
"numEventsWithMessagePayload": "Number of messages",
"numPersistentEventsWithMessagePayload": "Number of persistent messages"
}
}

View File

@@ -0,0 +1,99 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"MAXENTRIES": {
"configDescription": "DESC_MAXENTRIES",
"type": "integer",
"minimum": 1,
"default": 15000
},
"MAXENTRYLENGTH": {
"configDescription": "DESC_MAXENTRYLENGTH",
"type": "integer",
"minimum": 80,
"default": 1024,
"unit": "byte"
},
"DEFAULT_LIST_LIMIT": {
"configDescription": "DESC_DEFAULT_LIST_LIMIT",
"type": "integer",
"minimum": 1,
"default": 1000
},
"VACUUM_ON_STARTUP": {
"type": "boolean",
"default": false,
"configDescription": "DESC_VACUUM_ON_STARTUP"
},
"MODE": {
"visibility": "HideInEngineering",
"type": "integer",
"default": 1,
"configDescription": "DESC_MODE",
"enum": [ 0, 1, 3, 4 ],
"options": [
{
"label": "ENUM_SYNCHRONOUS_EXTRA_PERSIST",
"value": 0
},
{
"label": "ENUM_SYNCHRONOUS_FULL_PERSIST",
"value": 1
},
{
"label": "ENUM_SYNCHRONOUS_NORMAL_PERSIST",
"value": 3
},
{
"label": "ENUM_SYNCHRONOUS_OFF_PERSIST",
"value": 4
}
]
},
"REDIRECT_DIAGNOSTICS_MESSAGES_TO_FILE": {
"type": "boolean",
"default": true,
"configDescription": "DESC_REDIRECT_DIAGNOSTICS_MESSAGES_TO_FILE"
},
"MAX_DIAGNOSTICS_MESSAGES_FILE_SIZE": {
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"unit": "byte",
"default": 52428800,
"minimum": 10000,
"visibility": "HideInEngineering",
"configDescription": "DESC_MAX_DIAGNOSTICS_MESSAGES_FILE_SIZE"
}
]
},
"MAX_DIAGNOSTICS_ARCHIVE_FILE_COUNT": {
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"default": 2,
"minimum": 1,
"maximum": 16,
"visibility": "HideInEngineering",
"configDescription": "DESC_MAX_DIAGNOSTICS_ARCHIVE_FILE_COUNT"
}
]
}
},
"required": [
"MAXENTRIES",
"MAXENTRYLENGTH",
"DEFAULT_LIST_LIMIT",
"VACUUM_ON_STARTUP",
"MODE",
"REDIRECT_DIAGNOSTICS_MESSAGES_TO_FILE",
"MAX_DIAGNOSTICS_MESSAGES_FILE_SIZE",
"MAX_DIAGNOSTICS_ARCHIVE_FILE_COUNT"
],
"type": "object",
"additionalProperties": false
}

View File

@@ -0,0 +1,15 @@
{
"$schema": "../../TcHmiSrv/schema/ExtensionSettings.Schema.json",
"version": "14.4.293.0",
"configVersion": "1.0.1.0",
"guid": "5593EC02-D60D-43D0-9801-F7B5BEE5C566",
"visibility": "AlwaysShow",
"policies": [
"StrictPropertyValidation",
"StrictConfigListenerFilter"
],
"symbols": {},
"packageVersion": "14.4.293.0",
"productVersion": "14.4.293.0",
"signature": "knpyqR8x5i7pFddgpxdoYlQQWgZPv8FClORu5Mc3o7wr+m20/STdOVzmU3Fstt5OzJKz6VGG+LrHk1qClQgyGQaPygof+APF53o26WwUgVH9SS2TEVkcgGYYcnOJQ58FaG/f0lbp+3MoWKDixEsKI19wvWpi46+gZwjqwLgYfm2NFpy+SSbKMHpxSKOZbv0ooE+IewDw2U08eojsULJdYKxd75oRj6yDlUy7Cmkkr3H4MZESu4Bosj7V0naOMn6tV1T9ZOUpmK6VjPjON/RFgtNepfYMnusiwosE3IJRPDUDbrog28HzGDqsJoqGWwyfcn4qjg2nUzPVb4B5rKbpjA=="
}

View File

@@ -0,0 +1,756 @@
{
"locale": "de",
"localizedText": {
"LOGIN_TITLE": "Anmeldung",
"INIT_TITLE": "Server-Initialisierung",
"TIMEOUT_TITLE": "Neustart erforderlich",
"LOGIN_DOMAIN": "Domain",
"LOGIN_USER": "Benutzername",
"LOGIN_PASSWORD": "Passwort",
"LOGIN_BUTTON": "Anmelden",
"LOGIN_MAINTENANCE_TITLE": "Wartungsmodus",
"LOGIN_MAINTENANCE_BUTTON_TITLE": "Wartungsmodus starten",
"SET_BUTTON": "Setzen",
"LOGIN_CHANGE_BUTTON": "Wechseln",
"LOGIN_CHANGE_TITLE": "Benutzer wechseln",
"LOGIN_FAILED": "Anmeldung fehlgeschlagen:",
"INVALID_USERNAME_OR_PASSWORD": "Ungültiger Benutzername oder Passwort",
"TOO_MANY_FAILED_LOGIN_ATTEMPTS": "Zu viele fehlgeschlagene Anmeldeversuche",
"AUTHENTICATOR_DESCRIPTION": "Geben Sie den 6-stelligen Sicherheitscode aus Ihrer Authentifizierungs-App ein",
"ALREADY_LOGGED_IN": "Benutzer ist bereits eingeloggt",
"REQUEST_START": "Starte Anfrage {0}",
"REQUEST_INTERRUPTED": "Anfrage {0} wurde unterbrochen",
"REQUEST_FINISHED": "Anfrage {0} abgeschlossen",
"REQUEST_DELETE": "Lösche {0} in Sitzung {1}",
"REQUEST_IN_USE": "Anfrage {0} wird bereits verwendet",
"FILE_DELETE": "Lösche Datei {0}",
"FILE_STORE": "Speichere Datei {0}",
"FILE_ERROR_NOT_FOUND": "Datei {0} existiert nicht",
"HTTP_LISTENER_NOT_FOUND": "HTTP-Listener mit Domain {0} existiert nicht",
"FILE_INVALID_ACCESS": "Ungültiger Zugriff",
"ERROR": "Fehler: {0}",
"SUBSCRIPTION_ERROR_DELETE": "Subscription {0} konnte nicht gelöscht werden",
"SUBSCRIPTION_ERROR_UPDATE": "Subscription {0} konnte nicht aktualisiert werden",
"LOAD_EXTENSION": "Lade Erweiterung {0} ({1})",
"LOAD_CONFIG_ERROR": "Konfiguration der Erweiterung {0} konnte nicht geladen werden",
"PROJECTNAME": "Projektname",
"PROJECTVERSION": "Projektversion",
"PROJECTNAME_VERSION": "Projekt {0} {1}",
"SYSTRAY_CREATE_ERROR": "Systray konnte nicht erstellt werden",
"TRAY_TOOLTIP_PLAIN": "TcHmiSrv",
"LOADING": "Lade...",
"TRAY_TOOLTIP": "TcHmiSrv\r\nAktive Server: {0}",
"TRAY_TITLE_PROJECT": "{0} auf Port {1}",
"TRAY_TITLE_ENGINEERING": "Engineering auf Port {0}",
"TRAY_TITLE_ENGINEERING_PROJECT": "{0} auf Port {1}",
"TRAY_TITLE": "TcHmiSrv auf Port {0}",
"TRAY_TITLE_SERVICE_WITH_PROJECT": "{0} auf Port {1}",
"TRAY_TITLE_SERVICE": "Service auf Port {0}",
"TRAY_TITLE_SERVICE_CONFIGURATION": "Service-Konfiguration",
"TRAY_CONFIG": "Config",
"TRAY_START_PAGE": "Startseite",
"TRAY_SHUTDOWN": "Herunterfahren",
"TRAY_RESTART": "Neustarten",
"RESTART": "Server-Neustart",
"VERSION": "Version",
"ACTIVE_CONFIG": "Aktive Konfiguration",
"UNABLE_TO_LISTEN": "Webserver kann nicht auf Endpoint {0} hören: {1}",
"EXCEPTION_STARTING_WEBSERVER": "Starten des Servers ist mit Fehler '{0}' fehlgeschlagen",
"IPV4_FALLBACK": "Fehler beim Hören auf IPv6-Endpunkt {0}, versuche es mit IPv4 erneut.",
"CONFIG_ERROR_ROOT": "Root-Verzeichnis konnte nicht erstellt werden",
"LOGIN_COMMAND_ERROR_TOO_MANY": "Es ist nur eine Sitzung gleichzeitig erlaubt",
"AUTO_LOGINUSER": "Automatischer Login",
"ALLOW_REMOTE_ADMIN": "Admin-Remote-Zugriff",
"ERROR_BUSY": "Server ausgelastet",
"ERROR_INTERVAL_ZERO": "Ungültiges Anfrage-Intervall",
"INVALID_DATA": "Ungültige Daten",
"NAME": "Name",
"DIAGNOSTICS": "Diagnose",
"LOADING_DIAGNOSTICS_MSG": "Diagnose wird geladen...",
"CUSTOM_CONFIG": "Benutzerdefinierte Konfiguration",
"ACTIVESESSIONS": "Aktive Sitzungen",
"TOOLTIP_ACTIVESESSIONS": "Aktuell aktive Server-Threads",
"ACTIVESOCKETS": "Aktive Sockets",
"MEMORYUSAGE": "Speicherverbrauch",
"UPTIME": "Betriebszeit",
"SERVERTIME": "Server-Zeit",
"ARCHITECTURE": "Architektur",
"FILES": "Dateien",
"FILESREGEX": "Reguläre Ausdrücke für Dateien",
"REGEX": "Regulärer Ausdruck",
"ENABLE_CACHE": "Aktiviere Cache",
"ENABLE_CHUNKING": "Aktiviere Chunking",
"ENABLE_GZIP": "Aktiviere GZIP",
"LOGINPAGE": "Anmeldeseite",
"FILESHTTPHEADERS": "HTTP-Header",
"DESC_FILESHTTPHEADERS": "Hinzufügen oder Entfernen von HTTP-Headern. 'unset {name}' kann benutzt werden, um Standard-Header zu entfernen.",
"HTTPSTATUSCODE": "HTTP-Status-Code",
"GLOBALHTTPHEADERS": "Globale HTTP-Header",
"ACCEPTEDSOCKETS": "Akzeptierte Sockets",
"DISCOVERY_RUNNING": "Netzwerk-Discovery aktiv",
"TRAFFICIN": "Empfangene Bytes",
"TRAFFICOUT": "Gesendete Bytes",
"TIME_FORMAT": "{0}:{0}:{0}",
"MAXSESSIONS": "Maximale Anzahl an Verbindungen",
"DESC_MAXSESSIONS": "Maximale Anzahl an gleichzeitigen Verbindungen.",
"THREADPOOLSIZE": "Größe des Thread-Pools",
"DESC_THREADPOOLSIZE": "Server-Neustart erforderlich.",
"FLOODPROTECTION": "Flood protection",
"HTTP_FLOODPROTECTION": "Flood protection HTTP",
"SUBSCRIPTION_FLOODPROTECTION": "Flood protection Subscriptions",
"FLOODPROTECTION_LOG_INTERVAL": "Flood protection Benachrichtigungsintervall",
"DESC_FLOODPROTECTION": "Erlaubte WebSocket- und HTTP-Anfragen pro Client IP pro Sekunde",
"DESC_HTTP_FLOODPROTECTION": "Erlaubte HTTP-Anfragen pro Client IP pro Sekunde pro URI",
"DESC_SUBSCRIPTION_FLOODPROTECTION": "Erlaubte Subscribe-/Unsubscribe-Anfragen pro Client IP pro Sekunde",
"DESC_FLOODPROTECTION_LOG_INTERVAL": "Zeit, die gewartet wird, bevor der nächste 'Anfrage fehlgeschlagen' Log-Eintrag erstellt werden soll.",
"MAXCONNECTIONSPERCLIENT": "Maximale Anzahl Verbindungen pro Client",
"CLIENTPRIORITYLIST": "Client-Priorisierung",
"DESC_CLIENTPRIORITYLIST": "IP-Adressen von priorisierten Clients. Wenn das Client-Limit erreicht ist, können diese Clients sich trotzdem verbinden, indem die Verbindung von Clients, die nicht in der Liste sind, getrennt wird.",
"VIRTUALDIRECTORIES": "Virtuelle Verzeichnisse",
"REQUIREAUTH": "Authentifizierung erforderlich",
"CHUNKSIZE": "Größe eines Chunk-Pakets",
"DESC_CHUNKSIZE": "Beim Herunterladen werden Dateien in Chunks dieser Größe gesendet.",
"VIDEOSEGMENTSIZE": "Größe eines Videosegments",
"CHECKSUMENABLED": "Prüfsumme aktiviert",
"DESC_CHECKSUMENABLED": "Beim Publish-Prozess wird die Prüfsumme der Dateien validiert",
"DEFAULTAUTHEXTENSION": "Standard-Authentifizierungs-Erweiterung",
"DEFAULTEVENTEXTENSION": "Standard-Logger-Erweiterung",
"USERSELECTTYPE": "Wähle Nutzer anhand von",
"ENUM_COMBOBOX": "Listbox",
"ENUM_TEXTFIELD": "Textfeld",
"AUTO_LOGOFF": "Automatische Abmeldung",
"USERGROUPUSERS_AUTO_LOGOFF": "Automatische Abmeldung",
"HIDDEN": "Ausgeblendet",
"DIAGNOSTICS_DOMAINS": "Logge Diagnose-Daten für Domains",
"EXTENSIONS": "Erweiterungen",
"ENDPOINTS": "Endpoints",
"PATH": "Pfad",
"ENABLED": "Aktiviert",
"TYPE": "Typ",
"DEFINITIONS": "Definitionen",
"SYMBOLS": "Symbol-Mappings",
"MAPPING": "Mapping",
"SUBSYMBOL_MAPPING": "Automatisch in den gelesenen Wert browsen",
"ACCESS": "Standard-Symbol-Rechte",
"DESC_ACCESS": "Begrenzt die Zugriffs-Rechte, die von den Standard-Symbol-Rechten einer Benutzergruppe geerbt werden können. Für Benutzergruppen, die die Zugriffs-Rechte für dieses Symbol explizit festlegen, wird diese Begrenzung nicht erzwungen.",
"SYMBOLACCESS": "Standard-Symbol-Rechte",
"DESC_SYMBOLACCESS": "Wird für Symbole verwendet, für die kein anderes Zugriffs-Recht spezifiziert ist. Wird durch das Zugriffs-Recht begrenzt, das direkt am Symbol konfiguriert ist.",
"DESC_USERGROUPS_SYMBOLS": "Überschreibt das Standard-Symbol-Recht für bestimmte Symbole.",
"FILEACCESS": "Datei-Rechte",
"SYMBOLTYPE": "Symboltyp",
"USERGROUPS": "Nutzergruppen",
"USERGROUPUSERS": "Gruppenmitglieder",
"GZIP_BEST_SPEED": "Beste Geschwindigkeit",
"GZIP_MEDIUM": "Medium",
"GZIP_BEST_SIZE": "Beste Größe",
"ENUM_m1_DIAGNOSTICS": "Diagnose",
"ENUM_0_VERBOSE": "Ausführlich",
"ENUM_1_INFO": "Informativ",
"ENUM_2_WARNING": "Warnung",
"ENUM_3_ERROR": "Fehler",
"ENUM_4_CRITICAL": "Kritisch",
"ENUM_ALWAYS": "Immer authentifizieren",
"ENUM_REMOTE": "Authentifizierung nur für Remote-Zugriff",
"ENUM_EARLY": "Früh",
"ENUM_NORMAL": "Normal",
"ENUM_DELAYED": "Verzögert",
"ENUM_NONE": "Keine",
"DISCOVERY_0_DISABLED": "Deaktiviert",
"DISCOVERY_1_ENABLED": "Auf standard SSDP-Port aktiviert (1900)",
"DISCOVERY_2_ALTERNATIVE": "Auf alternativem Port aktiviert (1910)",
"DOMAIN": "Domain",
"USEMAPPING": "Nutze Mapping",
"CUSTOMERDATA": "Kundendaten",
"DYNAMIC": "Dynamisch",
"OPTIONS": "Optionen",
"SCHEMA": "Schema",
"REAUTHENTICATION_REQUIRED": "Re-Authentifizierung erforderlich",
"REVIEWER_GROUPS": "Reviewer-Gruppen",
"DESC_REVIEWER_GROUPS": "Bevor das Symbol geschrieben werden kann, muss ein Benutzer einer dieser Benutzergruppen durch einen eigenen Login-Befehl bestätigen",
"TOOLTIP_REVIEWER_GROUPS": "Reviewer können nur angefordert werden, wenn die Re-Authentifizierung erforderlich ist",
"EXTENSION_DATA_DOMAINS": "Extension-Data-Domains",
"DESC_EXTENSION_DATA_DOMAINS": "Server-Kommandos können zusätzliche Informationen für Server-Erweiterungen enthalten. Die Domains dieser Erweiterungen können hier angegeben werden.",
"TOOLTIP_EXTENSION_DATA_DOMAINS": "Die Zusatzinformationen werden innerhalb des Kommandoobjektes in einem zusätzlichen 'extensionData'-Objekt übergeben",
"FLOODPROTECTION_LEVEL": "Flood protection level",
"DESC_FLOODPROTECTION_LEVEL": "Die erlaubte Anzahl von Anfragen pro Symbol kann über das Level konfiguriert werden.",
"TOOLTIP_FLOODPROTECTION_LEVEL": "Deaktiviert = Keine Begrenzung</br>Restriktiv = 10 Anfragen pro Sekunde</br>Permissiv = 50 Anfragen pro Sekunde",
"ENUM_M1_FLOODPROTECTION_LEVEL_DISABLED": "Deaktiviert",
"ENUM_10_FLOODPROTECTION_LEVEL_RESTRICTIVE": "Restriktiv",
"ENUM_50_FLOODPROTECTION_LEVEL_PERMISSIVE": "Permissiv",
"ENUM_READ": "Lesen",
"ENUM_WRITE": "Schreiben",
"ENUM_READWRITE": "Lesen und Schreiben",
"ENUM_VALUE": "Wert",
"ENUM_FUNCTION": "Funktion",
"DESC_EXTENSION": "Server-Erweiterungen werden verwendet, um zusätzliche Funktionen in den Server zu integrieren.",
"DESC_AUTHENTICATION_DOMAIN": "Authentifizierungs-Domain",
"DESC_DEFINITION_DOMAIN": "Domain",
"CONFIG_ADVANCED_ACTIVE": "Erweiterter Modus ist aktiv",
"CONFIG_ADVANCED_HEADER": "Erweiterte Einstellungen",
"CONFIG_ADVANCED_ON": "Erweiterte Einstellungen anzeigen",
"CONFIG_ADVANCED_OFF": "Erweiterte Einstellungen nicht anzeigen",
"CONFIG_EXPORT_FORMAT": "Format",
"CONFIG_EXPORT_START": "Startzeitpunkt",
"CONFIG_EXPORT_END": "Endzeitpunkt",
"CONFIG_EXPORT_LIMIT": "Limit",
"CONFIG_EXPORT_OFFSET": "Offset",
"CONFIG_EXPORT_ORDER": "Reihenfolge",
"CONFIG_EXPORT_ORDER_DESC": "Absteigend",
"CONFIG_EXPORT_ORDER_ASC": "Aufsteigend",
"CONFIG_ARRAY_ENTRIES_COUNT": "{0} Einträge",
"DESC_SYMBOL": "Symbol",
"DESC_FILE": "Datei",
"DESC_USERGROUP": "Nutzergruppe",
"DESC_USERNAME": "Benutzername",
"DESC_GROUP": "Gruppe",
"DESC_CACHE": "Server-Neustart erforderlich.",
"DESC_REQUIRE_CLIENT_CERTIFICATE": "Ein Client-Zertifikat ist erforderlich, um eine HTTPS-Verbindung herzustellen",
"DESC_RANGE_REQUEST_SIZE": "HTTP-Range-Requests (Video-Streams) werden in Chunks dieser Größe aufgeteilt.",
"DESC_KEEP_ALIVE": "Timer für persistente Verbindungen.",
"DESC_SOCKET_TIMEOUT": "Timeout bei unvollständigem Nachrichtenrumpf.",
"DESC_GZIP_MIN_SIZE": "Verhindert das Komprimieren von kleinen Datenmengen.",
"DESC_GLOBAL_HTTP_HEADERS": "Diese Header werden in allen HTTP-Antworten gesetzt.",
"DESC_PEM_CERT": "Zertifikat im PEM- oder PFX-Format.",
"REQUIRED": "Erforderlich",
"PROCESSID": "Prozess-ID",
"STARTUPTYPE": "Starttyp",
"DEFAULTDOCUMENT": "Standard-Dokument",
"RECORDING_MESSAGE_MAX_LENGTH": "Maximale Länge aufgezeichneter Nachrichten",
"EXTENSION_ERROR": "Fehler bei der Verwendung von Server-Erweiterung '{0}' im Erweiterungs-Container: {1}",
"EXTENSION_ERROR_LOG_FILE": "Die Log-Datei des Erweiterungs-Containers für Server-Erweiterung '{0}' konnte nicht gelöscht werden: {1}",
"EXTENSION_NOT_LICENSED": "Extension nicht lizenziert: Aktivieren Sie die Lizenz mit TwinCAT",
"EXTENSION_SDK_LICENSE_MISSING": "Extension '{0}' nicht lizenziert: Aktivieren Sie die Extension-SDK-Lizenz mit TwinCAT",
"EXTENSION_NOT_ENABLED_ERROR_CFG_PAGE": "Erweiterung ist deaktiviert",
"EXTENSION_UNLOADING_ERROR_CFG_PAGE": "Erweiterung wird entladen ... ",
"EXTENSION_NOT_RUNNING_ERROR_CFG_PAGE": "Ausführung der Erweiterung im Erweiterungs-Container fehlgeschlagen, weil die Verbindung unterbrochen wurde.",
"EXTENSION_INVALID_STATE_ERROR_CFG_PAGE": "Erweiterung konnte nicht geladen werden<br> {0}: {1}",
"EXTENSION_INVALID_STATE_ERROR_CFG_PAGE_NO_POSITION": "Erweiterung konnte nicht geladen werden<br> {0}",
"EXTENSION_DEBUGGER_ATTACHED_CFG_PAGE": "Ein Debugger ist oder wird an die Erweiterung angehängt",
"EXTENSION_UPGRADE": "Aktualisiere Konfiguration '{0}' der Erweiterung {1} von v{2} auf v{3}",
"ERROR_DEFINITION_FILE": "Abfrage der Schema-Definition in Datei '{0}' mit Fehler '{1}' fehlgeschlagen: {2}",
"ERROR_CRASH_REPORT_EXISTS": "Eine frühere Sitzung des TcHmiSrv wurde unerwartet beendet.\nEin Fehlerbericht wurde erstellt: {0}",
"EXTENSION_INIT_ERROR": "Initialisierung von Erweiterung {0} fehlgeschlagen mit Fehler '{1}' ({2})",
"SERVER_CONFIG_ERROR": "Initialisierung der Server-Konfiguration von {0} fehlgeschlagen mit Fehler '{1}'",
"SERVER_MIGRATION_ERROR": "Migrieren der Server-Konfiguration fehlgeschlagen mit Fehler '{0}' und Meldung '{1}'",
"SERVER_MIGRATION_MAJOR_UPDATE": "Anpassung von Erweiterung '{0}' für Server-Update auf Version '{1}'",
"SERVER_CONFIG_STORE_ERROR": "Speichern der Konfiguration fehlgeschlagen: {1} ({0})",
"SERVER_SYMBOL_ERROR": "Initialisierung der Server-Symbole fehlgeschlagen",
"SERVER_STORAGE_ERROR": "Initialisierung des Server-Speichers fehlgeschlagen mit Fehler '{0}'",
"NAMELESS": "TcHmiServer",
"DEBUG_FINISHING_EVENT": "Ereignis abschließen: {0}",
"CONFIG_TITLE": "Konfiguration",
"LOG_TITLE": "Log",
"LOG_SEVERITY": "Level",
"LOG_TIME": "Zeit",
"LOG_DOMAIN": "Domain",
"LOG_TEXT": "Text",
"LOG_DOWNLOAD_PRINTABLE_VERSION": "Druckbare Version herunterladen",
"LOG_CLEAR": "Log löschen",
"LOG_CLEAR_CONFIRM": "Bitte bestätigen Sie, dass die Log-Einträge unwiderruflich gelöscht werden sollen",
"SEVERITYm1": "Diagnose",
"SEVERITYg0": "Informativ +",
"SEVERITY0": "Ausführlich",
"SEVERITY1": "Informativ",
"SEVERITY2": "Warnungen",
"SEVERITY3": "Fehler",
"SEVERITY4": "Kritisch",
"LOG_ALL_LEVELS": "Alle Ebenen",
"LOG_ALL_TYPES": "Alle Arten",
"LOG_MESSAGES": "Benachrichtigungen",
"LOG_CONFIG_HINTS": "Konfigurationshinweise",
"LOG_ALL_DOMAINS": "Alle Domains",
"LOG_SEARCHTERM": "Suchbegriff",
"LOG_SEVERITY_SELECT_PREFIX": "nur ",
"LOG_DOMAIN_SELECT_PREFIX": "nur ",
"LOGOUT": "Abmelden",
"TRAY_START": "Startseite",
"TRAY_CONSOLE": "Konsole",
"TRAY_OPEN_STORAGE_DIR": "Öffne Verzeichnis",
"TRAY_EXIT": "Beenden",
"SSL_CREATE": "SSL aktiviert aber keine Zertifikate vorhanden - werden erstellt",
"SSL_INVALID_CERTIFICATE": "Ungültiges Zertifikat gespeichert: Fehler {0} ({1})",
"SSL_INVALID_CERTIFICATE_ENDPOINTS": "Keine Endpunkte für das SSL-Zertifikat gefunden",
"SSL_ERROR_DECRYPT": "Entschlüsselung fehlgeschlagen",
"SSL_NO_PASSPHRASE": "Das Zertifikat benötigt ein Passwort für den privaten Schlüssel",
"SSL_PASSPHRASE_INVALID": "Ungültiges Passwort für den privaten Schlüssel",
"START_WEBSRV": "Starte Server auf {2}://{0}:{1}",
"STOP_WEBSRV": "Stoppe Server auf {0}:{1}",
"START_SRV": "Starte Server-Version {0}",
"START_UPNP": "Starte die Device Discovery um die Endpoints {0} auf UDP port {1} bekanntzumachen",
"START_UPNP_LOCAL": "Starte die lokale Device Discovery um die Endpoints {0} auf UDP port {1} bekanntzumachen",
"STOP_UPNP": "Stoppe Device Discovery",
"STOP_UPNP_LOCAL": "Stoppe lokale Device Discovery",
"UPNP_SENDING_MSEARCH_REPLY": "Discovery sendet MSEARCH-Antwort {0}:{1} (ST: {2})",
"UPNP_SENDING_ALIVE": "Discovery sendet ALIVE-Nachricht für {0}:{1}",
"UPNP_MSEARCH_RECEIVED": "Discovery hat eine MSEARCH-Anfrage erhalten ({0}:{1}, ST: {2})",
"UPNP_STARTING_WEBSRV": "Discovery startet eigenen Webserver für {0} (port: {1})",
"UPNP_WEBSRV_ABOUT_TO_RESPOND": "Discovery verarbeitet HTTP-Anfrage (Schlüsselwort: '{0}', Client: {1})",
"UPNP_HOSTNAME_RESOLVE_ERROR": "Discovery konnte den eigenen Hostnamen nicht auflösen",
"CONFIG_ERROR_HEADER_SIZE": "MaxHttpHeaderSize auf 0 gesetzt",
"CONFIG_ERROR_REQUEST_SIZE": "MaxRequestSize auf 0 gesetzt",
"CONFIG_ERROR_TIMEOUT": "HTTP-Timeout auf 0 gesetzt",
"COM_ERROR": "COM-Fehler {0} in Methode {1}",
"RUNTIME_NOT_LOADABLE": "Die .NET-Laufzeit konnte nicht geladen werden",
"RUNTIME_NOT_FOUND": "Die .NET-Laufzeit mit der Version {0} konnte nicht gefunden werden",
"SOCKET_ACCEPT": "Akzeptiere Socket auf {1}:{2}",
"SOCKET_ERROR_ACCEPT": "Fehler beim Akzeptieren eines Sockets auf {1}:{2}: {3}",
"SOCKET_ERROR_OPEN": "Fehler beim Öffnen von {0}: {1}",
"SOCKET_WAIT": "Warte auf Verbindungen von {1}:{2}",
"SESSION_START": "Starte Sitzung {1}",
"SESSION_END": "Beende Sitzung {1}",
"SESSION_HANDSHAKE": "Sitzungsschlüsselaustausch von Sitzung {1} (handshake)",
"SESSION_ERROR_HANDSHAKE": "Sitzungsschlüsselaustausch von Sitzung {1} (handshake) fehlgeschlagen: {2}",
"SESSION_WEBSOCKET_CONNECT": "Websocket verbunden in Sitzung {1}",
"SESSION_WEBSOCKET_CALL": "Websocket-Aufruf in Sitzung {1}",
"SESSION_HTTP_CALL": "HTTP-Aufruf auf {2} in Sitzung {1}",
"SESSION_DIAG": "Nachricht für Sitzungs-Diagnose",
"SESSION_ERROR_READ": "I/O Lesefehler {2} in Sitzung {1}: {3}",
"SESSION_ERROR_CLOSE": "Fehler beim Schließen der Verbindung in Sitzung {1}: {2}",
"SESSION_ERROR_DISCONNECT": "Verbindung zum Client in Sitzung {1} wurde mit Fehler '{2}' geschlossen.",
"EXTENSION_PROCESS_DIAG": "Nachricht für Erweiterungs-Prozess-Diagnose",
"NO_ACTIVE_CLIENT_CERT": "Client-Zertifikat fehlt oder ist deaktiviert",
"ACTIVE_LOCKOUT_PROTECTION": "Client-Zertifikat deaktiviert: Lokaler Endpoint fehlt",
"AUTH_FAILED": "Anmeldung von Nutzer {userName} fehlgeschlagen: {msg} (Sitzungs-ID {sessionId})",
"AUTH_FAILED_INVALID_PARAMETER": "Anmeldung aufgrund eines ungültigen Parameters fehlgeschlagen. Die Sitzungs-ID war {0}",
"AUTH_FAILED_INVALID_SESSION": "Anmeldung mit ungültiger Sitzungs-ID fehlgeschlagen: {0}",
"LOGIN_LOG": "Angemeldet: {userName}",
"LOGOUT_LOG": "Sitzung abgemeldet: {userName} ({reason})",
"LOGIN_LOGGED_IN_AS": "Angemeldet als {0}",
"MAINTENANCE_LOGIN": "Wartungsmodus",
"SHOW_MAINTENANCE_MODE": "Wartungsmodus auf Login-Seite anzeigen",
"DESC_SHOW_MAINTENANCE_MODE": "Auf der Login-Seite kann der Wartungsmodus aktiviert werden. Falls deaktiviert kann man über /LoginMaintenance weiterhin in den Wartungsmodus wechseln. Benötigt einen Benutzer in der __SystemMaintenanceUsers-Gruppe.",
"LOGIN_BACK": "Zurück",
"PROTOCOL_ERROR_INIT": "Fehler bei Protokoll-Initialisierung",
"PORT": "Port",
"KEEP_ALIVE": "Keep-alive",
"SOCKET_TIMEOUT": "Socket-Timeout",
"MAXHTTPHEADERSIZE": "Maximale Größe des HTTP-Headers",
"MAXREQUESTSIZE": "Maximale Anfragegröße",
"CACHEENABLED": "Cache aktiviert",
"CACHEMAXENTRYSIZE": "Maximale Größe Cache-Eintrag",
"CACHEMAXSIZE": "Maximale Cache-Größe",
"CACHEMAXAGE": "Speicherdauer von Cache-Einträgen",
"CONNECTIONMODE": "Verbindungsmodus",
"IPADDR": "IP-Adresse",
"ETAGENABLED": "ETAG aktiv",
"GZIPENABLED": "GZIP aktiv",
"GZIPMINSIZE": "GZIP Minimale Größe",
"PERMESSAGEDEFLATEENABLED": "PerMessageDeflate aktiv",
"CERTIFICATE": "Zertifikat",
"CERTIFICATE_NOT_VALID": "Zertifikat ist ungültig",
"KEY": "Schlüssel",
"SELFSIGNEDROOTCA": "Selbstsigniertes Root-Zertifikat",
"SELFSIGNEDROOTCAKEY": "Selbstsignierter Root-Zertifikat-Schlüssel",
"TEMPDH": "TempDH",
"KEYPASSWORD": "Schlüssel-Passwort",
"ENUM_PLAIN": "Einfach",
"ENUM_SSL": "SSL",
"ENUM_BOTH": "Beide",
"CATEGORY_DEFAULT": "Allgemein",
"CATEGORY_SYSTEM": "System",
"CATEGORY_SYMBOLS": "Symbol-Mappings",
"CATEGORY_SECURITY": "Sicherheit",
"CATEGORY_WEBSERVER": "Webserver",
"CATEGORY_USERS_AND_SESSIONS": "Benutzer und Sitzungen",
"CATEGORY_EVENTS": "Nachrichten und Alarme",
"CATEGORY_CONFIGURATIONS_AND_FILESYSTEM": "Konfigurationen und Dateisystem",
"CATEGORY_WEBSOCKET_PLAYGROUND": "WebSocket Playground",
"USERGROUPUSERS_LOCALE": "Lokalisierung",
"USERGROUPUSERS_TIMEFORMATLOCALE": "Zeit-Lokalisierung",
"USERGROUPUSERS_GROUPS": "Gruppen",
"USERGROUPUSERS_FORCE_PASSWORD_CHANGE": "Passwortänderung erzwingen",
"USERGROUPUSERS_FORCE_2FA_INIT": "Zwei-Faktor-Authentifizierung erzwingen",
"READONLY": "Schreibgeschützt",
"DEFAULTLOCALE": "Standard-Lokalisierung",
"UPLOAD_TIMEOUT": "Upload-Timeout: {0}",
"UPLOAD_FAILED": "Upload für Datei {0} fehlgeschlagen mit Fehler {1}",
"INVALID_SUBSYMBOL": "Ungültiges Untersymbol",
"UPLOAD_TIMER_EXPIRED": "Upload-Timer abgelaufen",
"COOKIEEXPIRATIONDATE": "Cookie-Ablaufdatum",
"PROJECT_PUBLISH_START": "Veröffentlichung gestartet",
"PROJECT_PUBLISHED": "Veröffentlichung abgeschlossen",
"DESC_EXTENSION_PATH": "Lokaler Pfad der Erweiterungs-DLL",
"INFO_MIGRATE": "Migriere Server von Version {0} auf Version {1}",
"DISCOVERY": "SSDP-Discovery",
"DISCOVERY_DESC": "Änderung wird nach Server-Neustart aktiv",
"UPLOADTIMEOUT": "Upload-Timeout",
"SHUTDOWNTIMEOUT": "Timeout beim Entladen von Erweiterungen",
"INITTIMEOUT": "Timeout beim Initialisieren von Erweiterungen",
"RUNTIME": ".NET-Laufzeit",
"ENUM_VALUETYPE_NULL": "null",
"ENUM_VALUETYPE_BOOL": "boolean",
"ENUM_VALUETYPE_INT": "integer",
"ENUM_VALUETYPE_DOUBLE": "number",
"ENUM_VALUETYPE_STRING": "string",
"ENUM_VALUETYPE_ARRAY": "array",
"ENUM_VALUETYPE_STRUCT": "object",
"ENUM_VALUETYPE_MAP": "map",
"ENUM_VALUETYPE_BINARY": "binary",
"ENUM_VALUETYPE_INT64": "int64",
"ENUM_VALUETYPE_TIMESPAN": "timespan",
"ENUM_VALUETYPE_DATETIME": "date-time",
"ENUM_VALUETYPE_EVENT": "event",
"ENUM_VALUETYPE_MESSAGE": "message",
"ENUM_VALUETYPE_ALARM": "alarm",
"ENUM_VALUETYPE_ANY": "any",
"TITLE_EXTENSION": "Domain",
"TITLE_MIME": "Dateityp",
"TITLE_DEFAULT": "Name",
"THUMBPRINT": "Fingerabdruck",
"CONFIG_VERSION_CONFLICT": "Konfiguration konnte nicht aktualisiert werden: Konfiguration wurde in einer anderen Umgebung geändert",
"LOGIN_ERROR": "Anmeldung fehlgeschlagen: Ungültige Kombination von Benutzername und Passwort",
"LOGIN_ERROR_ALREADY_LOGGED_IN": "Benutzer ist bereits eingeloggt",
"LOGIN_NOT_IN_MAINTENANCE_GROUP": "Der Benutzer ist nicht in der __SystemMaintenanceUsers-Gruppe",
"INITIALIZE_ERROR": "Initialisierung fehlgeschlagen",
"LOGIN_ERROR_WAIT": "Zu viele fehlgeschlagene Anmeldungen",
"CERTIFICATEEXPIRATION": "Gültigkeitsdauer für Zertifikate",
"CLIENTCERTIFICATES": "Client-Zertifikate",
"CLIENTCERTIFICATE": "Client-Zertifikat",
"ENABLECLIENTCERTIFICATE": "Client-Zertifikat aktivieren",
"REQUIRE_CLIENT_CERTIFICATE": "Client-Zertifikat erforderlich",
"DEFAULTUSER": "Standardbenutzer",
"DEFLATECOMPRESSIONLEVEL": "GZIP-Kompressionslevel",
"CONFIGURATIONS": "Konfigurationen",
"EXTENSION_SHUTDOWN_FAIL": "Fehler beim Herunterfahren der Erweiterung '{0}' wegen möglichen blockierenden Threads: Kontaktieren Sie den Entwickler der Erweiterung",
"LICENSE_ERROR": "Lizenz-Validierung des Servers fehlgeschlagen mit Fehler {0} (ADS-Fehler: {1})",
"LICENSE": "Lizenz",
"USEDTARGETS": "Verwendete Ziele",
"TARGETS": "Ziele",
"USEDCLIENTS": "Verwendete Clients",
"CLIENTS": "Clients",
"USEDSERVERS": "Verwendete Server",
"SERVERS": "Server",
"STATE": "Status der TF2000-Lizenz",
"DOTNETVERSIONS": ".NET Classic-Laufzeitversionen",
"DOTNETCLASSICVERSIONS": ".NET Classic-Framework-Versionen",
"DOTNETCOREVERSIONS": ".NET Core-Framework-Versionen",
"ERROR_LOAD_EXTENSION": "Fehler beim Laden der Erweiterung: '{0}'",
"ERROR_INVOKE_EXTENSION_METHOD": "Fehler beim Aufruf von {0}: {1}",
"ERROR_UNLOAD_EXTENSION": "Fehler beim Entladen der Erweiterung: '{0}'",
"ERROR_SHUTDOWN_EXTENSION": "Fehler beim Herunterfahren der Erweiterung: '{0}'",
"ASYNC_CONFIG_ERROR": "Ein asynchroner Config-Handler hat einen Fehler für das Symbol '{0}' mit der Request-ID {1} in der Domain '{2}' zurückgegeben: {3}",
"DEFAULTCONFIGURABLE": "Kann für spezielle Remote-Konfigurationen gesetzt werden.",
"OPTIONAL": "Optional",
"SETTINGS_DOWNLOAD_LOG": "Log herunterladen",
"SETTINGS_EXPORTCONFIG": "{0} Konfiguration exportieren",
"SETTINGS_IMPORTCONFIG": "{0} Konfiguration importieren",
"SETTINGS_EXPORTCERTIFICATE": "SSL-Zertifikat exportieren",
"SETTINGS_TOGGLEDIAGNOSTICS": "Diagnose Anzeigen/Verstecken",
"SETTINGS_RESTART": "Server-Neustart",
"SETTINGS_SHUTDOWN": "Server herunterfahren",
"NAVIGATION_EXTENSIONS": "Weitere Server-Erweiterungen",
"NAVIGATION_CONFIGURATIONS": "Konfigurationen",
"NAVIGATION_SETTINGS": "Einstellungen",
"NAVIGATION_CURRENTUSER": "Aktueller Benutzer",
"NAVIGATION_NOENTRIES": "Keine Einträge",
"SELECTFILE_EMPTY": "Datei auswählen",
"PASSWORD": "Passwort",
"CONFIRM": "Validierung",
"CURRENT_PASSWORD": "Aktuelles Passwort",
"NEW_PASSWORD": "Neues Passwort",
"CONFIRM_NEW_PASSWORD": "Bestätigen",
"CONFIRM_PASSWORD": "Password bestätigen",
"PASSWORDS_DONT_MATCH": "Passwörter stimmen nicht überein",
"PASSWORDS_SAME": "Neues Passwort muss sich vom alten Passwort unterscheiden",
"SETTING_PASSWORD_FAILED": "Das Passwort konnte nicht geändert werden",
"CONFIG_VERSION": "Konfigurationsversion",
"PACKAGE_VERSION": "Paketversion",
"PRODUCT_VERSION": "Produktversion",
"ADMIN_INITIALIZATION": "Administrator-Passwort setzen",
"INITIALIZE_TIMEOUT_MESSAGE": "Timeout - Neustart erforderlich, um den Server zu initialisieren. Der Server muss innerhalb der ersten 5 Minuten nach Start initialisiert werden.",
"DEFAULT_AUTH_EXTENSION_NOT_FOUND": "Standard-Authentifizierungs-Erweiterung wurde nicht gefunden - {0} wird standardmäßig verwendet",
"RELOAD_BUTTON_TEXT": "Diese Seite neu laden",
"RESTART_BUTTON_TEXT": "Jetzt Neustarten",
"SHUTDOWN_BUTTON_TEXT": "Jetzt Herunterfahren",
"RESTART_TITLE_TEXT": "Neustarten",
"SHUTDOWN_TITLE_TEXT": "Herunterfahren",
"EDITOR_TITLE_TEXT": "Editor",
"CHANGE_VALUE_TXT": "Klicken, um den Wert zu ändern",
"RESTART_TEXT": "Server wird neu gestartet... Klicken Sie auf den folgenden Link, um nach dem Neustart wieder in auf die Konfigurationsseite zu gelangen: ",
"SHUTDOWN_TEXT": "Server wird heruntergefahren...",
"LOGIN_PERSISTENT": "Angemeldet bleiben",
"UNSAVED_CHANGES_CONFIG": "Änderungen nicht gespeichert! Möchten Sie diese Seite wirklich verlassen?",
"CONFIRM_REMOVE": "Möchten Sie diesen Wert wirklich löschen?",
"EXTRACT_CERT_FAILED": "Zertifikatinformationen konnten nicht geladen werden",
"CERTIFICATE_NOT_EXISTS": "Kein Zertifikat vorhanden",
"REMOTESERVERS_TITLE": "Domain",
"DESC_REMOTESERVERS": "Verbindungen zu anderen HMI-Servern. Die Symbol-Mappings von Remote-Servern können wie Symbole von Erweiterungen des aktuellen Servers verwendet werden.",
"REMOTESERVERS": "Remote-Server",
"REMOTE_SERVER_URL_RESOLVE_FAILED": "Konnte Remote-Server-Adresse nicht auflösen: {0} ({1})",
"REMOTE_SERVER_CONNECT_FAILED": "Verbindung zum Remote-Server konnte nicht hergestellt werden: {0}",
"REMOTE_SERVER_SESSION_START_FAILED": "Remote-Server-Sitzung konnte nicht gestartet werden: {0}",
"REMOTE_SERVER_CONNECTION_ESTABLISHED": "Verbindung zum Remote-Server wurde hergestellt ({0})",
"REMOTE_USERNAME": "Benutzername",
"DESC_REMOTE_USERNAME": "Dieser Benutzername wird ignoriert, wenn Client-Zertifikate verwendet werden oder die Authentifizierung auf dem Remote-Server deaktiviert ist.",
"REMOTE_PASSWORD": "Passwort",
"REMOTE_ENABLED": "Aktiviert",
"REMOTE_URL": "Remote-URL",
"REMOTE_CONNECT_TIMEOUT": "Timeout beim Verbinden",
"RENAME_OLDNAME": "Aktueller Name",
"RENAME_NEWNAME": "Neuer Name",
"BROWSER_NOT_SUPPORTED": "Browser wird nicht unterstützt. Bitte rufen Sie die Webseite mit einem aktuellen Browser unter einer der folgenden IP-Adressen auf:",
"CONFIGPAGE_ACCEPT_BUTTON": "Akzeptieren",
"CONFIGPAGE_ADD_BUTTON": "Hinzufügen",
"CONFIGPAGE_ADD_TITLE": "{0} hinzufügen",
"COMMAND_FAILED": "Befehl fehlgeschlagen: {0}",
"COMMAND_SUCCESSFUL": "Befehl erfolgreich ausgeführt",
"ADD_SUCCESSFUL": "Hinzufügen erfolgreich",
"UPDATE_FAILED": "Aktualisierung fehlgeschlagen: {0}",
"UPDATE_SUCCESSFUL": "Aktualisierung erfolgreich",
"DELETE_FAILED": "Entfernen fehlgeschlagen",
"DELETE_SUCCESSFUL": "Entfernen erfolgreich",
"REQUEST_ALREADY_PROCESSED": "Anfrage wurde bereits verarbeitet",
"ENUM_0_MESSAGE": "Nachricht",
"ENUM_1_ALARM": "Alarm",
"ENUM_2_PAYLOAD": "Nutzlast",
"ENUM_0_RAISED": "Ausgelöst",
"ENUM_1_CONFIRMED": "Quittiert",
"ENUM_2_CLEARED": "Beseitigt",
"ENUM_3_CLEARED_AND_CONFIRMED": "Beseitigt und Quittiert",
"ENUM_4_INVALID": "Ungültig",
"ENUM_NOTSUPPORTED": "Nicht unterstützt",
"ENUM_NOTREQUIRED": "Nicht erforderlich",
"ENUM_WAIT": "Auf Quittierung wartend",
"ENUM_CONFIRMED": "Quittiert",
"ENUM_RESET": "Zurückgesetzt",
"REMOTE_STATUS": "Status",
"REMOTE_ERROR_DESCRIPTION": "Fehlerbeschreibung",
"REMOTE_ERROR_MESSAGE": "Beschreibung",
"REMOTE_ERROR_DETAILS": "Detail-Beschreibung",
"REMOTE_ERROR_CODE": "Fehler-Code",
"REMOTE_ERROR": "Fehler",
"REMOTESERVERS_CERTIFICATES": "Erlaubte Zertifikate für Remote-Server",
"ERROR_SERVER_EXTENSION_PROCESS_NOT_ENABLED": "Die Ausführung von Server-Erweiterungen in einem eigenen Prozess ist deaktiviert.",
"ERROR_SERVER_EXTENSION_PROCESS_LEGACY_NOT_ENABLED": "Die Ausführung von Server-Erweiterungen, welche die TcHmiSrvExtNet-API nutzen, in einem eigenen Prozess ist deaktiviert.",
"ERROR_DOTNET_CLASSIC_NOT_SUPPORTED": "Die Ausführung von Server-Erweiterungen, welche das klassische .NET-Framework nutzen, in den Server-Prozess wird auf dieser Plattform nicht unterstützt.",
"ERROR_INVALID_DOTNET_TARGET_FRAMEWORK": "Ungültiges Ziel-Framework für .NET: {0}",
"ERROR_EXTENSION_CONTAINER_NOT_SUPPORTED": "Die Ausführung der Anwendung '{0}' wird nicht unterstützt.",
"ERROR_EXTENSION_CONTAINER_REQUEST_FAILED": "Die Erweiterungs-Container-Anfrage '{0}' in der Domain '{1}' ist mit dem Code '{2}' fehlgeschlagen.",
"ERROR_EXTENSION_CONTAINER_REQUEST_FAILED_WITH_MESSAGE": "Die Erweiterungs-Container-Anfrage '{0}' in der Domain '{1}' ist mit dem Code '{2}' fehlgeschlagen: {3}",
"ERROR_EXTENSION_CONTAINER_REQUEST_FAILED_WITH_INVALID_ARGUMENT": "Die Erweiterungs-Container-Anfrage '{0}' in der Domain '{1}' ist fehlgeschlagen, weil das Argument '{2}' fehlt oder nicht vom Typ '{3}' ist.",
"ERROR_EXTENSION_CONTAINER_REQUEST_FAILED_WITH_UNEXPECTED_RETURN_VALUE": "Die Erweiterungs-Container-Anfrage '{0}' in der Domain '{1}' ist mit einem unerwarteten Rückgabewert fehlgeschlagen.",
"ERROR_EXTENSION_CONTAINER_SEND_RESPONSE_FAILED": "Das Senden einer Antwort auf die Erweiterungs-Container-Anfrage '{0}' in der Domain '{1}' ist mit dem Code '{2}' fehlgeschlagen.",
"ERROR_EXTENSION_CONTAINER_SEND_RESPONSE_FAILED_WITH_MESSAGE": "Das Senden einer Antwort auf die Erweiterungs-Container-Anfrage '{0}' in der Domain '{1}' ist mit dem Code '{2}' fehlgeschlagen: {3}",
"ERROR_EXTENSION_CONTAINER_CONVERT_JSON": "Die Konvertierung von JSON '{0}' ist fehlgeschlagen: {1}",
"ERROR_EXTENSION_CONTAINER_MISSING_FRAMEWORK": "Die Erweiterung '{0}' konnte nicht geladen werden, da .NET {1} {2} oder höher nicht gefunden wurde.",
"WARNING_EXTENSION_CONTAINER_MISSING_FRAMEWORK": ".NET {0} {1} oder höher kann nicht gefunden werden, aber wird vom Erweiterungs-Container benötigt. Die Anwendung funktioniert möglicherweise nicht ordnungsgemäß.",
"WARNING_EXTENSION_CONTAINER_IMAGE_UNLOAD": "Das Entladen des Images '{0}' ist mit folgendem Fehler fehlgeschlagen: {1}",
"LICENSE_CHECK_FAILED": "Der HMI-Server war nicht in der Lage, die Lizenzinformationen vom TwinCAT-Lizenzserver abzurufen. Dieses Problem hat erst dann eine Auswirkung, wenn es nach {0} Sekunden noch immer besteht.",
"LICENSE_NEW_PENDING_STATE": "Eine oder mehrere vom HMI-Server verwendete Lizenzen sind in den Status 'Pending' gewechselt. Diese Änderung wird erst übernommen, wenn sie nach {0} Sekunden noch immer besteht.",
"SESSIONSTORAGE": "Gespeicherte Sitzungen",
"ACTIVE_SESSIONS_SYMBOLS": "Symbole",
"ACTIVE_SESSIONS_CLIENT_COUNT": "Anzahl Clients",
"ACTIVE_SESSIONS_AVERAGE_DURATION": "Durchschnittliche Ausführungsdauer",
"ACTIVE_SESSIONS_READVALUE_JSON_LENGTH": "Größe des Rückgabewertes",
"ACTIVE_SESSIONS_INTERVAL_TIME": "Intervall-Zeit",
"ACTIVE_SESSIONS_SUBSCRIPTION_ID": "Subscription-ID",
"ACTIVE_SESSIONS_CLIENT_LIST": "Verbundene Clients",
"ACTIVE_SESSIONS_CLIENT_LIST_LOGOUT": "Logout",
"ACTIVE_SESSIONS_CLIENT_LIST_IP": "IP",
"ACTIVE_SESSIONS_CLIENT_LIST_EXTENSION_CONTAINER": "Erweiterungs-Container-Verbindung",
"ACTIVE_SESSIONS_CLIENT_LIST_USERS": "Benutzer",
"ACTIVE_SESSIONS_EMPTY": "Keine aktiven Sitzungen",
"ACTIVE_SESSIONS_TITLE": "Aktive Sitzungen",
"ACTIVE_SESSIONS_LIST_TITLE": "Liste der aktiven Subscriptions",
"DEFAULTTIMEZONE": "Standard-Zeitzone",
"USERGROUPUSERS_TIMEZONE": "Zeitzone",
"DEFAULTTIMEFORMATLOCALE": "Standard-Zeit-Lokalisierung",
"DESC_LOCALE": "Leer lassen, um die Client-Spracheinstellung zu verwenden.",
"DESC_TIMEZONE": "Leer lassen, um die Client-Zeitzoneneinstellung zu verwenden.",
"CONFIGURATION_ERROR_SCHEMA": "Ungültiges Schema für Symbol '{0}' an Position '{1}'",
"CONFIGURATION_ERROR_SCHEMA_NO_SYMBOL": "Ungültiges Schema",
"CLIENT_LOG_TITLE": "Log",
"CLIENT_DATA_TITLE": "Client-Daten",
"CLIENT_DATA_FILE_CACHE": "Datei-Cache",
"CLIENT_DATA_CONTROL_DATA": "Daten von Controls",
"CLIENT_DATA_INTERNAL_SYMBOL": "Persistente interne Symbole",
"CLIENT_DATA_CLEAR": "Daten löschen",
"CLIENT_LOG_TYPE_ALL": "Alle",
"CLIENT_LOG_TYPE_DEBUG": "Debug",
"CLIENT_LOG_TYPE_INFO": "Informativ",
"CLIENT_LOG_TYPE_WARNING": "Warnung",
"CLIENT_LOG_TYPE_ERROR": "Fehler",
"CLIENT_LOG_SEARCHTERM": "Suchbegriff",
"CLIENT_LOG_DOWNLOAD_PRINTABLE_VERSION": "Druckbare Version herunterladen",
"CLIENT_LOG_CLEAR": "Alle Einträge löschen",
"CLIENT_LOG_DB_RESET": "Datenbank resetten",
"CLIENT_LOG_ERROR_NO_INDEXEDDB_DATABASE": "Datenbank kann nicht gefunden werden: Aktivieren Sie \"Persistentes loggen\" und laden Sie das TwinCAT HMI Projekt neu um eine Log Datenbank zu erzeugen",
"CLIENT_LOG_ERROR_NO_INDEXEDDB_API": "IndexedDB API fehlt",
"CLIENT_LOG_WAITING_FOR_IDB_CLIENTS_TO_CLOSE": "Bitte schließen sie laufende Clients aus dieser Browserinstanz, damit die Datenbank gelöscht werden kann",
"CLIENT_FLAGS_TITLE": "Flags",
"CLIENT_FLAGS_SAVE": "Speichern",
"CLIENT_FLAGS_CLEAR": "Löschen",
"CLIENT_FLAGS_SEVERITY_PERF": "Performance",
"CLIENT_FLAGS_SEVERITY_0": "Keine Logs",
"CLIENT_FLAGS_SEVERITY_1": "Fehler",
"CLIENT_FLAGS_SEVERITY_2": "Fehler, Warnung",
"CLIENT_FLAGS_SEVERITY_3": "Fehler, Warnung, Information",
"CLIENT_FLAGS_SEVERITY_4": "Fehler, Warnung, Information, Debug",
"CLIENT_FLAGS_LOG_PERSISTENT_TITLE": "Persistentes Log: Stufe",
"CLIENT_FLAGS_LOG_PERSISTENT_MAX_ENTRIES_TITLE": "Persistentes Log: Max. Einträge",
"CLIENT_FLAGS_LOG_PERSISTENT_CACHE_INTERVAL_TITLE": "Persistentes Log: Cache Intervall",
"CLIENT_FLAGS_SEVERITY_TITLE": "Konsolen Log: Stufe",
"CLIENT_FLAGS_LOG_SERVER_MESSAGES_TITLE": "Server Nachrichten loggen",
"CLIENT_FLAGS_FLAG_NOT_DEFINED": "Nicht definiert",
"CLIENT_LOG_UNEXPECTED_EXCEPTION": "Unerwarteter Ausnahmefehler: '{1}'",
"EMPTY_CONFIG_INFO": "Leere Konfiguration.",
"SCHEMA_ACCESS_ERROR": "Kein Zugriff auf das Konfigurationsschema.",
"CONFIG_ACCESS_ERROR": "Kein Zugriff auf die Konfiguration.",
"DEFAULT_VALUE_NAME": "Wert",
"DOMAIN_INITIALIZED": "Domain '{domain}' initialisiert",
"TEMPORARY_EVENTS_RESET": "Die temporären Ereignisse der '{domain}' Domain wurden zurückgesetzt.",
"RELOAD_PAGE": "Seite aktualisieren",
"EXTENSION_REACTIVATE": "Erweiterung reaktivieren",
"EXTENSION_NOT_LOADED": "Erweiterung wurde nicht geladen",
"EXTENSION_NOT_INITIALIZED": "Initialisierung der Erweiterung wurde noch nicht abgeschlossen",
"TARGET_LICENSE_MISSING": "Target-Lizenz fehlt",
"SUBSCRIPTION_ERROR_MSG": "Fehler beim Anfragen des Symbols",
"REQUEST_FAILED_MSG": "Server-Anfrage fehlgeschlagen: {0}",
"REQUEST_SYMBOL_FAILED_MSG": "Anfrage des Symbols '{0}' fehlgeschlagen: {1}",
"REQUEST_SUBSCRIPTION_FAILED_MSG": "Server-Subscription fehlgeschlagen: {0}",
"MULTIPLE_REQUESTS_FAILED_MSG": "{0} Server-Anfragen sind in den letzten {1} Sekunden fehlgeschlagen: {2}",
"MULTIPLE_SYMBOL_REQUESTS_FAILED_MSG": "{0} Anfragen des Symbols '{1}' sind in den letzten {2} Sekunden fehlgeschlagen: {3}",
"MULTIPLE_SUBSCRIPTION_REQUESTS_FAILED_MSG": "{0} Server-Subscriptions sind in den letzten {1} Sekunden fehlgeschlagen: {2}",
"UNIT_TOOLTIP_TEXT": "Einheit: {0}",
"HINTS_TITLE": "Hinweise",
"CUSTOM_CSS": "Benutzerdefiniertes CSS",
"SHOW_CONFIGURATION_HINTS": "Konfigurationshinweise anzeigen",
"DISABLED_CONFIGURATION_HINTS": "Deaktivierte Konfigurationshinweise",
"DESC_DISABLED_CONFIG_HINTS": "Konfigurationshinweise, die nicht mehr gezeigt werden sollen.",
"NO_VALID_AUTH_EXTENSION_HINT": "Die Standard-Authentifizierungs-Erweiterung ist ungültig.",
"REQUIREAUTH_REMOTE_HINT": "Für den Remote-Zugriff ist keine Authentifizierung erforderlich. Dies kann eine Gefahr für Ihr System darstellen.",
"HTTPS_REMOTE_HINT": "Der HTTP Endpoint \"{0}\" ist für den Remote-Zugriff aktiviert. Dies kann eine Gefahr für Ihr System darstellen.",
"ENDPOINTS_OVERWRITTEN_HINT": "Der Server wurde mit Endpunkt-Startparametern gestartet und Änderungen an Endpunkten werden nach dem nächsten Neustart des Servers überschrieben.",
"ENDPOINTS_OVERWRITTEN_MSG": "Die Server-Endpunkte wurden mit Startparametern überschrieben.",
"AUTO_LOGIN_CONFIG_ACCESS_HINT": "Der automatisch angemeldete Benutzer hat Zugriff auf die gesamte Server-Konfiguration",
"USERGROUP_IS_ADMIN": "Eine Nutzergruppe besitzt Admin-Rechte, weil die Datei-Rechte auf \"Lesen und Schreiben\" gesetzt wurden.",
"DIAGNOSTICS_LOGGED_HINT": "Diagnose-Nachrichten werden für bestimmte Domains geloggt. Dies hat negative Auswirkungen auf die Performance.",
"WEBSERVER_DIAGNOSTICS_LOGGED_HINT": "Der Server wurde mit aktivierter Webserver-Diagnose gestartet. Es werden zusätzliche Meldungen über Sockets geloggt.",
"FDESCFS_NOT_ENABLED_HINT": "fdescfs ist nicht aktiv.",
"CONFIG_OVERWRITE_USED": "Die Konfiguration wird durch eine Datei überschrieben.",
"CRASH_REPORT_EXISTING_HINT": "Eine frühere Sitzung des TcHmiSrv wurde unerwartet beendet. die folgenden Fehlerberichte wurden erstellt: {0}",
"CONFIGURATION_UPDATED_HINT": "Konfiguration wurde geändert. <a onclick=\\\"window.location=window.location.href\\\">Aktualisieren</a> Sie die aktuelle Seite, um den neuesten Stand zu erhalten.",
"SUBSCRIPTION_ERRORS_TITLE": "Subscription-Fehler",
"INVALID_USER_CONFIG": "Ungültige Benutzerkonfiguration. Der aktuelle Benutzer hat die Rechte auf '{0}' verloren. Drücken Sie <a href=\"{1}\">Logout</a> um die aktuelle Sitzung zu löschen.",
"SAMESITE_ATTRIBUTE": "SameSite-Attribut",
"DESC_SAMESITE_ATTRIBUTE": "Definiert, ob Cookies bei Cross-Site-Requests mitgesendet werden sollen.",
"CANCEL_SCRIPT_ERROR": "Skript-Ausführung abgebrochen: {0}",
"TOOLTIP_SAMESITE_ATTRIBUTE": "Option 'None' ist nur über HTTPS-Anfragen verfügbar",
"LOGIN_PAGE_NO_COOKIES_ERROR": "Keine Cookies gefunden: Versuche, die Seite neu zu laden oder alle Cookies in den Browser-Einstellungen zu löschen",
"ENUM_SAMESITE_NONE": "None",
"ENUM_SAMESITE_LAX": "Lax",
"ENUM_SAMESITE_STRICT": "Strict",
"SYMBOL_UP_TO_DATE": "Das Schema des Mappings und des verlinkten Symbols sind gleich.",
"SYMBOL_SCHEMA_DIFFERENCE": "Das Schema des Mappings und des verlinkten Symbols sind nicht gleich.",
"SYMBOL_INVALID_DOMAIN": "Ungültige Symbol-Domain.",
"SYMBOL_INVALID_SYMBOL": "Das verlinkte Symbol existiert nicht.",
"CLIENT_CACHE_MAX_AGE": "Speicherdauer Client-Cache",
"BASE_HMI_URL": "HMI-URL",
"DESC_BASE_HMI_URL": "Diese URL wird auf der Konfigurationsseite verlinkt",
"SYMBOL_COMPLEXITY_LIMIT": "Limit der Symbolkomplexität",
"DESC_SYMBOL_COMPLEXITY_LIMIT": "Definiert, wie komplex ein Schema beim Mappen eines Symbols sein darf. Gezählt werden dabei die Anzahl der Subsymbole.",
"DESC_CLIENT_CACHE_MAX_AGE": "Definiert, wie lange Server-Antworten zwischengespeichert werden dürfen.",
"TOOLTIP_SET_DEFAULT_VALUE": "Klicken, um den Standardwert zu benutzen.",
"TOOLTIP_DEFAULT_VALUE_USED": "Der Standardwert wird benutzt. Klicken, um den Wert zu ändern.",
"FIND_DEFINITION_ERROR": "Definition konnte nicht gefunden werden: {0}",
"SELECT_SCHEMA_TITLE": "Schema wählen",
"TOOLTIP_CONFIRM_CONFIG_HINT": "Nicht mehr anzeigen",
"DESC_MAXREQUESTSIZE": "Anfragen, die diesen Wert überschreiten, werden vom Web-Server abgelehnt.",
"DESC_REMOTESERVERS_CERTIFICATES": "Zertifikate der Remote-Server.",
"DESC_REQUIREAUTH": "Authentifizierung sollte nur in privaten Netzwerken deaktiviert werden.",
"DESC_AUTO_LOGOFF": "Kann für einzelne Benutzerkonten überschrieben werden. Dieser Wert wird verwendet, wenn für den aktuellen Benutzer kein anderer Wert angegeben ist. Achten Sie darauf, dass das Cookie-Ablaufdatum und die Zeit der automatischen Abmeldung nicht im Widerspruch zueinander stehen.",
"DESC_AUTO_LOGINUSER": "Der hier konfigurierte Benutzer wird automatisch eingeloggt, wenn eine neue Sitzung eröffnet wird.",
"DESC_ALLOW_REMOTE_ADMIN": "Der __SystemAdministrator darf sich von einem Remote-Endpoint aus anmelden. Falls deaktiviert, kann sich der __SystemAdministrator nur auf der lokalen Maschine anmelden.",
"DESC_CUSTOM_CSS": "Benutzerdefiniertes CSS für Fehler- und Loginseiten",
"DESC_ENDPOINTS": "Es werden IPv4- und IPv6-Endpunkte unterstützt. Nur HTTPS-Endpunkte sollten für den Remote-Zugriff aktiviert werden. Verwenden Sie die Wildcard-Adressen '0.0.0.0' und '[::]', um Remote-Verbindungen auf allen Netzwerkschnittstellen zu akzeptieren.",
"DESC_ETAGENABLED": "Der Entity-Tag-HTTP-Header ist eine Identifikationsnummer für eine bestimmte Version einer Ressource.",
"DESC_DEFINITIONS": "Hier werden JSON-Schema-Definitionen gespeichert.",
"DESC_SESSIONSTORAGE": "Sitzungen werden hier gespeichert, damit sie nach einem Server-Neustart weiterhin gültig sind.",
"DESC_SYMBOLS": "Ein Symbol-Mapping ermöglicht den Zugriff auf interne Symbole einer Domain.",
"DESC_TEMPDH": "Benutzerdefinierte Parameter für den Diffie-Hellman (DH)-Schlüsselaustausch.",
"DESC_GZIPENABLED": "Die GZIP-Komprimierung wird vom Server und den Web-Clients verwendet, um die Übertragungsgeschwindigkeit und die Bandbreitennutzung zu verbessern.",
"DESC_MAXHTTPHEADERSIZE": "Anfragen mit HTTP-Headern, die größer sind als diese Grenze, werden vom Web-Server abgelehnt.",
"DESC_CACHEENABLED": "Wenn diese Funktion aktiviert ist, speichert der Webserver häufig angeforderte Daten wie Webseiten, Bilder und ähnliche Medieninhalte im RAM, um die Antwortzeiten zu verbessern.",
"DESC_DEFAULTDOCUMENT": "Diese Standardseite wird angezeigt, wenn ein Web-Client eine URL anfordert, die auf eine Verzeichnisstruktur verweist, anstatt auf eine tatsächliche Webseite innerhalb der Verzeichnisstruktur.",
"DESC_RECORDING_MESSAGE_MAX_LENGTH": "Maximale Länge einer aufgezeichneten Nachricht",
"DESC_CERTIFICATEEXPIRATION": "Kürzere Gültigkeitsdauern begrenzen den Schaden durch Schlüsselkompromittierung und Falschausstellungen. Gestohlene Schlüssel und falsch ausgestellte Zertifikate sind für einen kürzeren Zeitraum gültig.",
"DESC_COOKIEEXPIRATIONDATE": "Der Server verwendet Cookies, um Sitzungs-IDs zu speichern. Achten Sie darauf, dass das Cookie-Ablaufdatum und die Zeit der automatischen Abmeldung nicht im Widerspruch zueinander stehen.",
"DESC_DEFAULTAUTHEXTENSION": "Es können mehrere Authentifizierungserweiterungen gleichzeitig verwendet werden. Die Standard-Authentifizierungserweiterung wird standardmäßig auf der Login-Seite ausgewählt.",
"DESC_DIAGNOSTICS_DOMAINS": "Diagnose-Nachrichten können zur Fehler-Diagnose verwendet werden. Diese Einstellung hat jedoch negative Auswirkungen auf die Performance.",
"DESC_INITTIMEOUT": "Das Initialisieren einer Servererweiterung sollte nicht mehr als diese Zeit in Anspruch nehmen.",
"DESC_SHUTDOWNTIMEOUT": "Das Entladen einer Servererweiterung sollte nicht mehr als diese Zeit in Anspruch nehmen.",
"DESC_USERSELECTTYPE": "Wenn es nur wenige Benutzerkonten gibt, kann die Auswahl des Benutzerkontos über ein Listbox den Anmeldevorgang vereinfachen.",
"DESC_MAXCONNECTIONSPERCLIENT": "Beachten Sie, dass Web-Browser unter Umständen mehrere Verbindungen gleichzeitige zu demselben Server öffnen, um schnellere Ladezeiten zu erreichen.",
"DESC_DEFLATECOMPRESSIONLEVEL": "Die GZIP-Komprimierung wird vom Server und den Web-Clients verwendet, um die Übertragungsgeschwindigkeit und die Bandbreitennutzung zu verbessern.",
"DESC_DEFAULTUSERGROUP": "Alle Benutzerkonten werden automatisch zu dieser Benutzergruppe hinzugefügt.",
"DESC_CLIENTCERTIFICATES": "Client-Zertifikate in dieser Liste können auf den Server zugreifen. Sie können Zertifikate auch mit Benutzergruppen verknüpfen und diese als alternativen Anmeldemechanismus verwenden.",
"DESC_DEFAULTEVENTEXTENSION": "Wenn das Funktionssymbol 'ListEvents' aufgerufen wird, werden die Ereignisse von der Standard-Ereigniserweiterung angefordert.",
"DESC_UPLOADTIMEOUT": "Upload-Anfragen werden abgelehnt, wenn sie nach dieser Zeitspanne nicht abgeschlossen sind.",
"DESC_MIME": "Zuweisungen für den Internet Media Type.",
"DESC_VIRTUALDIRECTORIES": "Virtuelle Verzeichnisse werden verwendet, um anzugeben, welche Ordnerpfade des Dateisystems über den Webserver bereitgestellt werden sollen.",
"DESC_PERMESSAGEDEFLATEENABLED": "Versucht, die Komprimierung für alle WebSocket-Anfragen zu aktivieren. Die Komprimierung wird für Clients, die diese Funktion nicht unterstützen, nicht aktiviert.",
"DESC_CONFIGURATIONS": "Die Namen aller vorhandenen Konfigurationen.",
"DESC_USERGROUPS": "Benutzergruppen haben Zugriffsberechtigungen auf bestimmte Symbole und Dateien. Die Berechtigungen werden den Benutzern auf der Grundlage der Benutzergruppen, denen sie angehören, zugewiesen.",
"DESC_USERGROUPUSERS": "Die Account-Einstellungen und Gruppenmitgliedschaften aller Benutzer aller Authentifizierungserweiterungen.",
"DESC_SHOW_CONFIGURATION_HINTS": "Konfigurationshinweise informieren über problematische Einstellungen oder Kombinationen von Einstellungen in den Konfigurationen des Servers oder der Servererweiterungen.",
"DESC_SELFSIGNEDROOTCA": "Dieses Zertifikat wird verwendet, um self-signed Server-Zertifikate zu erstellen.",
"DESC_KEY": "Dieser Schlüssel wird zur Entschlüsselung des Zertifikats verwendet. Bei Zertifikation im PFX-Format kann dieses Feld leer bleiben.",
"DESC_SELFSIGNEDROOTCAKEY": "Dieser Schlüssel wird zur Entschlüsselung des Root-Zertifikats verwendet.",
"DESC_KEYPASSWORD": "Passwort für die Dekodierung des privaten Schlüssels oder der PFX-Datei. Wenn das Zertifikat kein Passwort benötigt, kann dieses Feld leer bleiben.",
"DESC_PROJECTNAME": "Der Name des HMI-Projektes.",
"DESC_PROJECTVERSION": "Die Version des zuletzt hochgeladenen HMI-Projekts.",
"DESC_FILES": "Spezielle Einstellungen und Berechtigungen für bestimmte Dateien oder Verzeichnisse.",
"DESC_FILESREGEX": "Spezielle Einstellungen und Berechtigungen für bestimmte Dateien oder Verzeichnisse die auf den angegebenen regulären Ausdruck zutreffen.",
"USEINT64STRING": "Int64-String-Format verwenden",
"DESC_USEINT64STRING": "Int64 nicht als Base64 sondern als String übertragen",
"DESC_EXTENSION_HOST_MAX_RELOADS": "Maximale Anzahl von Versuchen, die Erweiterung zu laden",
"DESC_EXTENSION_HOST_RELOAD_INTERVAL": "Intervall zwischen den Versuchen, die Erweiterung zu laden",
"descThreadPoolSize": "Thread-Pool-Größe",
"descAccessEnum": "Zugriffsstufe",
"descFileSettings": "Dateieinstellungen",
"descFileInfo": "Dateiinformationen",
"descSeverity": "Severity",
"descTiming": "Timing",
"descValueType": "Datentyp",
"descAlarmState": "Alarm-Zustand",
"descConfirmationState": "Alarm-Quittierung",
"descNullableDateTime": "Nullable datetime",
"descEventType": "Ereignis-Typ",
"descMessage": "Nachricht",
"descAlarm": "Alarm",
"descEvent": "Ereignis",
"descSchemaRef": "JSON-Schema-Referenz",
"descFilter": "Filter",
"descComparator": "Vergleichsoperator",
"descLogic": "Logikoperator",
"descUserLocale": "Client-Locale",
"descUserTimeZone": "Client-Zeitzone",
"descUserGroups": "Nutzergruppen",
"descEventFilter": "Ereignis-Filter",
"descExportEventFilter": "Bedingung, nach der die Ereignisse gefiltert werden sollen (Beispiel: 'domain == \"ADS\"').",
"descExportFilter": "Pfad in der Konfiguration, der exportiert werden soll (Beispiel: 'zu::exportierender::pfad')",
"descAdsRoute": "ADS-Route",
"TWO_FACTOR_CODE": "Code",
"LOGIN_DESC_ENABLE_2FA": "Ihr Administrator hat Zwei-Faktor-Authentifizierung für Ihr Konto aktiviert.",
"USERMANAGEMENT_DESC_ENABLE_2FA": "Bitte scannen Sie den QR-Code mit einer geeigneten App und geben Sie den Code ein, um die Einrichtung abzuschließen.",
"ENABLE_2FA": "Einrichtung abschließen",
"USERMANAGEMENT_ENABLE_2FA": "Zwei-Faktor-Authentifizierung einrichten",
"INVALID_TOKEN": "Ungültiger Code",
"CLEAR_AUTOCOMPLETE_VALUE": "--- Wert löschen ---",
"PYTHON_EXTENSION_OUTPUT": "Ausgabe von Python-Extension '{0}': {1}",
"PYTHON_EXTENSION_LOAD_ERROR": "Die Python-Extension '{0}' konnte nicht geladen werden: '{1}'",
"WS_PLAYGROUND_REQUEST": "Anfrage",
"WS_PLAYGROUND_RESPONSE": "Antwort",
"WS_PLAYGROUND_HISTORY": "Historie",
"WS_PLAYGROUND_SEND": "Senden",
"WS_PLAYGROUND_CLEAR": "Löschen",
"WS_PLAYGROUND_CONNECT": "Verbinden",
"WS_PLAYGROUND_ENDPOINT": "WebSocket-Endpunkt",
"LAST_RESPONSE_TIME": "Letzte Antwortzeit",
"PLAYGROUND_WEBSOCKET_RETRY_MSG": "WebSocket-Client-Initialisierung fehlgeschlagen. Erneuter Versuch...",
"PLAYGROUND_WEBSOCKET_FAILED_MSG": "WebSocket-Client-Initialisierung fehlgeschlagen. Bitte die Seite neu laden.",
"PLAYGROUND_CLEAR_HISTORY": "Verlauf löschen",
"RENAME_USERGROUP_SYMBOL_FAILED": "Fehler beim Aktualisieren der Zugriffsrechte beim Umbenennen des Symbols: Die Benutzergruppen-Berechtigungen konnten nicht von '{0}' auf '{1}' übertragen werden.",
"DELETE_USERGROUP_SYMBOL_FAILED": "Fehler beim Aktualisieren der Zugriffsrechte beim Löschen des Symbols: '{0}'"
}
}

View File

@@ -0,0 +1,756 @@
{
"locale": "en",
"localizedText": {
"LOGIN_TITLE": "Login",
"INIT_TITLE": "Server initialization",
"TIMEOUT_TITLE": "Restart required",
"LOGIN_DOMAIN": "Domain",
"LOGIN_USER": "Username",
"LOGIN_PASSWORD": "Password",
"LOGIN_BUTTON": "Login",
"LOGIN_MAINTENANCE_TITLE": "Maintenance login",
"LOGIN_MAINTENANCE_BUTTON_TITLE": "Enter maintenance mode",
"SET_BUTTON": "Set",
"LOGIN_CHANGE_BUTTON": "Switch",
"LOGIN_CHANGE_TITLE": "Switch user",
"LOGIN_FAILED": "Login failed:",
"INVALID_USERNAME_OR_PASSWORD": "Invalid username or password",
"TOO_MANY_FAILED_LOGIN_ATTEMPTS": "Too many failed login attempts",
"AUTHENTICATOR_DESCRIPTION": "Enter the 6-digit security code from your authentication app",
"ALREADY_LOGGED_IN": "User is already logged in",
"REQUEST_START": "Starting request {0}",
"REQUEST_INTERRUPTED": "Request {0} interrupted",
"REQUEST_FINISHED": "Request {0} finished",
"REQUEST_DELETE": "Deleting {0} in session {1}",
"REQUEST_IN_USE": "Request {0} in use",
"FILE_DELETE": "Deleting file {0}",
"FILE_STORE": "Storing file {0}",
"FILE_ERROR_NOT_FOUND": "File {0} not found",
"HTTP_LISTENER_NOT_FOUND": "HTTP listener with domain {0} not found",
"FILE_INVALID_ACCESS": "Invalid access",
"ERROR": "Error: {0}",
"SUBSCRIPTION_ERROR_DELETE": "Unable to delete subscription {0}",
"SUBSCRIPTION_ERROR_UPDATE": "Unable to update subscription {0}",
"LOAD_EXTENSION": "Loading extension {0} ({1})",
"LOAD_CONFIG_ERROR": "Unable to load config for extension {0}",
"PROJECTNAME": "Project name",
"PROJECTVERSION": "Project version",
"PROJECTNAME_VERSION": "Project {0} {1}",
"SYSTRAY_CREATE_ERROR": "Unable to create system tray entry",
"TRAY_TOOLTIP_PLAIN": "TcHmiSrv",
"LOADING": "Loading...",
"TRAY_TOOLTIP": "TcHmiSrv\r\nActive servers: {0}",
"TRAY_TITLE_PROJECT": "{0} on port {1}",
"TRAY_TITLE_ENGINEERING": "Engineering on port {0}",
"TRAY_TITLE_ENGINEERING_PROJECT": "{0} on port {1}",
"TRAY_TITLE": "TcHmiSrv on port {0}",
"TRAY_TITLE_SERVICE_WITH_PROJECT": "{0} on port {1}",
"TRAY_TITLE_SERVICE": "Service on port {0}",
"TRAY_TITLE_SERVICE_CONFIGURATION": "Service configuration",
"TRAY_CONFIG": "Config",
"TRAY_START_PAGE": "Start page",
"TRAY_SHUTDOWN": "Shutdown",
"TRAY_RESTART": "Restart",
"RESTART": "Restarting server",
"VERSION": "Version",
"ACTIVE_CONFIG": "Active configuration",
"UNABLE_TO_LISTEN": "Unable to listen to address {0}: {1}",
"EXCEPTION_STARTING_WEBSERVER": "Starting webserver failed with error: {0}",
"IPV4_FALLBACK": "Listening on IPv6 endpoint {0} failed, retrying with IPv4.",
"CONFIG_ERROR_ROOT": "Unable to create root directory",
"LOGIN_COMMAND_ERROR_TOO_MANY": "Only one login allowed",
"AUTO_LOGINUSER": "Automatic login",
"ALLOW_REMOTE_ADMIN": "Admin remote access",
"ERROR_BUSY": "Server is busy",
"ERROR_INTERVAL_ZERO": "Loop request with interval set to zero",
"INVALID_DATA": "Invalid data",
"NAME": "Name",
"DIAGNOSTICS": "Diagnostics",
"LOADING_DIAGNOSTICS_MSG": "Loading diagnostics...",
"CUSTOM_CONFIG": "Custom config",
"ACTIVESESSIONS": "Active sessions",
"TOOLTIP_ACTIVESESSIONS": "Currently active server threads",
"ACTIVESOCKETS": "Active sockets",
"MEMORYUSAGE": "Memory usage",
"UPTIME": "Uptime",
"SERVERTIME": "Server time",
"ARCHITECTURE": "Architecture",
"FILES": "Files",
"FILESREGEX": "Regular expressions for files",
"REGEX": "Regular expression",
"ENABLE_CACHE": "Enable cache",
"ENABLE_CHUNKING": "Enable chunking",
"ENABLE_GZIP": "Enable GZIP",
"LOGINPAGE": "Login page",
"FILESHTTPHEADERS": "HTTP headers",
"DESC_FILESHTTPHEADERS": "Add or remove HTTP headers to that file. 'unset {name}' can be used to remove a default header.",
"HTTPSTATUSCODE": "HTTP status code",
"GLOBALHTTPHEADERS": "Global HTTP headers",
"ACCEPTEDSOCKETS": "Accepted sockets",
"DISCOVERY_RUNNING": "Network discovery running",
"TRAFFICIN": "Inbound bytes",
"TRAFFICOUT": "Outbound bytes",
"TIME_FORMAT": "{0}:{0}:{0}",
"MAXSESSIONS": "Maximum number of connections",
"DESC_MAXSESSIONS": "Maximum number of concurrent connections.",
"THREADPOOLSIZE": "Size of thread pool",
"DESC_THREADPOOLSIZE": "Server restart required.",
"FLOODPROTECTION": "Flood protection",
"HTTP_FLOODPROTECTION": "Flood protection HTTP",
"SUBSCRIPTION_FLOODPROTECTION": "Flood protection subscription",
"FLOODPROTECTION_LOG_INTERVAL": "Flood protection log interval",
"DESC_FLOODPROTECTION": "Allowed WebSocket requests per client IP per second.",
"DESC_HTTP_FLOODPROTECTION": "Allowed HTTP requests per client IP per second per URI.",
"DESC_SUBSCRIPTION_FLOODPROTECTION": "Allowed subscribe/unsubscribe requests per client IP per second",
"DESC_FLOODPROTECTION_LOG_INTERVAL": "Time to wait before creating the next 'request failed' log entry.",
"MAXCONNECTIONSPERCLIENT": "Maximum connections per client",
"CLIENTPRIORITYLIST": "Client priority list",
"DESC_CLIENTPRIORITYLIST": "IP addresses of preferred clients. If the client limit is reached these clients will be able to connect and clients which are not in this list will be disconnected.",
"VIRTUALDIRECTORIES": "Virtual directories",
"REQUIREAUTH": "Authentication required",
"CHUNKSIZE": "Size of chunk packet",
"DESC_CHUNKSIZE": "Downloaded files will be split into chunks of this size.",
"VIDEOSEGMENTSIZE": "Size of video segments",
"CHECKSUMENABLED": "Checksum enabled",
"DESC_CHECKSUMENABLED": "Checksum of uploaded files will be validated during publishing.",
"DEFAULTAUTHEXTENSION": "Default authentication extension",
"DEFAULTEVENTEXTENSION": "Default logging extension",
"USERSELECTTYPE": "Select user by",
"ENUM_COMBOBOX": "List box",
"ENUM_TEXTFIELD": "Text field",
"AUTO_LOGOFF": "Auto logoff",
"USERGROUPUSERS_AUTO_LOGOFF": "Auto logoff",
"HIDDEN": "Hidden",
"DIAGNOSTICS_DOMAINS": "Log diagnostics data for domains",
"EXTENSIONS": "Extensions",
"ENDPOINTS": "Endpoints",
"PATH": "Path",
"ENABLED": "Enabled",
"TYPE": "Type",
"DEFINITIONS": "Definitions",
"SYMBOLS": "Mapped symbols",
"MAPPING": "Mapping",
"SUBSYMBOL_MAPPING": "Automatically browse into the read-value",
"ACCESS": "Default symbol access",
"DESC_ACCESS": "Limits the access that can be inherited from the default symbol access of a user group. This limit is not enforced for user groups that set the access level for this symbol explicitly.",
"SYMBOLACCESS": "Default symbol access",
"DESC_SYMBOLACCESS": "Used if no other access level is specified for a mapped symbol. Is limited by the access level that is specified on the mapped symbol.",
"DESC_USERGROUPS_SYMBOLS": "Override the default symbol access level for specific mapped symbols.",
"FILEACCESS": "File access",
"SYMBOLTYPE": "Symbol type",
"USERGROUPS": "User groups",
"USERGROUPUSERS": "Members of user groups",
"GZIP_BEST_SPEED": "Best speed",
"GZIP_MEDIUM": "Medium",
"GZIP_BEST_SIZE": "Best size",
"ENUM_m1_DIAGNOSTICS": "Diagnostics",
"ENUM_0_VERBOSE": "Verbose",
"ENUM_1_INFO": "Info",
"ENUM_2_WARNING": "Warning",
"ENUM_3_ERROR": "Error",
"ENUM_4_CRITICAL": "Critical",
"ENUM_ALWAYS": "Always authenticate",
"ENUM_REMOTE": "Authentication only for remote access",
"ENUM_EARLY": "Early",
"ENUM_NORMAL": "Normal",
"ENUM_DELAYED": "Delayed",
"ENUM_NONE": "None",
"DISCOVERY_0_DISABLED": "Disabled",
"DISCOVERY_1_ENABLED": "Enabled on standard SSDP port (1900)",
"DISCOVERY_2_ALTERNATIVE": "Enabled on alternative port (1910)",
"DOMAIN": "Domain",
"USEMAPPING": "Use mapping",
"CUSTOMERDATA": "Customer data",
"DYNAMIC": "Dynamic",
"OPTIONS": "Options",
"SCHEMA": "Schema",
"REAUTHENTICATION_REQUIRED": "Re-authentication required",
"REVIEWER_GROUPS": "Reviewer groups",
"DESC_REVIEWER_GROUPS": "Before the symbol can be written a user of one of these usergroup must confirm by an own Login command",
"TOOLTIP_REVIEWER_GROUPS": "Reviewers can only be requested if the re-authentication is required",
"EXTENSION_DATA_DOMAINS": "Extension data domains",
"DESC_EXTENSION_DATA_DOMAINS": "Server commands can contain additional information for server extensions. The domains of these extensions can be specified here.",
"TOOLTIP_EXTENSION_DATA_DOMAINS": "The additional information is transferred within the command object in an additional 'extensionData' object",
"FLOODPROTECTION_LEVEL": "Flood protection level",
"DESC_FLOODPROTECTION_LEVEL": "The allowed number of requests per symbol can be configured via the level setting.",
"TOOLTIP_FLOODPROTECTION_LEVEL": "Disabled = No limits</br>Restrictive = 10 requests per second</br>Medium = 50 requests per second",
"ENUM_M1_FLOODPROTECTION_LEVEL_DISABLED": "Disabled",
"ENUM_10_FLOODPROTECTION_LEVEL_RESTRICTIVE": "Restrictive",
"ENUM_50_FLOODPROTECTION_LEVEL_PERMISSIVE": "Permissive",
"ENUM_READ": "Read",
"ENUM_WRITE": "Write",
"ENUM_READWRITE": "Read-write",
"ENUM_VALUE": "Value",
"ENUM_FUNCTION": "Function",
"DESC_EXTENSION": "Server extensions are used to integrate additional functionality into the server.",
"DESC_AUTHENTICATION_DOMAIN": "Authentication domain",
"DESC_DEFINITION_DOMAIN": "Domain",
"CONFIG_ADVANCED_ACTIVE": "Advanced mode is active",
"CONFIG_ADVANCED_HEADER": "Advanced settings",
"CONFIG_ADVANCED_ON": "Switch to advanced mode",
"CONFIG_ADVANCED_OFF": "Disable advanced mode",
"CONFIG_EXPORT_FORMAT": "Format",
"CONFIG_EXPORT_START": "Start time",
"CONFIG_EXPORT_END": "End time",
"CONFIG_EXPORT_LIMIT": "Limit",
"CONFIG_EXPORT_OFFSET": "Offset",
"CONFIG_EXPORT_ORDER": "Order",
"CONFIG_EXPORT_ORDER_DESC": "Descending",
"CONFIG_EXPORT_ORDER_ASC": "Ascending",
"CONFIG_ARRAY_ENTRIES_COUNT": "{0} entries",
"DESC_SYMBOL": "Symbol",
"DESC_FILE": "File",
"DESC_USERGROUP": "User group",
"DESC_USERNAME": "Username",
"DESC_GROUP": "Group",
"DESC_CACHE": "Server restart required.",
"DESC_REQUIRE_CLIENT_CERTIFICATE": "A client certificate is required to establish an HTTPS connection",
"DESC_RANGE_REQUEST_SIZE": "HTTP range requests (streamed videos) will be split in chunks of this size.",
"DESC_KEEP_ALIVE": "Timer for persistent connections.",
"DESC_SOCKET_TIMEOUT": "Timeout for incomplete message body.",
"DESC_GZIP_MIN_SIZE": "Prevents small data from getting zipped.",
"DESC_GLOBAL_HTTP_HEADERS": "These headers will be added to all HTTP responses.",
"DESC_PEM_CERT": "PEM or PFX formatted certificate.",
"REQUIRED": "Required",
"PROCESSID": "Process ID",
"STARTUPTYPE": "Startup type",
"DEFAULTDOCUMENT": "Default document",
"RECORDING_MESSAGE_MAX_LENGTH": "Recording message max length",
"EXTENSION_ERROR": "Error while using server extension '{0}' in extension container: {1}",
"EXTENSION_ERROR_LOG_FILE": "The extension container log file for server extension '{0}' could not be deleted: {1}",
"EXTENSION_NOT_LICENSED": "Extension not licensed: Activate license with TwinCAT",
"EXTENSION_SDK_LICENSE_MISSING": "Extension '{0}' not licensed: Activate extension SDK license with TwinCAT",
"EXTENSION_NOT_ENABLED_ERROR_CFG_PAGE": "Extension is disabled",
"EXTENSION_UNLOADING_ERROR_CFG_PAGE": "Extension is unloading ... ",
"EXTENSION_NOT_RUNNING_ERROR_CFG_PAGE": "Running extension in extension container failed because the connection has been interrupted.",
"EXTENSION_INVALID_STATE_ERROR_CFG_PAGE": "Extension could not be loaded<br> {0}: {1}",
"EXTENSION_INVALID_STATE_ERROR_CFG_PAGE_NO_POSITION": "Extension could not be loaded<br> {0}",
"EXTENSION_DEBUGGER_ATTACHED_CFG_PAGE": "A debugger is or will be attached to the extension",
"EXTENSION_UPGRADE": "Upgrading configuration '{0}' of {1} from v{2} to v{3}",
"ERROR_DEFINITION_FILE": "Unable to get schema definition file '{0}' with error '{1}': {2}",
"ERROR_CRASH_REPORT_EXISTS": "A previous session of the TcHmiSrv process exited unexpectedly.\nA crash report has been created: {0}",
"EXTENSION_INIT_ERROR": "Initializing extension {0} failed with error '{1}' ({2})",
"SERVER_CONFIG_ERROR": "Initializing server configuration failed. {0} returned error '{1}'",
"SERVER_MIGRATION_MAJOR_UPDATE": "Updating extension '{0}' for server update version '{1}'",
"SERVER_MIGRATION_ERROR": "Migrating server configuration failed with error '{0}' and message '{1}'",
"SERVER_CONFIG_STORE_ERROR": "Storing configuration failed at '{0}' with error '{1}'",
"SERVER_SYMBOL_ERROR": "Initializing server symbols failed",
"SERVER_STORAGE_ERROR": "Initializing server storage failed with error '{0}'",
"NAMELESS": "TcHmiServer",
"DEBUG_FINISHING_EVENT": "Finishing event: {0}",
"CONFIG_TITLE": "Configuration",
"LOG_TITLE": "Log",
"LOG_SEVERITY": "Severity",
"LOG_TIME": "Time",
"LOG_DOMAIN": "Domain",
"LOG_TEXT": "Text",
"LOG_DOWNLOAD_PRINTABLE_VERSION": "Download printable version",
"LOG_CLEAR": "Clear log",
"LOG_CLEAR_CONFIRM": "Please confirm that you wish to delete the log entries irreversibly",
"SEVERITYm1": "Diagnostics",
"SEVERITYg0": "Info +",
"SEVERITY0": "Verbose",
"SEVERITY1": "Info",
"SEVERITY2": "Warning",
"SEVERITY3": "Error",
"SEVERITY4": "Critical",
"LOG_ALL_LEVELS": "All levels",
"LOG_MESSAGES": "Messages",
"LOG_CONFIG_HINTS": "Configuration hints",
"LOG_ALL_TYPES": "All types",
"LOG_ALL_DOMAINS": "All domains",
"LOG_SEARCHTERM": "Search term",
"LOG_SEVERITY_SELECT_PREFIX": "only ",
"LOG_DOMAIN_SELECT_PREFIX": "only ",
"LOGOUT": "Logout",
"TRAY_START": "Start page",
"TRAY_CONSOLE": "Console",
"TRAY_OPEN_STORAGE_DIR": "Open storage dir",
"TRAY_EXIT": "Exit",
"SSL_CREATE": "SSL enabled but no certificate found - creating",
"SSL_INVALID_CERTIFICATE": "Invalid certificate stored: Error {0} ({1})",
"SSL_INVALID_CERTIFICATE_ENDPOINTS": "Unable to obtain endpoints for SSL certificate",
"SSL_ERROR_DECRYPT": "Decryption failed",
"SSL_NO_PASSPHRASE": "The certificate requires a passphrase for the private key",
"SSL_PASSPHRASE_INVALID": "Invalid passphrase for the private key",
"START_WEBSRV": "Listening at {2}://{0}:{1}",
"STOP_WEBSRV": "Stopped listening at {0}:{1}",
"START_SRV": "Starting server version {0}",
"START_UPNP": "Starting device discovery publicizing endpoints '{0}' on UDP port {1}",
"START_UPNP_LOCAL": "Starting local device discovery publicizing endpoints '{0}' on UDP port {1}",
"STOP_UPNP": "Stopping device discovery",
"STOP_UPNP_LOCAL": "Stopping local device discovery",
"UPNP_SENDING_MSEARCH_REPLY": "Discovery sending search-reply {0}:{1} (ST: {2})",
"UPNP_SENDING_ALIVE": "Discovery sending ALIVE-message from {0}:{1}",
"UPNP_MSEARCH_RECEIVED": "Discovery received a search request from {0}:{1} (ST: {2})",
"UPNP_STARTING_WEBSRV": "Discovery is starting its webserver on {0} (port: {1})",
"UPNP_WEBSRV_ABOUT_TO_RESPOND": "Discovery about to respond to key '{0}' (client: {1})",
"UPNP_HOSTNAME_RESOLVE_ERROR": "Discovery tried to resolve its own hostname but failed",
"CONFIG_ERROR_HEADER_SIZE": "MaxHttpHeaderSize set to 0",
"CONFIG_ERROR_REQUEST_SIZE": "MaxRequestSize set to 0",
"CONFIG_ERROR_TIMEOUT": "HTTP timeout set to 0",
"COM_ERROR": "COM error {0} in method {1}",
"RUNTIME_NOT_LOADABLE": ".NET runtime is not loadable",
"RUNTIME_NOT_FOUND": "Could not find .NET runtime version {0}",
"SOCKET_ACCEPT": "Accepting socket on {1}:{2}",
"SOCKET_ERROR_ACCEPT": "Error accepting socket on {1}:{2}: {3}",
"SOCKET_ERROR_OPEN": "Error while opening {0}: {1}",
"SOCKET_WAIT": "Waiting for connections on {1}:{2}",
"SESSION_START": "Starting session {1}",
"SESSION_END": "Ending session {1}",
"SESSION_HANDSHAKE": "Session handshake in session {1}",
"SESSION_ERROR_HANDSHAKE": "Session handshake in session {1} failed: {2}",
"SESSION_WEBSOCKET_CONNECT": "Websocket connected in session {1}",
"SESSION_WEBSOCKET_CALL": "Websocket call in session {1}",
"SESSION_HTTP_CALL": "HTTP call on {2} in session {1}",
"SESSION_DIAG": "Session diagnostics event",
"SESSION_ERROR_READ": "I/O read error {2} in session {1}: {3}",
"SESSION_ERROR_CLOSE": "Error while closing connection in session {1}: {2}",
"SESSION_ERROR_DISCONNECT": "Client of session {1} disconnected with error {2}",
"EXTENSION_PROCESS_DIAG": "Extension process diagnostics event",
"NO_ACTIVE_CLIENT_CERT": "Client certificate missing or disabled",
"ACTIVE_LOCKOUT_PROTECTION": "Client certificate disabled: local endpoint missing",
"AUTH_FAILED": "Login failed for user {userName}: {msg} (Session ID {sessionId})",
"AUTH_FAILED_INVALID_PARAMETER": "Login failed because of an invalid parameter. The session ID was {0}",
"AUTH_FAILED_INVALID_SESSION": "Login failed because session {0} is invalid",
"LOGIN_LOG": "Logged in user {userName}",
"LOGOUT_LOG": "Logged out user {userName} ({reason})",
"LOGIN_LOGGED_IN_AS": "Logged in as {0}",
"MAINTENANCE_LOGIN": "Maintenance login",
"SHOW_MAINTENANCE_MODE": "Show maintenance mode",
"DESC_SHOW_MAINTENANCE_MODE": "The login page can be used to enter the maintenance mode. If this setting is false /LoginMaintenance can be used instead. Requires a user in the __SystemMaintenanceUsers group.",
"LOGIN_BACK": "Back",
"PROTOCOL_ERROR_INIT": "Error initializing protocol",
"PORT": "Port",
"KEEP_ALIVE": "Keep alive",
"SOCKET_TIMEOUT": "Socket timeout",
"MAXHTTPHEADERSIZE": "Maximum size of HTTP header",
"MAXREQUESTSIZE": "Maximum request size",
"CACHEENABLED": "Enable cache",
"CACHEMAXENTRYSIZE": "Cache max entry size",
"CACHEMAXSIZE": "Cache max size",
"CACHEMAXAGE": "Cache max age",
"CONNECTIONMODE": "Connection mode",
"IPADDR": "IP address",
"ETAGENABLED": "Enable ETAG",
"GZIPENABLED": "Enable GZIP",
"GZIPMINSIZE": "GZIP minimum size",
"PERMESSAGEDEFLATEENABLED": "Enable PerMessageDeflate",
"CERTIFICATE": "Certificate",
"CERTIFICATE_NOT_VALID": "Certificate not valid",
"KEY": "Key",
"SELFSIGNEDROOTCA": "Self-signed root certificate",
"SELFSIGNEDROOTCAKEY": "Self-signed root certificate key",
"TEMPDH": "TempDH",
"KEYPASSWORD": "Key password",
"ENUM_PLAIN": "Plain",
"ENUM_SSL": "SSL",
"ENUM_BOTH": "Both",
"CATEGORY_DEFAULT": "General",
"CATEGORY_SYMBOLS": "Mapped symbols",
"CATEGORY_SYSTEM": "System",
"CATEGORY_SECURITY": "Security",
"CATEGORY_WEBSERVER": "Webserver",
"CATEGORY_USERS_AND_SESSIONS": "Users and sessions",
"CATEGORY_EVENTS": "Messages and alarms",
"CATEGORY_CONFIGURATIONS_AND_FILESYSTEM": "Configurations and filesystem",
"CATEGORY_WEBSOCKET_PLAYGROUND": "WebSocket Playground",
"USERGROUPUSERS_LOCALE": "Locale",
"USERGROUPUSERS_TIMEFORMATLOCALE": "Time locale",
"USERGROUPUSERS_GROUPS": "Groups",
"USERGROUPUSERS_FORCE_PASSWORD_CHANGE": "Force password change",
"USERGROUPUSERS_FORCE_2FA_INIT": "Force 2FA initialization",
"READONLY": "Read-only",
"DEFAULTLOCALE": "Default locale",
"UPLOAD_TIMEOUT": "Upload timeout: {0}",
"UPLOAD_FAILED": "Upload for file {0} failed with error {1}",
"INVALID_SUBSYMBOL": "Sub-symbol invalid",
"UPLOAD_TIMER_EXPIRED": "Upload timer expired",
"COOKIEEXPIRATIONDATE": "Cookie expiration date",
"PROJECT_PUBLISH_START": "Publish started",
"PROJECT_PUBLISHED": "Publish finished",
"DESC_EXTENSION_PATH": "Local path of the extension DLL",
"INFO_MIGRATE": "Migrating server version {0} to version {1}",
"DISCOVERY": "SSDP discovery",
"DISCOVERY_DESC": "Changes will become active after a server restart",
"UPLOADTIMEOUT": "Upload timeout",
"SHUTDOWNTIMEOUT": "Timeout for unloading extensions",
"INITTIMEOUT": "Init timeout",
"RUNTIME": ".NET runtime",
"ENUM_VALUETYPE_NULL": "null",
"ENUM_VALUETYPE_BOOL": "boolean",
"ENUM_VALUETYPE_INT": "integer",
"ENUM_VALUETYPE_DOUBLE": "number",
"ENUM_VALUETYPE_STRING": "string",
"ENUM_VALUETYPE_ARRAY": "array",
"ENUM_VALUETYPE_STRUCT": "object",
"ENUM_VALUETYPE_MAP": "map",
"ENUM_VALUETYPE_BINARY": "binary",
"ENUM_VALUETYPE_INT64": "int64",
"ENUM_VALUETYPE_TIMESPAN": "timespan",
"ENUM_VALUETYPE_DATETIME": "date-time",
"ENUM_VALUETYPE_EVENT": "event",
"ENUM_VALUETYPE_MESSAGE": "message",
"ENUM_VALUETYPE_ALARM": "alarm",
"ENUM_VALUETYPE_ANY": "any",
"TITLE_EXTENSION": "Domain",
"TITLE_MIME": "File extension",
"TITLE_DEFAULT": "Name",
"THUMBPRINT": "Thumbprint",
"CONFIG_VERSION_CONFLICT": "Cannot update config: Config has changed in another environment",
"LOGIN_ERROR": "Login failed: Invalid username or password",
"LOGIN_ERROR_ALREADY_LOGGED_IN": "User is already logged in",
"LOGIN_NOT_IN_MAINTENANCE_GROUP": "The user is not in the __SystemMaintenanceUsers group",
"INITIALIZE_ERROR": "Initialization failed",
"LOGIN_ERROR_WAIT": "Too many failed login attempts: Please try again later",
"CERTIFICATEEXPIRATION": "Duration for default certificate",
"CLIENTCERTIFICATE": "Client certificate",
"CLIENTCERTIFICATES": "Approved client certificates",
"ENABLECLIENTCERTIFICATE": "Enable client certificate",
"DEFAULTUSER": "Default user",
"REQUIRE_CLIENT_CERTIFICATE": "Require client certificate",
"DEFLATECOMPRESSIONLEVEL": "GZIP compression level",
"CONFIGURATIONS": "Configurations",
"EXTENSION_SHUTDOWN_FAIL": "Failed to shut down extension '{0}' possibly triggered by blocking threads: Contact the extension developer",
"LICENSE_ERROR": "Server license validation failed with error {0} (underlying ADS error: {1})",
"LICENSE": "License",
"USEDTARGETS": "Used targets",
"TARGETS": "Targets",
"USEDCLIENTS": "Used clients",
"CLIENTS": "Clients",
"USEDSERVERS": "Used servers",
"SERVERS": "Servers",
"STATE": "State of the TF2000 license",
"DOTNETVERSIONS": ".NET Classic runtime versions",
"DOTNETCLASSICVERSIONS": ".NET Classic framework versions",
"DOTNETCOREVERSIONS": ".NET Core framework versions",
"ERROR_LOAD_EXTENSION": "Exception while loading extension: '{0}'",
"ERROR_INVOKE_EXTENSION_METHOD": "Exception while invoking member {0}: {1}",
"ERROR_UNLOAD_EXTENSION": "Exception while unloading extension: '{0}'",
"ERROR_SHUTDOWN_EXTENSION": "Exception while shutting down extension: '{0}'",
"ASYNC_CONFIG_ERROR": "Asynchronous config handler returned an error for symbol '{0}' with request ID {1} in domain '{2}': {3}",
"DEFAULTCONFIGURABLE": "Can be set for specific remote configuration.",
"OPTIONAL": "Optional",
"SETTINGS_DOWNLOAD_LOG": "Download log",
"SETTINGS_EXPORTCONFIG": "Export {0} config",
"SETTINGS_IMPORTCONFIG": "Import {0} config",
"SETTINGS_EXPORTCERTIFICATE": "Export SSL certificate",
"SETTINGS_TOGGLEDIAGNOSTICS": "Show/Hide diagnostics",
"SETTINGS_RESTART": "Restart server",
"SETTINGS_SHUTDOWN": "Shutdown server",
"NAVIGATION_EXTENSIONS": "Other server extensions",
"NAVIGATION_CONFIGURATIONS": "Configurations",
"NAVIGATION_SETTINGS": "Settings",
"NAVIGATION_CURRENTUSER": "Current user",
"NAVIGATION_NOENTRIES": "No entries",
"SELECTFILE_EMPTY": "Select a file",
"PASSWORD": "Password",
"CURRENT_PASSWORD": "Current password",
"NEW_PASSWORD": "New password",
"SETTING_PASSWORD_FAILED": "Unable to change password",
"CONFIRM_NEW_PASSWORD": "Confirm new password",
"CONFIRM_PASSWORD": "Confirm password",
"PASSWORDS_DONT_MATCH": "Passwords do not match",
"PASSWORDS_SAME": "New password must be different from the current password",
"CONFIRM": "Confirm",
"CONFIG_VERSION": "Config version",
"PACKAGE_VERSION": "Package version",
"PRODUCT_VERSION": "Product version",
"ADMIN_INITIALIZATION": "Set administrator password",
"INITIALIZE_TIMEOUT_MESSAGE": "Timeout - restart required to initialize the server. The server must be initialized in the first 5 minutes after it is started.",
"DEFAULT_AUTH_EXTENSION_NOT_FOUND": "Default authentication extension not found - using {0} by default",
"RELOAD_BUTTON_TEXT": "Reload this page",
"RESTART_TEXT": "Server is restarting... Click on the following link to go back to config after restart:",
"SHUTDOWN_TEXT": "Server is shutting down...",
"RESTART_BUTTON_TEXT": "Restart now",
"SHUTDOWN_BUTTON_TEXT": "Shutdown now",
"RESTART_TITLE_TEXT": "Restart server",
"SHUTDOWN_TITLE_TEXT": "Shutdown server",
"EDITOR_TITLE_TEXT": "Editor",
"CHANGE_VALUE_TXT": "Click to change value",
"LOGIN_PERSISTENT": "Stay logged in",
"UNSAVED_CHANGES_CONFIG": "Unsaved changes! Are you sure you want to leave?",
"CONFIRM_REMOVE": "Do you really want to delete this value?",
"EXTRACT_CERT_FAILED": "Could not load certificate information",
"CERTIFICATE_NOT_EXISTS": "No certificate available",
"REMOTESERVERS_TITLE": "Domain",
"DESC_REMOTESERVERS": "Connections to other HMI servers. The mapped symbols of remote servers can be used like symbols from extensions of the current server.",
"REMOTESERVERS": "Remote server",
"REMOTE_SERVER_URL_RESOLVE_FAILED": "Could not resolve address of remote server: {0} ({1})",
"REMOTE_SERVER_CONNECT_FAILED": "Could not connect to remote server: {0}",
"REMOTE_SERVER_SESSION_START_FAILED": "Could not start session for remote server: {0}",
"REMOTE_SERVER_CONNECTION_ESTABLISHED": "Connection to remote server was established ({0})",
"REMOTE_USERNAME": "Username",
"DESC_REMOTE_USERNAME": "This username is ignored if client certificates are used or authentication is disabled on the remote server.",
"REMOTE_PASSWORD": "Password",
"REMOTE_ENABLED": "Enabled",
"REMOTE_URL": "Remote URL",
"REMOTE_CONNECT_TIMEOUT": "Timeout",
"RENAME_OLDNAME": "Current name",
"RENAME_NEWNAME": "New name",
"BROWSER_NOT_SUPPORTED": "Browser not supported. Please open the website with a modern browser using one of the following IP addresses:",
"CONFIGPAGE_ACCEPT_BUTTON": "Accept",
"CONFIGPAGE_ADD_BUTTON": "Add",
"CONFIGPAGE_ADD_TITLE": "Add {0}",
"COMMAND_FAILED": "Command failed with error: {0}",
"COMMAND_SUCCESSFUL": "Command successful",
"ADD_SUCCESSFUL": "Add successful",
"UPDATE_FAILED": "Update failed with error: {0}",
"UPDATE_SUCCESSFUL": "Update successful",
"DELETE_FAILED": "Delete failed",
"DELETE_SUCCESSFUL": "Delete successful",
"REQUEST_ALREADY_PROCESSED": "Request has already been processed",
"ENUM_0_MESSAGE": "Message",
"ENUM_1_ALARM": "Alarm",
"ENUM_2_PAYLOAD": "Payload",
"ENUM_0_RAISED": "Raised",
"ENUM_1_CONFIRMED": "Confirmed",
"ENUM_2_CLEARED": "Cleared",
"ENUM_3_CLEARED_AND_CONFIRMED": "Cleared and confirmed",
"ENUM_4_INVALID": "Invalid",
"ENUM_NOTSUPPORTED": "Not supported",
"ENUM_NOTREQUIRED": "Not required",
"ENUM_WAIT": "Waiting for confirmation",
"ENUM_CONFIRMED": "Confirmed",
"ENUM_RESET": "Reset",
"REMOTE_STATUS": "Status",
"REMOTE_ERROR_DESCRIPTION": "Error description",
"REMOTE_ERROR_MESSAGE": "Description",
"REMOTE_ERROR_DETAILS": "Details",
"REMOTE_ERROR_CODE": "Error code",
"REMOTE_ERROR": "Error",
"REMOTESERVERS_CERTIFICATES": "Allowed certificates for remote servers",
"ERROR_SERVER_EXTENSION_PROCESS_NOT_ENABLED": "Running server extensions in an own process is disabled.",
"ERROR_SERVER_EXTENSION_PROCESS_LEGACY_NOT_ENABLED": "Running server extensions that use the TcHmiSrvExtNet API in an own process is disabled.",
"ERROR_DOTNET_CLASSIC_NOT_SUPPORTED": "Running server extensions that target the classic .NET framework into the server process is not supported on this platform.",
"ERROR_INVALID_DOTNET_TARGET_FRAMEWORK": "Invalid .NET target framework: {0}",
"ERROR_EXTENSION_CONTAINER_NOT_SUPPORTED": "Running executable '{0}' is not supported",
"ERROR_EXTENSION_CONTAINER_REQUEST_FAILED": "Extension container request '{0}' in domain '{1}' failed with error '{2}'",
"ERROR_EXTENSION_CONTAINER_REQUEST_FAILED_WITH_MESSAGE": "Extension container request '{0}' in domain '{1}' failed with error '{2}': {3}",
"ERROR_EXTENSION_CONTAINER_REQUEST_FAILED_WITH_INVALID_ARGUMENT": "Extension container request '{0}' in domain '{1}' failed with error: Argument '{2}' is missing or has a type other than '{3}'",
"ERROR_EXTENSION_CONTAINER_REQUEST_FAILED_WITH_UNEXPECTED_RETURN_VALUE": "Extension container request '{0}' in domain '{1}' failed with an unexpected return value",
"ERROR_EXTENSION_CONTAINER_SEND_RESPONSE_FAILED": "Sending a response to extension container request '{0}' in domain '{1}' failed with error '{2}'",
"ERROR_EXTENSION_CONTAINER_SEND_RESPONSE_FAILED_WITH_MESSAGE": "Sending a response to extension container request '{0}' in domain '{1}' failed with error '{2}': {3}",
"ERROR_EXTENSION_CONTAINER_CONVERT_JSON": "Converting JSON '{0}' failed with error: {1}",
"ERROR_EXTENSION_CONTAINER_MISSING_FRAMEWORK": "Failed to load extension '{0}' because .NET {1} {2} or later could not be found.",
"WARNING_EXTENSION_CONTAINER_MISSING_FRAMEWORK": "Cannot find .NET {0} {1} or later required by the extension container. The application may not work properly.",
"WARNING_EXTENSION_CONTAINER_IMAGE_UNLOAD": "Unloading image '{0}' failed with error: {1}",
"LICENSE_CHECK_FAILED": "The HMI server was unable to fetch the license information from TwinCAT's license server. This problem only has an effect if it still exists after {0} seconds.",
"LICENSE_NEW_PENDING_STATE": "The state of one or more licenses used by the HMI server switched to state 'Pending'. This change will only be adopted if it still exists after {0} seconds.",
"SESSIONSTORAGE": "Saved sessions",
"ACTIVE_SESSIONS_SYMBOLS": "Symbols",
"ACTIVE_SESSIONS_CLIENT_COUNT": "Client count",
"ACTIVE_SESSIONS_AVERAGE_DURATION": "Average duration",
"ACTIVE_SESSIONS_READVALUE_JSON_LENGTH": "Read value size",
"ACTIVE_SESSIONS_INTERVAL_TIME": "Interval",
"ACTIVE_SESSIONS_SUBSCRIPTION_ID": "Subscription ID",
"ACTIVE_SESSIONS_CLIENT_LIST": "Connected clients",
"ACTIVE_SESSIONS_CLIENT_LIST_LOGOUT": "Logout",
"ACTIVE_SESSIONS_CLIENT_LIST_IP": "IP",
"ACTIVE_SESSIONS_CLIENT_LIST_EXTENSION_CONTAINER": "Extension container connection",
"ACTIVE_SESSIONS_CLIENT_LIST_USERS": "Users",
"ACTIVE_SESSIONS_EMPTY": "No active sessions",
"ACTIVE_SESSIONS_TITLE": "Active sessions",
"ACTIVE_SESSIONS_LIST_TITLE": "List of all active subscriptions",
"DEFAULTTIMEZONE": "Default timezone",
"USERGROUPUSERS_TIMEZONE": "Timezone",
"DESC_TIMEZONE": "Leave empty to use client timezone.",
"DESC_LOCALE": "Leave empty to use client locale.",
"DEFAULTTIMEFORMATLOCALE": "Default time locale",
"CONFIGURATION_ERROR_SCHEMA": "Invalid schema for symbol '{0}' at position '{1}'",
"CONFIGURATION_ERROR_SCHEMA_NO_SYMBOL": "Invalid schema",
"CLIENT_LOG_TITLE": "Log",
"CLIENT_DATA_TITLE": "Client data",
"CLIENT_DATA_FILE_CACHE": "File cache",
"CLIENT_DATA_CONTROL_DATA": "Control data",
"CLIENT_DATA_INTERNAL_SYMBOL": "Persistent internal symbols",
"CLIENT_DATA_CLEAR": "Clear data",
"CLIENT_LOG_TYPE_ALL": "All",
"CLIENT_LOG_TYPE_DEBUG": "Debug",
"CLIENT_LOG_TYPE_INFO": "Information",
"CLIENT_LOG_TYPE_WARNING": "Warning",
"CLIENT_LOG_TYPE_ERROR": "Error",
"CLIENT_LOG_SEARCHTERM": "Search term",
"CLIENT_LOG_DOWNLOAD_PRINTABLE_VERSION": "Download printable version",
"CLIENT_LOG_CLEAR": "Delete all entries",
"CLIENT_LOG_DB_RESET": "Reset database",
"CLIENT_LOG_ERROR_NO_INDEXEDDB_DATABASE": "Can't find log database: Please activate \"Log persistent\" and reload the TwinCAT HMI project to create a persistent log database",
"CLIENT_LOG_ERROR_NO_INDEXEDDB_API": "IndexedDB API is missing",
"CLIENT_LOG_WAITING_FOR_IDB_CLIENTS_TO_CLOSE": "Waiting for further clients in this browser instance to close its database connections before deleting database: Please close running clients",
"CLIENT_FLAGS_TITLE": "Flags",
"CLIENT_FLAGS_SAVE": "Save",
"CLIENT_FLAGS_CLEAR": "Clear",
"CLIENT_FLAGS_SEVERITY_PERF": "Performance",
"CLIENT_FLAGS_SEVERITY_0": "NoMessages",
"CLIENT_FLAGS_SEVERITY_1": "Error",
"CLIENT_FLAGS_SEVERITY_2": "Error, warning",
"CLIENT_FLAGS_SEVERITY_3": "Error, warning, info",
"CLIENT_FLAGS_SEVERITY_4": "Error, warning, info, debug",
"CLIENT_FLAGS_LOG_PERSISTENT_TITLE": "Persistent log: level",
"CLIENT_FLAGS_LOG_PERSISTENT_MAX_ENTRIES_TITLE": "Persistent log: max entries",
"CLIENT_FLAGS_LOG_PERSISTENT_CACHE_INTERVAL_TITLE": "Persistent log: cache interval",
"CLIENT_FLAGS_SEVERITY_TITLE": "Console log: level",
"CLIENT_FLAGS_LOG_SERVER_MESSAGES_TITLE": "Log server messages",
"CLIENT_FLAGS_FLAG_NOT_DEFINED": "Not defined",
"CLIENT_LOG_UNEXPECTED_EXCEPTION": "Unexpected exception: '{1}'",
"EMPTY_CONFIG_INFO": "No configuration settings.",
"SCHEMA_ACCESS_ERROR": "No access to the configuration schema.",
"CONFIG_ACCESS_ERROR": "No access to the configuration.",
"DEFAULT_VALUE_NAME": "Value",
"DOMAIN_INITIALIZED": "Domain '{domain}' initialized",
"TEMPORARY_EVENTS_RESET": "The temporary events of the '{domain}' domain were reset.",
"RELOAD_PAGE": "Reload page",
"EXTENSION_REACTIVATE": "Reactivate extension",
"EXTENSION_NOT_LOADED": "Extension not loaded",
"EXTENSION_NOT_INITIALIZED": "Initialization of the extension has not yet been completed",
"TARGET_LICENSE_MISSING": "Target license missing",
"SUBSCRIPTION_ERROR_MSG": "Error while requesting symbol",
"REQUEST_FAILED_MSG": "Server request failed: {0}",
"REQUEST_SYMBOL_FAILED_MSG": "Symbol request '{0}' failed: {1}",
"REQUEST_SUBSCRIPTION_FAILED_MSG": "Server subscription failed: {0}",
"MULTIPLE_REQUESTS_FAILED_MSG": "{0} server requests have failed in the last {1} seconds: {2}",
"MULTIPLE_SYMBOL_REQUESTS_FAILED_MSG": "{0} symbol requests for symbol '{1}' have failed in the last {2} seconds: {3}",
"MULTIPLE_SUBSCRIPTION_REQUESTS_FAILED_MSG": "{0} subscription requests have failed in the last {1} seconds: {2}",
"UNIT_TOOLTIP_TEXT": "Unit: {0}",
"CUSTOM_CSS": "Custom CSS",
"HINTS_TITLE": "Configuration hints",
"SHOW_CONFIGURATION_HINTS": "Show configuration hints",
"DISABLED_CONFIGURATION_HINTS": "Disabled configuration hints",
"DESC_DISABLED_CONFIG_HINTS": "Hints which should not be shown anymore.",
"NO_VALID_AUTH_EXTENSION_HINT": "The default authentication extension is not valid.",
"REQUIREAUTH_REMOTE_HINT": "Authentication is not required for remote access. This might put your system at risk.",
"HTTPS_REMOTE_HINT": "The HTTP endpoint \"{0}\" is configured for remote access. This might put your system at risk.",
"ENDPOINTS_OVERWRITTEN_HINT": "The server has been started with endpoint startup parameters and changes to endpoints will be overwritten after the next server restart.",
"ENDPOINTS_OVERWRITTEN_MSG": "The server endpoints have been overwritten with startup parameters.",
"AUTO_LOGIN_CONFIG_ACCESS_HINT": "The automatically logged-in user has access to the entire server configuration",
"USERGROUP_IS_ADMIN": "The user group '{0}' grants admin rights, because symbol access was set to 'Read-Write'.",
"DIAGNOSTICS_LOGGED_HINT": "Diagnostics messages are logged for some domains. This has a negative impact on performance.",
"WEBSERVER_DIAGNOSTICS_LOGGED_HINT": "The server was started with web server diagnostics enabled. Additional messages about sockets will be logged.",
"FDESCFS_NOT_ENABLED_HINT": "fdescfs is not enabled.",
"CONFIG_OVERWRITE_USED": "A config overwrite file is active.",
"CONFIGURATION_UPDATED_HINT": "Configuration has been updated. <a onclick=\\\"window.location=window.location.href\\\">Reload</a> to get the latest changes.",
"CRASH_REPORT_EXISTING_HINT": "A previous session of the TcHmiSrv process exited unexpectedly. The following error reports have been created: {0}",
"SUBSCRIPTION_ERRORS_TITLE": "Subscription errors",
"INVALID_USER_CONFIG": "Invalid user config. The current user has lost the right to access '{0}'. Press <a href=\"{1}\">Logout</a> to clean up your current user session.",
"SAMESITE_ATTRIBUTE": "SameSite attribute",
"DESC_SAMESITE_ATTRIBUTE": "Specifies whether cookies should be sent for cross-page requests.",
"CANCEL_SCRIPT_ERROR": "Script execution has been cancelled: {0}",
"TOOLTIP_SAMESITE_ATTRIBUTE": "Option 'None' is only available via HTTPS",
"LOGIN_PAGE_NO_COOKIES_ERROR": "No cookies: Try to reload or clear all cookies in browser settings",
"ENUM_SAMESITE_NONE": "None",
"ENUM_SAMESITE_LAX": "Lax",
"ENUM_SAMESITE_STRICT": "Strict",
"SYMBOL_UP_TO_DATE": "Schema of the mapping and the linked symbol are equal.",
"SYMBOL_SCHEMA_DIFFERENCE": "Schema differs between mapping and linked symbol.",
"SYMBOL_INVALID_DOMAIN": "Invalid symbol domain.",
"SYMBOL_INVALID_SYMBOL": "The linked symbol does not exist.",
"CLIENT_CACHE_MAX_AGE": "Client-cache max age",
"BASE_HMI_URL": "HMI-URL",
"DESC_BASE_HMI_URL": "This URL is linked on the configuration page",
"SYMBOL_COMPLEXITY_LIMIT": "Symbol complexity limit",
"DESC_SYMBOL_COMPLEXITY_LIMIT": "Defines how complex a schema may be when mapping a symbol. The number of sub-symbols is counted",
"DESC_CLIENT_CACHE_MAX_AGE": "Defines how long server responses may be cached.",
"TOOLTIP_SET_DEFAULT_VALUE": "Click to use the default value.",
"TOOLTIP_DEFAULT_VALUE_USED": "Default value is used. Click to change it.",
"FIND_DEFINITION_ERROR": "Unable to find definition: {0}",
"SELECT_SCHEMA_TITLE": "Select schema",
"TOOLTIP_CONFIRM_CONFIG_HINT": "Don't show again",
"DESC_MAXREQUESTSIZE": "Requests that are larger than this limit will be rejected by the web server.",
"DESC_REMOTESERVERS_CERTIFICATES": "Certificates of the remote servers.",
"DESC_REQUIREAUTH": "Authentication should only be disabled on private networks.",
"DESC_AUTO_LOGOFF": "Can be overridden for individual user accounts. This value is used when no other value is specified for the current user.",
"DESC_AUTO_LOGINUSER": "The user account that is configured here is logged in automatically when a new session is opened.",
"DESC_ALLOW_REMOTE_ADMIN": "The __SystemAdministrator is allowed to log in from a remote endpoint. If disabled, the __SystemAdministrator can only log in from the local machine.",
"DESC_CUSTOM_CSS": "Custom CSS for login and error pages",
"DESC_ENDPOINTS": "IPv4 and IPv6 endpoints are supported. Only HTTPS endpoints should be enabled for remote access. Use the wildcard addresses '0.0.0.0' and '[::]' to accept remote connections on all network interfaces.",
"DESC_ETAGENABLED": "The entity tag HTTP header is an identifier for a specific version of a resource.",
"DESC_DEFINITIONS": "Storage for JSON schema definitions.",
"DESC_SESSIONSTORAGE": "Sessions are saved here so that they are still valid after a server restart.",
"DESC_SYMBOLS": "Mapped symbols are used to grant access to internal symbols of a domain.",
"DESC_TEMPDH": "Custom parameters for the Diffie-Hellman (DH) key-exchange.",
"DESC_GZIPENABLED": "GZIP compression is used by the server and web clients to improve transfer speed and bandwidth utilization.",
"DESC_MAXHTTPHEADERSIZE": "Requests with HTTP headers that are larger than this limit will be rejected by the web server.",
"DESC_CACHEENABLED": "If enabled, the web-server stores frequently requested data such as web pages, images, and similar media content in RAM to improve response times.",
"DESC_DEFAULTDOCUMENT": "This default page is served when a web client requests a URL that points to a directory structure instead of an actual web page within the directory structure.",
"DESC_RECORDING_MESSAGE_MAX_LENGTH": "Maximum length of a recorded message",
"DESC_CERTIFICATEEXPIRATION": "Shorter validity durations limit the damage from key compromise and mis-issuance. Stolen keys and mis-issued certificates are valid for a shorter period of time.",
"DESC_COOKIEEXPIRATIONDATE": "The server uses cookies to store session IDs. Make sure that the cookie expiration date and the automatic logout duration are not in conflict.",
"DESC_DEFAULTAUTHEXTENSION": "Multiple authentication extensions can be used at the same time. The default authentication extension is automatically selected on the login page.",
"DESC_DIAGNOSTICS_DOMAINS": "Logging diagnostics data are useful to diagnose problems but they have a negative impact on performance.",
"DESC_INITTIMEOUT": "It should not take longer than this to initialize a server extension.",
"DESC_SHUTDOWNTIMEOUT": "It should not take longer than this to unload a server extension.",
"DESC_USERSELECTTYPE": "If there are only a few user accounts, selecting the user account using a list box can simplify the login process.",
"DESC_MAXCONNECTIONSPERCLIENT": "Keep in mind that web browsers might open multiple simultaneous connections to the same server to achieve faster load times.",
"DESC_DEFLATECOMPRESSIONLEVEL": "GZIP compression is used by the server and web clients to improve transfer speed and bandwidth utilization.",
"DESC_DEFAULTUSERGROUP": "All user accounts are automatically added to this user group.",
"DESC_CLIENTCERTIFICATES": "Client certificates in this list can access the server. You can also link certificates to user groups and use them as an alternative login mechanism.",
"DESC_DEFAULTEVENTEXTENSION": "When the 'ListEvents' function symbol is called, the events are requested from the default event extension.",
"DESC_UPLOADTIMEOUT": "Upload requests will be rejected if they do not succeed after this duration.",
"DESC_MIME": "Mappings for internet media types.",
"DESC_VIRTUALDIRECTORIES": "Virtual directories are used to specify which folders paths on the file system should be served by the web server.",
"DESC_PERMESSAGEDEFLATEENABLED": "Try to enable compression for all WebSocket requests. Compression is not enabled for clients that don't support it.",
"DESC_CONFIGURATIONS": "The names of all existing configurations.",
"DESC_USERGROUPS": "User groups have access permissions to specific symbols and files. Permissions are assigned to users based on user groups they are a member of.",
"DESC_USERGROUPUSERS": "The account settings and group memberships of all users from all authentication extensions.",
"DESC_SHOW_CONFIGURATION_HINTS": "Configuration hints inform about problematic settings or combinations of settings in the configurations of the server or server extensions.",
"DESC_SELFSIGNEDROOTCA": "This certificate is used to create self-signed server certificates.",
"DESC_KEY": "This key is used to decrypt the certificate.",
"DESC_SELFSIGNEDROOTCAKEY": "This key is used to decrypt the root certificate.",
"DESC_KEYPASSWORD": "Password used to decrypt the private key or pfx file. If the certificate does not require a password, this field can be empty.",
"DESC_PROJECTNAME": "The name of the HMI project.",
"DESC_PROJECTVERSION": "This is the version of the HMI project that has been published to this server.",
"DESC_FILES": "Special handling and permissions for specific files or directories.",
"DESC_FILESREGEX": "Special handling and permissions for specific files or directories that match the given regular expression.",
"USEINT64STRING": "Use int64 string format",
"DESC_USEINT64STRING": "Transmit int64 as string and not as base64",
"DESC_EXTENSION_HOST_MAX_RELOADS": "Maximum number of attempts to load the extension",
"DESC_EXTENSION_HOST_RELOAD_INTERVAL": "Interval between attempts to load the extension",
"descThreadPoolSize": "Thread pool size",
"descAccessEnum": "Access level",
"descFileSettings": "File settings",
"descFileInfo": "File information",
"descSeverity": "Severity",
"descTiming": "Timing",
"descValueType": "Value type",
"descAlarmState": "Alarm state",
"descConfirmationState": "Alarm confirmation state",
"descNullableDateTime": "Nullable datetime",
"descEventType": "Event type",
"descMessage": "Message",
"descAlarm": "Alarm",
"descEvent": "Event",
"descSchemaRef": "JSON schema reference",
"descFilter": "Filter",
"descComparator": "Comparison operator",
"descLogic": "Logic operator",
"descUserLocale": "User locale",
"descUserTimeZone": "User timezone",
"descUserGroups": "User groups",
"descEventFilter": "Event filter",
"descExportEventFilter": "Condition according to which the events should be filtered (example: 'domain == \"ADS\"').",
"descExportFilter": "Path in configuration which should be exported (example: 'path::to::export')",
"descAdsRoute": "ADS route",
"TWO_FACTOR_CODE": "Code",
"LOGIN_DESC_ENABLE_2FA": "Your administrator has enabled two-factor authentication for your account.",
"USERMANAGEMENT_DESC_ENABLE_2FA": "Please scan the QR code with an appropriate app and enter the code to complete the setup.",
"ENABLE_2FA": "Complete setup",
"USERMANAGEMENT_ENABLE_2FA": "Two-factor authentication setup",
"INVALID_TOKEN": "Invalid code",
"CLEAR_AUTOCOMPLETE_VALUE": "--- Clear value ---",
"PYTHON_EXTENSION_OUTPUT": "Output from python extension '{0}': {1}",
"PYTHON_EXTENSION_LOAD_ERROR": "Loading python extension '{0}' failed with error '{1}'",
"WS_PLAYGROUND_REQUEST": "Request",
"WS_PLAYGROUND_RESPONSE": "Response",
"WS_PLAYGROUND_HISTORY": "History",
"WS_PLAYGROUND_SEND": "Send",
"WS_PLAYGROUND_CLEAR": "Clear",
"WS_PLAYGROUND_CONNECT": "Connect",
"WS_PLAYGROUND_ENDPOINT": "WebSocket Endpoint",
"LAST_RESPONSE_TIME": "Last response time",
"PLAYGROUND_WEBSOCKET_RETRY_MSG": "WebSocket client initialization failed. Retrying...",
"PLAYGROUND_WEBSOCKET_FAILED_MSG": "WebSocket client initialization failed. Please refresh the page.",
"PLAYGROUND_CLEAR_HISTORY": "Clear history",
"RENAME_USERGROUP_SYMBOL_FAILED": "Failed to update access rights for symbol rename: unable to transfer user group permissions from '{0}' to '{1}'.",
"DELETE_USERGROUP_SYMBOL_FAILED": "Error updating access rights when deleting symbol: '{0}'"
}
}

View File

@@ -0,0 +1,15 @@
{
"$schema": "../../TcHmiSrv/schema/ExtensionSettings.Schema.json",
"version": "14.4.293.0",
"configVersion": "1.0.1.0",
"guid": "9E24E779-7272-4BAB-825F-8561CFDC5B9F",
"visibility": "AlwaysShow",
"policies": [
"StrictPropertyValidation",
"StrictConfigListenerFilter"
],
"symbols": {},
"packageVersion": "14.4.293.0",
"productVersion": "14.4.293.0",
"signature": "Ta+T41bgikd6FjPUGPUJeo/POWpKtwaLhIWjSvv+3+6YpcLfYURUk2iKPs1ztpyqZrp410buAW1+3DlCBT5JgnIe01HppPmm7ObKPVXK691gOaoSIbQf2Szl0jZUX7hd/J5SGrKpkr5Wpqm6WgCJ5VYwn1vvhjnRWnVbpE7g7ig1Wgir7c7/4J1MQnCafILkl535ieQZNEHvF39whtYC0RQB8+nNJBddqXD2Z3wXAN5Ndx9GR0bPTQQC9GIOqKTr1JUqz+KdnR1qgMiJrb8uHz+8jX7D2TtnIBRsug8sDm9vCWiz2S0uos9GG9ut9Fixnuy9bhac7scPZUVn8PNEEQ=="
}

View File

@@ -0,0 +1,8 @@
{
"locale": "de",
"localizedText": {
"COM_ERROR": "COM-Fehler {0} in Methode {1}",
"RUNTIME_NOT_LOADABLE": "Laufzeit nicht ladbar",
"ERROR_FILE_WATCHER": "Dateiänderungen im Ordner {0} können nicht überwacht werden. Fehler {1}"
}
}

View File

@@ -0,0 +1,8 @@
{
"locale": "en",
"localizedText": {
"COM_ERROR": "COM error {0} in method {1}",
"RUNTIME_NOT_LOADABLE": "Runtime not loadable",
"ERROR_FILE_WATCHER": "Unable to watch file changes for directory {0}. Error {1}"
}
}

View File

@@ -0,0 +1,270 @@
{
"$schema": "../../TcHmiSrv/schema/ExtensionSettings.Schema.json",
"version": "14.4.293.0",
"configVersion": "1.0.1.5",
"guid": "2E0817F0-DE05-42ED-BAFA-552D96B07127",
"visibility": "HideInEngineering",
"policies": [
"StrictPropertyValidation",
"StrictConfigListenerFilter"
],
"symbolCategories": [
{
"name": "__CUSTOM_CONFIG__",
"localization": "USERS"
}
],
"symbols": {
"GetComplexityRules": {
"readValue": {
"function": true,
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"regex": {
"type": "string",
"format": "regex"
},
"localizationParameters": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"regex"
]
}
}
},
"ListUsers": {
"readValue": {
"function": true,
"type": "array",
"items": {
"type": "string"
}
}
},
"ListDisabledUsers": {
"readValue": {
"function": true,
"type": "array",
"items": {
"type": "string"
}
}
},
"RenameUser": {
"readValue": {
"function": true
},
"writeValue": {
"type": "object",
"properties": {
"currentUserName": {
"type": "string",
"description": "Current name of the user."
},
"newUserName": {
"type": "string",
"description": "The new name of the user."
}
},
"required": [
"currentUserName",
"newUserName"
]
}
},
"DisableUser": {
"readValue": {
"function": true
},
"writeValue": {
"type": "string",
"description": "Name of the user."
}
},
"EnableUser": {
"readValue": {
"function": true
},
"writeValue": {
"type": "string",
"description": "Name of the user."
}
},
"RemoveUser": {
"readValue": {
"function": true
},
"writeValue": {
"type": "string",
"description": "Name of the user."
}
},
"AddUser": {
"readValue": {
"function": true
},
"writeValue": {
"type": "object",
"properties": {
"userName": {
"type": "string",
"description": "Name of the user."
},
"password": {
"type": "string",
"format": "masked",
"description": "Password of the user. Only a hash will be stored."
},
"enabled": {
"type": "boolean",
"description": "Indicates if the user can be used or not."
}
},
"required": [
"userName",
"password"
]
}
},
"ChangePassword": {
"userGroups": [
"__SystemUsers"
],
"readValue": {
"function": true
},
"writeValue": {
"type": "object",
"properties": {
"currentPassword": {
"type": "string",
"format": "masked"
},
"newPassword": {
"type": "string",
"format": "masked"
},
"twoFactorToken": {
"type": "string",
"format": "masked"
}
}
}
},
"Disable2FA": {
"userGroups": [
"__SystemUsers"
],
"writeValue": {
"type": "object",
"properties": {
"password": {
"type": "string",
"format": "masked"
},
"twoFactorToken": {
"type": "string",
"format": "masked"
}
},
"required": [
"password",
"twoFactorToken"
]
},
"readValue": {
"function": true,
"type": "boolean"
}
},
"Reset2FA": {
"readValue": {
"function": true,
"type": "boolean"
},
"writeValue": {
"type": "string"
}
},
"Enable2FA": {
"userGroups": [
"__SystemUsers"
],
"readValue": {
"function": true,
"type": "boolean"
},
"writeValue": {
"type": "object",
"properties": {
"password": {
"type": "string"
},
"secret": {
"type": "string"
},
"twoFactorToken": {
"type": "string"
}
},
"required": [
"password",
"secret",
"twoFactorToken"
]
}
},
"Get2FAStatus": {
"userGroups": [
"__SystemUsers"
],
"readValue": {
"type": "integer",
"enum": [
0,
1,
2,
3,
4
],
"options": [
{
"value": 0,
"label": "2FAEnabled",
"description": "2FA is enabled."
},
{
"value": 1,
"label": "2FACanBeEnabled",
"description": "2FA can be enabled."
},
{
"value": 2,
"label": "2FACannotBeEnabled",
"description": "2FA cannot be enabled."
},
{
"value": 3,
"label": "2FACanBeDisabled",
"description": "2FA may be disabled."
},
{
"value": 4,
"label": "2FANotRequired",
"description": "2FA is enabled but not asked for"
}
]
}
}
},
"packageVersion": "14.4.293.0",
"productVersion": "14.4.293.0",
"signature": "lupdwglAkZR2aTBdJzuCnKyEUIVoqLTNGn9QYTxtgWQMIlU1eAZdiVa/JT169AIFkebWE8R6qXL1hvCTeoU4wrYU/FZ0yH98pyFDVoyoiM60cofQSRxrf50vT4ET4uiIDInsHqXRSZfg59ZO7+QX//OtJ7ftoFVgEZalXK7W6t9W2pc1WUug6OKMmT5+kVD6DWEiYsxFobiPWw+6n9LChraiWjzCz2soPZ/y+LtrEhtsjRnWh7z4ABZhA4kDAl4YSfeo4Oa6hUGGGXvsQvkHT3EXJ0hnrOZrq1tkcJQn3hF0V9xzNc/6WNRnpYwgM8FQfqQP0yck+IzwyAtO5iECKw=="
}

View File

@@ -0,0 +1,74 @@
{
"locale": "de",
"localizedText": {
"ENABLED": "Aktiv",
"USERS": "Benutzer",
"DESC_USERS": "Enthält Informationen über alle verwalteten Benutzerkonten.",
"PASSWORD": "Passwort",
"SALT": "Salt",
"SECRET": "Secret",
"ALGORITHM": "Algorithmus",
"DESC_USER": "Benutzer",
"USERMANAGEMENT_SEARCHTERM": "Suchbegriff",
"USERMANAGEMENT_USERNAME": "Benutzername",
"USERMANAGEMENT_PASSWORD": "Passwort",
"USERMANAGEMENT_CURRENT_PASSWORD": "Aktuelles Passwort",
"USERMANAGEMENT_CONFIRM": "Bestätigen",
"USERMANAGEMENT_PASSWORDS_DONT_MATCH": "Passwörter stimmen nicht überein",
"USERMANAGEMENT_CHANGE_PASSWORD": "Passwort ändern",
"USER_MANAGEMENT_CHANGE_PASSWORD_FAILED": "Änderung fehlgeschlagen",
"USER_MANAGEMENT_COMMAND_FAILED": "Änderung fehlgeschlagen",
"USERMANAGEMENT_ADD": "Hinzufügen",
"USERMANAGEMENT_DELETE": "Löschen",
"USERMANAGEMENT_EDIT": "Bearbeiten",
"USERMANAGEMENT_ENABLE": "Aktivieren",
"USERMANAGEMENT_DISABLE": "Deaktivieren",
"USERMANAGEMENT_FORCE_PASSWORD_CHANGE": "Passwortänderung",
"USERMANAGEMENT_PASSWORD_CHANGE_REQUESTED": "Der Benutzer muss beim nächsten Login das Passwort ändern",
"DESC_USERMANAGEMENT_FORCE_PASSWORD_CHANGE": "Passwortänderung beim nächsten Login erzwingen",
"USERMANAGEMENT_CONFIRM_DELETE_USER": "Bitte bestätigen Sie, dass der Benutzer unwiderruflich gelöscht werden soll",
"MSG_ADDUSER_SUCCESS": "Benutzer '{0}' erfolgreich hinzugefügt",
"DESC_PASSWORD_MINIMUM_LENGTH": "Die Mindestlänge der Passwörter, die ein Benutzer wählen kann.",
"DESC_PASSWORD_ENABLE_AGING": "Wenn aktiviert, muss der Benutzer nach dem angegebenen Zeitraum ein neues Passwort wählen.",
"DESC_PASSWORD_MAXIMUM_AGE": "Der Zeitraum, in dem ein Benutzer das Passwort ändern muss.",
"DESC_PASSWORD_BLACKLIST": "Eine Liste von Passwörtern, welche Benutzer nicht wählen können. Ein Passwort pro Zeile.",
"DESC_PASSWORD_FORCE_COMPLEX": "Gemäß der GMP-Regeln muss ein Passwort Großbuchstaben, Kleinbuchstaben, Sonderzeichen und Zahlen enthalten.",
"DESC_PASSWORD_HISTORY_SIZE": "Die Anzahl der vorherigen Passwörter, die gespeichert werden. Benutzer können keines ihrer letzten N Passwörter wiederverwenden. 0 deaktiviert die Passwort-Historie.",
"DESC_MAX_INVALID_LOGIN_ATTEMPTS": "Maximale Anzahl aufeinanderfolgender fehlerhafter Anmeldeversuche. Der Benutzer wird nach Erreichen dieser Grenze deaktiviert. 0 deaktiviert die Sperre.",
"DESC_EXCLUDE_SYSTEM_ADMINISTRATOR_FROM_LOCKOUT": "Der Account __SystemAdministrator bleibt auch nach Überschreiten der maximalen Anzahl fehlerhafter Anmeldeversuche aktiviert.",
"ENUM_NO_COMPLEXITY_RULES": "Keine",
"ENUM_GMP_COMPLEXITY_RULES": "GMP-Regeln",
"PASSWORD_MINIMUM_LENGTH": "Minimale Passwortlänge",
"PASSWORD_ENABLE_AGING": "Passwortalterung aktiv",
"PASSWORD_MAXIMUM_AGE": "Maximales Passwortalter",
"PASSWORD_BLACKLIST": "Passwort-Blacklist",
"PASSWORD_FORCE_COMPLEX": "Regeln für die Passwortkomplexität",
"PASSWORD_HISTORY_SIZE": "Passwort-Historie Größe",
"MAX_INVALID_LOGIN_ATTEMPTS": "Fehlversuche bis zur Deaktivierung",
"EXCLUDE_SYSTEM_ADMINISTRATOR_FROM_LOCKOUT": "__SystemAdministrator von Sperre ausnehmen",
"RULE_CONTAINS_UPPERCASE_CHARACTER": "Das Passwort muss mindestens einen Großbuchstaben enthalten",
"RULE_CONTAINS_LOWERCASE_CHARACTER": "Das Passwort muss mindestens einen Kleinbuchstaben enthalten",
"RULE_CONTAINS_DIGIT": "Das Passwort muss mindestens eine numerische Ziffer enthalten",
"RULE_CONTAINS_PUNCTUATION_CHARACTER": "Das Passwort muss mindestens ein Sonderzeichen enthalten",
"RULE_BLACKLIST": "Dieses Passwort ist auf der Blacklist",
"RULE_MINIMUM_LENGTH": "Das Passwort muss aus mindestens {0} Zeichen bestehen",
"USERMANAGEMENT_RESET_2FA": "2FA zurücksetzen",
"DESC_USERMANAGEMENT_RESET_2FA": "Beim nächsten Login muss der Benutzer 2FA neu konfigurieren",
"USERMANAGEMENT_2FA_RESET_CONFIRMATION": "Sind Sie sicher, dass sie die 2FA-Konfiguration des Benutzers zurücksetzen möchten? Dieser Schritt kann nicht rückgängig gemacht werden.",
"DESC_ENABLE_TWO_FACTOR_AUTHENTICATION": "Aktiviere Zwei-Faktor-Authentifizierung (2FA) mit zeitbasierten Einmalpasswörtern (TOTPs). Benutzer müssen 2FA bei ihrem nächsten Login einrichten.",
"ENABLE_TWO_FACTOR_AUTHENTICATION": "Zwei-Faktor-Authentifizierung erfordern",
"CONFIGURE_2FA": "Zwei-Faktor-Authentifizierung",
"2FA_NOT_AVAILABLE": "Zwei-Faktor-Authentifizierung ist für diesen Benutzer nicht verfügbar",
"ACTIVATE_2FA": "Zwei-Faktor-Authentifizierung aktivieren",
"2FA_CONFIGURED": "Zwei-Faktor-Authentifizierung ist bereits eingerichtet",
"DISABLE_2FA": "Zwei-Faktor-Authentifizierung deaktivieren",
"DISABLE_2FA_CONFIRM": "Sind Sie sicher, dass Sie die Zwei-Faktor-Authentifizierung deaktivieren möchten?",
"INVALID_PASSWORD_OR_CODE": "Ungültiges Passwort oder Code",
"UNKNOWN_ERROR": "Unbekannter Fehler, bitte versuchen Sie es erneut",
"ALWAYS_OFF_2FA": "Nie",
"ALWAYS_ON_2FA": "Immer",
"REMOTE_2FA": "Nur bei Remote-Verbindungen",
"MSG_USER_LOCKED_AFTER_FAILED_LOGINS": "Benutzer '{0}' nach {1} fehlgeschlagenen Anmeldungen (Grenze {2}) deaktiviert",
"MSG_USER_LOCK_FAILED_AFTER_FAILED_LOGINS": "Benutzer '{0}' konnte nach {1} fehlgeschlagenen Anmeldungen (Grenze {2}) nicht deaktiviert werden. Fehler: {3}"
}
}

View File

@@ -0,0 +1,74 @@
{
"locale": "en",
"localizedText": {
"ENABLED": "Enabled",
"USERS": "Users",
"DESC_USERS": "Contains the information about all managed user accounts.",
"PASSWORD": "Password",
"SALT": "Salt",
"SECRET": "Secret",
"ALGORITHM": "Algorithm",
"DESC_USER": "User value",
"USERMANAGEMENT_SEARCHTERM": "Search term",
"USERMANAGEMENT_USERNAME": "Username",
"USERMANAGEMENT_PASSWORD": "Password",
"USERMANAGEMENT_CURRENT_PASSWORD": "Current password",
"USERMANAGEMENT_CONFIRM": "Confirm",
"USERMANAGEMENT_PASSWORDS_DONT_MATCH": "Passwords do not match",
"USERMANAGEMENT_CHANGE_PASSWORD": "Change password",
"USER_MANAGEMENT_CHANGE_PASSWORD_FAILED": "Password could not be changed",
"USER_MANAGEMENT_COMMAND_FAILED": "User value could not be changed",
"USERMANAGEMENT_ADD": "Add",
"USERMANAGEMENT_DELETE": "Delete",
"USERMANAGEMENT_EDIT": "Edit",
"USERMANAGEMENT_ENABLE": "Enable",
"USERMANAGEMENT_DISABLE": "Disable",
"USERMANAGEMENT_FORCE_PASSWORD_CHANGE": "Force password change",
"USERMANAGEMENT_PASSWORD_CHANGE_REQUESTED": "The user has to change the password at the next login",
"DESC_USERMANAGEMENT_FORCE_PASSWORD_CHANGE": "Force password change at next login",
"USERMANAGEMENT_CONFIRM_DELETE_USER": "Please confirm that you wish to delete the user",
"MSG_ADDUSER_SUCCESS": "Successfully added user '{0}'",
"DESC_PASSWORD_MINIMUM_LENGTH": "The minimum length of passwords a user can choose.",
"DESC_PASSWORD_ENABLE_AGING": "If enabled the user has to choose a new password after the given timespan.",
"DESC_PASSWORD_MAXIMUM_AGE": "The period in which a user has to change the password.",
"DESC_PASSWORD_BLACKLIST": "A blacklist of passwords users cannot choose. One password per line.",
"DESC_PASSWORD_FORCE_COMPLEX": "According to GMP rules, a password must contain at least one uppercase character, lowercase character, special character, and numeric character.",
"DESC_PASSWORD_HISTORY_SIZE": "The number of previous passwords to remember. Users cannot reuse any of their last N passwords. Set to 0 to disable password history.",
"DESC_MAX_INVALID_LOGIN_ATTEMPTS": "Maximum number of consecutive invalid login attempts allowed. The user will be disabled after reaching this limit. Set to 0 to disable the lockout.",
"DESC_EXCLUDE_SYSTEM_ADMINISTRATOR_FROM_LOCKOUT": "Keep the __SystemAdministrator account enabled even after exceeding the maximum number of invalid login attempts.",
"ENUM_NO_COMPLEXITY_RULES": "None",
"ENUM_GMP_COMPLEXITY_RULES": "GMP rules",
"PASSWORD_MINIMUM_LENGTH": "Minimum length of passwords",
"PASSWORD_ENABLE_AGING": "Password aging enabled",
"PASSWORD_MAXIMUM_AGE": "Maximum age for passwords",
"PASSWORD_BLACKLIST": "Password blacklist",
"PASSWORD_FORCE_COMPLEX": "Enforce password complexity rules",
"PASSWORD_HISTORY_SIZE": "Password history size",
"MAX_INVALID_LOGIN_ATTEMPTS": "Invalid login attempts before disabling user",
"EXCLUDE_SYSTEM_ADMINISTRATOR_FROM_LOCKOUT": "Exclude __SystemAdministrator from lockout",
"RULE_CONTAINS_UPPERCASE_CHARACTER": "The password must contain at least one uppercase character",
"RULE_CONTAINS_LOWERCASE_CHARACTER": "The password must contain at least one lowercase character",
"RULE_CONTAINS_DIGIT": "The password must contain at least one numeric character",
"RULE_CONTAINS_PUNCTUATION_CHARACTER": "The password must contain at least one special character",
"RULE_BLACKLIST": "This password is blacklisted",
"RULE_MINIMUM_LENGTH": "The password must consist of at least {0} characters",
"USERMANAGEMENT_RESET_2FA": "Reset 2FA",
"DESC_USERMANAGEMENT_RESET_2FA": "User must reconfigure 2FA at the next login",
"USERMANAGEMENT_2FA_RESET_CONFIRMATION": "Are you sure you want to reset the user's 2FA configuration? This action cannot be undone.",
"DESC_ENABLE_TWO_FACTOR_AUTHENTICATION": "Enable Two-Factor Authentication (2FA) with Time-Based One-Time Passwords (TOTPs). Users will be required to set up 2FA during their next login.",
"ENABLE_TWO_FACTOR_AUTHENTICATION": "Require Two-Factor Authentication",
"CONFIGURE_2FA": "Two-Factor Authentication",
"2FA_NOT_AVAILABLE": "Two-Factor Authentication is not available for this user",
"ACTIVATE_2FA": "Activate Two-Factor Authentication",
"2FA_CONFIGURED": "Two-Factor Authentication is already set up",
"DISABLE_2FA": "Deactivate Two-Factor Authentication",
"DISABLE_2FA_CONFIRM": "Are you sure you want to deactivate Two-Factor Authentication?",
"INVALID_PASSWORD_OR_CODE": "Invalid password or code",
"UNKNOWN_ERROR": "Unknown error, please try again later",
"ALWAYS_OFF_2FA": "Never",
"ALWAYS_ON_2FA": "Always",
"REMOTE_2FA": "Only for remote connections",
"MSG_USER_LOCKED_AFTER_FAILED_LOGINS": "Disabled user '{0}' after {1} invalid login attempts (limit {2})",
"MSG_USER_LOCK_FAILED_AFTER_FAILED_LOGINS": "Failed to disable user '{0}' after {1} invalid login attempts (limit {2}). Error: {3}"
}
}

View File

@@ -0,0 +1,250 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"USERS": {
"configDescription": "DESC_USERS",
"type": "object",
"visibility": "AlwaysHide",
"additionalProperties": {
"type": "object",
"configDescription": "DESC_USER",
"properties": {
"PASSWORD": {
"type": "string",
"default": ""
},
"SALT": {
"type": "string",
"format": "base64",
"default": ""
},
"ALGORITHM": {
"type": "integer",
"default": 0,
"enum": [
0,
1
],
"options": [
{
"label": "SHA256",
"value": 0
},
{
"label": "PBKDF2-HMAC-64-SHA512-1000",
"value": 1
}
]
},
"SECRET": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"iv": {
"type": "string"
},
"algorithm": {
"type": "integer",
"default": 0,
"enum": [
0
],
"options": [
{
"label": "SHA1",
"value": 0
}
]
},
"configuration": {
"type": "integer",
"default": 0,
"enum": [
0
],
"options": [
{
"label": "google-authenticator",
"value": 0
}
]
}
}
},
"TWO_FACTOR_AUTHENTICATION_ENABLED": {
"type": "boolean",
"default": false
},
"ENABLED": {
"type": "boolean",
"default": true
},
"LAST_PASSWORD_CHANGE": {
"type": "string",
"format": "date-time"
},
"PASSWORD_HISTORY": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hash": {
"type": "string"
},
"salt": {
"type": "string",
"format": "base64"
},
"algorithm": {
"type": "integer",
"enum": [
0,
1
]
}
},
"required": [
"hash",
"salt",
"algorithm"
]
},
"default": []
}
},
"additionalProperties": false,
"required": [
"PASSWORD",
"SALT",
"ALGORITHM",
"ENABLED",
"TWO_FACTOR_AUTHENTICATION_ENABLED"
]
},
"default": {
"__SystemGuest": {
"PASSWORD": "",
"SALT": "",
"ENABLED": true
},
"__SystemUser": {
"PASSWORD": "",
"SALT": "",
"ENABLED": true
},
"__SystemAdministrator": {
"PASSWORD": "",
"SALT": "",
"ENABLED": false
}
},
"required": [
"__SystemAdministrator"
]
},
"PASSWORD_MINIMUM_LENGTH": {
"configDescription": "DESC_PASSWORD_MINIMUM_LENGTH",
"type": "integer",
"minimum": 1,
"default": 1
},
"PASSWORD_ENABLE_AGING": {
"configDescription": "DESC_PASSWORD_ENABLE_AGING",
"type": "boolean",
"default": false
},
"PASSWORD_MAXIMUM_AGE": {
"configDescription": "DESC_PASSWORD_MAXIMUM_AGE",
"type": "string",
"format": "timespan",
"default": "P90D"
},
"PASSWORD_BLACKLIST": {
"configDescription": "DESC_PASSWORD_BLACKLIST",
"type": "string",
"format": "multiline",
"default": ""
},
"PASSWORD_FORCE_COMPLEX": {
"configDescription": "DESC_PASSWORD_FORCE_COMPLEX",
"type": "integer",
"default": 0,
"enum": [
0,
1
],
"options": [
{
"label": "ENUM_NO_COMPLEXITY_RULES",
"value": 0
},
{
"label": "ENUM_GMP_COMPLEXITY_RULES",
"value": 1
}
]
},
"PASSWORD_HISTORY_SIZE": {
"configDescription": "DESC_PASSWORD_HISTORY_SIZE",
"type": "integer",
"minimum": 0,
"maximum": 10000,
"default": 0,
"visibility": "HideInEngineering"
},
"MAX_INVALID_LOGIN_ATTEMPTS": {
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT"
}
],
"description": "DESC_MAX_INVALID_LOGIN_ATTEMPTS",
"visibility": "HideInEngineering",
"default": 0
},
"EXCLUDE_SYSTEM_ADMINISTRATOR_FROM_LOCKOUT": {
"description": "DESC_EXCLUDE_SYSTEM_ADMINISTRATOR_FROM_LOCKOUT",
"type": "boolean",
"default": false,
"visibility": "HideInEngineering"
},
"ENABLE_TWO_FACTOR_AUTHENTICATION": {
"configDescription": "DESC_ENABLE_TWO_FACTOR_AUTHENTICATION",
"type": "integer",
"enum": [
0,
1,
2
],
"options": [
{
"label": "ALWAYS_OFF_2FA",
"value": 0
},
{
"label": "ALWAYS_ON_2FA",
"value": 1
},
{
"label": "REMOTE_2FA",
"value": 2
}
]
}
},
"additionalProperties": false,
"type": "object",
"required": [
"USERS",
"PASSWORD_MINIMUM_LENGTH",
"PASSWORD_ENABLE_AGING",
"PASSWORD_MAXIMUM_AGE",
"PASSWORD_BLACKLIST",
"PASSWORD_FORCE_COMPLEX",
"PASSWORD_HISTORY_SIZE",
"MAX_INVALID_LOGIN_ATTEMPTS",
"EXCLUDE_SYSTEM_ADMINISTRATOR_FROM_LOCKOUT"
]
}