This is an automated email from the ASF dual-hosted git repository.

ljmotta pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-tools.git


The following commit(s) were added to refs/heads/main by this push:
     new db8ace11e13 kie-issues#3294: i18n generic type is allowing properties 
that are not part of the type (#3305)
db8ace11e13 is described below

commit db8ace11e138dd7e68bb52986714d860419c1abe
Author: Kusuma04-dev <[email protected]>
AuthorDate: Tue Oct 21 00:08:10 2025 +0530

    kie-issues#3294: i18n generic type is allowing properties that are not part 
of the type (#3305)
    
    Co-authored-by: Kusuma <[email protected]>
---
 .../src/i18n/BoxedExpressionEditorI18n.ts          |  261 ++---
 .../src/app/i18n/ChromeExtensionI18n.ts            |   75 +-
 .../src/i18n/AppI18n.ts                            |   27 +-
 .../src/i18n/DmnFormI18n.ts                        |   35 +-
 .../src/i18n/DmnEditorEnvelopeI18n.ts              |   61 +-
 packages/dmn-editor/src/i18n/DmnEditorI18n.ts      |  682 ++++++-------
 packages/dmn-editor/src/i18n/locales/en.ts         |    1 +
 .../editor/src/envelope/i18n/EditorEnvelopeI18n.ts |   35 +-
 .../src/i18n/FeelInputComponentI18n.ts             |  308 +++---
 .../src/i18n/FormCodeGeneratorI18n.ts              |   35 +-
 packages/form/src/i18n/FormI18n.ts                 |   41 +-
 packages/i18n-common-dictionary/src/CommonI18n.ts  |    9 +-
 packages/i18n/src/core/Dictionary.ts               |   20 +-
 packages/i18n/src/core/I18n.ts                     |    2 +-
 packages/i18n/src/core/Wrapped.ts                  |    4 +-
 packages/i18n/src/core/immutableDeepMerge.ts       |   18 +-
 packages/i18n/src/react-components/I18nContext.ts  |    2 +-
 .../react-components/I18nDictionariesProvider.tsx  |    4 +-
 packages/i18n/tests/core/I18n.test.ts              |   11 +-
 packages/i18n/tests/utils.tsx                      |   21 +-
 .../src/i18n/ImportJavaClassesWizardI18n.ts        |   61 +-
 .../src/common/i18n/KieBcEditorsI18n.ts            |    7 +-
 packages/online-editor/src/i18n/OnlineI18n.ts      | 1001 ++++++++++----------
 packages/online-editor/src/i18n/locales/en.ts      |    8 +
 .../src/i18n/ScesimEditorEnvelopeI18n.ts           |   13 +-
 .../src/i18n/TestScenarioEditorI18n.ts             |  287 +++---
 .../serverless-logic-web-tools/src/i18n/AppI18n.ts |  167 ++--
 .../unitables-dmn/src/i18n/DmnUnitablesI18n.ts     |   11 +-
 packages/unitables/src/i18n/UnitablesI18n.ts       |   27 +-
 packages/vscode-extension/src/i18n/VsCodeI18n.ts   |   19 +-
 .../i18n/NotificationsApiVsCodeI18nDictionary.ts   |    7 +-
 packages/yard-editor/src/i18n/YardEditorI18n.ts    |   43 +-
 32 files changed, 1683 insertions(+), 1620 deletions(-)

diff --git 
a/packages/boxed-expression-component/src/i18n/BoxedExpressionEditorI18n.ts 
b/packages/boxed-expression-component/src/i18n/BoxedExpressionEditorI18n.ts
index 5f27efec62b..b3fffa1d365 100644
--- a/packages/boxed-expression-component/src/i18n/BoxedExpressionEditorI18n.ts
+++ b/packages/boxed-expression-component/src/i18n/BoxedExpressionEditorI18n.ts
@@ -20,137 +20,142 @@
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 
-interface BoxedExpressionEditorDictionary extends ReferenceDictionary {
-  addParameter: string;
-  builtInAggregator: string;
-  builtInAggregatorHelp: {
-    sum: string;
-    count: string;
-    min: string;
-    max: string;
-    none: string;
-  };
-  choose: string;
-  columns: string;
-  columnOperations: {
-    delete: string;
-    insertLeft: string;
-    insertRight: string;
-  };
-  class: string;
-  context: string;
-  contextEntry: string;
-  dataType: string;
-  dataTypeDropDown: {
-    builtIn: string;
-    custom: string;
-  };
-  decisionRule: string;
-  decisionTable: string;
-  document: string;
-  editClause: {
-    input: string;
-    output: string;
-  };
-  editContextEntry: string;
-  editParameter: string;
-  editRelation: string;
-  enterFunction: string;
-  enterText: string;
-  expression: string;
-  delete: string;
-  function: string;
-  hitPolicy: string;
-  hitPolicyHelp: {
-    unique: string;
-    first: string;
-    priority: string;
-    any: string;
-    collect: string;
-    ruleOrder: string;
-    outputOrder: string;
-  };
-  inputClause: string;
-  invocation: string;
-  insert: string;
-  insertDirections: {
-    toTheRight: string;
-    toTheLeft: string;
-    above: string;
-    below: string;
-  };
-  list: string;
-  literal: string;
-  manage: string;
-  methodSignature: string;
-  model: string;
-  name: string;
-  noParametersDefined: string;
-  parameters: string;
-  outputClause: string;
-  pmml: {
-    firstSelection: string;
-    secondSelection: string;
-  };
-  relation: string;
-  rows: string;
-  rowOperations: {
-    reset: string;
-    delete: string;
-    duplicate: string;
-    insertAbove: string;
-    insertBelow: string;
-  };
-  ruleAnnotation: string;
-  selectExpression: string;
-  selectLogicType: string;
-  contextExpression: {
-    variable: string;
-    expression: string;
-  };
-  yourAnnotationsHere: string;
-  hitPolicyLabel: string;
-  aggregatorFunction: string;
-  logicTypeHelp: {
-    literal: string;
+interface BoxedExpressionEditorDictionary
+  extends ReferenceDictionary<{
+    addParameter: string;
+    builtInAggregator: string;
+    builtInAggregatorHelp: {
+      sum: string;
+      count: string;
+      min: string;
+      max: string;
+      none: string;
+    };
+    choose: string;
+    columns: string;
+    columnOperations: {
+      delete: string;
+      insertLeft: string;
+      insertRight: string;
+    };
+    class: string;
     context: string;
+    contextEntry: string;
+    dataType: string;
+    dataTypeDropDown: {
+      builtIn: string;
+      custom: string;
+    };
+    decisionRule: string;
     decisionTable: string;
-    relation: string;
-    functionDefinition: string;
+    document: string;
+    editClause: {
+      input: string;
+      output: string;
+    };
+    editContextEntry: string;
+    editExpression: string;
+    editHitPolicy: string;
+    editParameter: string;
+    editParameters: string;
+    editRelation: string;
+    enterFunction: string;
+    enterText: string;
+    expression: string;
+    delete: string;
+    function: string;
+    hitPolicy: string;
+    hitPolicyHelp: {
+      unique: string;
+      first: string;
+      priority: string;
+      any: string;
+      collect: string;
+      ruleOrder: string;
+      outputOrder: string;
+    };
+    inputClause: string;
     invocation: string;
+    insert: string;
+    insertDirections: {
+      toTheRight: string;
+      toTheLeft: string;
+      above: string;
+      below: string;
+    };
     list: string;
-    conditional: string;
-    for: string;
-    every: string;
-    some: string;
-    filter: string;
-  };
-  pasteOperationNotSuccessful: string;
-  functionKindHelp: {
-    feel: string;
-    pmml: string;
-    java: string;
-    notSupported: string;
-  };
-  label: string;
-  value: string;
-  classNameLabel: string;
-  methodSignatureLabel: string;
-  getLabelexample: (label: string) => string;
-  parameterNamePlaceholder: string;
-  noneSelected: string;
-  selectDocument: string;
-  parameter: string;
-  functionName: string;
-  child: string;
-  iterableRowLabel: {
-    for: string;
-    some: string;
-    every: string;
-    return: string;
-    in: string;
-    satisfies: string;
-  };
-}
+    literal: string;
+    manage: string;
+    methodSignature: string;
+    model: string;
+    name: string;
+    noParametersDefined: string;
+    parameters: string;
+    outputClause: string;
+    pmml: {
+      firstSelection: string;
+      secondSelection: string;
+    };
+    relation: string;
+    rows: string;
+    rowOperations: {
+      reset: string;
+      delete: string;
+      duplicate: string;
+      insertAbove: string;
+      insertBelow: string;
+    };
+    ruleAnnotation: string;
+    selectExpression: string;
+    selectFunctionKind: string;
+    selectLogicType: string;
+    contextExpression: {
+      variable: string;
+      expression: string;
+    };
+    yourAnnotationsHere: string;
+    hitPolicyLabel: string;
+    aggregatorFunction: string;
+    logicTypeHelp: {
+      literal: string;
+      context: string;
+      decisionTable: string;
+      relation: string;
+      functionDefinition: string;
+      invocation: string;
+      list: string;
+      conditional: string;
+      for: string;
+      every: string;
+      some: string;
+      filter: string;
+    };
+    pasteOperationNotSuccessful: string;
+    functionKindHelp: {
+      feel: string;
+      pmml: string;
+      java: string;
+      notSupported: string;
+    };
+    label: string;
+    value: string;
+    classNameLabel: string;
+    methodSignatureLabel: string;
+    getLabelexample: (label: string) => string;
+    parameterNamePlaceholder: string;
+    noneSelected: string;
+    selectDocument: string;
+    parameter: string;
+    functionName: string;
+    child: string;
+    iterableRowLabel: {
+      for: string;
+      some: string;
+      every: string;
+      return: string;
+      in: string;
+      satisfies: string;
+    };
+  }> {}
 
 export interface BoxedExpressionEditorI18n extends 
BoxedExpressionEditorDictionary, CommonI18n {}
diff --git a/packages/chrome-extension/src/app/i18n/ChromeExtensionI18n.ts 
b/packages/chrome-extension/src/app/i18n/ChromeExtensionI18n.ts
index 5562c42eefb..1271e2831a9 100644
--- a/packages/chrome-extension/src/app/i18n/ChromeExtensionI18n.ts
+++ b/packages/chrome-extension/src/app/i18n/ChromeExtensionI18n.ts
@@ -19,46 +19,47 @@
 
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 
-interface ChromeExtensionDictionary extends ReferenceDictionary {
-  openIn: (text: string) => string;
-  seeAsDiagram: string;
-  fullScreen: string;
-  reset: string;
-  note: string;
-  single: {
-    exitFullScreen: string;
-    editorToolbar: {
-      fixAndSeeAsDiagram: string;
-      errorOpeningFile: string;
-      seeAsSource: string;
-      copyLinkTo: (text: string) => string;
-      linkCopied: string;
-      readOnly: string;
-    };
-  };
-  pr: {
-    isolated: {
-      viewOriginal: string;
+interface ChromeExtensionDictionary
+  extends ReferenceDictionary<{
+    openIn: (text: string) => string;
+    seeAsDiagram: string;
+    fullScreen: string;
+    reset: string;
+    note: string;
+    single: {
+      exitFullScreen: string;
+      editorToolbar: {
+        fixAndSeeAsDiagram: string;
+        errorOpeningFile: string;
+        seeAsSource: string;
+        copyLinkTo: (text: string) => string;
+        linkCopied: string;
+        readOnly: string;
+      };
     };
-    toolbar: {
-      closeDiagram: string;
-      original: string;
-      changes: string;
+    pr: {
+      isolated: {
+        viewOriginal: string;
+      };
+      toolbar: {
+        closeDiagram: string;
+        original: string;
+        changes: string;
+      };
     };
-  };
-  common: {
-    menu: {
-      createToken: string;
-      placeYourToken: string;
-      tokenInfo: {
-        title: string;
-        disclaimer: string;
-        explanation: string;
-        whichPermissionUserGive: string;
-        permission: string;
+    common: {
+      menu: {
+        createToken: string;
+        placeYourToken: string;
+        tokenInfo: {
+          title: string;
+          disclaimer: string;
+          explanation: string;
+          whichPermissionUserGive: string;
+          permission: string;
+        };
       };
     };
-  };
-}
+  }> {}
 
 export interface ChromeExtensionI18n extends ChromeExtensionDictionary {}
diff --git a/packages/dashbuilder-viewer-deployment-webapp/src/i18n/AppI18n.ts 
b/packages/dashbuilder-viewer-deployment-webapp/src/i18n/AppI18n.ts
index c16c52f888e..edbc448d0cb 100644
--- a/packages/dashbuilder-viewer-deployment-webapp/src/i18n/AppI18n.ts
+++ b/packages/dashbuilder-viewer-deployment-webapp/src/i18n/AppI18n.ts
@@ -20,20 +20,21 @@
 import { ReferenceDictionary, Wrapped } from "@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 
-interface AppDictionary extends ReferenceDictionary {
-  masthead: {
-    disclaimer: {
-      title: string;
-      description: string;
+interface AppDictionary
+  extends ReferenceDictionary<{
+    masthead: {
+      disclaimer: {
+        title: string;
+        description: string;
+      };
     };
-  };
-  page: {
-    error: {
-      title: string;
-      explanation: string;
-      referToJira: Array<string | Wrapped<"jira">>;
+    page: {
+      error: {
+        title: string;
+        explanation: string;
+        referToJira: Array<string | Wrapped<"jira">>;
+      };
     };
-  };
-}
+  }> {}
 
 export interface AppI18n extends AppDictionary, CommonI18n {}
diff --git a/packages/dev-deployment-dmn-form-webapp/src/i18n/DmnFormI18n.ts 
b/packages/dev-deployment-dmn-form-webapp/src/i18n/DmnFormI18n.ts
index 56d26578e24..fb78041a3ec 100644
--- a/packages/dev-deployment-dmn-form-webapp/src/i18n/DmnFormI18n.ts
+++ b/packages/dev-deployment-dmn-form-webapp/src/i18n/DmnFormI18n.ts
@@ -20,26 +20,27 @@
 import { ReferenceDictionary, Wrapped } from "@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 
-interface DmnFormDictionary extends ReferenceDictionary {
-  formToolbar: {
-    disclaimer: {
-      title: string;
-      description: string;
+interface DmnFormDictionary
+  extends ReferenceDictionary<{
+    formToolbar: {
+      disclaimer: {
+        title: string;
+        description: string;
+      };
+    };
+    page: {
+      error: {
+        title: string;
+        explanation: string;
+        dmnNotSupported: string;
+        uploadFiles: string;
+        referToJira: Array<string | Wrapped<"jira">>;
+      };
     };
-  };
-  page: {
     error: {
       title: string;
-      explanation: string;
-      dmnNotSupported: string;
-      uploadFiles: string;
-      referToJira: Array<string | Wrapped<"jira">>;
+      notFound: string;
     };
-  };
-  error: {
-    title: string;
-    notFound: string;
-  };
-}
+  }> {}
 
 export interface DmnFormI18n extends DmnFormDictionary, CommonI18n {}
diff --git a/packages/dmn-editor-envelope/src/i18n/DmnEditorEnvelopeI18n.ts 
b/packages/dmn-editor-envelope/src/i18n/DmnEditorEnvelopeI18n.ts
index 3c2cf57bbb0..13791da764f 100644
--- a/packages/dmn-editor-envelope/src/i18n/DmnEditorEnvelopeI18n.ts
+++ b/packages/dmn-editor-envelope/src/i18n/DmnEditorEnvelopeI18n.ts
@@ -20,35 +20,36 @@
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 
-interface DmnEditorEnvelopeDictionary extends ReferenceDictionary {
-  edit: string;
-  misc: string;
-  move: string;
-  navigate: string;
-  unselect: string;
-  deleteSelection: string;
-  selectDeselectAll: string;
-  createGroupWrappingSelection: string;
-  hideFromDrd: string;
-  copyNodes: string;
-  cutNodes: string;
-  pasteNodes: string;
-  openClosePropertiesPanel: string;
-  toggleHierarchyHighlights: string;
-  selectionUp: string;
-  selectionDown: string;
-  selectionLeft: string;
-  selectionRight: string;
-  selectionUpBigDistance: string;
-  selectionDownBigDistance: string;
-  selectionLeftBigDistance: string;
-  selectionRightBigDistance: string;
-  focusOnSelection: string;
-  resetPositionToOrigin: string;
-  rightMouseButton: string;
-  holdAndDragtoPan: string;
-  holdAndScrollToZoomInOut: string;
-  holdAndScrollToNavigateHorizontally: string;
-}
+interface DmnEditorEnvelopeDictionary
+  extends ReferenceDictionary<{
+    edit: string;
+    misc: string;
+    move: string;
+    navigate: string;
+    unselect: string;
+    deleteSelection: string;
+    selectDeselectAll: string;
+    createGroupWrappingSelection: string;
+    hideFromDrd: string;
+    copyNodes: string;
+    cutNodes: string;
+    pasteNodes: string;
+    openClosePropertiesPanel: string;
+    toggleHierarchyHighlights: string;
+    selectionUp: string;
+    selectionDown: string;
+    selectionLeft: string;
+    selectionRight: string;
+    selectionUpBigDistance: string;
+    selectionDownBigDistance: string;
+    selectionLeftBigDistance: string;
+    selectionRightBigDistance: string;
+    focusOnSelection: string;
+    resetPositionToOrigin: string;
+    rightMouseButton: string;
+    holdAndDragtoPan: string;
+    holdAndScrollToZoomInOut: string;
+    holdAndScrollToNavigateHorizontally: string;
+  }> {}
 
 export interface DmnEditorEnvelopeI18n extends DmnEditorEnvelopeDictionary, 
CommonI18n {}
diff --git a/packages/dmn-editor/src/i18n/DmnEditorI18n.ts 
b/packages/dmn-editor/src/i18n/DmnEditorI18n.ts
index 3e180923932..a7e7590fa93 100644
--- a/packages/dmn-editor/src/i18n/DmnEditorI18n.ts
+++ b/packages/dmn-editor/src/i18n/DmnEditorI18n.ts
@@ -20,346 +20,348 @@
 import { ReferenceDictionary, Wrapped } from "@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 
-interface DmnEditorDictionary extends ReferenceDictionary {
-  autoLayout: string;
-  backToDiagram: string;
-  yourAnnotationsHere: string;
-  filter: string;
-  close: string;
-  none: string;
-  noneYet: string;
-  name: string;
-  cancel: string;
-  with: string;
-  dataTypes: {
-    days: string;
-    hours: string;
-    minutes: string;
-    seconds: string;
-    tweakTheTimezone: string;
-    selectTimezone: string;
-    years: string;
-    months: string;
-    dataTypeConstraints: string;
-    enumeration: string;
-    expression: string;
-    range: string;
-    allValuesAllowed: string;
-    addEnumValue: string;
-    addValue: string;
-    removeEnumValue: string;
-    equivalentFeelExpression: string;
-    nextValidDate: (value: string, operator: string) => string;
-    nextValidDateTime: (value: string, operator: string) => string;
-    nextValidNumber: (value: string, operator: string) => string;
-    nextValidYearsAndMonths: (value: string, operator: string) => string;
-    start: string;
-    clickToRemoveValue: string;
-    clickToIncludeValue: string;
-    startsWith: string;
-    startingValueIncluded: string;
-    startingValueNotIncluded: string;
-    clickToRemoveValueFromRange: string;
-    clickToIncludeInRange: string;
-    endsWith: string;
-    endingValueIncludedInRange: string;
-    endingValueNotIncludedInRange: string;
-    descriptionPlaceholder: string;
-    isStruct: string;
-    type: string;
-    collectionConstraint: string;
-    collectionConstrainsTypeConstraint: string;
-    collectionItemConstraint: string;
-    collectionItemConstraintAllowedValues: string;
-    allowedValues: string;
-    creatingConstraints: string;
-    noCustomDataTypes: string;
-    dmnEmptyBody: string;
-    duplicateDmnDetected: string;
-    conflictsDetectedMessage: string;
-    internalDataTypeConflicts: string;
-    editableDataTypes: string;
-    replaceExistingDmn: string;
-    preserveExistingDmn: string;
-    replace: string;
-    keepBoth: string;
-    remove: string;
-    external: string;
-    id: string;
-    copy: string;
-    isCollection: string;
-    deprecated: string;
-    newDataType: string;
-    paste: string;
-    createCustomDataType: string;
-    or: string;
-    pasteDataType: string;
-    externalDataTypeConflicts: string;
-    externalSources: string;
-    propertiesInDefinition: (definitionName: string) => string;
-    addItemComponent: string;
-    expandAll: string;
-    collapseAll: string;
-    pasteProperty: string;
-    expandCollapseItemComponent: string;
-    view: string;
-    extractDataType: string;
-    cut: string;
-    addPropertiesToDefinition: (definitionName: string) => string;
-    builtIn: string;
-    custom: string;
-    jumpToDefinition: string;
-    selectDataType: string;
-    checkFeelHandbook: Array<string | Wrapped<"feelHandBook">>;
-    dmnTypeConstraintText: Array<string | Wrapped<"typeConstraint" | 
"lineBreak">>;
-    typeConstraint: string;
-    constraints: string;
-    identifierRenameMessage: Array<string | Wrapped<"fromIdentifier" | 
"toIdentifier" | "lineBreak">>;
-  };
-  nodes: {
-    view: string;
-    edit: string;
-    output: string;
-    encapsulated: string;
-    doubleClickToName: string;
-    addInformationRequirementEdge: string;
-    addKnowledgeRequirementEdge: string;
-    addAuthorityRequirementEdge: string;
-    addAssociationEdge: string;
-    addDecisionNode: string;
-    addBkmNode: string;
-    addKnowledgeResourceNode: string;
-    addTextAnnotationNode: string;
-    emptyDiagram: string;
-    currentDmnAssociatedDiagram: string;
-    autoGenerateDiagram: string;
-    automaticallyPlaceNodes: string;
-    dmnDiagramEmpty: string;
-    diagramHasNodesOrOpenAnotherFile: string;
-    startByDraggingNodes: string;
-    newDecisionTable: string;
-    newDecisionWithInputData: string;
-    overlays: string;
-    propertiesPanel: string;
-    nodesSelected: (selectedNodesCount: number) => string;
-    edgesSelected: (selectedEdgesCount: number) => string;
-    nodeSelected: (nodeCount: number) => string;
-    edgeSelected: (edgeCount: number) => string;
-    nodes: (nodeCount: number) => string;
-    edges: (edgeCount: number) => string;
-    selected: string;
-    dmnversion: (latestVersion: string) => string;
-    originallyImportedDmn: (version: string, latestVersion: string) => string;
-    drds: string;
-    newDrd: string;
-    versionUpgraded: string;
-    newInDmn: (latestVersion: string) => string;
-    defaultDrd: string;
-    addingNodesMakingChanges: string;
-    removeDrd: string;
-    remove: string;
-    inputDataNodeShape: string;
-    classic: string;
-    alternative: string;
-    noDrgNodes: string;
-    usePaletteLeftHandSide: string;
-    drgNodes: string;
-    selectEditDrd: string;
-    inputData: string;
-    decision: string;
-    businessKnowledgeModel: string;
-    knowledgeSource: string;
-    decisionService: string;
-    group: string;
-    textAnnotation: string;
-    externalNodes: string;
-    drgnodes: string;
-    unknown: string;
-    empty: string;
-    input: string;
-  };
-  evaluationHightlights: string;
-  on: string;
-  off: string;
-  externalNodes: {
-    decision: string;
-    inputData: string;
-    unknown: string;
-    externalModelTooltip: (nodeTypeTooltipDescription: string, namespace: 
string) => string;
-    noExternalNodesAvailable: string;
-    IncludedModelsHaveNoExportedNodes: string;
-    includedModels: string;
-    externalNodesTitle: string;
-  };
-  includedModels: {
-    errorOccuredParsing: (selectedPathRelativeToThisDmn: string) => string;
-    includeModel: string;
-    cancel: string;
-    model: string;
-    selectModelToInclude: string;
-    allModelsAvailablewithName: (contextName: string) => string;
-    noAvailableModelswithName: (contextName: string) => string;
-    allModelsAvailable: string;
-    noAvailableModels: string;
-    loading: string;
-    noExternalModelsIncluded: string;
-    externalModelsEmptyMessage: string;
-    actionHaveMajorImpact: string;
-    removeIncludedModel: (extension: string) => string;
-    removeDmnMessage: string;
-    removePmmlMessage: string;
-    remove: string;
-    default: string;
-    externalModelNotFound: string;
-    namespace: string;
-    uri: string;
-  };
-  overlaysPanel: {
-    snapping: string;
-    horizontal: string;
-    vertical: string;
-    highlightSelectedNode: string;
-    showDataTypeToolbar: string;
-    enableStyles: string;
-    enableEvaluationHighlights: string;
-    enableHighlightingDecisionTable: string;
-  };
-  propertiesPanel: {
-    inputExpression: string;
-    constraint: string;
-    inputValues: string;
-    id: string;
-    alternativeFieldName: (name: string) => string;
-    alternativeFieldType: (name: string) => string;
-    defaultOutputEntry: string;
-    outputValues: string;
-    outputHeaderType: string;
-    hitPolicy: string;
-    aggregation: string;
-    outputLabel: string;
-    outputLabelPlaceholder: string;
-    emptyParameters: string;
-    parameter: Array<string | Wrapped<"name">>;
-    boxedConditional: string;
-    functionToBeCalled: string;
-    functionNamePlaceholder: string;
-    variableToIterateOver: string;
-    variableNamePlaceholder: string;
-    selectExpression: string;
-    selectedCell: string;
-    noPropertiesToDisplay: string;
-    dataType: string;
-    description: string;
-    descriptionPlaceholder: string;
-    question: string;
-    questionPlaceholder: string;
-    allowedAnswers: string;
-    allowedAnswersPlaceholder: string;
-    outputDecisions: string;
-    encapsulatedDecisions: string;
-    inputDecisions: string;
-    inputData: string;
-    empty: string;
-    invokingDecisionService: string;
-    placeholderUrlTitle: string;
-    placeholderUrl: string;
-    addDocumentationLink: string;
-    emptyUrl: string;
-    removeDocumentationLink: string;
-    expandCollapseDocLink: string;
-    content: string;
-    contentPlaceholder: string;
-    expressionLanguage: string;
-    expressionLanguagePlaceholder: string;
-    expressionContentPlaceholder: string;
-    font: string;
-    resetFont: string;
-    globalProperties: string;
-    idAndNamespace: string;
-    regenerateIdNamespace: string;
-    diagramIdPlaceholder: string;
-    copy: string;
-    copied: string;
-    namespace: string;
-    namespacePlaceholder: string;
-    yesRegenerateIdNamespace: string;
-    regeneratingIdNamespaceMessage: string;
-    sureToContinue: string;
-    namePlaceholder: string;
-    sourceType: string;
-    sourceTypePlaceHolder: string;
-    locationUri: string;
-    locationUriPlaceholder: string;
-    multiplenodesSize: (size: number) => string;
-    expandCollapseTitle: (title: string) => string;
-    shape: string;
-    resetShape: string;
-    style: string;
-    fillColor: string;
-    strokeColor: string;
-    width: string;
-    valuePlaceholder: string;
-    height: string;
-    position: string;
-    xValuePlaceholder: string;
-    yValuePlaceHolder: string;
-    format: string;
-    formatPlaceholder: string;
-    text: string;
-    textPlaceholder: string;
-    nodeReferenceMessage: string;
-    externalDmnNodeReference: string;
-    nameNotExists: (name: string) => string;
-    goToName: (name: string) => string;
-    reference: string;
-    unknownNodePlaceholder: string;
-    expressionLangPlaceholder: string;
-  };
-  boxedExpressionPropertiesPanelTitle: {
-    boxedConditional: string;
-    boxedContext: string;
-    boxedContextVariable: string;
-    decisionTable: string;
-    variable: string;
-    decisionTableInputHeader: string;
-    decisionTableInputCell: string;
-    decisionTableOutputHeader: string;
-    decisionTableOutputCell: string;
-    every: string;
-    boxedEveryVariable: string;
+interface DmnEditorDictionary
+  extends ReferenceDictionary<{
+    autoLayout: string;
+    backToDiagram: string;
+    yourAnnotationsHere: string;
     filter: string;
-    for: string;
-    boxedForvariable: string;
-    functionDefinition: string;
-    functionParameters: string;
-    boxedInvocation: string;
-    boxedInvocationFunction: string;
-    boxedInvocationParameter: string;
-    list: string;
-    literalExpresssion: string;
-    boxedRelation: string;
-    boxedRelationHeader: string;
-    boxedRelationCell: string;
-    some: string;
-    boxedSomeVariable: string;
-  };
-  renamingIdentifier: string;
-  renameAndReplace: string;
-  justRename: string;
-  theIdentifier: string;
-  renamedTo: string;
-  undefined: string;
-  usedByOneOrMoreExpressions: string;
-  automaticallyReplaceAll: string;
-  dmnEditor: {
-    editor: string;
-    dataTypes: string;
-    includedModels: string;
-    unexpectedErrorOccured: string;
-    reportBug: string;
-    tryUndoingLastAction: string;
-    fileAnIssue: string;
-  };
-}
+    close: string;
+    none: string;
+    noneYet: string;
+    name: string;
+    import: string;
+    cancel: string;
+    with: string;
+    dataTypes: {
+      days: string;
+      hours: string;
+      minutes: string;
+      seconds: string;
+      tweakTheTimezone: string;
+      selectTimezone: string;
+      years: string;
+      months: string;
+      dataTypeConstraints: string;
+      enumeration: string;
+      expression: string;
+      range: string;
+      allValuesAllowed: string;
+      addEnumValue: string;
+      addValue: string;
+      removeEnumValue: string;
+      equivalentFeelExpression: string;
+      nextValidDate: (value: string, operator: string) => string;
+      nextValidDateTime: (value: string, operator: string) => string;
+      nextValidNumber: (value: string, operator: string) => string;
+      nextValidYearsAndMonths: (value: string, operator: string) => string;
+      start: string;
+      clickToRemoveValue: string;
+      clickToIncludeValue: string;
+      startsWith: string;
+      startingValueIncluded: string;
+      startingValueNotIncluded: string;
+      clickToRemoveValueFromRange: string;
+      clickToIncludeInRange: string;
+      endsWith: string;
+      endingValueIncludedInRange: string;
+      endingValueNotIncludedInRange: string;
+      descriptionPlaceholder: string;
+      isStruct: string;
+      type: string;
+      collectionConstraint: string;
+      collectionConstrainsTypeConstraint: string;
+      collectionItemConstraint: string;
+      collectionItemConstraintAllowedValues: string;
+      allowedValues: string;
+      creatingConstraints: string;
+      noCustomDataTypes: string;
+      dmnEmptyBody: string;
+      duplicateDmnDetected: string;
+      conflictsDetectedMessage: string;
+      internalDataTypeConflicts: string;
+      editableDataTypes: string;
+      replaceExistingDmn: string;
+      preserveExistingDmn: string;
+      replace: string;
+      keepBoth: string;
+      remove: string;
+      external: string;
+      id: string;
+      copy: string;
+      isCollection: string;
+      deprecated: string;
+      newDataType: string;
+      paste: string;
+      createCustomDataType: string;
+      or: string;
+      pasteDataType: string;
+      externalDataTypeConflicts: string;
+      externalSources: string;
+      propertiesInDefinition: (definitionName: string) => string;
+      addItemComponent: string;
+      expandAll: string;
+      collapseAll: string;
+      pasteProperty: string;
+      expandCollapseItemComponent: string;
+      view: string;
+      extractDataType: string;
+      cut: string;
+      addPropertiesToDefinition: (definitionName: string) => string;
+      builtIn: string;
+      custom: string;
+      jumpToDefinition: string;
+      selectDataType: string;
+      checkFeelHandbook: Array<string | Wrapped<"feelHandBook">>;
+      dmnTypeConstraintText: Array<string | Wrapped<"typeConstraint" | 
"lineBreak">>;
+      typeConstraint: string;
+      constraints: string;
+      identifierRenameMessage: Array<string | Wrapped<"fromIdentifier" | 
"toIdentifier" | "lineBreak">>;
+    };
+    nodes: {
+      view: string;
+      edit: string;
+      output: string;
+      encapsulated: string;
+      doubleClickToName: string;
+      addInformationRequirementEdge: string;
+      addKnowledgeRequirementEdge: string;
+      addAuthorityRequirementEdge: string;
+      addAssociationEdge: string;
+      addDecisionNode: string;
+      addBkmNode: string;
+      addKnowledgeResourceNode: string;
+      addTextAnnotationNode: string;
+      emptyDiagram: string;
+      currentDmnAssociatedDiagram: string;
+      autoGenerateDiagram: string;
+      automaticallyPlaceNodes: string;
+      dmnDiagramEmpty: string;
+      diagramHasNodesOrOpenAnotherFile: string;
+      startByDraggingNodes: string;
+      newDecisionTable: string;
+      newDecisionWithInputData: string;
+      overlays: string;
+      propertiesPanel: string;
+      nodesSelected: (selectedNodesCount: number) => string;
+      edgesSelected: (selectedEdgesCount: number) => string;
+      nodeSelected: (nodeCount: number) => string;
+      edgeSelected: (edgeCount: number) => string;
+      nodes: (nodeCount: number) => string;
+      edges: (edgeCount: number) => string;
+      selected: string;
+      dmnversion: (latestVersion: string) => string;
+      originallyImportedDmn: (version: string, latestVersion: string) => 
string;
+      drds: string;
+      newDrd: string;
+      versionUpgraded: string;
+      newInDmn: (latestVersion: string) => string;
+      defaultDrd: string;
+      addingNodesMakingChanges: string;
+      removeDrd: string;
+      remove: string;
+      inputDataNodeShape: string;
+      classic: string;
+      alternative: string;
+      noDrgNodes: string;
+      usePaletteLeftHandSide: string;
+      drgNodes: string;
+      selectEditDrd: string;
+      inputData: string;
+      decision: string;
+      businessKnowledgeModel: string;
+      knowledgeSource: string;
+      decisionService: string;
+      group: string;
+      textAnnotation: string;
+      externalNodes: string;
+      drgnodes: string;
+      unknown: string;
+      empty: string;
+      input: string;
+    };
+    evaluationHightlights: string;
+    on: string;
+    off: string;
+    externalNodes: {
+      decision: string;
+      inputData: string;
+      unknown: string;
+      externalModelTooltip: (nodeTypeTooltipDescription: string, namespace: 
string) => string;
+      noExternalNodesAvailable: string;
+      IncludedModelsHaveNoExportedNodes: string;
+      includedModels: string;
+      externalNodesTitle: string;
+    };
+    includedModels: {
+      errorOccuredParsing: (selectedPathRelativeToThisDmn: string) => string;
+      includeModel: string;
+      cancel: string;
+      model: string;
+      selectModelToInclude: string;
+      allModelsAvailablewithName: (contextName: string) => string;
+      noAvailableModelswithName: (contextName: string) => string;
+      allModelsAvailable: string;
+      noAvailableModels: string;
+      loading: string;
+      noExternalModelsIncluded: string;
+      externalModelsEmptyMessage: string;
+      actionHaveMajorImpact: string;
+      removeIncludedModel: (extension: string) => string;
+      removeDmnMessage: string;
+      removePmmlMessage: string;
+      remove: string;
+      default: string;
+      externalModelNotFound: string;
+      namespace: string;
+      uri: string;
+    };
+    overlaysPanel: {
+      snapping: string;
+      horizontal: string;
+      vertical: string;
+      highlightSelectedNode: string;
+      showDataTypeToolbar: string;
+      enableStyles: string;
+      enableEvaluationHighlights: string;
+      enableHighlightingDecisionTable: string;
+    };
+    propertiesPanel: {
+      inputExpression: string;
+      constraint: string;
+      inputValues: string;
+      id: string;
+      alternativeFieldName: (name: string) => string;
+      alternativeFieldType: (name: string) => string;
+      defaultOutputEntry: string;
+      outputValues: string;
+      outputHeaderType: string;
+      hitPolicy: string;
+      aggregation: string;
+      outputLabel: string;
+      outputLabelPlaceholder: string;
+      emptyParameters: string;
+      parameter: Array<string | Wrapped<"name">>;
+      boxedConditional: string;
+      functionToBeCalled: string;
+      functionNamePlaceholder: string;
+      variableToIterateOver: string;
+      variableNamePlaceholder: string;
+      selectExpression: string;
+      selectedCell: string;
+      noPropertiesToDisplay: string;
+      dataType: string;
+      description: string;
+      descriptionPlaceholder: string;
+      question: string;
+      questionPlaceholder: string;
+      allowedAnswers: string;
+      allowedAnswersPlaceholder: string;
+      outputDecisions: string;
+      encapsulatedDecisions: string;
+      inputDecisions: string;
+      inputData: string;
+      empty: string;
+      invokingDecisionService: string;
+      placeholderUrlTitle: string;
+      placeholderUrl: string;
+      addDocumentationLink: string;
+      emptyUrl: string;
+      removeDocumentationLink: string;
+      expandCollapseDocLink: string;
+      content: string;
+      contentPlaceholder: string;
+      expressionLanguage: string;
+      expressionLanguagePlaceholder: string;
+      expressionContentPlaceholder: string;
+      font: string;
+      resetFont: string;
+      globalProperties: string;
+      idAndNamespace: string;
+      regenerateIdNamespace: string;
+      diagramIdPlaceholder: string;
+      copy: string;
+      copied: string;
+      namespace: string;
+      namespacePlaceholder: string;
+      yesRegenerateIdNamespace: string;
+      regeneratingIdNamespaceMessage: string;
+      sureToContinue: string;
+      namePlaceholder: string;
+      sourceType: string;
+      sourceTypePlaceHolder: string;
+      locationUri: string;
+      locationUriPlaceholder: string;
+      multiplenodesSize: (size: number) => string;
+      expandCollapseTitle: (title: string) => string;
+      shape: string;
+      resetShape: string;
+      style: string;
+      fillColor: string;
+      strokeColor: string;
+      width: string;
+      valuePlaceholder: string;
+      height: string;
+      position: string;
+      xValuePlaceholder: string;
+      yValuePlaceHolder: string;
+      format: string;
+      formatPlaceholder: string;
+      text: string;
+      textPlaceholder: string;
+      nodeReferenceMessage: string;
+      externalDmnNodeReference: string;
+      nameNotExists: (name: string) => string;
+      goToName: (name: string) => string;
+      reference: string;
+      unknownNodePlaceholder: string;
+      expressionLangPlaceholder: string;
+    };
+    boxedExpressionPropertiesPanelTitle: {
+      boxedConditional: string;
+      boxedContext: string;
+      boxedContextVariable: string;
+      decisionTable: string;
+      variable: string;
+      decisionTableInputHeader: string;
+      decisionTableInputCell: string;
+      decisionTableOutputHeader: string;
+      decisionTableOutputCell: string;
+      every: string;
+      boxedEveryVariable: string;
+      filter: string;
+      for: string;
+      boxedForvariable: string;
+      functionDefinition: string;
+      functionParameters: string;
+      boxedInvocation: string;
+      boxedInvocationFunction: string;
+      boxedInvocationParameter: string;
+      list: string;
+      literalExpresssion: string;
+      boxedRelation: string;
+      boxedRelationHeader: string;
+      boxedRelationCell: string;
+      some: string;
+      boxedSomeVariable: string;
+    };
+    renamingIdentifier: string;
+    renameAndReplace: string;
+    justRename: string;
+    theIdentifier: string;
+    renamedTo: string;
+    undefined: string;
+    usedByOneOrMoreExpressions: string;
+    automaticallyReplaceAll: string;
+    dmnEditor: {
+      editor: string;
+      dataTypes: string;
+      includedModels: string;
+      unexpectedErrorOccured: string;
+      reportBug: string;
+      tryUndoingLastAction: string;
+      fileAnIssue: string;
+    };
+  }> {}
 
 export interface DmnEditorI18n extends DmnEditorDictionary, CommonI18n {}
diff --git a/packages/dmn-editor/src/i18n/locales/en.ts 
b/packages/dmn-editor/src/i18n/locales/en.ts
index 9ef6ed5b165..893b95e18ba 100644
--- a/packages/dmn-editor/src/i18n/locales/en.ts
+++ b/packages/dmn-editor/src/i18n/locales/en.ts
@@ -31,6 +31,7 @@ export const en: DmnEditorI18n = {
   none: "None",
   noneYet: "None yet",
   name: "Name",
+  import: "Import",
   cancel: "Cancel",
   with: "with",
   dataTypes: {
diff --git a/packages/editor/src/envelope/i18n/EditorEnvelopeI18n.ts 
b/packages/editor/src/envelope/i18n/EditorEnvelopeI18n.ts
index 5cff816f759..ccea3c5a50e 100644
--- a/packages/editor/src/envelope/i18n/EditorEnvelopeI18n.ts
+++ b/packages/editor/src/envelope/i18n/EditorEnvelopeI18n.ts
@@ -19,24 +19,25 @@
 
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 
-export interface EditorEnvelopeDictionary extends ReferenceDictionary {
-  keyBindingsHelpOverlay: {
-    title: string;
-    categories: {
-      edit: string;
-      help: string;
+export interface EditorEnvelopeDictionary
+  extends ReferenceDictionary<{
+    keyBindingsHelpOverlay: {
+      title: string;
+      categories: {
+        edit: string;
+        help: string;
+      };
+      commands: {
+        undo: string;
+        redo: string;
+        showKeyboardOverlay: string;
+      };
     };
-    commands: {
-      undo: string;
-      redo: string;
-      showKeyboardOverlay: string;
+    loadingScreen: {
+      loading: string;
     };
-  };
-  loadingScreen: {
-    loading: string;
-  };
-  editorNotAvailable: (extension: string) => string;
-  kogitoEditor: string;
-}
+    editorNotAvailable: (extension: string) => string;
+    kogitoEditor: string;
+  }> {}
 
 export interface EditorEnvelopeI18n extends EditorEnvelopeDictionary {}
diff --git a/packages/feel-input-component/src/i18n/FeelInputComponentI18n.ts 
b/packages/feel-input-component/src/i18n/FeelInputComponentI18n.ts
index b592ab1b5ef..8055f0efba5 100644
--- a/packages/feel-input-component/src/i18n/FeelInputComponentI18n.ts
+++ b/packages/feel-input-component/src/i18n/FeelInputComponentI18n.ts
@@ -20,155 +20,163 @@
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 
-interface FeelInputComponentDictionary extends ReferenceDictionary {
-  functionDescription: {
-    absDescription: (value: string) => string;
-    afterPoint: (result: string, point1: string, point2: string) => string;
-    afterPointRange: (result: string, point: string, range: string) => string;
-    afterRangePoint: (result: string, range: string, point: string) => string;
-    afterRange: (result: string, range1: string, range2: string) => string;
-    allTrue: (result: string, value: string) => string;
-    anyTrue: (result: string, value: string, falseResult: string, nullValue: 
string) => string;
-    append: (list: string) => string;
-    beforePoint: (result: string, point1: string, point2: string) => string;
-    beforePointRange: (result: string, point: string, range: string) => string;
-    beforeRangePoint: (result: string, range: string, point: string) => string;
-    beforeRange: (result: string, range1: string, range2: string) => string;
-    ceiling: (value: string, nullValue: string) => string;
-    ceilingScale: (value: string, scale: string, nullValue: string) => string;
-    coincides: (result: string, point1: string, point2: string) => string;
-    coincidesRange: (result: string, range1: string, range2: string) => string;
-    concatenate: (list: string) => string;
-    contains: (value: string, match: string) => string;
-    contextKeyValue: (context: string, key: string, value: string, nullValue: 
string) => string;
-    contextMerge: (context: string, contexts: string) => string;
-    context: (context: string) => string;
-    contextPut: (context: string, contextPut: string) => string;
-    count: (list: string) => string;
-    date: (from: string) => string;
-    dateyear: (year: string, month: string, day: string) => string;
-    dateTimeFrom: (from: string) => string;
-    dateTime: (date: string, time: string) => string;
-    datetimezone: (date: string, time: string) => string;
-    dateYearSecond: (year: string, month: string, day: string, hour: string, 
minute: string, second: string) => string;
-    datetYearOffset: (
-      year: string,
-      month: string,
-      day: string,
-      hour: string,
-      minute: string,
-      second: string,
-      offset: string
-    ) => string;
-    datetTimeTimezone: (
-      year: string,
-      month: string,
-      day: string,
-      hour: string,
-      minute: string,
-      second: string,
-      timezone: string
-    ) => string;
-    dayOfWeek: (day: string) => string;
-    dateOfYear: (day: string) => string;
-    decimal: (n: string, scale: string) => string;
-    distinctValues: (list: string) => string;
-    duration: (from: string) => string;
-    during: (result: string, point: string, range: string) => string;
-    duringRange: (result: string, range1: string, range2: string) => string;
-    endsWith: (string: string, match: string) => string;
-    even: (result: string, number: string, falseResult: string) => string;
-    exp: (number: string) => string;
-    finishedBy: (result: string, range: string, point: string) => string;
-    finishedByRange: (result: string, range1: string, range2: string) => 
string;
-    finishes: (result: string, point: string, range: string) => string;
-    finishesRange: (result: string, range1: string, range2: string) => string;
-    flattenNestedLists: (list: string) => string;
-    floor: (n: string, nullValue: string) => string;
-    floorScale: (n: string, scale: string, nullValue: string) => string;
-    getEntries: (list: string, m: string) => string;
-    getValue: (m: string, key: string) => string;
-    includes: (result: string, range: string, point: string) => string;
-    includesRange: (result: string, range1: string, range2: string) => string;
-    indexOf: (list: string, match: string) => string;
-    insertBefore: (list: string, position: string, newItem: string) => string;
-    is: (result: string) => string;
-    listConstains: (list: string, element: string) => string;
-    listReplace: (list: string, newItem: string, position: string) => string;
-    listNewItem: (list: string, newItem: string, match: string, trueValue: 
string) => string;
-    log: (number: string) => string;
-    lowerCase: (stringValue: string) => string;
-    matches: (input: string, pattern: string) => string;
-    max: (list: string, nullValue: string) => string;
-    mean: (list: string) => string;
-    median: (list: string, nullValue: string) => string;
-    meets: (result: string, range1: string, range2: string) => string;
-    metBy: (result: string, range1: string, range2: string) => string;
-    min: (list: string, nullValue: string) => string;
-    mode: (list: string) => string;
-    modulo: (dividend: string, divisor: string) => string;
-    monthOfYear: string;
-    nnAll: (result: string, list: string, nullValue: string) => string;
-    nnAny: (result: string, list: string, nullValue: string) => string;
-    nnCount: (list: string, nullValue: string) => string;
-    nnMax: (list: string, nullValue: string) => string;
-    nnMean: (nullValue: string) => string;
-    nnMedian: (list: string, nullValue: string) => string;
-    nnMin: (list: string, nullValue: string) => string;
-    nnMode: (list: string, nullValue: string) => string;
-    nnStddev: (list: string, nullValue: string) => string;
-    nnSum: (list: string, nullValue: string) => string;
-    not: (negand: string) => string;
-    now: (date: string, time: string) => string;
-    numbers: (from: string) => string;
-    numberFrom: (from: string) => string;
-    odd: (result: string, number: string) => string;
-    overlapsAfter: (result: string, range1: string, range2: string) => string;
-    overlapsBefore: (result: string, range1: string, range2: string) => string;
-    overlaps: (result: string, range1: string, range2: string) => string;
-    product: (list: string) => string;
-    rangeFrom: (stringValue: string, from: string) => string;
-    remove: (list: string, position: string) => string;
-    replace: string;
-    reverse: (list: string) => string;
-    roundDown: (n: string, scale: string, nullValue: string) => string;
-    roundDownN: (n: string, nullValue: string) => string;
-    roundHalfDown: (n: string, scale: string, nullValue: string) => string;
-    roundHalfDownN: (n: string, nullValue: string) => string;
-    roundHalfUp: (n: string, scale: string, nullValue: string) => string;
-    roundHalfUpN: (n: string, nullValue: string) => string;
-    roundUp: (n: string, scale: string, nullValue: string) => string;
-    roundUpN: (n: string, nullValue: string) => string;
-    sort: (list: string, numberValue: string, stringValue: string) => string;
-    sortPrecedes: (list: string) => string;
-    split: (list: string, stringValue: string, delimiter: string) => string;
-    sqrt: (numberValue: string) => string;
-    startedBy: (result: string, range: string, point: string) => string;
-    startedByRange: (result: string, range1: string, range2: string) => string;
-    startsWith: (result: string, stringValue: string, match: string) => string;
-    starts: (result: string, point: string, range: string) => string;
-    startsRange: (result: string, range1: string, range2: string) => string;
-    stddev: (list: string) => string;
-    stringLength: (stringValue: string) => string;
-    stringFrom: string;
-    stringJoin: (list: string) => string;
-    stringJoinDelimiter: (list: string, delimiter: string, nullValue: string) 
=> string;
-    sublist: (startPosition: string) => string;
-    sublistLength: (startPosition: string, length: string) => string;
-    substringAfter: (match: string) => string;
-    substringBefore: (match: string) => string;
-    substringStartPosition: (startPosition: string) => string;
-    substringLength: (startPosition: string, length: string) => string;
-    sum: (list: string) => string;
-    time: string;
-    timeHour: (hour: string, minute: string, second: string) => string;
-    timeOffset: (hour: string, minute: string, second: string, offset: string) 
=> string;
-    today: string;
-    union: (list: string) => string;
-    upperCase: (stringValue: string) => string;
-    weekOfYear: string;
-    yearsAndMonthsDuration: string;
-  };
-}
+interface FeelInputComponentDictionary
+  extends ReferenceDictionary<{
+    functionDescription: {
+      absDescription: (value: string) => string;
+      afterPoint: (result: string, point1: string, point2: string) => string;
+      afterPointRange: (result: string, point: string, range: string) => 
string;
+      afterRangePoint: (result: string, range: string, point: string) => 
string;
+      afterRange: (result: string, range1: string, range2: string) => string;
+      allTrue: (result: string, value: string) => string;
+      anyTrue: (result: string, value: string, falseResult: string, nullValue: 
string) => string;
+      append: (list: string) => string;
+      beforePoint: (result: string, point1: string, point2: string) => string;
+      beforePointRange: (result: string, point: string, range: string) => 
string;
+      beforeRangePoint: (result: string, range: string, point: string) => 
string;
+      beforeRange: (result: string, range1: string, range2: string) => string;
+      ceiling: (value: string, nullValue: string) => string;
+      ceilingScale: (value: string, scale: string, nullValue: string) => 
string;
+      coincides: (result: string, point1: string, point2: string) => string;
+      coincidesRange: (result: string, range1: string, range2: string) => 
string;
+      concatenate: (list: string) => string;
+      contains: (value: string, match: string) => string;
+      contextKeyValue: (context: string, key: string, value: string, 
nullValue: string) => string;
+      contextMerge: (context: string, contexts: string) => string;
+      context: (context: string) => string;
+      contextPut: (context: string, contextPut: string) => string;
+      count: (list: string) => string;
+      date: (from: string) => string;
+      dateyear: (year: string, month: string, day: string) => string;
+      dateTimeFrom: (from: string) => string;
+      dateTime: (date: string, time: string) => string;
+      datetimezone: (date: string, time: string) => string;
+      dateYearSecond: (
+        year: string,
+        month: string,
+        day: string,
+        hour: string,
+        minute: string,
+        second: string
+      ) => string;
+      datetYearOffset: (
+        year: string,
+        month: string,
+        day: string,
+        hour: string,
+        minute: string,
+        second: string,
+        offset: string
+      ) => string;
+      datetTimeTimezone: (
+        year: string,
+        month: string,
+        day: string,
+        hour: string,
+        minute: string,
+        second: string,
+        timezone: string
+      ) => string;
+      dayOfWeek: (day: string) => string;
+      dateOfYear: (day: string) => string;
+      decimal: (n: string, scale: string) => string;
+      distinctValues: (list: string) => string;
+      duration: (from: string) => string;
+      during: (result: string, point: string, range: string) => string;
+      duringRange: (result: string, range1: string, range2: string) => string;
+      endsWith: (string: string, match: string) => string;
+      even: (result: string, number: string, falseResult: string) => string;
+      exp: (number: string) => string;
+      finishedBy: (result: string, range: string, point: string) => string;
+      finishedByRange: (result: string, range1: string, range2: string) => 
string;
+      finishes: (result: string, point: string, range: string) => string;
+      finishesRange: (result: string, range1: string, range2: string) => 
string;
+      flattenNestedLists: (list: string) => string;
+      floor: (n: string, nullValue: string) => string;
+      floorScale: (n: string, scale: string, nullValue: string) => string;
+      getEntries: (list: string, m: string) => string;
+      getValue: (m: string, key: string) => string;
+      includes: (result: string, range: string, point: string) => string;
+      includesRange: (result: string, range1: string, range2: string) => 
string;
+      indexOf: (list: string, match: string) => string;
+      insertBefore: (list: string, position: string, newItem: string) => 
string;
+      is: (result: string) => string;
+      listConstains: (list: string, element: string) => string;
+      listReplace: (list: string, newItem: string, position: string) => string;
+      listNewItem: (list: string, newItem: string, match: string, trueValue: 
string) => string;
+      log: (number: string) => string;
+      lowerCase: (stringValue: string) => string;
+      matches: (input: string, pattern: string) => string;
+      max: (list: string, nullValue: string) => string;
+      mean: (list: string) => string;
+      median: (list: string, nullValue: string) => string;
+      meets: (result: string, range1: string, range2: string) => string;
+      metBy: (result: string, range1: string, range2: string) => string;
+      min: (list: string, nullValue: string) => string;
+      mode: (list: string) => string;
+      modulo: (dividend: string, divisor: string) => string;
+      monthOfYear: string;
+      nnAll: (result: string, list: string, nullValue: string) => string;
+      nnAny: (result: string, list: string, nullValue: string) => string;
+      nnCount: (list: string, nullValue: string) => string;
+      nnMax: (list: string, nullValue: string) => string;
+      nnMean: (nullValue: string) => string;
+      nnMedian: (list: string, nullValue: string) => string;
+      nnMin: (list: string, nullValue: string) => string;
+      nnMode: (list: string, nullValue: string) => string;
+      nnStddev: (list: string, nullValue: string) => string;
+      nnSum: (list: string, nullValue: string) => string;
+      not: (negand: string) => string;
+      now: (date: string, time: string) => string;
+      numbers: (from: string) => string;
+      numberFrom: (from: string) => string;
+      odd: (result: string, number: string) => string;
+      overlapsAfter: (result: string, range1: string, range2: string) => 
string;
+      overlapsBefore: (result: string, range1: string, range2: string) => 
string;
+      overlaps: (result: string, range1: string, range2: string) => string;
+      product: (list: string) => string;
+      rangeFrom: (stringValue: string, from: string) => string;
+      remove: (list: string, position: string) => string;
+      replace: string;
+      reverse: (list: string) => string;
+      roundDown: (n: string, scale: string, nullValue: string) => string;
+      roundDownN: (n: string, nullValue: string) => string;
+      roundHalfDown: (n: string, scale: string, nullValue: string) => string;
+      roundHalfDownN: (n: string, nullValue: string) => string;
+      roundHalfUp: (n: string, scale: string, nullValue: string) => string;
+      roundHalfUpN: (n: string, nullValue: string) => string;
+      roundUp: (n: string, scale: string, nullValue: string) => string;
+      roundUpN: (n: string, nullValue: string) => string;
+      sort: (list: string, numberValue: string, stringValue: string) => string;
+      sortPrecedes: (list: string) => string;
+      split: (list: string, stringValue: string, delimiter: string) => string;
+      sqrt: (numberValue: string) => string;
+      startedBy: (result: string, range: string, point: string) => string;
+      startedByRange: (result: string, range1: string, range2: string) => 
string;
+      startsWith: (result: string, stringValue: string, match: string) => 
string;
+      starts: (result: string, point: string, range: string) => string;
+      startsRange: (result: string, range1: string, range2: string) => string;
+      stddev: (list: string) => string;
+      stringLength: (stringValue: string) => string;
+      stringFrom: string;
+      stringJoin: (list: string) => string;
+      stringJoinDelimiter: (list: string, delimiter: string, nullValue: 
string) => string;
+      sublist: (startPosition: string) => string;
+      sublistLength: (startPosition: string, length: string) => string;
+      substringAfter: (match: string) => string;
+      substringBefore: (match: string) => string;
+      substringStartPosition: (startPosition: string) => string;
+      substringLength: (startPosition: string, length: string) => string;
+      sum: (list: string) => string;
+      time: string;
+      timeHour: (hour: string, minute: string, second: string) => string;
+      timeOffset: (hour: string, minute: string, second: string, offset: 
string) => string;
+      today: string;
+      union: (list: string) => string;
+      upperCase: (stringValue: string) => string;
+      weekOfYear: string;
+      yearsAndMonthsDuration: string;
+    };
+  }> {}
 
 export interface FeelInputComponentI18n extends FeelInputComponentDictionary, 
CommonI18n {}
diff --git 
a/packages/form-code-generator-vscode-command/src/i18n/FormCodeGeneratorI18n.ts 
b/packages/form-code-generator-vscode-command/src/i18n/FormCodeGeneratorI18n.ts
index 5a85a90b5c1..14060a66ad5 100644
--- 
a/packages/form-code-generator-vscode-command/src/i18n/FormCodeGeneratorI18n.ts
+++ 
b/packages/form-code-generator-vscode-command/src/i18n/FormCodeGeneratorI18n.ts
@@ -19,22 +19,23 @@
 
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 
-interface FormCodeGeneratorDictionary extends ReferenceDictionary {
-  generateFormCode: {
-    selectProjectFolder: string;
-    notFoundProjectsTarget: string;
-    notFoundJsonSchema: string;
-    uiLibraryPlaceholder: string;
-    customFormsPlaceholder: string;
-    generateForHumanTasks: string;
-    generateForSpecificHumanTasks: string;
-    optionPlaceholder: string;
-    userTaskPlaceholder: string;
-    parsingFailed(files: string): string;
-    uiLibraryNotAvailable(uiLibrary: string): string;
-    successFormGeneration(files: string): string;
-    errorFormGeneration(files: string): string;
-  };
-}
+interface FormCodeGeneratorDictionary
+  extends ReferenceDictionary<{
+    generateFormCode: {
+      selectProjectFolder: string;
+      notFoundProjectsTarget: string;
+      notFoundJsonSchema: string;
+      uiLibraryPlaceholder: string;
+      customFormsPlaceholder: string;
+      generateForHumanTasks: string;
+      generateForSpecificHumanTasks: string;
+      optionPlaceholder: string;
+      userTaskPlaceholder: string;
+      parsingFailed(files: string): string;
+      uiLibraryNotAvailable(uiLibrary: string): string;
+      successFormGeneration(files: string): string;
+      errorFormGeneration(files: string): string;
+    };
+  }> {}
 
 export interface FormCodeGeneratorI18n extends FormCodeGeneratorDictionary {}
diff --git a/packages/form/src/i18n/FormI18n.ts 
b/packages/form/src/i18n/FormI18n.ts
index f96fa679ee9..b90683af444 100644
--- a/packages/form/src/i18n/FormI18n.ts
+++ b/packages/form/src/i18n/FormI18n.ts
@@ -20,27 +20,28 @@
 import { ReferenceDictionary, Wrapped } from "@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 
-interface FormDictionary extends ReferenceDictionary {
-  form: {
-    status: {
-      autoGenerationError: {
-        title: string;
-        explanation: string;
-        checkNotificationPanel: Array<string | Wrapped<"link">>;
-      };
-      emptyForm: {
-        title: string;
-        explanation: string;
-      };
-      validatorError: {
-        title: string;
-        message: Array<string | Wrapped<"jira">>;
+interface FormDictionary
+  extends ReferenceDictionary<{
+    form: {
+      status: {
+        autoGenerationError: {
+          title: string;
+          explanation: string;
+          checkNotificationPanel: Array<string | Wrapped<"link">>;
+        };
+        emptyForm: {
+          title: string;
+          explanation: string;
+        };
+        validatorError: {
+          title: string;
+          message: Array<string | Wrapped<"jira">>;
+        };
       };
     };
-  };
-  schema: {
-    selectPlaceholder: string;
-  };
-}
+    schema: {
+      selectPlaceholder: string;
+    };
+  }> {}
 
 export interface FormI18n extends FormDictionary, CommonI18n {}
diff --git a/packages/i18n-common-dictionary/src/CommonI18n.ts 
b/packages/i18n-common-dictionary/src/CommonI18n.ts
index b09b2e00cd4..13e77cda730 100644
--- a/packages/i18n-common-dictionary/src/CommonI18n.ts
+++ b/packages/i18n-common-dictionary/src/CommonI18n.ts
@@ -109,7 +109,8 @@ export type CommonDictionary = {
   };
 };
 
-export interface CommonI18n extends ReferenceDictionary {
-  names: typeof names;
-  terms: CommonDictionary;
-}
+export interface CommonI18n
+  extends ReferenceDictionary<{
+    names: typeof names;
+    terms: CommonDictionary;
+  }> {}
diff --git a/packages/i18n/src/core/Dictionary.ts 
b/packages/i18n/src/core/Dictionary.ts
index 92848e5abe8..8d9e8fe541b 100644
--- a/packages/i18n/src/core/Dictionary.ts
+++ b/packages/i18n/src/core/Dictionary.ts
@@ -19,20 +19,30 @@
 
 import { Wrapped } from "./Wrapped";
 
-export interface I18nDefaults<D extends ReferenceDictionary> {
+export interface I18nDefaults<D extends ReferenceDictionary<D>> {
   locale: string;
   dictionary: D;
 }
 
-export type I18nDictionaries<D extends ReferenceDictionary> = Map<string, 
TranslatedDictionary<D>>;
+export type I18nDictionaries<D extends ReferenceDictionary<D>> = Map<string, 
TranslatedDictionary<D>>;
 
 export type DictionaryInterpolation = (...args: Array<string | number>) => 
string;
 
-export type ReferenceDictionary = {
-  [k: string]: string | DictionaryInterpolation | Array<string | number | 
Wrapped<string>> | ReferenceDictionary;
+export type ReferenceDictionary<D extends ReferenceDictionary<D>> = {
+  [K in keyof D]: D[K] extends string
+    ? string
+    : D[K] extends (...args: any[]) => string
+      ? DictionaryInterpolation
+      : D[K] extends Wrapped<string>
+        ? Wrapped<string>
+        : D[K] extends Array<string | number | Wrapped<string>>
+          ? Array<string | number | Wrapped<string>>
+          : D[K] extends Record<string, any>
+            ? ReferenceDictionary<D[K]>
+            : never;
 };
 
 // Locales that aren't the default should implement this interface
-export type TranslatedDictionary<D extends ReferenceDictionary> = 
DeepOptional<D>;
+export type TranslatedDictionary<D extends ReferenceDictionary<D>> = 
DeepOptional<D>;
 
 type DeepOptional<D> = { [K in keyof D]?: DeepOptional<D[K]> };
diff --git a/packages/i18n/src/core/I18n.ts b/packages/i18n/src/core/I18n.ts
index 21d3c07bcc6..ec148a91d2a 100644
--- a/packages/i18n/src/core/I18n.ts
+++ b/packages/i18n/src/core/I18n.ts
@@ -20,7 +20,7 @@
 import { I18nDefaults, I18nDictionaries, ReferenceDictionary, 
TranslatedDictionary } from "./Dictionary";
 import { immutableDeepMerge } from "./immutableDeepMerge";
 
-export class I18n<D extends ReferenceDictionary> {
+export class I18n<D extends ReferenceDictionary<D>> {
   private locale: string;
   private dictionary: D;
 
diff --git a/packages/i18n/src/core/Wrapped.ts 
b/packages/i18n/src/core/Wrapped.ts
index 17a06e6b3df..a2ca41f0e71 100644
--- a/packages/i18n/src/core/Wrapped.ts
+++ b/packages/i18n/src/core/Wrapped.ts
@@ -18,11 +18,11 @@
  */
 
 export interface Wrapped<Name> {
-  name: Name;
+  nameValue: Name;
 }
 
 export function wrapped<Name extends string>(wrappedName: Name): Wrapped<Name> 
{
-  return { name: wrappedName };
+  return { nameValue: wrappedName };
 }
 
 export type ExtractWrappedComponentNames<Component> = Component extends 
Wrapped<infer Name> ? Name : never;
diff --git a/packages/i18n/src/core/immutableDeepMerge.ts 
b/packages/i18n/src/core/immutableDeepMerge.ts
index 77532a37ff7..d246e913293 100644
--- a/packages/i18n/src/core/immutableDeepMerge.ts
+++ b/packages/i18n/src/core/immutableDeepMerge.ts
@@ -19,7 +19,10 @@
 
 import { DictionaryInterpolation, ReferenceDictionary, TranslatedDictionary } 
from "./Dictionary";
 
-function deepMerge<D>(target: ReferenceDictionary, source: 
TranslatedDictionary<ReferenceDictionary>) {
+function deepMerge<D extends ReferenceDictionary<D>>(
+  target: ReferenceDictionary<D>,
+  source: TranslatedDictionary<ReferenceDictionary<D>>
+): ReferenceDictionary<D> {
   Object.keys(source).forEach((key: Extract<keyof D, string>) => {
     const sourceValue = source[key];
 
@@ -27,17 +30,20 @@ function deepMerge<D>(target: ReferenceDictionary, source: 
TranslatedDictionary<
       return;
     }
     if (typeof sourceValue === "string" || typeof sourceValue === "function") {
-      target[key] = sourceValue as string | DictionaryInterpolation;
+      target[key] = sourceValue as ReferenceDictionary<D>[typeof key];
     } else {
-      target[key] = deepMerge(createObjectCopy(target[key] as 
ReferenceDictionary), sourceValue as ReferenceDictionary);
+      target[key] = deepMerge(
+        createObjectCopy(target[key] as ReferenceDictionary<D>),
+        sourceValue as TranslatedDictionary<ReferenceDictionary<D>>
+      ) as ReferenceDictionary<D>[typeof key];
     }
   });
   return target;
 }
 
-export function immutableDeepMerge<D extends ReferenceDictionary>(
-  target: ReferenceDictionary,
-  source: TranslatedDictionary<ReferenceDictionary>
+export function immutableDeepMerge<D extends ReferenceDictionary<D>>(
+  target: ReferenceDictionary<D>,
+  source: TranslatedDictionary<ReferenceDictionary<D>>
 ) {
   const targetCopy = createObjectCopy(target);
   return deepMerge(targetCopy, source);
diff --git a/packages/i18n/src/react-components/I18nContext.ts 
b/packages/i18n/src/react-components/I18nContext.ts
index 931f3f3ffde..c563383c9b0 100644
--- a/packages/i18n/src/react-components/I18nContext.ts
+++ b/packages/i18n/src/react-components/I18nContext.ts
@@ -20,7 +20,7 @@
 import * as React from "react";
 import { ReferenceDictionary } from "../core";
 
-export interface I18nContextType<D extends ReferenceDictionary> {
+export interface I18nContextType<D extends ReferenceDictionary<D>> {
   locale: string;
   setLocale: React.Dispatch<string>;
   i18n: D;
diff --git a/packages/i18n/src/react-components/I18nDictionariesProvider.tsx 
b/packages/i18n/src/react-components/I18nDictionariesProvider.tsx
index 6580c83cba0..418c1a81bba 100644
--- a/packages/i18n/src/react-components/I18nDictionariesProvider.tsx
+++ b/packages/i18n/src/react-components/I18nDictionariesProvider.tsx
@@ -22,7 +22,7 @@ import { useCallback, useMemo, useState } from "react";
 import { I18n, I18nDefaults, I18nDictionaries, ReferenceDictionary } from 
"../core";
 import { I18nContextType } from "./I18nContext";
 
-export interface I18nDictionariesProviderProps<D extends ReferenceDictionary> {
+export interface I18nDictionariesProviderProps<D extends 
ReferenceDictionary<D>> {
   defaults: I18nDefaults<D>;
   dictionaries: I18nDictionaries<D>;
   initialLocale?: string;
@@ -30,7 +30,7 @@ export interface I18nDictionariesProviderProps<D extends 
ReferenceDictionary> {
   children: React.ReactNode;
 }
 
-export const I18nDictionariesProvider = <D extends ReferenceDictionary>(props: 
I18nDictionariesProviderProps<D>) => {
+export const I18nDictionariesProvider = <D extends 
ReferenceDictionary<D>>(props: I18nDictionariesProviderProps<D>) => {
   const [locale, setLocale] = useState(props.initialLocale ?? 
props.defaults.locale);
 
   const i18n = useMemo(
diff --git a/packages/i18n/tests/core/I18n.test.ts 
b/packages/i18n/tests/core/I18n.test.ts
index 55fd0e7d103..f19e9af4e3b 100644
--- a/packages/i18n/tests/core/I18n.test.ts
+++ b/packages/i18n/tests/core/I18n.test.ts
@@ -19,15 +19,18 @@
 
 import { I18n, ReferenceDictionary, TranslatedDictionary } from 
"@kie-tools-core/i18n/dist/core";
 
-interface TestI18n extends ReferenceDictionary {
-  test: string;
-}
+interface TestI18n
+  extends ReferenceDictionary<{
+    test: string;
+  }> {}
 
 const english: TestI18n = {
   test: "this is a test",
 };
 
-const portuguese: TranslatedDictionary<ReferenceDictionary> = {
+const portuguese: TranslatedDictionary<{
+  test: string;
+}> = {
   test: "isso é um teste",
 };
 
diff --git a/packages/i18n/tests/utils.tsx b/packages/i18n/tests/utils.tsx
index 2bcc74486b4..5465fc5f021 100644
--- a/packages/i18n/tests/utils.tsx
+++ b/packages/i18n/tests/utils.tsx
@@ -22,17 +22,18 @@ import { useContext } from "react";
 import { DictionaryInterpolation, ReferenceDictionary } from 
"@kie-tools-core/i18n/dist/core/Dictionary";
 import { I18nContextType } from "@kie-tools-core/i18n/dist/react-components";
 
-export interface DummyDictionary extends ReferenceDictionary {
-  greeting: (name: string) => string;
-  welcome: string;
-  modal: {
-    title: string;
-    text: string;
-  };
-}
+export interface DummyDictionary
+  extends ReferenceDictionary<{
+    greeting: (name: string | number) => string;
+    welcome: string;
+    modal: {
+      title: string;
+      text: string;
+    };
+  }> {}
 
-export const interpolationFunction: DictionaryInterpolation = (name: string) 
=> `Hi ${name}!`;
-export const dummyDefault: DummyDictionary = {
+export const interpolationFunction: DictionaryInterpolation = (name: string | 
number) => `Hi ${name}!`;
+export const dummyDefault: ReferenceDictionary<DummyDictionary> = {
   greeting: interpolationFunction,
   welcome: "Welcome",
   modal: {
diff --git 
a/packages/import-java-classes-component/src/i18n/ImportJavaClassesWizardI18n.ts
 
b/packages/import-java-classes-component/src/i18n/ImportJavaClassesWizardI18n.ts
index da030667dcb..cf10d729b12 100644
--- 
a/packages/import-java-classes-component/src/i18n/ImportJavaClassesWizardI18n.ts
+++ 
b/packages/import-java-classes-component/src/i18n/ImportJavaClassesWizardI18n.ts
@@ -20,38 +20,39 @@
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 
-interface ImportJavaClassesWizardDictionary extends ReferenceDictionary {
-  modalButton: {
-    text: string;
-    disabledMessage: string;
-    errorMessage: string;
-  };
-  modalWizard: {
-    title: string;
-    description: string;
-    firstStep: {
-      stepName: string;
-      input: {
-        placeholder: string;
-        title: string;
-        tooltip: string;
+interface ImportJavaClassesWizardDictionary
+  extends ReferenceDictionary<{
+    modalButton: {
+      text: string;
+      disabledMessage: string;
+      errorMessage: string;
+    };
+    modalWizard: {
+      title: string;
+      description: string;
+      firstStep: {
+        stepName: string;
+        input: {
+          placeholder: string;
+          title: string;
+          tooltip: string;
+        };
+        emptyState: {
+          title: string;
+          body: string;
+        };
       };
-      emptyState: {
-        title: string;
-        body: string;
+      secondStep: {
+        stepName: string;
+      };
+      thirdStep: {
+        stepName: string;
+        nextButtonText: string;
+      };
+      fieldTable: {
+        fetchButtonLabel: string;
       };
     };
-    secondStep: {
-      stepName: string;
-    };
-    thirdStep: {
-      stepName: string;
-      nextButtonText: string;
-    };
-    fieldTable: {
-      fetchButtonLabel: string;
-    };
-  };
-}
+  }> {}
 
 export interface ImportJavaClassesWizardI18n extends 
ImportJavaClassesWizardDictionary, CommonI18n {}
diff --git a/packages/kie-bc-editors/src/common/i18n/KieBcEditorsI18n.ts 
b/packages/kie-bc-editors/src/common/i18n/KieBcEditorsI18n.ts
index 030bc00720d..801f01c1cb9 100644
--- a/packages/kie-bc-editors/src/common/i18n/KieBcEditorsI18n.ts
+++ b/packages/kie-bc-editors/src/common/i18n/KieBcEditorsI18n.ts
@@ -19,6 +19,7 @@
 
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 
-export interface KieBcEditorsI18n extends ReferenceDictionary {
-  unsupportedFile: string;
-}
+export interface KieBcEditorsI18n
+  extends ReferenceDictionary<{
+    unsupportedFile: string;
+  }> {}
diff --git a/packages/online-editor/src/i18n/OnlineI18n.ts 
b/packages/online-editor/src/i18n/OnlineI18n.ts
index 8aa75b76693..fcb9c9815f0 100644
--- a/packages/online-editor/src/i18n/OnlineI18n.ts
+++ b/packages/online-editor/src/i18n/OnlineI18n.ts
@@ -23,575 +23,576 @@ import { DmnUnitablesI18n } from 
"@kie-tools/unitables-dmn/dist/i18n";
 import { GistEnabledAuthProviderType, SupportedGitAuthProviders } from 
"../authProviders/AuthProvidersApi";
 import { SupportedActions } from 
"../workspace/components/GitStatusIndicatorActions";
 
-interface OnlineDictionary extends ReferenceDictionary {
-  editorPage: {
-    textEditorModal: {
-      title: (fileName: string) => string;
-    };
-    alerts: {
-      setContentError: {
-        action: string;
+interface OnlineDictionary
+  extends ReferenceDictionary<{
+    editorPage: {
+      textEditorModal: {
+        title: (fileName: string) => string;
+      };
+      alerts: {
+        setContentError: {
+          action: string;
+          title: string;
+        };
+        copy: string;
+        updateGist: string;
+        updateSnippet: string;
+        createGist: string;
+        createSnippet: string;
+        errorPushingGist: string;
+        errorPushingSnippet: string;
+        forcePushWarning: string;
+        invalidCurrentGist: string;
+        invalidGistFilename: string;
+        error: string;
+        unsaved: {
+          message: string;
+          titleLocal: string;
+          titleGit: string;
+          proceedAnyway: string;
+        };
+      };
+      error: {
         title: string;
+        explanation: string;
+        message: Array<string | Wrapped<"jira">>;
       };
-      copy: string;
-      updateGist: string;
-      updateSnippet: string;
+    };
+    editorToolbar: {
+      closeAndReturnHome: string;
+      saveAndDownload: string;
+      sendChangesToGitHub: string;
+      copySource: string;
+      downloadSVG: string;
+      setGitHubToken: string;
       createGist: string;
+      cantCreateGistTooltip: string;
+      cantUpdateGistTooltip: string;
       createSnippet: string;
-      errorPushingGist: string;
-      errorPushingSnippet: string;
-      forcePushWarning: string;
-      invalidCurrentGist: string;
-      invalidGistFilename: string;
-      error: string;
-      unsaved: {
-        message: string;
-        titleLocal: string;
-        titleGit: string;
-        proceedAnyway: string;
-      };
-    };
-    error: {
-      title: string;
-      explanation: string;
-      message: Array<string | Wrapped<"jira">>;
-    };
-  };
-  editorToolbar: {
-    closeAndReturnHome: string;
-    saveAndDownload: string;
-    sendChangesToGitHub: string;
-    copySource: string;
-    downloadSVG: string;
-    setGitHubToken: string;
-    createGist: string;
-    cantCreateGistTooltip: string;
-    cantUpdateGistTooltip: string;
-    createSnippet: string;
-    cantCreateSnippetTooltip: string;
-    cantUpdateSnippetTooltip: string;
-    share: string;
-    embed: string;
-  };
-  accelerators: {
-    commitMessage: (appName: string, acceleratorName: string) => string;
-    loadingAlert: (acceleratorName: string) => string;
-    successAlert: (acceleratorName: string) => string;
-    failAlert: (acceleratorName: string) => string;
-    acceleratorDescription: string;
-    acceleratorDetails: string;
-    dmnFilesMove: string;
-    dmnFilesLocation: string;
-    pmmlFilesMove: string;
-    pmmlFilesLocation: string;
-    bpmnFilesMove: string;
-    bpmnFilesLocation: string;
-    otherFilesMove: string;
-    otherFilesLocation: string;
-    applyAccelerator: string;
-    appliedAt: string;
-    applyDisclaimer: string;
-  };
-  devDeployments: {
-    common: {
-      deployYourModel: string;
-      deployInstanceInfo: string;
-      disclaimer: string;
-      learnMore: string;
-      requiredField: string;
-      deploying: string;
-      deleting: string;
-      saving: string;
-      setupFirst: string;
-    };
-    dropdown: {
-      noDeployments: string;
-      connectedTo: (username: string) => string;
-      connectedToAction: string;
-      deleteDeployments: string;
-      item: {
-        upTooltip: string;
-        downTooltip: string;
-        inProgressTooltip: string;
-        errorTooltip: string;
-        createdAt: (date: string) => string;
+      cantCreateSnippetTooltip: string;
+      cantUpdateSnippetTooltip: string;
+      share: string;
+      embed: string;
+    };
+    accelerators: {
+      commitMessage: (appName: string, acceleratorName: string) => string;
+      loadingAlert: (acceleratorName: string) => string;
+      successAlert: (acceleratorName: string) => string;
+      failAlert: (acceleratorName: string) => string;
+      acceleratorDescription: string;
+      acceleratorDetails: string;
+      dmnFilesMove: string;
+      dmnFilesLocation: string;
+      pmmlFilesMove: string;
+      pmmlFilesLocation: string;
+      bpmnFilesMove: string;
+      bpmnFilesLocation: string;
+      otherFilesMove: string;
+      otherFilesLocation: string;
+      applyAccelerator: string;
+      appliedAt: string;
+      applyDisclaimer: string;
+    };
+    devDeployments: {
+      common: {
+        deployYourModel: string;
+        deployInstanceInfo: string;
+        disclaimer: string;
+        learnMore: string;
+        requiredField: string;
+        deploying: string;
+        deleting: string;
+        saving: string;
+        setupFirst: string;
       };
-    };
-    introduction: {
-      explanation: string;
-      disclaimer: string;
-      getStarted: string;
-    };
-    configModal: {
-      hostInfo: string;
-      namespaceInfo: string;
-      tokenInfo: string;
-      insecurelyDisableTlsCertificateValidation: string;
-      insecurelyDisableTlsCertificateValidationInfo: string;
-      validationError: string;
-      connectionError: string;
-      missingPermissions: string;
-      namespaceNotFound: (namespace: string) => string;
-      configExpiredWarning: string;
-      useOpenShiftWizard: string;
-      useKubernetesWizard: string;
-    };
-    deployConfirmModal: {
-      title: string;
-      body: string;
-    };
-    deleteConfirmModal: {
-      title: string;
-      body: string;
-    };
-    alerts: {
-      deployStartedError: string;
-      deployStartedSuccess: string;
-      deleteError: string;
-      deleteSuccess: string;
-    };
-    openShiftConfigWizard: {
-      header: {
-        provider: string;
-      };
-      steps: {
-        first: {
-          name: string;
-          introduction: string;
-          goToGetStartedPage: string;
-          followSteps: string;
-          informNamespace: string;
-          inputReason: string;
-          namespacePlaceholder: string;
-        };
-        second: {
-          name: string;
-          introduction: string;
-          accessLoginCommand: string;
-          accessDisplayToken: string;
-          copyInformation: string;
-          inputReason: string;
-          hostPlaceholder: string;
-          tokenPlaceholder: string;
-        };
-        final: {
-          name: string;
-          connectionError: string;
-          connectionSuccess: string;
-          introduction: string;
-          configNote: string;
-          connectionErrorLong: string;
-          checkInfo: string;
-          possibleErrorReasons: {
-            introduction: string;
-            emptyField: string;
-            tokenExpired: string;
-            instanceExpired: string;
-          };
+      dropdown: {
+        noDeployments: string;
+        connectedTo: (username: string) => string;
+        connectedToAction: string;
+        deleteDeployments: string;
+        item: {
+          upTooltip: string;
+          downTooltip: string;
+          inProgressTooltip: string;
+          errorTooltip: string;
+          createdAt: (date: string) => string;
         };
       };
-    };
-    kubernetesConfigWizard: {
-      header: {
-        provider: string;
+      introduction: {
+        explanation: string;
+        disclaimer: string;
+        getStarted: string;
       };
-      fields: {
-        namespace: string;
+      configModal: {
+        hostInfo: string;
         namespaceInfo: string;
-        kubernetesApiServerUrl: string;
-        kubernetesApiServerUrlInfo: string;
         tokenInfo: string;
+        insecurelyDisableTlsCertificateValidation: string;
+        insecurelyDisableTlsCertificateValidationInfo: string;
+        validationError: string;
+        connectionError: string;
+        missingPermissions: string;
+        namespaceNotFound: (namespace: string) => string;
+        configExpiredWarning: string;
+        useOpenShiftWizard: string;
+        useKubernetesWizard: string;
       };
-      steps: {
-        first: {
-          name: string;
-          introduction: string;
-          installFlavor: (flavor: string) => string;
-          installKubectl: string;
-          runCommandsTerminal: string;
-          createCluster: string;
-          installIngress: string;
-          installKieSandboxYaml: string;
+      deployConfirmModal: {
+        title: string;
+        body: string;
+      };
+      deleteConfirmModal: {
+        title: string;
+        body: string;
+      };
+      alerts: {
+        deployStartedError: string;
+        deployStartedSuccess: string;
+        deleteError: string;
+        deleteSuccess: string;
+      };
+      openShiftConfigWizard: {
+        header: {
+          provider: string;
+        };
+        steps: {
+          first: {
+            name: string;
+            introduction: string;
+            goToGetStartedPage: string;
+            followSteps: string;
+            informNamespace: string;
+            inputReason: string;
+            namespacePlaceholder: string;
+          };
+          second: {
+            name: string;
+            introduction: string;
+            accessLoginCommand: string;
+            accessDisplayToken: string;
+            copyInformation: string;
+            inputReason: string;
+            hostPlaceholder: string;
+            tokenPlaceholder: string;
+          };
+          final: {
+            name: string;
+            connectionError: string;
+            connectionSuccess: string;
+            introduction: string;
+            configNote: string;
+            connectionErrorLong: string;
+            checkInfo: string;
+            possibleErrorReasons: {
+              introduction: string;
+              emptyField: string;
+              tokenExpired: string;
+              instanceExpired: string;
+            };
+          };
         };
-        second: {
-          name: string;
-          introduction: string;
-          disclaimer: string;
-          hostInputReason: string;
-          namespaceInputReason: string;
-          namespacePlaceholder: string;
-          hostPlaceholder: string;
+      };
+      kubernetesConfigWizard: {
+        header: {
+          provider: string;
         };
-        third: {
-          name: string;
-          introduction: string;
-          getToken: string;
-          tokenPlaceholder: string;
-          tokenInputReason: string;
+        fields: {
+          namespace: string;
+          namespaceInfo: string;
+          kubernetesApiServerUrl: string;
+          kubernetesApiServerUrlInfo: string;
+          tokenInfo: string;
         };
-        final: {
-          name: string;
-          connectionError: string;
-          connectionSuccess: string;
-          introduction: string;
-          configNote: string;
-          connectionErrorLong: string;
-          checkInfo: string;
-          possibleErrorReasons: {
+        steps: {
+          first: {
+            name: string;
+            introduction: string;
+            installFlavor: (flavor: string) => string;
+            installKubectl: string;
+            runCommandsTerminal: string;
+            createCluster: string;
+            installIngress: string;
+            installKieSandboxYaml: string;
+          };
+          second: {
+            name: string;
+            introduction: string;
+            disclaimer: string;
+            hostInputReason: string;
+            namespaceInputReason: string;
+            namespacePlaceholder: string;
+            hostPlaceholder: string;
+          };
+          third: {
+            name: string;
             introduction: string;
-            emptyField: string;
-            clusterNotCreatedCorrectly: string;
-            tokenExpired: string;
+            getToken: string;
+            tokenPlaceholder: string;
+            tokenInputReason: string;
+          };
+          final: {
+            name: string;
+            connectionError: string;
+            connectionSuccess: string;
+            introduction: string;
+            configNote: string;
+            connectionErrorLong: string;
+            checkInfo: string;
+            possibleErrorReasons: {
+              introduction: string;
+              emptyField: string;
+              clusterNotCreatedCorrectly: string;
+              tokenExpired: string;
+            };
           };
         };
       };
     };
-  };
-  embedModal: {
-    title: string;
-    description: string;
-    copy: string;
-    source: {
-      current: {
-        label: string;
-        description: string;
-      };
-      gist: {
-        alert: string;
-        tooltip: string;
-        label: string;
-        description: string;
+    embedModal: {
+      title: string;
+      description: string;
+      copy: string;
+      source: {
+        current: {
+          label: string;
+          description: string;
+        };
+        gist: {
+          alert: string;
+          tooltip: string;
+          label: string;
+          description: string;
+        };
       };
+      embedCode: string;
+      copiedToClipboard: string;
     };
-    embedCode: string;
-    copiedToClipboard: string;
-  };
-  connectToGitModal: {
-    [key in SupportedGitAuthProviders]: {
-      header: {
-        title: string;
-        subtitle: string;
-      };
-      footer: {
-        createNewToken: string;
-        placeHolder: string;
-      };
-      body: {
-        learnMore: string;
-        note: string;
-      };
-      validation: {
-        scopes: {
-          helper: string;
+    connectToGitModal: {
+      [key in SupportedGitAuthProviders]: {
+        header: {
+          title: string;
+          subtitle: string;
         };
-      };
-      form: {
-        username?: {
-          label: string;
+        footer: {
+          createNewToken: string;
           placeHolder: string;
         };
-        token: {
-          label: string;
-          placeHolder: string;
+        body: {
+          learnMore: string;
+          note: string;
+        };
+        validation: {
+          scopes: {
+            helper: string;
+          };
+        };
+        form: {
+          username: {
+            label: string;
+            placeHolder: string;
+          };
+          token: {
+            label: string;
+            placeHolder: string;
+          };
         };
       };
-    };
-  } & {
-    auth: {
-      disclaimer: string;
-      error: {
-        alreadyLoggedIn: string;
-        oauthScopes: (scopes: string) => string;
+    } & {
+      auth: {
+        disclaimer: string;
+        error: {
+          alreadyLoggedIn: string;
+          oauthScopes: (scopes: string) => string;
+        };
       };
+      status: {
+        loading: string;
+      };
+      navigation: {
+        seeConnectedAccounts: string;
+        continue: string;
+      };
+      insecurelyDisableTlsCertificateValidation: string;
+      insecurelyDisableTlsCertificateValidationInfo: string;
     };
-    status: {
-      loading: string;
-    };
-    navigation: {
-      seeConnectedAccounts: string;
-      continue: string;
-    };
-    insecurelyDisableTlsCertificateValidation: string;
-    insecurelyDisableTlsCertificateValidationInfo: string;
-  };
-  commitModal: {
-    title: string;
-    description: string;
-    commit: string;
-    emptyMessageValidation: string;
-    placeholder: string;
-  };
-  homePage: {
-    uploadFile: {
-      header: string;
-      body: string;
-      helperText: string;
-      helperInvalidText: string;
-      placeholder: string;
-    };
-    openUrl: {
-      validating: string;
-      invalidGistExtension: string;
-      invalidExtension: string;
-      invalidGist: string;
-      invalidUrl: string;
-      notFoundUrl: string;
-      corsNotAvailable: string;
-      openFromSource: string;
-      description: string;
-    };
-    dropdown: {
-      onlineForum: string;
-    };
-    bpmnCard: {
-      title: string;
-      explanation: string;
-      createNew: string;
-    };
-    dmnCard: {
-      title: string;
-      explanation: string;
-      createNew: string;
-    };
-    pmmlCard: {
-      title: string;
-      explanation: string;
-      createNew: string;
-    };
-    trySample: string;
-    chooseLocalFile: string;
-  };
-  alerts: {
-    gistError: string;
-    goToHomePage: string;
-    errorDetails: string;
-    responseError: {
+    commitModal: {
       title: string;
+      description: string;
+      commit: string;
+      emptyMessageValidation: string;
+      placeholder: string;
     };
-    fetchError: {
-      title: string;
-      possibleCauses: string;
-      missingGitHubToken: string;
-      cors: string;
+    homePage: {
+      uploadFile: {
+        header: string;
+        body: string;
+        helperText: string;
+        helperInvalidText: string;
+        placeholder: string;
+      };
+      openUrl: {
+        validating: string;
+        invalidGistExtension: string;
+        invalidExtension: string;
+        invalidGist: string;
+        invalidUrl: string;
+        notFoundUrl: string;
+        corsNotAvailable: string;
+        openFromSource: string;
+        description: string;
+      };
+      dropdown: {
+        onlineForum: string;
+      };
+      bpmnCard: {
+        title: string;
+        explanation: string;
+        createNew: string;
+      };
+      dmnCard: {
+        title: string;
+        explanation: string;
+        createNew: string;
+      };
+      pmmlCard: {
+        title: string;
+        explanation: string;
+        createNew: string;
+      };
+      trySample: string;
+      chooseLocalFile: string;
     };
-  };
-  dmnRunner: {
-    error: {
-      title: string;
-      explanation: string;
-      message: Array<string | Wrapped<"jira">>;
+    alerts: {
+      gistError: string;
+      goToHomePage: string;
+      errorDetails: string;
+      responseError: {
+        title: string;
+      };
+      fetchError: {
+        title: string;
+        possibleCauses: string;
+        missingGitHubToken: string;
+        cors: string;
+      };
     };
-    table: DmnUnitablesI18n;
-    modal: {
-      initial: {
-        runDmnModels: string;
+    dmnRunner: {
+      error: {
+        title: string;
         explanation: string;
-        notificationPanelExplanation: Array<string | Wrapped<"icon">>;
+        message: Array<string | Wrapped<"jira">>;
       };
-      wizard: {
-        title: string;
-        description: string;
-        outdatedAlert: {
-          title: string;
-          message: string;
-        };
-        stoppedAlert: {
-          title: string;
-          message: string;
+      table: DmnUnitablesI18n;
+      modal: {
+        initial: {
+          runDmnModels: string;
+          explanation: string;
+          notificationPanelExplanation: Array<string | Wrapped<"icon">>;
         };
-        disabled: {
+        wizard: {
           title: string;
-          alert: string;
-          message: string;
-          helper: string;
-        };
-        macos: {
-          install: {
-            download: string;
-            openFile: Array<string | Wrapped<"file">>;
-            dragFileToApplicationsFolder: Array<string | Wrapped<"file" | 
"folder">>;
+          description: string;
+          outdatedAlert: {
+            title: string;
+            message: string;
           };
-          start: {
-            stopped: {
-              startInstruction: string;
-              launchExtendedServices: Array<string | Wrapped<"file">>;
-            };
-            firstTime: {
-              title: string;
-              openApplicationsFolder: Array<string | Wrapped<"folder">>;
-              openAndCancel: Array<string | Wrapped<"file">>;
-              again: string;
-              openInstruction: Array<string | Wrapped<"file" | "again">>;
-            };
-            alreadyRanBefore: string;
-            launchExtendedServices: Array<string | Wrapped<"file">>;
-            advanced: {
-              title: string;
-              runFollowingCommand: string;
-            };
+          stoppedAlert: {
+            title: string;
+            message: string;
           };
-        };
-        windows: {
-          install: {
-            keepDownload: string;
-            moveTheFile: Array<string | Wrapped<"file">>;
+          disabled: {
+            title: string;
+            alert: string;
+            message: string;
+            helper: string;
           };
-          start: {
-            stopped: {
-              startInstruction: string;
+          macos: {
+            install: {
+              download: string;
+              openFile: Array<string | Wrapped<"file">>;
+              dragFileToApplicationsFolder: Array<string | Wrapped<"file" | 
"folder">>;
+            };
+            start: {
+              stopped: {
+                startInstruction: string;
+                launchExtendedServices: Array<string | Wrapped<"file">>;
+              };
+              firstTime: {
+                title: string;
+                openApplicationsFolder: Array<string | Wrapped<"folder">>;
+                openAndCancel: Array<string | Wrapped<"file">>;
+                again: string;
+                openInstruction: Array<string | Wrapped<"file" | "again">>;
+              };
+              alreadyRanBefore: string;
               launchExtendedServices: Array<string | Wrapped<"file">>;
+              advanced: {
+                title: string;
+                runFollowingCommand: string;
+              };
             };
-            firstTime: {
-              title: string;
-              openFolder: Array<string | Wrapped<"file">>;
-              runAnyway: string;
+          };
+          windows: {
+            install: {
+              keepDownload: string;
+              moveTheFile: Array<string | Wrapped<"file">>;
             };
-            alreadyRanBefore: string;
-            launchExtendedServices: Array<string | Wrapped<"file">>;
-            advanced: {
-              title: string;
-              runFollowingCommand: string;
+            start: {
+              stopped: {
+                startInstruction: string;
+                launchExtendedServices: Array<string | Wrapped<"file">>;
+              };
+              firstTime: {
+                title: string;
+                openFolder: Array<string | Wrapped<"file">>;
+                runAnyway: string;
+              };
+              alreadyRanBefore: string;
+              launchExtendedServices: Array<string | Wrapped<"file">>;
+              advanced: {
+                title: string;
+                runFollowingCommand: string;
+              };
             };
           };
-        };
-        linux: {
-          install: {
-            download: string;
-            installAppIndicator: string;
-            ubuntuDependency: Array<string | Wrapped<"package">>;
-            fedoraDependency: Array<string | Wrapped<"package">>;
-            extractContent: Array<string | Wrapped<"file">>;
-            binaryExplanation: Array<string | Wrapped<"file">>;
-          };
-          start: {
-            openTerminal: string;
-            goToFolder: Array<string | Wrapped<"file">>;
-            runCommand: string;
-            advanced: {
-              title: string;
-              runFollowingCommand: Array<string | Wrapped<"file">>;
+          linux: {
+            install: {
+              download: string;
+              installAppIndicator: string;
+              ubuntuDependency: Array<string | Wrapped<"package">>;
+              fedoraDependency: Array<string | Wrapped<"package">>;
+              extractContent: Array<string | Wrapped<"file">>;
+              binaryExplanation: Array<string | Wrapped<"file">>;
+            };
+            start: {
+              openTerminal: string;
+              goToFolder: Array<string | Wrapped<"file">>;
+              runCommand: string;
+              advanced: {
+                title: string;
+                runFollowingCommand: Array<string | Wrapped<"file">>;
+              };
             };
           };
-        };
-        footerWaitingToConnect: string;
-        advancedSettings: {
-          title: Array<string | Wrapped<"port">>;
-          label: string;
-          helperTextInvalid: string;
+          footerWaitingToConnect: string;
+          advancedSettings: {
+            title: Array<string | Wrapped<"port">>;
+            label: string;
+            helperTextInvalid: string;
+          };
         };
       };
-    };
-    dropdown: {
-      label: string;
-      setup: string;
-      open: string;
-      close: string;
-    };
-    button: {
-      available: string;
-    };
-  };
-  notificationsPanel: {
-    name: string;
-    tooltip: {
-      retractAll: string;
-      expandAll: string;
-    };
-  };
-  extendedServices: {
-    dropdown: {
-      shortConnected: (port: string) => string;
-      tooltip: {
-        connected: string;
-        install: string;
-        outdated: string;
-        disconnected: string;
+      dropdown: {
+        label: string;
+        setup: string;
+        open: string;
+        close: string;
+      };
+      button: {
+        available: string;
       };
     };
-    modal: {
-      initial: {
-        subHeader: string;
+    notificationsPanel: {
+      name: string;
+      tooltip: {
+        retractAll: string;
+        expandAll: string;
       };
     };
-  };
-  createGitRepositoryModal: {
-    [key in SupportedGitAuthProviders]: {
-      repository: string;
-      createRepository: string;
-      description: (workspace: string) => string;
-      error: {
-        formAlert: (error: string) => string;
+    extendedServices: {
+      dropdown: {
+        shortConnected: (port: string) => string;
+        tooltip: {
+          connected: string;
+          install: string;
+          outdated: string;
+          disconnected: string;
+        };
       };
-      form: {
-        select: {
-          label: string;
-          description: string;
+      modal: {
+        initial: {
+          subHeader: string;
         };
       };
     };
-  } & {
-    form: {
-      buttonCreate: string;
-      nameField: {
-        label: string;
-        hint: string;
-      };
-      visibility: {
-        public: {
-          label: string;
-          description: string;
+    createGitRepositoryModal: {
+      [key in SupportedGitAuthProviders]: {
+        repository: string;
+        createRepository: string;
+        description: (workspace: string) => string;
+        error: {
+          formAlert: (error: string) => string;
         };
-        private: {
-          label: string;
-          description: string;
+        form: {
+          select: {
+            label: string;
+            description: string;
+          };
         };
       };
-    };
-  };
-  createGistOrSnippetModal: {
-    [key in GistEnabledAuthProviderType]: {
-      gistOrSnippet: string;
-      create: string;
-      description: (workspace: string) => string;
-      error: {
-        formAlert: (error: string) => string;
-      };
+    } & {
       form: {
-        select: {
+        buttonCreate: string;
+        nameField: {
           label: string;
-          description: string;
+          hint: string;
+        };
+        visibility: {
+          public: {
+            label: string;
+            description: string;
+          };
+          private: {
+            label: string;
+            description: string;
+          };
         };
       };
     };
-  } & {
-    form: {
-      buttonCreate: string;
-      visibility: {
-        public: {
-          label: string;
-          description: string;
+    createGistOrSnippetModal: {
+      [key in GistEnabledAuthProviderType]: {
+        gistOrSnippet: string;
+        create: string;
+        description: (workspace: string) => string;
+        error: {
+          formAlert: (error: string) => string;
         };
-        private: {
-          label: string;
-          description: string;
+        form: {
+          select: {
+            label: string;
+            description: string;
+          };
+        };
+      };
+    } & {
+      form: {
+        buttonCreate: string;
+        visibility: {
+          public: {
+            label: string;
+            description: string;
+          };
+          private: {
+            label: string;
+            description: string;
+          };
         };
       };
     };
-  };
-  loadOrganizationsSelect: {
-    [key in SupportedGitAuthProviders]: {
-      user: string;
-      organizations: string;
+    loadOrganizationsSelect: {
+      [key in SupportedGitAuthProviders]: {
+        user: string;
+        organizations: string;
+      };
     };
-  };
-  gitStatusIndicatorActions: {
-    [key in SupportedActions]: {
-      title: string;
-      warning: string;
-      description: string;
-      confirmButtonText: string;
+    gitStatusIndicatorActions: {
+      [key in SupportedActions]: {
+        title: string;
+        warning: string;
+        description: string;
+        confirmButtonText: string;
+      };
     };
-  };
-}
+  }> {}
 
 export interface OnlineI18n extends OnlineDictionary, CommonI18n {}
diff --git a/packages/online-editor/src/i18n/locales/en.ts 
b/packages/online-editor/src/i18n/locales/en.ts
index 3b44e84a5c5..8c37473fe41 100644
--- a/packages/online-editor/src/i18n/locales/en.ts
+++ b/packages/online-editor/src/i18n/locales/en.ts
@@ -309,6 +309,10 @@ export const en: OnlineI18n = {
         },
       },
       form: {
+        username: {
+          label: "",
+          placeHolder: "",
+        },
         token: {
           label: "Personal Access Token (classic)",
           placeHolder: "Paste your GitHub token here",
@@ -363,6 +367,10 @@ export const en: OnlineI18n = {
         },
       },
       form: {
+        username: {
+          label: "",
+          placeHolder: "",
+        },
         token: {
           label: "Personal Access Token",
           placeHolder: `Paste your ${en_common.names.gitlab} token here`,
diff --git 
a/packages/scesim-editor-envelope/src/i18n/ScesimEditorEnvelopeI18n.ts 
b/packages/scesim-editor-envelope/src/i18n/ScesimEditorEnvelopeI18n.ts
index 1744fe5816d..d3dfb9c4d11 100644
--- a/packages/scesim-editor-envelope/src/i18n/ScesimEditorEnvelopeI18n.ts
+++ b/packages/scesim-editor-envelope/src/i18n/ScesimEditorEnvelopeI18n.ts
@@ -20,11 +20,12 @@
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 
-interface ScesimEditorEnvelopeDictionary extends ReferenceDictionary {
-  testScenarioEditor: string;
-  i: string;
-  misc: string;
-  openCloseDockPanel: string;
-}
+interface ScesimEditorEnvelopeDictionary
+  extends ReferenceDictionary<{
+    testScenarioEditor: string;
+    i: string;
+    misc: string;
+    openCloseDockPanel: string;
+  }> {}
 
 export interface ScesimEditorEnvelopeI18n extends 
ScesimEditorEnvelopeDictionary, CommonI18n {}
diff --git a/packages/scesim-editor/src/i18n/TestScenarioEditorI18n.ts 
b/packages/scesim-editor/src/i18n/TestScenarioEditorI18n.ts
index bf3256f2309..52deaf0dbaf 100644
--- a/packages/scesim-editor/src/i18n/TestScenarioEditorI18n.ts
+++ b/packages/scesim-editor/src/i18n/TestScenarioEditorI18n.ts
@@ -20,154 +20,155 @@
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 
-interface TestScenarioEditorDictionary extends ReferenceDictionary {
-  alerts: {
-    ruleDataNotAvailable: string;
-    dmnDataRetrievedFromScesim: string;
-    ruleDataRetrievedFromScesim: string;
-  };
-  creationPanel: {
-    assetsGroup: string;
-    assetsOption: {
-      dmn: string;
-      noChoice: string;
-      rule: string;
+interface TestScenarioEditorDictionary
+  extends ReferenceDictionary<{
+    alerts: {
+      ruleDataNotAvailable: string;
+      dmnDataRetrievedFromScesim: string;
+      ruleDataRetrievedFromScesim: string;
     };
-    autoFillTable: string;
-    autoFillTableTooltip: string;
-    createButton: string;
-    dmnGroup: string;
-    dmnNoChoice: string;
-    dmnNoPresent: string;
-    kieSessionGroup: string;
-    kieAgendaGroup: string;
-    optional: string;
-    statelessSession: string;
-    testSkip: string;
-    title: string;
-    modelPlaceholder: string;
-  };
-  drawer: {
-    cheatSheet: {
-      expression1DMN: string;
-      expression1Rule: string;
-      expression2DMN: string;
-      expression2Rule: string;
-      expression3DMN: string;
-      expression3Rule: string;
-      expression4DMN: string;
-      expression4Rule: string;
-      expression5DMN: string;
-      expression5Rule: string;
-      expression6DMN: string;
-      expression6Rule: string;
-      expression7DMN: string;
-      expression7Rule: string;
-      expression8DMN: string;
-      expression8Rule: string;
-      expression9DMN: string;
-      expression9Rule: string;
-      expression10DMN: string;
-      paragraph1: string;
-      paragraph2: (testScenarioTab: string) => string;
-      paragraph3: (backgroundTab: string, testScenarioTab: string) => string;
-      paragraph4: string;
-      paragraph5DMN: string;
-      paragraph6DMN: string;
-      paragraph6Rule: string;
+    creationPanel: {
+      assetsGroup: string;
+      assetsOption: {
+        dmn: string;
+        noChoice: string;
+        rule: string;
+      };
+      autoFillTable: string;
+      autoFillTableTooltip: string;
+      createButton: string;
+      dmnGroup: string;
+      dmnNoChoice: string;
+      dmnNoPresent: string;
+      kieSessionGroup: string;
+      kieAgendaGroup: string;
+      optional: string;
+      statelessSession: string;
+      testSkip: string;
       title: string;
+      modelPlaceholder: string;
     };
-    dataSelector: {
-      clearSelection: string;
-      collapseAll: string;
-      dataObjectsDescriptionDMN: string;
-      dataObjectsDescriptionRule: string;
-      descriptionDMN: string;
-      descriptionRule: string;
-      emptyDataObjectsTitle: string;
-      emptyDataObjectsMissingTitle: string;
-      emptyDataObjectsTitleDMN: string;
-      emptyDataObjectsTitleRule: string;
-      emptyDataObjectsDescription: string;
-      emptyDataObjectsMissingDescription: string;
-      emptyDataObjectsDescriptionDMN: string;
-      emptyDataObjectsDescriptionRule: string;
-      expandAll: string;
-      insertDataObject: string;
-      insertDataObjectTooltipColumnSelectionMessage: string;
-      insertDataObjectTooltipDataObjectSelectionMessage: string;
-      insertDataObjectTooltipDataObjectAlreadyAssignedMessage: string;
-      insertDataObjectTooltipDataObjectAssignMessage: string;
-      titleDMN: string;
-      titleRule: string;
+    drawer: {
+      cheatSheet: {
+        expression1DMN: string;
+        expression1Rule: string;
+        expression2DMN: string;
+        expression2Rule: string;
+        expression3DMN: string;
+        expression3Rule: string;
+        expression4DMN: string;
+        expression4Rule: string;
+        expression5DMN: string;
+        expression5Rule: string;
+        expression6DMN: string;
+        expression6Rule: string;
+        expression7DMN: string;
+        expression7Rule: string;
+        expression8DMN: string;
+        expression8Rule: string;
+        expression9DMN: string;
+        expression9Rule: string;
+        expression10DMN: string;
+        paragraph1: string;
+        paragraph2: (testScenarioTab: string) => string;
+        paragraph3: (backgroundTab: string, testScenarioTab: string) => string;
+        paragraph4: string;
+        paragraph5DMN: string;
+        paragraph6DMN: string;
+        paragraph6Rule: string;
+        title: string;
+      };
+      dataSelector: {
+        clearSelection: string;
+        collapseAll: string;
+        dataObjectsDescriptionDMN: string;
+        dataObjectsDescriptionRule: string;
+        descriptionDMN: string;
+        descriptionRule: string;
+        emptyDataObjectsTitle: string;
+        emptyDataObjectsMissingTitle: string;
+        emptyDataObjectsTitleDMN: string;
+        emptyDataObjectsTitleRule: string;
+        emptyDataObjectsDescription: string;
+        emptyDataObjectsMissingDescription: string;
+        emptyDataObjectsDescriptionDMN: string;
+        emptyDataObjectsDescriptionRule: string;
+        expandAll: string;
+        insertDataObject: string;
+        insertDataObjectTooltipColumnSelectionMessage: string;
+        insertDataObjectTooltipDataObjectSelectionMessage: string;
+        insertDataObjectTooltipDataObjectAlreadyAssignedMessage: string;
+        insertDataObjectTooltipDataObjectAssignMessage: string;
+        titleDMN: string;
+        titleRule: string;
+      };
+      settings: {
+        assetType: string;
+        dmnModel: string;
+        dmnModelReferenceError: string;
+        dmnName: string;
+        dmnNameSpace: string;
+        fileName: string;
+        kieSessionRule: string;
+        kieSessionRulePlaceholder: string;
+        kieSessionRuleTooltip: string;
+        ruleFlowGroup: string;
+        ruleFlowGroupPlaceholder: string;
+        ruleFlowGroupTooltip: string;
+        statelessSessionRule: string;
+        statelessSessionRuleTooltip: string;
+        testSkipped: string;
+        testSkippedTooltip: string;
+        title: string;
+      };
     };
-    settings: {
-      assetType: string;
-      dmnModel: string;
-      dmnModelReferenceError: string;
-      dmnName: string;
-      dmnNameSpace: string;
-      fileName: string;
-      kieSessionRule: string;
-      kieSessionRulePlaceholder: string;
-      kieSessionRuleTooltip: string;
-      ruleFlowGroup: string;
-      ruleFlowGroupPlaceholder: string;
-      ruleFlowGroupTooltip: string;
-      statelessSessionRule: string;
-      statelessSessionRuleTooltip: string;
-      testSkipped: string;
-      testSkippedTooltip: string;
+    errorFallBack: {
       title: string;
+      body: string;
+      lastActionButton: string;
+      fileIssueHref: string;
+      errorDetails: string;
     };
-  };
-  errorFallBack: {
-    title: string;
-    body: string;
-    lastActionButton: string;
-    fileIssueHref: string;
-    errorDetails: string;
-  };
-  sidebar: {
-    cheatSheetTooltip: string;
-    dataSelectorTooltip: string;
-    settingsTooltip: string;
-  };
-  tab: {
-    backgroundTabTitle: string;
-    backgroundTabInfo: string;
-    scenarioTabTitle: string;
-    scenarioTabInfo: string;
-  };
-  table: {
-    simulation: { singleEntry: string };
-    background: {};
-    copy: string;
-    copied: string;
-    cut: string;
-    delete: string;
-    duplicate: string;
-    deleteField: string;
-    deleteInstance: string;
-    expect: string;
-    field: string;
-    given: string;
-    insert: string;
-    insertAbove: string;
-    insertBelow: string;
-    insertLeftField: string;
-    insertRightField: string;
-    insertLeftInstance: string;
-    insertRightInstance: string;
-    instance: string;
-    paste: string;
-    reset: string;
-    selection: string;
-  };
-  fileParsingErrorMessage: string;
-  parsingErrorTitle: string;
-  unsupportedTitle: (version: string) => string;
-  unsupportedMessage: (version: string) => string;
-}
+    sidebar: {
+      cheatSheetTooltip: string;
+      dataSelectorTooltip: string;
+      settingsTooltip: string;
+    };
+    tab: {
+      backgroundTabTitle: string;
+      backgroundTabInfo: string;
+      scenarioTabTitle: string;
+      scenarioTabInfo: string;
+    };
+    table: {
+      simulation: { singleEntry: string };
+      background: {};
+      copy: string;
+      copied: string;
+      cut: string;
+      delete: string;
+      duplicate: string;
+      deleteField: string;
+      deleteInstance: string;
+      expect: string;
+      field: string;
+      given: string;
+      insert: string;
+      insertAbove: string;
+      insertBelow: string;
+      insertLeftField: string;
+      insertRightField: string;
+      insertLeftInstance: string;
+      insertRightInstance: string;
+      instance: string;
+      paste: string;
+      reset: string;
+      selection: string;
+    };
+    fileParsingErrorMessage: string;
+    parsingErrorTitle: string;
+    unsupportedTitle: (version: string) => string;
+    unsupportedMessage: (version: string) => string;
+  }> {}
 
 export default interface TestScenarioEditorI18n extends 
TestScenarioEditorDictionary, CommonI18n {}
diff --git a/packages/serverless-logic-web-tools/src/i18n/AppI18n.ts 
b/packages/serverless-logic-web-tools/src/i18n/AppI18n.ts
index 3b1178924cc..67706331e92 100644
--- a/packages/serverless-logic-web-tools/src/i18n/AppI18n.ts
+++ b/packages/serverless-logic-web-tools/src/i18n/AppI18n.ts
@@ -20,97 +20,98 @@
 import { ReferenceDictionary, Wrapped } from "@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 
-interface AppDictionary extends ReferenceDictionary {
-  editorPage: {
-    textEditorModal: {
-      title: (fileName: string) => string;
-    };
-    alerts: {
-      setContentError: {
-        action: string;
-        title: string;
+interface AppDictionary
+  extends ReferenceDictionary<{
+    editorPage: {
+      textEditorModal: {
+        title: (fileName: string) => string;
       };
-      copy: string;
-      updateGist: string;
-      createGist: string;
-      errorPushingGist: string;
-      forcePushWarning: string;
-      invalidCurrentGist: string;
-      invalidGistFilename: string;
-      error: string;
-      unsaved: {
-        message: string;
-        titleLocal: string;
-        titleGit: string;
-        proceedAnyway: string;
+      alerts: {
+        setContentError: {
+          action: string;
+          title: string;
+        };
+        copy: string;
+        updateGist: string;
+        createGist: string;
+        errorPushingGist: string;
+        forcePushWarning: string;
+        invalidCurrentGist: string;
+        invalidGistFilename: string;
+        error: string;
+        unsaved: {
+          message: string;
+          titleLocal: string;
+          titleGit: string;
+          proceedAnyway: string;
+        };
       };
     };
-  };
-  editorToolbar: {
-    closeAndReturnHome: string;
-    saveAndDownload: string;
-    sendChangesToGitHub: string;
-    copySource: string;
-    downloadSVG: string;
-    setGitHubToken: string;
-    createGist: string;
-    cantCreateGistTooltip: string;
-    cantUpdateGistTooltip: string;
-    share: string;
-  };
-  openshift: {
-    introduction: {
-      explanation: string;
-    };
-    configModal: {
-      hostInfo: string;
-      namespaceInfo: string;
-      tokenInfo: string;
-      insecurelyDisableTlsCertificateValidation: string;
-      insecurelyDisableTlsCertificateValidationInfo: string;
-      validationError: string;
-      connectionError: string;
-      configExpiredWarning: string;
-    };
-    confirmModal: {
-      title: string;
-      body: string;
-    };
-  };
-  githubTokenModal: {
-    header: {
-      title: string;
-      subtitle: string;
+    editorToolbar: {
+      closeAndReturnHome: string;
+      saveAndDownload: string;
+      sendChangesToGitHub: string;
+      copySource: string;
+      downloadSVG: string;
+      setGitHubToken: string;
+      createGist: string;
+      cantCreateGistTooltip: string;
+      cantUpdateGistTooltip: string;
+      share: string;
     };
-    footer: {
-      createNewToken: string;
-      placeHolder: string;
+    openshift: {
+      introduction: {
+        explanation: string;
+      };
+      configModal: {
+        hostInfo: string;
+        namespaceInfo: string;
+        tokenInfo: string;
+        insecurelyDisableTlsCertificateValidation: string;
+        insecurelyDisableTlsCertificateValidationInfo: string;
+        validationError: string;
+        connectionError: string;
+        configExpiredWarning: string;
+      };
+      confirmModal: {
+        title: string;
+        body: string;
+      };
     };
-    body: {
-      disclaimer: string;
-      learnMore: string;
-      note: string;
+    githubTokenModal: {
+      header: {
+        title: string;
+        subtitle: string;
+      };
+      footer: {
+        createNewToken: string;
+        placeHolder: string;
+      };
+      body: {
+        disclaimer: string;
+        learnMore: string;
+        note: string;
+      };
     };
-  };
-  notificationsPanel: {
-    name: string;
-    tooltip: {
-      retractAll: string;
-      expandAll: string;
+    notificationsPanel: {
+      name: string;
+      tooltip: {
+        retractAll: string;
+        expandAll: string;
+      };
     };
-  };
-  deployments: {
-    virtualServiceRegistry: {
-      dependencyWarning: string;
-      dependencyWarningTooltip: string;
+    deployments: {
+      virtualServiceRegistry: {
+        dependencyWarning: string;
+        dependencyWarningTooltip: string;
+      };
     };
-  };
-  RuntimeToolsSettings: {
-    configModal: {
-      validDataIndexURLError: string;
-      dataIndexConnectionError: string;
+    RuntimeToolsSettings: {
+      configModal: {
+        validDataIndexURLError: string;
+        dataIndexConnectionError: string;
+      };
     };
-  };
-}
+  }> {}
 
 export interface AppI18n extends AppDictionary, CommonI18n {}
diff --git a/packages/unitables-dmn/src/i18n/DmnUnitablesI18n.ts 
b/packages/unitables-dmn/src/i18n/DmnUnitablesI18n.ts
index 0355a3077b6..fa7acfd8c99 100644
--- a/packages/unitables-dmn/src/i18n/DmnUnitablesI18n.ts
+++ b/packages/unitables-dmn/src/i18n/DmnUnitablesI18n.ts
@@ -21,10 +21,11 @@ import { UnitablesI18n } from 
"@kie-tools/unitables/dist/i18n";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 
-interface DmnUniablesDictionary extends ReferenceDictionary {
-  schema: {
-    selectPlaceholder: string;
-  };
-}
+interface DmnUniablesDictionary
+  extends ReferenceDictionary<{
+    schema: {
+      selectPlaceholder: string;
+    };
+  }> {}
 
 export interface DmnUnitablesI18n extends DmnUniablesDictionary, CommonI18n, 
UnitablesI18n {}
diff --git a/packages/unitables/src/i18n/UnitablesI18n.ts 
b/packages/unitables/src/i18n/UnitablesI18n.ts
index 5db120fc644..7b0049e2dde 100644
--- a/packages/unitables/src/i18n/UnitablesI18n.ts
+++ b/packages/unitables/src/i18n/UnitablesI18n.ts
@@ -21,18 +21,19 @@ import { ReferenceDictionary } from 
"@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 import { BoxedExpressionEditorI18n } from 
"@kie-tools/boxed-expression-component/dist/i18n";
 
-interface UnitablesDictionary extends ReferenceDictionary {
-  schema: {
-    selectPlaceholder: string;
-  };
-  recursiveNotSupported: string;
-  openRowFormView: (rowIndex: number) => string;
-  noInputNodes: string;
-  addInputNode: string;
-  error: string;
-  errorMessage: string;
-  noDecisionResults: string;
-  addInputDecisionNodes: string;
-}
+interface UnitablesDictionary
+  extends ReferenceDictionary<{
+    schema: {
+      selectPlaceholder: string;
+    };
+    recursiveNotSupported: string;
+    openRowFormView: (rowIndex: number) => string;
+    noInputNodes: string;
+    addInputNode: string;
+    error: string;
+    errorMessage: string;
+    noDecisionResults: string;
+    addInputDecisionNodes: string;
+  }> {}
 
 export interface UnitablesI18n extends UnitablesDictionary, CommonI18n, 
BoxedExpressionEditorI18n {}
diff --git a/packages/vscode-extension/src/i18n/VsCodeI18n.ts 
b/packages/vscode-extension/src/i18n/VsCodeI18n.ts
index f49321df292..3d45139cede 100644
--- a/packages/vscode-extension/src/i18n/VsCodeI18n.ts
+++ b/packages/vscode-extension/src/i18n/VsCodeI18n.ts
@@ -19,14 +19,15 @@
 
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 
-interface VsCodeDictionary extends ReferenceDictionary {
-  savedSvg: (fileName: string) => string;
-  openSvg: string;
-  savedSuccessfully: string;
-  errorOpeningFileText: (fileName: string) => string;
-  openAsTextButton: string;
-  reopenAsDiagramText: string;
-  reopenAsDiagramButton: string;
-}
+interface VsCodeDictionary
+  extends ReferenceDictionary<{
+    savedSvg: (fileName: string) => string;
+    openSvg: string;
+    savedSuccessfully: string;
+    errorOpeningFileText: (fileName: string) => string;
+    openAsTextButton: string;
+    reopenAsDiagramText: string;
+    reopenAsDiagramButton: string;
+  }> {}
 
 export interface VsCodeI18n extends VsCodeDictionary {}
diff --git 
a/packages/vscode-extension/src/notifications/i18n/NotificationsApiVsCodeI18nDictionary.ts
 
b/packages/vscode-extension/src/notifications/i18n/NotificationsApiVsCodeI18nDictionary.ts
index c7b8e309494..b7ac39e6d7f 100644
--- 
a/packages/vscode-extension/src/notifications/i18n/NotificationsApiVsCodeI18nDictionary.ts
+++ 
b/packages/vscode-extension/src/notifications/i18n/NotificationsApiVsCodeI18nDictionary.ts
@@ -19,6 +19,7 @@
 
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 
-export interface NotificationsApiVsCodeI18nDictionary extends 
ReferenceDictionary {
-  open: string;
-}
+export interface NotificationsApiVsCodeI18nDictionary
+  extends ReferenceDictionary<{
+    open: string;
+  }> {}
diff --git a/packages/yard-editor/src/i18n/YardEditorI18n.ts 
b/packages/yard-editor/src/i18n/YardEditorI18n.ts
index 8cedeafa553..d91bf7101ec 100644
--- a/packages/yard-editor/src/i18n/YardEditorI18n.ts
+++ b/packages/yard-editor/src/i18n/YardEditorI18n.ts
@@ -20,26 +20,27 @@
 import { ReferenceDictionary } from "@kie-tools-core/i18n/dist/core";
 import { CommonI18n } from "@kie-tools/i18n-common-dictionary";
 
-interface YardEditorDictionary extends ReferenceDictionary {
-  decisionElementsTab: {
-    emptyStateTitle: string;
-    emptyStateBody: string;
-    tabTitle: string;
-  };
-  decisionInputsTab: {
-    emptyStateTitle: string;
-    emptyStateBody: string;
-    name: string;
-    tabTitle: string;
-    type: string;
-  };
-  generalTab: {
-    expressionLang: string;
-    kind: string;
-    name: string;
-    specVersion: string;
-    tabTitle: string;
-  };
-}
+interface YardEditorDictionary
+  extends ReferenceDictionary<{
+    decisionElementsTab: {
+      emptyStateTitle: string;
+      emptyStateBody: string;
+      tabTitle: string;
+    };
+    decisionInputsTab: {
+      emptyStateTitle: string;
+      emptyStateBody: string;
+      name: string;
+      tabTitle: string;
+      type: string;
+    };
+    generalTab: {
+      expressionLang: string;
+      kind: string;
+      name: string;
+      specVersion: string;
+      tabTitle: string;
+    };
+  }> {}
 
 export interface YardEditorI18n extends YardEditorDictionary, CommonI18n {}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to