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

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


The following commit(s) were added to refs/heads/main by this push:
     new d19dd97677 Add TabFolder to Insert / Update transform #7199 (#7200)
d19dd97677 is described below

commit d19dd97677888bb3e71fd5504e9f67d2905f89df
Author: Nicolas Adment <[email protected]>
AuthorDate: Tue Jun 2 14:25:01 2026 +0200

    Add TabFolder to Insert / Update transform #7199 (#7200)
---
 .../insertupdate/InsertUpdateDialog.java           | 277 +++++++++++----------
 .../messages/messages_de_DE.properties             |   2 -
 .../messages/messages_en_US.properties             |  12 +-
 .../messages/messages_es_AR.properties             |   2 -
 .../messages/messages_es_ES.properties             |   2 -
 .../messages/messages_fr_FR.properties             |   5 +-
 .../messages/messages_it_IT.properties             |   2 -
 .../messages/messages_ja_JP.properties             |   2 -
 .../messages/messages_ko_KR.properties             |   2 -
 .../messages/messages_pt_BR.properties             |   2 -
 .../messages/messages_zh_CN.properties             |   4 +-
 11 files changed, 156 insertions(+), 156 deletions(-)

diff --git 
a/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdateDialog.java
 
b/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdateDialog.java
index 952a014535..371fb7b808 100644
--- 
a/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdateDialog.java
+++ 
b/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdateDialog.java
@@ -24,6 +24,7 @@ import java.util.Map;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hop.core.Const;
 import org.apache.hop.core.DbCache;
+import org.apache.hop.core.Props;
 import org.apache.hop.core.SourceToTargetMapping;
 import org.apache.hop.core.SqlStatement;
 import org.apache.hop.core.database.Database;
@@ -37,6 +38,7 @@ import org.apache.hop.i18n.BaseMessages;
 import org.apache.hop.pipeline.PipelineMeta;
 import org.apache.hop.pipeline.transform.ITransformMeta;
 import org.apache.hop.pipeline.transform.TransformMeta;
+import org.apache.hop.ui.core.FormDataBuilder;
 import org.apache.hop.ui.core.PropsUi;
 import org.apache.hop.ui.core.database.dialog.DatabaseExplorerDialog;
 import org.apache.hop.ui.core.database.dialog.SqlEditor;
@@ -45,6 +47,7 @@ import org.apache.hop.ui.core.dialog.EnterMappingDialog;
 import org.apache.hop.ui.core.dialog.EnterSelectionDialog;
 import org.apache.hop.ui.core.dialog.ErrorDialog;
 import org.apache.hop.ui.core.dialog.MessageBox;
+import org.apache.hop.ui.core.gui.GuiResource;
 import org.apache.hop.ui.core.widget.ColumnInfo;
 import org.apache.hop.ui.core.widget.MetaSelectionLine;
 import org.apache.hop.ui.core.widget.TableView;
@@ -53,14 +56,14 @@ import 
org.apache.hop.ui.pipeline.transform.BaseTransformDialog;
 import org.apache.hop.ui.pipeline.transform.ComponentSelectionListener;
 import org.apache.hop.ui.pipeline.transform.ITableItemInsertListener;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.custom.CTabItem;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
 import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.TableItem;
@@ -106,8 +109,43 @@ public class InsertUpdateDialog extends 
BaseTransformDialog {
     buildButtonBar().ok(e -> ok()).sql(e -> create()).cancel(e -> 
cancel()).build();
 
     ModifyListener lsMod = e -> input.setChanged();
+
+    changed = input.hasChanged();
+
+    CTabFolder wTabFolder = new CTabFolder(shell, SWT.BORDER);
+    wTabFolder.setLayoutData(
+        new FormDataBuilder().left().top(wSpacer, margin).right().bottom(wOk, 
-margin).result());
+
+    PropsUi.setLook(wTabFolder, Props.WIDGET_STYLE_TAB);
+
+    addGeneralTab(wTabFolder, lsMod);
+    addKeysTab(wTabFolder, lsMod);
+    addFieldsTab(wTabFolder, lsMod);
+    wTabFolder.setSelection(0);
+
+    getData();
+    setInputFieldCombo();
+    setTableFieldCombo();
+    input.setChanged(changed);
+    focusTransformName();
+    BaseDialog.defaultShellHandling(shell, c -> ok(), c -> cancel());
+
+    return transformName;
+  }
+
+  private void addGeneralTab(CTabFolder wTabFolder, ModifyListener lsMod) {
+
+    Composite composite = new Composite(wTabFolder, SWT.NONE);
+    composite.setLayout(props.createFormLayout());
+    PropsUi.setLook(composite);
+
+    CTabItem tabItem = new CTabItem(wTabFolder, SWT.NONE);
+    tabItem.setFont(GuiResource.getInstance().getFontDefault());
+    tabItem.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.GeneralTab.Title"));
+    tabItem.setControl(composite);
+
     ModifyListener lsTableMod =
-        arg0 -> {
+        event -> {
           input.setChanged();
           setTableFieldCombo();
         };
@@ -119,112 +157,104 @@ public class InsertUpdateDialog extends 
BaseTransformDialog {
             setTableFieldCombo();
           }
         };
-    changed = input.hasChanged();
-
-    Control lastControl = wSpacer;
 
     // Connection line
-    wConnection = addConnectionLine(shell, lastControl, input.getConnection(), 
lsMod);
+    wConnection = addConnectionLine(composite, null, input.getConnection(), 
lsMod);
     wConnection.addSelectionListener(lsSelection);
 
     // Schema line...
-    Label wlSchema = new Label(shell, SWT.RIGHT);
+    Label wlSchema = new Label(composite, SWT.RIGHT);
     wlSchema.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.TargetSchema.Label"));
+    wlSchema.setLayoutData(
+        new FormDataBuilder().left().right(middle, -margin).top(wConnection, 
margin).result());
     PropsUi.setLook(wlSchema);
-    FormData fdlSchema = new FormData();
-    fdlSchema.left = new FormAttachment(0, 0);
-    fdlSchema.right = new FormAttachment(middle, -margin);
-    fdlSchema.top = new FormAttachment(wConnection, margin);
-    wlSchema.setLayoutData(fdlSchema);
 
-    Button wbSchema = new Button(shell, SWT.PUSH | SWT.CENTER);
-    PropsUi.setLook(wbSchema);
+    Button wbSchema = new Button(composite, SWT.PUSH | SWT.CENTER);
     wbSchema.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
-    FormData fdbSchema = new FormData();
-    fdbSchema.top = new FormAttachment(wConnection, margin);
-    fdbSchema.right = new FormAttachment(100, 0);
-    wbSchema.setLayoutData(fdbSchema);
+    wbSchema.setLayoutData(new FormDataBuilder().top(wConnection, 
margin).right().result());
+    wbSchema.addListener(SWT.Selection, e -> getSchemaName());
+    PropsUi.setLook(wbSchema);
 
-    wSchema = new TextVar(variables, shell, SWT.SINGLE | SWT.LEFT | 
SWT.BORDER);
-    PropsUi.setLook(wSchema);
+    wSchema = new TextVar(variables, composite, SWT.SINGLE | SWT.LEFT | 
SWT.BORDER);
     wSchema.addModifyListener(lsTableMod);
-    FormData fdSchema = new FormData();
-    fdSchema.left = new FormAttachment(middle, 0);
-    fdSchema.top = new FormAttachment(wConnection, margin);
-    fdSchema.right = new FormAttachment(wbSchema, -margin);
-    wSchema.setLayoutData(fdSchema);
+    wSchema.setLayoutData(
+        new FormDataBuilder()
+            .left(middle, 0)
+            .top(wConnection, margin)
+            .right(wbSchema, -margin)
+            .result());
+    PropsUi.setLook(wSchema);
 
     // Table line...
-    Label wlTable = new Label(shell, SWT.RIGHT);
+    Label wlTable = new Label(composite, SWT.RIGHT);
     wlTable.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.TargetTable.Label"));
     PropsUi.setLook(wlTable);
-    FormData fdlTable = new FormData();
-    fdlTable.left = new FormAttachment(0, 0);
-    fdlTable.right = new FormAttachment(middle, -margin);
-    fdlTable.top = new FormAttachment(wbSchema, margin);
-    wlTable.setLayoutData(fdlTable);
+    wlTable.setLayoutData(
+        new FormDataBuilder().left().right(middle, -margin).top(wbSchema, 
margin).result());
 
-    Button wbTable = new Button(shell, SWT.PUSH | SWT.CENTER);
+    Button wbTable = new Button(composite, SWT.PUSH | SWT.CENTER);
+    wbTable.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
+    wbTable.setLayoutData(new FormDataBuilder().right().top(wbSchema, 
margin).result());
+    wbTable.addListener(SWT.Selection, e -> getTableName());
     PropsUi.setLook(wbTable);
-    wbTable.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.Browse.Button"));
-    FormData fdbTable = new FormData();
-    fdbTable.right = new FormAttachment(100, 0);
-    fdbTable.top = new FormAttachment(wbSchema, margin);
-    wbTable.setLayoutData(fdbTable);
 
-    wTable = new TextVar(variables, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
-    PropsUi.setLook(wTable);
+    wTable = new TextVar(variables, composite, SWT.SINGLE | SWT.LEFT | 
SWT.BORDER);
     wTable.addModifyListener(lsTableMod);
-    FormData fdTable = new FormData();
-    fdTable.left = new FormAttachment(middle, 0);
-    fdTable.top = new FormAttachment(wbSchema, margin);
-    fdTable.right = new FormAttachment(wbTable, -margin);
-    wTable.setLayoutData(fdTable);
+    wTable.setLayoutData(
+        new FormDataBuilder()
+            .left(middle, 0)
+            .top(wbSchema, margin)
+            .right(wbTable, -margin)
+            .result());
+    PropsUi.setLook(wTable);
 
     // Commit line
-    Label wlCommit = new Label(shell, SWT.RIGHT);
+    Label wlCommit = new Label(composite, SWT.RIGHT);
     wlCommit.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.CommitSize.Label"));
+    wlCommit.setLayoutData(
+        new FormDataBuilder().left().top(wTable, margin).right(middle, 
-margin).result());
     PropsUi.setLook(wlCommit);
-    FormData fdlCommit = new FormData();
-    fdlCommit.left = new FormAttachment(0, 0);
-    fdlCommit.top = new FormAttachment(wTable, margin);
-    fdlCommit.right = new FormAttachment(middle, -margin);
-    wlCommit.setLayoutData(fdlCommit);
-    wCommit = new TextVar(variables, shell, SWT.SINGLE | SWT.LEFT | 
SWT.BORDER);
-    PropsUi.setLook(wCommit);
+
+    wCommit = new TextVar(variables, composite, SWT.SINGLE | SWT.LEFT | 
SWT.BORDER);
     wCommit.addModifyListener(lsMod);
-    FormData fdCommit = new FormData();
-    fdCommit.left = new FormAttachment(middle, 0);
-    fdCommit.top = new FormAttachment(wTable, margin);
-    fdCommit.right = new FormAttachment(100, 0);
-    wCommit.setLayoutData(fdCommit);
+    wCommit.setLayoutData(
+        new FormDataBuilder().left(middle, 0).top(wTable, 
margin).right().result());
+    PropsUi.setLook(wCommit);
 
     // UpdateBypassed line
-    Label wlUpdateBypassed = new Label(shell, SWT.RIGHT);
+    Label wlUpdateBypassed = new Label(composite, SWT.RIGHT);
     wlUpdateBypassed.setText(
         BaseMessages.getString(PKG, 
"InsertUpdateDialog.UpdateBypassed.Label"));
+    wlUpdateBypassed.setLayoutData(
+        new FormDataBuilder().left().top(wCommit, margin).right(middle, 
-margin).result());
     PropsUi.setLook(wlUpdateBypassed);
-    FormData fdlUpdateBypassed = new FormData();
-    fdlUpdateBypassed.left = new FormAttachment(0, 0);
-    fdlUpdateBypassed.top = new FormAttachment(wCommit, margin);
-    fdlUpdateBypassed.right = new FormAttachment(middle, -margin);
-    wlUpdateBypassed.setLayoutData(fdlUpdateBypassed);
-    wUpdateBypassed = new Button(shell, SWT.CHECK);
-    PropsUi.setLook(wUpdateBypassed);
-    FormData fdUpdateBypassed = new FormData();
-    fdUpdateBypassed.left = new FormAttachment(middle, 0);
-    fdUpdateBypassed.top = new FormAttachment(wlUpdateBypassed, 0, SWT.CENTER);
-    fdUpdateBypassed.right = new FormAttachment(100, 0);
-    wUpdateBypassed.setLayoutData(fdUpdateBypassed);
+
+    wUpdateBypassed = new Button(composite, SWT.CHECK);
+    wUpdateBypassed.setLayoutData(
+        new FormDataBuilder()
+            .left(middle, 0)
+            .top(wlUpdateBypassed, 0, SWT.CENTER)
+            .right()
+            .result());
     wUpdateBypassed.addSelectionListener(new 
ComponentSelectionListener(input));
+    PropsUi.setLook(wUpdateBypassed);
+  }
+
+  private void addKeysTab(CTabFolder wTabFolder, ModifyListener lsMod) {
+
+    Composite composite = new Composite(wTabFolder, SWT.NONE);
+    composite.setLayout(props.createFormLayout());
+    PropsUi.setLook(composite);
+
+    CTabItem tabItem = new CTabItem(wTabFolder, SWT.NONE);
+    tabItem.setFont(GuiResource.getInstance().getFontDefault());
+    tabItem.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.KeysTab.Title"));
+    tabItem.setControl(composite);
 
-    Label wlKey = new Label(shell, SWT.NONE);
+    Label wlKey = new Label(composite, SWT.NONE);
     wlKey.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.Keys.Label"));
+    wlKey.setLayoutData(new FormDataBuilder().left().top().result());
     PropsUi.setLook(wlKey);
-    FormData fdlKey = new FormData();
-    fdlKey.left = new FormAttachment(0, 0);
-    fdlKey.top = new FormAttachment(wUpdateBypassed, margin);
-    wlKey.setLayoutData(fdlKey);
 
     int nrKeyCols = 4;
     int nrKeyRows =
@@ -277,35 +307,39 @@ public class InsertUpdateDialog extends 
BaseTransformDialog {
     wKey =
         new TableView(
             variables,
-            shell,
+            composite,
             SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.V_SCROLL | 
SWT.H_SCROLL,
             ciKey,
             nrKeyRows,
             lsMod,
             props);
 
-    wGet = new Button(shell, SWT.PUSH);
+    wGet = new Button(composite, SWT.PUSH);
     wGet.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.GetFields.Button"));
-    fdGet = new FormData();
-    fdGet.right = new FormAttachment(100, 0);
-    fdGet.top = new FormAttachment(wlKey, margin);
-    wGet.setLayoutData(fdGet);
-
-    FormData fdKey = new FormData();
-    fdKey.left = new FormAttachment(0, 0);
-    fdKey.top = new FormAttachment(wlKey, margin);
-    fdKey.right = new FormAttachment(wGet, -margin);
-    fdKey.bottom = new FormAttachment(wlKey, 190);
-    wKey.setLayoutData(fdKey);
-
-    // THE UPDATE/INSERT TABLE
-    Label wlReturn = new Label(shell, SWT.NONE);
+    wGet.setLayoutData(new FormDataBuilder().right().top(wlKey, 
margin).result());
+    wGet.addListener(SWT.Selection, e -> get());
+    PropsUi.setLook(wGet);
+    setButtonPositions(new Button[] {wGet}, margin, null);
+
+    wKey.setLayoutData(
+        FormDataBuilder.builder().top(wlKey, margin).bottom(wGet, 
-margin).fullWidth().result());
+  }
+
+  private void addFieldsTab(CTabFolder wTabFolder, ModifyListener lsMod) {
+
+    Composite composite = new Composite(wTabFolder, SWT.NONE);
+    composite.setLayout(props.createFormLayout());
+    PropsUi.setLook(composite);
+
+    CTabItem tabItem = new CTabItem(wTabFolder, SWT.NONE);
+    tabItem.setFont(GuiResource.getInstance().getFontDefault());
+    tabItem.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.FieldsTab.Title"));
+    tabItem.setControl(composite);
+
+    Label wlReturn = new Label(composite, SWT.NONE);
     wlReturn.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.UpdateFields.Label"));
+    wlReturn.setLayoutData(new FormDataBuilder().left().top().result());
     PropsUi.setLook(wlReturn);
-    FormData fdlReturn = new FormData();
-    fdlReturn.left = new FormAttachment(0, 0);
-    fdlReturn.top = new FormAttachment(wKey, margin);
-    wlReturn.setLayoutData(fdlReturn);
 
     int upInsCols = 3;
     int upInsRows =
@@ -338,50 +372,31 @@ public class InsertUpdateDialog extends 
BaseTransformDialog {
     wReturn =
         new TableView(
             variables,
-            shell,
+            composite,
             SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.V_SCROLL | 
SWT.H_SCROLL,
             ciReturn,
             upInsRows,
             lsMod,
             props);
 
-    Button wGetLU = new Button(shell, SWT.PUSH);
-    wGetLU.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.GetAndUpdateFields.Label"));
-    FormData fdGetLU = new FormData();
-    fdGetLU.top = new FormAttachment(wlReturn, margin);
-    fdGetLU.right = new FormAttachment(100, 0);
-    wGetLU.setLayoutData(fdGetLU);
+    Button wGetFields = new Button(composite, SWT.PUSH);
+    wGetFields.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.GetAndUpdateFields.Label"));
+    wGetFields.addListener(SWT.Selection, event -> getUpdate());
+    PropsUi.setLook(wGetFields);
 
-    Button wDoMapping = new Button(shell, SWT.PUSH);
+    Button wDoMapping = new Button(composite, SWT.PUSH);
     wDoMapping.setText(BaseMessages.getString(PKG, 
"InsertUpdateDialog.EditMapping.Label"));
-    FormData fdDoMapping = new FormData();
-    fdDoMapping.top = new FormAttachment(wGetLU, margin);
-    fdDoMapping.right = new FormAttachment(100, 0);
-    wDoMapping.setLayoutData(fdDoMapping);
-
-    wDoMapping.addListener(SWT.Selection, arg0 -> generateMappings());
-
-    FormData fdReturn = new FormData();
-    fdReturn.left = new FormAttachment(0, 0);
-    fdReturn.top = new FormAttachment(wlReturn, margin);
-    fdReturn.right = new FormAttachment(wGetLU, -margin);
-    fdReturn.bottom = new FormAttachment(wOk, -margin);
-    wReturn.setLayoutData(fdReturn);
+    wDoMapping.addListener(SWT.Selection, event -> generateMappings());
+    PropsUi.setLook(wDoMapping);
 
-    // Add listeners
-    wGet.addListener(SWT.Selection, e -> get());
-    wGetLU.addListener(SWT.Selection, e -> getUpdate());
-    wbSchema.addListener(SWT.Selection, e -> getSchemaName());
-    wbTable.addListener(SWT.Selection, e -> getTableName());
+    setButtonPositions(new Button[] {wGetFields, wDoMapping}, margin, null);
 
-    getData();
-    setInputFieldCombo();
-    setTableFieldCombo();
-    input.setChanged(changed);
-    focusTransformName();
-    BaseDialog.defaultShellHandling(shell, c -> ok(), c -> cancel());
-
-    return transformName;
+    wReturn.setLayoutData(
+        FormDataBuilder.builder()
+            .top(wlReturn, margin)
+            .bottom(wGetFields, -margin)
+            .fullWidth()
+            .result());
   }
 
   /** Search the fields in the background */
diff --git 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_de_DE.properties
 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_de_DE.properties
index 649ef1d77e..7d4a57f997 100644
--- 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_de_DE.properties
+++ 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_de_DE.properties
@@ -34,7 +34,6 @@ InsertUpdate.Log.ValuesSetForLookup=abzuholende Werte
 InsertUpdate.Name=Insert/Update
 InsertUpDateDialog.AvailableSchemas.Message=Schemanamen angeben
 InsertUpDateDialog.AvailableSchemas.Title=Verf\u00FCgbare Schemas
-InsertUpdateDialog.Browse.Button=&Durchsuchen...
 InsertUpdateDialog.ColumnInfo.Comparator=Vergleichsoperator
 InsertUpdateDialog.ColumnInfo.StreamField=Datenstromfeld
 InsertUpdateDialog.ColumnInfo.StreamField1=Datenstromfeld1
@@ -70,7 +69,6 @@ InsertUpDateDialog.NoSchema.Error=Kein Schema verf\u00FCgbar
 InsertUpdateDialog.NoSQLNeeds.DialogMessage=Es mu\u00DF kein SQL 
ausgef\u00FChrt werden, damit der Transform funktioniert.
 InsertUpdateDialog.NoSQLNeeds.DialogTitle=OK
 InsertUpdateDialog.Shell.Title=Insert / update
-InsertUpdateDialog.SQL.Button=\ &SQL 
 InsertUpdateDialog.SQLError.DialogTitle=FEHLER
 InsertUpdateDialog.TargetSchema.Label=Zielschema 
 InsertUpdateDialog.TargetTable.Label=Zieltabelle 
diff --git 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_en_US.properties
 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_en_US.properties
index 98dfc7cb2d..f2da27b245 100644
--- 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_en_US.properties
+++ 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_en_US.properties
@@ -14,7 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-
 InsertUpdate.Description=Update or insert rows in a database based upon keys.
 InsertUpdate.Exception.FieldRequired=Field [{0}] is required and couldn''t be 
found\!
 InsertUpdate.Init.ConnectionMissing=Database connection is missing for 
transform [{0}]\!
@@ -32,7 +31,6 @@ InsertUpdate.Log.ValuesSetForLookup=Values set for lookup\:
 InsertUpdate.Name=Insert / update
 InsertUpDateDialog.AvailableSchemas.Message=Please select a schema name
 InsertUpDateDialog.AvailableSchemas.Title=Available schemas
-InsertUpdateDialog.Browse.Button=&Browse...
 InsertUpdateDialog.ColumnInfo.Comparator=Comparator
 InsertUpdateDialog.ColumnInfo.StreamField=Stream field
 InsertUpdateDialog.ColumnInfo.StreamField1=Stream field1
@@ -55,7 +53,7 @@ InsertUpDateDialog.ErrorGettingSchemas=Error getting schemas
 InsertUpdateDialog.FailedToGetFields.DialogMessage=Unable to get fields from 
previous transforms because of an error
 InsertUpdateDialog.FailedToGetFields.DialogTitle=Get fields failed
 InsertUpdateDialog.GetAndUpdateFields.Label=\ Get &update fields
-InsertUpdateDialog.GetFields.Button=\ &Get fields
+InsertUpdateDialog.GetFields.Button=\ &Get key fields
 InsertUpDateDialog.GetSchemas.Error=ERROR
 InsertUpdateDialog.InvalidConnection.DialogMessage=Please select a valid 
connection\!
 InsertUpdateDialog.InvalidConnection.DialogTitle=ERROR
@@ -68,14 +66,16 @@ InsertUpDateDialog.NoSchema.Error=There is no schema 
available.
 InsertUpdateDialog.NoSQLNeeds.DialogMessage=No SQL needs to be executed to 
make this transform function properly.
 InsertUpdateDialog.NoSQLNeeds.DialogTitle=OK
 InsertUpdateDialog.Shell.Title=Insert / update
-InsertUpdateDialog.SQL.Button=\ &SQL
 InsertUpdateDialog.SQLError.DialogTitle=ERROR
 InsertUpdateDialog.TargetSchema.Label=Target schema
 InsertUpdateDialog.TargetTable.Label=Target table
 InsertUpdateDialog.TransformMeta.Title=CombinationLookup
 InsertUpdateDialog.UpdateBypassed.Label=Don''t perform any updates
-InsertUpdateDialog.UpdateFields.Label=Update fields\: 
-InsertUpdateMeta.CheckResult.AllFieldsFoundInInput=All fields found in the 
input stream.
+InsertUpdateDialog.UpdateFields.Label=Update fields\:
+InsertUpdateDialog.GeneralTab.Title=General
+InsertUpdateDialog.KeysTab.Title=Lookup keys
+InsertUpdateDialog.FieldsTab.Title=Fields
+InsertUpdateDialog.CheckResult.AllFieldsFoundInInput=All fields found in the 
input stream.
 InsertUpdateMeta.CheckResult.AllFieldsFoundInInput2=All insert/update fields 
found in the input stream.
 InsertUpdateMeta.CheckResult.AllFieldsToUpdateFoundInTargetTable=All 
insert/update fields found in the table.
 InsertUpdateMeta.CheckResult.AllLookupFieldsFound=All lookup fields found in 
the table.
diff --git 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_es_AR.properties
 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_es_AR.properties
index f569c53bcf..c99c5f1f36 100644
--- 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_es_AR.properties
+++ 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_es_AR.properties
@@ -33,7 +33,6 @@ InsertUpdate.Log.ValuesSetForLookup=Valores establecidos para 
la b\u00FAsqueda\:
 InsertUpdate.Name=Insertar / Actualizar
 InsertUpDateDialog.AvailableSchemas.Message=Por favor seleccione un esquema
 InsertUpDateDialog.AvailableSchemas.Title=Esquemas disponibles
-InsertUpdateDialog.Browse.Button=&Examinar...
 InsertUpdateDialog.ColumnInfo.Comparator=Comparador
 InsertUpdateDialog.ColumnInfo.StreamField=Campo de Flujo
 InsertUpdateDialog.ColumnInfo.StreamField1=Campo de flujo1
@@ -69,7 +68,6 @@ InsertUpDateDialog.NoSchema.Error=No hay esquemas disponibles
 InsertUpdateDialog.NoSQLNeeds.DialogMessage=No es necesaria la ejecuci\u00F3n 
de SQL para el correcto funcionamiento de este paso.
 InsertUpdateDialog.NoSQLNeeds.DialogTitle=OK
 InsertUpdateDialog.Shell.Title=Insertar / actualizar
-InsertUpdateDialog.SQL.Button=\ &SQL 
 InsertUpdateDialog.SQLError.DialogTitle=ERROR
 InsertUpdateDialog.TargetSchema.Label=Esquema destino
 InsertUpdateDialog.TargetTable.Label=Tabla destino 
diff --git 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_es_ES.properties
 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_es_ES.properties
index ba149063d0..a57920a563 100644
--- 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_es_ES.properties
+++ 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_es_ES.properties
@@ -31,7 +31,6 @@ InsertUpdate.Log.UpdateBypassed=Actualización no realizada: \!
 InsertUpdate.Log.UpdateRow=Actualizar fila con: \!
 InsertUpdate.Log.ValuesSetForLookup=Valores establecidos para búsqueda: 
 InsertUpdate.Name=Insertar / Actualizar
-InsertUpdateDialog.Browse.Button=&Examinar...
 InsertUpdateDialog.ColumnInfo.Comparator=Comparador
 InsertUpdateDialog.ColumnInfo.StreamField=Campo de Flujo
 InsertUpdateDialog.ColumnInfo.StreamField1=Campo1
@@ -55,7 +54,6 @@ InsertUpdateDialog.Log.LookingAtConnection=Viendo 
conexi\u00F3n:
 InsertUpdateDialog.NoSQLNeeds.DialogMessage=No se precisa la ejecución de SQL 
para el correcto funcionamiento de este paso.
 InsertUpdateDialog.NoSQLNeeds.DialogTitle=VALE
 InsertUpdateDialog.Shell.Title=Insertar/actualizar
-InsertUpdateDialog.SQL.Button=\ &SQL 
 InsertUpdateDialog.SQLError.DialogTitle=ERROR
 InsertUpdateDialog.TargetSchema.Label=Esquema destino
 InsertUpdateDialog.TargetTable.Label=Tabla destino 
diff --git 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_fr_FR.properties
 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_fr_FR.properties
index acc29f47d7..ffd1baa630 100644
--- 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_fr_FR.properties
+++ 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_fr_FR.properties
@@ -34,7 +34,6 @@ InsertUpdate.Log.ValuesSetForLookup=Valeurs d\u00E9finies 
pour la recherche\u202
 InsertUpdate.Name=Insertion / Mise \u00E0 jour table
 InsertUpDateDialog.AvailableSchemas.Message=Veuillez svp s\u00E9lectionner un 
sch\u00E9ma
 InsertUpDateDialog.AvailableSchemas.Title=Sch\u00E9mas disponibles
-InsertUpdateDialog.Browse.Button=&Parcourir...
 InsertUpdateDialog.ColumnInfo.Comparator=Comparateur
 InsertUpdateDialog.ColumnInfo.StreamField=Champ flux
 InsertUpdateDialog.ColumnInfo.StreamField1=Champ flux1
@@ -70,13 +69,15 @@ InsertUpDateDialog.NoSchema.Error=Aucun sch\u00E9ma n''a 
\u00E9t\u00E9 trouv\u00
 InsertUpdateDialog.NoSQLNeeds.DialogMessage=Tous les champs ont \u00E9t\u00E9 
bien renseign\u00E9s. Nul besoin d''ex\u00E9cuter un script SQL.
 InsertUpdateDialog.NoSQLNeeds.DialogTitle=OK
 InsertUpdateDialog.Shell.Title=Insertion / mise \u00E0 jour
-InsertUpdateDialog.SQL.Button=\ &SQL
 InsertUpdateDialog.SQLError.DialogTitle=ERREUR
 InsertUpdateDialog.TargetSchema.Label=Sch\u00E9ma cible
 InsertUpdateDialog.TargetTable.Label=Table cible
 InsertUpdateDialog.TransformMeta.Title=CombinaisonRecheche
 InsertUpdateDialog.UpdateBypassed.Label=Ne pas effectuer de mise \u00E0 jour
 InsertUpdateDialog.UpdateFields.Label=Champs mis \u00E0 jour\: 
+InsertUpdateDialog.GeneralTab.Title=G\u00E9n\u00E9ral
+InsertUpdateDialog.KeysTab.Title=Cl\u00E9s de recherche
+InsertUpdateDialog.FieldsTab.Title=Champs
 InsertUpdateMeta.CheckResult.AllFieldsFoundInInput=Tous les champs ont 
\u00E9t\u00E9 trouv\u00E9s dans le flux d''entr\u00E9e.
 InsertUpdateMeta.CheckResult.AllFieldsFoundInInput2=Tous les champs 
d''insertion et de mise \u00E0 jour ont \u00E9t\u00E9 trouv\u00E9s dans le flux 
d''entr\u00E9e.
 InsertUpdateMeta.CheckResult.AllFieldsToUpdateFoundInTargetTable=Tous les 
champs \u00E0 metre \u00E0 jour et \u00E0 ins\u00E9rer ont \u00E9t\u00E9 
trouv\u00E9s dans la table cible.
diff --git 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_it_IT.properties
 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_it_IT.properties
index a4323d2efb..dbda40769b 100644
--- 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_it_IT.properties
+++ 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_it_IT.properties
@@ -32,7 +32,6 @@ InsertUpdate.Log.UpdateRow=Aggiorna riga con\:
 InsertUpdate.Log.ValuesSetForLookup=Valori impostati per il lookup\: 
 InsertUpDateDialog.AvailableSchemas.Message=Prego selezionare un nome di schema
 InsertUpDateDialog.AvailableSchemas.Title=Schemi disponibili
-InsertUpdateDialog.Browse.Button=&Sfoglia...
 InsertUpdateDialog.ColumnInfo.Comparator=Comparatore
 InsertUpdateDialog.ColumnInfo.StreamField=Campo di stream
 InsertUpdateDialog.ColumnInfo.StreamField1=Campo1 di stream
@@ -68,7 +67,6 @@ InsertUpDateDialog.NoSchema.Error=Nessuno schema disponibile.
 InsertUpdateDialog.NoSQLNeeds.DialogMessage=Nessun SQL \u00E8 necessario per 
eseguire questo transform correttamente.
 InsertUpdateDialog.NoSQLNeeds.DialogTitle=OK
 InsertUpdateDialog.Shell.Title=Inserimento / aggiornamento
-InsertUpdateDialog.SQL.Button=&SQL
 InsertUpdateDialog.SQLError.DialogTitle=ERRORE
 InsertUpdateDialog.TargetSchema.Label=Schema di destinazione 
 InsertUpdateDialog.TargetTable.Label=Tabella di destinazione 
diff --git 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_ja_JP.properties
 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_ja_JP.properties
index a7288b179e..42aa341a1f 100644
--- 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_ja_JP.properties
+++ 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_ja_JP.properties
@@ -34,7 +34,6 @@ InsertUpdate.Log.ValuesSetForLookup=Values set for lookup\:
 InsertUpdate.Name=\u633F\u5165/\u66F4\u65B0
 
InsertUpDateDialog.AvailableSchemas.Message=\u30B9\u30AD\u30FC\u30DE\u540D\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
InsertUpDateDialog.AvailableSchemas.Title=\u5229\u7528\u53EF\u80FD\u306A\u30B9\u30AD\u30FC\u30DE
-InsertUpdateDialog.Browse.Button=\u53C2\u7167(&B)....
 InsertUpdateDialog.ColumnInfo.Comparator=\u6BD4\u8F03\u6F14\u7B97\u5B50
 InsertUpdateDialog.ColumnInfo.StreamField=\u30D5\u30A3\u30FC\u30EB\u30C9\u540D
 
InsertUpdateDialog.ColumnInfo.StreamField1=\u30D5\u30A3\u30FC\u30EB\u30C9\u540D1
@@ -70,7 +69,6 @@ 
InsertUpDateDialog.NoSchema.Error=\u5229\u7528\u53EF\u80FD\u306A\u30B9\u30AD\u30
 
InsertUpdateDialog.NoSQLNeeds.DialogMessage=\u3053\u306E\u30B9\u30C6\u30C3\u30D7\u3092\u4F7F\u7528\u3059\u308B\u306E\u306BSQL\u3092\u5B9F\u884C\u3059\u308B\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093\u3002
 InsertUpdateDialog.NoSQLNeeds.DialogTitle=\u78BA\u8A8D
 InsertUpdateDialog.Shell.Title=\u633F\u5165 / \u66F4\u65B0
-InsertUpdateDialog.SQL.Button=\u3000SQL(&S)
 InsertUpdateDialog.SQLError.DialogTitle=\u30A8\u30E9\u30FC
 InsertUpdateDialog.TargetSchema.Label=\u30B9\u30AD\u30FC\u30DE\u540D
 InsertUpdateDialog.TargetTable.Label=\u30C6\u30FC\u30D6\u30EB\u540D
diff --git 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_ko_KR.properties
 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_ko_KR.properties
index b3719eaba6..60172f9ec4 100644
--- 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_ko_KR.properties
+++ 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_ko_KR.properties
@@ -31,7 +31,6 @@ InsertUpdate.Log.UpdateRow=\uB85C\uC6B0 
\uC5C5\uB370\uC774\uD2B8\: \!
 InsertUpdate.Log.ValuesSetForLookup=Lookup \uAC12 \: 
 InsertUpDateDialog.AvailableSchemas.Message=\uC2A4\uD0A4\uB9C8 
\uC774\uB984\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624
 InsertUpDateDialog.AvailableSchemas.Title=\uC0AC\uC6A9 \uAC00\uB2A5\uD55C 
\uC2A4\uD0A4\uB9C8
-InsertUpdateDialog.Browse.Button=\uCC3E\uC544\uBCF4\uAE30(&B)...
 InsertUpdateDialog.ColumnInfo.Comparator=\uBE44\uAD50 \uC5F0\uC0B0\uC790
 InsertUpdateDialog.ColumnInfo.StreamField=\uC2A4\uD2B8\uB9BC \uD544\uB4DC
 InsertUpdateDialog.ColumnInfo.StreamField1=\uC2A4\uD2B8\uB9BC \uD544\uB4DC1
@@ -61,7 +60,6 @@ InsertUpDateDialog.NoSchema.Error=\uC0AC\uC6A9 
\uAC00\uB2A5\uD55C \uC2A4\uD0A4\u
 InsertUpdateDialog.NoSQLNeeds.DialogMessage=transform\uC774 
\uC815\uC0C1\uC801\uC73C\uB85C \uB3D9\uC791\uD558\uB3C4\uB85D 
\uD558\uAE30\uC704\uD574 \uC2E4\uD589\uD574\uC57C\uD560 SQL\uC774 
\uC5C6\uC2B5\uB2C8\uB2E4.
 InsertUpdateDialog.NoSQLNeeds.DialogTitle=\uD655\uC778
 InsertUpdateDialog.Shell.Title=Insert / update
-InsertUpdateDialog.SQL.Button=\ &SQL 
 InsertUpdateDialog.SQLError.DialogTitle=\uC624\uB958
 InsertUpdateDialog.TargetSchema.Label=\uB300\uC0C1 \uC2A4\uD0A4\uB9C8
 InsertUpdateDialog.TargetTable.Label=\uB300\uC0C1 \uD14C\uC774\uBE14
diff --git 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_pt_BR.properties
 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_pt_BR.properties
index fa54431e52..9c5c19c83a 100644
--- 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_pt_BR.properties
+++ 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_pt_BR.properties
@@ -28,7 +28,6 @@ InsertUpdate.Log.UpdateRow=Atualizar linha com: !
 InsertUpdate.Name=Inserir / atualizar
 InsertUpDateDialog.AvailableSchemas.Message=Por favor seleciona um nome de 
esquema
 InsertUpDateDialog.AvailableSchemas.Title=Esquemas dispon\u00EDveis
-InsertUpdateDialog.Browse.Button=&Navega...
 InsertUpdateDialog.ColumnInfo.Comparator=Comparador
 InsertUpdateDialog.ColumnInfo.StreamField=Campo no fluxo
 InsertUpdateDialog.ColumnInfo.StreamField1=campo de fluxo 1
@@ -64,7 +63,6 @@ InsertUpDateDialog.NoSchema.Error=N\u00E3o h\u00E1 esquemas 
dispon\u00EDveis.
 InsertUpdateDialog.NoSQLNeeds.DialogMessage=N\u00E3o \u00E9 necess\u00E1rio 
executar c\u00F3digo SQL para esta transforma\u00E7\u00E3o funcionar.
 InsertUpdateDialog.NoSQLNeeds.DialogTitle=OK
 InsertUpdateDialog.Shell.Title=Inserir / atualizar
-InsertUpdateDialog.SQL.Button=\ &SQL
 InsertUpdateDialog.SQLError.DialogTitle=Erro
 InsertUpdateDialog.TargetSchema.Label=Esquema de destino
 InsertUpdateDialog.TargetTable.Label=Tabela de destino
diff --git 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_zh_CN.properties
 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_zh_CN.properties
index 721c651d47..726bbc7083 100644
--- 
a/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_zh_CN.properties
+++ 
b/plugins/transforms/insertupdate/src/main/resources/org/apache/hop/pipeline/transforms/insertupdate/messages/messages_zh_CN.properties
@@ -34,7 +34,6 @@ InsertUpdate.Log.ValuesSetForLookup=Values set for lookup\:
 InsertUpdate.Name=\u63D2\u5165 / \u66F4\u65B0
 InsertUpDateDialog.AvailableSchemas.Message=\u8BF7\u9009\u62E9 Schema 
\u540D\u79F0
 InsertUpDateDialog.AvailableSchemas.Title=\u53EF\u7528 Schemas
-InsertUpdateDialog.Browse.Button=\u6D4F\u89C8(&B)...
 InsertUpdateDialog.ColumnInfo.Comparator=\u6BD4\u8F83\u7B26
 InsertUpdateDialog.ColumnInfo.StreamField=\u6D41\u5B57\u6BB5
 InsertUpdateDialog.ColumnInfo.StreamField1=\u6D41\u91CC\u7684\u5B57\u6BB51
@@ -70,7 +69,6 @@ InsertUpDateDialog.NoSchema.Error=\u65E0\u53EF\u7528 Schema
 InsertUpdateDialog.NoSQLNeeds.DialogMessage=No SQL needs to be executed to 
make this transform function properly.
 InsertUpdateDialog.NoSQLNeeds.DialogTitle=OK
 InsertUpdateDialog.Shell.Title=\u63D2\u5165/\u66F4\u65B0
-InsertUpdateDialog.SQL.Button=SQL 
 InsertUpdateDialog.SQLError.DialogTitle=\u9519\u8BEF
 InsertUpdateDialog.TargetSchema.Label=\u76EE\u6807\u6A21\u5F0F:
 InsertUpdateDialog.TargetTable.Label=\u76EE\u6807\u8868:
@@ -81,7 +79,7 @@ InsertUpdateMeta.CheckResult.AllFieldsFoundInInput=All fields 
found in the input
 InsertUpdateMeta.CheckResult.AllFieldsFoundInInput2=All insert/update fields 
found in the input stream.
 InsertUpdateMeta.CheckResult.AllFieldsToUpdateFoundInTargetTable=All 
insert/update fields found in the table.
 InsertUpdateMeta.CheckResult.AllLookupFieldsFound=All lookup fields found in 
the table.
-InsertUpdateMeta.CheckResult.CouldNotReadTableInfo=Couldn''t read the table 
info, please check the table-name & permissions.
+InsertUpdateMeta.CheckResult.CouldNotReadTableInfo=Couldn''t read the table 
info, please check the table-name and permissions.
 InsertUpdateMeta.CheckResult.DatabaseErrorOccurred=A database error occurred\:
 InsertUpdateMeta.CheckResult.MissingCompareFieldsInTargetTable=Missing compare 
fields in target table\:
 InsertUpdateMeta.CheckResult.MissingFieldsInInput=Missing fields, not found in 
input from previous transforms\:


Reply via email to