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 7944059  HOP-2693 - Fix hardcoded strings in 
HopPluginExplorerPerspective HOP-2695 - Fix hardcoded strings in 
HopSearchPerspective HOP-2696 - Fix hardcoded strings in ExplorerPerspective 
HOP-2697 - Fix hardcoded strings in MetadataPerspective HOP-2698 - Fix 
hardcoded strings in HopDataOrchestrationPerspective
     new aee384b  Merge pull request #718 from sramazzina/GUI_Multilingual
7944059 is described below

commit 794405948fe268425e6a15da108abbd7d261c2f5
Author: sergio.ramazzina <[email protected]>
AuthorDate: Mon Mar 29 16:53:23 2021 +0200

    HOP-2693 - Fix hardcoded strings in HopPluginExplorerPerspective
    HOP-2695 - Fix hardcoded strings in HopSearchPerspective
    HOP-2696 - Fix hardcoded strings in ExplorerPerspective
    HOP-2697 - Fix hardcoded strings in MetadataPerspective
    HOP-2698 - Fix hardcoded strings in HopDataOrchestrationPerspective
---
 .../main/java/org/apache/hop/ui/hopgui/HopGui.java |  3 +-
 .../dataorch/HopDataOrchestrationPerspective.java  | 11 ++++---
 .../perspective/explorer/ExplorerPerspective.java  | 34 ++++++++++++-------
 .../perspective/metadata/MetadataPerspective.java  | 28 ++++++++++------
 .../HopPluginExplorePerspective.java               | 13 +++++---
 .../perspective/search/HopSearchPerspective.java   | 33 ++++++++++---------
 .../dataorch/messages/messages_en_US.properties    | 25 ++++++++++++++
 .../dataorch/messages/messages_it_IT.properties    | 25 ++++++++++++++
 .../explorer/messages/messages_en_US.properties    | 38 ++++++++++++++++++++++
 .../explorer/messages/messages_it_IT.properties    | 36 ++++++++++++++++++++
 .../metadata/messages/messages_en_US.properties    | 37 +++++++++++++++++++++
 .../metadata/messages/messages_it_IT.properties    | 37 +++++++++++++++++++++
 .../messages/messages_en_US.properties             | 28 ++++++++++++++++
 .../messages/messages_it_IT.properties             | 27 +++++++++++++++
 .../search/messages/messages_en_US.properties      | 37 +++++++++++++++++++++
 .../search/messages/messages_it_IT.properties      | 37 +++++++++++++++++++++
 16 files changed, 403 insertions(+), 46 deletions(-)

diff --git a/ui/src/main/java/org/apache/hop/ui/hopgui/HopGui.java 
b/ui/src/main/java/org/apache/hop/ui/hopgui/HopGui.java
index d29bf1d..090dd9d 100644
--- a/ui/src/main/java/org/apache/hop/ui/hopgui/HopGui.java
+++ b/ui/src/main/java/org/apache/hop/ui/hopgui/HopGui.java
@@ -47,6 +47,7 @@ import org.apache.hop.core.plugins.PluginRegistry;
 import org.apache.hop.core.search.ISearchableProvider;
 import org.apache.hop.core.search.ISearchablesLocation;
 import org.apache.hop.core.undo.ChangeAction;
+import org.apache.hop.core.util.TranslateUtil;
 import org.apache.hop.core.variables.IVariables;
 import org.apache.hop.core.variables.Variables;
 import org.apache.hop.i18n.BaseMessages;
@@ -442,7 +443,7 @@ public class HopGui
         // Create a toolbar item
         //
         ToolItem item = new ToolItem(this.perspectivesToolbar, SWT.RADIO);
-        item.setToolTipText(Const.NVL(perspectivePlugin.getName(), 
perspective.getId()));
+        
item.setToolTipText(Const.NVL(TranslateUtil.translate(perspectivePlugin.getName(),
 perspectiveClass), perspective.getId()));
         item.setData(perspective);
         item.addListener(
             SWT.Selection,
diff --git 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/dataorch/HopDataOrchestrationPerspective.java
 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/dataorch/HopDataOrchestrationPerspective.java
index f6e7a35..58c1207 100644
--- 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/dataorch/HopDataOrchestrationPerspective.java
+++ 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/dataorch/HopDataOrchestrationPerspective.java
@@ -33,6 +33,7 @@ import org.apache.hop.core.gui.plugin.key.GuiKeyboardShortcut;
 import org.apache.hop.core.gui.plugin.key.GuiOsxKeyboardShortcut;
 import org.apache.hop.core.search.ISearchable;
 import org.apache.hop.core.search.ISearchableCallback;
+import org.apache.hop.i18n.BaseMessages;
 import org.apache.hop.pipeline.PipelineMeta;
 import org.apache.hop.ui.core.PropsUi;
 import org.apache.hop.ui.core.gui.GuiResource;
@@ -51,6 +52,7 @@ import 
org.apache.hop.ui.hopgui.file.workflow.HopWorkflowFileType;
 import org.apache.hop.ui.hopgui.perspective.HopPerspectivePlugin;
 import org.apache.hop.ui.hopgui.perspective.IHopPerspective;
 import org.apache.hop.ui.hopgui.perspective.TabItemHandler;
+import org.apache.hop.ui.hopgui.perspective.search.HopSearchPerspective;
 import org.apache.hop.workflow.WorkflowMeta;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CTabFolder;
@@ -68,13 +70,14 @@ import org.eclipse.swt.widgets.MenuItem;
 
 @HopPerspectivePlugin(
   id = "100-HopDataOrchestrationPerspective",
-  name = "Data Orchestration (CTRL+SHIFT+D)",
+  name = "i18n::DataOrchestrationPerspective.Name",
   image = "ui/images/data_orch.svg",
   description = "The Hop Data Orchestration Perspective for pipelines and 
workflows"
 )
-@GuiPlugin (description="Hop Data Orchestration Perspective GUI" )
+@GuiPlugin 
(description="i18n::DataOrchestrationPerspective.GuiPlugin.Description" )
 public class HopDataOrchestrationPerspective implements IHopPerspective {
 
+  private static final Class<?> PKG = HopDataOrchestrationPerspective.class; 
// For Translator
   public static final String ID_PERSPECTIVE_TOOLBAR_ITEM = 
"20010-perspective-data-orchestration";
 
   private final HopPipelineFileType<PipelineMeta> pipelineFileType;
@@ -173,7 +176,7 @@ public class HopDataOrchestrationPerspective implements 
IHopPerspective {
 
     // Create menu item
     MenuItem miClose = new MenuItem(menu, SWT.NONE);
-    miClose.setText("Close");
+    miClose.setText(BaseMessages.getString(PKG, 
"DataOrchestrationPerspective.Close.Button.Text"));
     miClose.addListener( SWT.Selection, (event) -> {           
       if ( activeItem!=null ) {          
          activeItem.getTypeHandler().close();
@@ -194,7 +197,7 @@ public class HopDataOrchestrationPerspective implements 
IHopPerspective {
     });
         
     MenuItem miCloseAll = new MenuItem(menu, SWT.NONE);
-    miCloseAll.setText("Close All");
+    miCloseAll.setText( BaseMessages.getString(PKG, 
"DataOrchestrationPerspective.CloseOther.Button.Text"));
     miCloseAll.addListener( SWT.Selection, (event) -> {           
        items.forEach((item) -> {
                        // FIXME: Works only if you activate the item
diff --git 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/explorer/ExplorerPerspective.java
 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/explorer/ExplorerPerspective.java
index f68b866..3a2c4be 100644
--- 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/explorer/ExplorerPerspective.java
+++ 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/explorer/ExplorerPerspective.java
@@ -38,6 +38,7 @@ import org.apache.hop.core.svg.SvgCacheEntry;
 import org.apache.hop.core.svg.SvgFile;
 import org.apache.hop.core.svg.SvgImage;
 import org.apache.hop.core.vfs.HopVfs;
+import org.apache.hop.i18n.BaseMessages;
 import org.apache.hop.ui.core.ConstUi;
 import org.apache.hop.ui.core.PropsUi;
 import org.apache.hop.ui.core.dialog.ErrorDialog;
@@ -91,12 +92,14 @@ import java.util.Map;
 
 @HopPerspectivePlugin(
     id = "300-HopExplorerPerspective",
-    name = "File Explorer (CTRL+SHIFT+E)",
+    name = "i18n::ExplorerPerspective.Name",
     description = "The Hop Explorer Perspective",
     image = "ui/images/folder.svg")
-@GuiPlugin(description = "A file explorer for your current project")
+@GuiPlugin(description = "i18n::ExplorerPerspective.GuiPlugin.Description")
 public class ExplorerPerspective implements IHopPerspective {
 
+  public static final Class<?> PKG = ExplorerPerspective.class; //i18n
+
   public static final String GUI_TOOLBAR_CREATED_CALLBACK_ID =
       "ExplorerPerspective-Toolbar-Created";
 
@@ -324,7 +327,9 @@ public class ExplorerPerspective implements IHopPerspective 
{
       rootName = ext.rootName;
     } catch (Exception e) {
       new ErrorDialog(
-          getShell(), "Error", "Error getting root folder/name of explorer 
perspective", e);
+          getShell(), BaseMessages.getString(PKG, 
"ExplorerPerspective.Error.RootFolder.Header")
+              , BaseMessages.getString(PKG, 
"ExplorerPerspective.Error.RootFolder.Message")
+              , e);
     }
 
     if (!StringUtils.equals(oldRootFolder, rootFolder)
@@ -407,7 +412,9 @@ public class ExplorerPerspective implements IHopPerspective 
{
         updateGui();
       }
     } catch (Exception e) {
-      new ErrorDialog(hopGui.getShell(), "Error", "Error opening file", e);
+      new ErrorDialog(hopGui.getShell()
+              , BaseMessages.getString(PKG, 
"ExplorerPerspective.Error.OpenFile.Header")
+              , BaseMessages.getString(PKG, 
"ExplorerPerspective.Error.OpenFile.Message"), e);
     }
   }
 
@@ -417,8 +424,9 @@ public class ExplorerPerspective implements IHopPerspective 
{
       if (tif != null && tif.fileType != null) {
 
         MessageBox box = new MessageBox( hopGui.getShell(), SWT.YES | SWT.NO | 
SWT.ICON_QUESTION );
-        box.setText( "Delete file?" );
-        box.setMessage( "Are you sure you want to delete the following 
file?"+Const.CR+Const.CR+tif.path );
+        box.setText( BaseMessages.getString(PKG, 
"ExplorerPerspective.DeleteFile.Confirmation.Header") );
+        box.setMessage( BaseMessages.getString(PKG, 
"ExplorerPerspective.DeleteFile.Confirmation.Message")
+                + Const.CR + Const.CR + tif.path );
         int answer = box.open();
         if ((answer & SWT.YES) != 0) {
           FileObject fileObject = HopVfs.getFileObject(tif.path);
@@ -430,7 +438,9 @@ public class ExplorerPerspective implements IHopPerspective 
{
         }
       }
     } catch (Exception e) {
-      new ErrorDialog(hopGui.getShell(), "Error", "Error opening file", e);
+      new ErrorDialog(hopGui.getShell()
+              , BaseMessages.getString(PKG, 
"ExplorerPerspective.Error.OpenFile.Header")
+              , BaseMessages.getString(PKG, 
"ExplorerPerspective.Error.OpenFile.Message"), e);
     }
   }
 
@@ -668,7 +678,7 @@ public class ExplorerPerspective implements IHopPerspective 
{
   @GuiToolbarElement(
       root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
       id = TOOLBAR_ITEM_OPEN,
-      toolTip = "Open selected file",
+      toolTip = "i18n::ExplorerPerspective.ToolbarElement.Open.Tooltip",
       image = "ui/images/arrow-right.svg")
   public void openFile() {
     TreeItem[] selection = tree.getSelection();
@@ -681,7 +691,7 @@ public class ExplorerPerspective implements IHopPerspective 
{
   @GuiToolbarElement(
       root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
       id = TOOLBAR_ITEM_DELETE,
-      toolTip = "Delete selected file",
+      toolTip = "i18n::ExplorerPerspective.ToolbarElement.Delete.Tooltip",
       image = "ui/images/delete.svg",
       separator = true)
   public void deleteFile() {
@@ -699,7 +709,7 @@ public class ExplorerPerspective implements IHopPerspective 
{
   @GuiToolbarElement(
       root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
       id = TOOLBAR_ITEM_REFRESH,
-      toolTip = "Refresh",
+      toolTip = "i18n::ExplorerPerspective.ToolbarElement.Refresh.Tooltip",
       image = "ui/images/refresh.svg")
   public void refresh() {
     try {
@@ -738,7 +748,9 @@ public class ExplorerPerspective implements IHopPerspective 
{
         TreeMemory.setExpandedFromMemory(tree, FILE_EXPLORER_TREE);
       }
     } catch (Exception e) {
-      new ErrorDialog(getShell(), "Error", "Error refreshing file explorer 
tree", e);
+      new ErrorDialog(getShell()
+              , BaseMessages.getString(PKG, 
"ExplorerPerspective.Error.TreeRefresh.Header")
+              , BaseMessages.getString(PKG, 
"ExplorerPerspective.Error.TreeRefresh.Message"), e);
     }
     ExplorerPerspective.getInstance().updateSelection();
   }
diff --git 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/metadata/MetadataPerspective.java
 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/metadata/MetadataPerspective.java
index 7a04893..64a2055 100644
--- 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/metadata/MetadataPerspective.java
+++ 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/metadata/MetadataPerspective.java
@@ -26,6 +26,7 @@ import org.apache.hop.core.gui.plugin.key.GuiKeyboardShortcut;
 import org.apache.hop.core.gui.plugin.key.GuiOsxKeyboardShortcut;
 import org.apache.hop.core.gui.plugin.toolbar.GuiToolbarElement;
 import org.apache.hop.core.search.ISearchable;
+import org.apache.hop.i18n.BaseMessages;
 import org.apache.hop.metadata.api.HopMetadata;
 import org.apache.hop.metadata.api.IHopMetadata;
 import org.apache.hop.metadata.api.IHopMetadataProvider;
@@ -85,12 +86,13 @@ import java.util.List;
 
 @HopPerspectivePlugin(
     id = "200-HopMetadataPerspective",
-    name = "Metadata  (CTRL+SHIFT+M)",
+    name = "i18n::MetadataPerspective.Name",
     description = "The Hop Metatada Perspective",
     image = "ui/images/metadata.svg")
-@GuiPlugin(description = "This perspective allows you to see and edit all 
available metadata")
+@GuiPlugin(description = "i18n::MetadataPerspective.GuiPlugin.Description")
 public class MetadataPerspective implements IHopPerspective {
 
+  public static final Class<?> PKG = MetadataPerspective.class; //i18n
   private static final String METADATA_PERSPECTIVE_TREE = "Metadata 
perspective tree";
 
   public static final String GUI_PLUGIN_TOOLBAR_PARENT_ID = 
"MetadataPerspective-Toolbar";
@@ -529,7 +531,9 @@ public class MetadataPerspective implements IHopPerspective 
{
 
         manager.newMetadataWithEditor();
       } catch (Exception e) {
-        new ErrorDialog(getShell(), "Error", "Error create metadata", e);
+        new ErrorDialog(getShell()
+                , BaseMessages.getString(PKG, 
"MetadataPerspective.CreateMetadata.Error.Header")
+                , BaseMessages.getString(PKG, 
"MetadataPerspective.CreateMetadata.Error.Message"), e);
       }
     }
   }
@@ -564,7 +568,7 @@ public class MetadataPerspective implements IHopPerspective 
{
   @GuiToolbarElement(
       root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
       id = TOOLBAR_ITEM_EDIT,
-      toolTip = "Edit",
+      toolTip = "i18n::MetadataPerspective.ToolbarElement.Edit.Tooltip",
       image = "ui/images/edit.svg")
   public void onRenameMetadata() {
 
@@ -597,7 +601,9 @@ public class MetadataPerspective implements IHopPerspective 
{
                       text.dispose();
                     }
                   } catch (Exception e) {
-                    new ErrorDialog(getShell(), "Error", "Error rename 
metadata", e);
+                    new ErrorDialog(getShell()
+                            , BaseMessages.getString(PKG, 
"MetadataPerspective.EditMetadata.Error.Header")
+                            , BaseMessages.getString(PKG, 
"MetadataPerspective.EditMetadata.Error.Message"), e);
                   }
                 }
                 break;
@@ -615,7 +621,7 @@ public class MetadataPerspective implements IHopPerspective 
{
   @GuiToolbarElement(
       root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
       id = TOOLBAR_ITEM_DELETE,
-      toolTip = "Delete",
+      toolTip = "i18n::MetadataPerspective.ToolbarElement.Delete.Tooltip",
       image = "ui/images/delete.svg")
   public void onDeleteMetadata() {
 
@@ -643,7 +649,7 @@ public class MetadataPerspective implements IHopPerspective 
{
   @GuiToolbarElement(
       root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
       id = TOOLBAR_ITEM_DUPLICATE,
-      toolTip = "Create a copy",
+      toolTip = "i18n::MetadataPerspective.ToolbarElement.CreateCopy.Tooltip",
       image = "ui/images/duplicate.svg")
   public void duplicateMetadata() {
 
@@ -674,7 +680,8 @@ public class MetadataPerspective implements IHopPerspective 
{
         }
         refresh();
       } catch (Exception e) {
-        new ErrorDialog(getShell(), "Error", "Error duplicating metadata", e);
+        new ErrorDialog(getShell(), BaseMessages.getString(PKG, 
"MetadataPerspective.DuplicateMetadata.Error.Header")
+                , BaseMessages.getString(PKG, 
"MetadataPerspective.DuplicateMetadata.Error.Message"), e);
       }
     }
   }
@@ -716,7 +723,7 @@ public class MetadataPerspective implements IHopPerspective 
{
   @GuiToolbarElement(
       root = GUI_PLUGIN_TOOLBAR_PARENT_ID,
       id = TOOLBAR_ITEM_REFRESH,
-      toolTip = "Refresh",
+      toolTip = "i18n::MetadataPerspective.ToolbarElement.Refresh.Tooltip",
       image = "ui/images/refresh.svg")
   public void refresh() {
     try {
@@ -777,7 +784,8 @@ public class MetadataPerspective implements IHopPerspective 
{
 
       tree.setRedraw(true);
     } catch (Exception e) {
-      new ErrorDialog(getShell(), "Error", "Error refreshing metadata tree", 
e);
+      new ErrorDialog(getShell(), BaseMessages.getString(PKG, 
"MetadataPerspective.RefreshMetadata.Error.Header")
+              , BaseMessages.getString(PKG, 
"MetadataPerspective.RefreshMetadata.Error.Message"), e);
     }
   }
 
diff --git 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/pluginexplorer/HopPluginExplorePerspective.java
 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/pluginexplorer/HopPluginExplorePerspective.java
index 1d407d4..e3a2b12 100644
--- 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/pluginexplorer/HopPluginExplorePerspective.java
+++ 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/pluginexplorer/HopPluginExplorePerspective.java
@@ -29,6 +29,7 @@ import org.apache.hop.core.row.IValueMeta;
 import org.apache.hop.core.row.RowBuffer;
 import org.apache.hop.core.search.ISearchable;
 import org.apache.hop.core.variables.Variables;
+import org.apache.hop.i18n.BaseMessages;
 import org.apache.hop.ui.core.PropsUi;
 import org.apache.hop.ui.core.dialog.ErrorDialog;
 import org.apache.hop.ui.core.gui.GuiResource;
@@ -65,13 +66,13 @@ import java.util.Map;
 
 @HopPerspectivePlugin(
        id = "500-HopPluginExplorerPerspective",
-       name = "Plugin explorer",
+       name = "i18n::PluginExplorerPerspective.Name",
        description = "The Hop Plugin Explorer Perspective",
        image = "ui/images/plugin.svg"
 )
-@GuiPlugin(description="Hop Plugin Explorer Perspective GUI")
+@GuiPlugin(description="i18n::PluginExplorerPerspective.GuiPlugin.Description")
 public class HopPluginExplorePerspective implements IHopPerspective {
-
+       public static final Class<?> PKG = HopPluginExplorePerspective.class; 
//i18n
        public static final String ID_PERSPECTIVE_TOOLBAR_ITEM = 
"20030-perspective-plugins";
 
        private HopGui hopGui;
@@ -135,7 +136,7 @@ public class HopPluginExplorePerspective implements 
IHopPerspective {
                composite.setLayoutData( formData );
 
                Label label = new Label( composite, SWT.LEFT );
-               label.setText( "Plugin type" );
+               label.setText( BaseMessages.getString(PKG, 
"PluginExplorerPerspective.PluginType.Label") );
                FormData fdlFields = new FormData();
                fdlFields.left = new FormAttachment( 0, 0 );
                fdlFields.top = new FormAttachment( 0, props.getMargin() );
@@ -207,7 +208,9 @@ public class HopPluginExplorePerspective implements 
IHopPerspective {
                                selectedPluginType = pluginsType[ 0 ];
                        }
                } catch ( HopPluginException e ) {
-                       new ErrorDialog( hopGui.getShell(), "Error", "Error 
collect plugins", e );
+                       new ErrorDialog( hopGui.getShell()
+                                       , BaseMessages.getString(PKG, 
"PluginExplorerPerspective.Error.CollectPlugin.Header")
+                                       , BaseMessages.getString(PKG, 
"PluginExplorerPerspective.Error.CollectPlugin.Message"), e );
                }
        }
 
diff --git 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/search/HopSearchPerspective.java
 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/search/HopSearchPerspective.java
index 6a65f07..68b67b4 100644
--- 
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/search/HopSearchPerspective.java
+++ 
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/search/HopSearchPerspective.java
@@ -29,6 +29,7 @@ import org.apache.hop.core.search.ISearchableAnalyser;
 import org.apache.hop.core.search.ISearchablesLocation;
 import org.apache.hop.core.search.SearchQuery;
 import org.apache.hop.core.search.SearchableAnalyserPluginType;
+import org.apache.hop.i18n.BaseMessages;
 import org.apache.hop.ui.core.PropsUi;
 import org.apache.hop.ui.core.dialog.ErrorDialog;
 import org.apache.hop.ui.core.gui.GuiResource;
@@ -65,13 +66,15 @@ import java.util.Map;
 
 @HopPerspectivePlugin(
   id = "400-HopSearchPerspective",
-  name = "Search",
+  name = "i18n::HopSearchPerspective.Name",
   description = "The Hop Search Perspective",
   image = "ui/images/search.svg"
 )
-@GuiPlugin(description="Hop Search Perspective GUI")
+@GuiPlugin(description="i18n::HopSearchPerspective.GuiPlugin.Description")
 public class HopSearchPerspective implements IHopPerspective {
 
+  private static final Class<?> PKG = HopSearchPerspective.class; // For 
Translator
+
   public static final String ID_PERSPECTIVE_TOOLBAR_ITEM = 
"20020-perspective-search";
 
   public static final String AUDIT_TYPE_SEARCH_LOCATION = "search-location";
@@ -191,7 +194,7 @@ public class HopSearchPerspective implements 
IHopPerspective {
     //
     Label wlInfo = new Label( composite, SWT.LEFT );
     props.setLook( wlInfo );
-    wlInfo.setText( "Select the location to search in and the search string. 
Then hit the 'Search' button." );
+    wlInfo.setText(BaseMessages.getString(PKG, 
"HopSearchPerspective.Header.Description.Text"));
     wlInfo.setFont( GuiResource.getInstance().getFontBold() );
     FormData fdInfo = new FormData();
     fdInfo.left = new FormAttachment( 0, 0 );
@@ -213,7 +216,7 @@ public class HopSearchPerspective implements 
IHopPerspective {
     //
     Label wlLocations = new Label( composite, SWT.LEFT );
     props.setLook( wlLocations );
-    wlLocations.setText( "Location:" );
+    wlLocations.setText( BaseMessages.getString(PKG, 
"HopSearchPerspective.Label.Location") );
     FormData fdlLocations = new FormData();
     fdlLocations.left = new FormAttachment( 0, 0 );
     fdlLocations.top = new FormAttachment( lastControl, margin );
@@ -233,7 +236,7 @@ public class HopSearchPerspective implements 
IHopPerspective {
     //
     Label wlSearchString = new Label( composite, SWT.LEFT );
     props.setLook( wlSearchString );
-    wlSearchString.setText( "Search string:      " );
+    wlSearchString.setText( BaseMessages.getString(PKG, 
"HopSearchPerspective.SearchStringOptions.Description"));
     FormData fdlSearchString = new FormData();
     fdlSearchString.left = new FormAttachment( 0, 0 );
     fdlSearchString.top = new FormAttachment( lastControl, margin );
@@ -241,7 +244,7 @@ public class HopSearchPerspective implements 
IHopPerspective {
 
     wCaseSensitive = new Button(composite, SWT.CHECK);
     props.setLook( wCaseSensitive );
-    wCaseSensitive.setText("Case sensitive?     ");
+    wCaseSensitive.setText(BaseMessages.getString(PKG, 
"HopSearchPerspective.SearchStringOptions.Option1.Label"));
     FormData fdCaseSensitive = new FormData();
     fdCaseSensitive.left = new FormAttachment(wlSearchString, margin*2);
     fdCaseSensitive.top = new FormAttachment(lastControl, margin);
@@ -249,7 +252,7 @@ public class HopSearchPerspective implements 
IHopPerspective {
 
     wRegEx = new Button(composite, SWT.CHECK);
     props.setLook( wRegEx );
-    wRegEx.setText("Regular expression?     ");
+    wRegEx.setText( BaseMessages.getString(PKG, 
"HopSearchPerspective.SearchStringOptions.Option2.Label"));
     FormData fdRegEx = new FormData();
     fdRegEx.left = new FormAttachment(wCaseSensitive, margin*2);
     fdRegEx.top = new FormAttachment(lastControl, margin);
@@ -269,7 +272,7 @@ public class HopSearchPerspective implements 
IHopPerspective {
 
     Button wbSearch = new Button( composite, SWT.PUSH );
     props.setLook( wbSearch );
-    wbSearch.setText( "  Search  " );
+    wbSearch.setText( BaseMessages.getString(PKG, 
"HopSearchPerspective.Search.Button.Label") );
     FormData fdbSearch = new FormData();
     fdbSearch.left = new FormAttachment( 0, 0 );
     fdbSearch.top = new FormAttachment( lastControl, margin );
@@ -279,7 +282,7 @@ public class HopSearchPerspective implements 
IHopPerspective {
 
     Button wbOpen = new Button( composite, SWT.PUSH );
     props.setLook( wbOpen );
-    wbOpen.setText( "    Open    " );
+    wbOpen.setText( BaseMessages.getString(PKG, 
"HopSearchPerspective.Open.Button.Label") );
     FormData fdbOpen = new FormData();
     fdbOpen.left = new FormAttachment( 50, 0 );
     fdbOpen.bottom = new FormAttachment( 100, -margin );
@@ -291,12 +294,12 @@ public class HopSearchPerspective implements 
IHopPerspective {
     // A table with the search results...
     //
     ColumnInfo[] resultsColumns = {
-      new ColumnInfo( "Type", ColumnInfo.COLUMN_TYPE_TEXT, false, true ),
-      new ColumnInfo( "Name", ColumnInfo.COLUMN_TYPE_TEXT, false, true ),
-      new ColumnInfo( "File", ColumnInfo.COLUMN_TYPE_TEXT, false, true ),
-      new ColumnInfo( "Location", ColumnInfo.COLUMN_TYPE_TEXT, false, true ),
-      new ColumnInfo( "Matching text", ColumnInfo.COLUMN_TYPE_TEXT, false, 
true ),
-      new ColumnInfo( "Description", ColumnInfo.COLUMN_TYPE_TEXT, false, true 
),
+      new ColumnInfo( BaseMessages.getString(PKG, 
"HopSearchPerspective.ResultsTable.Type.Field"), ColumnInfo.COLUMN_TYPE_TEXT, 
false, true ),
+      new ColumnInfo( BaseMessages.getString(PKG, 
"HopSearchPerspective.ResultsTable.Name.Field"), ColumnInfo.COLUMN_TYPE_TEXT, 
false, true ),
+      new ColumnInfo( BaseMessages.getString(PKG, 
"HopSearchPerspective.ResultsTable.File.Field"), ColumnInfo.COLUMN_TYPE_TEXT, 
false, true ),
+      new ColumnInfo( BaseMessages.getString(PKG, 
"HopSearchPerspective.ResultsTable.Location.Field"), 
ColumnInfo.COLUMN_TYPE_TEXT, false, true ),
+      new ColumnInfo( BaseMessages.getString(PKG, 
"HopSearchPerspective.ResultsTable.MatchText.Field"), 
ColumnInfo.COLUMN_TYPE_TEXT, false, true ),
+      new ColumnInfo( BaseMessages.getString(PKG, 
"HopSearchPerspective.ResultsTable.Description.Field"), 
ColumnInfo.COLUMN_TYPE_TEXT, false, true ),
     };
 
     wResults = new TableView( hopGui.getVariables(), composite, SWT.V_SCROLL | 
SWT.V_SCROLL | SWT.MULTI, resultsColumns, 0, null, props );
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/dataorch/messages/messages_en_US.properties
 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/dataorch/messages/messages_en_US.properties
new file mode 100644
index 0000000..1ac86f6
--- /dev/null
+++ 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/dataorch/messages/messages_en_US.properties
@@ -0,0 +1,25 @@
+#
+#
+# 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.
+#
+#
+#
+
+DataOrchestrationPerspective.Name=Data Orchestration (Ctrl+Shift+D)
+DataOrchestrationPerspective.Description=The Hop Data Orchestration 
Perspective for pipelines and workflows
+DataOrchestrationPerspective.GuiPlugin.Description=Hop Data Orchestration 
Perspective GUI
+DataOrchestrationPerspective.Close.Button.Text=Close
+DataOrchestrationPerspective.CloseOther.Button.Text=Close Other
\ No newline at end of file
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/dataorch/messages/messages_it_IT.properties
 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/dataorch/messages/messages_it_IT.properties
new file mode 100644
index 0000000..77fdbd9
--- /dev/null
+++ 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/dataorch/messages/messages_it_IT.properties
@@ -0,0 +1,25 @@
+#
+#
+# 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.
+#
+#
+#
+
+DataOrchestrationPerspective.Name=Data Orchestration (Ctrl+Shift+D)
+DataOrchestrationPerspective.Description=The Hop Data Orchestration 
Perspective for pipelines and workflows
+DataOrchestrationPerspective.GuiPlugin.Description=Hop Data Orchestration 
Perspective GUI
+DataOrchestrationPerspective.Close.Button.Text=Chiudi
+DataOrchestrationPerspective.CloseOther.Button.Text=Chiudi Altri
\ No newline at end of file
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_en_US.properties
 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_en_US.properties
new file mode 100644
index 0000000..e02ede7
--- /dev/null
+++ 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_en_US.properties
@@ -0,0 +1,38 @@
+#
+#
+# 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.
+#
+#
+#
+
+ExplorerPerspective.Name=File Explorer (Ctrl+Shift+E)
+ExplorerPerspective.Description=The Hop Explorer Perspective
+ExplorerPerspective.GuiPlugin.Description=A file explorer for your current 
project
+
+ExplorerPerspective.Error.RootFolder.Header=Error
+ExplorerPerspective.Error.RootFolder.Message=Error getting root folder/name of 
explorer perspective
+ExplorerPerspective.Error.OpenFile.Header=Error
+ExplorerPerspective.Error.OpenFile.Message=Error opening file
+ExplorerPerspective.Error.TreeRefresh.Header=Error
+ExplorerPerspective.Error.TreeRefresh.Message=Error refreshing file explorer 
tree
+ExplorerPerspective.DeleteFile.Confirmation.Header=Delete file?
+ExplorerPerspective.DeleteFile.Confirmation.Message=Are you sure you want to 
delete the following file?
+
+ExplorerPerspective.ToolbarElement.Open.Tooltip=Open selected file
+ExplorerPerspective.ToolbarElement.Delete.Tooltip=Delete selected file
+ExplorerPerspective.ToolbarElement.Refresh.Tooltip=Refresh
+
+
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_it_IT.properties
 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_it_IT.properties
new file mode 100644
index 0000000..cbd0589
--- /dev/null
+++ 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_it_IT.properties
@@ -0,0 +1,36 @@
+#
+#
+# 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.
+#
+#
+#
+
+ExplorerPerspective.Name=File Explorer (Ctrl+Shift+E)
+ExplorerPerspective.Description=The Hop Explorer Perspective
+ExplorerPerspective.GuiPlugin.Description=Un file explorer per il tuo progetto
+
+ExplorerPerspective.Error.RootFolder.Header=Errore
+ExplorerPerspective.Error.RootFolder.Message=Si � verificato un errore 
recuperando il nome della cartella/root della explorer perspective
+ExplorerPerspective.Error.OpenFile.Header=Errore
+ExplorerPerspective.Error.OpenFile.Message=Si � verificato un errore aprendo 
il file
+ExplorerPerspective.Error.TreeRefresh.Header=Errore
+ExplorerPerspective.Error.TreeRefresh.Message=Si � verificato un errore 
aggiornando l''albero del file explorer
+ExplorerPerspective.DeleteFile.Confirmation.Header=Cancello il file?
+ExplorerPerspective.DeleteFile.Confirmation.Message=Sei sicuro di volere 
cancellare il file?
+
+ExplorerPerspective.ToolbarElement.Open.Tooltip=Apri il file selezionato
+ExplorerPerspective.ToolbarElement.Delete.Tooltip=Cancella il file selezionato
+ExplorerPerspective.ToolbarElement.Refresh.Tooltip=Aggiorna
\ No newline at end of file
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_en_US.properties
 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_en_US.properties
new file mode 100644
index 0000000..7db35b3
--- /dev/null
+++ 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_en_US.properties
@@ -0,0 +1,37 @@
+#
+#
+# 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.
+#
+#
+#
+
+MetadataPerspective.Name=Metadata (Ctrl+Shift+M)
+MetadataPerspective.Description=The Hop Metatada Perspective
+MetadataPerspective.GuiPlugin.Description=This perspective allows you to see 
and edit all available metadata
+
+MetadataPerspective.CreateMetadata.Error.Header=Error
+MetadataPerspective.CreateMetadata.Error.Message=Error creating metadata
+MetadataPerspective.EditMetadata.Error.Header=Error
+MetadataPerspective.EditMetadata.Error.Message=Error editing metadata
+MetadataPerspective.DuplicateMetadata.Error.Header=Error
+MetadataPerspective.DuplicateMetadata.Error.Message=Error duplicating metadata
+MetadataPerspective.RefreshMetadata.Error.Header=Error
+MetadataPerspective.RefreshMetadata.Error.Message=Error refreshing metadata 
tree
+
+MetadataPerspective.ToolbarElement.Edit.Tooltip=Edit
+MetadataPerspective.ToolbarElement.Delete.Tooltip=Delete
+MetadataPerspective.ToolbarElement.CreateCopy.Tooltip=Create a copy
+MetadataPerspective.ToolbarElement.Refresh.Tooltip=Refresh
\ No newline at end of file
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_it_IT.properties
 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_it_IT.properties
new file mode 100644
index 0000000..e6d99be
--- /dev/null
+++ 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_it_IT.properties
@@ -0,0 +1,37 @@
+#
+#
+# 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.
+#
+#
+#
+
+MetadataPerspective.Name=Metadata (Ctrl+Shift+M)
+MetadataPerspective.Description=La Hop Metatada Perspective
+MetadataPerspective.GuiPlugin.Description=Questa perspective ti permette di 
vedere e modificare tutti i metadati disponibili
+
+MetadataPerspective.CreateMetadata.Error.Header=Errore
+MetadataPerspective.CreateMetadata.Error.Message=Si � verificato un errore 
durante la creazione dei metadati
+MetadataPerspective.EditMetadata.Error.Header=Errore
+MetadataPerspective.EditMetadata.Error.Message=Si � verificato un errore 
durante la modifica dei metadati
+MetadataPerspective.DuplicateMetadata.Error.Header=Errore
+MetadataPerspective.DuplicateMetadata.Error.Message=Si � verificato un errore 
durante la duplicazione dei metadati
+MetadataPerspective.RefreshMetadata.Error.Header=Errore
+MetadataPerspective.RefreshMetadata.Error.Message=Si � verificato un errore 
durante l''aggiornamento dell''albero dei metadati
+
+MetadataPerspective.ToolbarElement.Edit.Tooltip=Modifica
+MetadataPerspective.ToolbarElement.Delete.Tooltip=Cancella
+MetadataPerspective.ToolbarElement.CreateCopy.Tooltip=Crea una copia
+MetadataPerspective.ToolbarElement.Refresh.Tooltip=Aggiorna
\ No newline at end of file
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/pluginexplorer/messages/messages_en_US.properties
 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/pluginexplorer/messages/messages_en_US.properties
new file mode 100644
index 0000000..ad1cebe
--- /dev/null
+++ 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/pluginexplorer/messages/messages_en_US.properties
@@ -0,0 +1,28 @@
+#
+#
+# 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.
+#
+#
+#
+
+PluginExplorerPerspective.Name=Plugin explorer
+PluginExplorerPerspective.Description=The Hop Plugin Explorer Perspective
+PluginExplorerPerspective.GuiPlugin.Description=Hop Plugin Explorer 
Perspective GUI
+
+PluginExplorerPerspective.PluginType.Label=Plugin type:
+
+PluginExplorerPerspective.Error.CollectPlugin.Header=Error
+PluginExplorerPerspective.Error.CollectPlugin.Message=Error collecting plugins
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/pluginexplorer/messages/messages_it_IT.properties
 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/pluginexplorer/messages/messages_it_IT.properties
new file mode 100644
index 0000000..42edeba
--- /dev/null
+++ 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/pluginexplorer/messages/messages_it_IT.properties
@@ -0,0 +1,27 @@
+#
+#
+# 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.
+#
+#
+#
+
+PluginExplorerPerspective.Name=Plugin explorer
+PluginExplorerPerspective.Description=Plugin Explorer Perspective
+PluginExplorerPerspective.GuiPlugin.Description=Hop Plugin Explorer 
Perspective GUI
+
+PluginExplorerPerspective.PluginType.Label=Tipo di Plugin:
+PluginExplorerPerspective.Error.CollectPlugin.Header=Errore
+PluginExplorerPerspective.Error.CollectPlugin.Message=Si � verificato un 
errore nella costruzione della lista dei plugin
\ No newline at end of file
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/search/messages/messages_en_US.properties
 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/search/messages/messages_en_US.properties
new file mode 100644
index 0000000..9942013
--- /dev/null
+++ 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/search/messages/messages_en_US.properties
@@ -0,0 +1,37 @@
+#
+#
+# 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.
+#
+#
+#
+
+HopSearchPerspective.Name=Search
+HopSearchPerspective.Description=The Hop Search Perspective
+HopSearchPerspective.GuiPlugin.Description=Hop Search Perspective GUI
+
+HopSearchPerspective.Header.Description.Text=Select the location to search in 
and the search string. Then hit the ''Search'' button.
+HopSearchPerspective.Label.Location=Location: 
+HopSearchPerspective.SearchStringOptions.Description=Search string:      
+HopSearchPerspective.SearchStringOptions.Option1.Label=Case sensitive? 
+HopSearchPerspective.SearchStringOptions.Option2.Label=Regular expression? 
+HopSearchPerspective.Search.Button.Label=  Search  
+HopSearchPerspective.Open.Button.Label=  Open  
+HopSearchPerspective.ResultsTable.Type.Field=Type
+HopSearchPerspective.ResultsTable.Name.Field=Name
+HopSearchPerspective.ResultsTable.File.Field=File
+HopSearchPerspective.ResultsTable.Location.Field=Location
+HopSearchPerspective.ResultsTable.MatchText.Field=Matching Text
+HopSearchPerspective.ResultsTable.Description.Field=Description
\ No newline at end of file
diff --git 
a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/search/messages/messages_it_IT.properties
 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/search/messages/messages_it_IT.properties
new file mode 100644
index 0000000..99873d6
--- /dev/null
+++ 
b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/search/messages/messages_it_IT.properties
@@ -0,0 +1,37 @@
+#
+#
+# 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.
+#
+#
+#
+
+HopSearchPerspective.Name=Ricerca
+HopSearchPerspective.Description=Perspective di Ricerca
+HopSearchPerspective.GuiPlugin.Description=Hop Search Perspective GUI
+
+HopSearchPerspective.Header.Description.Text=Scegli la posizione in cui 
effettuare la ricerca e la stringa di ricerca. Poi premi ''Cerca'' per iniziare.
+HopSearchPerspective.Label.Location=Posizione: 
+HopSearchPerspective.SearchStringOptions.Description=Stringa da cercare:      
+HopSearchPerspective.SearchStringOptions.Option1.Label=Case sensitive? 
+HopSearchPerspective.SearchStringOptions.Option2.Label=Regular expression? 
+HopSearchPerspective.Search.Button.Label=   Cerca  
+HopSearchPerspective.Open.Button.Label=   Apri  
+HopSearchPerspective.ResultsTable.Type.Field=Tipo
+HopSearchPerspective.ResultsTable.Name.Field=Nome
+HopSearchPerspective.ResultsTable.File.Field=File
+HopSearchPerspective.ResultsTable.Location.Field=Posizione
+HopSearchPerspective.ResultsTable.MatchText.Field=Testo trovato
+HopSearchPerspective.ResultsTable.Description.Field=Descrizione
\ No newline at end of file

Reply via email to