You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by mc...@apache.org on 2026/08/16 15:49:38 UTC

(hop) branch main updated: Brazilian portuguese translation (#7981)

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

mattcasters 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 428c0a79de Brazilian portuguese translation (#7981)
428c0a79de is described below

commit 428c0a79def85ebdff012c523a3d28b0c649d4e0
Author: Jeferson <je...@gmail.com>
AuthorDate: Sun Aug 16 12:49:31 2026 -0300

    Brazilian portuguese translation (#7981)
---
 .../hop/i18n/messages/messages_pt_BR.properties    | 11 +++++
 .../pipeline/messages/messages_pt_BR.properties    |  2 +-
 .../transform/messages/messages_pt_BR.properties   |  2 +-
 .../messages/messages_pt_BR.properties             |  8 ++--
 .../messages/messages_pt_BR.properties             | 10 ++--
 .../table/messages/messages_pt_BR.properties       | 54 +++++++++++-----------
 .../hop/git/messages/messages_pt_BR.properties     | 21 +++++++++
 .../git/model/messages/messages_pt_BR.properties   |  8 ++++
 .../environment/messages/messages_pt_BR.properties | 19 ++++++++
 .../gui/messages/messages_pt_BR.properties         | 35 ++++++++++++++
 .../rest/messages/messages_pt_BR.properties        | 35 ++++++++++++++
 .../messages/messages_pt_BR.properties             |  2 +
 .../metadata/messages/messages_pt_BR.properties    | 35 ++++++++++++++
 .../hop/vfs/ftp/messages/messages_pt_BR.properties | 27 +++++++++++
 .../messages/messages_pt_BR.properties             |  2 +-
 .../messages/messages_pt_BR.properties             |  2 +-
 .../messages/messages_pt_BR.properties             |  2 +-
 .../messages/messages_pt_BR.properties             |  4 +-
 .../messages/messages_pt_BR.properties             |  2 +-
 .../constant/messages/messages_pt_BR.properties    | 14 ++++++
 .../delay/messages/messages_pt_BR.properties       |  2 +-
 .../language/messages/messages_pt_BR.properties    |  2 +-
 .../messages/messages_pt_BR.properties             |  2 +-
 .../excelinput/messages/messages_pt_BR.properties  |  2 +-
 .../messages/messages_pt_BR.properties             |  4 +-
 .../filterrows/messages/messages_pt_BR.properties  |  2 +-
 .../fuzzymatch/messages/messages_pt_BR.properties  | 14 +++++-
 .../messages/messages_pt_BR.properties             |  2 +-
 .../messages/messages_pt_BR.properties             |  2 +-
 .../html2text/messages/messages_pt_BR.properties   |  2 +-
 .../javascript/messages/messages_pt_BR.properties  | 27 ++++++++++-
 .../jsonoutput/messages/messages_pt_BR.properties  |  2 +-
 .../messages/messages_pt_BR.properties             |  2 +-
 .../consumer/messages/messages_pt_BR.properties    |  5 ++
 .../producer/messages/messages_pt_BR.properties    | 13 ++++++
 .../messages/messages_pt_BR.properties             |  2 +-
 .../mapping/messages/messages_pt_BR.properties     | 16 ++++++-
 .../mergerows/messages/messages_pt_BR.properties   | 14 ++++--
 .../messages/messages_pt_BR.properties             |  6 +--
 .../messages/messages_pt_BR.properties             |  2 +-
 .../rest/messages/messages_pt_BR.properties        | 40 +++++++++++++++-
 .../script/messages/messages_pt_BR.properties      |  9 +++-
 .../messages/messages_pt_BR.properties             |  8 ++--
 .../sort/messages/messages_pt_BR.properties        | 10 ++--
 .../messages/messages_pt_BR.properties             |  4 +-
 .../sql/messages/messages_pt_BR.properties         |  4 +-
 .../nlp/simple/messages/messages_pt_BR.properties  |  2 +-
 .../messages/messages_pt_BR.properties             |  4 +-
 .../messages/messages_pt_BR.properties             |  2 +-
 .../messages/messages_pt_BR.properties             |  8 ++--
 .../fileinput/messages/messages_pt_BR.properties   |  8 ++--
 .../text/messages/messages_pt_BR.properties        |  2 +-
 .../messages/messages_pt_BR.properties             |  2 +-
 .../update/messages/messages_pt_BR.properties      | 14 ++++++
 .../validator/messages/messages_pt_BR.properties   | 29 +++++++-----
 .../valuemapper/messages/messages_pt_BR.properties |  2 +-
 .../messages/messages_pt_BR.properties             |  6 +--
 .../database/messages/messages_pt_BR.properties    | 19 ++++++++
 .../core/dialog/messages/messages_pt_BR.properties | 54 +++++++++++++++++++++-
 .../ui/core/vfs/messages/messages_pt_BR.properties |  4 ++
 .../core/widget/messages/messages_pt_BR.properties | 31 +++++++++++++
 .../dialog/messages/messages_pt_BR.properties      | 28 +++++++++++
 .../ui/hopgui/messages/messages_pt_BR.properties   | 41 ++++++++++++++++
 .../execution/messages/messages_pt_BR.properties   | 11 ++++-
 .../metadata/messages/messages_pt_BR.properties    | 30 ++++++++++++
 65 files changed, 672 insertions(+), 118 deletions(-)

diff --git a/core/src/main/resources/org/apache/hop/i18n/messages/messages_pt_BR.properties b/core/src/main/resources/org/apache/hop/i18n/messages/messages_pt_BR.properties
index 50d94bdcda..f79b0cb65e 100644
--- a/core/src/main/resources/org/apache/hop/i18n/messages/messages_pt_BR.properties
+++ b/core/src/main/resources/org/apache/hop/i18n/messages/messages_pt_BR.properties
@@ -120,3 +120,14 @@ System.Warning=Aviso
 System.Tooltip.CollapseALl=Minimizar todos
 System.Tooltip.ExpandAll=Expandir todos
 System.Column.TrimType=Tipo de aparamento
+System.Column.Currency.Tooltip=Símbolo de moeda opcional usado quando a máscara contém um sinal de moeda. Exemplos\: $, \u20AC.
+System.Column.Decimal.Tooltip=Caráter que separa as partes inteiras e fracionárias. Exemplo: em 10.000,00 (EUA) ou, em 10.000,00 (DE).
+System.Column.Format.Tooltip=Número ou data padrão usado para analisar e imprimir este campo (Java DecimalFormat ou SimpleDateFormat).
+System.Column.Group.Tooltip=Milhares agrupando símbolo (por exemplo, em 1.000.00 ou. em 1.000,00). Não é um grupo de discussão.
+System.Column.Length.Tooltip=String\: caracteres máximos. Número \: dígitos significativos. Inteiro: largura de exibição. Data: comprimento impresso (4 = ano). -1 = desligado.
+System.Column.Name.Tooltip=Nome do campo no fluxo de saída.
+System.Column.Precision.Tooltip=Decimal depois do radíx para Número e Número Grande. Não usado para String, Date e Boolean.
+System.Column.SetEmptyString.Tooltip=Emite uma corda vazia em vez de nula quando a constante está vazia.
+System.Column.TrimType.Tooltip=Como aparar espaço branco antes da conversão: nenhum, esquerdo, direito, ou ambos.
+System.Column.Type.Tooltip=Tipo de dados de salto deste campo (String, Integer, Número, Data, ...).
+System.Column.Value.Tooltip=Um único valor constante para este campo, analisado usando Tipo e Formato. Não uma lista separada por vírgulas.
diff --git a/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_pt_BR.properties b/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_pt_BR.properties
index 57a3ae1e53..e128717657 100644
--- a/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_pt_BR.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_pt_BR.properties
@@ -118,7 +118,7 @@ PipelineMeta.Value.CheckingFieldName.FieldNameContainsSpaces.Description=Nome do
 PipelineMeta.Value.CheckingFieldName.FieldNameContainsUnfriendlyCodes.Description=Nome do campo [{0}] contem um ou mais ''{1}'' (banco de dados não amigável).
 PipelineMeta.Value.CheckingFieldName.FieldNameIsEmpty.Description=Nome do campo está vazio.
 Pipeline.FinishListeners.Exception=Erro ao executar listadores de condutos
-Pipeline.Log.TransformCopiesNotCorrectlyDefined=A quantidade de cópias transformadas não resolve para um valor positivo não zero para transformar.
+Pipeline.Log.TransformCopiesNotCorrectlyDefined=A quantidade de cópias de transformações não resolve para um valor positivo não zero para transformar.
 Pipeline.Log.TransformHasNumberRowCopies=\  Transformação tem \={0} cópias
 Pipeline.Log.UnexpectedErrorAtPipelineEnd=Erro inesperado no final do conduto.
 PipelineMeta.CheckResult.TypeResultError.TransformPluginNotFound.Description=O plugin está ausente.
diff --git a/engine/src/main/resources/org/apache/hop/pipeline/transform/messages/messages_pt_BR.properties b/engine/src/main/resources/org/apache/hop/pipeline/transform/messages/messages_pt_BR.properties
index 2cebfeb217..4dfd1ef32c 100644
--- a/engine/src/main/resources/org/apache/hop/pipeline/transform/messages/messages_pt_BR.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/transform/messages/messages_pt_BR.properties
@@ -106,7 +106,7 @@ BaseTransformDialog.ErrorHandling.MinErr.Label=Quantidade mínima de linhas para
 BaseTransformDialog.ErrorHandling.NrErrField.Label=Nome do campo para quantidade de erros
 BaseTransformDialog.ErrorHandling.Title.Label=Transformar configurações de manipulação de erros
 BaseTransformDialog.ErrorHandling.TransformName.Label=Erro ao lidar com o nome da transformada.
-BaseTransformDialog.FailedToGetFields.Message=Houve um erro ao obter a lista de campos das transformadas anteriores para transformar.
+BaseTransformDialog.FailedToGetFields.Message=Houve um erro ao obter a lista de campos das transformações anteriores para transformar.
 BaseTransformDialog.FailedToGetFieldsPrevious.DialogMessage=Erro ao pegar campos da transformada anterior!
 BaseTransformDialog.GetFieldsChoice.Message=Já há dados digitados, linhas foram encontradas. Como quer adicionar o campo que foi encontrado?
 BaseTransformDialog.InvalidConnection.DialogMessage=Não foi possivel carregar a conexão do banco de dados com o nome ''{0}'' dos metadados. Por favor, verifique se o caso do nome da conexão está correto ou que os metadados da conexão existem porque isso pode ser um problema!
diff --git a/plugins/databases/cratedb/src/main/resources/org/apache/hop/pipeline/transforms/cratedbbulkloader/messages/messages_pt_BR.properties b/plugins/databases/cratedb/src/main/resources/org/apache/hop/pipeline/transforms/cratedbbulkloader/messages/messages_pt_BR.properties
index 5516b7ac2d..bcfa7744b7 100644
--- a/plugins/databases/cratedb/src/main/resources/org/apache/hop/pipeline/transforms/cratedbbulkloader/messages/messages_pt_BR.properties
+++ b/plugins/databases/cratedb/src/main/resources/org/apache/hop/pipeline/transforms/cratedbbulkloader/messages/messages_pt_BR.properties
@@ -102,20 +102,20 @@ CrateDBBulkLoaderDialog.LocalRemoteVolumeMapping.Tooltip=Ao usar um volume remot
 CrateDBBulkLoaderDialog.NoSQL.DialogMessage=Nenhum SQL precisa ser executado para fazer essa transformação funcionar corretamente.
 CrateDBBulkLoaderDialog.ReadFromFile.Label=Leia do arquivo.
 CrateDBBulkLoaderDialog.ReadFromFile.Message=Arquivo:///path/to/file.csv SO S3://bucket/path/to/file.csv
-CrateDBBulkLoaderDialog.ReadFromFile.Tooltip=Nome do arquivo do qual os dados serão lidos. É a bandeira ''Stream to file'' é verificada, 'n o arquivo será criado pela própria transformação, caso contrário, esperamos encontrar o arquivo\n já disponível no S3 ou caminho local.
+CrateDBBulkLoaderDialog.ReadFromFile.Tooltip=Nome do arquivo do qual os dados serão lidos. É a bandeira ''Stream to file'' é verificada, \n o arquivo será criado pela própria transformação, caso contrário, esperamos encontrar o arquivo\n já disponível no S3 ou caminho local.
 CrateDBBulkLoaderDialog.StreamCsvToRemote.Label=Fluxo para arquivo
 CrateDBBulkLoaderDialog.StreamCsvToRemote.Tooltip=Escreve o fluxo de conduto atual para um arquivo CSV em um balde S3 ou um sistema de arquivos remotos antes de copiar para CrateDB.
 CrateDBBulkLoaderDialog.UseHTTPEndpoint.Label=Usar Endpoint HTTP
-CrateDBBulkLoaderMeta.CheckResult.AllFieldsFound=Todos os campos na tabela são encontrados no fluxo de entrada, vindo de transformadas anteriores.
+CrateDBBulkLoaderMeta.CheckResult.AllFieldsFound=Todos os campos na tabela são encontrados no fluxo de entrada, vindo de transformações anteriores.
 CrateDBBulkLoaderMeta.CheckResult.FieldsSpecifiedNotFound=Campos especificados não encontrados no fluxo de entrada\:\n\n{n{0}
 CrateDBBulkLoaderMeta.CheckResult.NoConnection=Por favor, selecione ou crie uma conexão para usar.
-CrateDBBulkLoaderMeta.CheckResult.NoFields=Não consegui achar campos de transformadas anteriores, verifique os saltos...
+CrateDBBulkLoaderMeta.CheckResult.NoFields=Não consegui achar campos de transformações anteriores, verifique os saltos...
 CrateDBBulkLoaderMeta.CheckResult.NoTableName=Nenhum nome de tabela foi escrito nesta transformação.
 CrateDBBulkLoaderMeta.CheckResult.TableError=A tabela não existe ou não pode ser lida nesta conexão do banco de dados.
 CrateDBBulkLoaderMeta.CheckResult.TableNotAccessible=Não pude ler as informações da tabela, por favor verifique o nome da tabela e permissões.
 CrateDBBulkLoaderMeta.CheckResult.TableOk=A tabela é legível e conseguimos os campos.
 CrateDBBulkLoaderMeta.Error.NoConnection=Não há conexão definida nesta transformação.
-CrateDBBulkLoaderMeta.Error.NoInput=Não recebendo campos de transformadas anteriores. Verifique as transformadas anteriores para erros e o salto de conexão.
+CrateDBBulkLoaderMeta.Error.NoInput=Não recebendo campos de transformações anteriores. Verifique as transformações anteriores para erros e o salto de conexão.
 CrateDBBulkLoaderMeta.Error.NoTable=Nenhuma tabela é definida nesta conexão.
 CrateDBBulkLoaderMeta.Exception.ConnectionNotDefined=Não foi possivel determinar os campos necessários porque a conexão do banco de dados não foi definida.
 CrateDBBulkLoaderMeta.Exception.ErrorGettingFields=Não foi possivel determinar os campos necessários.
diff --git a/plugins/databases/mysql/src/main/resources/org/apache/hop/pipeline/transforms/mysqlbulkloader/messages/messages_pt_BR.properties b/plugins/databases/mysql/src/main/resources/org/apache/hop/pipeline/transforms/mysqlbulkloader/messages/messages_pt_BR.properties
index a4b1a863bc..3ae8fbad11 100644
--- a/plugins/databases/mysql/src/main/resources/org/apache/hop/pipeline/transforms/mysqlbulkloader/messages/messages_pt_BR.properties
+++ b/plugins/databases/mysql/src/main/resources/org/apache/hop/pipeline/transforms/mysqlbulkloader/messages/messages_pt_BR.properties
@@ -54,7 +54,7 @@ MySqlBulkLoaderDialog.DoMapping.UnableToFindTargetFields.Title=Erro ao obter cam
 MySqlBulkLoaderDialog.EditMapping.Label=Editar mapeamento
 MySqlBulkLoaderDialog.Enclosure.Label=Cerco
 MySqlBulkLoaderDialog.EscapeChar.Label=Personagem de fuga
-MySqlBulkLoaderDialog.FailedToGetFields.DialogMessage=Não foi possivel obter campos de transformadas anteriores por causa de um erro
+MySqlBulkLoaderDialog.FailedToGetFields.DialogMessage=Não foi possivel obter campos de transformações anteriores por causa de um erro
 MySqlBulkLoaderDialog.FailedToGetFields.DialogTitle=Os campos falharam.
 MySqlBulkLoaderDialog.Fields.Label=Campos para carregar.
 MySqlBulkLoaderDialog.FifoFile.Label=Arquivo Fifo
@@ -81,9 +81,9 @@ MySqlBulkLoaderMeta.CheckResult.CouldNotReadTableInfo=Não pude ler as informaç
 MySqlBulkLoaderMeta.CheckResult.DatabaseErrorOccurred=Um erro no banco de dados ocorreu\:
 MySqlBulkLoaderMeta.CheckResult.InvalidConnection=Por favor, selecione ou crie uma conexão!
 MySqlBulkLoaderMeta.CheckResult.MissingFieldsInInput3=Não consegui ler os campos da transformação anterior.
-MySqlBulkLoaderMeta.CheckResult.MissingFieldsInInput=Campos desaparecidos, não encontrados na entrada de transformadas anteriores\:
+MySqlBulkLoaderMeta.CheckResult.MissingFieldsInInput=Campos ausentes, não encontrados na entrada de transformações anteriores\:
 MySqlBulkLoaderMeta.CheckResult.MissingFieldsToLoadInTargetTable=Campos em falta para carregar na tabela de destino\:
-MySqlBulkLoaderMeta.CheckResult.NoInputError=Nenhuma entrada recebida de outras transformadas!
+MySqlBulkLoaderMeta.CheckResult.NoInputError=Nenhuma entrada recebida de outras transformações!
 MySqlBulkLoaderMeta.CheckResult.TransformReceivingDatas=Transform está conectado ao anterior, recebendo campos
 MySqlBulkLoaderMeta.CheckResult.TransformReceivingInfoFromOtherTransforms=Transform está recebendo informações de outras transformações.
 MySqlBulkLoaderMeta.CheckResult.TableExists=A tabela existe e podemos ler dados dela.
@@ -96,12 +96,12 @@ MySqlBulkLoaderMeta.Exception.TableNotSpecified=Não foi possivel determinar os
 MySqlBulkLoaderMeta.FieldFormatType.Date.Description=Formatar como Data
 MySqlBulkLoaderMeta.FieldFormatType.Number.Description=Formato como Número
 MySqlBulkLoaderMeta.FieldFormatType.OK.Description=Não mude de formatação.
-MySqlBulkLoaderMeta.FieldFormatType.StringEscape.Description=Personagens de fuga quando encontrados.
+MySqlBulkLoaderMeta.FieldFormatType.StringEscape.Description=caracteres de fuga quando encontrados.
 MySqlBulkLoaderMeta.FieldFormatType.Timestamp.Description=Formatar como um timestamp
 MySqlBulkLoaderMeta.GetSQL.ErrorOccurred=Um erro ocorreu\:
 MySqlBulkLoaderMeta.GetSQL.NoConnectionDefined=Não há conexão definida nesta transformação.
 MySqlBulkLoaderMeta.GetSQL.NoTableDefinedOnConnection=Nenhuma tabela é definida nesta conexão.
-MySqlBulkLoaderMeta.GetSQL.NotReceivingAnyFields=Não recebendo campos de transformadas anteriores. Verifique as transformadas anteriores para erros e o salto de conexão.
+MySqlBulkLoaderMeta.GetSQL.NotReceivingAnyFields=Não recebendo campos de transformações anteriores. Verifique as transformações anteriores para erros e o salto de conexão.
 MySqlBulkLoaderDialog.LoadCharSet.Label=Conjunto de caracteres (comando de carga)
 MySqlBulkLoaderDialog.Tab.Settings.Label=Geral
 MySqlBulkLoaderDialog.Tab.Fields.Label=Campos
diff --git a/plugins/engines/spark/src/main/resources/org/apache/hop/spark/transforms/table/messages/messages_pt_BR.properties b/plugins/engines/spark/src/main/resources/org/apache/hop/spark/transforms/table/messages/messages_pt_BR.properties
index 735a193ff0..9de39f54d5 100644
--- a/plugins/engines/spark/src/main/resources/org/apache/hop/spark/transforms/table/messages/messages_pt_BR.properties
+++ b/plugins/engines/spark/src/main/resources/org/apache/hop/spark/transforms/table/messages/messages_pt_BR.properties
@@ -17,20 +17,20 @@
 #
 #
 
-SparkLakeTableInput.Name=Faísca da mesa do lago
-SparkLakeTableInput.Description=Leia um formato de mesa aberta (Delta Lake / Apache Iceberg) com o motor Spark nativo
-SparkLakeTableInput.Keyword=centelha, Delta, Iceberg, Blake, mesa, entrada, ácido
+SparkLakeTableInput.Name=Spark da tabela do lago
+SparkLakeTableInput.Description=Leia um formato de tabela aberta (Delta Lake / Apache Iceberg) com o motor Spark nativo
+SparkLakeTableInput.Keyword=centelha, Delta, Iceberg, Blake, tabela, entrada, ácido
 SparkLakeTableInput.Injection.Group.Fields=Campos (projeção opcional)
-SparkLakeTableOutput.Name=Faísca da mesa do lago
-SparkLakeTableOutput.Description=Escreva um formato de mesa aberta (Delta Lake / Apache Iceberg) com o motor Spark nativo
-SparkLakeTableOutput.Keyword=centelha, Delta, Iceberg, Blake, mesa, saída, ácido
-SparkLakeTableInputDialog.Shell.Title=Faísca da mesa do lago
+SparkLakeTableOutput.Name=Spark da tabela do lago
+SparkLakeTableOutput.Description=Escreva um formato de tabela aberta (Delta Lake / Apache Iceberg) com o motor Spark nativo
+SparkLakeTableOutput.Keyword=centelha, Delta, Iceberg, Blake, tabela, saída, ácido
+SparkLakeTableInputDialog.Shell.Title=Spark da tabela do lago
 SparkLakeTableInputDialog.Format=Formato da tabela
 SparkLakeTableInputDialog.IdentifierMode=Modo identificador
-SparkLakeTableInputDialog.TablePath=Caminho da mesa de faísca (modo PATH, URI Hadoop)
-SparkLakeTableInputDialog.TablePath.Tooltip=Raiz da mesa do lago como um Spark/Hadoop URI (file\:///..., s3a\://..., ...). Não é um caminho VFS Hop (s3\://, chamado de esquemas de conexão MinIO).
+SparkLakeTableInputDialog.TablePath=Caminho da tabela de Spark (modo PATH, URI Hadoop)
+SparkLakeTableInputDialog.TablePath.Tooltip=Raiz da tabela do lago como um Spark/Hadoop URI (file\:///..., s3a\://..., ...). Não é um caminho VFS Hop (s3\://, chamado de esquemas de conexão MinIO).
 SparkLakeTableInputDialog.TableIdentifier=Identificador de tabela (modo table, por exemplo, lake.db.ordens)
-SparkLakeTableInputDialog.CatalogMetadataName=Nome dos metadados do catálogo de faíscas (modo TABELA)
+SparkLakeTableInputDialog.CatalogMetadataName=Nome dos metadados do catálogo de Sparks (modo TABELA)
 SparkLakeTableInputDialog.TimeTravelType=Viagem no tempo
 SparkLakeTableInputDialog.TimeTravelVersion=Versão / imagem id
 SparkLakeTableInputDialog.TimeTravelTimestamp=Como horário
@@ -40,42 +40,42 @@ SparkLakeTableInputDialog.Column.Name=Nome
 SparkLakeTableInputDialog.Column.Type=Tipo
 SparkLakeTableInputDialog.Column.Length=Comprimento
 SparkLakeTableInputDialog.Column.Precision=Precisão
-SparkLakeTableOutputDialog.Shell.Title=Faísca da mesa do lago
+SparkLakeTableOutputDialog.Shell.Title=Spark da tabela do lago
 SparkLakeTableOutputDialog.Format=Formato da tabela
 SparkLakeTableOutputDialog.IdentifierMode=Modo identificador
-SparkLakeTableOutputDialog.TablePath=Caminho da mesa de faísca (modo PATH, URI Hadoop)
-SparkLakeTableOutputDialog.TablePath.Tooltip=Raiz da mesa do lago como um Spark/Hadoop URI (file\:///..., s3a\://..., ...). Não é um caminho de Hop VFS.
+SparkLakeTableOutputDialog.TablePath=Caminho da tabela de Spark (modo PATH, URI Hadoop)
+SparkLakeTableOutputDialog.TablePath.Tooltip=Raiz da tabela do lago como um Spark/Hadoop URI (file\:///..., s3a\://..., ...). Não é um caminho de Hop VFS.
 SparkLakeTableOutputDialog.TableIdentifier=Identificador de tabela (modo table, por exemplo, lake.db.ordens)
-SparkLakeTableOutputDialog.CatalogMetadataName=Nome dos metadados do catálogo de faíscas (modo TABELA)
+SparkLakeTableOutputDialog.CatalogMetadataName=Nome dos metadados do catálogo de Sparks (modo TABELA)
 SparkLakeTableOutputDialog.SaveMode=Modo de gravação
 SparkLakeTableOutputDialog.PartitionBy=Partição por colunas (separadas por vírgulas)
 SparkLakeTableOutputDialog.Coalesce=Divisórias de carvão (por exemplo, 1 para um único arquivo)
 SparkLakeTableOutputDialog.ExtraOptions=Opções extras (linhas chave=valor)
-SparkLakeTableMerge.Name=A mesa do lago cintilante se funde
-SparkLakeTableMerge.Description=Fusão em uma mesa Delta Lake ou Apache Iceberg com o motor Spark nativo
-SparkLakeTableMerge.Keyword=centelha, Delta, Iceberg, Blake, mesa, fusão, upert, ácido
-SparkLakeTableMergeDialog.Shell.Title=A mesa do lago cintilante se funde
+SparkLakeTableMerge.Name=A tabela do lago cintilante se funde
+SparkLakeTableMerge.Description=Fusão em uma tabela Delta Lake ou Apache Iceberg com o motor Spark nativo
+SparkLakeTableMerge.Keyword=centelha, Delta, Iceberg, Blake, tabela, fusão, upert, ácido
+SparkLakeTableMergeDialog.Shell.Title=A tabela do lago cintilante se funde
 SparkLakeTableMergeDialog.Format=Formato da tabela
 SparkLakeTableMergeDialog.IdentifierMode=Modo identificador
-SparkLakeTableMergeDialog.TablePath=Faísca caminho da mesa alvo (modo PATH, Hadoop URI)
-SparkLakeTableMergeDialog.TablePath.Tooltip=Raíz de mesa do lago alvo como um Spark/Hadoop URI (file\:///..., s3a\://..., ...). Não é um caminho de Hop VFS.
+SparkLakeTableMergeDialog.TablePath=Spark caminho da tabela alvo (modo PATH, Hadoop URI)
+SparkLakeTableMergeDialog.TablePath.Tooltip=Raíz de tabela do lago alvo como um Spark/Hadoop URI (file\:///..., s3a\://..., ...). Não é um caminho de Hop VFS.
 SparkLakeTableMergeDialog.TableIdentifier=Identificador da tabela alvo (modo QUADRO)
-SparkLakeTableMergeDialog.CatalogMetadataName=Nome dos metadados do catálogo de faíscas (modo TABELA)
+SparkLakeTableMergeDialog.CatalogMetadataName=Nome dos metadados do catálogo de Sparks (modo TABELA)
 SparkLakeTableMergeDialog.MergeCondition=Mesclar condição (cláusula ON, t=alvo s=fonte)
 SparkLakeTableMergeDialog.MatchedAction=Quando combinado
 SparkLakeTableMergeDialog.NotMatchedAction=Quando não combina
 SparkLakeTableMergeDialog.NotMatchedBySourceAction=Quando não combina com a fonte (avançada)
 SparkLakeTableMergeDialog.RawMergeSql=MERGE SQL (avançado; substitui campos estruturados)
-SparkLakeTableMaintenance.Name=Manutenção da mesa do lago Spark
-SparkLakeTableMaintenance.Description=OPTIMIZE, VACUUM, expirar fotos, ou DELETE em uma mesa Delta/Iceberg (Native Spark)
+SparkLakeTableMaintenance.Name=Manutenção da tabela do lago Spark
+SparkLakeTableMaintenance.Description=OPTIMIZE, VACUUM, expirar fotos, ou DELETE em uma tabela Delta/Iceberg (Native Spark)
 SparkLakeTableMaintenance.Keyword=centelha, Delta, Iceberg, otimiza, vácuo, manutenção, compactação
-SparkLakeTableMaintenanceDialog.Shell.Title=Manutenção da mesa do lago Spark
+SparkLakeTableMaintenanceDialog.Shell.Title=Manutenção da tabela do lago Spark
 SparkLakeTableMaintenanceDialog.Format=Formato da tabela
 SparkLakeTableMaintenanceDialog.IdentifierMode=Modo identificador
-SparkLakeTableMaintenanceDialog.TablePath=Caminho da mesa de faísca (modo PATH, URI Hadoop)
-SparkLakeTableMaintenanceDialog.TablePath.Tooltip=Raiz da mesa do lago como um Spark/Hadoop URI (file\:///..., s3a\://..., ...). Não é um caminho de Hop VFS.
+SparkLakeTableMaintenanceDialog.TablePath=Caminho da tabela de Spark (modo PATH, URI Hadoop)
+SparkLakeTableMaintenanceDialog.TablePath.Tooltip=Raiz da tabela do lago como um Spark/Hadoop URI (file\:///..., s3a\://..., ...). Não é um caminho de Hop VFS.
 SparkLakeTableMaintenanceDialog.TableIdentifier=Identificador da tabela (modo TABELA)
-SparkLakeTableMaintenanceDialog.CatalogMetadataName=Nome dos metadados do catálogo de faíscas (modo TABELA)
+SparkLakeTableMaintenanceDialog.CatalogMetadataName=Nome dos metadados do catálogo de Sparks (modo TABELA)
 SparkLakeTableMaintenanceDialog.Operation=Operação
 SparkLakeTableMaintenanceDialog.RetentionHours=Horas de retenção (VÁCUO / EXPIRE requerido)
 SparkLakeTableMaintenanceDialog.RetainLast=Mantenha as últimas fotos de N.
diff --git a/plugins/misc/git/src/main/resources/org/apache/hop/git/messages/messages_pt_BR.properties b/plugins/misc/git/src/main/resources/org/apache/hop/git/messages/messages_pt_BR.properties
index 3ca8301636..e202185a4e 100644
--- a/plugins/misc/git/src/main/resources/org/apache/hop/git/messages/messages_pt_BR.properties
+++ b/plugins/misc/git/src/main/resources/org/apache/hop/git/messages/messages_pt_BR.properties
@@ -178,3 +178,24 @@ TextDiffDialog.Toolbar.GoToNextDiff.Tooltip=Próxima diferença.
 TextDiffDialog.Toolbar.GoToPreviousDiff.Tooltip=Diferença anterior
 TextDiffDialog.Toolbar.IgnoreWhiteSpaces.Label=Ignorar espaços em branco
 TextDiffDialog.Toolbar.IgnoreWhiteSpaces.Tooltip=Espaços brancos não são importantes, independente de sua localização no código fonte.
+GitGuiPlugin.Dialog.CleanError.Header=Erro limpo
+GitGuiPlugin.Dialog.CleanError.Message=Houve um erro fazendo uma limpeza
+GitGuiPlugin.Dialog.CleanFiles.Header=Selecione arquivos para excluir
+GitGuiPlugin.Dialog.CleanFiles.Message=Esses arquivos não são rastreados pelo Git. Por favor, selecione os arquivos para apagar do disco.
+GitGuiPlugin.Dialog.FilesCleaned.Header=Arquivos Deletados
+GitGuiPlugin.Dialog.FilesCleaned.Message=Os arquivos não rastreados selecionados foram apagados.
+GitGuiPlugin.Dialog.NoFilesToClean.Header=Nenhum arquivo para apagar
+GitGuiPlugin.Dialog.NoFilesToClean.Message=Desculpe, não há arquivos não rastreados para apagar.
+GitGuiPlugin.Dialog.UnstageError.Header=Erro GIT Unstage
+GitGuiPlugin.Dialog.UnstageError.Message=Houve um erro ao remover os arquivos selecionados.
+GitGuiPlugin.Dialog.Tag.DeleteRemoteTagConfirmation.Header=Apague uma etiqueta
+GitGuiPlugin.Dialog.Tag.DeleteRemoteTagConfirmation.Message=Também deletar etiqueta ''0}'' no controle remoto?
+GitGuiPlugin.Menu.Clean.Text=Git Clean
+GitGuiPlugin.Toolbar.Clean.Tooltip=Git clean: delete arquivos não rastreados do disco
+GitCommitPerspective.Menu.Unstage.Text=Desafiar o palco
+GitCommitPerspective.Error.NoFilesChecked.Message=Por favor, verifique a caixa na frente dos arquivos que você quer enviar.
+GitCommitPerspective.Status.Committed.Message=Arquivo(s) autorizado(s)
+GitCommitPerspective.Status.CommittedAndPushed.Message=Comprometido e empurrado {0} arquivos {1}
+GitCommitPerspective.Status.CommitId.Label=como {0}
+GitCommitPerspective.Status.Untracked.Label=Desencaminhado
+GitCommitPerspective.Toolbar.Unstage.Tooltip=Desfaça os arquivos selecionados, as mudanças são mantidas.
diff --git a/plugins/misc/git/src/main/resources/org/apache/hop/git/model/messages/messages_pt_BR.properties b/plugins/misc/git/src/main/resources/org/apache/hop/git/model/messages/messages_pt_BR.properties
index 479a2a1c7b..bf453b2f65 100644
--- a/plugins/misc/git/src/main/resources/org/apache/hop/git/model/messages/messages_pt_BR.properties
+++ b/plugins/misc/git/src/main/resources/org/apache/hop/git/model/messages/messages_pt_BR.properties
@@ -20,3 +20,11 @@
 Dialog.Error=Erro
 Dialog.Success=Sucesso
 Git.Dialog.UncommittedChanges.Message=H\u00E1 mudan\u00E7as n\u00E3o cometidas
+UIGit.Dialog.MergeFailed.Header=A fusão falhou.
+UIGit.Dialog.MergeFailed.LocalChanges.Message=Suas mudanças locais nos arquivos a seguir seriam substituídas pela junção de ''{0}'' em ''{1}'':\n{2}\n Por favor, aceite ou reverta suas mudanças antes de se fundirem.
+UIGit.Dialog.MergeFailed.Conflicting.Message=Misturando ''{0}'' em ''{1}'' encontrou conflitos:\n{2}\nA ''.noss''' e uma cópia ''.seus''' foi escrita ao lado de todos os arquivos conflitantes. Resolver os conflitos e cometer o resultado.
+UIGit.Dialog.MergeFailed.Aborted.Message=A fusão de ''{0}'' em ''{1}'' foi abortada. Seus arquivos não foram tocados.
+UIGit.Dialog.MergeFailed.Generic.Message='' Não foi fundido em '' '' Git relatou:
+UIGit.Dialog.NothingToMerge.Header=Nada para fundir
+UIGit.Dialog.NothingToMerge.Message='''' já está atualizado com ''(0)''.
+UIGit.Dialog.NothingToMerge.UncommittedChanges.Label=Você tem mudanças sem compromisso.
diff --git a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/environment/messages/messages_pt_BR.properties b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/environment/messages/messages_pt_BR.properties
index bbea92eb92..756d5d145b 100644
--- a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/environment/messages/messages_pt_BR.properties
+++ b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/environment/messages/messages_pt_BR.properties
@@ -32,3 +32,22 @@ LifecycleEnvironmentDialog.Purpose.Text.Development=Desenvolvimento
 LifecycleEnvironmentDialog.Purpose.Text.Production=Produ\u00E7\u00E3o
 LifecycleEnvironmentDialog.Purpose.Text.Testing=Testando
 LifecycleEnvironmentDialog.Shell.Name=Propriedades do ambiente
+LifecycleEnvironmentDialog.Button.ImportVariables=Importar variáveis
+LifecycleEnvironmentDialog.Label.CanvasText=Texto da tela
+LifecycleEnvironmentDialog.ToolTip.CanvasText=Um grande texto desenhado na parte superior direita do conduto e telas de fluxo de trabalho quando este ambiente está ativo
+LifecycleEnvironmentDialog.Tab.General=Geral.
+LifecycleEnvironmentDialog.Tab.ConfigurationFiles=Arquivos de configuração
+LifecycleEnvironmentDialog.ImportVariables.ProjectRequired.Title=Projeto necessário.
+LifecycleEnvironmentDialog.ImportVariables.ProjectRequired.Message=Por favor, selecione o projeto associado a este ambiente antes de importar variáveis.
+LifecycleEnvironmentDialog.ImportVariables.NoneFound.Title=Nenhuma variável a importar
+LifecycleEnvironmentDialog.ImportVariables.NoneFound.Message=Nenhuma expressão '${VARIABLE}' foi encontrada no projeto que ainda não está definido nos arquivos de configuração do ambiente.
+LifecycleEnvironmentDialog.ImportVariables.DialogMessage=Variáveis usadas no projeto ''{0}'' que ainda não estão em um arquivo de configuração de ambiente. Defina os valores como necessário, então OK para salvar.
+LifecycleEnvironmentDialog.ImportVariables.SelectConfig.Title=Selecione o arquivo de configuração
+LifecycleEnvironmentDialog.ImportVariables.SelectConfig.Message=Escolha um arquivo de configuração de ambiente existente ou crie um novo.
+LifecycleEnvironmentDialog.ImportVariables.CreateNewOption=(Criar novo arquivo de configuração...)
+LifecycleEnvironmentDialog.ImportVariables.FileFilter.Json=Arquivos do JSON
+LifecycleEnvironmentDialog.ImportVariables.FileFilter.All=Todos os arquivos.
+LifecycleEnvironmentDialog.ImportVariables.Saved.Title=Variáveis salvas
+LifecycleEnvironmentDialog.ImportVariables.Saved.Message={0} variáveis foram salvas no arquivo de configuração:\n{1}
+LifecycleEnvironmentDialog.ImportVariables.Error.Title=Erro
+LifecycleEnvironmentDialog.ImportVariables.Error.Message=Erro ao importar variáveis do projeto
diff --git a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/gui/messages/messages_pt_BR.properties b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/gui/messages/messages_pt_BR.properties
index 58e086a8f0..22e4028f45 100644
--- a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/gui/messages/messages_pt_BR.properties
+++ b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/gui/messages/messages_pt_BR.properties
@@ -168,3 +168,38 @@ AddProjectFromTemplateDialog.Label.Token.Tooltip=Passe de autenticação para Gi
 AddProjectFromTemplateDialog.Label.ShallowClone=Clone raso (história truncada)
 AddProjectFromTemplateDialog.Label.ShallowClone.Commits=Envios
 AddProjectFromTemplateDialog.Button.Browse=Navegar...
+SelectProjectsDialog.Shell.Name=Projetos
+SelectProjectsDialog.Label.Filter=Filtro:
+SelectProjectsDialog.Label.Filter.Tooltip=Filtrar por nome, grupo, pasta ou etiquetas
+SelectProjectsDialog.Button.Edit=Editar...
+SelectProjectsDialog.Button.Delete=Apagar...
+SelectProjectsDialog.Table.Col.Name=Nome
+SelectProjectsDialog.Table.Col.Group=Grupo
+SelectProjectsDialog.Table.Col.Folder=Pasta
+SelectProjectsDialog.Table.Col.Tags=Etiquetas
+SelectProjectsDialog.Table.Col.LastUsed=Último uso
+SelectProjectsDialog.Table.Col.ReadOnly=Leia somente
+SelectProjectsDialog.Table.Yes=Sim.
+SelectProjectsDialog.Table.No=Não.
+SelectProjectsDialog.Error.Save.Header=Erro
+SelectProjectsDialog.Error.Save.Message=Erro ao salvar o registro do projeto.
+ProjectConfigDialog.Shell.Name=Registro do projeto
+ProjectConfigDialog.Label.Name=Nome
+ProjectConfigDialog.Label.Home=Pasta pessoal
+ProjectConfigDialog.Label.ConfigFile=Arquivo de configuração (caminho relativo)
+ProjectConfigDialog.Label.Group=Grupo
+ProjectConfigDialog.Label.Tags=Etiquetas
+ProjectConfigDialog.Label.Tags.Tooltip=Marcas separadas por vírgulas (por exemplo, etl, cliente-a, legado)
+ProjectConfigDialog.Label.ReadOnly=Este projeto é apenas lido.
+ProjectConfigDialog.Button.Browse=Navegar...
+ProjectConfigDialog.Error.Header=Erro
+ProjectConfigDialog.Error.Message=Erro ao atualizar o registro do projeto.
+ProjectConfigDialog.Error.NameRequired=Por favor, dê um nome ao projeto.
+ProjectConfigDialog.Error.HomeRequired=Por favor, especifique a pasta do projeto.
+ProjectConfigDialog.Error.ConfigRequired=Por favor, especifique o caminho do arquivo de configuração do projeto
+ProjectConfigDialog.Error.NameExists=O projeto já existe. O nome do projeto deve ser único.
+ProjectGuiPlugin.MetadataNotLoaded.Dialog.Header=Os metadados não puderam ser carregados.
+ProjectGuiPlugin.MetadataNotLoaded.Dialog.Message=Os seguintes elementos de metadados deste projeto não podem ser carregados e ignorados. Isso geralmente significa que um plugin está faltando.
+ProjectGuiPlugin.MetadataNotLoaded.Dialog.Hint=Você pode inspecionar ou deletar esses elementos na perspectiva dos Metadados, sob "Desconhecido".
+ProjectGuiPlugin.ExportAsIs.Label=Exportar projeto como está
+ProjectGuiPlugin.ExportAsIs.Tooltip=Copie arquivos selecionados na raiz zip sem uma sub-pasta do projeto, e sem exportar variáveis ou metadados. Use isso para abrir o zip como um projeto só de leitura.
diff --git a/plugins/misc/rest/src/main/resources/org/apache/hop/metadata/rest/messages/messages_pt_BR.properties b/plugins/misc/rest/src/main/resources/org/apache/hop/metadata/rest/messages/messages_pt_BR.properties
index 6a11d9d537..58bee386b7 100644
--- a/plugins/misc/rest/src/main/resources/org/apache/hop/metadata/rest/messages/messages_pt_BR.properties
+++ b/plugins/misc/rest/src/main/resources/org/apache/hop/metadata/rest/messages/messages_pt_BR.properties
@@ -62,3 +62,38 @@ RestConnectionEditor.Pagination.CursorJson.Label=Cursor JsonPath
 RestConnectionEditor.Pagination.CursorXPath.Label=Cursor XPath
 RestConnectionEditor.Pagination.NextUrlJson.Label=URL da próxima página JsonPath
 RestConnectionEditor.Pagination.NextUrlXPath.Label=URL da próxima página: XPath
+RestConnectionEditor.ClientCertificate.Info=Apresenta um certificado de cliente durante o aperto de mão do TLS. Isso é separado do tipo de autenticação acima e pode ser combinado com qualquer um deles.
+RestConnectionEditor.Tab.Advanced.Title=Avançado
+RestConnectionEditor.Basic.Preemptive=Autenticação preventiva
+RestConnectionEditor.Basic.Preemptive.Tooltip=Envie as credenciais no primeiro pedido em vez de esperar por um desafio 401.
+RestConnectionEditor.Timeouts.Group.Label=Tempos
+RestConnectionEditor.ConnectTimeout.Label=Conectar tempo limite (ms)
+RestConnectionEditor.ReadTimeout.Label=Tempo limite de leitura (ms)
+RestConnectionEditor.Proxy.Group.Label=Proxy.
+RestConnectionEditor.ProxyScheme.Label=Esquema proxy
+RestConnectionEditor.ProxyHost.Label=Proxy host
+RestConnectionEditor.ProxyPort.Label=Porta proxy
+RestConnectionEditor.ProxyUsername.Label=Nome de usuário proxy
+RestConnectionEditor.ProxyPassword.Label=Senha proxy
+RestConnectionEditor.NonProxyHosts.Label=Proxy de bypass para
+RestConnectionEditor.OAuth2.TokenUrl=URL do Token
+RestConnectionEditor.OAuth2.Grant=Tipo Grant.
+RestConnectionEditor.OAuth2.ClientId=ID do cliente
+RestConnectionEditor.OAuth2.ClientSecret=Segredo do cliente
+RestConnectionEditor.OAuth2.RefreshToken=Atualizar token
+RestConnectionEditor.OAuth2.Scope=Escopo
+RestConnectionEditor.OAuth2.CredentialsInBody=Envie credenciais no corpo.
+RestConnectionEditor.OAuth2.CredentialsInBody.Tooltip=Onde o segredo do cliente viaja. Por padrão, vai em um cabeçalho de Autorização Básica, marque isso para um servidor que só aceita no corpo do formulário. A identificação do cliente é sempre enviada no corpo, como quiser.
+RestConnectionEditor.OAuth2.AuthorizationUrl=URL de autorização
+RestConnectionEditor.OAuth2.RedirectUri=Redirecionar URI
+RestConnectionEditor.OAuth2.Authorize=Autorizar...
+RestConnectionEditor.OAuth2.Authorize.Tooltip=Abre o servidor de autorização em um navegador, então troca o código que você recebe de volta para uma ficha de atualização. Faça isso uma vez, condutos e correrão sem vigilância.
+RestConnectionEditor.OAuth2.Authorize.Title=Autorizar
+RestConnectionEditor.OAuth2.Authorize.Info=Abra a URL abaixo em um navegador e aprove o pedido. O navegador é enviado para o seu URI redirecionado com um parâmetro "code=" na barra de endereços. Copie esse valor de código e cole abaixo. Os códigos de autorização são curtos, então não deixe isso aberto por muito tempo.
+RestConnectionEditor.OAuth2.OpenBrowser=Abrir no navegador
+RestConnectionEditor.OAuth2.OpenBrowserFailed=Incapaz de abrir um navegador. Copie o URL em cima manualmente.
+RestConnectionEditor.OAuth2.Code=Código de autorização.
+RestConnectionEditor.OAuth2.Authorized=Autorizado. A ficha de atualização foi preenchida e a bolsa mudou para REFRESH TOKEN, então esta conexão pode ser executada sem acompanhamento. Lembre-se de salvá-lo.
+RestConnectionEditor.OAuth2.Authorized.Title=Autorizado
+RestConnectionEditor.OAuth2.AuthorizeFailed=A autorização não pôde ser completada.
+RestConnectionEditor.OAuth2.AuthorizeFailed.Title=A autorização falhou.
diff --git a/plugins/tech/azure/src/main/resources/org/apache/hop/vfs/azure/metadatatype/messages/messages_pt_BR.properties b/plugins/tech/azure/src/main/resources/org/apache/hop/vfs/azure/metadatatype/messages/messages_pt_BR.properties
index 4c5db54bfc..f062052c99 100644
--- a/plugins/tech/azure/src/main/resources/org/apache/hop/vfs/azure/metadatatype/messages/messages_pt_BR.properties
+++ b/plugins/tech/azure/src/main/resources/org/apache/hop/vfs/azure/metadatatype/messages/messages_pt_BR.properties
@@ -27,3 +27,5 @@ AzureMetadataTypeEditor.StorageAccountName.Label=Nome da conta de armazenamento
 AzureMetadataTypeEditor.AuthenticationType.Label=Tipo de autenticação
 AzureMetadataTypeEditor.CacheTtlSeconds.Label=Armazenamento TTL (segundos)
 AzureMetadataTypeEditor.CacheTtlSeconds.Description=Por quanto tempo armazenar os resultados de listagem de pastas(em segundos, padrão 5). Se não estiver definido, será 10 segundos.
+AzureMetadataTypeEditor.SasToken.Label=SAS Token
+AzureMetadataTypeEditor.SasToken.ToolTip=Uma assinatura de acesso compartilhada, como o texto de consulta. O principal é opcional. Não cole uma URL completa.
diff --git a/plugins/tech/databricks/src/main/resources/org/apache/hop/databricks/metadata/messages/messages_pt_BR.properties b/plugins/tech/databricks/src/main/resources/org/apache/hop/databricks/metadata/messages/messages_pt_BR.properties
new file mode 100644
index 0000000000..7112ed9cd4
--- /dev/null
+++ b/plugins/tech/databricks/src/main/resources/org/apache/hop/databricks/metadata/messages/messages_pt_BR.properties
@@ -0,0 +1,35 @@
+#
+#
+# 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.
+#
+#
+
+DatabricksConnection.Name=Conexão Databricks
+DatabricksConnection.Description=Conexão de espaço de trabalho para Databricks Jobs API (PAT)
+DatabricksConnection.Name.Label=Nome
+DatabricksConnection.Description.Label=Descrição
+DatabricksConnection.Description.Tooltip=Descrição opcional de texto livre.
+DatabricksConnection.Host.Label=Máquina do espaço de trabalho
+DatabricksConnection.Host.Tooltip=Local de trabalho, por exemplo: https://adb-1234567890123456.7 Azuredatabricks.net (esquema opcional)
+DatabricksConnection.Token.Label=Token de acesso pessoal
+DatabricksConnection.Token.Tooltip=Databricks PAT (campo de senha). Prefira variáveis para segredos. Nunca registrado.
+DatabricksConnection.ApiBase.Label=Caminho base da API
+DatabricksConnection.ApiBase.Tooltip=Prefixo API de tarefas (padrão /api/2.1)
+DatabricksConnection.Test.Label=Ligação de teste
+DatabricksConnection.Test.Success.Title=Conexão OK
+DatabricksConnection.Test.Success.Message=Conectado ao espaço de trabalho Databricks como:
+DatabricksConnection.Test.Error.Title=A conexão falhou.
+DatabricksConnection.Test.Error.Message=Incapaz de se conectar ao espaço de trabalho Databricks
diff --git a/plugins/tech/ftp/src/main/resources/org/apache/hop/vfs/ftp/messages/messages_pt_BR.properties b/plugins/tech/ftp/src/main/resources/org/apache/hop/vfs/ftp/messages/messages_pt_BR.properties
index df0a65dc07..24b3645a84 100644
--- a/plugins/tech/ftp/src/main/resources/org/apache/hop/vfs/ftp/messages/messages_pt_BR.properties
+++ b/plugins/tech/ftp/src/main/resources/org/apache/hop/vfs/ftp/messages/messages_pt_BR.properties
@@ -15,3 +15,30 @@
 # limitations under the License.
 #
 
+FtpSecurityMode.FTP.Label=FTP (sem criptografia)
+FtpSecurityMode.FTPS_EXPLICIT.Label=FTPS - explícito.
+FtpSecurityMode.FTPS_IMPLICIT.Label=FTPS - implícito
+FtpDataChannelProtection.PRIVATE.Label=Criptografado - proteger o conteúdo do arquivo também (PROT P)
+FtpDataChannelProtection.CLEAR.Label=Não criptografado - envie o conteúdo do arquivo no claro (PROT C)
+FtpConnection.Log.Opened=Ligação FTP aberta ao servidor [{0}]
+FtpConnection.Log.ThroughProxy=Conectando através do proxy FTP
+FtpConnection.Log.LoggedIn=Entrar com o usuário {0}
+FtpConnection.Log.ServerGreeting=O servidor respondeu:
+FtpConnection.Log.SetActive=Defina o modo de conexão FTP ativo
+FtpConnection.Log.SetPassive=Defina o modo de conexão FTP passivo
+FtpConnection.Log.SetBinary=Definir modo de transferência binária
+FtpConnection.Log.SetAscii=Definir modo de transferência ASCII
+FtpConnection.Log.SetEncoding=Definir codificação de controle para {0}
+FtpConnection.Log.SetTimeout=Definir tempo limite para {0} ms
+FtpConnection.Log.LogoutFailed=O servidor não aceitou o desligamento.
+FtpConnection.Error.NoConnection=Por favor, especifique uma conexão FTP.
+FtpConnection.Error.ConnectionNotFound=Incapaz de encontrar conexão FTP "{0}" nos metadados
+FtpConnection.Error.NoServerName=Ligação FTP "{0}" não tem nome de servidor
+FtpConnection.Error.UnableToConnect=Não foi possível conectar à conexão FTP "{0}" em {1}
+FtpConnection.Error.ConnectionRefused=O servidor FTP recusou a conexão, responda código {1}: {2}
+FtpConnection.Error.LoginRefused=O servidor FTP {1} recusou o login do usuário "{0}", código de resposta {2}
+FtpConnection.Error.ClientCertificate=Não foi possível ler a chaveria do certificado do cliente "{0}" da conexão FTP "{1}"
+FtpConnection.Error.NoTrustManager=Incapaz de obter o gerente de confiança da JVM para verificar o certificado do servidor FTPS com
+FtpConnection.Error.Disconnect=Erro ao desconectar do servidor FTP: {0}
+FtpConnection.Error.SocksProxyPortMissing=O servidor proxy de meias não tem sua porta especificada.
+FtpConnection.Error.SocksProxyIncompleteCredentials=As credenciais proxy das meias em "1" estão incompletas. Se credenciais não são necessárias, então limpe o nome de usuário e a senha.
diff --git a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_pt_BR.properties b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_pt_BR.properties
index ecc7b017c4..7c9eadf924 100644
--- a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_pt_BR.properties
+++ b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_pt_BR.properties
@@ -62,4 +62,4 @@ SalesforceDeleteDialog.KeyField.Label=ID do nome do campo
 SalesforceDeleteDialog.RollbackAllChangesOnError.Tooltip=Retroceder todas as mudanças, a menos que todos os registros sejam processados com sucesso. O comportamento padrão é permitir o sucesso parcial de uma chamada: registros sem erros são cometidos, enquanto registros com erros são marcados como falha nos resultados da chamada.
 SalesforceDeleteDialog.URL.Label=URL do Salesforce
 SalesforceDeleteDialog.URL.Tooltip=URL do alvo
-SalesforceInputMeta.CheckResult.NoInputExpected=Esta transformada está recebendo informações de transformadas anteriores.
+SalesforceInputMeta.CheckResult.NoInputExpected=Esta transformada está recebendo informações de transformações anteriores.
diff --git a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinsert/messages/messages_pt_BR.properties b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinsert/messages/messages_pt_BR.properties
index 7454e4d8e6..88cdad673c 100644
--- a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinsert/messages/messages_pt_BR.properties
+++ b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinsert/messages/messages_pt_BR.properties
@@ -62,7 +62,7 @@ SalesforceInsertMeta.CheckResult.NoInput=Sem receber entrada de outras transform
 SalesforceInsertMeta.CheckResult.NoInputExpected=Esta transforma\u00E7\u00E3o n\u00E3o est\u00E1 esperando nem lendo nenhuma entrada
 SalesforceInsertMeta.keyword=SalesForce,inserir
 SalesforceInputMeta.CheckResult.NoInput=Nenhum campo foi especificado na aba de campos.
-SalesforceInputMeta.CheckResult.NoInputExpected=Esta transformada está recebendo informações de transformadas anteriores.
+SalesforceInputMeta.CheckResult.NoInputExpected=Esta transformada está recebendo informações de transformações anteriores.
 SalesforceInsert.CallingFlushBuffer=Chamando buffer flush de writeToSalesForce
 SalesforceInsert.Error=Falhou em escreverToSalesForce
 SalesforceInsert.ErrorFound=Encontrou erro da SalesForce e levantou a exceção.
diff --git a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_pt_BR.properties b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_pt_BR.properties
index d71bf9a3a0..fb1ffe53dc 100644
--- a/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_pt_BR.properties
+++ b/plugins/tech/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_pt_BR.properties
@@ -61,7 +61,7 @@ SalesforceUpsertMeta.CheckResult.NoInput=Sem receber entrada de outras transform
 SalesforceUpsertMeta.CheckResult.NoInputExpected=Esta transforma\u00E7\u00E3o n\u00E3o est\u00E1 esperando nem lendo nenhuma entrada
 SalesforceUpsertMeta.keyword=SalesForce,atualizar e inserir
 SalesforceInputMeta.CheckResult.NoInput=Nenhum campo foi especificado na aba de campos.
-SalesforceInputMeta.CheckResult.NoInputExpected=Esta transformada está recebendo informações de transformadas anteriores.
+SalesforceInputMeta.CheckResult.NoInputExpected=Esta transformada está recebendo informações de transformações anteriores.
 SalesforceUpdateDialog.ColumnInfo.UseExternalId.Tooltip=Use a identidade externa.
 SalesforceUpsert.CalledWrite=Chamado de "Escrita à Força de Vendas"
 SalesforceUpsert.ErrorFound=Encontrou erro da SalesForce e levantou a exceção.
diff --git a/plugins/transforms/binaryfileoutput/src/main/resources/org/apache/hop/pipeline/transforms/binaryfileoutput/messages/messages_pt_BR.properties b/plugins/transforms/binaryfileoutput/src/main/resources/org/apache/hop/pipeline/transforms/binaryfileoutput/messages/messages_pt_BR.properties
index c1b99d7902..0872a38919 100644
--- a/plugins/transforms/binaryfileoutput/src/main/resources/org/apache/hop/pipeline/transforms/binaryfileoutput/messages/messages_pt_BR.properties
+++ b/plugins/transforms/binaryfileoutput/src/main/resources/org/apache/hop/pipeline/transforms/binaryfileoutput/messages/messages_pt_BR.properties
@@ -47,12 +47,12 @@ BinaryFileOutputDialog.Overwrite.Tooltip=Sobrescrever o arquivo alvo quando ele
 BinaryFileOutputDialog.AddResult.Label=Adicionar nome de arquivo ao resultado
 BinaryFileOutputDialog.AddResult.Tooltip=Adicione nomes de arquivos escritos aos nomes de arquivos de resultados
 BinaryFileOutputDialog.FailedToGetFields.DialogTitle=Os campos falharam.
-BinaryFileOutputDialog.FailedToGetFields.DialogMessage=Incapaz de obter campos de transformadas anteriores por causa de um erro
+BinaryFileOutputDialog.FailedToGetFields.DialogMessage=Incapaz de obter campos de transformações anteriores por causa de um erro
 BinaryFileOutputMeta.CheckResult.BinaryFieldMissing=O nome do campo binário está faltando!
 BinaryFileOutputMeta.CheckResult.BinaryFieldOK=Nome de campo binário foi especificado
 BinaryFileOutputMeta.CheckResult.FilenameFieldMissing=O nome do campo está faltando!
 BinaryFileOutputMeta.CheckResult.FilenameFieldOK=Nome do arquivo nome do campo foi especificado
-BinaryFileOutputMeta.CheckResult.NoInputReceived=Nenhuma entrada recebida de outras transformadas!
+BinaryFileOutputMeta.CheckResult.NoInputReceived=Nenhuma entrada recebida de outras transformações!
 BinaryFileOutputMeta.CheckResult.ReceivingInfoFromOtherTransforms=Transform está recebendo informações de outras transformações.
 BinaryFileOutput.Injection.BinaryField=Nome do campo binário
 BinaryFileOutput.Injection.FilenameField=Nome do arquivo nome do campo
diff --git a/plugins/transforms/blockingtransform/src/main/resources/org/apache/hop/pipeline/transforms/blockingtransform/messages/messages_pt_BR.properties b/plugins/transforms/blockingtransform/src/main/resources/org/apache/hop/pipeline/transforms/blockingtransform/messages/messages_pt_BR.properties
index 6bc1651ff1..e8bb21fa5a 100644
--- a/plugins/transforms/blockingtransform/src/main/resources/org/apache/hop/pipeline/transforms/blockingtransform/messages/messages_pt_BR.properties
+++ b/plugins/transforms/blockingtransform/src/main/resources/org/apache/hop/pipeline/transforms/blockingtransform/messages/messages_pt_BR.properties
@@ -38,7 +38,7 @@ BlockingTransformDialog.SpoolDir.Label=Diretório do carretel
 BlockingTransformMeta.CheckResult.DirectoryExists=O diretório temporário especificado existe.
 BlockingTransformMeta.CheckResult.DirectoryNotExists=O diretório temporário especificado não existe.
 BlockingTransformMeta.CheckResult.ExistsButNoDirectory=O arquivo especificado existe, mas não é um diretório.
-BlockingTransformMeta.CheckResult.NoFields=Nenhum campo encontrado vindo de transformadas anteriores.
+BlockingTransformMeta.CheckResult.NoFields=Nenhum campo encontrado vindo de transformações anteriores.
 BlockingTransformMeta.CheckResult.TransformExpectingRowsFromOtherTransforms=Isso transforma espera e leitura de linhas de dados de outras transformações.
 BlockingTransformMeta.ErrorReadingFile=Erro ao ler o arquivo tmp \:
 BlockingTransformMeta.UnableDeleteFile=Não foi possivel fechar/deletar o arquivo \#0 -->
diff --git a/plugins/transforms/constant/src/main/resources/org/apache/hop/pipeline/transforms/constant/messages/messages_pt_BR.properties b/plugins/transforms/constant/src/main/resources/org/apache/hop/pipeline/transforms/constant/messages/messages_pt_BR.properties
index a51489b5ac..0b08ebf8b5 100644
--- a/plugins/transforms/constant/src/main/resources/org/apache/hop/pipeline/transforms/constant/messages/messages_pt_BR.properties
+++ b/plugins/transforms/constant/src/main/resources/org/apache/hop/pipeline/transforms/constant/messages/messages_pt_BR.properties
@@ -56,3 +56,17 @@ Constant.BuildRow.Error.Parsing.InternetAddress=Não foi possível analisar o ca
 Constant.BuildRow.Error.Parsing.Number=Não foi possível analisar o campo Número com valor
 Constant.BuildRow.Error.Parsing.Timestamp=Não foi possível analisar o campo Timestamp com valor
 ConstantMeta.Injection.SetEmptyString.Field=Definir string vazia (S/N)?
+Constant.BuildRow.Error.Parsing.Type=Não consegui analisar o campo com valor.
+Constant.CheckResult.NoFieldNameWarning=Constant não tem nome de campo e é ignorado. Dê um nome para adicionar nas linhas de saída.
+ConstantDialog.Currency.Column.Tooltip=Símbolo de moeda opcional usado quando a máscara contém um sinal de moeda. Exemplos\: $, \u20AC.
+ConstantDialog.Decimal.Column.Tooltip=Caráter que separa as partes inteiras e fracionárias. Exemplo: em 10.000,00 (EUA) ou, em 10.000,00 (DE).
+ConstantDialog.Format.Column.Tooltip=Número ou data padrão usado para analisar a string de valor (Java DecimalFormat ou SimpleDateFormat).
+ConstantDialog.Group.Column.Tooltip=Milhares agrupando símbolo (por exemplo, em 1.000.00 ou. em 1.000,00). Não é um grupo de discussão.
+ConstantDialog.Length.Column.Tooltip=String\: caracteres máximos. Número \: dígitos significativos. Inteiro: largura de exibição. Data: comprimento impresso.
+ConstantDialog.Name.Column.Tooltip=Nome do campo constante adicionado a cada linha de entrada.
+ConstantDialog.NoFieldName.Message=Uma constante sem um nome não pode ser adicionada às linhas de saída. Por favor, dê um nome ou limpe a linha.
+ConstantDialog.NoFieldName.Title=Nome de campo desaparecido.
+ConstantDialog.Precision.Column.Tooltip=Decimal depois do radíx para Número e Número Grande. Não usado para String, Date e Boolean.
+ConstantDialog.Type.Column.Tooltip=Tipo de dados de salto da constante. A string Value é analisada neste tipo.
+ConstantDialog.Value.Column.Tooltip=Um único valor constante para este campo, analisado usando Tipo e Formato. Não uma lista separada por vírgulas.
+ConstantDialog.Value.SetEmptyString.Tooltip=Emite uma corda vazia em vez de nula quando a constante está vazia.
diff --git a/plugins/transforms/delay/src/main/resources/org/apache/hop/pipeline/transforms/delay/messages/messages_pt_BR.properties b/plugins/transforms/delay/src/main/resources/org/apache/hop/pipeline/transforms/delay/messages/messages_pt_BR.properties
index ab1213c248..f49d726ffd 100644
--- a/plugins/transforms/delay/src/main/resources/org/apache/hop/pipeline/transforms/delay/messages/messages_pt_BR.properties
+++ b/plugins/transforms/delay/src/main/resources/org/apache/hop/pipeline/transforms/delay/messages/messages_pt_BR.properties
@@ -61,7 +61,7 @@ DelayDialog.ScaleTimeFromField.Label=Obter escala de tempo de campo
 DelayDialog.ScaleTimeField.Label=Campo de escala temporal
 DelayDialog.ScaleTimeField.Tooltip=Selecione um campo do fluxo de entrada que contenha valores como milissegundos, segundos, minutos ou horas.
 DelayDialog.UnableToGetFields.Title=Não foi possivel recuperar campos
-DelayDialog.UnableToGetFields.Message=Não foi possivel recuperar os campos das transformadas anteriores.
+DelayDialog.UnableToGetFields.Message=Não foi possivel recuperar os campos das transformações anteriores.
 DelayMeta.CheckResult.TimeoutFieldNotFound=O campo de tempo limite não foi encontrado no fluxo de entrada.
 DelayMeta.CheckResult.ScaleTimeFieldMissing=O campo de escala de tempo é necessário quando "Get time scale from field" é ativado.
 DelayMeta.CheckResult.ScaleTimeFieldNotFound=O campo de escala de tempo não foi encontrado no fluxo de entrada.
diff --git a/plugins/transforms/detectlanguage/src/main/resources/org/apache/hop/pipeline/transforms/language/messages/messages_pt_BR.properties b/plugins/transforms/detectlanguage/src/main/resources/org/apache/hop/pipeline/transforms/language/messages/messages_pt_BR.properties
index 2f695b6db2..d9f87788be 100644
--- a/plugins/transforms/detectlanguage/src/main/resources/org/apache/hop/pipeline/transforms/language/messages/messages_pt_BR.properties
+++ b/plugins/transforms/detectlanguage/src/main/resources/org/apache/hop/pipeline/transforms/language/messages/messages_pt_BR.properties
@@ -39,5 +39,5 @@ DetectLanguage.Error.CorpusFieldMissing=Campo de Corpus está ausente!
 DetectLanguageDialog.CorpusFieldName.Label=Campo de texto Corpus
 DetectLanguageMeta.CheckResult.CorpusFieldMissing=Campo de Corpus está ausente!
 DetectLanguageMeta.CheckResult.CorpusFieldOK=Campo Corpus foi especificado.
-DetectLanguageMeta.CheckResult.NoInpuReceived=Nenhuma entrada recebida de outras transformadas!
+DetectLanguageMeta.CheckResult.NoInpuReceived=Nenhuma entrada recebida de outras transformações!
 DetectLanguage.Injection.CorpusField=Campo de texto Corpus
diff --git a/plugins/transforms/dimensionlookup/src/main/resources/org/apache/hop/pipeline/transforms/dimensionlookup/messages/messages_pt_BR.properties b/plugins/transforms/dimensionlookup/src/main/resources/org/apache/hop/pipeline/transforms/dimensionlookup/messages/messages_pt_BR.properties
index fafc9ba11a..504abf25b7 100644
--- a/plugins/transforms/dimensionlookup/src/main/resources/org/apache/hop/pipeline/transforms/dimensionlookup/messages/messages_pt_BR.properties
+++ b/plugins/transforms/dimensionlookup/src/main/resources/org/apache/hop/pipeline/transforms/dimensionlookup/messages/messages_pt_BR.properties
@@ -212,7 +212,7 @@ DimensionLookupMeta.CheckResult.WarningInfoInDBConversion="T" Este é um aviso e
 DimensionLookupMeta.Exception.UnableToFindReturnField=Não foi possivel encontrar campo de retorno na tabela de dimensões.
 DimensionLookupMeta.Exception.UnableToRetrieveDataTypeOfReturnField=Não foi possível recuperar o tipo de dados dos campos de retorno porque nenhuma conexão com o banco de dados foi especificada
 DimensionLookupMeta.Exception.UnableToRetrieveDataTypeOfReturnField2=Não foi possivel recuperar o tipo de dados de campos de retorno por causa de um erro inesperado
-DimensionLookupMeta.Log.CheckField=Verifique campo \#{0}, no fluxo de entrada de transformadas anteriores
+DimensionLookupMeta.Log.CheckField=Verifique campo \#{0}, no fluxo de entrada de transformações anteriores
 DimensionLookupMeta.Log.GetDDLForTable=Traga DDL para a tabela.
 DimensionLookupMeta.ReturnValue.NoKeyFieldsSpecified=Nenhum campo chave é especificado. Por favor, especifique os campos para usar como chave para esta dimensão.
 DimensionLookupMeta.ReturnValue.TechnicalKeyFieldRequired=Por favor, especifique o nome do campo de chaves técnicas (também conhecido como chave substituta)
diff --git a/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelinput/messages/messages_pt_BR.properties b/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelinput/messages/messages_pt_BR.properties
index 33f6717c8c..68026e5f1f 100644
--- a/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelinput/messages/messages_pt_BR.properties
+++ b/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelinput/messages/messages_pt_BR.properties
@@ -161,7 +161,7 @@ ExcelInputDialog.AcceptTransform.Tooltip=Selecione a transformada para ler as in
 ExcelInputDialog.AddFilenames=Adicionar nome de arquivo
 ExcelInputDialog.AddResult.Tooltip=Marque esta opção se quiser adicionar nomes de arquivos para a lista de nomes de arquivos de resultados.
 ExcelInputDialog.AddSheets=Adicionar folha(s)
-ExcelInputDialog.Dialog.SpecifyASampleFile.Message=Por favor, especifique pelo menos uma amostra de arquivo Excel na lista de arquivos. Ao ler nomes de arquivos de transformadas anteriores, este arquivo não será usado durante o processamento.
+ExcelInputDialog.Dialog.SpecifyASampleFile.Message=Por favor, especifique pelo menos uma amostra de arquivo Excel na lista de arquivos. Ao ler nomes de arquivos de transformações anteriores, este arquivo não será usado durante o processamento.
 ExcelInputDialog.ErrorDestDir.Label=Diretório de arquivos de erro
 ExcelInputDialog.ErrorDialog.UnableToGetInputFields.Message=Não foi possivel obter campos de entrada
 ExcelInputDialog.ErrorIgnored.Tooltip=Ignorar erros de análise que ocorrem, opcionalmente registrar informações sobre os erros.
diff --git a/plugins/transforms/fieldschangesequence/src/main/resources/org/apache/hop/pipeline/transforms/fieldschangesequence/messages/messages_pt_BR.properties b/plugins/transforms/fieldschangesequence/src/main/resources/org/apache/hop/pipeline/transforms/fieldschangesequence/messages/messages_pt_BR.properties
index 96076e5f56..d51a9e0877 100644
--- a/plugins/transforms/fieldschangesequence/src/main/resources/org/apache/hop/pipeline/transforms/fieldschangesequence/messages/messages_pt_BR.properties
+++ b/plugins/transforms/fieldschangesequence/src/main/resources/org/apache/hop/pipeline/transforms/fieldschangesequence/messages/messages_pt_BR.properties
@@ -44,11 +44,11 @@ FieldsChangeSequenceMeta.keyword=campo,mudan\u00E7a,sequ\u00EAncia
 FieldsChangeSequence.Description=Adicionar a sequencia dependendo da mudan\u00E7a dos valores dos campos.\nCada vez o valor de pelo menos um campo mudar, a transforma\u00E7\u00E3o ir\u00E1 reiniciar a sequ\u00EAncia.
 FieldsChangeSequence.Log.ReadRow=Leia linha \#
 FieldsChangeSequence.Name=Adicione campos de valor mudando de sequência
-FieldsChangeSequenceDialog.ErrorGettingPreviousFields=Erro ao pegar campos de transformadas anteriores! Erro:
+FieldsChangeSequenceDialog.ErrorGettingPreviousFields=Erro ao pegar campos de transformações anteriores! Erro:
 FieldsChangeSequenceDialog.Fields.Label=Init sequência se o valor dos seguintes campos mudar
 FieldsChangeSequenceDialog.Shell.Title=Adicione campos de valor mudando de sequência
 FieldsChangeSequenceDialog.Start.Label=Comece pelo valor.
-FieldsChangeSequenceMeta.CheckResult.NotReceivingFields=Não recebendo nenhum campo de transformadas anteriores!
+FieldsChangeSequenceMeta.CheckResult.NotReceivingFields=Não recebendo nenhum campo de transformações anteriores!
 FieldsChangeSequenceMeta.CheckResult.ResultFieldMissing=O nome de campo do resultado sumiu!
 FieldsChangeSequenceMeta.CheckResult.ResultFieldOK=O nome de campo do resultado é fornecido.
 FieldsChangeSequenceMeta.Injection.Start=Comece pelo valor.
diff --git a/plugins/transforms/filterrows/src/main/resources/org/apache/hop/pipeline/transforms/filterrows/messages/messages_pt_BR.properties b/plugins/transforms/filterrows/src/main/resources/org/apache/hop/pipeline/transforms/filterrows/messages/messages_pt_BR.properties
index b226a4512e..ac04b8de26 100644
--- a/plugins/transforms/filterrows/src/main/resources/org/apache/hop/pipeline/transforms/filterrows/messages/messages_pt_BR.properties
+++ b/plugins/transforms/filterrows/src/main/resources/org/apache/hop/pipeline/transforms/filterrows/messages/messages_pt_BR.properties
@@ -41,7 +41,7 @@ FilterRows.Log.ErrorOccurredForRow=Erro na linha:
 FilterRows.Log.TargetTransformInvalid=Transformar é inválido como alvo.
 FilterRowsMeta.CheckResult.AllFieldsFoundInInputStream=Todos os campos para comparar são encontrados no fluxo de entrada.
 FilterRowsMeta.CheckResult.ConditionSpecified=Transformar tem uma condição especificada.
-FilterRowsMeta.CheckResult.FieldsNotFoundFromPreviousTransform=Campos usados na condição, não encontrados na entrada de transformadas anteriores:
+FilterRowsMeta.CheckResult.FieldsNotFoundFromPreviousTransform=Campos usados na condição, não encontrados na entrada de transformações anteriores:
 FilterRowsMeta.CheckResult.NoConditionSpecified=Transformação não tem condição especificada.
 FilterRowsMeta.CheckResult.TargetTransformInvalid=Transformar para o alvo é inválido.
 FilterRowsMeta.Injection.CONDITION=A condição para limitar o número de linhas de saída.
diff --git a/plugins/transforms/fuzzymatch/src/main/resources/org/apache/hop/pipeline/transforms/fuzzymatch/messages/messages_pt_BR.properties b/plugins/transforms/fuzzymatch/src/main/resources/org/apache/hop/pipeline/transforms/fuzzymatch/messages/messages_pt_BR.properties
index e3c805c797..d1eb935275 100644
--- a/plugins/transforms/fuzzymatch/src/main/resources/org/apache/hop/pipeline/transforms/fuzzymatch/messages/messages_pt_BR.properties
+++ b/plugins/transforms/fuzzymatch/src/main/resources/org/apache/hop/pipeline/transforms/fuzzymatch/messages/messages_pt_BR.properties
@@ -101,7 +101,7 @@ FuzzyMatchMeta.algorithm.PairSimilarity=Letra em pares Similaridade
 FuzzyMatchMeta.CheckResult.AllFieldsFoundInTheLookupStream2=Todos os campos para recuperar são encontrados no fluxo de entrada.
 FuzzyMatchMeta.CheckResult.FieldFoundInTheLookupStream=O campo foi encontrado no riacho.
 FuzzyMatchMeta.CheckResult.FieldNotFoundInLookupStream=O campo não foi encontrado no fluxo de busca!
-FuzzyMatchMeta.CheckResult.FieldsNotFoundFromInLookupSep=Não consegui achar campos com as transformadas, verifique os saltos...
+FuzzyMatchMeta.CheckResult.FieldsNotFoundFromInLookupSep=Não consegui achar campos com as transformações, verifique os saltos...
 FuzzyMatchMeta.CheckResult.FieldsNotFoundInLookupStream2=Campos para recuperar que não foram encontrados no fluxo de busca\:
 FuzzyMatchMeta.CheckResult.MainFieldFound=Campo principal foi encontrado no fluxo de entrada.
 FuzzyMatchMeta.CheckResult.NeedAtLeast2InputStreams=Precisamos de pelo menos 2 fluxos de entrada 1 (ou mais) fluxo de entrada para os dados 1 fluxo de entrada para os dados de busca
@@ -109,7 +109,17 @@ FuzzyMatchMeta.CheckResult.SourceTransformDoesNotExist=Olhar para cima não exis
 FuzzyMatchMeta.CheckResult.SourceTransformExist=Procure transformar!
 FuzzyMatchMeta.CheckResult.SourceTransformIsSelected=A transformada de busca está selecionada.
 FuzzyMatchMeta.CheckResult.SourceTransformNotSelected=A transformada de busca não está selecionada!
-FuzzyMatchMeta.CheckResult.TransformReceivingInfoFromInputTransforms=Transform está recebendo informações de entradas transformadas.
+FuzzyMatchMeta.CheckResult.TransformReceivingInfoFromInputTransforms=Transform está recebendo informações de entradas transformações.
 FuzzyMatchMeta.CheckResult.TransformReceivingLookupData=Transform está recebendo dados de busca para outra transformação, recebendo campos
 FuzzyMatchMeta.Exception.ReturnValueCanNotBeFound=O valor de retorno não pode ser encontrado na linha de entrada.
 FuzzyMatchMeta.InfoStream.Description=Essas fileiras são carregadas na memória e usadas para fazer buscas.
+FuzzyMatch.Log.MaxMatches=Max é o Top-K.
+FuzzyMatch.Log.MaxMatchesCapped=O máximo de fósforos ajustados excede o limite, limitado a 1
+FuzzyMatchDialog.matchMode.Label=Modo de jogo
+FuzzyMatchDialog.matchMode.Tooltip=Todos os jogos (separadas)\: emitem uma linha de saída por partida (Top-K), cada um com seu próprio valor de medida.\nTodos os jogos (concatenados)\: juntam correspondências (e medidas) com o separador de valores.
+FuzzyMatchDialog.maxMatches.Label=Max combina.
+FuzzyMatchDialog.maxMatches.Tooltip=Limite máximo para modos multi-match. Por padrão 10, com cobertura de 100 para evitar explosão.
+FuzzyMatchDialog.separator.Tooltip=Separador usado para unir valores de correspondência e medir valores em todos os jogos (concatenados) modo.
+FuzzyMatchMeta.matchMode.Closest=A combinação mais próxima.
+FuzzyMatchMeta.matchMode.AllRows=Todas as partidas (separadas)
+FuzzyMatchMeta.matchMode.AllConcat=Todos os fósforos (concatenados)
diff --git a/plugins/transforms/getsubfolders/src/main/resources/org/apache/hop/pipeline/transforms/getsubfolders/messages/messages_pt_BR.properties b/plugins/transforms/getsubfolders/src/main/resources/org/apache/hop/pipeline/transforms/getsubfolders/messages/messages_pt_BR.properties
index ab5083a0df..a6a1e511c1 100644
--- a/plugins/transforms/getsubfolders/src/main/resources/org/apache/hop/pipeline/transforms/getsubfolders/messages/messages_pt_BR.properties
+++ b/plugins/transforms/getsubfolders/src/main/resources/org/apache/hop/pipeline/transforms/getsubfolders/messages/messages_pt_BR.properties
@@ -61,5 +61,5 @@ GetSubFoldersMeta.CheckResult.ExpectedFilesOk=Esta transformada está lendo past
 GetSubFoldersMeta.CheckResult.ExpectedFoldersError=Nenhuma pasta pode ser encontrada para ler.
 GetSubFoldersMeta.CheckResult.FolderFieldnameMissing=O nome da pasta está ausente!
 GetSubFoldersMeta.CheckResult.FolderFieldnameOk=Nome da pasta é especificado.
-GetSubFoldersMeta.CheckResult.InputErrorKo=Esta transformação deve receber entrada de outras transformadas!
+GetSubFoldersMeta.CheckResult.InputErrorKo=Esta transformação deve receber entrada de outras transformações!
 GetSubFoldersMeta.CheckResult.InputOk=Esta transformação recebe informações de outras transformações.
diff --git a/plugins/transforms/gettablenames/src/main/resources/org/apache/hop/pipeline/transforms/gettablenames/messages/messages_pt_BR.properties b/plugins/transforms/gettablenames/src/main/resources/org/apache/hop/pipeline/transforms/gettablenames/messages/messages_pt_BR.properties
index 0f85417020..fc21c0b918 100644
--- a/plugins/transforms/gettablenames/src/main/resources/org/apache/hop/pipeline/transforms/gettablenames/messages/messages_pt_BR.properties
+++ b/plugins/transforms/gettablenames/src/main/resources/org/apache/hop/pipeline/transforms/gettablenames/messages/messages_pt_BR.properties
@@ -75,7 +75,7 @@ GetTableNamesDialog.addSchemaInOutput.Tooltip=Adicione esquema em tabelas, vista
 GetTableNamesDialog.CreationSQLName.Label=Criação SQL fieldname
 GetTableNamesDialog.CreationSQLName.Tooltip=Adicionar campo (cadeia de caracteres) que contém criação SQL para tabelas.
 GetTableNamesDialog.DynamicSchema.Label=Obter esquema de campo
-GetTableNamesDialog.DynamicSchema.Tooltip=Obter o nome do esquema do campo definido em transformadas anteriores
+GetTableNamesDialog.DynamicSchema.Tooltip=Obter o nome do esquema do campo definido em transformações anteriores
 GetTableNamesDialog.Error.TablenameFieldNameMissingMessage=O campo de nomes de tabela está ausente!
 GetTableNamesDialog.Error.TableNameFieldNameMissingTitle=Nome de campo desaparecido.
 GetTableNamesDialog.IncludeCatalog.Label=Incluir catálogos.
diff --git a/plugins/transforms/html2text/src/main/resources/org/apache/hop/pipeline/transforms/html2text/messages/messages_pt_BR.properties b/plugins/transforms/html2text/src/main/resources/org/apache/hop/pipeline/transforms/html2text/messages/messages_pt_BR.properties
index 4ea7269412..45166f65af 100644
--- a/plugins/transforms/html2text/src/main/resources/org/apache/hop/pipeline/transforms/html2text/messages/messages_pt_BR.properties
+++ b/plugins/transforms/html2text/src/main/resources/org/apache/hop/pipeline/transforms/html2text/messages/messages_pt_BR.properties
@@ -36,7 +36,7 @@ Html2TextMeta.CheckResult.ErrorOccurred=Ocorreu um erro:
 Html2TextMeta.CheckResult.ReceivingInfoFromOtherTransforms=A transforma\u00E7\u00E3o est\u00E1 recebendo informa\u00E7\u00F5es de outras transforma\u00E7\u00F5es.
 Html2TextMeta.Exception.UnableToReadTransformMeta=N\u00E3o foi poss\u00EDvel ler a informa\u00E7\u00E3o da transforma\u00E7\u00E3o do XML
 BaseTransform.TypeTooltipDesc.Html2Text=Converta HTML em texto.
-Html2TextMeta.CheckResult.NoInpuReceived=Nenhuma entrada recebida de outras transformadas!
+Html2TextMeta.CheckResult.NoInpuReceived=Nenhuma entrada recebida de outras transformações!
 Html2TextDialog.HtmlFieldName.Label=Campo de texto Html
 Html2TextMeta.CheckResult.HtmlFieldOK=Campo Html foi especificado.
 Html2Text.Error.HtmlFieldMissing=Campo Html está ausente!
diff --git a/plugins/transforms/javascript/src/main/resources/org/apache/hop/pipeline/transforms/javascript/messages/messages_pt_BR.properties b/plugins/transforms/javascript/src/main/resources/org/apache/hop/pipeline/transforms/javascript/messages/messages_pt_BR.properties
index 92d1194177..b7a30da658 100644
--- a/plugins/transforms/javascript/src/main/resources/org/apache/hop/pipeline/transforms/javascript/messages/messages_pt_BR.properties
+++ b/plugins/transforms/javascript/src/main/resources/org/apache/hop/pipeline/transforms/javascript/messages/messages_pt_BR.properties
@@ -72,7 +72,7 @@ ScriptValuesDialogMod.CouldNotAddPipelineConstants=Não consegui adicionar o Pip
 ScriptValuesDialogMod.CouldNotAddToContext=Não foi possível adicionar JavaClasses ao contexto!Excepção \: {0}
 ScriptValuesDialogMod.CouldProcessStartScript=Não foi possível processar o Start Script!
 ScriptValuesDialogMod.DateFunctions.Label=Funções de data
-ScriptValuesDialogMod.Exception.CouldNotGetFields=Não poderia obter campos de transformadas anteriores, por favor conecte todos os saltos necessários!
+ScriptValuesDialogMod.Exception.CouldNotGetFields=Não poderia obter campos de transformações anteriores, por favor conecte todos os saltos necessários!
 ScriptValuesDialogMod.FileFunctions.Label=Funções do Arquivo
 ScriptValuesDialogMod.JavascriptFunctions.Label=Funções do script Java \:
 ScriptValuesDialogMod.LogicFunctions.Label=Funções lógicas
@@ -91,7 +91,7 @@ ScriptValuesDialogMod.StringFunctions.Label=Funções de Cordas
 ScriptValuesDialogMod.TansformConstant.Label=Transforme Constantes
 ScriptValuesDialogMod.TransformFunctions.Label=Transformar funções
 ScriptValuesDialogMod.TransformScript.Label=Transformar scripts
-ScriptValuesMetaMod.CheckResult.CouldNotGetFieldsFromPreviousTransform=Não poderia obter campos de transformadas anteriores, por favor conecte todos os saltos necessários!
+ScriptValuesMetaMod.CheckResult.CouldNotGetFieldsFromPreviousTransform=Não poderia obter campos de transformações anteriores, por favor conecte todos os saltos necessários!
 ScriptValuesMetaMod.CheckResult.FailedToGetValues=Tentando recuperar os campos.
 ScriptValuesMetaMod.Exception.FieldToReplaceNotFound=O campo para substituir não foi encontrado na lista de campos de entrada transformada.
 ScriptValuesMetaMod.Exception.NumberFormatException=Nível de otimização: não foi possível converter "0" para um número.
@@ -122,3 +122,26 @@ ScriptValuesModDialog.WarningDialogChanged.Yes=Sim.
 ScriptValuesModDialog.WarningDialogChanged.No=Não.
 ScriptValuesModDialog.WarningDialogChanged.DoNotShowAgain=Não mostre isso de novo.
 ScriptValuesMod.Injection.SCRIPT_TYPE=O tipo de script: -1=normal, 0=transformação, 1=início, 2=fim
+ScriptValuesDialogMod.GetVariables.TypesUnknown.Title=Variáveis adicionadas
+ScriptValuesDialogMod.GetVariables.TypesUnknown.Message=As variáveis declaradas pelo script foram adicionadas aos campos abaixo. Seus tipos não puderam ser detectados porque o script não foi concluído nos valores de amostra que Hop gera para os campos de entrada. Isso é normal para um script que inspeciona sua entrada, por exemplo com JSON.parse(). Por favor, verifique a coluna Type.
+ScriptValuesDialogMod.LanguageVersion.Label=Nível ECMAScript
+ScriptValuesDialogMod.LanguageVersion.Tooltip=Nível de linguagem JavaScript Rhino. ES6 (padrão) suporta let, const, funções de seta, literais de modelo e muito mais. Escolha um nível legado (DEFAULT, 1.5-1.8) para scripts mais antigos que dependem do comportamento pré-ES6. ECMASCRIPT rastreia as últimas características suportadas pelo motor Rhino embutido.
+ScriptValuesMetaMod.CheckResult.NoTransformScript=Nenhum dos scripts está marcado como o script transformador, então nada será executado para as linhas recebidas. Clique com o botão direito da aba segurando seu script e escolha "Configurar script".
+ScriptValuesMetaMod.Exception.UnsupportedLanguageVersion=Nível de linguagem ECMAScript não suportado. Valores válidos são DEFAULT, 1.5, 1.6, 1.7, 1.8, ES6, ECMASCRIPT (ou os números correspondentes da versão Rhino 0, 150, 160, 170, 180, 200, 250).
+ScriptValuesMod.Injection.LANGUAGE_VERSION=Rhino ECMAScript nível de linguagem (DEFAULT, 1.5, 1.6, 1.7, 1.8, ES6, ECMASCRIPT).
+ScriptValuesMod.LanguageVersion.DEFAULT=DEFAULT - Legacy Rhino
+ScriptValuesMod.LanguageVersion.1.5=JavaScript 1.5
+ScriptValuesMod.LanguageVersion.1.6=JavaScript 1.6
+ScriptValuesMod.LanguageVersion.1.7=JavaScript 1.7
+ScriptValuesMod.LanguageVersion.1.8=JavaScript 1.8
+ScriptValuesMod.LanguageVersion.ES6=ECMAScript 6+ (vamos, const, setas, ...)
+ScriptValuesMod.LanguageVersion.ECMASCRIPT=ECMASCRIPT - O último apoiado por Rhino
+ScriptValuesMod.LanguageVersion.Level=Nível de linguagem ECMAScript definido para {0}.
+ScriptValuesMod.Log.EndScriptExecuted=Fim do script executado.
+ScriptValuesMod.Log.FieldNotSetByScript=O script não atribuiu um valor ao campo de saída, está definido como nulo.
+ScriptValuesMod.Log.NoEndScriptDefined=Nenhum script final definido, nada para executar após a última linha.
+ScriptValuesMod.Log.NoStartScriptDefined=Nenhum script inicial definido, nada para executar antes da primeira linha.
+ScriptValuesMod.Log.NoTransformScript=Nenhum dos scripts está marcado como o script transformar, então não há nada para executar para cada linha. Abra a transformada, clique com o botão direito da aba segurando seu script e escolha "Configurar o script".
+ScriptValuesMod.Log.PipelineStatusNotUsed=O script não define pipeline Status, verificação de status do pipeline não é usado.
+ScriptValuesMod.Log.PipelineStatusUsed=O script define o pipeline Status, o status do pipeline é verificado após cada linha.
+ScriptValuesMod.Log.StartScriptExecuted=Iniciar script executado.
diff --git a/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutput/messages/messages_pt_BR.properties b/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutput/messages/messages_pt_BR.properties
index 582b25ccc9..3bcc0c6943 100644
--- a/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutput/messages/messages_pt_BR.properties
+++ b/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutput/messages/messages_pt_BR.properties
@@ -102,7 +102,7 @@ JsonOutput.Log.ParentFolderCreated=O pai da pasta foi criado.
 JsonOutput.ResultFilenames.Comment=Este arquivo foi criado com uma transformação Json Output.
 JsonOutputDialog.BlocName.Label=Nome do bloco Json
 JsonOutputDialog.DoNotOpenNewFileInit.Tooltip=Não abra o arquivo na inicialização da transformação. O arquivo será criado/aberto quando a primeira linha do fluxo de entrada atingir a transformada.
-JsonOutputDialog.Get.Tooltip=Obter os campos como definido em transformadas anteriores.
+JsonOutputDialog.Get.Tooltip=Obter os campos como definido em transformações anteriores.
 JsonOutputDialog.NrRowsInBloc.Label=Nr fileiras em um bloco
 JsonOutputDialog.NrRowsInBloc.ToolTip=Especifique aqui o número de linhas em um bloco. Significa todas as linhas no mesmo bloco único.
 JsonOutputMeta.operationType.Both=Valor de saída e escreva no arquivo
diff --git a/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutputenhanced/messages/messages_pt_BR.properties b/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutputenhanced/messages/messages_pt_BR.properties
index 6564c99f0c..fa4181efda 100644
--- a/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutputenhanced/messages/messages_pt_BR.properties
+++ b/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutputenhanced/messages/messages_pt_BR.properties
@@ -102,7 +102,7 @@ JsonOutputDialog.BlocName.Label=Nome do bloco JSON
 JsonOutputDialog.CompatibilityMode.Tooltip=Selecione esta opção para forçar a geração de arrays JSON mesmo com listas com uma única entrada
 JsonOutputDialog.DialogTitle=Saída JSON aprimorada
 JsonOutputDialog.DoNotOpenNewFileInit.Tooltip=Não abra o arquivo na inicialização da transformação. O arquivo será criado/aberto quando a primeira linha do fluxo de entrada atingir a transformada.
-JsonOutputDialog.Get.Tooltip=Obter os campos como definido em transformadas anteriores.
+JsonOutputDialog.Get.Tooltip=Obter os campos como definido em transformações anteriores.
 JsonOutputDialog.InputNeedSort.DialogMessage=Se os dados não forem ordenados nas chaves especificadas, o agrupamento JSON não funcionará corretamente. Nós recomendamos classificar os dados de entrada dentro do conduto pela chave de grupo especificada na Transformação Saída para JSON .
 JsonOutputDialog.JSONPrettified.Label=Linda impressão JSON
 JsonOutputDialog.JSONPrettified.Tooltip=Se habilitado, JSON produzido será muito bonito.
diff --git a/plugins/transforms/kafka/src/main/resources/org/apache/hop/pipeline/transforms/kafka/consumer/messages/messages_pt_BR.properties b/plugins/transforms/kafka/src/main/resources/org/apache/hop/pipeline/transforms/kafka/consumer/messages/messages_pt_BR.properties
index 07368b36e0..870af3449c 100644
--- a/plugins/transforms/kafka/src/main/resources/org/apache/hop/pipeline/transforms/kafka/consumer/messages/messages_pt_BR.properties
+++ b/plugins/transforms/kafka/src/main/resources/org/apache/hop/pipeline/transforms/kafka/consumer/messages/messages_pt_BR.properties
@@ -90,3 +90,8 @@ KafkaConsumerInputMeta.Injection.TOPIC.OUTPUT_NAME=Nome da saída do tópico
 KafkaConsumerInputMeta.Injection.OFFSET.OUTPUT_NAME=Nome da saída de deslocamento
 KafkaConsumerInputMeta.Injection.PARTITION.OUTPUT_NAME=Nome da saída da partição
 KafkaConsumerInputMeta.Injection.TIMESTAMP.OUTPUT_NAME=Nome da saída da data e hora
+KafkaConsumerInputDialog.MaxIdleTimeMs=Max tempo ocioso (ms)
+KafkaConsumerInputDialog.StopWhenIdle=Pare quando estiver ocioso.
+KafkaConsumerInputMeta.Injection.STOP_WHEN_IDLE=Pare o consumidor Kafka quando nenhum registro é recebido para o tempo ocioso máximo.
+KafkaConsumerInputMeta.Injection.MAX_IDLE_TIME_MS=O tempo máximo de inatividade em milissegundos antes de parar quando o inativo estiver ativado.
+KafkaConsumerInputMeta.Injection.HEADERS.OUTPUT_NAME=Cabeçalhos nome de saída; deixe vazio para manter os cabeçalhos de registro fora da linha de saída
diff --git a/plugins/transforms/kafka/src/main/resources/org/apache/hop/pipeline/transforms/kafka/producer/messages/messages_pt_BR.properties b/plugins/transforms/kafka/src/main/resources/org/apache/hop/pipeline/transforms/kafka/producer/messages/messages_pt_BR.properties
index be88d1469e..4b194a40ae 100644
--- a/plugins/transforms/kafka/src/main/resources/org/apache/hop/pipeline/transforms/kafka/producer/messages/messages_pt_BR.properties
+++ b/plugins/transforms/kafka/src/main/resources/org/apache/hop/pipeline/transforms/kafka/producer/messages/messages_pt_BR.properties
@@ -50,3 +50,16 @@ KafkaProducerOutputMeta.Injection.NAMES=O nome das propriedades de configuraçã
 KafkaProducerOutputMeta.Injection.TOPIC=O nome do tópico para publicar.
 KafkaProducerOutputMeta.Injection.VALUES=O(s) valor(es) das propriedades de configuração do produtor Kafka.
 KafkaConsumerInputMeta.Injection.CONFIGURATION_PROPERTIES=Opções de configuração
+KafkaProducerOutput.Error.EmptyTopicInField=Campo '''' não contém nenhum nome de tópico para a linha na linha {1}
+KafkaProducerOutput.Error.HeadersFieldNotFound=Campo ''{0}'' contendo os cabeçalhos de registro não está presente no fluxo de entrada
+KafkaProducerOutput.Error.NoTopicFieldSpecified=Nenhum campo contendo o nome do tópico foi especificado.
+KafkaProducerOutput.Error.TopicFieldNotFound=Campo ''{0}'' contendo o nome do tópico não está presente no fluxo de entrada
+KafkaProducerOutputDialog.HeadersField=Campo de cabeçalhos
+KafkaProducerOutputDialog.HeadersFieldNotExists.Message=Campo ''{0}'' contendo os cabeçalhos de registro não está presente no fluxo de entrada
+KafkaProducerOutputDialog.TopicField=Campo de tópicos
+KafkaProducerOutputDialog.TopicFieldMandatory.Message=Campo contendo o nome do tópico é obrigatório quando o tópico é lido de um campo!
+KafkaProducerOutputDialog.TopicFieldNotExists.Message=Campo ''{0}'' contendo o nome do tópico não está presente no fluxo de entrada
+KafkaProducerOutputDialog.TopicInField=Obter tópico de campo
+KafkaProducerOutputMeta.Injection.HEADERS_FIELD=O nome do campo de stream segurando os cabeçalhos dos registros, como uma matriz JSON de nomes / objetos de valor.
+KafkaProducerOutputMeta.Injection.TOPIC_FIELD=O nome do campo de fluxo segurando o tópico para publicar, usado quando TOPIC IN FIELD está habilitado.
+KafkaProducerOutputMeta.Injection.TOPIC_IN_FIELD=Leia o tópico de um campo de fluxo em vez de usar um nome de tópico fixo.
diff --git a/plugins/transforms/loadfileinput/src/main/resources/org/apache/hop/pipeline/transforms/loadfileinput/messages/messages_pt_BR.properties b/plugins/transforms/loadfileinput/src/main/resources/org/apache/hop/pipeline/transforms/loadfileinput/messages/messages_pt_BR.properties
index 1f4ab85c75..43da441ad6 100644
--- a/plugins/transforms/loadfileinput/src/main/resources/org/apache/hop/pipeline/transforms/loadfileinput/messages/messages_pt_BR.properties
+++ b/plugins/transforms/loadfileinput/src/main/resources/org/apache/hop/pipeline/transforms/loadfileinput/messages/messages_pt_BR.properties
@@ -130,7 +130,7 @@ LoadFileInput.Error.GettingFileContent=Erro ao obter conteúdo do arquivo!
 LoadFileInput.FileType.TRTFiles=Arquivos AIR
 LoadFileInput.Name=Carregar o conteúdo do arquivo na memória
 LoadFileInputDialog.DialogTitle=Carregar o conteúdo do arquivo na memória
-LoadFileInputDialog.FilenameInField.Tooltip=Marque esta opção se o nome do arquivo é definido em transformadas anteriores.
+LoadFileInputDialog.FilenameInField.Tooltip=Marque esta opção se o nome do arquivo é definido em transformações anteriores.
 LoadFileInputDialog.IgnoreEmptyFile.Label=Ignorar arquivo vazio
 LoadFileInputDialog.IgnoreMissingPath.Label=Ignorar caminho perdido
 LoadFileInputDialog.IgnoreMissingPath.Tooltip=Marque esta opção se quiser pular o caminho perdido.
diff --git a/plugins/transforms/mapping/src/main/resources/org/apache/hop/pipeline/transforms/mapping/messages/messages_pt_BR.properties b/plugins/transforms/mapping/src/main/resources/org/apache/hop/pipeline/transforms/mapping/messages/messages_pt_BR.properties
index 0748dcbea8..a9f76a50a0 100644
--- a/plugins/transforms/mapping/src/main/resources/org/apache/hop/pipeline/transforms/mapping/messages/messages_pt_BR.properties
+++ b/plugins/transforms/mapping/src/main/resources/org/apache/hop/pipeline/transforms/mapping/messages/messages_pt_BR.properties
@@ -149,11 +149,23 @@ SimpleMappingMeta.Exception.MappingTargetFieldNotPresent=Mapear o campo alvo nã
 SimpleMappingMeta.Exception.MappingTargetFieldNotSpecified=Mapear o campo alvo não é especificado para entrada!
 SimpleMappingMeta.Exception.UnableToFindField=Não foi possivel encontrar o campo \: {0}
 SimpleMappingMeta.Exception.UnableToFindMappingDefinition=Não foi possivel encontrar a definição adequada de mapeamento para determinar metadados de saída.
-SimpleMappingMeta.Exception.UnableToFindMetadataInfo=Não foi possivel encontrar a transformada ''}' para determinar os metadados da linha para a entrada de mapeamento.
+SimpleMappingMeta.Exception.UnableToFindMetadataInfo=Não foi possivel encontrar a transformada ''{0}'' para determinar os metadados da linha para a entrada de mapeamento.
 SimpleMappingMeta.Exception.UnableToGetFieldsFromMapping=Não foi possível obter campos de Mapeamento\: nenhum mapeamento é selecionado.
 SimpleMappingMeta.Exception.UnableToLoadMapping=Não foi possível carregar o mapeamento especificado.
 SimpleMappingMeta.Exception.UnableToLoadMappingPipeline=Não foi possivel carregar o conduto de mapeamento
 SimpleMappingMeta.Exception.UnableToLoadPipeline=Não foi possível carregar o conduto.
 SimpleMappingMeta.Exception.UnableToLoadPipelineNameOrDirNotGiven=Não foi possivel carregar o conduto. Nome ou diretório não dado.
 SimpleMappingDialog.FilenameMissing.Message=O nome do conduto está vazio.
-SimpleMappingDialog.SelfReference.Message=Este conduto n\u00C3\u00A3o pode mapear para si mesmo. Por favor escolha outro conduto.
+SimpleMappingDialog.SelfReference.Message=Este conduto não pode mapear para si mesmo. Por favor escolha outro conduto.
+SimpleMapping.Injection.SOURCE_TRANSFORM=Nome da transformação da fonte
+SimpleMapping.Injection.TARGET_TRANSFORM=Nome da transformação do alvo.
+SimpleMapping.Injection.DESCRIPTION=Mapeando descrição
+SimpleMapping.Injection.MAIN_PATH=Caminho principal dos dados
+SimpleMapping.Injection.RENAME_ON_OUTPUT=Atualizar nomes de campos mapeados a jusante
+SimpleMapping.Injection.SOURCE_FIELD=Nome do campo de origem
+SimpleMapping.Injection.TARGET_FIELD=Nome do campo alvo
+SimpleMapping.Injection.INHERIT_ALL_VARIABLES=Herdou todas as variáveis do conduto pai.
+SimpleMapping.Injection.VARIABLE=Nome do parâmetro de mapeamento
+SimpleMapping.Injection.VALUE=Valor do parâmetro de mapeamento
+SimpleMapping.Injection.Group.FIELDS=Mapeamentos de campo
+SimpleMapping.Injection.Group.MAPPINGS=Mapas de parâmetros
diff --git a/plugins/transforms/mergerows/src/main/resources/org/apache/hop/pipeline/transforms/mergerows/messages/messages_pt_BR.properties b/plugins/transforms/mergerows/src/main/resources/org/apache/hop/pipeline/transforms/mergerows/messages/messages_pt_BR.properties
index 133adc7593..2539974ede 100644
--- a/plugins/transforms/mergerows/src/main/resources/org/apache/hop/pipeline/transforms/mergerows/messages/messages_pt_BR.properties
+++ b/plugins/transforms/mergerows/src/main/resources/org/apache/hop/pipeline/transforms/mergerows/messages/messages_pt_BR.properties
@@ -41,7 +41,7 @@ MergeRows.Injection.KEY_FIELDS=Especifique campos-chave para comparar.
 MergeRows.Injection.KEY_FIELD=O campo chave para combinar com
 MergeRows.Injection.VALUE_FIELDS=Especifique campos de valor para comparar.
 MergeRows.Injection.VALUE_FIELD=O campo para comparar
-MergeRows.Log.BothTrueAndFalseNeeded=Tanto a "verdadeira" quanto as "falsas" transformadas precisam ser fornecidas, ou nenhuma delas.
+MergeRows.Log.BothTrueAndFalseNeeded=Tanto a "verdadeira" quanto as "falsas" transformações precisam ser fornecidas, ou nenhuma delas.
 MergeRows.Log.DataInfo=Um, dois.
 MergeRowsDialog.Compare.Label=Compare as linhas de origem\:
 MergeRowsDialog.ErrorGettingFields.DialogMessage=Não foi possivel obter os campos por causa de um erro\:
@@ -50,10 +50,10 @@ MergeRowsDialog.Keys.Label=Chaves para combinar \:
 MergeRowsDialog.Reference.Label=Origem das linhas de referência:
 MergeRowsDialog.Shell.Label=Mesclar linhas (diff)
 MergeRowsDialog.Values.Label=Valores para comparar \:
-MergeRowsMeta.CheckResult.ErrorGettingPrevTransformFields=Erro ao recuperar campos de transformadas anteriores
-MergeRowsMeta.CheckResult.OneSourceTransformMissing=Por favor, especifique as transformadas de fonte 'referência' e 'compare'.
+MergeRowsMeta.CheckResult.ErrorGettingPrevTransformFields=Erro ao recuperar campos de transformações anteriores
+MergeRowsMeta.CheckResult.OneSourceTransformMissing=Por favor, especifique as transformações de fonte 'referência' e 'compare'.
 MergeRowsMeta.CheckResult.RowDefinitionMatch=O layout de campo de ambas as entradas se transformam.
-MergeRowsMeta.CheckResult.RowDefinitionNotMatch=O layout do campo das transformadas de entrada não bate.
+MergeRowsMeta.CheckResult.RowDefinitionNotMatch=O layout do campo das transformações de entrada não bate.
 MergeRowsMeta.CheckResult.SourceTransformsMissing=Nem a "referência" nem a "compare" transformada de fonte é especificada.
 MergeRowsMeta.CheckResult.SourceTransformsOK=Tanto a "referência" quanto a "compare" transformam-se em fontes. Eu sei como mesclar os fluxos de dados.
 MergeRowsMeta.Exception.FlagFieldNotSpecified=O campo da bandeira não está especificado.
@@ -70,3 +70,9 @@ MergeRowsDialog.SourcesTab.CTabItem=Fontes
 MergeRowsDialog.KeysTab.CTabItem=Chaves
 MergeRowsDialog.ValuesTab.CTabItem=Valores
 MergeRowsDialog.ExtraTab.CTabItem=Extra.
+MergeRows.Exception.UnableToFindFieldInAlignedStream=Incapaz de encontrar o campo no layout de entrada alinhado.
+MergeRows.Injection.ALIGN_INPUT_LAYOUTS=Alinhar automaticamente referências e comparar layouts de linhas antes de comparar
+MergeRowsDialog.AlignInputLayouts.Label=Alinhar layouts de entrada\:
+MergeRowsDialog.AlignInputLayouts.Text=Alinhar automaticamente referências e comparar layouts de linhas antes de comparar
+MergeRowsMeta.CheckResult.AlignmentEnabled=Alinhamento de layout de entrada está ativado, referências e comparação de fluxos podem usar diferentes layouts de campo.
+MergeRowsAlignment.Exception.UnableToConvertCompareField=Não foi possível converter o campo de comparação ''}' de {1} para o tipo de referência {2}
diff --git a/plugins/transforms/pipelineexecutor/src/main/resources/org/apache/hop/pipeline/transforms/pipelineexecutor/messages/messages_pt_BR.properties b/plugins/transforms/pipelineexecutor/src/main/resources/org/apache/hop/pipeline/transforms/pipelineexecutor/messages/messages_pt_BR.properties
index 560cf93d60..1abd6419ac 100644
--- a/plugins/transforms/pipelineexecutor/src/main/resources/org/apache/hop/pipeline/transforms/pipelineexecutor/messages/messages_pt_BR.properties
+++ b/plugins/transforms/pipelineexecutor/src/main/resources/org/apache/hop/pipeline/transforms/pipelineexecutor/messages/messages_pt_BR.properties
@@ -81,9 +81,9 @@ PipelineExecutorDialog.ResultFiles.Tooltip=Esta aba permite que você especifiqu
 PipelineExecutorDialog.ResultFilesTarget.Label=Alvo transformado para informações de arquivos de resultados
 PipelineExecutorDialog.ResultRows.Tooltip=Você pode especificar o alvo e especificação das linhas de resultado que precisam ser passadas do conduto
 PipelineExecutorDialog.RowGroup.Tooltip=Determine quantas linhas de dados são passadas para o conduto antes da execução.
-PipelineExecutorMeta.CheckResult.NoInputReceived=Nenhuma entrada é recebida de transformadas anteriores.
-PipelineExecutorMeta.CheckResult.NotReceivingAnyFields=Nenhum campo de entrada é recebido de transformadas anteriores.
-PipelineExecutorMeta.CheckResult.TransformReceivingFields=Esta transformada está recebendo campos de transformadas anteriores.
+PipelineExecutorMeta.CheckResult.NoInputReceived=Nenhuma entrada é recebida de transformações anteriores.
+PipelineExecutorMeta.CheckResult.NotReceivingAnyFields=Nenhum campo de entrada é recebido de transformações anteriores.
+PipelineExecutorMeta.CheckResult.TransformReceivingFields=Esta transformada está recebendo campos de transformações anteriores.
 PipelineExecutorMeta.CheckResult.TransformReceivingFieldsFromOtherTransforms=Esta transformação está recebendo campos de outras transformações.
 PipelineExecutorMeta.Exception.ErrorLoadingPipelineExecutorDetailsFromXML=Erro ao carregar detalhes do executor do conduto do XML
 PipelineExecutorMeta.ExecutorOutputStream.Description=A saída conterá uma cópia dos dados de entrada do executor Transform.
diff --git a/plugins/transforms/propertyoutput/src/main/resources/org/apache/hop/pipeline/transforms/propertyoutput/messages/messages_pt_BR.properties b/plugins/transforms/propertyoutput/src/main/resources/org/apache/hop/pipeline/transforms/propertyoutput/messages/messages_pt_BR.properties
index fd267af321..9b070e4952 100644
--- a/plugins/transforms/propertyoutput/src/main/resources/org/apache/hop/pipeline/transforms/propertyoutput/messages/messages_pt_BR.properties
+++ b/plugins/transforms/propertyoutput/src/main/resources/org/apache/hop/pipeline/transforms/propertyoutput/messages/messages_pt_BR.properties
@@ -64,7 +64,7 @@ PropertyOutputMeta.CheckResult.FilenameError=O nome do arquivo para atualizaçã
 PropertyOutputMeta.CheckResult.FilenameOk=Nome do arquivo foi especificado
 PropertyOutputMeta.CheckResult.KeyFieldMissing=O nome do campo chave está ausente!
 PropertyOutputMeta.CheckResult.KeyFieldOk=O nome da chave foi especificado.
-PropertyOutputMeta.CheckResult.NoFields=Não foi possível encontrar campos de transformadas anteriores, verifique os saltos ...\!
+PropertyOutputMeta.CheckResult.NoFields=Não foi possível encontrar campos de transformações anteriores, verifique os saltos ...\!
 PropertyOutputMeta.CheckResult.ValueFieldMissing=O nome do campo de valor está ausente!
 PropertyOutputMeta.CheckResult.ValueFieldOk=O nome do campo de valor foi especificado.
 PropertyOutputMeta.Log.FileNameEmty=Nome de arquivo dinâmico está vazio !
diff --git a/plugins/transforms/rest/src/main/resources/org/apache/hop/pipeline/transforms/rest/messages/messages_pt_BR.properties b/plugins/transforms/rest/src/main/resources/org/apache/hop/pipeline/transforms/rest/messages/messages_pt_BR.properties
index 143c0d771b..5546981b0e 100644
--- a/plugins/transforms/rest/src/main/resources/org/apache/hop/pipeline/transforms/rest/messages/messages_pt_BR.properties
+++ b/plugins/transforms/rest/src/main/resources/org/apache/hop/pipeline/transforms/rest/messages/messages_pt_BR.properties
@@ -129,9 +129,47 @@ Rest.Error.PagingAuthFailed=REST paging parou: HTTP (autenticação ou permissã
 Rest.Error.PagingSplitProducedZeroRowsNoResponse=O paging REST com um caminho dividido de resultado não produziu linhas e nenhuma resposta HTTP foi gravada (inesperada).
 RestDialog.Tab.Pagination.Title=Paginação
 RestDialog.Tab.Pagination.Info=A recuperação paginada segue o modo de paging configurado em sua conexão REST. Active esta caixa de seleção para fazer pedidos. \nUse a expressão dividida para emitir uma linha de Hop por elemento/nó de matriz em vez de páginas completas. Deixe as páginas máximas em branco para a proteção padrão Hop (atualmente 256).
-RestDialog.Tab.Pagination.Enable.Label=Activar ciclo de paginação para linhas de entrada (opcional)
+RestDialog.Tab.Pagination.Enable.Label=Ativar ciclo de paginação para linhas de entrada (opcional)
 RestDialog.Tab.Pagination.Enable.Tooltip=Executa várias solicitações HTTP usando o modo de chamada definido nos metadados de conexão REST. Quando desativado, ou quando a estratégia de paginação de conexão é NENHUMA, Hop realiza um único pedido por linha (comportamento de legado).
 RestDialog.Tab.Pagination.MaxPagesLoops.Label=Pedidos máximos de página por linha de entrada (deixar em branco para proteção padrão)
 RestDialog.Tab.Pagination.MaxPagesLoops.Tooltip=Capa de iteração dura enquanto segue cabeçalhos LINK, cursores, deslocamentos, ou números de página.
 RestDialog.Tab.Pagination.SplitPath.Label=Resultado opcional dividido JsonPath/XPath (modos XML ou JSON)
 RestDialog.Tab.Pagination.SplitPath.Tooltip=Quando definido com JSON ou XML, Hop emite uma linha por JsonPath/XPath. Suporta '$ {VAR}' e '% VAR%%'. Este campo ignora a decodificação hexadecimal de byte hexadecimal do Hop para que os seletores JsonPath (comum para paging sobre os arrays JSON) não sejam corrompidos.
+Rest.Error.InvalidMethod=Método não é um token de método HTTP válido. Um método só pode conter os caracteres permitidos pelo RFC 9110 \: letras, dígitos e \!\#$$%&''+-.^ `~
+Rest.Error.BinaryResultWithPagination=Um campo de resultado binário não pode ser combinado com paginação \: paging tem que ler o corpo de resposta como texto para encontrar a próxima página, dividir o resultado ou seguir um cabeçalho Link. Desativar paginação ou usar um campo de resultados String.
+Rest.Log.BinaryBodyValue=Adicionando binário HTTP corpo de {0} bytes
+Rest.Log.BinaryBodyField=Campo do corpo é do tipo Binary, seus bytes são enviados inalterados
+Rest.Log.BinaryResponseBody=Corpo de resposta binária de bytes.
+Rest.Log.PagingBodyParamsIgnoredForBinaryBody=Chamar parâmetros do corpo são ignorados porque o corpo é binário e não pode ser reescrito. O corpo é enviado sem alterações.
+Rest.Log.ResponseBody=Corpo de resposta
+Rest.Log.ResponseError=Rest [{0}] request to [{1}] return HTTP status [{2}]
+Rest.Log.SendingRequest=Enviando pedido para
+Rest.Log.Timeouts=Tempo limite de conexão aplicado [{0}] ms e tempo limite de leitura [{1}] ms (-1 \= não definido, motor padrão é usado)
+Rest.Log.UsingConnection=Usando conexão REST [{0}] com URL base [{1}]
+Rest.Log.NoConnection=Nenhuma conexão REST configurada, conectando diretamente ao URL
+Rest.Log.ConnectionSupersedesTransformFields=A conexão REST fornece toda a configuração do cliente; as configurações da própria transformada para {1} são ignoradas.
+Rest.Log.RequestContentType=Solicitar tipo de conteúdo
+RestDialog.ColumnInfo.HeaderName=Nome do cabeçalho
+RestDialog.ColumnInfo.HeaderValueField=Campo de valor do cabeçalho
+RestDialog.ColumnInfo.MatrixParameterName=Nome do parâmetro Matrix
+RestDialog.ColumnInfo.MatrixParameterValueField=Campo de valor do parâmetro Matrix
+RestDialog.ColumnInfo.ParameterValueField=Campo de valor do parâmetro
+RestDialog.MatrixParameters.Info=Os parâmetros da matriz são adicionados ao caminho da URL, por exemplo: https://host/path;name1\=value1;name2\=value2
+RestDialog.Parameters.Info=Parâmetros de consulta são adicionados ao fim da URL, por exemplo, https://host/path?name1\=value1&name2\=value2
+RestDialog.ResultBinary.Label=O resultado é binário.
+RestDialog.ResultBinary.Tooltip=Devolva o corpo de resposta como bytes brutos em um campo binário em vez de decodificar para texto. Use isso para arquivos, imagens e outras respostas sem texto, que de outra forma seriam corrompidas. Não pode ser combinado com paginação.
+Rest.Exception.FieldOptionWithoutInput=A opção "0" tira seu valor de um campo de entrada, mas esta transformada não tem entrada. Conecte uma transformação a ela, ou configure esse valor na própria transformação.
+Rest.Log.FullRequest=Pedido enviado (credenciais mascarados):
+Rest.Log.FullRequest.BinaryBody=Corpo binário, bytes.
+Rest.Log.FullRequest.BodyTruncated=\n... (truncado, {0} caracteres no total)
+Rest.Exception.StreamingConflict=Streaming lê a resposta uma vez que chega, então não pode ser combinado com {0}. Desligue um dos dois.
+RestDialog.Tab.Streaming.Title=Resultado da transmissão
+RestDialog.Streaming.Enabled.Label=Fonte está transmitindo
+RestDialog.Streaming.Enabled.Tooltip=Emite uma linha por registro enquanto a resposta ainda está chegando, em vez de ler o corpo inteiro primeiro. Para grandes exportações, ou alimentos que nunca acabam.
+RestDialog.Streaming.Format.Label=Formato de gravação
+RestDialog.Streaming.Format.Tooltip=Um recorde por linha. WhatWG texto / evento-stream, onde uma linha em branco termina um registro e os dados: campos são seu valor.
+RestDialog.Streaming.Info=As fileiras são emitidas quando a resposta chega, então a conexão fica aberta até o córrego terminar. Isso não pode ser combinado com paginação, um campo de resultados binários, ou um caminho dividido resultado - cada um precisa de todo o corpo de uma vez.
+RestDialog.Streaming.EventNameField.Label=Campo de nome do evento
+RestDialog.Streaming.EventNameField.Tooltip=Campo de saída opcional para o tipo SSE "evento:". Deixe a coluna vazia. Apenas SSE - registros NDJSON não têm nenhum enquadramento.
+RestDialog.Streaming.EventIdField.Label=Campo de identificação do evento
+RestDialog.Streaming.EventIdField.Tooltip=Campo de saída opcional para o SSE "id:" de cada evento. O valor persiste até que o servidor envie um novo, como a especificação pretende.
diff --git a/plugins/transforms/script/src/main/resources/org/apache/hop/pipeline/transforms/script/messages/messages_pt_BR.properties b/plugins/transforms/script/src/main/resources/org/apache/hop/pipeline/transforms/script/messages/messages_pt_BR.properties
index 40a944fac8..ea69c92869 100644
--- a/plugins/transforms/script/src/main/resources/org/apache/hop/pipeline/transforms/script/messages/messages_pt_BR.properties
+++ b/plugins/transforms/script/src/main/resources/org/apache/hop/pipeline/transforms/script/messages/messages_pt_BR.properties
@@ -69,7 +69,7 @@ Script.Log.ErrorStackTrace=Rastreio da pilha de erros:
 Script.Log.ScriptError=Erro de script\:
 Script.Log.UsedValueName=O valor é usado no script.
 Script.Log.UsingValuesFromInputStream=Este script está usando valores {0} do(s) fluxo(s) de entrada
-ScriptDialog.ColumnInfo.Replace=Substitua o valor ''Fieldname''' ou ''Rename to''
+ScriptDialog.ColumnInfo.Replace=Substitua o valor ''Fieldname'' ou ''Rename to''
 ScriptDialog.ColumnInfo.ReturnValue=Resultado do roteiro?
 ScriptDialog.CouldNotAddInputFields=Não foi possível adicionar campos de entrada ao script!
 ScriptDialog.CouldNotAddToContext=Não foi possível adicionar JavaClasses ao contexto!Excepção \: {0}
@@ -96,3 +96,10 @@ ScriptMeta.CheckResult.ValueIsEmpty=Erro: o valor está vazio!
 ScriptMeta.Exception.FieldToReplaceNotFound=O campo para substituir não foi encontrado na lista de campos de entrada.
 ScriptMeta.Exception.UnableToLoadAdditionalClass=Não foi possivel carregar classes adicionais.
 ScriptMeta.Exception.UnableToParseXMLforAdditionalClasses=Não foi possivel analisar XML para classes adicionais (característica futura)
+ScriptDialog.ColumnInfo.Filename.Tooltip=Variável de script para ler depois de cada linha.
+ScriptDialog.ColumnInfo.Length.Tooltip=String\: caracteres máximos. Número \: dígitos significativos. Inteiro: largura de exibição. Data: comprimento impresso.
+ScriptDialog.ColumnInfo.Precision.Tooltip=Decimal depois do radíx para Número e Número Grande. Não usado para String, Date e Boolean.
+ScriptDialog.ColumnInfo.RenameTo.Tooltip=Nome de campo de saída, se deve diferir do nome de campo.
+ScriptDialog.ColumnInfo.Replace.Tooltip=Sobrescrever um campo de entrada desse nome. N\: anexar um novo campo.
+ScriptDialog.ColumnInfo.ReturnValue.Tooltip=Preencha este campo com o valor de retorno da última expressão no script. N\: leia a variável de script chamada Fieldname.
+ScriptDialog.ColumnInfo.Type.Tooltip=Tipo de dados de salto do campo de saída.
diff --git a/plugins/transforms/selectvalues/src/main/resources/org/apache/hop/pipeline/transforms/selectvalues/messages/messages_pt_BR.properties b/plugins/transforms/selectvalues/src/main/resources/org/apache/hop/pipeline/transforms/selectvalues/messages/messages_pt_BR.properties
index 8e26d8d8a6..e7fb08e234 100644
--- a/plugins/transforms/selectvalues/src/main/resources/org/apache/hop/pipeline/transforms/selectvalues/messages/messages_pt_BR.properties
+++ b/plugins/transforms/selectvalues/src/main/resources/org/apache/hop/pipeline/transforms/selectvalues/messages/messages_pt_BR.properties
@@ -107,10 +107,10 @@ SelectValuesDialog.Remove.Label=Campos para remover:
 SelectValuesDialog.SelectTab.TabItem=Selecione & & & Alter
 SelectValuesDialog.Shell.Label=Selecione valores
 SelectValuesDialog.Unspecified.Label=Incluir campos não especificados, ordenados pelo nome
-SelectValuesMeta.CheckResult.AllDeSelectedFieldsFound=Todos os campos não selecionados na tabela são encontrados no fluxo de entrada, vindo de transformadas anteriores.
-SelectValuesMeta.CheckResult.AllMetadataFieldsFound=Todos os campos de meta-dados são encontrados no fluxo de entrada, vindo de transformadas anteriores.
-SelectValuesMeta.CheckResult.AllSelectedFieldsFound=Todos os campos selecionados são encontrados no fluxo de entrada, vindo de transformadas anteriores.
-SelectValuesMeta.CheckResult.AllSelectedFieldsFound2=Todos os campos selecionados, vindo de transformadas anteriores, são encontrados na seleção.
+SelectValuesMeta.CheckResult.AllDeSelectedFieldsFound=Todos os campos não selecionados na tabela são encontrados no fluxo de entrada, vindo de transformações anteriores.
+SelectValuesMeta.CheckResult.AllMetadataFieldsFound=Todos os campos de meta-dados são encontrados no fluxo de entrada, vindo de transformações anteriores.
+SelectValuesMeta.CheckResult.AllSelectedFieldsFound=Todos os campos selecionados são encontrados no fluxo de entrada, vindo de transformações anteriores.
+SelectValuesMeta.CheckResult.AllSelectedFieldsFound2=Todos os campos selecionados, vindo de transformações anteriores, são encontrados na seleção.
 SelectValuesMeta.CheckResult.DeSelectedFieldsNotFound=Campos não selecionados que não foram encontrados no fluxo de entrada:
 SelectValuesMeta.CheckResult.DuplicateFieldsSpecified=Campos duplicados especificados:
 SelectValuesMeta.CheckResult.FieldsNotFound=Campos em fluxo de entrada, não encontrados na seleção:
diff --git a/plugins/transforms/sort/src/main/resources/org/apache/hop/pipeline/transforms/sort/messages/messages_pt_BR.properties b/plugins/transforms/sort/src/main/resources/org/apache/hop/pipeline/transforms/sort/messages/messages_pt_BR.properties
index b8e0c5cb79..4f0e391bac 100644
--- a/plugins/transforms/sort/src/main/resources/org/apache/hop/pipeline/transforms/sort/messages/messages_pt_BR.properties
+++ b/plugins/transforms/sort/src/main/resources/org/apache/hop/pipeline/transforms/sort/messages/messages_pt_BR.properties
@@ -51,14 +51,14 @@ SortRows.Detailed.ReportNumberOfBinaryStringConv=O número de strings binárias
 SortRows.Error.ErrorReadingBackTempFiles=Erro ao ler os arquivos TMP
 SortRows.Error.PresortedFieldNotFound=Campo preordenado '{0}' não encontrado no fluxo de entrada
 SortRows.Error.UnableToCloseFile=Não foi possível fechar/deletar o arquivo.
-SortRows.Injection.COLLATOR_ENABLED=Active esta opção para usar suporte de colator.
+SortRows.Injection.COLLATOR_ENABLED=Ative esta opção para usar suporte de colator.
 SortRows.Injection.COLLATOR_STRENGTH=Especifique a força do colador quando o suporte do colador estiver ativado (0-3).
-SortRows.Injection.COMPRESS_TEMP_FILES=Active esta opção para comprimir arquivos temporários.
+SortRows.Injection.COMPRESS_TEMP_FILES=Ative esta opção para comprimir arquivos temporários.
 SortRows.Injection.FREE_MEMORY_TRESHOLD=A porcentagem de memória livre para permitir até escrever em arquivos temporários.
-SortRows.Injection.IGNORE_CASE=Active esta opção para ignorar o caso ao ordenar o campo.
-SortRows.Injection.ONLY_PASS_UNIQUE_ROWS=Active esta opção para passar apenas linhas únicas para a saída.
+SortRows.Injection.IGNORE_CASE=Ative esta opção para ignorar o caso ao ordenar o campo.
+SortRows.Injection.ONLY_PASS_UNIQUE_ROWS=Ative esta opção para passar apenas linhas únicas para a saída.
 SortRows.Injection.PRESORTED=Habilite esta bandeira para indicar que o campo é preordenado.
-SortRows.Injection.SORT_ASCENDING=Active esta opção para ordenar o campo em ordem ascendente.
+SortRows.Injection.SORT_ASCENDING=Ative esta opção para ordenar o campo em ordem ascendente.
 SortRows.Injection.SORT_DIRECTORY=O diretório para armazenar arquivos temporários criados durante a ordenação.
 SortRows.Injection.SORT_FILE_PREFIX=O prefixo do arquivo a ser usado ao criar arquivos temporários.
 SortRows.Injection.SORT_SIZE_ROWS=O número de linhas para guardar na memória.
diff --git a/plugins/transforms/sortedschemamerge/src/main/resources/org/apache/hop/pipeline/transforms/sortedschemamerge/messages/messages_pt_BR.properties b/plugins/transforms/sortedschemamerge/src/main/resources/org/apache/hop/pipeline/transforms/sortedschemamerge/messages/messages_pt_BR.properties
index cba62cac31..4d367cace7 100644
--- a/plugins/transforms/sortedschemamerge/src/main/resources/org/apache/hop/pipeline/transforms/sortedschemamerge/messages/messages_pt_BR.properties
+++ b/plugins/transforms/sortedschemamerge/src/main/resources/org/apache/hop/pipeline/transforms/sortedschemamerge/messages/messages_pt_BR.properties
@@ -32,8 +32,8 @@ SortedSchemaMergeDialog.SortKeys.Label=Ordenar chaves
 SortedSchemaMergeDialog.SortKeys.Column.Field=Campo
 SortedSchemaMergeDialog.SortKeys.Column.Ascending=Subindo
 SortedSchemaMergeDialog.SortedInputNote.Label=Cada fluxo de entrada já deve ser classificado nas teclas de ordenação (por exemplo, via ORDEM BY na tabela de entrada).
-SortedSchemaMergeMeta.CheckResult.TooFewInputs=Configure pelo menos duas transformadas de entrada.
-SortedSchemaMergeMeta.CheckResult.InputCountOk=Pelo menos duas transformadas de entrada estão configuradas.
+SortedSchemaMergeMeta.CheckResult.TooFewInputs=Configure pelo menos duas transformações de entrada.
+SortedSchemaMergeMeta.CheckResult.InputCountOk=Pelo menos duas transformações de entrada estão configuradas.
 SortedSchemaMergeMeta.CheckResult.NoSortKeys=Não há chaves de classificação definidas.
 SortedSchemaMergeMeta.CheckResult.SortKeysMissing=As seguintes chaves não foram encontradas nos fluxos de entrada:
 SortedSchemaMergeMeta.CheckResult.SortKeysOk=Todas as chaves foram encontradas nos fluxos de entrada.
diff --git a/plugins/transforms/sql/src/main/resources/org/apache/hop/pipeline/transforms/sql/messages/messages_pt_BR.properties b/plugins/transforms/sql/src/main/resources/org/apache/hop/pipeline/transforms/sql/messages/messages_pt_BR.properties
index 92f1bf55c1..6bc73fd4c1 100644
--- a/plugins/transforms/sql/src/main/resources/org/apache/hop/pipeline/transforms/sql/messages/messages_pt_BR.properties
+++ b/plugins/transforms/sql/src/main/resources/org/apache/hop/pipeline/transforms/sql/messages/messages_pt_BR.properties
@@ -53,7 +53,7 @@ ExecSqlDialog.ColumnInfo.ArgumentFieldname=Nome de campo para ser usado como arg
 ExecSqlDialog.DeleteField.Label=Campo para conter as estatísticas.
 ExecSqlDialog.InsertField.Label=Campo para conter estatísticas de inserção
 ExecSqlDialog.QuoteString.Label=Cordas de Citação
-ExecSqlDialog.QuoteString.Tooltip=Essa opção adiciona citações ao redor da string de acordo com o dialeto do banco de dados e também escapa de personagens especiais como CR, LF e o próprio personagem de citação.
+ExecSqlDialog.QuoteString.Tooltip=Essa opção adiciona citações ao redor da string de acordo com o dialeto do banco de dados e também escapa de caracteres especiais como CR, LF e o próprio personagem de citação.
 ExecSqlDialog.ReadField.Label=Campo para conter estatísticas de leitura
 ExecSqlDialog.ReplaceVariables=Substituição variável
 ExecSqlDialog.SetParams.Label=Parâmetros de ligação
@@ -75,7 +75,7 @@ ExecSqlMeta.Injection.EXECUTE_FOR_EACH_ROW=Emitindo uma pergunta para cada linha
 ExecSqlMeta.Injection.INSERT_STATS_FIELD=Campo opcional no fluxo que contém o número de registros que foram inseridos.
 ExecSqlMeta.Injection.PARAMETER_NAME=Nome de campo para ser usado como argumento.
 ExecSqlMeta.Injection.PARAMETERS=Lista de parâmetros que substituirão pontos de interrogação em ordem.
-ExecSqlMeta.Injection.QUOTE_STRINGS=Adicione citações ao redor da corda para escapar de personagens especiais como CR, LF e "Y/N"?
+ExecSqlMeta.Injection.QUOTE_STRINGS=Adicione citações ao redor da corda para escapar de caracteres especiais como CR, LF e "Y/N"?
 ExecSqlMeta.Injection.READ_STATS_FIELD=Campo opcional no fluxo que contém o número de registros lidos.
 ExecSqlMeta.Injection.REPLACE_VARIABLES=Permite que você use variáveis no SQL (S/N)?
 ExecSqlMeta.Injection.SQL=Um script SQL para executar.
diff --git a/plugins/transforms/stanfordnlp/src/main/resources/org/apache/hop/pipeline/transforms/stanford/nlp/simple/messages/messages_pt_BR.properties b/plugins/transforms/stanfordnlp/src/main/resources/org/apache/hop/pipeline/transforms/stanford/nlp/simple/messages/messages_pt_BR.properties
index f1633faa1b..17713b9fa6 100644
--- a/plugins/transforms/stanfordnlp/src/main/resources/org/apache/hop/pipeline/transforms/stanford/nlp/simple/messages/messages_pt_BR.properties
+++ b/plugins/transforms/stanfordnlp/src/main/resources/org/apache/hop/pipeline/transforms/stanford/nlp/simple/messages/messages_pt_BR.properties
@@ -39,5 +39,5 @@ StanfordSimpleNlpDialog.IncludePartOfSpeech.Label=Incluir parte da fala
 StanfordSimpleNlpMeta.Exception.UnableToReadTransformMeta=Não foi possivel ler transformar informações de XML
 StanfordSimpleNlpMeta.CheckResult.CorpusFieldMissing=Campo de Corpus está ausente!
 StanfordSimpleNlpMeta.CheckResult.CorpusFieldOK=Campo Corpus foi especificado.
-StanfordSimpleNlpMeta.CheckResult.NoInpuReceived=Nenhuma entrada recebida de outras transformadas!
+StanfordSimpleNlpMeta.CheckResult.NoInpuReceived=Nenhuma entrada recebida de outras transformações!
 StanfordSimpleNlpDialog.OutputFieldNamePrefix.Label=Campo de Saída Prefixo
diff --git a/plugins/transforms/streamlookup/src/main/resources/org/apache/hop/pipeline/transforms/streamlookup/messages/messages_pt_BR.properties b/plugins/transforms/streamlookup/src/main/resources/org/apache/hop/pipeline/transforms/streamlookup/messages/messages_pt_BR.properties
index c1bdabc0d8..bc865ee50a 100644
--- a/plugins/transforms/streamlookup/src/main/resources/org/apache/hop/pipeline/transforms/streamlookup/messages/messages_pt_BR.properties
+++ b/plugins/transforms/streamlookup/src/main/resources/org/apache/hop/pipeline/transforms/streamlookup/messages/messages_pt_BR.properties
@@ -69,7 +69,7 @@ StreamLookupDialog.TransformNameRequired.DialogMessage=Por favor, selecione um n
 StreamLookupMeta.CheckResult.AllFieldsFoundInTheLookupStream=Todos os campos são encontrados no fluxo de busca.
 StreamLookupMeta.CheckResult.AllFieldsFoundInTheLookupStream2=Todos os campos para recuperar são encontrados no fluxo de entrada.
 StreamLookupMeta.CheckResult.FieldsNotFound=Campos que não foram encontrados no fluxo de entrada:
-StreamLookupMeta.CheckResult.FieldsNotFoundFromInLookupSep=Não consegui achar campos com as transformadas, verifique os saltos...
+StreamLookupMeta.CheckResult.FieldsNotFoundFromInLookupSep=Não consegui achar campos com as transformações, verifique os saltos...
 StreamLookupMeta.CheckResult.FieldsNotFoundInLookupStream=Campos que não foram encontrados no fluxo de busca:
 StreamLookupMeta.CheckResult.FieldsNotFoundInLookupStream2=Campos para recuperar que não foram encontrados no fluxo de busca:
 StreamLookupMeta.CheckResult.NeedAtLeast2InputStreams=Precisamos de pelo menos 2 fluxos de entrada. 1 (ou mais) fluxo de entrada para os dados.
@@ -77,7 +77,7 @@ StreamLookupMeta.CheckResult.SourceTransformDoesNotExist=A transformação da fo
 StreamLookupMeta.CheckResult.SourceTransformExist=A transformação da fonte existe!
 StreamLookupMeta.CheckResult.SourceTransformIsSelected=A transformação da fonte está selecionada.
 StreamLookupMeta.CheckResult.SourceTransformNotSelected=A transformação da fonte não está selecionada!
-StreamLookupMeta.CheckResult.TransformReceivingInfoFromInputTransforms=Transform está recebendo informações de entradas transformadas.
+StreamLookupMeta.CheckResult.TransformReceivingInfoFromInputTransforms=Transform está recebendo informações de entradas transformações.
 StreamLookupMeta.CheckResult.TransformReceivingLookupData=Transform está recebendo dados de busca para outra transformação, recebendo campos
 StreamLookupMeta.Exception.ReturnValueCanNotBeFound=O valor de retorno não pode ser encontrado na linha de entrada.
 StreamLookupMeta.InfoStream.Description=Essas fileiras são carregadas na memória e usadas para fazer buscas.
diff --git a/plugins/transforms/stringoperations/src/main/resources/org/apache/hop/pipeline/transforms/stringoperations/messages/messages_pt_BR.properties b/plugins/transforms/stringoperations/src/main/resources/org/apache/hop/pipeline/transforms/stringoperations/messages/messages_pt_BR.properties
index 91a0736958..4dc72771d1 100644
--- a/plugins/transforms/stringoperations/src/main/resources/org/apache/hop/pipeline/transforms/stringoperations/messages/messages_pt_BR.properties
+++ b/plugins/transforms/stringoperations/src/main/resources/org/apache/hop/pipeline/transforms/stringoperations/messages/messages_pt_BR.properties
@@ -72,7 +72,7 @@ StringOperations.Description=Aplica certas opera\u00E7\u00F5es como aparar, pree
 StringOperationsDialog.ColumnInfo.OutStreamField.Tooltip=Deixe este campo vazio se quiser atualizar o campo de entrada no fluxo\nSe não, um novo campo (texto) será adicionado ao fluxo de entrada.
 StringOperationsDialog.ColumnInfo.RemoveSpecialCharacters=Remover personagem especial
 StringOperationsDialog.Fields.Label=Os campos para processar:
-StringOperationsDialog.Injection.MASKXML=Fugir personagens especiais
+StringOperationsDialog.Injection.MASKXML=Fugir caracteres especiais
 StringOperationsDialog.Injection.SOURCEFIELDS=Em campos de córrego
 StringOperationsDialog.Injection.SPECIALCHARS=Remover Caracteres Especiais
 StringOperationsDialog.Injection.TARGETFIELDS=Fora da corrente Fields
diff --git a/plugins/transforms/surefirereport/src/main/resources/org/apache/hop/pipeline/transforms/surefirereport/messages/messages_pt_BR.properties b/plugins/transforms/surefirereport/src/main/resources/org/apache/hop/pipeline/transforms/surefirereport/messages/messages_pt_BR.properties
index 09255c2626..e48c707ab3 100644
--- a/plugins/transforms/surefirereport/src/main/resources/org/apache/hop/pipeline/transforms/surefirereport/messages/messages_pt_BR.properties
+++ b/plugins/transforms/surefirereport/src/main/resources/org/apache/hop/pipeline/transforms/surefirereport/messages/messages_pt_BR.properties
@@ -37,15 +37,15 @@ SurefireReportOutput.Injection.SystemOutField=Campo contendo texto de log de sa
 SurefireReportOutput.Injection.SystemErrField=Campo contendo texto de registro de erros de sistema
 SurefireReportOutput.Injection.FailureMessageField=Campo contendo a mensagem de falha
 SurefireReportOutput.Injection.FailureTypeField=Campo contendo o tipo de falha
-SurefireReportOutput.Injection.FailOnTestFailure=Falhar o oleoduto quando qualquer teste falhar (Y/N)
+SurefireReportOutput.Injection.FailOnTestFailure=Falhar o conduto quando qualquer teste falhar (Y/N)
 SurefireReportOutputDialog.FailOnTestFailure.Label=Falhar na falha do teste.
-SurefireReportOutputDialog.FailOnTestFailure.Tooltip=Quando ativado, o oleoduto falha após escrever o relatório se qualquer caso de teste falhou ou errou.
+SurefireReportOutputDialog.FailOnTestFailure.Tooltip=Quando ativado, o conduto falha após escrever o relatório se qualquer caso de teste falhou ou errou.
 SurefireReportOutputMeta.CheckResult.FilenameMissing=O nome do relatório está faltando!
 SurefireReportOutputMeta.CheckResult.FilenameOK=Reportar o nome do arquivo é especificado
 SurefireReportOutputMeta.CheckResult.TestNameFieldMissing=O campo do nome do teste está faltando!
 SurefireReportOutputMeta.CheckResult.TestNameFieldOK=O campo do nome do teste é especificado.
 SurefireReportOutputMeta.CheckResult.ReceivingInfoFromOtherTransforms=Transform está recebendo informações de outras transformações.
-SurefireReportOutputMeta.CheckResult.NoInputReceived=Nenhuma entrada recebida de outras transformadas!
+SurefireReportOutputMeta.CheckResult.NoInputReceived=Nenhuma entrada recebida de outras transformações!
 SurefireReportOutputDialog.Shell.Title=Surefire relatório de saída
 SurefireReportOutputDialog.TransformName.Label=Transforme o nome
 SurefireReportOutputDialog.Filename.Label=Reportar o nome do arquivo
@@ -66,4 +66,4 @@ SurefireReportOutputDialog.SystemErrField.Label=Campo de controle de sistema.
 SurefireReportOutputDialog.FailureMessageField.Label=Campo de mensagem de falha
 SurefireReportOutputDialog.FailureTypeField.Label=Campo do tipo falha
 SurefireReportOutputDialog.FailedToGetFields.DialogTitle=Os campos falharam.
-SurefireReportOutputDialog.FailedToGetFields.DialogMessage=Incapaz de obter campos de transformadas anteriores por causa de um erro
+SurefireReportOutputDialog.FailedToGetFields.DialogMessage=Incapaz de obter campos de transformações anteriores por causa de um erro
diff --git a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/messages/messages_pt_BR.properties b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/messages/messages_pt_BR.properties
index edeabd0184..b9254038a3 100644
--- a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/messages/messages_pt_BR.properties
+++ b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/messages/messages_pt_BR.properties
@@ -192,13 +192,13 @@ TextFileInputMeta.CheckResult.NoInputOk=Sem receber entrada de outras transforma
 TextFileCSVImportProgressDialog.Exception.ErrorScanningFile=Problema encontrado escaneando o arquivo CSV na linha \#{0} ({1}) \: {2}
 TextFileCSVImportProgressDialog.Info.ResultAfterScanning=Resultado após a varredura de linhas.
 TextFileInput.Description=Leia dados de um arquivo de texto em vários formatos. \nEstes dados podem então ser passados para a próxima transformação(s) ...
-TextFileInput.Log.ConvertLineToRow=encl substring\=[ {0}
+TextFileInput.Log.ConvertLineToRow=encl substring\=[{0}]
 TextFileInput.Log.ConvertLineToRowTitle=converter linha para linha
 TextFileInput.Log.CoundNotParseField=Não foi possível analisar o campo com valor, formato na linha de dados.
-TextFileInput.Log.Encloruse=encl substring\=[ {0}
+TextFileInput.Log.Encloruse=encl substring\=[{0}]
 TextFileInput.Log.EndOfEmptyLineFound=Fim da linha campo vazio encontrado\: []
 TextFileInput.Log.EndOfEnclosure=Fim do gabinete
-TextFileInputDialog.AcceptFilenames.Tooltip=Active isto se definir os nomes de ficheiros noutra transformação e quiser que esta transformação aceite esses nomes de ficheiros.
+TextFileInputDialog.AcceptFilenames.Tooltip=Ative isto se definir os nomes de ficheiros noutra transformação e quiser que esta transformação aceite esses nomes de ficheiros.
 TextFileInputDialog.AcceptTransform.Tooltip=Selecione a transformada para ler as informações do nome do arquivo
 TextFileInputDialog.AddResult.Tooltip=Marque esta opção se quiser adicionar nomes de arquivos para a lista de nomes de arquivos de resultados.
 TextFileInputDialog.BadFileMessageField.Label=Nome da mensagem de erro do arquivo
@@ -206,7 +206,7 @@ TextFileInputDialog.Compression.Tooltip=Só a primeira entrada no arquivo é lid
 TextFileInputDialog.ContentOfFirstFile.NLinesFromTo.DialogMessage=Da linha para a linha.
 TextFileInputDialog.DateLenient.Tooltip=Isso significa que somos brandos quando analisamos Strings. Por exemplo, 32/01/2016 será analisado como 1o de fevereiro de 2006. Se esta opção estiver desligada, estas datas gerarão um erro.
 TextFileInputDialog.DateLocale.Tooltip=Quando analisar a data escrita em texto como "Janeiro" e fazer a análise em um país diferente, você achará esta opção útil.
-TextFileInputDialog.Dialog.SpecifyASampleFile.Message=Por favor especifique pelo menos uma amostra de arquivo de texto na lista de arquivos. Ao ler nomes de arquivos de transformadas anteriores, este arquivo não será usado durante o processamento.
+TextFileInputDialog.Dialog.SpecifyASampleFile.Message=Por favor especifique pelo menos uma amostra de arquivo de texto na lista de arquivos. Ao ler nomes de arquivos de transformações anteriores, este arquivo não será usado durante o processamento.
 TextFileInputDialog.EnclBreaks.Label=Permitir pausas em campos fechados?
 TextFileInputDialog.ErrorIgnored.Tooltip=Ignorar erros de análise que ocorrem, opcionalmente registrar informações sobre os erros.
 TextFileInputDialog.Exception.ErrorGettingFirstLines=Erro em obter o primeiro {0} do arquivo {1}
diff --git a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/text/messages/messages_pt_BR.properties b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/text/messages/messages_pt_BR.properties
index 7f082453d7..d39d5323fd 100644
--- a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/text/messages/messages_pt_BR.properties
+++ b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/text/messages/messages_pt_BR.properties
@@ -292,7 +292,7 @@ TextFileInputDialog.Compression.Tooltip=Só a primeira entrada no arquivo é lid
 TextFileInputDialog.ContentOfFirstFile.NLinesFromTo.DialogMessage=Da linha para a linha.
 TextFileInputDialog.DateLenient.Tooltip=Isso significa que somos brandos quando analisamos Strings. Por exemplo, 32/01/2016 será analisado como 1o de fevereiro de 2006. Se esta opção estiver desligada, estas datas gerarão um erro.
 TextFileInputDialog.DateLocale.Tooltip=Quando analisar a data escrita em texto como "Janeiro" e fazer a análise em um país diferente, você achará esta opção útil.
-TextFileInputDialog.Dialog.SpecifyASampleFile.Message=Por favor especifique pelo menos uma amostra de arquivo de texto na lista de arquivos. Ao ler nomes de arquivos de transformadas anteriores, este arquivo não será usado durante o processamento.
+TextFileInputDialog.Dialog.SpecifyASampleFile.Message=Por favor especifique pelo menos uma amostra de arquivo de texto na lista de arquivos. Ao ler nomes de arquivos de transformações anteriores, este arquivo não será usado durante o processamento.
 TextFileInputDialog.EnclBreaks.Label=Permitir pausas em campos fechados?
 TextFileInputDialog.ErrorAddingFile.ErrorMessage=O nome do arquivo não pode ser nulo.
 TextFileInputDialog.ErrorIgnored.Tooltip=Ignorar erros de análise que ocorrem, opcionalmente registrar informações sobre os erros.
diff --git a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/textfileoutput/messages/messages_pt_BR.properties b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/textfileoutput/messages/messages_pt_BR.properties
index 6f1a1f2f26..b57cece66f 100644
--- a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/textfileoutput/messages/messages_pt_BR.properties
+++ b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/textfileoutput/messages/messages_pt_BR.properties
@@ -128,7 +128,7 @@ TextFileOutput.Log.ParentFolderNotExistCreateIt=Não conseguimos encontrar a pas
 TextFileOutputDialog.DoNotOpenNewFileInit.Tooltip=Verifique isto se não quiser criar um arquivo no início do conduto. Apache Hop criará o arquivo na primeira linha recebida.
 TextFileOutputDialog.EnclForced.Label=Forçar o cerco ao redor dos campos.
 TextFileOutputDialog.EndedLine.Label=Adicionar linha final de arquivo
-TextFileOutputDialog.FailedToGetFields.DialogMessage=Não podemos obter o nome dos campos de transformadas anteriores!
+TextFileOutputDialog.FailedToGetFields.DialogMessage=Não podemos obter o nome dos campos de transformações anteriores!
 TextFileOutputDialog.FastDump.Label=Descarte de dados rápido (sem formatação)
 TextFileOutputDialog.Format.CR=CR terminado.
 TextFileOutputDialog.Format.None=Nenhum exterminador de linha nova.
diff --git a/plugins/transforms/update/src/main/resources/org/apache/hop/pipeline/transforms/update/messages/messages_pt_BR.properties b/plugins/transforms/update/src/main/resources/org/apache/hop/pipeline/transforms/update/messages/messages_pt_BR.properties
index d66b7d564a..eb3f71431e 100644
--- a/plugins/transforms/update/src/main/resources/org/apache/hop/pipeline/transforms/update/messages/messages_pt_BR.properties
+++ b/plugins/transforms/update/src/main/resources/org/apache/hop/pipeline/transforms/update/messages/messages_pt_BR.properties
@@ -121,3 +121,17 @@ UpdateMeta.Injection.UseBatchUpdate=Ajuste esta bandeira para realizar atualiza
 UpdateDialog.GeneralTab.Title=Geral
 UpdateDialog.KeysTab.Title=Chaves de busca
 UpdateDialog.FieldsTab.Title=Campos
+Update.Exception.NoKeyFields=Nenhum campo chave é especificado. Pelo menos uma chave é necessária para construir a cláusula WHERE da declaração de UPDATE, também quando a opção Skip for ativada.
+UpdateDialog.DoMapping.Button=Digite o mapeamento do campo
+UpdateDialog.DoMapping.SomeFieldsNotFoundContinue=Certos campos não foram encontrados no mapeamento existente, quer continuar?
+UpdateDialog.DoMapping.SomeFieldsNotFoundTitle=Certos campos referenciados não foram encontrados!
+UpdateDialog.DoMapping.SomeSourceFieldsNotFound=Estes campos de origem não foram encontrados
+UpdateDialog.DoMapping.SomeTargetFieldsNotFound=Esses campos-alvo não foram encontrados.
+UpdateDialog.DoMapping.UnableToFindSourceFields.Message=Não foi possível recuperar os campos de origem desta transformação por causa de um erro.
+UpdateDialog.DoMapping.UnableToFindSourceFields.Title=Erro ao obter campos de origem
+UpdateDialog.DoMapping.UnableToFindTargetFields.Message=Não foi possível recuperar os campos alvo para esta transformação por causa de um erro.
+UpdateDialog.DoMapping.UnableToFindTargetFields.Title=Erro ao obter campos de alvo.
+UpdateMeta.Exception.ConnectionNotDefined=Incapaz de determinar os campos necessários porque a conexão do banco de dados não foi definida.
+UpdateMeta.Exception.ErrorGettingFields=Incapaz de determinar os campos necessários.
+UpdateMeta.Exception.TableNotFound=Incapaz de determinar os campos necessários porque a tabela de banco de dados não foi encontrada.
+UpdateMeta.Exception.TableNotSpecified=Incapaz de determinar os campos necessários porque o nome da tabela do banco de dados não foi especificado.
diff --git a/plugins/transforms/validator/src/main/resources/org/apache/hop/pipeline/transforms/validator/messages/messages_pt_BR.properties b/plugins/transforms/validator/src/main/resources/org/apache/hop/pipeline/transforms/validator/messages/messages_pt_BR.properties
index 154cbdbbd2..4e18a6c2e1 100644
--- a/plugins/transforms/validator/src/main/resources/org/apache/hop/pipeline/transforms/validator/messages/messages_pt_BR.properties
+++ b/plugins/transforms/validator/src/main/resources/org/apache/hop/pipeline/transforms/validator/messages/messages_pt_BR.properties
@@ -58,18 +58,18 @@ Validator.Exception.DataConversionErrorEncountered=Um erro de conversão de dado
 Validator.Exception.DoesNotEndWithString=Durante a validação do campo ''{0}'' descobrimos que o valor da string [{1}] não está terminando com a string [{{2}]
 Validator.Exception.DoesNotStartWithString=Durante a validação do campo ''{0}'' descobrimos que o valor da string [{1}] não está começando com a string [{{2}]
 Validator.Exception.EndsWithString=Durante a validação do campo ''{0}'' descobrimos que o valor da string [{1}] está terminando com a string [{{2}]
-Validator.Exception.HigherThanMaximumValue=Durante a validação do campo ''0}', descobrimos que o valor [{1}] é superior ao máximo especificado [{2}
-Validator.Exception.LongerThanMaximumLength=Durante a validação do campo ''{0}', descobrimos que o valor [{1}] tem um comprimento de corda maior ({2} do que permitido ({3}).
-Validator.Exception.LowerThanMinimumValue=Durante a validação do campo ''}', descobrimos que o valor [{1}] é inferior ao mínimo especificado [{2}
-Validator.Exception.MatchingRegExpExpected=Durante a validação do campo ''{0}'' descobrimos que o valor [{{1}] não corresponde à expressão regular [{{2}]
-Validator.Exception.NonNumericDataNotAllowed=Durante a validação do campo ''{0}'' encontramos que o valor [{{1}] contém informações não numéricas \: [{{2}]
-Validator.Exception.NotInList=Durante a validação do campo ''}' descobrimos que o valor não está na lista de valores permitidos.
-Validator.Exception.NullNotAllowed=Durante a validação do campo ''0}' descobrimos que seu valor é nulo na linha quando isso não é permitido.
+Validator.Exception.HigherThanMaximumValue=Durante a validação do campo ''{0}'', descobrimos que o valor [{1}] é superior ao máximo especificado [{2}]
+Validator.Exception.LongerThanMaximumLength=Durante a validação do campo ''{0}'', descobrimos que o valor [{1}] tem um comprimento de corda maior ({2}) do que permitido ({3}).
+Validator.Exception.LowerThanMinimumValue=Durante a validação do campo ''{0}'', descobrimos que o valor [{1}] é inferior ao mínimo especificado [{2}]
+Validator.Exception.MatchingRegExpExpected=Durante a validação do campo ''{0}'' descobrimos que o valor [{1}] não corresponde à expressão regular [{2}]
+Validator.Exception.NonNumericDataNotAllowed=Durante a validação do campo ''{0}'' encontramos que o valor [{1}] contém informações não numéricas \: [{2}]
+Validator.Exception.NotInList=Durante a validação do campo ''{0}'' descobrimos que o valor não está na lista de valores permitidos.
+Validator.Exception.NullNotAllowed=Durante a validação do campo ''{0}'' descobrimos que seu valor é nulo na linha quando isso não é permitido.
 Validator.Exception.NumberFormatException=Peguei uma exceção de formato de número convertendo comprimento mínimo com valor {0} para um int
-Validator.Exception.OnlyNullAllowed=Durante a validação do campo ''{0}'' descobrimos que o valor [{{1}] não é nulo enquanto apenas valores nulos são permitidos
-Validator.Exception.ShorterThanMininumLength=Durante a validação do campo ''{0}'', descobrimos que o valor [{1}] tem um comprimento de corda menor ({2} do que permitido ({3}).
+Validator.Exception.OnlyNullAllowed=Durante a validação do campo ''{0}'' descobrimos que o valor [{1}] não é nulo enquanto apenas valores nulos são permitidos
+Validator.Exception.ShorterThanMininumLength=Durante a validação do campo ''{0}'', descobrimos que o valor [{1}] tem um comprimento de corda menor ({2}) do que permitido ({3}).
 Validator.Exception.SpecifyDataType=Por favor, especifique um tipo de dados para converter!
-Validator.Exception.StartsWithString=Durante a validação do campo ''{0}'' descobrimos que o valor da string [{{1}] começa com a string [{{2}]
+Validator.Exception.StartsWithString=Durante a validação do campo ''{0}'' descobrimos que o valor da string [{1}] começa com a string [{2}]
 Validator.Injection.CONCATENATE_ERRORS=Esta opção faz com que todos os erros sejam combinados em uma única linha de saída.
 Validator.Injection.CONCATENATION_SEPARATOR=Especifique o separador de erros quando os erros estiverem em uma linha de saída.
 Validator.Injection.CONVERSION_MASK=Especifique a máscara a usar para converter os dados especificados nesta regra de validação.
@@ -105,7 +105,7 @@ ValidatorDialog.Dialog.AddAllowedValue.Title=Adicionar valor permitido
 ValidatorDialog.EndStringDisallowed.Label=Fio final não permitido
 ValidatorDialog.EnterValidationRuleName.Message=Digite um nome único para a regra de validação que você quer adicionar
 ValidatorDialog.EnterValidationRuleName.Title=Digite o nome da validação.
-ValidatorDialog.Exception.CantGetFieldsFromPreviousTransforms.Message=Não conseguimos determinar a lista de campos vindos das transformadas anteriores. Por favor, conecte esta transformada a um antecessor.
+ValidatorDialog.Exception.CantGetFieldsFromPreviousTransforms.Message=Não conseguimos determinar a lista de campos vindos das transformações anteriores. Por favor, conecte esta transformada a um antecessor.
 ValidatorDialog.FieldList.Label=Selecione uma validação para editar \:
 ValidatorDialog.FieldName.Label=Nome do campo para validar
 ValidatorDialog.MaxLength.Label=Comprimento máximo da corda
@@ -121,3 +121,10 @@ ValidatorMeta.CheckResult.FieldsReceived=Este campo recebe campos das transforma
 ValidatorMeta.InfoStream.Description=Fluxo de informação opcional para dados de referência de validação \:
 ValidatorMeta.InfoStream.ValidationInput.Description=Dados de referência opcionais para validação.
 ValidatorMeta.NewValidation.Description=Criar uma nova validação usando dados de referência.
+Validator.Exception.InfoTransformIsDistributing=Transformar entrega os valores permitidos para validação mas distribui suas linhas sobre as cópias da transformação. Toda cópia precisa de todos os valores permitidos, então isso faria as linhas válidas falharem. Ou executar [{1}] em uma única cópia, ou definir o movimento de dados de [{0}] para "Copiar dados para todas as transformações".
+Validator.Injection.SUPPRESS_LOG_FAILED_DATA=Quando ativado, os valores de campo/linha são omitidos das mensagens de erro de validação escritas no log. As linhas de erro ainda são enviadas para o hop de manipulação de erros.
+Validator.Injection.SUPPRESS_ERROR_LOG=Quando ativado, nenhuma linha de registro é escrita para cada linha rejeitada. As linhas de erro ainda são enviadas para o hop de manipulação de erros.
+ValidatorDialog.SuppressLogFailedData.Label=Não registre dados de validação falhando
+ValidatorDialog.SuppressLogFailedData.Tooltip=Quando ativado, os valores de campo/linha falhadas são omitidos das mensagens de erro de validação (mostradas como "?"). As mensagens de erro ainda estão registradas. As linhas de erro ainda são enviadas para o hop quando configurado.
+ValidatorDialog.SuppressErrorLog.Label=Não registre uma linha para cada linha rejeitada.
+ValidatorDialog.SuppressErrorLog.Tooltip=Quando habilitado, a transformação não escreve mais uma linha de erro para o registro para cada linha que rejeita. As linhas de erro ainda são enviadas para o hop quando configurado. Em córregos onde muitas linhas são rejeitadas esta linha de log custa muito mais do que a própria validação.
diff --git a/plugins/transforms/valuemapper/src/main/resources/org/apache/hop/pipeline/transforms/valuemapper/messages/messages_pt_BR.properties b/plugins/transforms/valuemapper/src/main/resources/org/apache/hop/pipeline/transforms/valuemapper/messages/messages_pt_BR.properties
index 8f9230d7c2..962861c17a 100644
--- a/plugins/transforms/valuemapper/src/main/resources/org/apache/hop/pipeline/transforms/valuemapper/messages/messages_pt_BR.properties
+++ b/plugins/transforms/valuemapper/src/main/resources/org/apache/hop/pipeline/transforms/valuemapper/messages/messages_pt_BR.properties
@@ -37,7 +37,7 @@ ValueMapper.Injection.TARGET_FIELDNAME=O campo alvo a ser usado para mapeamento
 ValueMapper.Injection.VALUES=Os valores para o mapeamento
 ValueMapper.RuntimeError.FieldToUseNotFound.VALUEMAPPER0001=Não foi possível encontrar o campo na linha de entrada.
 ValueMapper.RuntimeError.OnlyOneEmptyMappingAllowed.VALUEMAPPER0004=Apenas um mapeamento de uma string vazia ou valor nulo é permitido.
-ValueMapperDialog.FailedToGetFields.DialogMessage=Não podemos obter o nome dos campos de transformadas anteriores!
+ValueMapperDialog.FailedToGetFields.DialogMessage=Não podemos obter o nome dos campos de transformações anteriores!
 ValueMapperDialog.FieldnameToUser.Label=Nome de campo para usar
 ValueMapperDialog.Fields.Column.TargetValue=Valor alvo
 ValueMapperDialog.Fields.Label=Valores de campo\:
diff --git a/plugins/transforms/workflowexecutor/src/main/resources/org/apache/hop/pipeline/transforms/workflowexecutor/messages/messages_pt_BR.properties b/plugins/transforms/workflowexecutor/src/main/resources/org/apache/hop/pipeline/transforms/workflowexecutor/messages/messages_pt_BR.properties
index a318f02894..5b11f36b45 100644
--- a/plugins/transforms/workflowexecutor/src/main/resources/org/apache/hop/pipeline/transforms/workflowexecutor/messages/messages_pt_BR.properties
+++ b/plugins/transforms/workflowexecutor/src/main/resources/org/apache/hop/pipeline/transforms/workflowexecutor/messages/messages_pt_BR.properties
@@ -79,9 +79,9 @@ WorkflowExecutorDialog.ResultFilesTarget.Label=Alvo transformado para informaç
 WorkflowExecutorDialog.ResultRows.Tooltip=Você pode especificar o alvo e especificação das linhas de resultado que precisam ser passadas do fluxo de trabalho.
 WorkflowExecutorDialog.ResultRowsTarget.Label=Alvo transformado para linhas de resultados
 WorkflowExecutorDialog.RowGroup.Tooltip=Determine quantas linhas de dados são passadas ao fluxo de trabalho antes da execução.
-WorkflowExecutorMeta.CheckResult.NoInputReceived=Nenhuma entrada é recebida de transformadas anteriores.
-WorkflowExecutorMeta.CheckResult.NotReceivingAnyFields=Nenhum campo de entrada é recebido de transformadas anteriores.
-WorkflowExecutorMeta.CheckResult.TransformReceivingFields=Esta transformada está recebendo campos de transformadas anteriores.
+WorkflowExecutorMeta.CheckResult.NoInputReceived=Nenhuma entrada é recebida de transformações anteriores.
+WorkflowExecutorMeta.CheckResult.NotReceivingAnyFields=Nenhum campo de entrada é recebido de transformações anteriores.
+WorkflowExecutorMeta.CheckResult.TransformReceivingFields=Esta transformada está recebendo campos de transformações anteriores.
 WorkflowExecutorMeta.CheckResult.TransformReceivingFieldsFromOtherTransforms=Esta transformação está recebendo campos de outras transformações.
 WorkflowExecutorMeta.Exception.ErrorLoadingJobExecutorDetailsFromXML=Erro ao carregar detalhes do executor de fluxo de trabalho do XML
 WorkflowExecutorMeta.ResultFilesStream.Description=Esta saída conterá os nomes dos arquivos após a execução.
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_pt_BR.properties b/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_pt_BR.properties
index 1da1d5a455..cbf148898c 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_pt_BR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_pt_BR.properties
@@ -88,3 +88,22 @@ JdbcDriverDownloadDialog.Error.Generic=Incapaz de baixar o driver JDBC.
 JdbcDriverDownloadDialog.Done.Title=driver instalado
 JdbcDriverDownloadDialog.Done.Message=Instalou arquivos {0} em {1}.\n\nReinicia o Hop para o driver {2} ser carregado.
 JdbcDriverDownloadDialog.Done.MessageReady=arquivos instalados em {0} O driver {2} está pronto para usar - não é necessário reiniciar.
+DatabaseDialog.button.GenerateVariables=Gere variáveis.
+DatabaseDialog.GenerateVariables.NameRequired.Title=Nome de conexão necessário.
+DatabaseDialog.GenerateVariables.NameRequired.Message=Por favor, digite um nome de conexão antes de gerar variáveis. O nome é usado como um prefixo (por exemplo EDW HOSTNAME).
+DatabaseDialog.GenerateVariables.DialogMessage=Variáveis de ambiente propostas para conexão de banco de dados. Reveja nomes, valores e descrições. Valores podem ser deixados vazios para um modelo DTAP verificado no controle de versão.
+DatabaseDialog.GenerateVariables.CreateConfig.Title=Arquivo de configuração do ambiente
+DatabaseDialog.GenerateVariables.CreateConfig.Message=Criar ou atualizar um arquivo JSON de configuração de ambiente com essas variáveis? Não. Isso é útil como um modelo para ambientes DTAP (checked in version control; valores específicos do ambiente são tipicamente implantados separadamente).
+DatabaseDialog.GenerateVariables.FileFilter.Json=Arquivos do JSON
+DatabaseDialog.GenerateVariables.FileFilter.All=Todos os arquivos.
+DatabaseDialog.GenerateVariables.ConfigSaved.Title=Arquivo de configuração salvo
+DatabaseDialog.GenerateVariables.ConfigSaved.Message=Variáveis foram escritas para: Adicione este arquivo à lista de arquivos de configuração de um ambiente Hop para que as variáveis sejam carregadas em tempo de execução.
+DatabaseDialog.GenerateVariables.ConfigError.Title=Erro
+DatabaseDialog.GenerateVariables.ConfigError.Message=Incapaz de salvar o arquivo de configuração do ambiente
+DatabaseDialog.GenerateVariables.Description.Hostname=Nome do host para conexão do banco de dados {0}
+DatabaseDialog.GenerateVariables.Description.Port=Porta para conexão do banco de dados {0}
+DatabaseDialog.GenerateVariables.Description.Database=Nome do banco de dados para conexão {0}
+DatabaseDialog.GenerateVariables.Description.Username=Nome do usuário para conexão de banco de dados {0}
+DatabaseDialog.GenerateVariables.Description.Password=Senha para conexão do banco de dados {0}
+DatabaseDialog.GenerateVariables.Description.Url=URL manual do JDBC para conexão do banco de dados {0}
+DatabaseDialog.label.SshTunnelLocalPortInfo=Quando uma URL manual do JDBC é definida, o túnel aponta para o localhost e a porta local dinamicamente alocada está disponível como a variável $'{'sshTunnel.localPort'}'.
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_pt_BR.properties b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_pt_BR.properties
index ae22a78388..480723ee15 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_pt_BR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_pt_BR.properties
@@ -308,8 +308,8 @@ EnterOptionsDialog.ClearDialogPositions.Label=Limpar posições de diálogo
 EnterOptionsDialog.ClearDialogPositions.Tooltip=Limpa todas as posi\u00C3\u00A7\u00C3\u00B5es de di\u00C3\u00A1logo para a sess\u00C3\u00A3o atual
 EnterOptionsDialog.ClearDialogPositions.Confirmation=Todas as posi\u00C3\u00A7\u00C3\u00B5es de di\u00C3\u00A1logo foram liberadas para esta sess\u00C3\u00A3o.
 EnterOptionsDialog.ClearDialogPositions.Title=Posições de diálogo limpas
-EnterOptionsDialog.ShowMetricsOnSelectedTransforms.Label=Métricas acima das transformadas selecionadas?
-EnterOptionsDialog.ShowMetricsOnSelectedTransforms.Tooltip=Habilitar para mostrar métricas acima das transformadas selecionadas em um oleoduto em execução.
+EnterOptionsDialog.ShowMetricsOnSelectedTransforms.Label=Métricas acima das transformações selecionadas?
+EnterOptionsDialog.ShowMetricsOnSelectedTransforms.Tooltip=Habilitar para mostrar métricas acima das transformações selecionadas em um conduto em execução.
 EnterOptionsDialog.MetricsPanel.ShowDataVolume.Label=Mostrar o volume de dados
 EnterOptionsDialog.MetricsPanel.ShowDataVolume.ToolTip=Mostrar o volume de dados na coluna (bytes baseados em linha) quando HOP METRIC DATA VOLUME estiver ativado. Desativada quando a variável é definida como N.
 EnterOptionsDialog.MetricsPanel.ShowDataVolumeIn.Label=Mostrar o volume de dados de entrada
@@ -341,3 +341,53 @@ EnterOptionsDialog.MaxPreviewCellLength.Label=Comprimento máximo da célula da
 EnterOptionsDialog.MaxPreviewCellLength.ToolTip=O n\u00C3\u00BAmero m\u00C3\u00A1ximo de caracteres mostrados em uma \u00C3\u00BAnica c\u00C3\u00A9lula. Valores maiores s\u00C3\u00A3o truncados para exibi\u00C3\u00A7\u00C3\u00A3o (duplo clique na c\u00C3\u00A9lula para ver ou editar o valor completo). Configurar para 0 para desativar o truncamento. Na vers\u00C3\u00A3o web isso se aplica apenas a grades de visualiza\u00C3\u00A7\u00C3\u00A3o.
 EnterOptionsDialog.ShowPreviewLineBreaks.Label=Mostrar quebras de linha como símbolos em células de grade
 EnterOptionsDialog.ShowPreviewLineBreaks.ToolTip=Quando ativada, quebras de linha e abas em c\u00C3\u00A9lulas de grade s\u00C3\u00A3o mostradas como s\u00C3\u00ADmbolos em uma \u00C3\u00BAnica linha. Quando desativado (padr\u00C3\u00A3o), um valor que cont\u00C3\u00A9m uma quebra de linha \u00C3\u00A9 cortado na primeira pausa e marcado com uma elipse. Clique duas vezes na c\u00C3\u00A9lula para ver ou editar o valor completo de qualquer forma. Na vers\u00C3\u00A3o web isso se aplica ap [...]
+BaseDialog.ReadOnly.TitleSuffix=\ (apenas leitura)
+ContextDialog.Category.Favorites=Favoritos
+ContextDialog.Favorite.AddHint=Clique para adicionar aos favoritos. Clique para selecionar e posicionar.
+ContextDialog.Favorite.RemoveHint=Clique para remover dos favoritos. Clique para selecionar e posicionar.
+EnterOptionsDialog.ShowTextCompositeToolbar.Label=Mostrar barra de ferramentas do editor de texto
+EnterOptionsDialog.ShowTextCompositeToolbar.ToolTip=Ativar esta opção faz uma barra de ferramentas aparecer acima de editores de texto multi-linha (SQL, scripts e campos similares) com corte/cópia/cola, desfazer/refazer e encontrar/substituir.
+FindReplaceDialog.CaseSensitive.Label=Caso sensível.
+FindReplaceDialog.Find.Label=Encontrar
+FindReplaceDialog.FindNext.Button=Encontre o próximo.
+FindReplaceDialog.FindPrevious.Button=Encontre o anterior.
+FindReplaceDialog.Replace.Button=Substituir
+FindReplaceDialog.Replace.Label=Substituir com
+FindReplaceDialog.ReplaceAll.Button=Substitua todos.
+FindReplaceDialog.Shell.FindTitle=Encontrar
+FindReplaceDialog.Shell.ReplaceTitle=Encontrar e substituir
+FindReplaceDialog.Status.EmptyFind=Digite o texto para encontrar
+FindReplaceDialog.Status.NotFound=Texto não encontrado
+FindReplaceDialog.Status.ReplaceAllCount={0} ocorrência(s) substituída(s)
+ShowRowsDialog.NoRows.Message=Sem filas para exibir.
+ShowRowsDialog.NrRows=(Linhas)
+ShowRowsDialog.CellTooltip.Name=Nome: {0}
+ShowRowsDialog.CellTooltip.Type=Tipo: {0}
+ShowRowsDialog.CellTooltip.Length=Comprimento: {0}
+ShowRowsDialog.CellTooltip.Precision=Precisão:
+ShowRowsDialog.CellTooltip.Origin=Origem:
+TableViewColumnViewDialog.AddAll.ToolTip=Adicione todas as colunas disponíveis à vista.
+TableViewColumnViewDialog.AddOne.ToolTip=Adicione as colunas selecionadas à visão
+TableViewColumnViewDialog.Apply.Label=&Aplicar
+TableViewColumnViewDialog.Available.Label=Colunas disponíveis
+TableViewColumnViewDialog.Delete.Message=Apagar a vista?
+TableViewColumnViewDialog.Delete.Title=Apagar visão
+TableViewColumnViewDialog.EmptyView.Message=Selecione pelo menos uma coluna para aplicar uma visão.
+TableViewColumnViewDialog.MoveDown.Label=Desça.
+TableViewColumnViewDialog.MoveUp.Label=Suba.
+TableViewColumnViewDialog.Name.Empty=Por favor, insira um nome para a vista.
+TableViewColumnViewDialog.Name.Message=Nome da vista da tabela
+TableViewColumnViewDialog.Name.Title=Ver nome
+TableViewColumnViewDialog.NoMatch.Message=Nenhum dos campos nesta visão existe na tabela atual.
+TableViewColumnViewDialog.Overwrite.Message=Uma visão chamada ''}'' já existe. Sobrescrever?
+TableViewColumnViewDialog.Overwrite.Title=Sobrescrever vista
+TableViewColumnViewDialog.RemoveAll.ToolTip=Remova todas as colunas da vista.
+TableViewColumnViewDialog.RemoveOne.ToolTip=Remover as colunas selecionadas da visão
+TableViewColumnViewDialog.Rename.Label=& Renomear
+TableViewColumnViewDialog.ShowAll.Label=Mostrar todas as colunas
+TableViewColumnViewDialog.Shown.Label=Colunas em vista.
+TableViewColumnViewDialog.Status.Missing=Não nesta tabela.
+TableViewColumnViewDialog.Status.Visible={0} de {1} colunas visíveis
+TableViewColumnViewDialog.Title=Vistas de tabela
+TableViewColumnViewDialog.UseCurrent.Label=Usar o layout atual
+TableViewColumnViewDialog.Views.Label=Vistas
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_pt_BR.properties b/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_pt_BR.properties
index 840bc5e035..c27d0a08e8 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_pt_BR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_pt_BR.properties
@@ -61,3 +61,7 @@ HopVfsFileDialog.RemoveBookmark.Tooltip.Message=Remover o marcador seleccionado
 HopVfsFileDialog.RenameFile.Error.Message=Erro ao renomear arquivo: ''}}''
 HopVfsFileDialog.RenameFile.Tooltip.Message=Renomear o arquivo selecionado (F2)
 HopVfsFileDialog.ShowHiddenFiles.Tooltip.Message=Mostrar ou esconder arquivos e diretórios escondidos
+HopVfsFileDialog.DrillInto.Error.Message=Erro na perfuração do arquivo: ''
+HopVfsFileDialog.DrillInto.Tooltip.Message=Perfure o arquivo selecionado (zip, jarra, alcatrão, ...). O clique duplo faz o mesmo; use OK para selecionar o arquivo em si.
+HopVfsFileDialog.FileInfo.SelectedFiles=Arquivos selecionados
+HopVfsFileDialog.Search.Placeholder=Procure nesta pasta...
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_pt_BR.properties b/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_pt_BR.properties
index 95b69a26d8..c24fa32ce7 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_pt_BR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_pt_BR.properties
@@ -101,3 +101,34 @@ WidgetDialog.Styled.SelectAll=Selecione &All\tCtrl+A
 WidgetDialog.Styled.Undo=Desfazer\tCtrl+Z
 FileTreeWidget.IncludeDependencies.Label=Inclua fluxos de trabalho/pipelines que dependem da seleção
 TableView.WebNewlineHint.Label=* Quebras de linha não são mostradas em células de tabela na versão web (limitação conhecida). Clique duas vezes em uma célula para ver ou editar o texto completo.
+ControlSpaceKeyAdapter.Category.Application=Aplicação
+ControlSpaceKeyAdapter.Category.Custom=Personalizado.
+ControlSpaceKeyAdapter.Category.Deprecated=Depreciada
+ControlSpaceKeyAdapter.Category.Internal=Hop interna
+ControlSpaceKeyAdapter.Category.Project=Projeto e ambiente
+ControlSpaceKeyAdapter.Category.System=Sistema
+ControlSpaceKeyAdapter.NoResults=Nenhuma variável corresponde a ''0}''
+ControlSpaceKeyAdapter.Search.Placeholder=Procurar variáveis pelo nome ou valor...
+TableView.menu.HideColumn=Ocultar coluna
+TableView.menu.NavigateToColumn=Navegar para a coluna
+TableView.menu.ShowAllColumns=Mostrar todas as colunas
+TableView.menu.TableViews=Vistas de tabela...
+TableView.NavigateToColumn.Message=Selecione a coluna para a qual deseja navegar
+TableView.NavigateToColumn.Title=Navegar para a coluna
+TableView.ToolBarWidget.NavigateToColumn.ToolTip=Navegue para uma coluna.
+TableView.ToolBarWidget.TableViews.ToolTip=Vistas de tabela
+TableView.tooltip.ExpandValue=Edite este valor em um editor de várias linhas (Shift+Enter)
+TableView.tooltip.ViewValue=Mostre o valor total em um visualizador multi-linha (Shift+Enter)
+TableView.tooltip.MultilineEditorKeys=Digite \: salvar e fechar
+TableView.tooltip.MultilineViewerKeys=Enter or Esc\: close - o valor é somente leitura
+TextVar.tooltip.ExpandedInteger=Este campo aceita valores inteiros expandidos: "Agrupamento: 100.000.000 ou 100.000.000 ou 100000" n- Sufixos: 100k, 100m, 1g, 1b (\u00d71.000.000 / \u00d71.000.000) \n- Fractional: 1,5m\n- Scientific: 1e8, 1x10^8, 10^8\nVariáveis ($'{'''''') são resolvidos antes de analisar.
+TextComposite.ToolBarWidget.Copy.ToolTip=Copiar texto selecionado
+TextComposite.ToolBarWidget.Cut.ToolTip=Cortar texto selecionado
+TextComposite.ToolBarWidget.Find.ToolTip=Encontrar texto
+TextComposite.ToolBarWidget.FindReplace.ToolTip=Encontrar e substituir texto
+TextComposite.ToolBarWidget.Paste.ToolTip=Colar texto da área de transferência
+TextComposite.ToolBarWidget.Redo.ToolTip=Refazer a última ação.
+TextComposite.ToolBarWidget.SelectAll.ToolTip=Selecione todo o texto
+TextComposite.ToolBarWidget.Undo.ToolTip=Desfaça a última ação
+WidgetDialog.Styled.Find=Encontrem-no.
+WidgetDialog.Styled.FindReplace=Encontrar/SubstituirCtrl+H
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/dialog/messages/messages_pt_BR.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/dialog/messages/messages_pt_BR.properties
index 8adc47be87..2920e86d5b 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/dialog/messages/messages_pt_BR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/dialog/messages/messages_pt_BR.properties
@@ -68,3 +68,31 @@ SearchFieldsProgressDialog.Dialog.SearchInputFields.Message=Procurando por campo
 SearchFieldsProgressDialog.Dialog.SearchOutputFields.Message=Procurando por campos de sa\u00EDda...
 SearchFieldsProgressDialog.Log.UnableToGetFields=N\u00E3o foi poss\u00EDvel obter campos para o transform [{0}] \: {1}
 EnterPreviewRowsDialog.Dialog.NoPreviewRowsFound.Message=Desculpe, durante a pr\u00E9-visualiza\u00E7\u00E3o n\u00E3o havia nenhuma linha para exibir para essa transforma\u00E7\u00E3o.
+AboutDialog.Advanced=Avançado - todas as propriedades do sistema e classpath
+AboutDialog.Button.Copied=Entendido.
+AboutDialog.Button.Copy=Entendido.
+AboutDialog.Button.Copy.Tooltip=Copie as informações do sistema para a área de transferência.
+AboutDialog.DevelopmentBuild=desenvolvimento de construção
+AboutDialog.Label.ConfigFolder=Pasta de configuração
+AboutDialog.Label.FileEncoding=Codificação de arquivos
+AboutDialog.Label.HopVersion=Versão Hop
+AboutDialog.Label.Java=Java
+AboutDialog.Label.JavaSpecification=Especificação Java
+AboutDialog.Label.Memory=Memória
+AboutDialog.Label.OperatingSystem=Sistema operacional.
+AboutDialog.Label.Processors=Processadores
+AboutDialog.Memory.NoLimit=Sem limite.
+AboutDialog.SystemInformation=Informação do sistema.
+NotePadDialog.Markdown.Label=Renda como Markdown
+NotePadDialog.Markdown.Tooltip=Quando habilitado, o corpo da nota é CommonMark/GFM Markdown. Cores e fontes são escolhidas pelo tipo de nota para um olhar consistente.
+NotePadDialog.Markdown.Hint=Sintaxe\: # cabeçalho, ** negrito**, *itálico*, 'código', - listas, [rótulo] (url ou .hpl/.hwf),!
+NotePadDialog.Markdown.Preview.Button=Visualização
+NotePadDialog.Markdown.Preview.Tooltip=Abra uma pré-visualização HTML deste Markdown (as mesmas regras CommonMark/GFM como a tela)
+NotePadDialog.Markdown.Preview.Title=Anote a visualização do Markdown.
+NotePadDialog.Markdown.Preview.Error.Title=Previsão de marcação
+NotePadDialog.Markdown.Preview.Error.Message=Não foi possível gerar ou exibir a visualização do Markdown.
+NotePadDialog.Help.Button=Socorro!
+NotePadDialog.Markdown.Help.Title=Notas de marcação ajudam.
+NotePadDialog.Markdown.Help.Tooltip=Aprenda sintaxe Markdown e o que é suportado em notas de lona Hop
+NotePadDialog.NoteType.Label=Tipo de nota
+NotePadDialog.NoteType.Tooltip=Tipo semântico que seleciona as cores da nota e ícone de sotaque (modo de marcação somente)
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_pt_BR.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_pt_BR.properties
index b844842039..a4d98361f4 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_pt_BR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_pt_BR.properties
@@ -330,3 +330,44 @@ HopGui.LayoutCheck.Dialog.ReplaceDummyTitle=Substituir Transformação
 HopGui.LayoutCheck.Dialog.ReplaceDummyMessage=Você quer substituir essa transformação fictícia por uma transformação de "fusão de esquema de fluxo"?
 HopGui.LayoutCheck.Dialog.StreamSchemaPluginNotFound=Extensão de fusão de esquema de fluxo não encontrada.
 HopGui.LayoutCheck.Dialog.ReplaceDummyError=Erro ao substituir transformação fictícia por fusão de esquema de fluxo
+HopGui.Menu.File.LogOff=Log &off...
+HopGui.Toolbar.User.Tooltip=Assinado como {0}
+HopGui.Toolbar.User.TooltipWithRoles=Assinado como:
+HopGui.Toolbar.User.TooltipDowngraded=Assinado como Privilégios de sessão:
+HopGui.Toolbar.Privilege.Tooltip=Privilégios de sessão temporariamente inferiores (por exemplo, somente leitura para explorar um projeto). Não eleva os direitos. Restaure acesso total a qualquer hora sem re-login.
+HopGui.Toolbar.Privilege.Full=Acesso total.
+HopGui.Toolbar.Privilege.Role.ADMIN=Administrador.
+HopGui.Toolbar.Privilege.Role.USER=Usuário
+HopGui.Toolbar.Privilege.Role.OPERATOR=Telefonista
+HopGui.Toolbar.Privilege.Role.READ_ONLY=Apenas leitura
+HopGui.LogOff.Desktop.Title=Desligar.
+HopGui.LogOff.Desktop.Message=O desligamento só está disponível na Hop Web. No aplicativo de desktop, feche Hop para terminar sua sessão.
+LogBrowser.Filter.Text.Label=Filtrar texto\:
+LogBrowser.Filter.Text.Tooltip=Filtrar linhas de registro. Sem destaque ou exclusão, apenas as linhas correspondentes permanecem. Destaque mostra todas as linhas com partidas marcadas. Excluir esconde linhas correspondentes.
+LogBrowser.Filter.Highlight.Label=Destaque
+LogBrowser.Filter.Highlight.Tooltip=Mostrar todas as linhas de registro e realce correspondentes para o texto do filtro
+LogBrowser.Filter.CaseSensitive.Label=Coincidência.
+LogBrowser.Filter.CaseSensitive.Tooltip=Combine o texto do filtro com a sensibilidade da caixa.
+LogBrowser.Filter.Exclude.Label=Excluir
+LogBrowser.Filter.Exclude.Tooltip=Esconder linhas de log que correspondam ao texto do filtro (excluir da vista do log)
+PipelineGraph.ExecutionResultsPanel.DetachButton.Tooltip=Desanexe o painel de resultados de execução em uma janela flutuante.
+PipelineGraph.ExecutionResultsPanel.DockButton.Tooltip=Acoplar o painel de resultados de execução de volta para o conduto
+PipelineGraph.ExecutionResultsPanel.Window.Title=Resultados de execução - {0}
+ContentEditorWidget.Menu.Copy=Entendido.
+ContentEditorWidget.Menu.Cut=Corta.
+ContentEditorWidget.Menu.Find=Encontrem-no.
+ContentEditorWidget.Menu.FindReplace=Encontrar/SubstituirCtrl+H
+ContentEditorWidget.Menu.Paste=Colar
+ContentEditorWidget.Menu.Redo=Refazer
+ContentEditorWidget.Menu.SelectAll=Selecionar tudo
+ContentEditorWidget.Menu.UnselectAll=Limpar seleção
+ContentEditorWidget.Menu.Undo=Desfazer
+ContentEditorWidget.ToolBar.SelectAll.Tooltip=Selecione todo o texto
+ContentEditorWidget.ToolBar.UnselectAll.Tooltip=Limpar seleção
+ContentEditorWidget.ToolBar.Copy.Tooltip=Copiar texto selecionado para a área de transferência
+ContentEditorWidget.ToolBar.Cut.Tooltip=Cortar texto selecionado para a área de transferência
+ContentEditorWidget.ToolBar.Paste.Tooltip=Colar texto da área de transferência
+ContentEditorWidget.ToolBar.Undo.Tooltip=Desfaça a última ação
+ContentEditorWidget.ToolBar.Redo.Tooltip=Refazer a última ação.
+ContentEditorWidget.ToolBar.Find.Tooltip=Encontrar texto
+ContentEditorWidget.ToolBar.Replace.Tooltip=Substituir texto
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/execution/messages/messages_pt_BR.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/execution/messages/messages_pt_BR.properties
index 1d3042d743..363a4c4d08 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/execution/messages/messages_pt_BR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/execution/messages/messages_pt_BR.properties
@@ -37,7 +37,7 @@ ExecutionPerspective.Description=Mostra informações sobre a execução de cond
 ExecutionPerspective.Refresh.Error.Message=Houve um erro que refrescou as informações de execução:
 ExecutionViewer.GuiAction.ZoomFitToScreen.Tooltip=Zoom para caber na tela
 PipelineExecutionViewer.Name=Visualizador de execução pipeline
-PipelineExecutionViewer.ToolbarElement.DrillDown.Tooltip=Perfurar na transformada selecionada: conduto ou fluxo de trabalho de referência aberto
+PipelineExecutionViewer.ToolbarElement.DrillDown.Tooltip=Perfurar na transformação selecionada: conduto ou fluxo de trabalho de referência aberto
 PipelineExecutionViewer.ToolbarElement.GoUp.Tooltip=Vá para a execução dos pais
 PipelineExecutionViewer.ToolbarElement.ViewExecutor.Tooltip=Veja este conduto executado na perspectiva da orquestração de dados.
 PipelineExecutionViewer.ToolbarElement.ViewMetadata.Tooltip=Veja os metadados usados ao executar este conduto.
@@ -70,3 +70,12 @@ ExecutionPerspective.LastPeriod.TwoWeeks=2w
 ExecutionPerspective.LastPeriod.OneMonth=1M
 ExecutionPerspective.LastPeriod.TwoMonths=2M
 ExecutionPerspective.LastPeriod.ThreeMonths=3M
+ExecutionPerspective.Tree.ConfigureLocations=Por favor, configure um ou mais locais.
+ExecutionPerspective.Tree.ConfigureLocations.Tooltip=Clique duas vezes para criar uma localização de informações de execução.
+ExecutionPerspective.CreateLocation.Error.Message=Erro ao criar um novo local de informações de execução
+ExecutionPerspective.ToolbarElement.Copy.Tooltip=Copiar caminho ou ID para a área de transferência
+ExecutionPerspective.CopyMenu.Filename=Copiar caminho do nome do arquivo
+ExecutionPerspective.CopyMenu.RelativeFilename=Copiar o caminho relativo do nome do arquivo
+ExecutionPerspective.CopyMenu.StorageRoot=Copiar o caminho da raiz de armazenamento no disco
+ExecutionPerspective.CopyMenu.StoragePath=Copiar caminho de armazenamento no disco
+ExecutionPerspective.CopyMenu.Uuid=Entendido.
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_pt_BR.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_pt_BR.properties
index 952d3e5ed4..481e4fc066 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_pt_BR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_pt_BR.properties
@@ -84,3 +84,33 @@ MetadataPerspective.DeleteFolder.Title=Remover diret\u00F3rio
 MetadataPerspective.DeleteFolder.Confirm=Remover diret\u00F3rio "{0}"?
 MetadataPerspective.DeleteFolder.ConfirmWithItems=Remover diret\u00F3rio "{0}"?\n\n{1} itens que est\u00E3o dentro ser\u00E3o movidos para a pasta pai.
 MetadataPerspective.DeleteFolder.Error.Header=Erro
+MetadataPerspective.DeleteFolder.Error.Message=Erro ao excluir a pasta
+MetadataPerspective.ToolbarElement.ShowEmpty.Tooltip=Mostrar tipos e categorias vazios
+MetadataPerspective.ToolbarElement.HideEmpty.Tooltip=Esconda tipos e categorias vazios.
+MetadataPerspective.Search.ResultCount={0} resultado(s)
+MetadataPerspective.Category.Connections=Conexões
+MetadataPerspective.Category.FileStorage=Armazenamento de arquivos
+MetadataPerspective.Category.Servers=Servidores e Web Services
+MetadataPerspective.Category.Execution=Execução e Monitoramento
+MetadataPerspective.Category.Logging=Registrando e sondas
+MetadataPerspective.Category.RunConfig=Executar configurações
+MetadataPerspective.Category.Testing=Testando.
+MetadataPerspective.Category.DataDefinition=Definição de Dados
+MetadataPerspective.Category.Variables=Variáveis
+MetadataPerspective.Category.Other=Outro
+MetadataPerspective.Overview.Title=Metadados
+MetadataPerspective.Overview.Subtitle=Selecione um tipo para criar um novo item, ou escolha um item existente na árvore à esquerda.
+MetadataPerspective.Overview.New.Button=Novo
+MetadataPerspective.Category.Unknown.Label=Desconhecido
+MetadataPerspective.Menu.OpenFile=Abra o arquivo JSON.
+MetadataPerspective.Menu.ShowDetails=Mostre detalhes.
+MetadataPerspective.Unknown.NoPluginForType=Não há nenhum plugin instalado que lida com metadados tipo '' {0}''.
+MetadataPerspective.UnknownDetails.Title=Metadados desconhecidos: {0}
+MetadataPerspective.UnknownDetails.Message=O elemento metadados não pode ser carregado e ignorado. Isso geralmente significa que um plugin está faltando.
+MetadataPerspective.UnknownDetails.File=Arquivo:
+MetadataPerspective.UnknownDetails.Error=Razão:
+MetadataPerspective.DeleteUnknownMetadata.Confirm=Tem certeza que quer apagar ''0}'? Isso remove o arquivo do projeto.
+MetadataPerspective.DeleteUnknownMetadata.Error.Message=Erro ao apagar o arquivo {0}
+MetadataPerspective.OpenFile.NotFound.Header=Arquivo não encontrado
+MetadataPerspective.OpenFile.NotFound.Message=O arquivo JSON do elemento metadados não foi encontrado. Pode ser armazenado em outro lugar além de uma pasta de metadados.
+MetadataPerspective.OpenFile.Error.Message=Erro ao abrir o arquivo {0}