You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2021/03/31 18:48:44 UTC

[incubator-hop] branch master updated: HOP-2694 - Fixed hardcoded strings in HopNeo4jPerspective HOP-2330 - Improved Italian Translations Minor bugfixes

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

hansva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hop.git


The following commit(s) were added to refs/heads/master by this push:
     new d8b76a9  HOP-2694 - Fixed hardcoded strings in HopNeo4jPerspective HOP-2330 - Improved Italian Translations Minor bugfixes
     new 2cee529  Merge pull request #727 from sramazzina/GUI_Multilanguage
d8b76a9 is described below

commit d8b76a95ef719c72f836259642addbf7cb82f131
Author: sergio.ramazzina <se...@serasoft.it>
AuthorDate: Wed Mar 31 17:44:13 2021 +0200

    HOP-2694 - Fixed hardcoded strings in HopNeo4jPerspective
    HOP-2330 - Improved Italian Translations
    Minor bugfixes
---
 .../hop/neo4j/perspective/HopNeo4jPerspective.java | 86 ++++++++++++++--------
 .../perspective/messages/messages_en_US.properties | 57 ++++++++++++++
 .../perspective/messages/messages_it_IT.properties | 57 ++++++++++++++
 .../hopgui/file/pipeline/HopGuiPipelineGraph.java  |  5 +-
 .../hopgui/file/workflow/HopGuiWorkflowGraph.java  |  4 +-
 .../workflow/messages/messages_en_US.properties    |  2 +
 .../workflow/messages/messages_it_IT.properties    |  5 +-
 .../ui/hopgui/messages/messages_en_US.properties   |  3 +-
 .../ui/hopgui/messages/messages_it_IT.properties   |  4 +
 9 files changed, 187 insertions(+), 36 deletions(-)

diff --git a/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/perspective/HopNeo4jPerspective.java b/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/perspective/HopNeo4jPerspective.java
index d4458b0..b76c57d 100644
--- a/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/perspective/HopNeo4jPerspective.java
+++ b/plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/perspective/HopNeo4jPerspective.java
@@ -49,6 +49,7 @@ import org.apache.hop.core.logging.ILogChannel;
 import org.apache.hop.core.logging.LogChannel;
 import org.apache.hop.core.search.ISearchable;
 import org.apache.hop.core.variables.IVariables;
+import org.apache.hop.i18n.BaseMessages;
 import org.apache.hop.neo4j.logging.Defaults;
 import org.apache.hop.neo4j.logging.util.LoggingCore;
 import org.apache.hop.neo4j.shared.NeoConnection;
@@ -117,6 +118,8 @@ import java.util.Map;
 @GuiPlugin
 public class HopNeo4jPerspective implements IHopPerspective {
 
+  public static final Class<?> PKG = HopNeo4jPerspective.class;
+
   public static final String ID_PERSPECTIVE_TOOLBAR_ITEM = "9000-perspective-neo4j";
 
   private Image neo4jImage;
@@ -216,7 +219,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
     //
     Label wlInfo = new Label(composite, SWT.LEFT);
     props.setLook(wlInfo);
-    wlInfo.setText("Query execution history stored in a Neo4j Audit Graph");
+    wlInfo.setText(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Shell.Title"));
     wlInfo.setFont(GuiResource.getInstance().getFontBold());
     FormData fdInfo = new FormData();
     fdInfo.left = new FormAttachment(0, 0);
@@ -236,7 +239,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
 
     Label wlUsedConnection = new Label(composite, SWT.LEFT);
     props.setLook(wlUsedConnection);
-    wlUsedConnection.setText("NEO4J_LOGGING_CONNECTION is pointing to ");
+    wlUsedConnection.setText(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Neo4J.Logging.Path.Label"));
     FormData fdlLoggingConnection = new FormData();
     fdlLoggingConnection.left = new FormAttachment(0, 0);
     fdlLoggingConnection.top = new FormAttachment(lastControl, margin);
@@ -244,7 +247,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
     wUsedConnection = new Text(composite, SWT.SINGLE | SWT.BORDER);
     wUsedConnection.setEditable(false);
     props.setLook(wUsedConnection);
-    wUsedConnection.setText("NEO4J_LOGGING_CONNECTION is pointing to ");
+    wUsedConnection.setText(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Neo4J.Logging.Path.Label"));
     wUsedConnection.setFont(GuiResource.getInstance().getFontBold());
     FormData fdLoggingConnection = new FormData();
     fdLoggingConnection.left = new FormAttachment(wlUsedConnection, margin);
@@ -257,7 +260,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
     //
     Label wlExecutions = new Label(composite, SWT.LEFT);
     props.setLook(wlExecutions);
-    wlExecutions.setText("The name of the pipeline or workflow to display:");
+    wlExecutions.setText(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.PipelineActionName.Label"));
     FormData fdlExecutions = new FormData();
     fdlExecutions.left = new FormAttachment(0, 0);
     fdlExecutions.top = new FormAttachment(lastControl, margin);
@@ -277,7 +280,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
 
     Label wlAmount = new Label(composite, SWT.LEFT);
     props.setLook(wlAmount);
-    wlAmount.setText("Show last ");
+    wlAmount.setText(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.ShowLast.Label"));
     FormData fdlAmount = new FormData();
     fdlAmount.left = new FormAttachment(wExecutions, 2 * margin);
     fdlAmount.top = new FormAttachment(lastControl, margin);
@@ -296,7 +299,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
     wAmount.addListener(SWT.Selection, this::search);
 
     wOnlyRoot = new Button(composite, SWT.CHECK);
-    wOnlyRoot.setText("Only show root executions");
+    wOnlyRoot.setText(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.OnlyRoot.Label"));
     wOnlyRoot.setSelection(true); // default is to limit the amount of entries
     props.setLook(wOnlyRoot);
     FormData fdOnlyRoot = new FormData();
@@ -309,7 +312,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
 
     Button wbSearch = new Button(composite, SWT.PUSH);
     props.setLook(wbSearch);
-    wbSearch.setText("  Search  ");
+    wbSearch.setText(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Search.Button"));
     FormData fdbSearch = new FormData();
     fdbSearch.left = new FormAttachment(0, 0);
     fdbSearch.top = new FormAttachment(lastControl, margin);
@@ -319,7 +322,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
 
     Button wbOpen = new Button(composite, SWT.PUSH);
     props.setLook(wbOpen);
-    wbOpen.setText("    Open    ");
+    wbOpen.setText(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Open.Button"));
     FormData fdbOpen = new FormData();
     fdbOpen.left = new FormAttachment(50, 0);
     fdbOpen.bottom = new FormAttachment(100, -margin);
@@ -338,17 +341,28 @@ public class HopNeo4jPerspective implements IHopPerspective {
     // A table with the execution history results...
     //
     ColumnInfo[] resultsColumns = {
-      new ColumnInfo("ID", ColumnInfo.COLUMN_TYPE_TEXT, false, true),
-      new ColumnInfo("Name", ColumnInfo.COLUMN_TYPE_TEXT, false, true),
-      new ColumnInfo("Type", ColumnInfo.COLUMN_TYPE_TEXT, false, true),
-      new ColumnInfo("Read", ColumnInfo.COLUMN_TYPE_TEXT, false, true),
-      new ColumnInfo("Written", ColumnInfo.COLUMN_TYPE_TEXT, false, true),
-      new ColumnInfo("Input", ColumnInfo.COLUMN_TYPE_TEXT, false, true),
-      new ColumnInfo("Output", ColumnInfo.COLUMN_TYPE_TEXT, false, true),
-      new ColumnInfo("Rejected", ColumnInfo.COLUMN_TYPE_TEXT, false, true),
-      new ColumnInfo("Errors", ColumnInfo.COLUMN_TYPE_TEXT, false, true),
-      new ColumnInfo("Date", ColumnInfo.COLUMN_TYPE_TEXT, false, true),
-      new ColumnInfo("Duration", ColumnInfo.COLUMN_TYPE_TEXT, false, true),
+      new ColumnInfo(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Column.ID.Name")
+              , ColumnInfo.COLUMN_TYPE_TEXT, false, true),
+      new ColumnInfo(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Column.Name.Name")
+              , ColumnInfo.COLUMN_TYPE_TEXT, false, true),
+      new ColumnInfo(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Column.Type.Name")
+              , ColumnInfo.COLUMN_TYPE_TEXT, false, true),
+      new ColumnInfo(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Column.Read.Name")
+              , ColumnInfo.COLUMN_TYPE_TEXT, false, true),
+      new ColumnInfo(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Column.Written.Name")
+              , ColumnInfo.COLUMN_TYPE_TEXT, false, true),
+      new ColumnInfo(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Column.Input.Name")
+              , ColumnInfo.COLUMN_TYPE_TEXT, false, true),
+      new ColumnInfo(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Column.Output.Name")
+              , ColumnInfo.COLUMN_TYPE_TEXT, false, true),
+      new ColumnInfo(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Column.Rejected.Name")
+              , ColumnInfo.COLUMN_TYPE_TEXT, false, true),
+      new ColumnInfo(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Column.Errors.Name")
+              , ColumnInfo.COLUMN_TYPE_TEXT, false, true),
+      new ColumnInfo(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Column.Date.Name")
+              , ColumnInfo.COLUMN_TYPE_TEXT, false, true),
+      new ColumnInfo(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Column.Duration.Name")
+              , ColumnInfo.COLUMN_TYPE_TEXT, false, true),
     };
 
     wResults =
@@ -382,7 +396,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
 
     CTabItem loggingTab = new CTabItem(tabFolder, SWT.NONE);
     loggingTab.setImage(GuiResource.getInstance().getImageShowLog());
-    loggingTab.setText("Logging");
+    loggingTab.setText(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Logging.Tab"));
     wLogging = new Text(tabFolder, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
     props.setLook(wLogging);
     wLogging.setFont(GuiResource.getInstance().getFontFixed());
@@ -390,7 +404,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
 
     CTabItem lineageTab = new CTabItem(tabFolder, SWT.NONE);
     lineageTab.setImage(lineageImage);
-    lineageTab.setText("Path to error");
+    lineageTab.setText(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.PathError.Tab"));
     wTree = new Tree(tabFolder, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
     props.setLook(wTree);
     wTree.setHeaderVisible(true);
@@ -432,7 +446,7 @@ public class HopNeo4jPerspective implements IHopPerspective {
     }
 
     CTabItem cypherTab = new CTabItem(tabFolder, SWT.NONE);
-    cypherTab.setText("Useful Cypher queries");
+    cypherTab.setText(BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.Cypher.Tab"));
     cypherTab.setImage(neo4jImage);
     wCypher = new Text(tabFolder, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
     props.setLook(wCypher);
@@ -488,7 +502,9 @@ public class HopNeo4jPerspective implements IHopPerspective {
         }
       }
     } catch (Exception e) {
-      new ErrorDialog(hopGui.getShell(), "Error", "Error analyzing execution result", e);
+      new ErrorDialog(hopGui.getShell()
+              , BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.ErrorAnalyze.Dialog.Header")
+              , BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.ErrorAnalyze.Dialog.Message"), e);
     }
   }
 
@@ -724,7 +740,9 @@ public class HopNeo4jPerspective implements IHopPerspective {
       String type = tableItem.getText(3);
       openItem(connection, id, name, type);
     } catch (Exception e) {
-      new ErrorDialog(hopGui.getShell(), "Error", "Error opening pipeline or workflow", e);
+      new ErrorDialog(hopGui.getShell(),
+              BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.ErrorOpeningPipeline.Dialog.Header")
+              , "Neo4jPerspectiveDialog.ErrorOpeningPipeline.Dialog.Message", e);
     }
   }
 
@@ -861,7 +879,9 @@ public class HopNeo4jPerspective implements IHopPerspective {
         wExecutions.setText(Const.NVL(searchName, ""));
       }
     } catch (Throwable e) {
-      new ErrorDialog(hopGui.getShell(), "Error", "Error searching", e);
+      new ErrorDialog(hopGui.getShell()
+              , BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.ErrorSearching.Dialog.Header")
+              , BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.ErrorSearching.Dialog.Message"), e);
     }
   }
 
@@ -887,7 +907,9 @@ public class HopNeo4jPerspective implements IHopPerspective {
       openItem(connection, id, name, type);
 
     } catch (Exception e) {
-      new ErrorDialog(hopGui.getShell(), "Error", "Error opening item in error path", e);
+      new ErrorDialog(hopGui.getShell()
+              , BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.OpeningItem.Dialog.Header")
+              , BaseMessages.getString(PKG, "Neo4jPerspectiveDialog.OpeningItem.Dialog.Message"), e);
     }
   }
 
@@ -979,7 +1001,9 @@ public class HopNeo4jPerspective implements IHopPerspective {
       transformMeta.setSelected(true);
       graph.editTransform(pipelineMeta, transformMeta);
     } catch (Exception e) {
-      new ErrorDialog(hopGui.getShell(), "Error", "Error opening transform in pipeline", e);
+      new ErrorDialog(hopGui.getShell()
+              , BaseMessages.getString(PKG,"Neo4jPerspectiveDialog.OpeningTransform.Dialog.Header")
+              , BaseMessages.getString(PKG,"Neo4jPerspectiveDialog.OpeningTransform.Dialog.Message"), e);
     }
   }
 
@@ -1044,7 +1068,9 @@ public class HopNeo4jPerspective implements IHopPerspective {
         }
       }
     } catch (Exception e) {
-      new ErrorDialog(hopGui.getShell(), "Error", "Error opening action", e);
+      new ErrorDialog(hopGui.getShell()
+              , BaseMessages.getString(PKG,"Neo4jPerspectiveDialog.OpeningAction.Dialog.Header")
+              , BaseMessages.getString(PKG,"Neo4jPerspectiveDialog.OpeningAction.Dialog.Message"), e);
     }
   }
 
@@ -1081,7 +1107,9 @@ public class HopNeo4jPerspective implements IHopPerspective {
       try {
         hopGui.fileDelegate.fileOpen(filename);
       } catch (Exception e) {
-        new ErrorDialog(hopGui.getShell(), "Error", "Error opening file " + filename, e);
+        new ErrorDialog(hopGui.getShell()
+                , BaseMessages.getString(PKG,"Neo4jPerspectiveDialog.OpeningFile.Dialog.Header")
+                , BaseMessages.getString(PKG,"Neo4jPerspectiveDialog.OpeningFile.Dialog.Message", filename), e);
       }
     }
   }
diff --git a/plugins/tech/neo4j/src/main/resources/org/apache/hop/neo4j/perspective/messages/messages_en_US.properties b/plugins/tech/neo4j/src/main/resources/org/apache/hop/neo4j/perspective/messages/messages_en_US.properties
new file mode 100644
index 0000000..d3aa651
--- /dev/null
+++ b/plugins/tech/neo4j/src/main/resources/org/apache/hop/neo4j/perspective/messages/messages_en_US.properties
@@ -0,0 +1,57 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+
+Neo4jPerspectiveDialog.Shell.Title=Query execution history stored in a Neo4j Audit Graph
+Neo4jPerspectiveDialog.Neo4J.Logging.Path.Label=NEO4J_LOGGING_CONNECTION is pointing to 
+Neo4jPerspectiveDialog.PipelineActionName.Label=The name of the pipeline or workflow to display: 
+Neo4jPerspectiveDialog.ShowLast.Label=Show last 
+Neo4jPerspectiveDialog.OnlyRoot.Label=Show only root executions 
+
+Neo4jPerspectiveDialog.Logging.Tab=Logging 
+Neo4jPerspectiveDialog.PathError.Tab=Path to Error 
+Neo4jPerspectiveDialog.Cypher.Tab=Logging 
+
+Neo4jPerspectiveDialog.Column.ID.Name=ID
+Neo4jPerspectiveDialog.Column.Name.Name=Name
+Neo4jPerspectiveDialog.Column.Type.Name=Type
+Neo4jPerspectiveDialog.Column.Read.Name=Read
+Neo4jPerspectiveDialog.Column.Written.Name=Written
+Neo4jPerspectiveDialog.Column.Input.Name=Input
+Neo4jPerspectiveDialog.Column.Output.Name=Output
+Neo4jPerspectiveDialog.Column.Rejected.Name=Rejected
+Neo4jPerspectiveDialog.Column.Errors.Name=Errors
+Neo4jPerspectiveDialog.Column.Date.Name=Date
+Neo4jPerspectiveDialog.Column.Duration.Name=Duration
+
+Neo4jPerspectiveDialog.Search.Button=  Search  
+Neo4jPerspectiveDialog.Open.Button=  Open  
+
+Neo4jPerspectiveDialog.ErrorAnalyze.Dialog.Header=Error
+Neo4jPerspectiveDialog.ErrorAnalyze.Dialog.Message=Error analyzing execution result
+Neo4jPerspectiveDialog.ErrorOpeningPipeline.Dialog.Header=Error
+Neo4jPerspectiveDialog.ErrorOpeningPipeline.Dialog.Message=Error opening pipeline or workflow
+Neo4jPerspectiveDialog.ErrorSearching.Dialog.Header=Error
+Neo4jPerspectiveDialog.ErrorSearching.Dialog.Message=Error searching
+Neo4jPerspectiveDialog.OpeningItem.Dialog.Header=Error
+Neo4jPerspectiveDialog.OpeningItem.Dialog.Message=Error opening item in error path
+Neo4jPerspectiveDialog.OpeningTransform.Dialog.Header=Error
+Neo4jPerspectiveDialog.OpeningTransform.Dialog.Message=Error opening transform in pipeline
+Neo4jPerspectiveDialog.OpeningAction.Dialog.Header=Error
+Neo4jPerspectiveDialog.OpeningAction.Dialog.Message=Error opening action
+Neo4jPerspectiveDialog.OpeningFile.Dialog.Header=Error
+Neo4jPerspectiveDialog.OpeningFile.Dialog.Message=Error opening file {0}
\ No newline at end of file
diff --git a/plugins/tech/neo4j/src/main/resources/org/apache/hop/neo4j/perspective/messages/messages_it_IT.properties b/plugins/tech/neo4j/src/main/resources/org/apache/hop/neo4j/perspective/messages/messages_it_IT.properties
new file mode 100644
index 0000000..3c3826d
--- /dev/null
+++ b/plugins/tech/neo4j/src/main/resources/org/apache/hop/neo4j/perspective/messages/messages_it_IT.properties
@@ -0,0 +1,57 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+
+Neo4jPerspectiveDialog.Shell.Title=La storia dell'esecuzione delle query \u00E8 memorizzata in un Neo4j Audit Graph
+Neo4jPerspectiveDialog.Neo4J.Logging.Path.Label=NEO4J_LOGGING_CONNECTION punta a 
+Neo4jPerspectiveDialog.PipelineActionName.Label=Nome della pipeline o del workflow da visualizzare: 
+Neo4jPerspectiveDialog.ShowLast.Label=Mostra gli ultimi 
+Neo4jPerspectiveDialog.OnlyRoot.Label=Mostra solo le esecuzioni root 
+
+Neo4jPerspectiveDialog.Logging.Tab=Logging 
+Neo4jPerspectiveDialog.PathError.Tab=Path to Error 
+Neo4jPerspectiveDialog.Cypher.Tab=Logging 
+
+Neo4jPerspectiveDialog.Column.ID.Name=ID
+Neo4jPerspectiveDialog.Column.Name.Name=Nome
+Neo4jPerspectiveDialog.Column.Type.Name=Tipo
+Neo4jPerspectiveDialog.Column.Read.Name=Letti
+Neo4jPerspectiveDialog.Column.Written.Name=Scritti
+Neo4jPerspectiveDialog.Column.Input.Name=Input
+Neo4jPerspectiveDialog.Column.Output.Name=Output
+Neo4jPerspectiveDialog.Column.Rejected.Name=Rifiutati
+Neo4jPerspectiveDialog.Column.Errors.Name=Errori
+Neo4jPerspectiveDialog.Column.Date.Name=Data
+Neo4jPerspectiveDialog.Column.Duration.Name=Durata
+
+Neo4jPerspectiveDialog.Search.Button=  Cerca  
+Neo4jPerspectiveDialog.Open.Button=  Apri  
+
+Neo4jPerspectiveDialog.ErrorAnalyze.Dialog.Header=Errore
+Neo4jPerspectiveDialog.ErrorAnalyze.Dialog.Message=Si \u00E8 verificato un errore durante l''analisi dei risultati dell''esecuzione
+Neo4jPerspectiveDialog.ErrorOpeningPipeline.Dialog.Header=Errore
+Neo4jPerspectiveDialog.ErrorOpeningPipeline.Dialog.Message=Si \u00E8 verificato un errore durante l''apertura della pipeline o del workflow
+Neo4jPerspectiveDialog.ErrorSearching.Dialog.Header=Errore
+Neo4jPerspectiveDialog.ErrorSearching.Dialog.Message=Si \u00E8 verificato un errore durante la ricerca
+Neo4jPerspectiveDialog.OpeningItem.Dialog.Header=Errore
+Neo4jPerspectiveDialog.OpeningItem.Dialog.Message=Si \u00E8 verificato un errore durante l''apertura dell''item in nel percorso di errore
+Neo4jPerspectiveDialog.OpeningTransform.Dialog.Header=Errore
+Neo4jPerspectiveDialog.OpeningTransform.Dialog.Message=Si \u00E8 verificato un errore durante l''apertura del transform nella pipeline
+Neo4jPerspectiveDialog.OpeningAction.Dialog.Header=Errore
+Neo4jPerspectiveDialog.OpeningAction.Dialog.Message=Si \u00E8 verificato un errore durante l''apertura della action
+Neo4jPerspectiveDialog.OpeningFile.Dialog.Header=Errore
+Neo4jPerspectiveDialog.OpeningFile.Dialog.Message=Si \u00E8 verificato un errore durante l''apertura del file {0}
\ No newline at end of file
diff --git a/ui/src/main/java/org/apache/hop/ui/hopgui/file/pipeline/HopGuiPipelineGraph.java b/ui/src/main/java/org/apache/hop/ui/hopgui/file/pipeline/HopGuiPipelineGraph.java
index 64826e9..2ff44ae 100644
--- a/ui/src/main/java/org/apache/hop/ui/hopgui/file/pipeline/HopGuiPipelineGraph.java
+++ b/ui/src/main/java/org/apache/hop/ui/hopgui/file/pipeline/HopGuiPipelineGraph.java
@@ -3730,9 +3730,8 @@ public class HopGuiPipelineGraph extends HopGuiAbstractGraph
 
         MessageBox messageDialog =
             new MessageBox(hopShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO | SWT.CANCEL);
-        messageDialog.setText("Save file?");
-        messageDialog.setMessage(
-            "Do you want to save file '" + buildTabName() + "' before closing?");
+        messageDialog.setText(BaseMessages.getString(PKG, "PipelineGraph.SaveFile.Dialog.Header"));
+        messageDialog.setMessage(BaseMessages.getString(PKG, "PipelineGraph.SaveFile.Dialog.Message", buildTabName()));
         int answer = messageDialog.open();
         if ((answer & SWT.YES) != 0) {
           if (StringUtils.isEmpty(this.getFilename())) {
diff --git a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
index b5b6932..9f99edf 100644
--- a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
+++ b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
@@ -3382,9 +3382,9 @@ public class HopGuiWorkflowGraph extends HopGuiAbstractGraph
 
         MessageBox messageDialog =
             new MessageBox(hopShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO | SWT.CANCEL);
-        messageDialog.setText("Save file?");
+        messageDialog.setText(BaseMessages.getString(PKG, "HopGuiWorkflowGraph.SaveFile.Dialog.Header"));
         messageDialog.setMessage(
-            "Do you want to save file '" + buildTabName() + "' before closing?");
+                BaseMessages.getString(PKG, "HopGuiWorkflowGraph.SaveFile.Dialog.Message", buildTabName()));
         int answer = messageDialog.open();
         if ((answer & SWT.YES) != 0) {
           if (StringUtils.isEmpty(this.getFilename())) {
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_en_US.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_en_US.properties
index 338fc99..b812c50 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_en_US.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_en_US.properties
@@ -1094,3 +1094,5 @@ HopWorkflowFileType.ErrorDialog.NewWorkflowCreation.Header=Error
 HopWorkflowFileType.ErrorDialog.NewWorkflowCreation.Message=Error creating new workflow
 
 PipelineGraph.NewWorkflowBackgroundMessage=Left click or tap anywhere to start.
+HopGuiWorkflowGraph.SaveFile.Dialog.Header=Save File?
+HopGuiWorkflowGraph.SaveFile.Dialog.Message=Do you want to save file ''{0}'' before closing?
\ No newline at end of file
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_it_IT.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_it_IT.properties
index b6c3aef..f587327 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_it_IT.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_it_IT.properties
@@ -837,4 +837,7 @@ HopWorkflowFileType.New.Text=Nuovo workflow
 HopWorkflowFileType.GuiAction.Workflow.Name=Workflow
 HopWorkflowFileType.GuiAction.Workflow.Tooltip=Crea un workflow: un insieme di azioni sequenziali che seguono un percorso sulla base dei risultati di esecuzione e di condizioni. .
 HopWorkflowFileType.ErrorDialog.NewWorkflowCreation.Header=Errore
-HopWorkflowFileType.ErrorDialog.NewWorkflowCreation.Message=Si � verificato un errore durante a creazione di un nuovo workflow
\ No newline at end of file
+HopWorkflowFileType.ErrorDialog.NewWorkflowCreation.Message=Si � verificato un errore durante a creazione di un nuovo workflow
+
+HopGuiWorkflowGraph.SaveFile.Dialog.Header=Salvo il File?
+HopGuiWorkflowGraph.SaveFile.Dialog.Message=Vuoi salvare il file ''{0}'' prima di chiudere?
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_en_US.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_en_US.properties
index f004d5c..e7395d4 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_en_US.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_en_US.properties
@@ -978,5 +978,6 @@ HopGui.Toolbar.Redo.Tooltip=Redo an operation
 HopGui.Toolbar.Zoom=  Zoom: 
 HopGui.Toolbar.Zoom.Tooltip=Zoom in our out
 HopGui.Toolbar.EditProperties.Tooltip=Edit the pipeline properties (CTRL-T or CMD-T)
-
 PipelineGraph.NewPipelineBackgroundMessage=Left click or tap anywhere to start.
+PipelineGraph.SaveFile.Dialog.Header=Save File?
+PipelineGraph.SaveFile.Dialog.Message=Do you want to save file ''{0}'' before closing?
\ No newline at end of file
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_it_IT.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_it_IT.properties
index f2c03e0..dd725a5 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_it_IT.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_it_IT.properties
@@ -817,3 +817,7 @@ WorkflowLog.Dialog.SaveJobBeforeRunning.Message=Per favore, salva il workflow pr
 WorkflowLog.Dialog.SaveJobBeforeRunning.Title=Salva il workflow
 WorkflowLog.System.ERROR=ERRORE
 WorkflowLog.System.EXCEPTION=ECCEZIONE
+
+PipelineGraph.SaveFile.Dialog.Header=Salvo il File?
+PipelineGraph.SaveFile.Dialog.Message=Vuoi salvare il file ''{0}'' prima di chiudere?
+