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/04/15 18:37:30 UTC

[incubator-hop] branch master updated: HOP-2756 Fixed hardcoded strings in HopVfsFileDialog

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 bf9e798  HOP-2756 Fixed hardcoded strings in HopVfsFileDialog
     new 3e6d22b  Merge pull request #745 from sramazzina/gui_multilanguage
bf9e798 is described below

commit bf9e7986a94c9583644b7db7f2526a840b573099
Author: sergio.ramazzina <se...@serasoft.it>
AuthorDate: Thu Apr 15 19:56:49 2021 +0200

    HOP-2756 Fixed hardcoded strings in HopVfsFileDialog
---
 .../apache/hop/ui/core/vfs/HopVfsFileDialog.java   | 75 ++++++++++++----------
 .../hop/ui/hopgui/file/HopFileTypeRegistry.java    |  6 +-
 .../ui/core/vfs/messages/messages_en_US.properties | 61 ++++++++++++++++++
 .../ui/core/vfs/messages/messages_it_IT.properties | 58 +++++++++++++++++
 .../hopgui/file/messages/messages_en_US.properties | 20 ++++++
 .../hopgui/file/messages/messages_it_IT.properties | 20 ++++++
 6 files changed, 204 insertions(+), 36 deletions(-)

diff --git a/ui/src/main/java/org/apache/hop/ui/core/vfs/HopVfsFileDialog.java b/ui/src/main/java/org/apache/hop/ui/core/vfs/HopVfsFileDialog.java
index d706d7b..ababe87 100644
--- a/ui/src/main/java/org/apache/hop/ui/core/vfs/HopVfsFileDialog.java
+++ b/ui/src/main/java/org/apache/hop/ui/core/vfs/HopVfsFileDialog.java
@@ -367,7 +367,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
 
             if (selected < 0 || selected >= wBookmarks.getItemCount()) return;
             MenuItem removeBookmarkMenuItem = new MenuItem(menu, SWT.NONE);
-            removeBookmarkMenuItem.setText("Delete");
+            removeBookmarkMenuItem.setText(BaseMessages.getString(PKG, "HopVfsFileDialog.Delete.MenuItem.Label"));
             removeBookmarkMenuItem.addListener(SWT.Selection, e -> removeBookmark());
           }
         });
@@ -407,7 +407,8 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
                 String name = file.getName().getBaseName();
                 EnterStringDialog dialog =
                     new EnterStringDialog(
-                        shell, name, "Enter bookmark", "Please enter the name for this bookmark");
+                        shell, name, BaseMessages.getString(PKG, "HopVfsFileDialog.BookmarkDialog.Header")
+                            , BaseMessages.getString(PKG, "HopVfsFileDialog.BookmarkDialog.Message"));
                 name = dialog.open();
                 if (name != null) {
                   String path = HopVfs.getFilename(file);
@@ -458,17 +459,17 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
     wBrowser.setLinesVisible(false); // TODO needed?
 
     TreeColumn folderColumn = new TreeColumn(wBrowser, SWT.LEFT);
-    folderColumn.setText("Name");
+    folderColumn.setText(BaseMessages.getString(PKG, "HopVfsFileDialog.Folder.Name.Label"));
     folderColumn.setWidth((int) (200 * props.getZoomFactor()));
     folderColumn.addListener(SWT.Selection, e -> browserColumnSelected(0));
 
     TreeColumn modifiedColumn = new TreeColumn(wBrowser, SWT.LEFT);
-    modifiedColumn.setText("Modified");
+    modifiedColumn.setText(BaseMessages.getString(PKG, "HopVfsFileDialog.Modified.Date.Label"));
     modifiedColumn.setWidth((int) (150 * props.getZoomFactor()));
     modifiedColumn.addListener(SWT.Selection, e -> browserColumnSelected(1));
 
     TreeColumn sizeColumn = new TreeColumn(wBrowser, SWT.RIGHT);
-    sizeColumn.setText("Size");
+    sizeColumn.setText(BaseMessages.getString(PKG, "HopVfsFileDialog.File.Size.Label"));
     sizeColumn.setWidth((int) (100 * props.getZoomFactor()));
     sizeColumn.addListener(SWT.Selection, e -> browserColumnSelected(2));
 
@@ -604,7 +605,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
       activeFileObject = HopVfs.getFileObject(wFilename.getText());
       ok();
     } catch (Throwable e) {
-      showError("Error parsing filename: '" + wFilename.getText(), e);
+      showError(BaseMessages.getString(PKG, "HopVfsFileDialog.ParsingFilename.Error.Message", wFilename.getText()), e);
     }
   }
 
@@ -660,26 +661,29 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
       String details = "";
 
       if (fileObject.isFolder()) {
-        details += "Folder: " + HopVfs.getFilename(fileObject) + Const.CR;
+        details += BaseMessages.getString(PKG, "HopVfsFileDialog.FileInfo.Tooltip.Folder", HopVfs.getFilename(fileObject)) + Const.CR;
       } else {
-        details += "Name: " + fileObject.getName().getBaseName() + "   ";
-        details += "Folder: " + HopVfs.getFilename(fileObject.getParent()) + "   ";
-        details += "Size: " + content.getSize();
+        details += BaseMessages.getString(PKG, "HopVfsFileDialog.FileInfo.Tooltip.Name", fileObject.getName().getBaseName()) + "   ";
+        details += BaseMessages.getString(PKG, "HopVfsFileDialog.FileInfo.Tooltip.Folder", HopVfs.getFilename(fileObject.getParent())) + "   ";
+        details += BaseMessages.getString(PKG, "HopVfsFileDialog.FileInfo.Tooltip.Size",  content.getSize());
         if (content.getSize() >= 1024) {
           details += " (" + getFileSize(fileObject) + ")";
         }
         details += Const.CR;
       }
-      details += "Last modified: " + getFileDate(fileObject) + Const.CR;
-      details += "Readable: " + (fileObject.isReadable() ? "Yes" : "No") + "  ";
-      details += "Writable: " + (fileObject.isWriteable() ? "Yes" : "No") + "  ";
-      details += "Executable: " + (fileObject.isExecutable() ? "Yes" : "No") + Const.CR;
+      details += BaseMessages.getString(PKG, "HopVfsFileDialog.FileInfo.Tooltip.LastModified",  getFileDate(fileObject)) + Const.CR;
+      details += BaseMessages.getString(PKG, "HopVfsFileDialog.FileInfo.Tooltip.Readable"
+              , (fileObject.isReadable() ? BaseMessages.getString(PKG, "HopVfsFileDialog.Yes.Label") : BaseMessages.getString(PKG, "HopVfsFileDialog.No.Label"))) + "  ";
+      details += BaseMessages.getString(PKG, "HopVfsFileDialog.FileInfo.Tooltip.Writeable"
+              , (fileObject.isWriteable() ? BaseMessages.getString(PKG, "HopVfsFileDialog.Yes.Label") : BaseMessages.getString(PKG, "HopVfsFileDialog.No.Label"))) + "  ";
+      details += BaseMessages.getString(PKG, "HopVfsFileDialog.FileInfo.Tooltip.Executable"
+              , (fileObject.isExecutable() ? BaseMessages.getString(PKG, "HopVfsFileDialog.Yes.Label") : BaseMessages.getString(PKG, "HopVfsFileDialog.No.Label"))) + Const.CR;
       if (fileObject.isSymbolicLink()) {
-        details += "This is a symbolic link" + Const.CR;
+        details += BaseMessages.getString(PKG, "HopVfsFileDialog.FileInfo.Tooltip.Symlink") + Const.CR;
       }
       Map<String, Object> attributes = content.getAttributes();
       if (attributes != null && !attributes.isEmpty()) {
-        details += "Attributes: " + Const.CR;
+        details += BaseMessages.getString(PKG, "HopVfsFileDialog.FileInfo.Tooltip.Attributes") + Const.CR;
         for (String key : attributes.keySet()) {
           Object value = attributes.get(key);
           details += "   " + key + " : " + (value == null ? "" : value.toString()) + Const.CR;
@@ -687,7 +691,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
       }
       showDetails(details);
     } catch (Throwable e) {
-      showError("Error getting information on file " + fileObject.toString(), e);
+      showError(BaseMessages.getString(PKG, "HopVfsFileDialog.FilenameInfo.Error.Message", fileObject.toString()), e);
     }
   }
 
@@ -715,7 +719,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
         okButton();
       }
     } catch (Throwable e) {
-      showError("Error handling default selection on file " + fileObject.toString(), e);
+      showError(BaseMessages.getString(PKG, "HopVfsFileDialog.DefaultSelection.Handling.Error.Message", fileObject.toString()), e);
     }
   }
 
@@ -789,7 +793,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
 
       parentFolderItem.setExpanded(true);
     } catch (Throwable e) {
-      showError("Error browsing to location: " + filename, e);
+      showError(BaseMessages.getString(PKG, "HopVfsFileDialog.Browsing.Error.Message", filename), e);
     }
   }
 
@@ -988,7 +992,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
       }
       dispose();
     } catch (FileSystemException e) {
-      showError("Error finding parent folder of file: '" + activeFileObject.toString(), e);
+      showError(BaseMessages.getString(PKG, "HopVfsFileDialog.FindParentFolder.Error.Message", activeFileObject.toString()), e);
     }
   }
 
@@ -1014,14 +1018,15 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
   @GuiToolbarElement(
       root = BOOKMARKS_TOOLBAR_PARENT_ID,
       id = BOOKMARKS_ITEM_ID_BOOKMARK_ADD,
-      toolTip = "Add the selected file or folder as a new bookmark",
+      toolTip = "i18n::HopVfsFileDialog.AddBookmark.Tooltip.Message",
       image = "ui/images/bookmark-add.svg")
   public void addBookmark() {
     if (selectedFile != null) {
       String name = selectedFile.getName().getBaseName();
       EnterStringDialog dialog =
           new EnterStringDialog(
-              shell, name, "Enter bookmark", "Please enter the name for this bookmark");
+              shell, name, BaseMessages.getString(PKG, "HopVfsFileDialog.NameBookmark.Header")
+                  , BaseMessages.getString(PKG, "HopVfsFileDialog.NameBookmark.Message"));
       name = dialog.open();
       if (name != null) {
         String path = HopVfs.getFilename(selectedFile);
@@ -1036,7 +1041,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
   @GuiToolbarElement(
       root = BOOKMARKS_TOOLBAR_PARENT_ID,
       id = BOOKMARKS_ITEM_ID_BOOKMARK_REMOVE,
-      toolTip = "Remove the selected bookmark",
+      toolTip = "i18n::HopVfsFileDialog.RemoveBookmark.Tooltip.Message",
       image = "ui/images/delete.svg")
   public void removeBookmark() {
     String name = getSelectedBookmark();
@@ -1053,7 +1058,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
       AuditManager.getActive()
           .saveMap(usedNamespace, BOOKMARKS_AUDIT_TYPE, bookmarks);
     } catch (Throwable e) {
-      showError("Error saving bookmarks: '" + activeFileObject.toString(), e);
+      showError(BaseMessages.getString(PKG, "HopVfsFileDialog.Bookmark.Error.Message", activeFileObject.toString()), e);
     }
   }
 
@@ -1119,7 +1124,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
   @GuiToolbarElement(
       root = NAVIGATE_TOOLBAR_PARENT_ID,
       id = NAVIGATE_ITEM_ID_NAVIGATE_HOME,
-      toolTip = "Navigate to the user home directory",
+      toolTip = "i18n::HopVfsFileDialog.NavigateToHome.Tooltip.Message",
       image = "ui/images/home.svg")
   public void navigateHome() {
     navigateTo(System.getProperty("user.home"), true);
@@ -1128,7 +1133,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
   @GuiToolbarElement(
       root = NAVIGATE_TOOLBAR_PARENT_ID,
       id = NAVIGATE_ITEM_ID_REFRESH_ALL,
-      toolTip = "Refresh",
+      toolTip = "i18n::HopVfsFileDialog.Refresh.Tooltip.Message",
       image = "ui/images/refresh.svg")
   public void refreshAll() {
     refreshBookmarks();
@@ -1138,7 +1143,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
   @GuiToolbarElement(
       root = NAVIGATE_TOOLBAR_PARENT_ID,
       id = NAVIGATE_ITEM_ID_NAVIGATE_UP,
-      toolTip = "Navigate to the parent folder",
+      toolTip = "i18n::HopVfsFileDialog.NavigateToParent.Tooltip.Message",
       image = "ui/images/navigate-up.svg")
   public void navigateUp() {
     try {
@@ -1151,14 +1156,14 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
         navigateTo(HopVfs.getFilename(parent), true);
       }
     } catch (Throwable e) {
-      showError("Error navigating up: '" + activeFileObject.toString(), e);
+      showError(BaseMessages.getString(PKG, "HopVfsFileDialog.NavigateFolderUp.Error.Message", activeFileObject.toString()), e);
     }
   }
 
   @GuiToolbarElement(
       root = BROWSER_TOOLBAR_PARENT_ID,
       id = BROWSER_ITEM_ID_CREATE_FOLDER,
-      toolTip = "Create folder",
+      toolTip = "i18n::HopVfsFileDialog.CreateFolder.Tooltip.Message",
       image = "ui/images/folder-add.svg")
   public void createFolder() {
     String folder = "";
@@ -1166,8 +1171,8 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
         new EnterStringDialog(
             shell,
             folder,
-            "Create directory",
-            "Please enter name of the folder to create in : " + activeFolder);
+            BaseMessages.getString(PKG, "HopVfsFileDialog.CreateFolder.Header"),
+                BaseMessages.getString(PKG, "HopVfsFileDialog.CreateFolder.Message", activeFolder));
     folder = dialog.open();
     if (folder != null) {
       String newPath = activeFolder.toString();
@@ -1180,7 +1185,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
         newFolder.createFolder();
         refreshBrowser();
       } catch (Throwable e) {
-        showError("Error creating folder '" + newPath + "'", e);
+        showError( BaseMessages.getString(PKG, "HopVfsFileDialog.FolderCreate.Error.Message", newPath), e);
       }
     }
   }
@@ -1188,7 +1193,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
   @GuiToolbarElement(
       root = NAVIGATE_TOOLBAR_PARENT_ID,
       id = NAVIGATE_ITEM_ID_NAVIGATE_PREVIOUS,
-      toolTip = "Navigate to previous path from your history",
+      toolTip = "i18n::HopVfsFileDialog.NavigateToPrevPath.Tooltip.Message",
       image = "ui/images/navigate-back.svg",
       separator = true)
   public void navigateHistoryPrevious() {
@@ -1201,7 +1206,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
   @GuiToolbarElement(
       root = NAVIGATE_TOOLBAR_PARENT_ID,
       id = NAVIGATE_ITEM_ID_NAVIGATE_NEXT,
-      toolTip = "Navigate to next path from your history",
+      toolTip = "i18n::HopVfsFileDialog.NavigateToNextPath.Tooltip.Message",
       image = "ui/images/navigate-forward.svg")
   public void navigateHistoryNext() {
     if (navigationIndex + 1 < navigationHistory.size() - 1) {
@@ -1213,7 +1218,7 @@ public class HopVfsFileDialog implements IFileDialog, IDirectoryDialog {
   @GuiToolbarElement(
       root = BROWSER_TOOLBAR_PARENT_ID,
       id = BROWSER_ITEM_ID_SHOW_HIDDEN,
-      toolTip = "Show or hide hidden files and directories",
+      toolTip = "i18n::HopVfsFileDialog.ShowHiddenFiles.Tooltip.Message",
       image = "ui/images/show.svg",
       separator = true)
   public void showHideHidden() {
diff --git a/ui/src/main/java/org/apache/hop/ui/hopgui/file/HopFileTypeRegistry.java b/ui/src/main/java/org/apache/hop/ui/hopgui/file/HopFileTypeRegistry.java
index f80fcb7..806863a 100644
--- a/ui/src/main/java/org/apache/hop/ui/hopgui/file/HopFileTypeRegistry.java
+++ b/ui/src/main/java/org/apache/hop/ui/hopgui/file/HopFileTypeRegistry.java
@@ -19,6 +19,7 @@ package org.apache.hop.ui.hopgui.file;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.hop.core.exception.HopException;
+import org.apache.hop.i18n.BaseMessages;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -28,6 +29,9 @@ import java.util.List;
  * This class contains all the available Hop File types
  */
 public class HopFileTypeRegistry {
+
+  private static final Class<?> PKG = HopFileTypeRegistry.class;
+
   private static HopFileTypeRegistry hopFileTypeRegistry;
 
   private List<IHopFileType> hopFileTypes;
@@ -112,7 +116,7 @@ public class HopFileTypeRegistry {
       // Add an entry for all the types
       //
       //TODO: Add Translation
-      filterNames.add( 0, "All Hop file types" );
+      filterNames.add( 0, BaseMessages.getString(PKG, "HopFileTypeRegistry.FileTypes.All.Label"));
     }
     return filterNames.toArray( new String[ 0 ] );
   }
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_en_US.properties b/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_en_US.properties
new file mode 100644
index 0000000..c09e54e
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_en_US.properties
@@ -0,0 +1,61 @@
+#
+#
+# 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.
+#
+#
+#
+
+HopVfsFileDialog.Delete.MenuItem.Label=Delete
+HopVfsFileDialog.Folder.Name.Label=Name
+HopVfsFileDialog.Modified.Date.Label=Modified
+HopVfsFileDialog.File.Size.Label=Size
+HopVfsFileDialog.BookmarkDialog.Header=Enter bookmark
+HopVfsFileDialog.BookmarkDialog.Message=Please enter the name for this bookmark
+HopVfsFileDialog.CreateFolder.Header=Create directory
+HopVfsFileDialog.CreateFolder.Message=Please enter name of the folder to create in: ''{0}''
+HopVfsFileDialog.NameBookmark.Header=Enter bookmark
+HopVfsFileDialog.NameBookmark.Message=Please enter the name for this bookmark
+
+HopVfsFileDialog.ParsingFilename.Error.Message=Error parsing filename: ''{0}''
+HopVfsFileDialog.FilenameInfo.Error.Message=Error getting information on file: ''{0}''
+HopVfsFileDialog.DefaultSelection.Handling.Error.Message=Error handling default selection on file: ''{0}''
+HopVfsFileDialog.Browsing.Error.Message=Error browsing to location: ''{0}''
+HopVfsFileDialog.FindParentFolder.Error.Message=Error finding parent folder of file: ''{0}''
+HopVfsFileDialog.Bookmark.Error.Message=Error saving bookmarks: ''{0}''
+HopVfsFileDialog.NavigateFolderUp.Error.Message=Error navigating up: ''{0}''
+HopVfsFileDialog.FolderCreate.Error.Message=Error creating folder: ''{0}''
+
+HopVfsFileDialog.AddBookmark.Tooltip.Message=Add the selected file or folder as a new bookmark
+HopVfsFileDialog.RemoveBookmark.Tooltip.Message=Remove the selected bookmark
+HopVfsFileDialog.NavigateToHome.Tooltip.Message=Navigate to the user home directory
+HopVfsFileDialog.Refresh.Tooltip.Message=Refresh
+HopVfsFileDialog.NavigateToParent.Tooltip.Message=Navigate to the parent folder
+HopVfsFileDialog.NavigateToPrevPath.Tooltip.Message=Navigate to previous path from your history
+HopVfsFileDialog.NavigateToNextPath.Tooltip.Message=Navigate to next path from your history
+HopVfsFileDialog.CreateFolder.Tooltip.Message=Create folder
+HopVfsFileDialog.ShowHiddenFiles.Tooltip.Message=Show or hide hidden files and directories
+
+HopVfsFileDialog.FileInfo.Tooltip.Folder=Folder: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Name=Name: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Size=Size: {0}
+HopVfsFileDialog.FileInfo.Tooltip.LastModified=Last modified: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Readable=Readable: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Writeable=Writeable: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Executable=Executable: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Attributes=Attributes: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Symlink=This is a symbolic link
+HopVfsFileDialog.Yes.Label=Yes
+HopVfsFileDialog.No.Label=No
\ No newline at end of file
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_it_IT.properties b/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_it_IT.properties
new file mode 100644
index 0000000..cbc4260
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_it_IT.properties
@@ -0,0 +1,58 @@
+#
+# 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.
+#
+
+HopVfsFileDialog.Delete.MenuItem.Label=Cancella
+HopVfsFileDialog.Folder.Name.Label=Nome
+HopVfsFileDialog.Modified.Date.Label=Data di ultima modifica
+HopVfsFileDialog.File.Size.Label=Dimensione
+HopVfsFileDialog.BookmarkDialog.Header=Inserisci bookmark
+HopVfsFileDialog.BookmarkDialog.Message=Inserisci un nome per questo bookmark
+HopVfsFileDialog.CreateFolder.Header=Crea la directory
+HopVfsFileDialog.CreateFolder.Message=Inserisci il nome della catella da creare in: ''{0}''
+HopVfsFileDialog.NameBookmark.Header=Inserisci bookmark
+HopVfsFileDialog.NameBookmark.Message=Inserisci un nome per questo bookmark
+
+HopVfsFileDialog.ParsingFilename.Error.Message=Si \u00E8 verificato un errore durante il parsing del file: ''{0}''
+HopVfsFileDialog.FilenameInfo.Error.Message=Si \u00E8 verificato un errore recuperando le informazioni sul file: ''{0}''
+HopVfsFileDialog.DefaultSelection.Handling.Error.Message=Si \u00E8 verificato un errore durante la selezione del file: ''{0}''
+HopVfsFileDialog.Browsing.Error.Message=Si \u00E8 verificato un errore durante il browsing della posizione: ''{0}''
+HopVfsFileDialog.FindParentFolder.Error.Message=Si \u00E8 verificato un errore nella ricerca della cartella padre del file: ''{0}''
+HopVfsFileDialog.Bookmark.Error.Message=Si \u00E8 verificato un errore durante il salvataggio dei bookmarks: ''{0}''
+HopVfsFileDialog.NavigateFolderUp.Error.Message=Si \u00E8 verificato un errore risalendo di un livello di cartelle: ''{0}''
+HopVfsFileDialog.FolderCreate.Error.Message=Si \u00E8 verificato un errore durante la creazione della cartella: ''{0}''
+
+HopVfsFileDialog.AddBookmark.Tooltip.Message=Aggiungi il nuovo file o la nuova cartella come un nuovo bookmark
+HopVfsFileDialog.RemoveBookmark.Tooltip.Message=Cancella il bookmark selezionato
+HopVfsFileDialog.NavigateToHome.Tooltip.Message=Vai alla directory home dell''utente
+HopVfsFileDialog.Refresh.Tooltip.Message=Aggiorna
+HopVfsFileDialog.NavigateToParent.Tooltip.Message=Vai alla cartella padre
+HopVfsFileDialog.NavigateToPrevPath.Tooltip.Message=Vai al percorso precedente nella tua history
+HopVfsFileDialog.NavigateToNextPath.Tooltip.Message=Vai al percorso successivo nella tua history
+HopVfsFileDialog.CreateFolder.Tooltip.Message=Crea cartella
+HopVfsFileDialog.ShowHiddenFiles.Tooltip.Message=Mostra o nascondi i files e le cartelle nascoste
+
+HopVfsFileDialog.FileInfo.Tooltip.Folder=Cartella: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Name=Nome: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Size=Dimensione: {0}
+HopVfsFileDialog.FileInfo.Tooltip.LastModified=Data di ultimo aggiornamento: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Readable=Lettura: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Writeable=Scrittura: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Executable=Esecuzione: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Attributes=Attributi: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Symlink=Questo \u00E8 un link simbolico
+HopVfsFileDialog.Yes.Label=S\u00ED
+HopVfsFileDialog.No.Label=No
\ No newline at end of file
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/file/messages/messages_en_US.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/messages/messages_en_US.properties
new file mode 100644
index 0000000..00bd2f8
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/messages/messages_en_US.properties
@@ -0,0 +1,20 @@
+#
+#
+# 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.
+#
+#
+#
+HopFileTypeRegistry.FileTypes.All.Label=All Hop file types
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/file/messages/messages_it_IT.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/messages/messages_it_IT.properties
new file mode 100644
index 0000000..035db1f
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/messages/messages_it_IT.properties
@@ -0,0 +1,20 @@
+#
+#
+# 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.
+#
+#
+#
+HopFileTypeRegistry.FileTypes.All.Label=Tutti i tipi di file Hop