Files
infineon_plc/Packages/Beckhoff.TwinCAT.HMI.Controls.14.4.1/runtimes/native1.12-tchmi/TcHmiKeyboard/Description.json
m.heisig 2d11c43579 Added minimal functionality for Robot teaching
- Added minimal HMI
- Added possibility to open and close all chamber doors
2026-01-17 09:20:39 +01:00

795 lines
31 KiB
JSON

{
"$schema": "../../TcHmiFramework/Schema/ControlDescription.Schema.json",
"apiVersion": 1,
"name": "TcHmiKeyboard",
"namespace": "TcHmi.Controls.Beckhoff",
"displayName": "Keyboard",
"version": {
"full": "14.4.1.0",
"major": 14,
"minor": 4,
"build": 1,
"revision": 0
},
"visible": true,
"themeable": "Standard",
"base": "TcHmi.Controls.System.TcHmiControl",
"description": "An on-screen Keyboard.",
"defaultDesignerEvent": "",
"properties": {
"containerControl": false,
"geometry": {
"width": 790,
"height": 250
}
},
"icons": [
{
"name": "Icons/16x16.png",
"width": 16,
"height": 16
}
],
"template": "Template.html",
"dependencyFiles": [
{
"name": "Style.css",
"type": "Stylesheet",
"description": ""
},
{
"name": "../dist/UiProvider/loader.esm.js",
"type": "EsModule",
"description": "Load corresponding UI Provider module (and perhaps others, too :-)"
},
{
"name": "../dist/TcHmiKeyboard/TcHmiKeyboard.esm.js",
"type": "EsModule",
"description": "Contains all the main logic as ES module."
}
],
"themes": {
"Base": {
"resources": [
{
"name": "Themes/Base/Style.css",
"type": "Stylesheet",
"description": ""
}
]
},
"Base-Dark": {
"resources": [
{
"name": "Themes/Base-Dark/Style.css",
"type": "Stylesheet",
"description": ""
}
]
}
},
"attributes": [
{
"name": "data-tchmi-width-mode",
"propertyName": "WidthMode",
"propertySetterName": "setWidthMode",
"propertyGetterName": "getWidthMode",
"displayName": "Width Mode",
"visible": true,
"themeable": "Advanced",
"displayPriority": 40,
"type": "tchmi:framework#/definitions/SizeModeWithContent",
"category": "Layout",
"description": "Defines wether the control width is applied as configured via the width attribute or automatically adjusts to fill the parent or fit the displayed keyboard layout.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Value"
},
{
"name": "data-tchmi-height-mode",
"propertyName": "HeightMode",
"propertySetterName": "setHeightMode",
"propertyGetterName": "getHeightMode",
"displayName": "Height Mode",
"visible": true,
"themeable": "Advanced",
"displayPriority": 40,
"type": "tchmi:framework#/definitions/SizeModeWithContent",
"category": "Layout",
"description": "Defines wether the control height is applied as configured via the height attribute or automatically adjusts to fill the parent or fit the displayed keyboard layout.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Value"
},
{
"name": "data-tchmi-layout-file",
"propertyName": "LayoutFile",
"propertySetterName": "setLayoutFile",
"propertyGetterName": "getLayoutFile",
"displayName": "Layout File",
"visible": true,
"themeable": "Advanced",
"displayPriority": 10,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiKeyboard.ProjectKeyboardLayouts",
"category": "Common",
"description": "Path to a layout JSON file in the project.\nThis overrides Layout.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": "KeyboardLayouts/US - compact.keyboard.json",
"defaultValueInternal": null
},
{
"name": "data-tchmi-scale-mode",
"propertyName": "ScaleMode",
"propertySetterName": "setScaleMode",
"propertyGetterName": "getScaleMode",
"displayName": "Scale Mode",
"visible": true,
"themeable": "Advanced",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/ScaleMode",
"category": "Common",
"description": "Scale the content to control size. Alternatively, the control size can be set to the size of the displayed layout using WidthMode and HeightMode.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": "ScaleToFit",
"defaultValueInternal": "None"
},
{
"name": "data-tchmi-fixed-target",
"propertyName": "FixedTarget",
"propertySetterName": "setFixedTarget",
"propertyGetterName": "getFixedTarget",
"displayName": "Fixed Target",
"visible": true,
"themeable": "Advanced",
"displayPriority": 10,
"type": "tchmi:general#/definitions/String",
"category": "Behaviour",
"description": "Set this to the name of a control to always send input to that control, regardless of focus.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": ""
},
{
"name": "data-tchmi-release-sticky-keys-manually",
"propertyName": "ReleaseStickyKeysManually",
"propertySetterName": "setReleaseStickyKeysManually",
"propertyGetterName": "getReleaseStickyKeysManually",
"displayName": "Release Sticky Keys Manually",
"visible": true,
"themeable": "Advanced",
"displayPriority": 20,
"type": "tchmi:general#/definitions/Boolean",
"category": "Behaviour",
"description": "Whether to require an explicit keypress on a sticky key to release it, or release it automatically after a character was typed.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": false
},
{
"name": "data-tchmi-input-hints-validation",
"propertyName": "InputHintsValidation",
"propertySetterName": "setInputHintsValidation",
"propertyGetterName": "getInputHintsValidation",
"displayName": "Input Hints Validation",
"visible": true,
"themeable": "Advanced",
"displayPriority": 30,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiKeyboard.ValidationLevel",
"category": "Behaviour",
"description": "How to validate input hints, which can be specified with the data-tchmikeyboard-min and data-tchmikeyboard-max attributes on input elements.\n\"None\": No validation is performed.\n\"HighlightHints\": Input hints that are violated by the currently entered value are highlighted in red.\n\"DisableAccept\": In addition to the highlighting, the accept key is disabled.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "DisableAccept"
},
{
"name": "data-tchmi-pressed-keys",
"propertyName": "PressedKeys",
"propertyGetterName": "getPressedKeys",
"displayName": "Pressed Keys",
"visible": true,
"type": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiKeyboard.KeyList",
"category": "Behaviour",
"description": "Currently pressed keys.",
"readOnly": true,
"bindable": false,
"defaultBindingMode": "OneWay",
"heritable": true
},
{
"name": "data-tchmi-longpress-delay",
"propertyName": "LongpressDelay",
"propertySetterName": "setLongpressDelay",
"propertyGetterName": "getLongpressDelay",
"displayName": "Longpress Delay",
"visible": true,
"themeable": "Advanced",
"displayPriority": 60,
"type": "tchmi:general#/definitions/Number",
"category": "Behaviour",
"description": "The time in milliseconds before the longpress action is triggered.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": 300
},
{
"name": "data-tchmi-repetition-delay",
"propertyName": "RepetitionDelay",
"propertySetterName": "setRepetitionDelay",
"propertyGetterName": "getRepetitionDelay",
"displayName": "Repetition Delay",
"visible": true,
"themeable": "Advanced",
"displayPriority": 60,
"type": "tchmi:general#/definitions/Number",
"category": "Behaviour",
"description": "The time in milliseconds between repeated kepresses when the longpress action is repetition.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": 50
},
{
"name": "data-tchmi-indirect-input-horizontal-alignment",
"propertyName": "IndirectInputHorizontalAlignment",
"propertySetterName": "setIndirectInputHorizontalAlignment",
"propertyGetterName": "getIndirectInputHorizontalAlignment",
"displayName": "Indirect Input Horizontal Alignment",
"visible": true,
"themeable": "Standard",
"displayPriority": 30,
"type": "tchmi:framework#/definitions/HorizontalAlignment",
"category": "Indirect Input",
"description": "The horizontal alignment of text in the indirect input textbox.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Left"
},
{
"name": "data-tchmi-indirect-input-font-size",
"propertyName": "IndirectInputFontSize",
"propertySetterName": "setIndirectInputFontSize",
"propertyGetterName": "getIndirectInputFontSize",
"displayName": "Indirect Input Font Size",
"visible": true,
"themeable": "Standard",
"displayPriority": 40,
"type": "tchmi:framework#/definitions/MeasurementValue",
"category": "Indirect Input",
"description": "The font size of the indirect input textbox.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-indirect-input-font-size-unit",
"propertyName": "IndirectInputFontSizeUnit",
"propertySetterName": "setIndirectInputFontSizeUnit",
"propertyGetterName": "getIndirectInputFontSizeUnit",
"displayName": "Indirect Input Font Size Unit",
"refTo": "IndirectInputFontSize",
"visible": true,
"themeable": "Standard",
"displayPriority": 40,
"type": "tchmi:framework#/definitions/MeasurementUnit",
"category": "Indirect Input",
"description": "The font size unit of the indirect input textbox.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "px"
},
{
"name": "data-tchmi-indirect-input-padding",
"propertyName": "IndirectInputPadding",
"propertySetterName": "setIndirectInputPadding",
"propertyGetterName": "getIndirectInputPadding",
"displayName": "Indirect Input Padding",
"visible": true,
"themeable": "Advanced",
"displayPriority": 110,
"type": "tchmi:framework#/definitions/Padding",
"category": "Indirect Input",
"description": "The padding of the indirect input textbox.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": {
"top": 3,
"right": 3,
"bottom": 3,
"left": 3
},
"defaultValueInternal": null
},
{
"name": "data-tchmi-label-font-family",
"propertyName": "LabelFontFamily",
"propertySetterName": "setLabelFontFamily",
"propertyGetterName": "getLabelFontFamily",
"displayName": "Label Font Family",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontFamily",
"category": "Labels",
"description": "Comma separated list of family name or keyword: 'serif', 'sans-serif', 'monospace'.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-label-font-size",
"propertyName": "LabelFontSize",
"propertySetterName": "setLabelFontSize",
"propertyGetterName": "getLabelFontSize",
"displayName": "Label Font Size",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/MeasurementValue",
"category": "Labels",
"description": "The size of the font. Percent values are relative to the parent elements font size.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": 14,
"defaultValueInternal": 12
},
{
"name": "data-tchmi-label-font-size-unit",
"propertyName": "LabelFontSizeUnit",
"propertySetterName": "setLabelFontSizeUnit",
"propertyGetterName": "getLabelFontSizeUnit",
"refTo": "LabelFontSize",
"displayName": "Label Font Size Unit",
"visible": true,
"themeable": "Advanced",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/MeasurementUnit",
"category": "Labels",
"description": "Could be 'px' or for relative sizing '%'.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "px"
},
{
"name": "data-tchmi-label-font-style",
"propertyName": "LabelFontStyle",
"propertySetterName": "setLabelFontStyle",
"propertyGetterName": "getLabelFontStyle",
"displayName": "Label Font Style",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontStyle",
"category": "Labels",
"description": "'Normal', 'Italic' (slanted with special glyphs), 'Oblique' (slanted normal glyphs) or 'Auto' for inherited.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Auto"
},
{
"name": "data-tchmi-label-font-weight",
"propertyName": "LabelFontWeight",
"propertySetterName": "setLabelFontWeight",
"propertyGetterName": "getLabelFontWeight",
"displayName": "Label Font Weight",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/FontWeight",
"category": "Labels",
"description": "'Normal', 'Bold' (glyphs with more weight) or 'Auto' for inherited.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": "Auto"
},
{
"name": "data-tchmi-label-stroke-thickness",
"propertyName": "LabelStrokeThickness",
"propertySetterName": "setLabelStrokeThickness",
"propertyGetterName": "getLabelStrokeThickness",
"displayName": "Label Stroke Thickness",
"visible": true,
"themeable": "Standard",
"displayPriority": 30,
"type": "tchmi:general#/definitions/Number",
"category": "Labels",
"description": "How thick to stroke graphical labels.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-keyboard-padding",
"propertyName": "KeyboardPadding",
"propertySetterName": "setKeyboardPadding",
"propertyGetterName": "getKeyboardPadding",
"displayName": "Keyboard Padding",
"visible": true,
"themeable": "Standard",
"displayPriority": 51,
"type": "tchmi:framework#/definitions/PixelPadding",
"category": "Layout",
"description": "Padding of the whole keyboard",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": {
"top": 10,
"topUnit": "px",
"right": 10,
"rightUnit": "px",
"bottom": 10,
"bottomUnit": "px",
"left": 10,
"leftUnit": "px"
},
"defaultValueInternal": null
},
{
"name": "data-tchmi-key-padding",
"propertyName": "KeyPadding",
"propertySetterName": "setKeyPadding",
"propertyGetterName": "getKeyPadding",
"displayName": "Key Padding",
"visible": true,
"themeable": "Standard",
"displayPriority": 51,
"type": "tchmi:framework#/definitions/Padding",
"category": "Layout",
"description": "Padding of the individual keys",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": {
"top": 4,
"topUnit": "px",
"right": 4,
"rightUnit": "px",
"bottom": 4,
"bottomUnit": "px",
"left": 4,
"leftUnit": "px"
},
"defaultValueInternal": null
},
{
"name": "data-tchmi-additional-key-backdrop-padding",
"propertyName": "AdditionalKeyBackdropPadding",
"propertySetterName": "setAdditionalKeyBackdropPadding",
"propertyGetterName": "getAdditionalKeyBackdropPadding",
"displayName": "Additional Key Backdrop Padding",
"visible": true,
"themeable": "Standard",
"displayPriority": 51,
"type": "tchmi:framework#/definitions/Padding",
"category": "Layout",
"description": "Padding of the backdrop behind additional keys",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": {
"top": 10,
"topUnit": "px",
"right": 10,
"rightUnit": "px",
"bottom": 10,
"bottomUnit": "px",
"left": 10,
"leftUnit": "px"
},
"defaultValueInternal": null
},
{
"name": "data-tchmi-key-background-color",
"propertyName": "KeyBackgroundColor",
"propertySetterName": "setKeyBackgroundColor",
"propertyGetterName": "getKeyBackgroundColor",
"displayName": "Key Background Color",
"visible": true,
"themeable": "Standard",
"displayPriority": 20,
"type": "tchmi:framework#/definitions/Color",
"category": "Colors",
"description": "The background color of the keys.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-label-color",
"propertyName": "LabelColor",
"propertySetterName": "setLabelColor",
"propertyGetterName": "getLabelColor",
"displayName": "Label Color",
"visible": true,
"themeable": "Standard",
"displayPriority": 20,
"type": "tchmi:framework#/definitions/SolidColor",
"category": "Colors",
"description": "The font color of text labels.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-label-stroke-color",
"propertyName": "LabelStrokeColor",
"propertySetterName": "setLabelStrokeColor",
"propertyGetterName": "getLabelStrokeColor",
"displayName": "Label Stroke Color",
"visible": true,
"themeable": "Standard",
"displayPriority": 20,
"type": "tchmi:framework#/definitions/SolidColor",
"category": "Colors",
"description": "The stroke color of graphical symbols.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-label-fill-color",
"propertyName": "LabelFillColor",
"propertySetterName": "setLabelFillColor",
"propertyGetterName": "getLabelFillColor",
"displayName": "Label Fill Color",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/Color",
"category": "Colors",
"description": "The fill color of graphical symbols.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "data-tchmi-additional-key-backdrop-color",
"propertyName": "AdditionalKeyBackdropColor",
"propertySetterName": "setAdditionalKeyBackdropColor",
"propertyGetterName": "getAdditionalKeyBackdropColor",
"displayName": "Additional Key Backdrop Color",
"visible": true,
"themeable": "Standard",
"displayPriority": 60,
"type": "tchmi:framework#/definitions/Color",
"category": "Colors",
"description": "The background color of the backdrop behind additional keys.",
"readOnly": false,
"bindable": true,
"defaultBindingMode": "OneWay",
"heritable": true,
"allowSymbolExpressionsInObject": true,
"defaultValue": null,
"defaultValueInternal": null
}
],
"attributeCategories": [
{
"name": "Behaviour",
"displayPriority": 500,
"defaultCollapsed": true,
"description": "Attributes defining the behaviour of the control."
},
{
"name": "Indirect Input",
"displayPriority": 140,
"defaultCollapsed": true,
"description": "Attributes controlling the indirect input mode via a textbox owned by the keyboard."
},
{
"name": "Labels",
"displayPriority": 150,
"defaultCollapsed": true,
"description": "Attributes defining the labels of the control."
}
],
"functions": [],
"events": [
{
"name": ".onKeyPressStarted",
"displayName": ".onKeyPressStarted",
"visible": true,
"displayPriority": 10,
"category": "Control",
"description": "The onKeyPressStarted event is fired when the user presses down a key.",
"heritable": true,
"arguments": [
{
"type": "tchmi:framework#/definitions/TcHmiKeyboardKeyPressedEventObjects",
"description": "The event object containing information about the pressed keys."
}
]
},
{
"name": ".onKeyPressCanceled",
"displayName": ".onKeyPressCanceled",
"visible": true,
"displayPriority": 11,
"category": "Control",
"description": "The onKeyPressCanceled event is fired when the user cancels a key press by moving the pointer off the key.",
"heritable": true,
"arguments": [
{
"type": "tchmi:framework#/definitions/TcHmiKeyboardKeyPressedEventObjects",
"description": "The event object containing information about the released keys."
}
]
},
{
"name": ".onKeyPressFinished",
"displayName": ".onKeyPressFinished",
"visible": true,
"displayPriority": 12,
"category": "Control",
"description": "The onKeyPressFinished event is fired when the user finishes pressing a key by releasing a key that was pressed before.",
"heritable": true,
"arguments": [
{
"type": "tchmi:framework#/definitions/TcHmiKeyboardKeyPressedEventObjects",
"description": "The event object containing information about the released keys."
}
]
},
{
"name": ".onKeyPressEnded",
"displayName": ".onKeyPressEnded",
"visible": true,
"displayPriority": 13,
"category": "Control",
"description": "The onKeyPressEnded event is fired after a key press is finished or canceled.",
"heritable": true,
"arguments": [
{
"type": "tchmi:framework#/definitions/TcHmiKeyboardKeyPressedEventObjects",
"description": "The event object containing information about the released keys."
}
]
},
{
"name": ".onIndirectInputAccepted",
"displayName": ".onIndirectInputAccepted",
"visible": true,
"displayPriority": 14,
"category": "Control",
"description": "The onIndirectInputAccepted event is fired when the user accepts the indirect input.",
"heritable": true,
"arguments": [
{
"type": "tchmi:general#/definitions/String",
"description": "The new indirect input value."
}
]
},
{
"name": ".onIndirectInputCanceled",
"displayName": ".onIndirectInputCanceled",
"visible": true,
"displayPriority": 15,
"category": "Control",
"description": "The onIndirectInputCanceled event is fired when the user cancels the indirect input.",
"heritable": true,
"arguments": [
{
"type": "tchmi:general#/definitions/String",
"description": "The canceled indirect input value."
}
]
},
{
"name": ".onLayoutLoaded",
"displayName": ".onLayoutLoaded",
"visible": true,
"displayPriority": 16,
"category": "Control",
"description": "The onLayoutLoaded event is fired when the layout file was fetched, parsed and the keys were created.",
"heritable": true,
"arguments": [
{
"type": "tchmi:framework#/definitions/TcHmiKeyboardLayoutFileEventObject",
"description": "The event object containing information about the layout."
}
]
},
{
"name": ".onLayoutActivated",
"displayName": ".onLayoutActivated",
"visible": true,
"displayPriority": 17,
"category": "Control",
"description": "The onLayoutActivated event is fired when one of the layouts in the current layout file is activated.",
"heritable": true,
"arguments": [
{
"type": "tchmi:framework#/definitions/TcHmiKeyboardLayoutEventObject",
"description": "The event object containing information about the layout."
}
]
}
],
"dataTypes": [
{
"schema": "Schema/Types.Schema.json"
}
],
"languages": {
"en": "Lang/Language.en.json",
"de": "Lang/Language.de.json"
}
}