You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2022/02/27 10:19:30 UTC

[hop] branch master updated: i18n for zh_CN

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 0206f5f  i18n for zh_CN
     new 060c4b5  Merge pull request #1400 from shlxue/master
0206f5f is described below

commit 0206f5f834826cd13f570e6203bfb08b8c2cce4a
Author: Shl Xue <xu...@gmail.com>
AuthorDate: Sat Feb 26 01:02:46 2022 +0800

    i18n for zh_CN
---
 .../database/messages/messages_zh_CN.properties    |   69 +-
 .../logging/messages/messages_zh_CN.properties     |   16 +-
 .../hop/core/messages/messages_zh_CN.properties    |    6 +-
 .../plugins/messages/messages_zh_CN.properties     |   22 +-
 .../core/util/messages/messages_zh_CN.properties   |   11 +-
 .../messages/messages_zh_CN.properties             |    4 +-
 .../hop/i18n/messages/messages_zh_CN.properties    |  112 +-
 .../core/impl}/messages/messages_zh_CN.properties  |    8 +-
 .../auth/core}/messages/messages_zh_CN.properties  |    6 +-
 .../core/auth}/messages/messages_zh_CN.properties  |    4 +-
 .../core/undo/messages/messages_zh_CN.properties   |   12 +-
 .../pipeline/messages/messages_zh_CN.properties    |  449 ++++---
 .../messages/messages_zh_CN.properties             |   16 +-
 .../transform/messages/messages_zh_CN.properties   |  192 +--
 .../dummy/messages/messages_zh_CN.properties       |   17 +-
 .../file}/messages/messages_zh_CN.properties       |    8 +-
 .../injector/messages/messages_zh_CN.properties    |   27 +-
 .../missing}/messages/messages_zh_CN.properties    |    4 +-
 .../resource/messages/messages_zh_CN.properties    |   24 +
 .../hop/server/messages/messages_zh_CN.properties  |   21 +-
 .../config/messages/messages_zh_CN.properties      |   47 +
 .../dummy}/messages/messages_zh_CN.properties      |   10 +-
 .../start/messages/messages_zh_CN.properties       |   42 +-
 .../workflow/messages/messages_zh_CN.properties    |  141 +-
 .../hop/www/messages/messages_zh_CN.properties     |  138 +-
 .../hop/git/messages/messages_zh_CN.properties     |   45 +
 .../git/model}/messages/messages_zh_CN.properties  |    6 +-
 .../gui}/messages/messages_zh_CN.properties        |    4 +-
 .../kettle/messages/messages_zh_CN.properties      |   34 +
 .../config/messages/messages_zh_CN.properties      |   32 +
 .../environment/messages/messages_zh_CN.properties |   34 +
 .../gui/messages/messages_zh_CN.properties         |   76 ++
 .../project/messages/messages_zh_CN.properties     |   48 +
 .../meta}/messages/messages_zh_CN.properties       |   13 +-
 .../transform}/messages/messages_zh_CN.properties  |   11 +-
 .../probe/meta}/messages/messages_zh_CN.properties |   11 +-
 .../transform}/messages/messages_zh_CN.properties  |   10 +-
 .../meta}/messages/messages_zh_CN.properties       |    4 +-
 .../meta}/messages/messages_zh_CN.properties       |   13 +-
 .../transform}/messages/messages_zh_CN.properties  |   11 +-
 .../runtests}/messages/messages_zh_CN.properties   |    9 +-
 .../testing/gui/messages/messages_zh_CN.properties |  100 ++
 .../testing}/messages/messages_zh_CN.properties    |   11 +-
 .../exectests/messages/messages_zh_CN.properties   |   30 +
 .../util/messages/messages_zh_CN.properties        |   10 +-
 .../testing/xp}/messages/messages_zh_CN.properties |    5 +-
 .../ui/testing/messages/messages_zh_CN.properties  |   62 +
 .../dialog/messages/messages_zh_CN.properties      |  136 +-
 .../database/messages/messages_zh_CN.properties    |  167 +--
 .../wizard/messages/messages_zh_CN.properties      |  108 +-
 .../core/dialog/messages/messages_zh_CN.properties |  416 +++---
 .../metadata}/messages/messages_zh_CN.properties   |   11 +-
 .../ui/core/vfs/messages/messages_zh_CN.properties |   63 +
 .../core/widget/messages/messages_zh_CN.properties |  164 +--
 .../metadata}/messages/messages_zh_CN.properties   |    7 +-
 .../delegates}/messages/messages_zh_CN.properties  |    8 +-
 .../dialog/messages/messages_zh_CN.properties      |   82 +-
 .../file}/messages/messages_zh_CN.properties       |    4 +-
 .../context}/messages/messages_zh_CN.properties    |    7 +-
 .../pipeline/messages/messages_zh_CN.properties    |   96 ++
 .../context}/messages/messages_zh_CN.properties    |    7 +-
 .../delegates}/messages/messages_zh_CN.properties  |   18 +-
 .../workflow/messages/messages_zh_CN.properties    | 1390 +++++++++++---------
 .../ui/hopgui/messages/messages_zh_CN.properties   | 1317 ++++++++++---------
 .../dataorch}/messages/messages_zh_CN.properties   |   10 +-
 .../explorer/messages/messages_zh_CN.properties    |   42 +
 .../metadata/messages/messages_zh_CN.properties    |   33 +
 .../messages/messages_zh_CN.properties             |   10 +-
 .../search/messages/messages_zh_CN.properties      |   35 +
 .../wizards/messages/messages_zh_CN.properties     |   34 +-
 .../i18n/editor/messages/messages_zh_CN.properties |   56 +
 .../partition/messages/messages_zh_CN.properties   |   20 +-
 .../debug/messages/messages_zh_CN.properties       |   16 +-
 .../dialog/messages/messages_zh_CN.properties      |  339 ++---
 .../common/messages/messages_zh_CN.properties      |   42 +
 .../missing/messages/messages_zh_CN.properties     |   25 +
 .../ui/server/messages/messages_zh_CN.properties   |   48 +-
 .../actions/messages/messages_zh_CN.properties     |   96 +-
 .../missing}/messages/messages_zh_CN.properties    |   15 +-
 .../config/messages/messages_zh_CN.properties      |   34 +
 .../dialog/messages/messages_zh_CN.properties      |  172 +--
 .../service}/messages/messages_zh_CN.properties    |   13 +-
 82 files changed, 4275 insertions(+), 2751 deletions(-)

diff --git a/core/src/main/resources/org/apache/hop/core/database/messages/messages_zh_CN.properties b/core/src/main/resources/org/apache/hop/core/database/messages/messages_zh_CN.properties
index 39e527d..c555def 100644
--- a/core/src/main/resources/org/apache/hop/core/database/messages/messages_zh_CN.properties
+++ b/core/src/main/resources/org/apache/hop/core/database/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,39 +14,49 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.core.database' in locale 'zh_CN'
 #
 #
-Database.UnableToLoadConnectionPoolDriver.Exception=\u4E0D\u80FD\u4E3A\u8FDE\u63A5\u6C60 [{0}] \u548C\u7C7B [{1}] \u52A0\u8F7D\u9A71\u52A8
-Database.CreatingConnectionPool=\u4E3A''{0}''\u521B\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u6C60...
-Database.Exception.UnableToSetSavepointName=\u65E0\u6CD5\u8BBE\u7F6E\u540D\u79F0\u4E3A''{0}''\u7684\u4E8B\u52A1\u4FDD\u5B58\u70B9
-DatabaseMeta.Error.UnexpectedError=\u83B7\u53D6\u6570\u636E\u5E93\u6A21\u5F0F\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
-DatabaseMeta.Error.UnexpectedCatalogError=\u83B7\u53D6\u6570\u636E\u5E93\u76EE\u5F55\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
-DatabaseMeta.Info.ClosingDbConnection=\u5173\u95ED\u6570\u636E\u5E93\u8FDE\u63A5
-DatabaseMeta.report.ConnectionOk=\u6B63\u786E\u8FDE\u63A5\u5230\u6570\u636E\u5E93[{0}] 
-Database.UnableToCheckIfConnectionPoolExists.Exception=\u68C0\u67E5\u8FDE\u63A5\u6C60\u662F\u5426\u88AB\u6CE8\u518C\u65F6\u53D1\u751F\u9519\u8BEF.
-DatabaseMeta.report.ConnectionWithPartOk=\u6B63\u786E\u8FDE\u63A5\u5206\u533AID\u4E3A[{1}]\u7684\u6570\u636E\u5E93[{0}]
-Database.Exception.UnableToReleaseSavepoint=\u65E0\u6CD5\u91CA\u653E\u4E8B\u52A1\u4FDD\u5B58\u70B9
-Database.Exception.UnableToRollbackToSavepoint=\u65E0\u6CD5\u56DE\u6EDA\u5230\u4E8B\u52A1\u4FDD\u5B58\u70B9
-DatabaseMeta.report.ConnectionError=\u9519\u8BEF\u8FDE\u63A5\u6570\u636E\u5E93 [{0}] \: 
+DatabaseMeta.report.Hostname=\u4E3B\u673A\u540D\: 
+DatabaseMeta.Info.GettingProcedures=\u83B7\u53D6\u5B58\u50A8\u8FC7\u7A0B...
 DatabaseMeta.Info.ConnectingDb=\u8FDE\u63A5\u5230\u6570\u636E\u5E93
-DatabaseMeta.report.Port=\u7AEF\u53E3           \: 
+DatabaseMeta.Info.GettingMetaData=\u83B7\u53D6\u6570\u636E\u5E93\u5143\u4FE1\u606F
+Database.CreatedConnectionPool=\u4E3A "{0}" \u521B\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\u6210\u529F
+GenericDatabaseMeta.report.customDriverClass=\u81EA\u5B9A\u4E49\u9A71\u52A8\u7A0B\u5E8F\u7C7B\:
+Database.UnableToPreLoadConnectionToConnectionPool.Exception=\u4E0D\u80FD\u4E3A\u8FDE\u63A5\u6C60\u9884\u52A0\u8F7D\u8FDE\u63A5
+Database.CreatingConnectionPool=\u4E3A "{0}" \u521B\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u6C60...
 Database.Exception.UnableToSetSavepoint=\u65E0\u6CD5\u8BBE\u7F6E\u4E8B\u52A1\u7684\u4FDD\u5B58\u70B9
-DatabaseMeta.report.Hostname=\u4E3B\u673A\u540D       \: 
-DatabaseMeta.Info.GettingTables=\u83B7\u53D6\u8868
-DatabaseUtil.DSNotFound=\u65E0\u6548\u7684\u6570\u636E\u6E90\:''{0}''
-GenericDatabaseMeta.report.customDriverClass=\u81EA\u5B9A\u4E49\u9A71\u52A8\u7A0B\u5E8F\u7C7B       \:
+Database.Exception.UnableToRollbackToSavepoint=\u65E0\u6CD5\u56DE\u6EDA\u5230\u4E8B\u52A1\u4FDD\u5B58\u70B9
+DatabaseMeta.report.ConnectionOk=\u6B63\u786E\u8FDE\u63A5\u5230\u6570\u636E\u5E93[{0}] 
+DatabaseMeta.Info.ClosingDbConnection=\u5173\u95ED\u6570\u636E\u5E93\u8FDE\u63A5
+Database.Exception.EmptyConnectionError=\u8FDE\u63A5\u6570\u636E\u5E93 [{0}] \u65F6\u51FA\u9519
+DatabaseMeta.Info.GettingInfoFromDb=\u6B63\u5728\u4ECE\u6570\u636E\u5E93\u8BFB\u53D6\u4FE1\u606F...
+DatabaseMeta.report.ConnectionWithPartError=\u9519\u8BEF\u8FDE\u63A5\u5206\u533AID\u4E3A[{1}]\u7684\u6570\u636E\u5E93[{0}]\: {2}
+DatabaseMeta.report.ConnectionError=\u9519\u8BEF\u8FDE\u63A5\u6570\u636E\u5E93 [{0}]\: 
+Database.Exception.UnableToGetMetadata=\u65E0\u6CD5\u4ECE\u8BE5\u6570\u636E\u5E93\u83B7\u53D6\u5176\u5143\u6570\u636E
+DatabaseMeta.report.DatabaseName=\u6570\u636E\u5E93\u540D\:
+DatabaseMeta.Info.GettingInfo=\u83B7\u53D6\u76EE\u5F55\u4FE1\u606F
 DatabaseMeta.Info.GettingViews=\u83B7\u53D6\u89C6\u56FE
+DatabaseMeta.Error.UnexpectedCatalogError=\u83B7\u53D6\u6570\u636E\u5E93\u76EE\u5F55\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
+DatabaseMeta.BadConnectionName=\u8BF7\u4E3A\u8BE5\u6570\u636E\u5E93\u8FDE\u63A5\u547D\u540D
+DatabaseMeta.BadDatabaseName=\u8BF7\u6307\u5B9A\u8FD9\u4E2A\u6570\u636E\u5E93\u7684\u540D\u79F0
+Database.UnableToCheckIfConnectionPoolExists.Exception=\u68C0\u67E5\u8FDE\u63A5\u6C60\u662F\u5426\u88AB\u6CE8\u518C\u65F6\u53D1\u751F\u9519\u8BEF\u3002
+Database.Exception.UnableToEnableAutoCommit=\u65E0\u6CD5\u6253\u5F00\u6570\u636E\u5E93\u8FDE\u63A5"{0}"\u4E0A\u7684\u81EA\u52A8\u63D0\u4EA4
+Database.UnableToLoadConnectionPoolDriver.Exception=\u4E0D\u80FD\u4E3A\u8FDE\u63A5\u6C60 [{0}] \u548C\u7C7B [{1}] \u52A0\u8F7D\u9A71\u52A8
+Database.Exception.UnableToSetSavepointName=\u65E0\u6CD5\u8BBE\u7F6E\u540D\u79F0\u4E3A"{0}"\u7684\u4E8B\u52A1\u4FDD\u5B58\u70B9
+DatabaseMeta.Info.GettingTables=\u83B7\u53D6\u8868
+DatabaseMeta.Error.DatabaseInterfaceNotFound=\u672A\u627E\u5230\u6570\u636E\u5E93\u63A5\u53E3 {0}
 DatabaseMeta.Info.GettingSynonyms=\u83B7\u53D6\u6570\u636E\u5E93\u5BF9\u8C61\u7684\u522B\u540D
-DatabaseMeta.Info.GettingInfo=\u83B7\u53D6\u76EE\u5F55\u4FE1\u606F
-Database.UnableToPreLoadConnectionToConnectionPool.Exception=\u4E0D\u80FD\u4E3A\u8FDE\u63A5\u6C60\u9884\u52A0\u8F7D\u8FDE\u63A5
-GenericDatabaseMeta.report.customUrl=\u81EA\u5B9A\u4E49\u7F51\u5740       \:
-DatabaseMeta.report.DatabaseName=\u6570\u636E\u5E93\u540D\:
-BaseDatabaseMeta.TestConnectionReportNotImplemented.Message=\u5BF9\u4E0D\u8D77,\u4E0D\u80FD\u4E3A\u8BE5\u6570\u636E\u5E93\u521B\u5EFA\u6D4B\u8BD5\u62A5\u544A.
-DatabaseMeta.Error.UnableRetrieveDbInfo=\u56E0\u4E3A\u9519\u8BEF\u4E0D\u80FD\u63D0\u53D6\u6570\u636E\u5E93\u4FE1\u606F
-Database.Exception.UnableToDisableAutoCommit=\u65E0\u6CD5\u5173\u95ED\u6570\u636E\u5E93\u8FDE\u63A5''{0}''\u4E0A\u7684\u81EA\u52A8\u63D0\u4EA4\u3002
-DatabaseMeta.Info.GettingMetaData=\u83B7\u53D6\u6570\u636E\u5E93\u5143\u4FE1\u606F
-Database.CreatedConnectionPool=\u4E3A''{0}''\u521B\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\u6210\u529F
-DatabaseMeta.report.ConnectionWithPartError=\u9519\u8BEF\u8FDE\u63A5\u5206\u533AID\u4E3A[{1}]\u7684\u6570\u636E\u5E93[{0}]\: {2}
-Database.Exception.UnableToEnableAutoCommit=\u65E0\u6CD5\u6253\u5F00\u6570\u636E\u5E93\u8FDE\u63A5''{0}''\u4E0A\u7684\u81EA\u52A8\u63D0\u4EA4
-DatabaseMeta.Info.GettingInfoFromDb=\u6B63\u5728\u4ECE\u6570\u636E\u5E93\u8BFB\u53D6\u4FE1\u606F...
+BaseDatabaseMeta.TestConnectionReportNotImplemented.Message=\u62B1\u6B49,\u4E0D\u80FD\u4E3A\u8BE5\u6570\u636E\u5E93\u521B\u5EFA\u6D4B\u8BD5\u62A5\u544A\u3002
+DatabaseMeta.report.Port=\u7AEF\u53E3\: 
+DatabaseMeta.report.ConnectionWithPartOk=\u6B63\u786E\u8FDE\u63A5\u5206\u533AID\u4E3A[{1}]\u7684\u6570\u636E\u5E93[{0}]
+Database.Exception.ErrorClosingCallableStatement=\u65E0\u6CD5\u5173\u95ED callable statement
 DatabaseMeta.Info.GettingSchemaInfo=\u83B7\u53D6\u6A21\u5F0F\u4FE1\u606F
+DatabaseUtil.DSNotFound=\u65E0\u6548\u7684\u6570\u636E\u6E90\: "{0}"
+DatabaseMeta.Error.UnexpectedError=\u83B7\u53D6\u6570\u636E\u5E93\u6A21\u5F0F\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
+GenericDatabaseMeta.report.customUrl=\u81EA\u5B9A\u4E49\u7F51\u5740\:
+DatabaseMeta.BadInterface=\u672A\u9009\u62E9\u6570\u636E\u5E93\u7C7B\u578B
+Database.Exception.UnableToFindClassMissingDriver=\u65E0\u6CD5\u627E\u5230 JDBC \u9A71\u52A8\u7C7B "{0}"\uFF0C\u8BF7\u786E\u8BA4\u5DF2\u7ECF\u5B89\u88C5 "{1}" \u9A71\u52A8(jar \u6587\u4EF6)
+Database.Exception.UnableToReleaseSavepoint=\u65E0\u6CD5\u91CA\u653E\u4E8B\u52A1\u4FDD\u5B58\u70B9
+Database.Exception.UnableToDisableAutoCommit=\u65E0\u6CD5\u5173\u95ED\u6570\u636E\u5E93\u8FDE\u63A5 "{0}" \u4E0A\u7684\u81EA\u52A8\u63D0\u4EA4\u3002
+DatabaseMeta.Error.UnableRetrieveDbInfo=\u56E0\u4E3A\u9519\u8BEF\u4E0D\u80FD\u63D0\u53D6\u6570\u636E\u5E93\u4FE1\u606F
diff --git a/core/src/main/resources/org/apache/hop/core/logging/messages/messages_zh_CN.properties b/core/src/main/resources/org/apache/hop/core/logging/messages/messages_zh_CN.properties
index 9d65e81..1313cb7 100644
--- a/core/src/main/resources/org/apache/hop/core/logging/messages/messages_zh_CN.properties
+++ b/core/src/main/resources/org/apache/hop/core/logging/messages/messages_zh_CN.properties
@@ -50,21 +50,21 @@ PerformanceLogTable.FieldName.SeqNr=\u7F16\u53F7
 PerformanceLogTable.FieldName.InputBufferRows=\u8F93\u5165\u7F13\u51B2\u533A
 JobLogTable.Type.Description=\u4F5C\u4E1A\u65E5\u5FD7\u8868
 JobLogTable.FieldName.Status=\u72B6\u6001
-PerformanceLogTable.FieldName.TransformName=\u6B65\u9AA4\u540D\u79F0
+PerformanceLogTable.FieldName.TransformName=Transform \u540D\u79F0
 ActionLogTable.FieldName.NrResultRows=\u7ED3\u679C\u8BB0\u5F55\u6570
 JobLogTable.FieldName.LogField=\u65E5\u5FD7\u5B57\u6BB5
 PerformanceLogTable.FieldName.LinesRejected=\u820D\u5F03
 PerformanceLogTable.FieldDescription.BatchID=\u6279\u6B21 ID
 ActionLogTable.FieldName.LogField=\u65E5\u5FD7\u5B57\u6BB5
-TransformLogTable.FieldName.PipelineName=\u8F6C\u6362\u540D\u79F0
+TransformLogTable.FieldName.PipelineName=Pipeline \u540D\u79F0
 ChannelLogTable.FieldName.ParentChannelId=\u7236\u901A\u9053 ID
 PipelineLogTable.FieldName.LogField=\u65E5\u5FD7\u5B57\u6BB5
-PipelineLogTable.FieldName.PipelineName=\u8F6C\u6362\u540D\u79F0
+PipelineLogTable.FieldName.PipelineName=Pipeline \u540D\u79F0
 JobLogTable.FieldName.ReplayDate=\u542F\u52A8\u65F6\u95F4
 ActionLogTable.FieldName.IdBatch=\u6279\u6B21 ID
 LogWriter.Level.Rowlevel.LongDesc=\u884C\u7EA7\u65E5\u5FD7(\u975E\u5E38\u8BE6\u7EC6)
 PipelineLogTable.FieldName.EndDateRange=\u7ED3\u675F\u65E5\u671F
-PipelineLogTable.Type.Description=\u8F6C\u6362\u65E5\u5FD7\u8868
+PipelineLogTable.Type.Description=Pipeline \u65E5\u5FD7\u8868
 JobLogTable.FieldName.StartDateRange=\u542F\u52A8\u65E5\u671F
 TransformLogTable.FieldName.LinesWritten=\u5199
 TransformLogTable.FieldName.LogField=\u65E5\u5FD7\u5B57\u6BB5
@@ -81,7 +81,7 @@ PipelineLogTable.FieldName.ReplayDate=\u542F\u52A8\u65F6\u95F4
 ActionLogTable.FieldName.ActionName=\u4F5C\u4E1A\u9879\u540D\u79F0
 JobLogTable.FieldName.Errors=\u9519\u8BEF
 ChannelLogTable.FieldName.Filename=\u6587\u4EF6\u540D
-PerformanceLogTable.FieldName.PipelineName=\u8F6C\u6362\u540D\u79F0
+PerformanceLogTable.FieldName.PipelineName=Pipeline \u540D\u79F0
 ActionLogTable.Type.Description=\u4F5C\u4E1A\u9879\u65E5\u5FD7\u8868
 TransformLogTable.FieldName.LinesRead=\u8BFB
 ActionLogTable.FieldName.CopyNr=\u590D\u5236\u884C
@@ -112,9 +112,9 @@ ChannelLogTable.FieldDescription.IdBatch=\u6279\u6B21 ID
 ChannelLogTable.Type.Description=\u65E5\u5FD7\u901A\u9053\u65E5\u5FD7\u8868
 TransformLogTable.FieldName.IdBatch=\u6279\u6B21 ID
 PerformanceLogTable.FieldName.LinesRead=\u8BFB
-TransformLogTable.FieldName.TransformName=\u6B65\u9AA4\u540D\u79F0
+TransformLogTable.FieldName.TransformName=Transform \u540D\u79F0
 ActionLogTable.FieldName.LinesInput=\u8F93\u5165
-PerformanceLogTable.Type.Description=\u6B65\u9AA4\u65E5\u5FD7\u8868
+PerformanceLogTable.Type.Description=Transform \u65E5\u5FD7\u8868
 ChannelLogTable.FieldName.ObjectRevision=\u4FEE\u8BA2
 ActionLogTable.FieldName.Errors=\u9519\u8BEF
 JobLogTable.FieldName.BatchID=\u6279\u6B21 ID
@@ -122,4 +122,4 @@ TransformLogTable.FieldName.LinesOutput=\u8F93\u51FA
 ChannelLogTable.FieldName.ObjectCopy=\u590D\u5236
 PerformanceLogTable.FieldName.LogDate=\u65E5\u5FD7\u65E5\u671F
 JobLogTable.FieldName.EndDateRange=\u7ED3\u675F\u65E5\u671F
-TransformLogTable.Type.Description=\u6B65\u9AA4\u65E5\u5FD7\u8868
+TransformLogTable.Type.Description=Transform \u65E5\u5FD7\u8868
diff --git a/core/src/main/resources/org/apache/hop/core/messages/messages_zh_CN.properties b/core/src/main/resources/org/apache/hop/core/messages/messages_zh_CN.properties
index a924fa2..9385b7c 100644
--- a/core/src/main/resources/org/apache/hop/core/messages/messages_zh_CN.properties
+++ b/core/src/main/resources/org/apache/hop/core/messages/messages_zh_CN.properties
@@ -35,7 +35,7 @@ CheckResult.Remark=\u6807\u8BB0
 HopGui.Log.SavePropertiesFailedWindowsBugAttr=\u56E0\u4E3A\u4F60\u5728\u4F7F\u7528 Windows \u800C\u4E14\u6587\u4EF6\u7684\u5C5E\u6027\u662F\u9690\u85CF(Java)
 ResultFile.FileType.Error=\u9519\u8BEF
 ResultFile.FileType.Warning=\u8B66\u544A
-SearchResult.TransformDatabaseNotice=\u6B65\u9AA4/\u6570\u636E\u5E93\u8FDE\u63A5/\u6CE8\u91CA
+SearchResult.TransformDatabaseNotice=Transform/\u6570\u636E\u5E93\u8FDE\u63A5/\u6CE8\u91CA
 Props.Hop.Properties.Sample.Line09=\# Note\: lines like these with a \# in front of it are comments
 Props.Hop.Properties.Sample.Line08=\#
 Props.Hop.Properties.Sample.Line07=\# DEVELOPMENT_SERVER \= thor
@@ -45,6 +45,6 @@ Props.Hop.Properties.Sample.Line04=\#
 Props.Hop.Properties.Sample.Line03=\# Here are a few examples of variables to set\: 
 SearchResult.String=\u5B57\u7B26\u4E32
 Props.Hop.Properties.Sample.Line02=\# 
-Props.Hop.Properties.Sample.Line01=\# This file was generated by Hop version {0}.
-SearchResult.PipelineOrWorkflow=\u8F6C\u6362/\u4F5C\u4E1A
+Props.Hop.Properties.Sample.Line01=\# This file was generated by Hop version {0}\u3002
+SearchResult.PipelineOrWorkflow=Pipeline/Workflow
 ResultFile.FileType.Log=\u65E5\u5FD7
diff --git a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties b/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
index eb95d6a..2ec7637 100644
--- a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
+++ b/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,6 +14,25 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.core.plugins' in locale 'zh_CN'
 #
 #
-HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B \: 
\ No newline at end of file
+PluginRegistry.Information.ClassName.Label=\u5B9E\u73B0\u7C7B
+PluginRegistry.Information.Description.Label=\u63CF\u8FF0
+PluginRegistry.Information.Name.Label=\u540D\u79F0
+PluginRegistry.Information.Keywords.Label=\u5173\u952E\u8BCD
+PluginRegistry.Information.Category.Label=\u7C7B\u522B
+PluginRegistry.RuntimeError.IllegalAccessToClass.PLUGINREGISTRY005=\u975E\u6CD5\u8BBF\u95EE\u7C7B
+PluginRegistry.RuntimeError.UnExpectedErrorLoadingClass.PLUGINREGISTRY007=\u52A0\u8F7D\u7C7B\u65F6\u610F\u5916\u9519\u8BEF\:
+PluginRegistry.RuntimeError.UnableToInstantiateClass.PLUGINREGISTRY004=\u65E0\u6CD5\u5B9E\u4F8B\u5316\u7C7B
+PluginRegistry.RuntimeError.NoValidClassRequested.PLUGINREGISTRY002=\u63D2\u4EF6 "{0}" \u65E0\u6CD5\u52A0\u8F7D\u7C7B {1}
+PluginRegistry.Information.ImageFile.Label=\u56FE\u6807\u6587\u4EF6
+PluginRegistry.RuntimeError.NoValidTransformOrPlugin.PLUGINREGISTRY001=\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u63D2\u4EF6
+PluginRegistry.RuntimeError.MalformedURL.PLUGINREGISTRY006=\u683C\u5F0F\u9519\u8BEF\u7684\u7F51\u5740
+PluginRegistry.Information.ID.Label=ID
+PluginRegistry.Information.Libraries.Label=jar \u6587\u4EF6
+PluginRegistry.Information.Type.Label=\u63D2\u4EF6\u7C7B\u578B
+HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B\: 
+PluginRegistry.RuntimeError.UnExpectedCreatingClassLoader.PLUGINREGISTRY008=\u521B\u5EFA class loader \u65F6\u51FA\u9519
+PluginRegistry.RuntimeError.ClassNotFound.PLUGINREGISTRY003=\u627E\u4E0D\u5230\u7C7B
+PluginRegistry.Information.DocumentationUrl.Label=\u6587\u6863\u7F51\u5740
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
index b11c537..2dcf321 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.core.util' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
+ActionPipeline.Log.ParentLogFolderNotExist=\u4E0A\u7EA7\u76EE\u5F55 {0} \u4E0D\u5B58\u5728
+ActionPipeline.Error.ChekingParentLogFolder=\u9519\u8BEF
+ActionPipeline.Log.ParentLogFolderCreated=\u4E0A\u7EA7\u76EE\u5F55 {0} \u5DF2\u521B\u5EFA
+UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address\u3002
+ActionPipeline.Log.ParentLogFolderExists=\u4E0A\u7EA7\u76EE\u5F55 {0} \u5B58\u5728
+ActionPipeline.Error.ChekingParentLogFolderTitle=\u68C0\u67E5\u4E0A\u7EA7\u76EE\u5F55 {0} \u65F6\u51FA\u9519
 UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID\u3002
diff --git a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties b/core/src/main/resources/org/apache/hop/core/vfs/messages/messages_zh_CN.properties
similarity index 80%
copy from core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
copy to core/src/main/resources/org/apache/hop/core/vfs/messages/messages_zh_CN.properties
index eb95d6a..38c7ad5 100644
--- a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
+++ b/core/src/main/resources/org/apache/hop/core/vfs/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,6 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.core.vfs' in locale 'zh_CN'
 #
 #
-HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B \: 
\ No newline at end of file
+HopVFS.Exception.ParentDirectoryDoesNotExist=\u4E0A\u7EA7\u76EE\u5F55 {0} \u4E0D\u5B58\u5728\uFF01
diff --git a/core/src/main/resources/org/apache/hop/i18n/messages/messages_zh_CN.properties b/core/src/main/resources/org/apache/hop/i18n/messages/messages_zh_CN.properties
index adecd91..40c6066 100644
--- a/core/src/main/resources/org/apache/hop/i18n/messages/messages_zh_CN.properties
+++ b/core/src/main/resources/org/apache/hop/i18n/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,65 +14,74 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.i18n' in locale 'zh_CN'
 #
 #
-System.Button.New=\u65B0\u5EFA
-System.Dialog.GetFieldsFailed.Message=\u56E0\u4E3A\u4E00\u4E2A\u9519\u8BEF\u65E0\u6CD5\u4ECE\u4EE5\u524D\u7684\u6B65\u9AA4\u91CC\u83B7\u53D6\u5B57\u6BB5
-System.Combo.No=\u5426
-System.Column.Group=\u5206\u7EC4
-System.Warning=\u8B66\u544A
+System.Help.Metadata.IsNotAvailable=\u5143\u6570\u636E "{0}" \u7684\u5E2E\u52A9\u4E0D\u53EF\u7528\u3002
+System.Button.Refresh=\u5237\u65B0(&R)
+System.DialogTitle.Error=\u9519\u8BEF
 System.Column.Format=\u683C\u5F0F
-System.Tooltip.BrowseForFile=\u6D4F\u89C8\u4E00\u4E2A\u6587\u4EF6
-System.Dialog.PreviewError.Message=\u5728\u9884\u89C8\u65F6\u53D1\u751F\u4E00\u4E2A\u4EE5\u4E0A\u7684\u9519\u8BEF\!  \u8BF7\u68C0\u67E5\u65E5\u5FD7\u6587\u4EF6\u6765\u4E86\u89E3\u9519\u8BEF\u8BE6\u7EC6\u4FE1\u606F.
-System.Column.Name=\u540D\u79F0
-System.Button.Test=\u6D4B\u8BD5(&T)
-System.Button.Preview=\ \u9884\u89C8(&P) 
-System.Button.Variable=\u53D8\u91CF(&V)...
-System.FileType.ZIPFiles=Zip \u6587\u4EF6
-System.FileType.TextFiles=\u6587\u672C\u6587\u4EF6
-System.Dialog.Error.Title=\u9519\u8BEF
-System.Dialog.EnterPreviewSize.Message=\u8F93\u5165\u4F60\u60F3\u9884\u89C8\u7684\u8BB0\u5F55\u884C\u6570\:
-System.Label.Extension=\u6269\u5C55\u540D 
-System.Button.Cancel=\  \u53D6\u6D88(&C)
-System.Label.Filename=\u6587\u4EF6\u540D
-System.Button.Edit=\u7F16\u8F91
-System.Button.SQL=\ &SQL  
-System.Button.GetFields=&\u83B7\u53D6\u5B57\u6BB5 
-System.Button.Details=\u7EC6\u8282(&D)
-System.Column.Value=\u503C
-MESSUTIL.ERROR_FORMAT_MASK=\u9519\u8BEF\u53F7\u662F[{0}]\u7684\u9519\u8BEF\u53D1\u751F\: [{1}]
-System.Column.Currency=\u8D27\u5E01\u7C7B\u578B
-System.FileType.CSVFiles=\u9017\u53F7\u5206\u9694\u503C\u7684\u6587\u4EF6
-System.Tooltip.VariableToDir=\u5728\u76EE\u5F55\u63D2\u5165\u4E00\u4E2A\u53D8\u91CF
+System.Button.Yes=\u662F
+System.Log.StartingToRun=\u5F00\u59CB\u8FD0\u884C...
+System.Button.Save=\u4FDD\u5B58(&S)
+System.Button.Show=\u663E\u793A(&S) 
+System.Column.Type=\u7C7B\u578B
 System.Dialog.EnterPreviewSize.Title=\u8F93\u5165\u9884\u89C8\u8BB0\u5F55\u6570
+System.Column.Currency=\u8D27\u5E01\u7C7B\u578B
+System.Tooltip.Browse=\u6D4F\u89C8\u6587\u4EF6\u5939\u548C\u6587\u4EF6...
+System.Button.Edit=\u7F16\u8F91
+System.Button.Test=\u6D4B\u8BD5(&T)
+System.Column.Name=\u540D\u79F0
 System.Dialog.SelectEnvironmentVar.Message=\u9009\u62E9\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF
-System.DialogTitle.Error=\u9519\u8BEF
-System.Button.Refresh=\  \u5237\u65B0(&R)
-System.FileType.ExcelFiles=Excel \u6587\u4EF6
-System.Dialog.PreviewError.Title=\u9519\u8BEF
+System.Help.Action.IsNotAvailable=Action {0} \u7684\u5E2E\u52A9\u4E0D\u53EF\u7528\u3002
+System.Tooltip.VariableToDir=\u5728\u76EE\u5F55\u63D2\u5165\u4E00\u4E2A\u53D8\u91CF
+System.FileType.XMLFiles=XML\u6587\u4EF6
+System.Tooltip.VariableToFileOrDir=\u63D2\u5165\u4E00\u4E2A\u53D8\u91CF\u5230\u6587\u4EF6\u540D\u6216\u76EE\u5F55
+System.Dialog.GetFieldsFailed.Message=\u56E0\u4E3A\u4E00\u4E2A\u9519\u8BEF\u65E0\u6CD5\u4ECE\u4EE5\u524D\u7684Transform \u91CC\u83B7\u53D6\u5B57\u6BB5
+System.Dialog.SelectEnvironmentVar.Title=\u9009\u62E9\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF
+System.Button.SQL=&SQL  
+System.Label.TransformName=Transform \u540D\u79F0 
+System.Button.Cancel=\u53D6\u6D88(&C)
+System.Tooltip.BrowseForFileOrDirAndAdd=\u6D4F\u89C8\u4E00\u4E2A\u6587\u4EF6\u6216\u76EE\u5F55\u5E76\u6DFB\u52A0\u5230\u5217\u8868\u91CC
+System.FileType.CSVFiles=\u9017\u53F7\u5206\u9694\u503C\u7684\u6587\u4EF6
+System.FileType.AllFiles=\u6240\u6709\u6587\u4EF6
+System.Tooltip.BrowseForDir=\u6D4F\u89C8\u4E00\u4E2A\u76EE\u5F55
+System.Button.Details=\u7EC6\u8282(&D)
 System.Combo.Yes=\u662F
-System.Label.TransformName=\u6B65\u9AA4\u540D\u79F0 
-System.Button.Show=\ \u663E\u793A(&S) 
+System.Button.New=\u65B0\u5EFA
+System.Help.Database.IsNotAvailable=\u6570\u636E\u5E93 {0} \u7684\u5E2E\u52A9\u4E0D\u53EF\u7528\u3002
+System.Button.Delete=\u5220\u9664
+System.Tooltip.Help=\u663E\u793A\u8BE6\u7EC6\u4FE1\u606F
+System.Warning=\u8B66\u544A
+System.Label.Extension=\u6269\u5C55\u540D 
+System.Button.Close=\u5173\u95ED(&C)
 System.Dialog.GetFieldsFailed.Title=\u83B7\u53D6\u5B57\u6BB5\u5931\u8D25
-System.Tooltip.Browse=\u6D4F\u89C8\u6587\u4EF6\u5939\u548C\u6587\u4EF6...
-System.Log.StartingToRun=\u5F00\u59CB\u8FD0\u884C...
-System.Button.Yes=\u662F
+System.Button.GetFields=\u83B7\u53D6\u5B57\u6BB5 
+MESSUTIL.ERROR_FORMAT_MASK=\u9519\u8BEF\u53F7\u662F[{0}]\u7684\u9519\u8BEF\u53D1\u751F\: [{1}]
+System.Tooltip.GetFields=\u5728\u4EE5\u524DTransform \u91CC\u83B7\u53D6\u5B57\u6BB5\u4F5C\u4E3A\u5B9A\u4E49\u3002
+System.Button.Variable=\u53D8\u91CF(&V)...
+System.Button.OK=\u786E\u5B9A(&O)  
+LineNr=\u884C\u53F7 {0}
+System.Dialog.Error.Title=\u9519\u8BEF
 System.Button.No=\u5426
-System.Log.UnexpectedError=Unexpected error
-System.Dialog.SelectEnvironmentVar.Title=\u9009\u62E9\u4E00\u4E2A\u73AF\u5883\u53D8\u91CF
-System.FileType.AllFiles=\u6240\u6709\u6587\u4EF6
-System.Button.Browse=\u6D4F\u89C8(&B)...
+System.Label.Filename=\u6587\u4EF6\u540D
+System.Dialog.PreviewError.Title=\u9519\u8BEF
+System.Combo.No=\u5426
+System.Deprecated=\u4E0D\u63A8\u8350\u7684
 System.Column.Decimal=\u5C0F\u6570
-System.Button.OK=\  \u786E\u5B9A(&O)  
+System.Column.Value=\u503C
+System.Log.UnexpectedError=Unexpected error
+System.Button.Help=\u5E2E\u52A9
+System.Column.Group=\u5206\u7EC4
 System.Column.Precision=\u7CBE\u5EA6
-System.Column.Type=\u7C7B\u578B
-System.Button.Delete=\u5220\u9664
-System.Tooltip.GetFields=\u5728\u4EE5\u524D\u6B65\u9AA4\u91CC\u83B7\u53D6\u5B57\u6BB5\u4F5C\u4E3A\u5B9A\u4E49.
-System.Tooltip.BrowseForDir=\u6D4F\u89C8\u4E00\u4E2A\u76EE\u5F55
+System.Button.Open=\u6253\u5F00(&O)
+System.Tooltip.BrowseForFile=\u6D4F\u89C8\u4E00\u4E2A\u6587\u4EF6
+System.Button.Preview=\u9884\u89C8(&P) 
+System.Dialog.PreviewError.Message=\u5728\u9884\u89C8\u65F6\u53D1\u751F\u4E00\u4E2A\u4EE5\u4E0A\u7684\u9519\u8BEF\uFF01  \u8BF7\u68C0\u67E5\u65E5\u5FD7\u6587\u4EF6\u6765\u4E86\u89E3\u9519\u8BEF\u8BE6\u7EC6\u4FE1\u606F\u3002
+System.FileType.TextFiles=\u6587\u672C\u6587\u4EF6
+System.Dialog.EnterPreviewSize.Message=\u8F93\u5165\u4F60\u60F3\u9884\u89C8\u7684\u8BB0\u5F55\u884C\u6570
 System.Column.Length=\u957F\u5EA6
-System.Button.Close=\ \u5173\u95ED(&C)
-System.Tooltip.BrowseForFileOrDirAndAdd=\u6D4F\u89C8\u4E00\u4E2A\u6587\u4EF6\u6216\u76EE\u5F55\u5E76\u6DFB\u52A0\u5230\u5217\u8868\u91CC
-System.FileType.XMLFiles=XML\u6587\u4EF6
-System.Tooltip.VariableToFileOrDir=\u63D2\u5165\u4E00\u4E2A\u53D8\u91CF\u5230\u6587\u4EF6\u540D\u6216\u76EE\u5F55
-LineNr=\u884c\u53f7 {0}
-System.Deprecated=\u4E0D\u63A8\u8350\u7684
\ No newline at end of file
+System.Button.Browse=\u6D4F\u89C8(&B)...
+System.Help.Transform.IsNotAvailable=Transform {0} \u7684\u5E2E\u52A9\u4E0D\u53EF\u7528\u3002
+System.FileType.ZIPFiles=Zip \u6587\u4EF6
+System.FileType.ExcelFiles=Excel \u6587\u4EF6
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/core/auth/core/impl/messages/messages_zh_CN.properties
similarity index 58%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to engine/src/main/resources/org/apache/hop/core/auth/core/impl/messages/messages_zh_CN.properties
index b11c537..d55f915 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/core/auth/core/impl/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.core.auth.core.impl' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+DefaultAuthenticationConsumerFactory.Consume=\u65E0\u6CD5\u5728 {0} \u4E0A\u627E\u53EA\u6709 1 \u4E2A\u53C2\u6570\u7684 consume \u65B9\u6CD5\u3002
+DefaultAuthenticationConsumerFactory.Constructor={0} \u8981\u6C42 {1} \u6709\u4E00\u4E2A\u4E14\u53EA\u6709\u4E00\u4E2A\u6784\u9020\u51FD\u6570\u3002
+DefaultAuthenticationConsumerFactory.Constructor.Arg={0} \u8981\u6C42 {1} \u6709\u4E00\u4E2A\u4E14\u53EA\u6709\u4E00\u4E2A\u6784\u9020\u51FD\u6570\u53C2\u6570\u3002
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/core/auth/core/messages/messages_zh_CN.properties
similarity index 70%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to engine/src/main/resources/org/apache/hop/core/auth/core/messages/messages_zh_CN.properties
index b11c537..c061e33 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/core/auth/core/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.core.auth.core' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+AuthenticationManager.ConsumedTypeError=\u65E0\u6CD5\u6CE8\u518C\u8EAB\u4EFD\u8BA4\u8BC1 factory \u7C7B\: {0}\uFF0C\u56E0\u4E3A\u5176\u4F7F\u7528\u7684\u7C7B\u578B\u6CA1\u6709\u5B9E\u73B0\u8EAB\u4EFD\u9A8C\u8BC1\u9A71\u52A8\u63A5\u53E3
diff --git a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/core/auth/messages/messages_zh_CN.properties
similarity index 76%
copy from core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
copy to engine/src/main/resources/org/apache/hop/core/auth/messages/messages_zh_CN.properties
index eb95d6a..0f7b46c 100644
--- a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/core/auth/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,6 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.core.auth' in locale 'zh_CN'
 #
 #
-HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B \: 
\ No newline at end of file
+AuthenticationPersistenceManager.NotConsumerType=\u63D2\u4EF6\u5B9E\u73B0\u7C7B {0} \u7684\u7C7B\u578B\u4E0D\u6B63\u786E\uFF0C\u5E94\u8BE5\u5B9E\u73B0 {1}
diff --git a/engine/src/main/resources/org/apache/hop/core/undo/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/core/undo/messages/messages_zh_CN.properties
index fb24e51..feee28a 100644
--- a/engine/src/main/resources/org/apache/hop/core/undo/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/core/undo/messages/messages_zh_CN.properties
@@ -28,9 +28,9 @@ TransAction.label.DeleteRelationship=\u5220\u9664\u5173\u7CFB
 TransAction.label.DeleteHop=\u5220\u9664\u8282\u70B9\u8FDE\u63A5
 TransAction.label.ChangeRelationship=\u6539\u53D8\u5173\u7CFB
 TransAction.label.NewRelationship=\u65B0\u5173\u7CFB
-TransAction.label.DeleteTransform=\u5220\u9664\u6B65\u9AA4
+TransAction.label.DeleteTransform=\u5220\u9664 Transform
 TransAction.label.NewConnection=\u65B0\u6570\u636E\u5E93\u8FDE\u63A5
-TransAction.label.ChangeWorkflowHop=\u6539\u53D8\u4F5C\u4E1A\u8282\u70B9\u8FDE\u63A5
+TransAction.label.ChangeWorkflowHop=\u6539\u53D8 Workflow \u8282\u70B9\u8FDE\u63A5
 TransAction.label.NewTableRow=\u65B0\u8868\u7684\u884C
 TransAction.label.DeleteTableRow=\u5220\u9664\u8868\u7684\u884C
 TransAction.label.ChangeNote=\u6539\u53D8\u6CE8\u91CA
@@ -38,14 +38,14 @@ TransAction.label.ChangeTableRow=\u6539\u53D8\u8868\u7684\u884C
 TransAction.label.NewTable=\u65B0\u8868
 TransAction.label.NewNote=\u65B0\u6CE8\u91CA
 TransAction.label.PositionNote=\u79FB\u52A8\u6CE8\u91CA
-TransAction.label.ChangeTransform=\u6539\u53D8\u6B65\u9AA4
+TransAction.label.ChangeTransform=\u6539\u53D8 Transform
 TransAction.label.ChangeAction=\u6539\u53D8\u4F5C\u4E1A\u9879
 TransAction.label.PositionTableRow=\u79FB\u52A8\u8868\u7684\u884C
-TransAction.label.NewTransform=\u65B0\u6B65\u9AA4
-TransAction.label.PositionTransform=\u79FB\u52A8\u6B65\u9AA4
+TransAction.label.NewTransform=\u65B0\u5EFA Transform
+TransAction.label.PositionTransform=\u79FB\u52A8 Transform
 TransAction.label.ChangeTable=\u6539\u53D8\u8868
 TransAction.label.ChangeConnection=\u6539\u53D8\u6570\u636E\u5E93\u8FDE\u63A5
 TransAction.label.PositionAction=\u79FB\u52A8\u4F5C\u4E1A\u9879
 TransAction.label.PositionTable=\u79FB\u52A8\u8868
 TransAction.label.NewHop=\u65B0\u8282\u70B9\u8FDE\u63A5
-TransAction.label.NewWorkflowHop=\u65B0\u4F5C\u4E1A\u8282\u70B9\u8FDE\u63A5
+TransAction.label.NewWorkflowHop=\u65B0 Workflow \u8282\u70B9\u8FDE\u63A5
diff --git a/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_zh_CN.properties
index 760c92c..46d6406 100644
--- a/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,240 +14,258 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.pipeline' in locale 'zh_CN'
 #
 #
-Pipeline.Log.PipelineIsToAllocateTransform=\ \u8F6C\u6362\u5927\u7EA6\u5206\u914D\u4E86 \u6B65\u9AA4 [{0}] \u7C7B\u578B\u7684 [{1}]
-TransformLoader.RuntimeError.UnableToInstantiateClass.PIPELINE0006=\u65E0\u6CD5\u5B9E\u4F8B\u5316\u7C7B
-PipelineMeta.Exception.ErrorOpeningOrValidatingTheXMLFile=\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\uFF0C\u5F53\u6253\u5F00/\u9A8C\u8BC1 XML \u6587\u4EF6 ''{0}''\!
-TransformPlugin.Information.JarFiles.Label=Jar \u6587\u4EF6\u5217\u8868
-Pipeline.Log.ThisIsNotAReplayPipeline=\u8FD9\u6CA1\u6709\u4E00\u4E2A\u91CD\u653E\u7684\u8F6C\u6362
-PipelineMeta.Exception.ErrorOfSortingTransforms=\u6B65\u9AA4\u6392\u5E8F\u65F6\u53D1\u751F\u5F02\u5E38\: 
-PipelineMeta.CheckResult.TypeResultWarning.TransformIsNotUsed.Description=\u8F6C\u6362\u91CC\u6CA1\u6709\u4F7F\u7528\u8FD9\u4E2A\u6B65\u9AA4.
-PipelineMeta.Monitor.SavingHopTask.Title=\u4FDD\u5B58\u8282\u70B9\u8FDE\u63A5 \#
-PipelineMeta.Log.SavingDependencies=\u4FDD\u5B58\u4F9D\u8D56...
-Pipeline.Log.AllocateingRowsetsForTransform=\ \u6B63\u5728\u5206\u914D\u884C\u7EC4\u4E3A\u6B65\u9AA4 {0} --> {1}
-TransformPlugin.Type.Plugin.Desc=\u63D2\u4EF6
-DatabaseImpact.RowDesc.Label.Table=\u8868
-DatabaseImpact.TypeDesc.Label.ReadOrWrite=\u8BFB/\u5199
-Pipeline.Log.PipelineIsPreloaded=\u8F6C\u6362\u5DF2\u7ECF\u4ECE\u8D44\u6E90\u5E93\u9884\u5148\u8F7D\u5165.
-TransformPlugin.Information.IconFile.Label=\u56FE\u6807\u6587\u4EF6
-PipelineMeta.Monitor.SavingDatabaseTask.Title=\u4FDD\u5B58\u6570\u636E\u5E93 \#
-PipelineMeta.Log.NumberOfTransformReaded=\u8BFB\u53D6\u7684\u6B65\u9AA4\u6570\u91CF \: 
-Pipeline.Exception.ErrorCommittingUniqueConnection=\u9519\u8BEF\u63D0\u4EA4\u8FDE\u63A5\: {0}
-PipelineMeta.Value.CheckingFieldName.FieldNameContainsUnfriendlyCodes.Description=\u5B57\u6BB5\u540D\u542B\u6709\u4E00\u4E2A\u6216\u66F4\u591A\u4E0D\u53CB\u597D\u7684\u4EE3\u7801 {0}  (\u6570\u636E\u5E93\u4E0D\u591F\u53CB\u597D\!)
-PipelineMeta.ErrorReadingSharedObjects.Message=\u5F53\u8BFB\u5171\u4EAB\u6587\u4EF6\u65F6\u53D1\u751F\u9519\u8BEF(\u7EE7\u7EED\u52A0\u8F7D)\: {0}
-Pipeline.Log.ProcessErrorInfo2=\u8FDB\u7A0B {0}{1} \u51FA\u73B0 {2} \u4E2A\u9519\u8BEF \u5728\u5904\u7406 {3} \u884C \u5728  {4} \u79D2\u5185
-PipelineMeta.Log.LookingForPipeline=\u67E5\u627E\u8F6C\u6362[{0}] \u5728\u76EE\u5F55 [{1}]
-PipelineMeta.Log.CheckingTransformTypes=\u68C0\u67E5\u6B65\u9AA4\u7C7B\u578B...
-Pipeline.Log.CheckingForMaxDependencyDate=\u6B63\u5728\u68C0\u67E5\u6700\u5927\u53EF\u9760\u65E5\u671F\!
-PipelineMeta.Exception.DatabaseErrorOccuredReadingPipeline2=\u4E00\u4E2A\u6570\u636E\u5E93\u9519\u8BEF\u53D1\u751F\u5728\u4ECE\u8D44\u6E90\u5E93\u6587\u4EF6\u8BFB\u53D6\u8F6C\u6362\u65F6
-PipelineMeta.SQLStatement.ErrorDesc.ErrorObtainingPipelineLogTableInfo=\u6B63\u5728\u83B7\u5F97\u8F6C\u6362\u65E5\u5FD7\u8868\u683C\u4FE1\u606F\u65F6\u51FA\u9519\: 
-Pipeline.Exception.NoPipelineNameAvailableForLogging=\u5728\u8FDC\u7A0B\u670D\u52A1\u5668\u4E0A,\u8F6C\u6362\u9700\u8981\u4E00\u4E2A\u552F\u4E00\u6807\u8BC6\u540D\u79F0.
-PipelineMeta.Log.DestinationOfHopCannotBeNull=\u5185\u90E8\u9519\u8BEF\u88AB\u68C0\u6D4B\u5230, \u8282\u70B9\u8FDE\u63A5\u7684\u76EE\u6807\u4E0D\u80FD\u4E3A\u7A7A\!
-PipelineMeta.Monitor.LoadingPipelineTask.Title=\u52A0\u8F7D\u8F6C\u6362 
-PipelineMeta.CheckResult.TypeResultOK.Description=\u6CA1\u6709\u4EFB\u4F55\u5B57\u6BB5\u540D\u770B\u8D77\u6765\u5305\u542B\u7A7A\u683C\u6216\u8005\u5176\u4ED6\u6570\u636E\u5E93\u4E0D\u53CB\u597D\u7684\u5B57\u7B26(OK)
-PipelineMeta.CheckResult.TypeResultOK.CorrectLayout.Description=\u65E5\u5FD7\u8868\u6709\u6B63\u786E\u7684\u5E03\u5C40.
-PipelineMeta.Monitor.ReadingTheAvailableDatabaseTask.Title=\u4ECE\u8D44\u6E90\u5E93\u8BFB\u53D6\u53EF\u83B7\u5F97\u7684\u6570\u636E\u5E93
-PipelineMeta.Monitor.CheckingTheLoggingTableTask.Title=\u68C0\u67E5\u65E5\u5FD7\u8868...
-TransformPlugin.Information.ID.Label=ID
-PipelineMeta.Log.FoundFieldsToAdd=\u53D1\u73B0\u5B57\u6BB5\u9700\u8981\u6DFB\u52A0\: 
-PipelineMeta.Monitor.ReadingTheDependenciesTask.Title=\u8BFB\u53D6\u4F9D\u8D56
-PipelineMeta.Log.SavingTransforms=\u4FDD\u5B58\u6B65\u9AA4...
-PipelineMeta.Monitor.ReadingTransformTask.Title=\u8BFB\u53D6\u6B65\u9AA4 \#
-DatabaseImpact.RowDesc.Label.Field=\u5B57\u6BB5
-PipelineMeta.Monitor.DeletingOldVersionPipelineTask.Title=\u5220\u9664\u65E7\u7248\u672C\u7684\u8F6C\u6362...
-TransformLoader.Log.TransformLoader.Description=\u5728\u76EE\u5F55\u91CC\u67E5\u627E\u63D2\u4EF6\: 
-DatabaseImpact.TypeDesc.Label.Delete=\u5220\u9664
-TransformLoader.RuntimeError.CouldNotFindDirectory.PIPELINE0002=\u65E0\u6CD5\u627E\u5230\u76EE\u5F55[{0}]
-Pipeline.Log.FoundDateFromTable=\u4ECE\u8868\u683C\u4E2D\u53D1\u73B0\u4E86\u65E5\u671F {0}{1}{2}
-PipelineMeta.Monitor.ReadingTheAvailableSharedObjectsTask.Title=\u4ECE\u8D44\u6E90\u5E93\u91CC\u8BFB\u53D6\u53EF\u7528\u7684\u5171\u4EAB\u5BF9\u8C61
+PipelineMeta.SearchMetadata.TransformDescription=Transform \u63CF\u8FF0
+PipelineMeta.Log.WeHaveHops=\u6211\u4EEC\u6709 
 PipelineMeta.Monitor.LoadingPipelineDetailsTask.Title=\u52A0\u8F7D\u8F6C\u6362\u8BE6\u7EC6\u4FE1\u606F
-Pipeline.Exception.ErrorRollingBackUniqueConnection=\u8F6C\u6362\u7ED3\u675F\u540E\u5F53\u8BD5\u56FE\u56DE\u6EDA\u8FDE\u63A5''{0}''\u4E0A\u7684\u4E8B\u52A1\u65F6\uFF0C\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF.
-Pipeline.Exception.ErrorHandlingPipelineTransaction=\u8F6C\u6362\u7ED3\u675F\u540E\u5728\u5904\u7406\u6570\u636E\u5E93\u4E8B\u52A1\u6216\u5173\u95ED\u8FDE\u63A5\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\uFF0C\u53D7\u5230\u5F71\u54CD\u7684\u6570\u636E\u5E93\u8FDE\u63A5\u662F ''{0}''. 
-PipelineMeta.Log.DeletingOldVersionPipeline=\u5220\u9664\u65E7\u7248\u672C\u7684\u8F6C\u6362...
-DatabaseImpact.TypeDesc.Label.Write=\u5199
-PipelineMeta.CheckResult.TypeResultOK.ConnectingWorks.Description=\u8F6C\u6362\u65E5\u5FD7\u8FDE\u63A5\u652F\u6301\: \u8FDE\u63A5\u53EF\u4EE5\u5DE5\u4F5C
-Pipeline.Log.PipelineDetectedErrors=\u8F6C\u6362\u88AB\u68C0\u6D4B 
-Pipeline.Log.ExecutionStartedForPipeline=\u4E3A\u4E86\u8F6C\u6362\u89E3\u9664\u8865\u4E01\u5F00\u59CB  [{0}]
-TransformLoader.RuntimeError.MalformedURL.PIPELINE0008=\u96BE\u770B\u7684 URL
-PipelineMeta.Log.UserCancelledPipelineSave=\u7528\u6237\u53D6\u6D88\u4FDD\u5B58\u8F6C\u6362.
-Pipeline.Exception.ConnectionCouldNotBeFound=\u6570\u636E\u5E93\u8FDE\u63A5 [{0}]\u65E0\u6CD5\u627E\u5230\!
-PipelineMeta.Log.SavingDatabaseConnections=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5...
-DatabaseImpact.TypeDesc.Label.Truncate=\u88C1\u526A
-PipelineMeta.Log.LookingAtTransform=\u5BDF\u770B\u6B65\u9AA4 \#
-PipelineMeta.Log.ReadingTransforms=\u8BFB\u53D6 
-PipelineMeta.Log.LookingAtHop=\u5BDF\u770B\u8282\u70B9\u8FDE\u63A5 \#
-DatabaseImpact.TypeDesc.Label.None=\u65E0
-TransformPlugin.Information.Directory.Label=\u76EE\u5F55
-PipelineMeta.Log.LoadingPipeline=\u4ECE\u8D44\u6E90\u5E93\u52A0\u8F7D\u8F6C\u6362 [{0}]...
-PipelineMeta.Log.SavingFinished=\u4FDD\u5B58\u5B8C\u6210...
-PipelineMeta.Log.LoadingTransformWithID=\u4EE5\u6B65\u9AA4ID\u52A0\u8F7D\: 
+Pipeline.Log.NumberOfTransformsToRun=\u9700\u8981\u8FD0\u884C\u7684 Transform \u6570\: {0}  , \u8282\u70B9\u6570\: {1}
+DatabaseImpact.RowDesc.Label.Pipeline=Pipeline
+PipelineMeta.CheckResult.TypeResultOK.Description=\u6CA1\u6709\u4EFB\u4F55\u5B57\u6BB5\u540D\u770B\u8D77\u6765\u5305\u542B\u7A7A\u683C\u6216\u8005\u5176\u4ED6\u6570\u636E\u5E93\u4E0D\u53CB\u597D\u7684\u5B57\u7B26(OK)
+TransformPlugin.Information.Category.Label=Transform \u7C7B\u522B
+PipelineMeta.Log.UserCancelledPipelineSave=\u7528\u6237\u53D6\u6D88\u4FDD\u5B58\u8F6C\u6362\u3002
+Pipeline.FinishListeners.Exception=pipeline \u76D1\u542C\u5668\u8FD0\u884C\u5B8C\u6210\u65F6\u51FA\u9519
+PipelineMeta.Monitor.CheckingTransformTask.Title=\u68C0\u67E5 Transform [{0}]
+TransformPlugin.Information.IconFile.Label=\u56FE\u6807\u6587\u4EF6
+HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B\: 
+Pipeline.Log.Status.End=\u7ED3\u675F
+PipelineMeta.CheckResult.TypeResultWarning.Description=\u5B57\u6BB5 [{0}]\: {1} \u5728 Transform [{2}]
+PipelineMeta.Log.LoadedPipeline2=\u52A0\u8F7D\u8F6C\u6362[{0}] , \u76EE\u5F55 \=\= \u7A7A\: {1}
+TransformPlugin.Label=\u901A\u7528
 DatabaseImpact.TypeDesc.Label.Read=\u8BFB
-PipelineMeta.CheckResult.TypeResultWarning.Description=\u5B57\u6BB5 [{0}] \: {1} \u5728\u6B65\u9AA4 [{2}]
-PipelineMeta.Monitor.VerifyingThisPipelineTask.Title=\u6821\u9A8C\u8FD9\u4E2A\u8F6C\u6362...
-PipelineHopMeta.Exception.UnableToLoadHopInfo=\u65E0\u6CD5\u4ECEXML\u8282\u70B9\u52A0\u8F7D\u8282\u70B9\u8FDE\u63A5\u4FE1\u606F
-Pipeline.Dialog.Description.NoFileNamePreviewMode=\u6CA1\u6709\u6587\u4EF6\u540D, \u9884\u89C8\u6A21\u5F0F
+DatabaseImpact.RowDesc.Label.ValueOrigin=\u539F\u59CB\u503C
+PipelineMeta.UndoTypeDesc.UndoPosition=\u64A4\u9500\u4F4D\u7F6E\u53D8\u66F4
+PipelineMeta.Exception.NotValidPipelineXML=\u65E0\u6548\u7684 Pipeline \u6587\u4EF6 \u201C{0}\u201D(XML\u683C\u5F0F)\u3002
+Pipeline.Log.OpeningLogConnection=\u6253\u5F00\u65E5\u5FD7\u6570\u636E\u5E93\u8FDE\u63A5[{0}]
+PipelineMeta.Monitor.ReadingTransformsTask.Title=\u8BFB\u53D6 Transform...
+PipelineMeta.Log.CheckingTransformTypes=\u68C0\u67E5 Transform \u7C7B\u578B...
+Pipeline.Log.AllocatingRowsets=\u5206\u6D3E\u8BB0\u5F55\u96C6...
+PeekMetric.Column.Written=\u5199
+PipelineMeta.Exception.TransformNameNotFound=\u6CA1\u6709\u53D1\u73B0\u540D\u79F0\u4E3A"{0}"\u7684 Transform
+PipelineMeta.Monitor.SavingPipelineTask.Title=\u4FDD\u5B58 Pipeline 
+Pipeline.Exception.ConnectionCouldNotBeFound=\u6570\u636E\u5E93\u8FDE\u63A5 [{0}]\u65E0\u6CD5\u627E\u5230\uFF01
+TransformLoader.RuntimeError.UnExpectedErrorLoadingClass.PIPELINE0009=\u5F53\u8F7D\u5165\u7C7B\u65F6\u53D1\u751F\u4E86\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF
+DatabaseImpact.RowDesc.Label.SQL=SQL\u8BED\u53E5
+TransformPlugin.Information.ID.Label=ID
+Pipeline.Exception.ErrorRollingBackUniqueConnection=Pipeline \u7ED3\u675F\u540E\u5F53\u8BD5\u56FE\u56DE\u6EDA\u8FDE\u63A5"{0}"\u4E0A\u7684\u4E8B\u52A1\u65F6\uFF0C\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\u3002
+DatabaseImpact.RowDesc.Label.Value=\u503C
+Pipeline.Log.StartDateFound=\u4ECE\u524D\u4E00\u4E2A\u65E5\u5FD7\u5165\u53E3\u53D1\u73B0\u4E86\u5F00\u59CB\u65E5\u671F\: 
+PipelineMeta.Monitor.CheckingTheLoggingTableTask.Title=\u68C0\u67E5\u65E5\u5FD7\u8868...
 PipelineMeta.Monitor.FinishingTask.Title=\u5B8C\u6210...
-Pipeline.Log.TransformFailedToInit=\u6B65\u9AA4 [{0}] \u521D\u59CB\u5316\u5931\u8D25\!
+PipelineMeta.Value.CheckingFieldName.FieldNameContainsUnfriendlyCodes.Description=\u5B57\u6BB5\u540D\u542B\u6709\u4E00\u4E2A\u6216\u66F4\u591A\u4E0D\u53CB\u597D\u7684\u4EE3\u7801 {0}  (\u6570\u636E\u5E93\u4E0D\u591F\u53CB\u597D\uFF01)
+DatabaseImpact.RowDesc.Label.Database=\u6570\u636E\u5E93
+Pipeline.Exception.ErrorHandlingPipelineTransaction=Pipeline \u7ED3\u675F\u540E\u5728\u5904\u7406\u6570\u636E\u5E93\u4E8B\u52A1\u6216\u5173\u95ED\u8FDE\u63A5\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\uFF0C\u53D7\u5230\u5F71\u54CD\u7684\u6570\u636E\u5E93\u8FDE\u63A5\u662F "{0}". 
+PipelineMeta.ErrorReadingSharedObjects.Message=\u5F53\u8BFB\u5171\u4EAB\u6587\u4EF6\u65F6\u53D1\u751F\u9519\u8BEF(\u7EE7\u7EED\u52A0\u8F7D)\: {0}
+PipelineMeta.MissingPluginsFoundWhileLoadingPipeline.Exception=\u52A0\u8F7D Pipeline \u65F6\u53D1\u73B0\u7F3A\u5931\u63D2\u4EF6
+PipelineMeta.Monitor.SortingTransformsTask.Title=\u6392\u5E8F Transform
+DatabaseImpact.RowDesc.Label.Table=\u8868
+PipelineMeta.Exception.PipelineDoesNotExist=\u8FD9\u4E2A\u8F6C\u6362\u4E0D\u5B58\u5728\: 
 Pipeline.Exception.ErrorConnectingToDatabase=\u6B63\u5728\u8FDE\u63A5\u5230\u6570\u636E\u5E93\u65F6\u53D1\u751F\u9519\u8BEF [{0}]
-TransformPlugin.Information.ToolTip.Label=\u63D0\u793A
-TransformPlugin.Type.Native.Desc=\u5185\u7F6E\u7684
-PipelineMeta.Monitor.LookingAtTransformTask.Title=\u67E5\u627E\u6B65\u9AA4 \#
-Pipeline.PipelineAllocatedNewRowset=\u8F6C\u6362\u5206\u914D\u4E86\u65B0\u7684\u884C\u7EC4 [{0}]
-PipelineMeta.Monitor.HandlingOldVersionPipelineTask.Title=\u5904\u7406\u65E7\u7248\u672C\u7684\u8F6C\u6362(\u5982\u679C\u5B58\u5728)...
-Pipeline.Log.PipelineHasAllocated=\u8F6C\u6362\u5DF2\u7ECF\u5206\u914D\u4E86 {0} \u7EBF\u7A0B \u548C {1} \u5217\u7EC4.
-Pipeline.Log.Start=\u5F00\u59CB
-Pipeline.Log.StartDateFound=\u4ECE\u524D\u4E00\u4E2A\u65E5\u5FD7\u5165\u53E3\u53D1\u73B0\u4E86\u5F00\u59CB\u65E5\u671F\: 
+PipelineMeta.CheckResult.TypeResultOK.ConnectingWorks.Description=Pipeline \u65E5\u5FD7\u8FDE\u63A5\u652F\u6301\: \u8FDE\u63A5\u53EF\u4EE5\u5DE5\u4F5C
+Pipeline.Log.FoundDefferentTransforms=\u6211\u627E\u5230 {0} \u4E2A\u4E0D\u540C\u7684\u8981\u6267\u884C\u7684 Transform\u3002
+PipelineMeta.SearchMetadata.DatabaseConnectionName=Database connection name
 PipelineMeta.Monitor.DeterminingImpactTask.Title=\u8BC4\u4F30\u5F71\u54CD...
-PipelineMeta.Log.FromTransformALookingAtPreviousTransform=\u4ECE\u6B65\u9AA4\: {0}, \u5BFB\u627E {1} \u524D1\u4E2A\u6B65\u9AA4.
-Pipeline.Exception.UnableToOpenPipeline=\u8F6C\u6362\u65E0\u6CD5\u6253\u5F00 [{0}]
-Pipeline.Log.InitialisingTransforms=\u6B63\u5728\u521D\u59CB\u5316 {0} \u6B65\u9AA4...
-Pipeline.Exception.UnableToBeginProcessingPipeline=\u4E0D\u80FD\u5F00\u59CB\u8FDB\u884C\u8F6C\u6362
+DatabaseImpact.TypeDesc.Label.ReadOrWrite=\u8BFB/\u5199
+PipelineMeta.Log.TimeExecutionTransformSort=\u6309\u6570\u636E\u6D41\u6392\u5E8F Transform \u7EC4\u4EF6\u8017\u65F6 {0} \u6BEB\u79D2(\u524D\u7F6E\u7EC4\u4EF6\u4E2A\u6570 {1} )
+TransformLoader.RuntimeError.UnableToReadPluginXML.PIPELINE0001=\u9519\u8BEF\u5730\u8BFB\u53D6\u63D2\u4EF6XML\u6587\u4EF6\: 
+Pipeline.Log.Start=\u542F\u52A8
 PipelineMeta.CheckResult.TypeResultWarning.HaveTheSameNameField.Description=\u6211\u5DF2\u7ECF\u627E\u5230\u4E86\u8F93\u5165\u5B57\u6BB5\u6709\u91CD\u590D\u540D\u79F0 [{0}]
-PipelineMeta.Exception.TransformNameNotFound=\u6CA1\u6709\u53D1\u73B0\u540D\u79F0\u4E3A''{0}''\u7684\u6B65\u9AA4
-PipelineMeta.Log.WeHaveHops=\u6211\u4EEC\u6709 
-TransformLoader.RuntimeError.UnknownPluginType.PIPELINE0004=\u672A\u77E5\u7684\u63D2\u4EF6\u7C7B\u578B \: 
-Pipeline.Exception.TransactionsRolledBackOnConnection=\u8F6C\u6362\u7ED3\u675F\u65F6,\u6570\u636E\u5E93\u8FDE\u63A5''{0}''\u4E0A\u7684\u6240\u6709\u4E8B\u52A1\u90FD\u88AB\u56DE\u6EDA
-PipelineMeta.Monitor.CheckingForDatabaseUnfriendlyCharactersInFieldNamesTask.Title=\u68C0\u67E5\u5B57\u6BB5\u540D\u79F0\u91CC\uFF08\u5BF9\u4E8E\u6570\u636E\u5E93\uFF09\u975E\u6CD5\u7684\u5B57\u7B26\u4E32...
+DatabaseImpact.TypeDesc.Label.Write=\u5199
+Pipeline.Log.PipelineCanBeReplayed=\u8FD9\u9879\u8F6C\u6362\u53EF\u4EE5\u88AB\u56DE\u653E \u56DE\u653E\u65E5\u671F\u662F\: 
+Pipeline.Log.InitialisingTransforms=\u6B63\u5728\u521D\u59CB\u5316 {0} Transform...
+PipelineMeta.SearchMetadata.DatabaseUsername=\u6570\u636E\u5E93\u7528\u6237\u540D
+PipelineMeta.Monitor.LoadingPipelineTask.Title=\u52A0\u8F7D Pipeline 
+PeekMetric.Column.TransformName=Transform \u540D\u79F0
+Pipeline.Log.TransformInitialized=Transform [{0}] \u521D\u59CB\u5316\u4E0D\u5B8C\u5168\uFF0C\u6709\u7F3A\u9677\u3002
+TransformPlugin.Type.Plugin.Desc=\u63D2\u4EF6
+Pipeline.Log.PipelineIsInPreviewMode=Pipeline \u5904\u4E8E\u9884\u89C8\u6A21\u5F0F...
+Pipeline.Log.FoundDateFromTable=\u4ECE\u8868\u683C\u4E2D\u53D1\u73B0\u4E86\u65E5\u671F {0}{1}{2}
+PipelineMeta.PipelineType.SingleThreaded=\u5355\u7EBF\u7A0B(Hadoop \u4E13\u7528)
+Pipeline.Log.NoLastDateFoundOnTheMaxdateConnection=\u5728\u6700\u6301\u4E45\u8FDE\u63A5\u4E0A\u6CA1\u6709\u627E\u5230\u6700\u540E\u65E5\u671F\uFF01
+PeekMetric.Column.Rejected=\u62D2\u7EDD
+PipelineMeta.UndoTypeDesc.UndoDelete=\u53D6\u6D88\u5220\u9664
+Pipeline.Log.ExecutionStartedForPipeline=\u4E3A\u4E86\u8F6C\u6362\u89E3\u9664\u8865\u4E01\u5F00\u59CB  [{0}]
+PipelineMeta.Log.LookingAtHop=\u5BDF\u770B\u8282\u70B9\u8FDE\u63A5 \#
+PipelineMeta.Log.FoundFieldsToAdd=\u53D1\u73B0\u5B57\u6BB5\u9700\u8981\u6DFB\u52A0\: 
+PeekMetric.Column.Input=\u8F93\u5165
+Pipeline.Log.NumberOfTransformsToPreview=\u9700\u8981\u9884\u89C8\u7684 Transform \u6570\: {0}, \u8282\u70B9\u6570\: {1}
+PipelineMeta.Monitor.ReadingTheAvailableDatabaseTask.Title=\u4ECE\u8D44\u6E90\u5E93\u8BFB\u53D6\u53EF\u83B7\u5F97\u7684\u6570\u636E\u5E93
+PipelineMeta.Exception.OneMappingInputTransformRequired=\u6307\u5B9A\u7684\u6620\u5C04\u9700\u8981\u4E00\u4E2A'\u6620\u5C04\u8F93\u5165' Transform ,\u4F46\u662F\u6CA1\u6709\u8FD9\u4E2A Transform\u3002
+TransformPlugin.Information.Description.Label=\u63CF\u8FF0
+PipelineMeta.Exception.ErrorReadingPipeline=\u9519\u8BEF\u4ECEXML\u6587\u4EF6\u8BFB\u53D6 Pipeline
+Pipeline.Log.ExecutionStartedForFilename=\u5DF2\u7ECF\u5F00\u59CB\u4E3A\u6587\u4EF6\u540D\u89E3\u9664\u8865\u4E01 [{0}]
 Pipeline.Exception.ErrorWritingLogRecordToTable=\u9519\u8BEF\u5730\u5199\u65E5\u5FD7\u8BB0\u5F55\u5230\u8868[{0}]
-Pipeline.Log.FailToInitializeAtLeastOneTransform=\u65E0\u6CD5\u521D\u59CB\u5316\u81F3\u5C11\u4E00\u4E2A\u6B65\u9AA4.  \u6267\u884C\u65E0\u6CD5\u5F00\u59CB\!
-Pipeline.Log.ProcessSuccessfullyInfo=\u8FDB\u7A0B {0}{1} \u6210\u529F\u7ED3\u675F, \u5904\u7406\u4E86 {2} \u884C. ( {3} \u884C/\u79D2)
-Pipeline.Log.ThisIsAReplayPipeline=\u8FD9\u662F\u4E00\u4E2A\u56DE\u653E\u7684\u8F6C\u6362 \: 
-TransformLoader.RuntimeError.UnExpectedErrorLoadingClass.PIPELINE0009=\u5F53\u8F7D\u5165\u7C7B\u65F6\u53D1\u751F\u4E86\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF
-TransformPlugin.Information.SeparateClassloader.Label=\u5206\u79BB\u7684\u7C7B\u52A0\u8F7D\u5668\uFF1F
-DatabaseImpact.RowDesc.Label.Type=\u7C7B\u578B
+Pipeline.Exception.UnableToBeginProcessingPipeline=\u4E0D\u80FD\u5F00\u59CB\u8FDB\u884C Pipeline
+PipelineMeta.SearchMetadata.DatabaseServer=\u6570\u636E\u5E93\u540D\u79F0
+PipelineMeta.Log.SavingFinished=\u4FDD\u5B58\u5B8C\u6210...
+Pipeline.Log.AllocatedRowsets=\ \u5DF2\u5206\u914D {0} \u884C\u7EC4\u4E3A Transform {1} --> {2} 
+DatabaseImpact.TypeDesc.Label.Truncate=\u88C1\u526A
+PipelineHopMeta.Exception.UnableToLoadHopInfo=\u65E0\u6CD5\u4ECEXML\u8282\u70B9\u52A0\u8F7D\u8282\u70B9\u8FDE\u63A5\u4FE1\u606F
+Pipeline.Log.LastDateFoundOnTheMaxdateConnection=\u5728\u6700\u6301\u4E45\u8FDE\u63A5\u4E0A\u627E\u5230\u4E86\u6700\u540E\u65E5\u671F\: 
+Pipeline.PipelineAllocatedNewRowset=Pipeline \u5206\u914D\u4E86\u65B0\u7684\u884C\u7EC4 [{0}]
+PipelineMeta.CheckResult.TypeResultOK.LoggingTableExists.Description=\u65E5\u5FD7\u8868[{0}] \u5B58\u5728\u3002
+Pipeline.Log.PipelineError=Pipeline \u9519\u8BEF\: 
+PipelineMeta.Log.FromTransformALookingAtPreviousTransform=\u4ECE Transform\: {0}, \u5BFB\u627E {1} \u524D1\u4E2A Transform.
+PipelineMeta.Exception.ErrorOfSortingTransforms=Transform \u6392\u5E8F\u65F6\u53D1\u751F\u5F02\u5E38\: 
+Pipeline.Log.TransformCopiesNotCorrectlyDefined=\u5BF9\u4E8E transform {0}\uFF0C\u5176\u526F\u672C\u7684\u6570\u91CF\u4E0D\u4F1A\u89E3\u6790\u4E3A\u5C0F\u4E8E\u96F6\u7684\u6570\u5B57.
 TransformLoader.RuntimeError.IllegalAccessToClass.PIPELINE0007=\u975E\u6CD5\u8BBF\u95EE\u7C7B
-PipelineMeta.Exception.OnlyOneMappingInputTransformAllowed=\u5F53\u6CA1\u6709\u6307\u5B9A\u7279\u5B9A\u7684\u8BFB\u5165\u6B65\u9AA4\u540D\u79F0,\u5728\u6620\u5C04\u91CC\u53EA\u80FD\u6709\u4E00\u4E2A'\u6620\u5C04\u8F93\u5165'\u6B65\u9AA4,\u53D1\u73B0\u4E86{0}.
-PipelineMeta.Log.SavingOfPipelineStarted=\u5F00\u59CB\u4FDD\u5B58\u8F6C\u6362.
-PipelineMeta.Monitor.SavingTransformTask.Title=\u4FDD\u5B58\u6B65\u9AA4 \#
+Pipeline.Log.ProcessErrorInfo2=\u8FDB\u7A0B {0}{1} \u51FA\u73B0 {2} \u4E2A\u9519\u8BEF \u5728\u5904\u7406 {3} \u884C \u5728  {4} \u79D2\u5185
+Pipeline.Log.AllocatingTransformsAndTransformData=\u6B63\u5728\u5206\u914D Transform \u548C Transform \u6570\u636E...
+Pipeline.Exception.UnableToLoadPipeline=\u65E0\u6CD5\u52A0\u8F7D Pipeline [{0} ] \u56E0\u4E3A\u76EE\u5F55\u4E0D\u80FD\u88AB\u627E\u5230\: [{1}]
+PipelineMeta.Log.SavingTransforms=\u4FDD\u5B58 Transform...
+PipelineMeta.Log.SavingHops=\u4FDD\u5B58\u8282\u70B9\u8FDE\u63A5...
+TransformPlugin.Information.Type.Label=\u7C7B\u578B
+PipelineMeta.PipelineType.Normal=\u666E\u901A
+DatabaseImpact.TypeDesc.Label.None=\u65E0
+PipelineMeta.Exception.DatabaseErrorOccuredReadingPipeline2=\u4E00\u4E2A\u6570\u636E\u5E93\u9519\u8BEF\u53D1\u751F\u5728\u4ECE\u8D44\u6E90\u5E93\u6587\u4EF6\u8BFB\u53D6\u8F6C\u6362\u65F6
+PipelineMeta.Log.LookingForPipeline=\u67E5\u627E\u8F6C\u6362[{0}] \u5728\u76EE\u5F55 [{1}]
+DatabaseImpact.RowDesc.Label.Field=\u5B57\u6BB5
+PipelineMeta.Log.LoadingTransformWithID=\u4EE5 Transform ID\u52A0\u8F7D\: 
+PipelineMeta.Monitor.SavingHopTask.Title=\u4FDD\u5B58\u8282\u70B9\u8FDE\u63A5 \#
 TransformPlugin.Information.ErrorHelpFile.Label=\u9519\u8BEF\u5E2E\u52A9\u6587\u4EF6
-PipelineMeta.Monitor.ReadingTransformsTask.Title=\u8BFB\u53D6\u6B65\u9AA4...
-Pipeline.Dialog.Description.NoFileNamePreloadedPipeline=\u6CA1\u6709\u6587\u4EF6\u540D, \u9884\u8F7D\u5165\u8F6C\u6362
-DatabaseImpact.RowDesc.Label.Database=\u6570\u636E\u5E93
-TransformPlugin.Information.ClassName.Label=\u7C7B\u540D
-Pipeline.Row.Status.End=\u7ED3\u675F
-TransformPlugin.Label=\u901A\u7528
-Pipeline.Log.PipelineCanBeReplayed=\u8FD9\u9879\u8F6C\u6362\u53EF\u4EE5\u88AB\u56DE\u653E \u56DE\u653E\u65E5\u671F\u662F\: 
-Pipeline.Log.Status.End=\u7ED3\u675F
-DatabaseImpact.RowDesc.Label.SQL=SQL\u8BED\u53E5
-PipelineMeta.Log.WeHaveConnections=\u8FD9\u6709{0} \u6570\u636E\u5E93\u8FDE\u63A5...
-PipelineMeta.Monitor.SavingPipelineTask.Title=\u4FDD\u5B58\u8F6C\u6362 
-TransformLoader.Log.TransformLoader.Title=\u6B65\u9AA4\u52A0\u8F7D\u5668
-Pipeline.Log.NumberOfTransformsToRun=\u9700\u8981\u8FD0\u884C\u7684\u6B65\u9AA4\u6570 \: {0}  , \u8282\u70B9\u6570 \: {1}
-Pipeline.Log.NumberOfTransformsToPreview=\u9700\u8981\u9884\u89C8\u7684\u6B65\u9AA4\u6570 \: {0}, \u8282\u70B9\u6570 \: {1}
-Pipeline.Log.PipelineErrors=\u8F6C\u6362\u9519\u8BEF\: 
-Pipeline.Log.AllocatedRowsets=\ \u5DF2\u5206\u914D {0} \u884C\u7EC4\u4E3A\u6B65\u9AA4 {1} --> {2} 
-TransformLoader.RuntimeError.UnableToReadPluginXML.PIPELINE0001=\u9519\u8BEF\u5730\u8BFB\u53D6\u63D2\u4EF6XML\u6587\u4EF6\: 
+DatabaseImpact.TypeDesc.Label.Delete=\u5220\u9664
 PipelineMeta.Log.DatabaseErrorOccuredReadingPipeline=\u4E00\u4E2A\u6570\u636E\u5E93\u9519\u8BEF\u53D1\u751F\u5728\u4ECE\u8D44\u6E90\u5E93\u6587\u4EF6\u8BFB\u53D6\u8F6C\u6362\u65F6
-PipelineMeta.Monitor.GettingTheSQLForTransformTask.Title=\u4E3A\u6B65\u9AA4[{0}]\u83B7\u53D6SQL\u8BED\u53E5 
-Pipeline.Log.NumberOfArgumentsDetected=\u5DF2\u7ECF\u627E\u5230\u7684\u53C2\u6570\u6570\u91CF\:{0} 
-TransformLoader.RuntimeError.ClassNotFound.PIPELINE0005=\u7C7B\u627E\u4E0D\u5230
-PipelineMeta.CheckResult.TypeResultError.ErrorOccurredGettingInputFields.Description=\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\uFF0C\u6B63\u5728\u83B7\u5F97\u8F93\u5165\u5B57\u6BB5 \u6B65\u9AA4 [{0}] \:{1}
-PipelineMeta.Monitor.GettingTheSQLForPipelineTask.Title2=\u83B7\u53D6\u5BF9\u4E8E\u8FD9\u4E2A\u8F6C\u6362\u7684SQL\u8BED\u53E5(\u65E5\u5FD7\u8868\u7B49.)
-PipelineMeta.CheckResult.TypeResultOK.LoggingTableExists.Description=\u65E5\u5FD7\u8868[{0}] \u5B58\u5728.
-Pipeline.Log.SafeModeIsEnabled=\u4E3A\u8FD9\u4E2A\u8F6C\u6362\u5B89\u5168\u6A21\u5F0F\u5DF2\u7ECF\u5F00\u542F
-PipelineMeta.Exception.OneMappingInputTransformRequired=\u6307\u5B9A\u7684\u6620\u5C04\u9700\u8981\u4E00\u4E2A'\u6620\u5C04\u8F93\u5165'\u6B65\u9AA4,\u4F46\u662F\u6CA1\u6709\u8FD9\u4E2A\u6B65\u9AA4.
-DatabaseImpact.RowDesc.Label.Pipeline=\u8F6C\u6362
-DatabaseImpact.RowDesc.Label.Value=\u503C
-Pipeline.Log.AllowedRelationships=\u53EA\u6709 1-1, 1-n, n-1 \u548C n-n \u7684\u5BF9\u5E94\u5173\u7CFB\u88AB\u5141\u8BB8\!
-Pipeline.Log.PipelineHasAllocatedANewTransform=\ \u8F6C\u6362\u5DF2\u7ECF\u5206\u914D\u4E86\u4E00\u4E2A\u65B0\u7684\u6B65\u9AA4\: [{0}].{1}
-PipelineMeta.Exception.PipelineDoesNotExist=\u8FD9\u4E2A\u8F6C\u6362\u4E0D\u5B58\u5728 \: 
-Pipeline.Log.TransformInitialized=\u6B65\u9AA4 [{0}] \u521D\u59CB\u5316\u4E0D\u5B8C\u5168\uFF0C\u6709\u7F3A\u9677.
-Pipeline.Log.OpeningMaximumDateConnection=\u6B63\u5728\u6253\u5F00\u6700\u6301\u4E45\u7684\u8FDE\u63A5...
-Pipeline.Log.PipelineIsInPreviewMode=\u8F6C\u6362\u5904\u4E8E\u9884\u89C8\u6A21\u5F0F...
-PipelineMeta.Log.LoadedPipeline=\u52A0\u8F7D\u8F6C\u6362[{0}]\u5728\u76EE\u5F55 {1}
-PipelineMeta.Log.SavingPipelineInfo=\u4FDD\u5B58\u8F6C\u6362\u4FE1\u606F...
-PipelineMeta.Log.DatabaseError=Hop\u6570\u636E\u5E93\u9519\u8BEF\: 
-Pipeline.Log.LookingAtTransform=\u5BDF\u770B\u6B65\u9AA4\: 
-PipelineMeta.Monitor.ReadingNoteTask.Title=\u8BFB\u53D6\u6CE8\u91CA...
-PipelineMeta.CheckResult.TypeResultError.LoggingTableNeedsAdjustments.Description=\u65E5\u5FD7\u8868\u9700\u8981\u4E00\u4E9B\u8C03\u6574\:
-Pipeline.Log.FinishedProcessing=\u5B8C\u6210\u5904\u7406(\u8F93\u5165\={0}, \u8F93\u51FA\={1}, \u8BFB\={2}
-PipelineMeta.Exception.PlsSelectAValidDirectoryBeforeSavingThePipeline=\u8BF7\u9009\u62E9\u4E00\u4E2A\u53EF\u7528\u7684\u76EE\u5F55\u5728\u4FDD\u5B58\u8F6C\u6362\u4E4B\u524D\!
-DatabaseImpact.RowDesc.Label.Transform=\u6B65\u9AA4
-Pipeline.Log.LastDateFoundOnTheMaxdateConnection=\u5728\u6700\u6301\u4E45\u8FDE\u63A5\u4E0A\u627E\u5230\u4E86\u6700\u540E\u65E5\u671F\: 
-PipelineMeta.UndoTypeDesc.UndoChange=\u53D6\u6D88\u53D8\u66F4
-Pipeline.Exception.NoLogTableDefined=\u8F6C\u6362\u6CA1\u6709\u5B9A\u4E49\u65E5\u5FD7\u8868
-PipelineMeta.Exception.OneMappingOutputTransformRequired=\u6307\u5B9A\u7684\u6620\u5C04\u9700\u8981\u4E00\u4E2A'\u6620\u5C04\u8F93\u51FA'\u6B65\u9AA4,\u4F46\u662F\u6CA1\u6709\u8FD9\u4E2A\u6B65\u9AA4.
+Pipeline.Log.LookingForMaxdateConnection=\u6B63\u5728\u5BFB\u627E\u6700\u6301\u4E45\u7684\u8FDE\u63A5\: [{0}]
 Pipeline.Log.ProcessErrorInfo=\u8FDB\u7A0B {0}{1} \u51FA\u73B0 {2} \u4E2A\u9519\u8BEF \u5728\u5904\u7406 {3} \u884C\u4E4B\u540E. ({4} \u884C/\u79D2)
-PipelineMeta.UndoTypeDesc.UndoNew=\u64A4\u9500\u65B0\u5EFA
-Pipeline.Log.PipelineError=\u8F6C\u6362\u9519\u8BEF\: 
-PipelineMeta.UndoTypeDesc.UndoDelete=\u53D6\u6D88\u5220\u9664
-PipelineMeta.Monitor.GettingTheSQLForPipelineTask.Title=\u6B63\u5728\u83B7\u53D6\u8FDB\u884C\u8FD9\u4E2A\u8F6C\u6362\u6240\u9700\u8981\u7684 SQL ...
-PipelineMeta.Value.CheckingFieldName.FieldNameIsEmpty.Description=\u5B57\u6BB5\u540D\u79F0\u4E3A\u7A7A.
-Pipeline.Exception.UnableToLoadPipeline=\u65E0\u6CD5\u52A0\u8F7D\u8F6C\u6362 [{0} ] \u56E0\u4E3A\u76EE\u5F55\u4E0D\u80FD\u88AB\u627E\u5230\: [{1}]
-TransformPlugin.Type.All.Desc=\u6240\u6709
+PeekMetric.Column.Copynr=\u590D\u5236\u7684\u8BB0\u5F55\u884C\u6570
+TransformPlugin.Information.JarFiles.Label=Jar \u6587\u4EF6\u5217\u8868
+PipelineMeta.CheckResult.TypeResultError.ErrorOccurredGettingInputFields.Description=\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\uFF0C\u6B63\u5728\u83B7\u5F97\u8F93\u5165\u5B57\u6BB5 Transform [{0}]\:{1}
+Pipeline.Log.AllowedRelationships=\u53EA\u6709 1-1, 1-n, n-1 \u548C n-n \u7684\u5BF9\u5E94\u5173\u7CFB\u88AB\u5141\u8BB8\uFF01
 PipelineMeta.Log.FoundFieldsToAdd2=\u53D1\u73B0\u5B57\u6BB5\u9700\u8981\u6DFB\u52A0\: 
-PipelineMeta.Monitor.SortingTransformsTask.Title=\u6392\u5E8F\u6B65\u9AA4
-PipelineMeta.Log.SavingNotes=\u4FDD\u5B58\u6CE8\u91CA...
-PipelineMeta.Monitor.VerifyingTransformTask.Title=\u6821\u9A8C\u6B65\u9AA4 [{0}]
-Pipeline.Log.TransformHasNumberRowCopies=\  \u6B65\u9AA4\u5DF2\u7ECF\u6709\u4E86\u526F\u672C\={0}
-TransformLoader.RuntimeError.UnableToLoadClass.PIPELINE0003=\u65E0\u6CD5\u52A0\u8F7D\u5E26\u8BF4\u660E\u7684\u7528\u4E8E\u6B65\u9AA4/\u63D2\u4EF6\u5904\u7406\u7684\u7C7B  [{0} \u68C0\u67E5 Hop\u5206\u914D\u63D2\u4EF6\u5B50\u76EE\u5F55\u7684\u63D2\u4EF6\u662F\u5426\u53EF\u7528.
-TransformPlugin.Information.Description.Label=\u63CF\u8FF0
+Pipeline.Row.Status.End=\u7ED3\u675F
+PipelineMeta.CheckResult.TypeResultError.LogTableNotSpecified.Description=\u65E5\u5FD7\u8868\u6CA1\u6709\u6307\u5B9A, \u65E5\u5FD7\u6570\u636E\u5E93\u8FDE\u63A5\u662F
+PipelineMeta.Log.DestinationOfHopCannotBeNull=\u5185\u90E8\u9519\u8BEF\u88AB\u68C0\u6D4B\u5230, \u8282\u70B9\u8FDE\u63A5\u7684\u76EE\u6807\u4E0D\u80FD\u4E3A\u7A7A\uFF01
+Pipeline.Log.CheckingForMaxDependencyDate=\u6B63\u5728\u68C0\u67E5\u6700\u5927\u53EF\u9760\u65E5\u671F\uFF01
+PipelineMeta.CheckResult.TypeResultError.ErrorOccurredGettingTransformMetaFields.Description=\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\uFF0C\u6B63\u5728\u83B7\u5F97\u4FE1\u606F\u5B57\u6BB5 Transform [{0}]\:{1}
+PipelineMeta.Monitor.ReadingTheDependenciesTask.Title=\u8BFB\u53D6\u4F9D\u8D56
+Pipeline.Exception.NoLogTableDefined=Pipeline \u6CA1\u6709\u5B9A\u4E49\u65E5\u5FD7\u8868
+PeekMetric.Column.Output=\u8F93\u51FA
+Pipeline.Log.PipelineDetectedErrors=Pipeline \u88AB\u68C0\u6D4B 
+PipelineMeta.Exception.InvalidXMLPath=Pipeline \u8DEF\u5F84 {0} \u65E0\u6548\uFF0C\u65E0\u6CD5\u6210\u529F\u8FD0\u884C.
+PipelineMeta.Log.NumberOfTransformReaded=\u8BFB\u53D6\u7684 Transform \u6570\u91CF\: 
+TransformPlugin.Type.Native.Desc=\u5185\u7F6E\u7684
+PipelineMeta.Log.NumberOfHopsReaded=\u8BFB\u53D6\u7684\u8282\u70B9\u8FDE\u63A5\u6570\u91CF\: 
+PipelineMeta.UndoTypeDesc.UndoChange=\u53D6\u6D88\u53D8\u66F4
+PipelineMeta.SearchMetadata.DatabasePassword=\u6570\u636E\u5E93\u5BC6\u7801
+TransformLoader.Log.ReplaceExistingPlugid=\u8986\u76D6\u5DF2\u5B58\u5728\u7684\u63D2\u4EF6 \u4F7F\u7528ID\: 
+PipelineMeta.Monitor.ReadingPipelineInfoTask.Title=\u8BFB\u53D6\u8F6C\u6362\u4FE1\u606F
 Pipeline.Log.FinishedProcessing2=, \u5199\={0}, \u66F4\u65B0\={1}, \u9519\u8BEF\={2})
-TransformPlugin.Information.Category.Label=\u6B65\u9AA4\u7C7B\u522B
-PipelineMeta.CheckResult.TypeResultError.LoggingTableDoesNotExist.Description=\u5728\u8FD9\u4E2A\u65E5\u5FD7\u6570\u636E\u5E93\u8FDE\u63A5\u91CC\u4E0D\u5B58\u5728\u65E5\u5FD7\u8868
-DatabaseImpact.RowDesc.Label.ValueOrigin=\u539F\u59CB\u503C
+PipelineMeta.Exception.DatabaseErrorOccuredReadingPipeline=\u4E00\u4E2A\u6570\u636E\u5E93\u9519\u8BEF\u53D1\u751F\u5728\u4ECE\u8D44\u6E90\u5E93\u6587\u4EF6\u8BFB\u53D6\u8F6C\u6362\u65F6
 Pipeline.Log.copiesInfo=\  \u524D\u4E00\u4E2A\u526F\u672C \= {0}, \u4E0B\u4E00\u4E2A\u526F\u672C\={1}
-DatabaseImpact.RowDesc.Label.Remarks=\u6CE8\u91CA
-Pipeline.Log.CannotHaveXYRelationships=\u8FD9\u8BF4\u660E\u4F60\u4E0D\u80FD\u6709 x-y \u7684\u5BF9\u5E94\u5173\u7CFB\!
+Pipeline.Log.ThisIsNotAReplayPipeline=\u8FD9\u6CA1\u6709\u4E00\u4E2A\u91CD\u653E\u7684 Pipeline
+Pipeline.Log.SafeModeIsEnabled=\u4E3A\u8FD9\u4E2A\u8F6C\u6362\u5B89\u5168\u6A21\u5F0F\u5DF2\u7ECF\u5F00\u542F
+PeekMetric.Column.Updated=\u66F4\u65B0
+PipelineMeta.CheckResult.TypeResultError.LoggingTableNeedsAdjustments.Description=\u65E5\u5FD7\u8868\u9700\u8981\u4E00\u4E9B\u8C03\u6574\:
+PipelineDependency.Exception.UnableToLoadPipeline=\u65E0\u6CD5\u4ECEXML\u52A0\u8F7D\u8F6C\u6362\u4F9D\u8D56
+Pipeline.Log.AllocateingRowsetsForTransform=\ \u6B63\u5728\u5206\u914D\u884C\u7EC4\u4E3A Transform {0} --> {1}
 Pipeline.Log.Maxdepdate=\u6700\u5927\u53EF\u9760\u65E5\u671F \= 
-DatabaseImpact.TypeDesc.Label.Update=\u66F4\u65B0
+Pipeline.Log.FailToInitializeAtLeastOneTransform=\u65E0\u6CD5\u521D\u59CB\u5316\u81F3\u5C11\u4E00\u4E2A Transform.  \u6267\u884C\u65E0\u6CD5\u5F00\u59CB\uFF01
+PipelineMeta.Exception.OnlyOneMappingOutputTransformAllowed=\u5F53\u6CA1\u6709\u6307\u5B9A\u7279\u5B9A\u7684\u5199\u5165 Transform \u540D\u79F0,\u5728\u6620\u5C04\u91CC\u53EA\u80FD\u6709\u4E00\u4E2A'\u6620\u5C04\u8F93\u51FA' Transform ,\u53D1\u73B0\u4E86{0}.
+TransformLoader.RuntimeError.UnableToLoadClass.PIPELINE0003=\u65E0\u6CD5\u52A0\u8F7D\u5E26\u8BF4\u660E\u7684\u7528\u4E8E Transform /\u63D2\u4EF6\u5904\u7406\u7684\u7C7B  [{0} \u68C0\u67E5 Hop\u5206\u914D\u63D2\u4EF6\u5B50\u76EE\u5F55\u7684\u63D2\u4EF6\u662F\u5426\u53EF\u7528.
+Pipeline.Log.FinishedProcessing=\u5B8C\u6210\u5904\u7406(\u8F93\u5165\={0}, \u8F93\u51FA\={1}, \u8BFB\={2}
+PipelineMeta.CheckResult.TypeResultWarning.TransformIsNotUsed.Description=Pipeline \u91CC\u6CA1\u6709\u4F7F\u7528\u8FD9\u4E2A Transform.
+PipelineMeta.Log.WeHaveConnections=\u8FD9\u6709{0} \u6570\u636E\u5E93\u8FDE\u63A5...
+Pipeline.Log.NumberOfArgumentsDetected=\u5DF2\u7ECF\u627E\u5230\u7684\u53C2\u6570\u6570\u91CF\:{0} 
+DatabaseImpact.RowDesc.Label.Remarks=\u6CE8\u91CA
+Pipeline.Dialog.Description.NoFileNamePreviewMode=\u6CA1\u6709\u6587\u4EF6\u540D, \u9884\u89C8\u6A21\u5F0F
+TransformPlugin.Information.SeparateClassloader.Label=\u9694\u79BB\u7684\u7C7B\u52A0\u8F7D\u5668
+Pipeline.Dialog.Description.NoFileNamePreloadedPipeline=\u6CA1\u6709\u6587\u4EF6\u540D, \u9884\u8F7D\u5165 Pipeline
+PipelineMeta.Monitor.ReadingNoteTask.Title=\u8BFB\u53D6\u6CE8\u91CA...
+PipelineMeta.Monitor.CheckingForDatabaseUnfriendlyCharactersInFieldNamesTask.Title=\u68C0\u67E5\u5B57\u6BB5\u540D\u79F0\u91CC(\u5BF9\u4E8E\u6570\u636E\u5E93)\u975E\u6CD5\u7684\u5B57\u7B26\u4E32...
+PipelineMeta.SearchMetadata.DatabaseHostName=\u6570\u636E\u5E93\u670D\u52A1\u5668\u540D
+Pipeline.Log.PipelineHasAllocatedANewTransform=Pipeline \u5DF2\u7ECF\u5206\u914D\u4E86\u4E00\u4E2A\u65B0\u7684 Transform\: [{0}].{1}
+PipelineMeta.Log.LoadedPipeline=\u52A0\u8F7D\u8F6C\u6362[{0}]\u5728\u76EE\u5F55 {1}
+Pipeline.Log.TransformHasNumberRowCopies=\  Transform \u5DF2\u7ECF\u6709\u4E86\u526F\u672C\={0}
+TransformPlugin.Information.ToolTip.Label=\u63D0\u793A
 PipelineMeta.Log.LookingAtConnection=\u5BDF\u770B\u6570\u636E\u5E93\u8FDE\u63A5 \#
-PipelineMeta.Log.NumberOfHopsReaded=\u8BFB\u53D6\u7684\u8282\u70B9\u8FDE\u63A5\u6570\u91CF \: 
-Pipeline.Exception.TransactionsCommittedOnConnection=\u8F6C\u6362\u7ED3\u675F\u65F6,\u6570\u636E\u5E93\u8FDE\u63A5''{0}''\u4E0A\u7684\u6240\u6709\u4E8B\u52A1\u90FD\u88AB\u63D0\u4EA4
-PipelineMeta.Exception.DatabaseErrorOccuredReadingPipeline=\u4E00\u4E2A\u6570\u636E\u5E93\u9519\u8BEF\u53D1\u751F\u5728\u4ECE\u8D44\u6E90\u5E93\u6587\u4EF6\u8BFB\u53D6\u8F6C\u6362\u65F6
-PipelineMeta.Monitor.ReadingPipelineInfoTask.Title=\u8BFB\u53D6\u8F6C\u6362\u4FE1\u606F
-Pipeline.Exception.UnableToGetDependencyInfoFromDB=\u65E0\u6CD5\u83B7\u53D6\u4F9D\u8D56\u4FE1\u606F\uFF0C\u6765\u81EA[{0}{1}{2}]
-Pipeline.Log.FoundDefferentTransforms=\u6211\u627E\u5230 {0} \u4E2A\u4E0D\u540C\u7684\u8981\u6267\u884C\u7684\u6B65\u9AA4.
-PipelineMeta.Log.SavingHops=\u4FDD\u5B58\u8282\u70B9\u8FDE\u63A5...
-TransformLoader.Log.ReplaceExistingPlugid=\u8986\u76D6\u5DF2\u5B58\u5728\u7684\u63D2\u4EF6 \u4F7F\u7528ID \: 
-PipelineMeta.Log.EmptySharedObjectsFile=\u6B63\u5728\u4F7F\u7528\u7684\u5171\u4EAB\u5BF9\u8C61\u6587\u4EF6 ''{0}''\u4E0D\u5305\u542B\u4EFB\u4F55\u5171\u4EAB\u5BF9\u8C61 (\u6216\u4E0D\u5B58\u5728)
-PipelineMeta.Monitor.ReadingHopTask.Title=\u8BFB\u53D6\u8282\u70B9\u8FDE\u63A5
-Pipeline.Log.PipelineEnded=\u8F6C\u6362\u7ED3\u675F.
-TransformLoader.RuntimeError.NoValidTransformOrPlugin.PIPELINE0010=\u65E0\u6548\u7684\u6B65\u9AA4/\u63D2\u4EF6.
-Pipeline.Exception.ErrorInDatabase=\u9519\u8BEF\u53D1\u751F\u5728\u6570\u636E\u5E93 [{0}]
-Pipeline.Exception.MaximumDateConnectionCouldNotBeFound=\u6700\u6301\u4E45\u8FDE\u63A5 [{0}] \u4E0D\u80FD\u627E\u5230\!
-PipelineMeta.UndoTypeDesc.UndoPosition=\u64A4\u9500\u4F4D\u7F6E\u53D8\u66F4
-HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B \: 
-PipelineMeta.Exception.ErrorReadingPipeline=\u9519\u8BEF\u4ECEXML\u6587\u4EF6\u8BFB\u53D6\u8F6C\u6362
-Pipeline.Log.PipelineIsKillingTheOtherTransforms=\u8F6C\u6362\u6B63\u5728\u6740\u6B7B\u5176\u4ED6\u6B65\u9AA4\!
-Pipeline.Log.LookingForMaxdateConnection=\u6B63\u5728\u5BFB\u627E\u6700\u6301\u4E45\u7684\u8FDE\u63A5\: [{0}]
+DatabaseImpact.RowDesc.Label.Transform=Transform
+PeekMetric.Column.PriorityBufferSizes=Pri/in/out
+PipelineMeta.Monitor.SavingDatabaseTask.Title=\u4FDD\u5B58\u6570\u636E\u5E93 \#
+PipelineMeta.Exception.PlsSelectAValidDirectoryBeforeSavingThePipeline=\u8BF7\u9009\u62E9\u4E00\u4E2A\u53EF\u7528\u7684\u76EE\u5F55\u5728\u4FDD\u5B58\u8F6C\u6362\u4E4B\u524D\uFF01
+PipelineMeta.CheckResult.TypeResultError.CannotFindPreviousFields.Description=\u65E0\u6CD5\u4ECE Transform \u91CC\u627E\u5230\u4EE5\u524D\u7684\u5B57\u6BB5\: 
+DatabaseImpact.RowDesc.Label.Type=\u7C7B\u578B
+PipelineMeta.Log.SavingDependencies=\u4FDD\u5B58\u4F9D\u8D56...
+TransformLoader.RuntimeError.MalformedURL.PIPELINE0008=\u96BE\u770B\u7684 URL
+TransformPlugin.Information.ClassName.Label=\u7C7B\u540D
+PipelineMeta.Monitor.ReadingTheAvailableSharedObjectsTask.Title=\u4ECE\u8D44\u6E90\u5E93\u91CC\u8BFB\u53D6\u53EF\u7528\u7684\u5171\u4EAB\u5BF9\u8C61
+Pipeline.Exception.TransactionsRolledBackOnConnection=Pipeline \u7ED3\u675F\u65F6,\u6570\u636E\u5E93\u8FDE\u63A5"{0}"\u4E0A\u7684\u6240\u6709\u4E8B\u52A1\u90FD\u88AB\u56DE\u6EDA
+TransformPlugin.Information.Directory.Label=\u76EE\u5F55
+PeekMetric.Column.Time=\u65F6\u95F4
+Pipeline.Log.UnexpectedErrorAtPipelineEnd=\u5728 pipeline \u5B8C\u6210\u65F6\u5F15\u53D1\u610F\u5916\u5F02\u5E38
+Pipeline.Exception.NoPipelineNameAvailableForLogging=\u5728\u8FDC\u7A0B\u670D\u52A1\u5668\u4E0A,\u8F6C\u6362\u9700\u8981\u4E00\u4E2A\u552F\u4E00\u6807\u8BC6\u540D\u79F0.
+PipelineMeta.SearchMetadata.DatabaseTypeDescription=\u6570\u636E\u5E93\u7C7B\u578B\u63CF\u8FF0
+PipelineMeta.SearchMetadata.DatabasePort=\u6570\u636E\u5E93\u7AEF\u53E3
+Pipeline.Log.OpeningMaximumDateConnection=\u6B63\u5728\u6253\u5F00\u6700\u6301\u4E45\u7684\u8FDE\u63A5...
+Pipeline.Log.ProcessSuccessfullyInfo=\u8FDB\u7A0B {0}{1} \u6210\u529F\u7ED3\u675F, \u5904\u7406\u4E86 {2} \u884C. ( {3} \u884C/\u79D2)
+TransformLoader.RuntimeError.CouldNotFindDirectory.PIPELINE0002=\u65E0\u6CD5\u627E\u5230\u76EE\u5F55[{0}]
+PipelineMeta.Monitor.GettingTheSQLForPipelineTask.Title2=\u83B7\u53D6\u5BF9\u4E8E\u8FD9\u4E2A\u8F6C\u6362\u7684SQL\u8BED\u53E5(\u65E5\u5FD7\u8868\u7B49.)
+PipelineMeta.Log.EmptySharedObjectsFile=\u6B63\u5728\u4F7F\u7528\u7684\u5171\u4EAB\u5BF9\u8C61\u6587\u4EF6 "{0}"\u4E0D\u5305\u542B\u4EFB\u4F55\u5171\u4EAB\u5BF9\u8C61 (\u6216\u4E0D\u5B58\u5728)
+PipelineMeta.Value.CheckingFieldName.FieldNameContainsSpaces.Description=\u5B57\u6BB5\u540D\u542B\u6709\u4E00\u4E2A\u6216\u66F4\u591A\u7A7A\u683C.  (\u6570\u636E\u5E93\u4E0D\u591F\u53CB\u597D\uFF01)
+PipelineMeta.SearchMetadata.TransformName=Transform \u540D\u79F0
+TransformLoader.Log.TransformLoader.Description=\u5728\u76EE\u5F55\u91CC\u67E5\u627E\u63D2\u4EF6\: 
+Pipeline.Exception.ErrorCommittingUniqueConnection=\u9519\u8BEF\u63D0\u4EA4\u8FDE\u63A5\: {0}
+Pipeline.Log.PipelineIsPreloaded=Pipeline \u5DF2\u7ECF\u4ECE\u8D44\u6E90\u5E93\u9884\u5148\u8F7D\u5165.
+Pipeline.Log.PipelineHasAllocated=Pipeline \u5DF2\u7ECF\u5206\u914D\u4E86 {0} \u7EBF\u7A0B \u548C {1} \u5217\u7EC4.
+PipelineMeta.SearchMetadata.DatabaseName=\u6570\u636E\u5E93\u540D\u79F0
+TransformLoader.RuntimeError.ClassNotFound.PIPELINE0005=\u7C7B\u627E\u4E0D\u5230
+TransformLoader.Log.TransformLoader.Title=Transform \u52A0\u8F7D\u5668
+PipelineMeta.Exception.OneMappingOutputTransformRequired=\u6307\u5B9A\u7684\u6620\u5C04\u9700\u8981\u4E00\u4E2A'\u6620\u5C04\u8F93\u51FA' Transform ,\u4F46\u662F\u6CA1\u6709\u8FD9\u4E2A Transform.
+PipelineMeta.Monitor.VerifyingTransformTask.Title=\u6821\u9A8C Transform [{0}]
 PipelineMeta.Log.OldVersionOfPipelineRemoved=\u65E7\u7248\u672C\u7684\u8F6C\u6362\u88AB\u5220\u9664.
-Pipeline.Log.AllocatingTransformsAndTransformData=\u6B63\u5728\u5206\u914D\u6B65\u9AA4\u548C\u6B65\u9AA4\u6570\u636E...
-PipelineMeta.Monitor.GettingFieldsFromTransformTask.Title=\u83B7\u53D6\u5B57\u6BB5\u6765\u81EA [{0}]
-PipelineMeta.Log.GettingFieldsFromTransform=\u4ECE\u6B65\u9AA4\u83B7\u53D6\u5B57\u6BB5\: {0}, \u7C7B\u578B\={1}
-TransformPlugin.Information.Type.Label=\u7C7B\u578B
-Pipeline.Log.AllocatingRowsets=\u5206\u6D3E\u8BB0\u5F55\u96C6...
-Pipeline.Log.NoLastDateFoundOnTheMaxdateConnection=\u5728\u6700\u6301\u4E45\u8FDE\u63A5\u4E0A\u6CA1\u6709\u627E\u5230\u6700\u540E\u65E5\u671F\!
-Pipeline.Log.PipelineErrorsDetected=\u9519\u8BEF\u88AB\u68C0\u6D4B\u5230\!
-PipelineMeta.CheckResult.TypeResultError.ErrorOccurredGettingTransformMetaFields.Description=\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\uFF0C\u6B63\u5728\u83B7\u5F97\u4FE1\u606F\u5B57\u6BB5 \u6B65\u9AA4 [{0}] \:{1}
-PipelineDependency.Exception.UnableToLoadPipeline=\u65E0\u6CD5\u4ECEXML\u52A0\u8F7D\u8F6C\u6362\u4F9D\u8D56
-Pipeline.Log.OpeningLogConnection=\u6253\u5F00\u65E5\u5FD7\u6570\u636E\u5E93\u8FDE\u63A5[{0}]
-PipelineMeta.CheckResult.TypeResultError.LogTableNotSpecified.Description=\u65E5\u5FD7\u8868\u6CA1\u6709\u6307\u5B9A, \u65E5\u5FD7\u6570\u636E\u5E93\u8FDE\u63A5\u662F
-PipelineMeta.Log.LoadedPipeline2=\u52A0\u8F7D\u8F6C\u6362[{0}] , \u76EE\u5F55 \=\= \u7A7A \: {1}
-Pipeline.Log.ErrorInitializingTransform=\u9519\u8BEF\u521D\u59CB\u5316\u6B65\u9AA4[{0}]
-PipelineMeta.Value.CheckingFieldName.FieldNameContainsSpaces.Description=\u5B57\u6BB5\u540D\u542B\u6709\u4E00\u4E2A\u6216\u66F4\u591A\u7A7A\u683C.  (\u6570\u636E\u5E93\u4E0D\u591F\u53CB\u597D\!)
-PipelineMeta.Monitor.CheckingTransformTask.Title=\u68C0\u67E5\u6B65\u9AA4 [{0}]
-PipelineMeta.CheckResult.TypeResultError.CannotFindPreviousFields.Description=\u65E0\u6CD5\u4ECE\u6B65\u9AA4\u91CC\u627E\u5230\u4EE5\u524D\u7684\u5B57\u6BB5\: 
-PipelineMeta.Exception.OnlyOneMappingOutputTransformAllowed=\u5F53\u6CA1\u6709\u6307\u5B9A\u7279\u5B9A\u7684\u5199\u5165\u6B65\u9AA4\u540D\u79F0,\u5728\u6620\u5C04\u91CC\u53EA\u80FD\u6709\u4E00\u4E2A'\u6620\u5C04\u8F93\u51FA'\u6B65\u9AA4,\u53D1\u73B0\u4E86{0}.
+TransformLoader.RuntimeError.UnknownPluginType.PIPELINE0004=\u672A\u77E5\u7684\u63D2\u4EF6\u7C7B\u578B\: 
+PipelineMeta.Monitor.ReadingHopTask.Title=\u8BFB\u53D6\u8282\u70B9\u8FDE\u63A5
 PipelineMeta.Monitor.SavingNoteTask.Title=\u4FDD\u5B58\u6CE8\u91CA \#
-Pipeline.Log.ExecutionStartedForFilename=\u5DF2\u7ECF\u5F00\u59CB\u4E3A\u6587\u4EF6\u540D\u89E3\u9664\u8865\u4E01 [{0}]
-PeekMetric.Column.Active=\u6FC0\u6D3B
 PeekMetric.Column.Read=\u8BFB
-PeekMetric.Column.Written=\u5199
-PeekMetric.Column.Copynr=\u590D\u5236\u7684\u8BB0\u5F55\u884C\u6570
-PeekMetric.Column.Output=\u8F93\u51FA
-PeekMetric.Column.Speed=\u901F\u5EA6 (\u6761\u8BB0\u5F55/\u79D2)
-PeekMetric.Column.Input=\u8F93\u5165
-PeekMetric.Column.Updated=\u66F4\u65B0
-PeekMetric.Column.Time=\u65F6\u95F4
-PeekMetric.Column.Errors=\u9519\u8BEF
-PeekMetric.Column.Rejected=\u62D2\u7EDD
-PeekMetric.Column.PriorityBufferSizes=Pri/in/out
-PeekMetric.Column.TransformName=\u6B65\u9AA4\u540D\u79F0
+Pipeline.Log.PipelineErrors=Pipeline \u9519\u8BEF\: 
+Pipeline.Exception.MaximumDateConnectionCouldNotBeFound=\u6700\u6301\u4E45\u8FDE\u63A5 [{0}] \u4E0D\u80FD\u627E\u5230\uFF01
+PipelineMeta.CheckResult.TypeResultError.LoggingTableDoesNotExist.Description=\u5728\u8FD9\u4E2A\u65E5\u5FD7\u6570\u636E\u5E93\u8FDE\u63A5\u91CC\u4E0D\u5B58\u5728\u65E5\u5FD7\u8868
+PipelineMeta.Monitor.SavingTransformTask.Title=\u4FDD\u5B58 Transform \#
+PipelineMeta.Monitor.GettingFieldsFromTransformTask.Title=\u83B7\u53D6\u5B57\u6BB5\u6765\u81EA [{0}]
 PipelineMeta.SearchMetadata.NotepadText=Notepad text
-PipelineMeta.SearchMetadata.DatabaseUsername=\u6570\u636E\u5E93\u7528\u6237\u540D
-PipelineMeta.SearchMetadata.DatabasePort=\u6570\u636E\u5E93\u7AEF\u53E3
-PipelineMeta.SearchMetadata.DatabaseName=\u6570\u636E\u5E93\u540D\u79F0
-PipelineMeta.SearchMetadata.DatabaseConnectionName=Database connection name
-PipelineMeta.SearchMetadata.DatabaseTypeDescription=\u6570\u636E\u5E93\u7C7B\u578B\u63CF\u8FF0
+PipelineMeta.Log.DatabaseError=Hop \u6570\u636E\u5E93\u9519\u8BEF\: 
+Pipeline.Log.ErrorInitializingTransform=\u9519\u8BEF\u521D\u59CB\u5316 Transform [{0}]
+PipelineMeta.Monitor.DeletingOldVersionPipelineTask.Title=\u5220\u9664\u65E7\u7248\u672C\u7684\u8F6C\u6362...
+Pipeline.Exception.UnableToGetDependencyInfoFromDB=\u65E0\u6CD5\u83B7\u53D6\u4F9D\u8D56\u4FE1\u606F\uFF0C\u6765\u81EA[{0}{1}{2}]
+PeekMetric.Column.Errors=\u9519\u8BEF
+PipelineMeta.Monitor.GettingTheSQLForPipelineTask.Title=\u6B63\u5728\u83B7\u53D6\u8FDB\u884C\u8FD9\u4E2A\u8F6C\u6362\u6240\u9700\u8981\u7684 SQL ...
+TransformLoader.RuntimeError.NoValidTransformOrPlugin.PIPELINE0010=\u65E0\u6548\u7684 Transform /\u63D2\u4EF6.
+PipelineMeta.CheckResult.TypeResultOK.CorrectLayout.Description=\u65E5\u5FD7\u8868\u6709\u6B63\u786E\u7684\u5E03\u5C40.
+Pipeline.Log.TransformFailedToInit=Transform [{0}] \u521D\u59CB\u5316\u5931\u8D25\uFF01
+PipelineMeta.Log.SavingOfPipelineStarted=\u5F00\u59CB\u4FDD\u5B58\u8F6C\u6362.
+PipelineMeta.Monitor.GettingTheSQLForTransformTask.Title=\u4E3A Transform [{0}]\u83B7\u53D6SQL\u8BED\u53E5 
+PipelineMeta.Log.GettingFieldsFromTransform=\u4ECE Transform \u83B7\u53D6\u5B57\u6BB5\: {0}, \u7C7B\u578B\={1}
+PipelineMeta.Exception.OnlyOneMappingInputTransformAllowed=\u5F53\u6CA1\u6709\u6307\u5B9A\u7279\u5B9A\u7684\u8BFB\u5165 Transform \u540D\u79F0,\u5728\u6620\u5C04\u91CC\u53EA\u80FD\u6709\u4E00\u4E2A'\u6620\u5C04\u8F93\u5165' Transform ,\u53D1\u73B0\u4E86{0}.
+PipelineMeta.Monitor.ReadingTransformTask.Title=\u8BFB\u53D6 Transform \#
+PipelineMeta.UndoTypeDesc.UndoNew=\u64A4\u9500\u65B0\u5EFA
+PipelineMeta.Log.DeletingOldVersionPipeline=\u5220\u9664\u65E7\u7248\u672C\u7684\u8F6C\u6362...
+PipelineMeta.Monitor.LookingAtTransformTask.Title=\u67E5\u627E Transform \#
+SingleThreadedPipeline.Log.SummaryInfo=\u5904\u7406\u5B8C\u6210  (I\={0}, O\={1}, R\={2}, W\={3}, U\={4}, E\={5})
+PipelineMeta.Log.ReadingTransforms=\u8BFB\u53D6 
+PipelineMeta.Exception.ErrorOpeningOrValidatingTheXMLFile=\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF\uFF0C\u5F53\u6253\u5F00/\u9A8C\u8BC1 XML \u6587\u4EF6 "{0}"\uFF01
+Pipeline.Exception.ErrorInDatabase=\u9519\u8BEF\u53D1\u751F\u5728\u6570\u636E\u5E93 [{0}]
+TransformLoader.RuntimeError.UnableToInstantiateClass.PIPELINE0006=\u65E0\u6CD5\u5B9E\u4F8B\u5316\u7C7B
+PeekMetric.Column.Active=\u6FC0\u6D3B
+PipelineMeta.Exception.MissingXMLFilePath=\u65E0\u6CD5\u542F\u52A8 Pipeline, \u6CA1\u6709\u6307\u5B9A Pipeline \u6587\u4EF6\u7684\u8DEF\u5F84.
+TransformPlugin.Type.All.Desc=\u6240\u6709
+Pipeline.Exception.TransactionsCommittedOnConnection=Pipeline \u7ED3\u675F\u65F6,\u6570\u636E\u5E93\u8FDE\u63A5"{0}"\u4E0A\u7684\u6240\u6709\u4E8B\u52A1\u90FD\u88AB\u63D0\u4EA4
+TransformWithMappingMeta.Exception.UnableToLoadPipeline=\u65E0\u6CD5\u52A0\u8F7D Pipeline [{0}]\: \u627E\u4E0D\u5230\u76EE\u5F55
+PipelineMeta.Log.LookingAtTransform=\u5BDF\u770B Transform \#
+DatabaseImpact.TypeDesc.Label.Update=\u66F4\u65B0
+Pipeline.Log.LookingAtTransform=\u5BDF\u770B Transform\: 
+Pipeline.Log.CannotHaveXYRelationships=\u8FD9\u8BF4\u660E\u4F60\u4E0D\u80FD\u6709 x-y \u7684\u5BF9\u5E94\u5173\u7CFB\uFF01
+PipelineMeta.Monitor.HandlingOldVersionPipelineTask.Title=\u5904\u7406\u65E7\u7248\u672C\u7684\u8F6C\u6362(\u5982\u679C\u5B58\u5728)...
+Pipeline.Log.PipelineEnded=Pipeline \u7ED3\u675F.
+PipelineMeta.Value.CheckingFieldName.FieldNameIsEmpty.Description=\u5B57\u6BB5\u540D\u79F0\u4E3A\u7A7A.
+Pipeline.Log.PipelineErrorsDetected=\u9519\u8BEF\u88AB\u68C0\u6D4B\u5230\uFF01
+PipelineMeta.Log.SavingPipelineInfo=\u4FDD\u5B58\u8F6C\u6362\u4FE1\u606F...
+Pipeline.Log.ThisIsAReplayPipeline=\u8FD9\u662F\u4E00\u4E2A\u56DE\u653E\u7684\u8F6C\u6362\: 
+PipelineMeta.Log.SavingNotes=\u4FDD\u5B58\u6CE8\u91CA...
+Pipeline.Log.PipelineIsKillingTheOtherTransforms=Pipeline \u6B63\u5728\u6740\u6B7B\u5176\u4ED6 Transform\uFF01
+Pipeline.Exception.UnableToOpenPipeline=Pipeline \u65E0\u6CD5\u6253\u5F00 [{0}]
+PeekMetric.Column.Speed=\u901F\u5EA6 (\u6761\u8BB0\u5F55/\u79D2)
+PipelineMeta.SQLStatement.ErrorDesc.ErrorObtainingPipelineLogTableInfo=\u6B63\u5728\u83B7\u5F97\u8F6C\u6362\u65E5\u5FD7\u8868\u683C\u4FE1\u606F\u65F6\u51FA\u9519\: 
+PipelineMeta.Log.SavingDatabaseConnections=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5...
+PipelineMeta.Log.LoadingPipeline=\u4ECE\u8D44\u6E90\u5E93\u52A0\u8F7D Pipeline [{0}]...
+PipelineMeta.Monitor.VerifyingThisPipelineTask.Title=\u6821\u9A8C\u8FD9\u4E2A\u8F6C\u6362...
+Pipeline.Log.PipelineIsToAllocateTransform=Pipeline \u5927\u7EA6\u5206\u914D\u4E86 Transform [{0}] \u7C7B\u578B\u7684 [{1}]
diff --git a/engine/src/main/resources/org/apache/hop/pipeline/transform/errorhandling/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/pipeline/transform/errorhandling/messages/messages_zh_CN.properties
index ee765c5..ed2e95c 100644
--- a/engine/src/main/resources/org/apache/hop/pipeline/transform/errorhandling/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/transform/errorhandling/messages/messages_zh_CN.properties
@@ -17,11 +17,11 @@
 #
 #
 #
-FileErrorHandlerContentLineNumber.Exception.CouldNotCreateWriteLine=\u4e0d\u80fd\u521b\u5efa\u5199\u4e00\u884c:
-FileErrorHandlerMissingFiles.FILE_DOES_NOT_EXIST=\u6587\u4ef6\u4e0d\u5b58\u5728
-FileErrorHandlerMissingFiles.FILE_WAS_NOT_ACCESSIBLE=\u6587\u4ef6\u4e0d\u80fd\u8bbf\u95ee
-FileErrorHandlerMissingFiles.Exception.CouldNotCreateNonExistantFile=\u4e0d\u80fd\u521b\u5efa \u4e0d\u5b58\u5728\u7684\u6587\u4ef6\u4e3a\u4e86 :
-FileErrorHandlerMissingFiles.Exception.CouldNotCreateNonAccessibleFile=\u4e0d\u80fd\u521b\u5efa \u4e0d\u53ef\u8bbf\u95ee\u7684\u6587\u4ef6\u4e3a\u4e86 :
-AbstractFileErrorHandler.Exception.CouldNotCreateFileErrorHandlerForFile=\u4e0d\u80fd\u4e3a\u6587\u4ef6\u521b\u5efa\u6587\u4ef6\u9519\u8bef\u53e5\u67c4:
-AbstractFileErrorHandler.Log.CouldNotFlushContentToFile=\u4e0d\u80fd\u5237\u65b0\u5185\u5bb9\u5230\u6587\u4ef6
-AbstractFileErrorHandler.Exception.CouldNotCloseFile=\u65e0\u6cd5\u5173\u95ed\u6587\u4ef6
+FileErrorHandlerContentLineNumber.Exception.CouldNotCreateWriteLine=\u4E0D\u80FD\u521B\u5EFA\u5199\u4E00\u884C\:
+FileErrorHandlerMissingFiles.FILE_DOES_NOT_EXIST=\u6587\u4EF6\u4E0D\u5B58\u5728
+FileErrorHandlerMissingFiles.FILE_WAS_NOT_ACCESSIBLE=\u6587\u4EF6\u4E0D\u80FD\u8BBF\u95EE
+FileErrorHandlerMissingFiles.Exception.CouldNotCreateNonExistantFile=\u4E0D\u80FD\u521B\u5EFA \u4E0D\u5B58\u5728\u7684\u6587\u4EF6\u4E3A\u4E86 \:
+FileErrorHandlerMissingFiles.Exception.CouldNotCreateNonAccessibleFile=\u4E0D\u80FD\u521B\u5EFA \u4E0D\u53EF\u8BBF\u95EE\u7684\u6587\u4EF6\u4E3A\u4E86 \:
+AbstractFileErrorHandler.Exception.CouldNotCreateFileErrorHandlerForFile=\u4E0D\u80FD\u4E3A\u6587\u4EF6\u521B\u5EFA\u6587\u4EF6\u9519\u8BEF\u53E5\u67C4\:
+AbstractFileErrorHandler.Log.CouldNotFlushContentToFile=\u4E0D\u80FD\u5237\u65B0\u5185\u5BB9\u5230\u6587\u4EF6
+AbstractFileErrorHandler.Exception.CouldNotCloseFile=\u65E0\u6CD5\u5173\u95ED\u6587\u4EF6
diff --git a/engine/src/main/resources/org/apache/hop/pipeline/transform/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/pipeline/transform/messages/messages_zh_CN.properties
index 58fa538..50e5d9b 100644
--- a/engine/src/main/resources/org/apache/hop/pipeline/transform/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/transform/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,104 +14,127 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.pipeline.transform' in locale 'zh_CN'
 #
 #
-BaseTransform.Category.Bulk=\u6279\u91CF\u52A0\u8F7D
-BaseTransform.Category.Cryptography=\u52A0\u5BC6
-BaseTransform.Category.DataWarehouse=\u6570\u636E\u4ED3\u5E93
-BaseTransform.Category.Experimental=\u5B9E\u9A8C
-BaseTransform.Category.Flow=\u6D41\u7A0B
-BaseTransform.Category.Inline=\u5185\u8054
+BaseTransform.Category.Scripting=\u811A\u672C
+BaseTransform.status.Paused=\u6682\u505C
+BaseTransform.status.Init=\u521D\u59CB\u5316
+BaseTransform.Log.ErrorInThreadSleeping=Interupted while trying to put a new row in a buffer\:
+BaseTransformDialog.ErrorHandling.TransformName.Label=\u9519\u8BEF\u5904\u7406 Transform \u540D
+BaseTransformDialog.FailedToGetFields.Title=\u9519\u8BEF
+BaseTransform.TypeTooltipDesc.Dummy=\u8FD9\u4E2A Transform \u7C7B\u578B\u4EC0\u4E48\u90FD\u4E0D\u4F5C.{0} \u5F53\u4F60\u60F3\u6D4B\u8BD5\u6216\u62C6\u5206\u6570\u636E\u6D41\u7684\u65F6\u5019\u6709\u7528\u3002
+BaseTransformDialog.ErrorHandling.MaxPctErr.Label=\u5141\u8BB8\u7684\u6700\u5927\u9519\u8BEF\u767E\u5206\u6BD4 (\u7A7A\=\=100%)
 BaseTransform.Category.Input=\u8F93\u5165
-BaseTransform.Category.Joins=\u8FDE\u63A5
-BaseTransform.Category.Lookup=\u67E5\u8BE2
 BaseTransform.Category.Mapping=\u6620\u5C04
-BaseTransform.Category.OpenERP=OpenERP
-BaseTransform.Category.Output=\u8F93\u51FA
-BaseTransform.Category.Palo=Palo
-BaseTransform.Category.Scripting=\u811A\u672C
-BaseTransform.Category.Statistics=\u7EDF\u8BA1
-BaseTransform.Category.Transform=\u8F6C\u6362
-BaseTransform.Category.Utility=\u5E94\u7528
-BaseTransform.Category.Validation=\u68C0\u9A8C
-BaseTransform.Category.Workflow=\u4F5C\u4E1A
+BaseTransformDialog.FailedToGetFieldsPrevious.DialogTitle=\u9519\u8BEF\u5B57\u6BB5
+BaseTransform.ColumnName.TransformName=Transform \u540D\u79F0
+BaseTransform.Log.AllowedRelationships=Only 1-1, 1-n, n-1 and n-n relationships are allowed\uFF01
+BaseTransformDialog.ErrorHandling.ErrCodeFieldName.Label=\u9519\u8BEF\u7F16\u7801\u5217\u540D
+TransformMeta.Exception.UnableToLoadClass=Unable to load class for transform/plugin with id [{0}]. Check if the plugin is available in the plugins subdirectory of the Hop distribution\u3002
+TransformOption.CheckResult.NotABoolean=\u201C{0}\u201D\u503C\u65E0\u6548\uFF0C\u8BF7\u5C06\u503C\u8BBE\u7F6E\u4E3A true \u6216 false
+BaseTransformDialog.Connection.Tooltip=\u9009\u62E9\u8981\u4F7F\u7528\u7684\u5173\u7CFB\u6570\u636E\u5E93\u8FDE\u63A5
+BaseTransform.SafeMode.Exception.DoubleFieldnames=\u76F8\u540C\u7684\u5217\u540D\u51FA\u73B0\u4E24\u6B21,\u4E0D\u5141\u8BB8\u8FD9\u6837\u3002
+BaseTransform.Category.Inline=\u5185\u8054
+BaseTransformDialog.ErrorHandling.ErrDescField.Label=\u9519\u8BEF\u63CF\u8FF0\u5217\u540D
+BaseTransformDialog.ErrorHandling.Title.Label=Transform \u9519\u8BEF\u5904\u7406\u8BBE\u7F6E
+BaseTransform.Property.MaxPercentErrors.Name=\u9519\u8BEF\u767E\u5206\u6BD4\u4E0A\u9650
+BaseTransformDialog.FailedToGetFieldsPrevious.DialogMessage=\u4ECE\u5148\u524D\u7684 transform \u4E2D\u83B7\u53D6\u5B57\u6BB5\u65F6\u51FA\u9519\uFF01
+BaseTransformDialog.GetFieldsChoice.Title=\u95EE\u9898
+BaseTransformDialog.ErrorHandling.MinErr.Label=\u5728\u8BA1\u7B97\u767E\u5206\u6BD4\u524D\u6700\u5C11\u8981\u8BFB\u5165\u7684\u884C\u6570
+BaseTransform.Exception.SourceTransformToReadFromCantRunInMultipleCopies=\u8981\u4ECE Transform [{0}] \u4E2D\u8BFB\u53D6\u6570\u636E\u884C\u7684\u65B9\u5F0F\u65E0\u6CD5\u6267\u884C\uFF0C\u56E0\u4E3A\u8BE5 Transform \u4E0B\u53D1\u6570\u636E\u5230 ({1}) \u4E2A\u526F\u672C\u4E2D\u3002 \u53EF\u4EE5\u63D2\u5165\u4E00\u4E2A \u6865\u63A5 Transform \u6765\u89E3\u51B3\u8FD9\u79CD\u60C5\u51B5
+BaseTransform.Log.FoundInputRowset=\u53D1\u73B0\u8F93\u5165\u8BB0\u5F55\u96C6\u5408 [{0}]
+BaseTransform.Log.OutputDone=Signaling "output done" to {0}\\u8f93\u51FA rowsets\u3002
+BaseTransform.SafeMode.Exception.MixingTypes=\u7B2C{0}\u5217\u7684\u6570\u636E\u7C7B\u578B\u548C\u63A5\u6536\u5230\u7684\u7B2C\u4E00\u884C\u7684\u6570\u636E\u7C7B\u578B\u4E0D\u540C\: \u4E0D\u540C\u683C\u5F0F\u7684\u884C\u88AB\u6DF7\u5728\u4E86\u4E00\u8D77,Field [{1}] \u548C field [{2}]\u7684\u6570\u636E\u7C7B\u578B\u4E0D\u540C\u3002
+BaseTransform.PartitionedToRow=\u5C06 \#{0} \u5206\u53D1\u5230 {1}\uFF0Crow\={2}
+BaseTransform.Log.MaxPercentageRejectedReached=\u8FBE\u5230\u4E86\u9519\u8BEF\u884C\u6570\u7684\u6700\u5927\u767E\u5206\u6BD4{0}.{2}\u884C\u91CC\u7684{1}\u9519\u8BEF.\u8F6C\u6362\u88AB\u8981\u6C42\u505C\u6B62\u3002
 BaseTransform.ColumnName.Copy=\u590D\u5236
-BaseTransform.ColumnName.EndDate=\u7ED3\u675F\u65E5\u671F
-BaseTransform.ColumnName.Errors=\u9519\u8BEF
-BaseTransform.ColumnName.LinesReaded=lines_read
-BaseTransform.ColumnName.LinesSkipped=lines_skipped
-BaseTransform.ColumnName.LinesUpdated=lines_updated
-BaseTransform.ColumnName.LinesWritten=lines_written
 BaseTransform.ColumnName.StartDate=\u5F00\u59CB\u65E5\u671F
-BaseTransform.ColumnName.TransformName=\u6B65\u9AA4\u540D\u79F0
-BaseTransform.Exception.UnableToFindRowset=Unable to find rowset for target transform [{0}]
-BaseTransform.Log.AllowedRelationships=Only 1-1, 1-n, n-1 and n-n relationships are allowed\!
-BaseTransform.Log.DistributionActivated=\u5206\u6563\u88AB\u6FC0\u6D3B
+BaseTransformDialog.AddNew=\u589E\u52A0\u65B0\u7684(&N)
+BaseTransform.Log.UnableToRetrievePartitionId=\u65E0\u6CD5\u4ECE\u5206\u533A Schema \u4E2D\u68C0\u7D22\u5230\u5206\u533A ID\: {0}
+BaseTransform.SafeMode.Exception.VaryingSize=\u884C\u7684\u5217\u6570\u4E0D\u540C,\u8FD9\u5728\u8F6C\u6362\u91CC\u662F\u4E0D\u5141\u8BB8\u7684.\u7B2C\u4E00\u884C\u5305\u62EC{0}\u5217,\u53E6\u4E00\u884C\u5305\u62EC{1}\u5217\: {2}
+BaseTransform.ColumnName.EndDate=\u7ED3\u675F\u65E5\u671F
+BaseTransform.status.Stopped=\u5DF2\u505C\u6B62
+BaseTransformDialog.GetFieldsChoice.Message=\u8868\u4E2D\u5DF2\u7ECF\u6709{0}\u884C\u6570\u636E,\u5982\u4F55\u5904\u7406\u65B0\u627E\u5230\u4E86{1}\u5217?
+BaseTransformDialog.EditConnectionButton.Label=\u7F16\u8F91(&E)...
+BaseTransform.Category.OpenERP=OpenERP
 BaseTransform.Log.DistributionDeactivated=\u5206\u6563\u88AB\u53BB\u6FC0\u6D3B
-BaseTransform.Log.ErrorInThreadSleeping=Interupted while trying to put a new row in a buffer\:
-BaseTransform.Log.ErrorSettingPriority=Error occured setting priorityFrom
-BaseTransform.Log.FinishedDispatching=\u5B8C\u6210\u5206\u53D1
-BaseTransform.Log.FoundInputRowset=\u53D1\u73B0\u8F93\u5165\u8BB0\u5F55\u96C6\u5408 [{0}]
+BaseTransform.Log.SleepInterupted=Sleep interupted\uFF01 Stopping\:
 BaseTransform.Log.FoundOutputRowset=\u53D1\u73B0\u8F93\u51FA rowset [{0}]
-BaseTransform.Log.GotPreviousTransform=\u83B7\u53D6\u6765\u81EA\u524D\u4E00\u6B65\u9AA4 [{0}] \#{1} --> {2}
-BaseTransform.Log.InputRowInfo=input rel is {0}\:{1}
-BaseTransform.Log.MaxPercentageRejectedReached=\u8FBE\u5230\u4E86\u9519\u8BEF\u884C\u6570\u7684\u6700\u5927\u767E\u5206\u6BD4{0}.{2}\u884C\u91CC\u7684{1}\u9519\u8BEF.\u8F6C\u6362\u88AB\u8981\u6C42\u505C\u6B62.
-BaseTransform.Log.OutputDone=Signaling ''output done'' to {0}\\u8f93\u51FA rowsets.
+TransformMeta.Log.SaveTransformDetails=TRANSFORM SAVE details...
+TransformMeta.Exception.UnableToLoadTransformMeta=Unable to load transform info from XML transform node
+BaseTransform.Category.Cryptography=\u52A0\u5BC6
+BaseTransform.Log.StopLookingForMoreRows=Stopped looking for more rows\u3002
+BaseTransform.Log.UnableToFindInputRowset=\u65E0\u6CD5\u627E\u5230\u8F93\u5165\u8BB0\u5F55\u96C6\uFF01
+BaseTransform.ColumnName.LinesUpdated=lines_updated
+BaseTransform.Log.NumberFormatException=Transform {1} \u7684 {0} \u503C\u88AB\u8BBE\u7F6E\u4E3A {2}\u3002 \u4F46\u5B83\u5FC5\u987B\u662F\u4E00\u4E2A\u6570\u5B57\u3002
 BaseTransform.Log.OutputRowInfo=output rel. is {0}\:{1}
-BaseTransform.Log.SleepInterupted=Sleep interupted\! Stopping\:
+BaseTransform.Category.Validation=\u68C0\u9A8C
+BaseTransform.status.Disposed=\u5DF2\u5904\u7406
 BaseTransform.Log.SleepInterupted2=Sleep interupted while looking for more rows from transform [{0}] -->
+BaseTransform.TypeTooltipDesc.Injector=\u6CE8\u5165 Transform \u5141\u8BB8\u901A\u8FC7 java API \u5C06\u6570\u636E\u884C\u6CE8\u5165\u5230 Pipeline
 BaseTransform.Log.SleepInterupted3=Interupted while looking for more rows from transform [{0}]
+TransformMeta.Log.EndOfReadXML=end of readXML()
+BaseTransform.ColumnName.LinesWritten=lines_written
+BaseTransform.Exception.UnableToFindRowset=Unable to find rowset for target transform [{0}]
+BaseTransformDialog.ErrorHandling.NrErrField.Label=\u9519\u8BEF\u6570\u5217\u540D
+BaseTransform.RowHandler.PutRowToNotSupported=\u8BE5 Transform \u5B9E\u73B0\u7C7B {0} \u4E0D\u652F\u6301\u5199\u5165\u6570\u636E\u884C\u5230\u5176\u5B83 Transform
+BaseTransform.Log.TransformMeta=Transform \u4FE1\u606F\: \u8F93\u5165\u6570\u91CF\={0} \u8F93\u51FA\u6570\u91CF\={1}
+BaseTransformDialog.ClearAndAdd=\u6E05\u9664\u5E76\u589E\u52A0\u6240\u6709(&C)
+BaseTransformDialog.NewConnectionButton.Label=\u65B0\u5EFA(&N)...
+BaseTransform.Category.Palo=Palo
 BaseTransform.Log.StartingBuffersAllocation=Starting allocation of buffers & new threads...
-BaseTransform.Log.StopLookingForMoreRows=Stopped looking for more rows.
-BaseTransform.Log.StopPuttingARow=Stopped while putting a row on the buffer
+BaseTransform.status.Finished=\u5DF2\u5B8C\u6210
+BaseTransform.Category.Flow=\u6D41\u7A0B
+BaseTransform.Category.Utility=\u5E94\u7528
+BaseTransform.SafeMode.Exception.MixingLayout=\u7B2C{0}\u5217\u7684\u5217\u540D\u548C\u63A5\u6536\u5230\u7684\u7B2C\u4E00\u884C\u7684\u5217\u540D\u4E0D\u540C\: \u4E0D\u540C\u683C\u5F0F\u7684\u884C\u88AB\u6DF7\u5728\u4E86\u4E00\u8D77,Field [{1}] \u548C field [{2}]\u7684\u5217\u540D\u4E0D\u540C\u3002
+BaseTransform.Category.Lookup=\u67E5\u8BE2
 BaseTransform.Log.SummaryInfo=\u5B8C\u6210\u5904\u7406 (I\={0}, O\={1}, R\={2}, W\={3}, U\={4}, E\={5})
-BaseTransform.Log.TooManyRejectedRows=\u592A\u591A\u7684\u884C\u51FA\u9519,{0} \u662F\u6700\u5927\u884C\u6570,{1}\u884C\u9519\u8BEF, \u8F6C\u6362\u88AB\u8981\u6C42\u505C\u6B62.
-BaseTransform.Log.TransformMeta=\u6B65\u9AA4\u4FE1\u606F\: \u8F93\u5165\u6570\u91CF\={0} \u8F93\u51FA\u6570\u91CF\={1}
-BaseTransform.Log.UnableToFindInputRowset=\u65E0\u6CD5\u627E\u5230\u8F93\u5165\u8BB0\u5F55\u96C6\!
-BaseTransform.Log.UnableToFindOutputRowset=\u65E0\u6CD5\u627E\u5230\u8F93\u51FA\u8BB0\u5F55\u96C6\!
-BaseTransform.Log.XYRelationshipsNotAllowed=This means you can''t have x-y relationships\!
-BaseTransform.SafeMode.Exception.DoubleFieldnames=\u76F8\u540C\u7684\u5217\u540D\u51FA\u73B0\u4E24\u6B21,\u4E0D\u5141\u8BB8\u8FD9\u6837.
-BaseTransform.SafeMode.Exception.MixingLayout=\u7B2C{0}\u5217\u7684\u5217\u540D\u548C\u63A5\u6536\u5230\u7684\u7B2C\u4E00\u884C\u7684\u5217\u540D\u4E0D\u540C\: \u4E0D\u540C\u683C\u5F0F\u7684\u884C\u88AB\u6DF7\u5728\u4E86\u4E00\u8D77,Field [{1}] \u548C field [{2}]\u7684\u5217\u540D\u4E0D\u540C.
-BaseTransform.SafeMode.Exception.MixingTypes=\u7B2C{0}\u5217\u7684\u6570\u636E\u7C7B\u578B\u548C\u63A5\u6536\u5230\u7684\u7B2C\u4E00\u884C\u7684\u6570\u636E\u7C7B\u578B\u4E0D\u540C\: \u4E0D\u540C\u683C\u5F0F\u7684\u884C\u88AB\u6DF7\u5728\u4E86\u4E00\u8D77,Field [{1}] \u548C field [{2}]\u7684\u6570\u636E\u7C7B\u578B\u4E0D\u540C.
-BaseTransform.SafeMode.Exception.VaryingSize=\u884C\u7684\u5217\u6570\u4E0D\u540C,\u8FD9\u5728\u8F6C\u6362\u91CC\u662F\u4E0D\u5141\u8BB8\u7684.\u7B2C\u4E00\u884C\u5305\u62EC{0}\u5217,\u53E6\u4E00\u884C\u5305\u62EC{1}\u5217 \: {2}
-BaseTransform.status.Disposed=\u5DF2\u5904\u7406
+BaseTransform.Log.GotPreviousTransform=\u83B7\u53D6\u6765\u81EA\u524D\u4E00 Transform [{0}] \#{1} --> {2}
 BaseTransform.status.Empty=\u7A7A
-BaseTransform.status.Finished=\u5DF2\u5B8C\u6210
-BaseTransform.status.Halted=\u7EC8\u6B62
-BaseTransform.status.Idle=\u7A7A\u95F2
-BaseTransform.status.Init=\u521D\u59CB\u5316
-BaseTransform.status.Paused=\u6682\u505C
-BaseTransform.status.Running=\u5728\u8FD0\u884C
-BaseTransform.status.Stopped=\u5DF2\u505C\u6B62
-BaseTransform.TypeLongDesc.Dummy=\u7A7A\u64CD\u4F5C (\u4EC0\u4E48\u4E5F\u4E0D\u505A)
-BaseTransform.TypeTooltipDesc.Dummy=\u8FD9\u4E2A\u6B65\u9AA4\u7C7B\u578B\u4EC0\u4E48\u90FD\u4E0D\u4F5C.{0} \u5F53\u4F60\u60F3\u6D4B\u8BD5\u6216\u62C6\u5206\u6570\u636E\u6D41\u7684\u65F6\u5019\u6709\u7528.
 BaseTransform.TypeLongDesc.Injector=\u8BB0\u5F55\u6CE8\u5C04
-BaseTransformDialog.Add=\u589E\u52A0\u6240\u6709(&a)
-BaseTransformDialog.AddNew=\u589E\u52A0\u65B0\u7684(&n)
-BaseTransformDialog.Cancel=\u53D6\u6D88(&C)
-BaseTransformDialog.ClearAndAdd=\u6E05\u9664\u5E76\u589E\u52A0\u6240\u6709(&C)
-BaseTransformDialog.Connection.Label=\u6570\u636E\u5E93\u8FDE\u63A5 
-BaseTransformDialog.EditConnectionButton.Label=&\u7F16\u8F91...
-BaseTransformDialog.ErrorHandling.Enable.Label=\u542F\u7528\u9519\u8BEF\u5904\u7406?
-BaseTransformDialog.ErrorHandling.ErrCodeFieldName.Label=\u9519\u8BEF\u7F16\u7801\u5217\u540D
-BaseTransformDialog.ErrorHandling.ErrDescField.Label=\u9519\u8BEF\u63CF\u8FF0\u5217\u540D
-BaseTransformDialog.ErrorHandling.ErrFieldName.Label=\u9519\u8BEF\u5217\u7684\u5217\u540D
+BaseTransform.Log.TooManyRejectedRows=\u592A\u591A\u7684\u884C\u51FA\u9519,{0} \u662F\u6700\u5927\u884C\u6570,{1}\u884C\u9519\u8BEF, \u8F6C\u6362\u88AB\u8981\u6C42\u505C\u6B62\u3002
+BaseTransform.TypeLongDesc.Dummy=\u7A7A\u64CD\u4F5C (\u4EC0\u4E48\u4E5F\u4E0D\u505A)
+TransformMeta.Log.SpecificLoadedTransform=specifics loaded for {0}
+BaseTransform.Category.Joins=\u8FDE\u63A5
+BaseTransform.Log.UnableToFindOutputRowset=\u65E0\u6CD5\u627E\u5230\u8F93\u51FA\u8BB0\u5F55\u96C6\uFF01
+BaseTransform.Exception.TargetTransformToWriteToDoesntExist=\u8981\u8F93\u51FA\u5230\u76EE\u6807\u7684 Transform [{0}] \u4E0D\u5B58\u5728\u3002
+BaseTransform.Log.ErrorSettingPriority=Error occured setting priorityFrom
+BaseTransform.Category.Output=\u8F93\u51FA
+BaseTransform.Exception.MetadataDoesntMatchDataRowSize=\u9047\u5230\u610F\u5916\u9519\u8BEF\: \u5143\u6570\u636E ({0}) \u4E2D\u7684\u5B57\u6BB5\u6570\u4E0E\u6570\u636E\u884C ({1}) \u4E2D\u7684\u5B57\u6BB5\u6570\u4E0D\u4E00\u81F4
+BaseTransform.SafeMode.Exception.MixingStorageTypes=\u914D\u7F6E\u5B57\u6BB5 \#{0} \u7684\u6570\u636E\u7C7B\u578B\u4E0E\u5B9E\u9645\u6570\u636E\u884C\u4E2D\u7684\u7C7B\u578B\u4E0D\u76F8\u540C\u540C\: \u60A8\u7684\u6570\u636E\u6D41\u4E2D\u6DF7\u6709\u4E0D\u540C\u7C7B\u578B\u7684\u6570\u636E\u884C\u3002 \u5B57\u6BB5 [{1}] \u4E0E\u5B57\u6BB5 [{2}] \u7684\u6570\u636E\u7C7B\u578B\u4E0D\u4E00\u81F4
+BaseTransform.Log.StopPuttingARow=Stopped while putting a row on the buffer
+BaseTransform.Property.MinRowsForErrorsPercentCalc.Name=\u5728\u8BA1\u7B97 \u201C\u9519\u8BEF\u767E\u5206\u6BD4\u4E0A\u9650\u201D \u4E4B\u524D\u8981\u8BFB\u53D6\u7684\u6700\u5C0F\u884C\u6570
+BaseTransform.Category.Bulk=\u6279\u91CF\u52A0\u8F7D
+TransformMeta.Log.SaveNewTransform=TRANSFORM SAVE insert general...
+BaseTransform.Log.InputRowInfo=input rel is {0}\:{1}
+BaseTransform.Category.Transform=Pipeline
+BaseTransform.status.Idle=\u7A7A\u95F2
+BaseTransform.Log.DistributionActivated=\u5206\u6563\u88AB\u6FC0\u6D3B
+BaseTransform.status.Halting=\u505C\u6B62\u4E2D
 BaseTransformDialog.ErrorHandling.MaxErr.Label=\u5141\u8BB8\u7684\u6700\u5927\u9519\u8BEF\u6570
-BaseTransformDialog.ErrorHandling.MaxPctErr.Label=\u5141\u8BB8\u7684\u6700\u5927\u9519\u8BEF\u767E\u5206\u6BD4 (\u7A7A\=\=100%)
-BaseTransformDialog.ErrorHandling.MinErr.Label=\u5728\u8BA1\u7B97\u767E\u5206\u6BD4\u524D\u6700\u5C11\u8981\u8BFB\u5165\u7684\u884C\u6570
-BaseTransformDialog.ErrorHandling.NrErrField.Label=\u9519\u8BEF\u6570\u5217\u540D
-BaseTransformDialog.ErrorHandling.TargetTransform.Label=\u76EE\u6807\u6B65\u9AA4
-BaseTransformDialog.ErrorHandling.Title.Label=\u6B65\u9AA4\u9519\u8BEF\u5904\u7406\u8BBE\u7F6E
-BaseTransformDialog.ErrorHandling.TransformName.Label=\u9519\u8BEF\u5904\u7406\u6B65\u9AA4\u540D
-BaseTransformDialog.FailedToGetFields.Message=\u4E3A\u4E86''{0}''\u6B65\u9AA4\u800C\u4ECE\u4E0A\u4E00\u4E2A\u6B65\u9AA4\u83B7\u53D6\u5217\u7684\u5217\u8868\u65F6\u53D1\u751F\u9519\u8BEF.
-BaseTransformDialog.FailedToGetFields.Title=\u9519\u8BEF
-BaseTransformDialog.GetFieldsChoice.Message=\u8868\u4E2D\u5DF2\u7ECF\u6709{0}\u884C\u6570\u636E,\u5982\u4F55\u5904\u7406\u65B0\u627E\u5230\u4E86{1}\u5217?
-BaseTransformDialog.GetFieldsChoice.Title=\u95EE\u9898
-BaseTransformDialog.NewConnectionButton.Label=&\u65B0\u5EFA...
-TransformMeta.Exception.UnableToLoadClass=Unable to load class for transform/plugin with id [{0}]. Check if the plugin is available in the plugins subdirectory of the Hop distribution.
-TransformMeta.Exception.UnableToLoadTransformMeta=Unable to load transform info from XML transform node
-TransformMeta.Log.EndOfReadXML=end of readXML()
+BaseTransform.Exception.SourceTransformToReadFromDoesntExist=\u627E\u4E0D\u5230\u8BFB\u53D6\u6570\u636E\u7684\u4E0A\u6E38 Transform [{0}]\u3002
+BaseTransformDialog.Cancel=\u53D6\u6D88(&C)
 TransformMeta.Log.LookingForTheRightTransformNode=looking for the right transform node ({0})
-TransformMeta.Log.SaveNewTransform=TRANSFORM SAVE insert general...
-TransformMeta.Log.SaveTransformDetails=TRANSFORM SAVE details...
-TransformMeta.Log.SpecificLoadedTransform=specifics loaded for {0}
\ No newline at end of file
+BaseTransform.TargetRowsetIsNotAvailable=\u76EE\u6807\u6570\u636E\u96C6\u5728\u76EE\u6807\u5206\u533A\u4E0A\u65E0\u6548\uFF0CpartitionNr \= {0}
+BaseTransform.Category.Experimental=\u5B9E\u9A8C
+BaseTransform.Log.XYRelationshipsNotAllowed=This means you can''t have x-y relationships\uFF01
+BaseTransform.status.Running=\u5728\u8FD0\u884C
+BaseTransform.Category.Statistics=\u7EDF\u8BA1
+BaseTransformDialog.ErrorHandling.TargetTransform.Label=\u76EE\u6807 Transform
+BaseTransformDialog.ErrorHandling.Enable.Label=\u542F\u7528\u9519\u8BEF\u5904\u7406
+BaseTransform.status.Halted=\u7EC8\u6B62
+BaseTransform.ColumnName.LinesReaded=lines_read
+BaseTransformDialog.ErrorHandling.ErrFieldName.Label=\u9519\u8BEF\u5217\u7684\u5217\u540D
+TransformOption.CheckResult.NotAInteger=\u201C{0}\u201D\u503C\u65E0\u6548\uFF0C\u8BF7\u5C06\u503C\u8BBE\u7F6E\u4E3A\u6574\u6570
+BaseTransform.Property.MaxErrors.Name=\u9519\u8BEF\u6B21\u6570\u4E0A\u9650
+BaseTransformDialog.Add=\u589E\u52A0\u6240\u6709(&A)
+BaseTransform.Category.Workflow=\u4F5C\u4E1A
+BaseTransform.RowHandler.GetRowFromNotSupported=\u8BE5\u5B9E\u73B0\u7C7B {0} \u4E0D\u652F\u6301\u4ECE\u524D\u7F6E Transform \u8BFB\u53D6\u6570\u636E\u884C
+BaseTransform.ColumnName.LinesSkipped=lines_skipped
+BaseTransform.Exception.TargetTransformToWriteToCantRunInMultipleCopies=\u8981\u8F93\u51FA\u5230\u636E\u6709 ({1}) \u4E2A\u526F\u672C\u7684 Transform [{0}] \u65E0\u6CD5\u8FD0\u884C\uFF0C\u4E0D\u652F\u6301\u3002
+BaseTransform.ColumnName.Errors=\u9519\u8BEF
+BaseTransformDialog.Connection.Label=\u6570\u636E\u5E93\u8FDE\u63A5 
+BaseTransformDialog.FailedToGetFields.Message=\u4E3A\u4E86"{0}" Transform \u800C\u4ECE\u4E0A\u4E00\u4E2A Transform \u83B7\u53D6\u5217\u7684\u5217\u8868\u65F6\u53D1\u751F\u9519\u8BEF\u3002
+BaseTransform.Log.FinishedDispatching=\u5B8C\u6210\u5206\u53D1
+BaseTransform.Category.DataWarehouse=\u6570\u636E\u4ED3\u5E93
diff --git a/engine/src/main/resources/org/apache/hop/pipeline/transforms/dummy/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/pipeline/transforms/dummy/messages/messages_zh_CN.properties
index 97ca65b..363cd0f 100644
--- a/engine/src/main/resources/org/apache/hop/pipeline/transforms/dummy/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/transforms/dummy/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,12 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.pipeline.transforms.dummy' in locale 'zh_CN'
 #
 #
-DummyDialog.TransformName.Label=\u6b65\u9aa4\u540d\u79f0  
-DummyDialog.Shell.Title=Dummy
-Dummy.Log.LineNumber=Linenr 
-DummyMeta.CheckResult.NotReceivingFields=Not receiving any fields from previous transforms\!
-DummyMeta.CheckResult.TransformRecevingData=\u6b65\u9aa4\u6b63\u5728\u8fde\u63a5\u524d\u4e00\u4e2a\u6b65\u9aa4, \u63a5\u6536 {0} \u4e2a\u5b57\u6bb5
-DummyMeta.CheckResult.TransformRecevingData2=\u6b65\u9aa4\u6b63\u5728\u63a5\u6536\u6765\u81ea\u522b\u7684\u6b65\u9aa4\u7684\u4fe1\u606f.
-DummyMeta.CheckResult.NoInputReceivedFromOtherTransforms=\u4ece\u522b\u7684\u6b65\u9aa4\u6ca1\u6709\u63a5\u6536\u5230\u4efb\u4f55\u8f93\u5165\!
+DummyMeta.CheckResult.TransformRecevingData2=Transform \u6B63\u5728\u63A5\u6536\u6765\u81EA\u522B\u7684 Transform \u7684\u4FE1\u606F\u3002
+DummyMeta.keyword=dummy
+Dummy.Log.LineNumber=\u884C\u53F7
+DummyMeta.CheckResult.NotReceivingFields=\u524D\u7F6E Transform \u7684\u6CA1\u6709\u8F93\u51FA\u4EFB\u4F55\u5B57\u6BB5\uFF01
+DummyDialog.Shell.Title=\u6865\u63A5
+DummyMeta.CheckResult.NoInputReceivedFromOtherTransforms=\u4ECE\u522B\u7684 Transform \u6CA1\u6709\u63A5\u6536\u5230\u4EFB\u4F55\u8F93\u5165\uFF01
+DummyMeta.CheckResult.TransformRecevingData=Transform \u6B63\u5728\u8FDE\u63A5\u524D\u4E00\u4E2A Transform , \u63A5\u6536 {0} \u4E2A\u5B57\u6BB5
+DummyDialog.TransformName.Label=Transform \u540D\u79F0  
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/pipeline/transforms/file/messages/messages_zh_CN.properties
similarity index 62%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to engine/src/main/resources/org/apache/hop/pipeline/transforms/file/messages/messages_zh_CN.properties
index b11c537..7b7c014 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/transforms/file/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.pipeline.transforms.file' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+BaseFileInputTransform.Log.Error.UnableToCreateFileObject=\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6 [{0}]
+BaseFileInputTransform.Log.Error.NoFilesSpecified=\u6CA1\u6709\u6307\u5B9A\u6587\u4EF6\uFF01\u505C\u6B62\u5904\u7406\u8FDB\u7A0B
+BaseFileInputTransform.Log.Error.UnableToFindFilenameField=\u5728\u8F93\u5165\u884C\u4E2D\u627E\u4E0D\u5230\u6587\u4EF6\u5B57\u6BB5 [{0}]
diff --git a/engine/src/main/resources/org/apache/hop/pipeline/transforms/injector/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/pipeline/transforms/injector/messages/messages_zh_CN.properties
index 0477561..ab76cea 100644
--- a/engine/src/main/resources/org/apache/hop/pipeline/transforms/injector/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/transforms/injector/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,17 +14,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.pipeline.transforms.injector' in locale 'zh_CN'
 #
 #
-InjectorDialog.Fields.Label=\u5b57\u6bb5 :
-InjectorMeta.CheckResult.NoInputReceivedError=\u6ca1\u6709\u4ece\u5176\u4ed6\u6b65\u9aa4\u6536\u5230\u8f93\u5165\u4fe1\u606f.
-Injector.Log.StartingToRun=\u6b63\u5728\u5f00\u59cb\u8fd0\u884c...
-InjectorDialog.Shell.Title=\u8bb0\u5f55\u6ce8\u5c04\u5668
-InjectorMeta.CheckResult.TransformExpectingNoReadingInfoFromOtherTransforms=\u8fd9\u4e2a\u6b65\u9aa4\u6ca1\u6709\u671f\u5f85\u4e5f\u6ca1\u6709\u4ece\u5176\u4ed6\u6b65\u9aa4\u8bfb\u53d6\u4fe1\u606f.
-InjectorDialog.ColumnInfo.Precision=\u7cbe\u5ea6
-InjectorDialog.TransformName.Label=\u6b65\u9aa4\u540d\u79f0
-InjectorDialog.ColumnInfo.Fieldname=\u5b57\u6bb5\u540d\u79f0
-Injector.Log.LineNumber=\u884c\u53f7 
-InjectorDialog.ColumnInfo.Length=\u957f\u5ea6
-InjectorDialog.ColumnInfo.Type=\u7c7b\u578b
-Injector.Log.UnexpectedError=\u4e0d\u53ef\u9884\u6599\u7684\u9519\u8bef\u53d1\u751f\u5728 ''
+InjectorMeta.CheckResult.NoInputReceivedError=\u6CA1\u6709\u4ECE\u5176\u4ED6 Transform \u6536\u5230\u8F93\u5165\u4FE1\u606F\u3002
+InjectorDialog.ColumnInfo.Length=\u957F\u5EA6
+InjectorDialog.ColumnInfo.Precision=\u7CBE\u5EA6
+InjectorDialog.ColumnInfo.Fieldname=\u5B57\u6BB5\u540D\u79F0
+Injector.Log.UnexpectedError=\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF\u53D1\u751F\u5728 "
+Injector.Log.StartingToRun=\u6B63\u5728\u5F00\u59CB\u8FD0\u884C...
+InjectorDialog.Shell.Title=\u8BB0\u5F55\u6CE8\u5C04\u5668
+InjectorDialog.ColumnInfo.Type=\u7C7B\u578B
+InjectorDialog.Fields.Label=\u5B57\u6BB5\:
+InjectorMeta.CheckResult.TransformExpectingNoReadingInfoFromOtherTransforms=\u8FD9\u4E2A Transform \u6CA1\u6709\u671F\u5F85\u4E5F\u6CA1\u6709\u4ECE\u5176\u4ED6 Transform \u8BFB\u53D6\u4FE1\u606F\u3002
+InjectorMeta.keyword=\u6CE8\u5165
+InjectorDialog.TransformName.Label=Transform \u540D\u79F0
+Injector.Log.LineNumber=\u884C\u53F7 
diff --git a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/pipeline/transforms/missing/messages/messages_zh_CN.properties
similarity index 77%
copy from core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
copy to engine/src/main/resources/org/apache/hop/pipeline/transforms/missing/messages/messages_zh_CN.properties
index eb95d6a..da264ee 100644
--- a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/transforms/missing/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,6 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.pipeline.transforms.missing' in locale 'zh_CN'
 #
 #
-HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B \: 
\ No newline at end of file
+MissingPipelineTransform.Log.CannotRunPipeline=\u7531\u4E8E\u7F3A\u5C11\u63D2\u4EF6\uFF0C\u65E0\u6CD5\u8FD0\u884C pipeline
diff --git a/engine/src/main/resources/org/apache/hop/resource/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/resource/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..212362f
--- /dev/null
+++ b/engine/src/main/resources/org/apache/hop/resource/messages/messages_zh_CN.properties
@@ -0,0 +1,24 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.resource' in locale 'zh_CN'
+#
+#
+ResourceUtil.Exception.ErrorClosingZipStream=\u5173\u95ED ZIP \u6587\u4EF6 [{0}] \u65F6\u51FA\u9519\u3002
+ResourceUtil.Exception.NoResourcesFoundToExport=\u627E\u4E0D\u5230\u8981\u5BFC\u51FA\u7684\u8D44\u6E90\: \u6B63\u5728\u4E2D\u6B62\uFF01
+ResourceUtil.ExportResourcesExplanation=\u8BE5\u8D44\u6E90\u53CA\u6240\u6709\u5F15\u7528\u8D44\u6E90\u5DF2\u88AB\u5BFC\u51FA\u5230 ZIP \u6587\u4EF6 [{0}] \u4E2D\u3002{3} \u5F15\u7528\u8F93\u5165\u6587\u4EF6\u7684\u76F8\u5BF9\u8DEF\u5F84\u5DF2\u66F4\u6539\uFF0C\u56E0\u4E3A\u6211\u4EEC\u5C3D\u53EF\u80FD\u66F4\u65B0 Transform \u4E2D\u53C2\u6570\u5185\u7EDD\u5BF9\u8DEF\u5F84\u7684\u5F15\u7528\u3002{3}\u6CE8\u610F: \u7EDD\u5BF9\u8DEF\u5F84\u8BBE\u7F6E\u4E3A\u751F\u6210\u53C2\u6570\u7684\u9ED8 [...]
+ResourceUtil.Exception.ErrorSerializingExportInterface=\u5E8F\u5217\u5316\u5BFC\u51FA\u63A5\u53E3 [{0}] \u65F6\u51FA\u9519
+ResourceUtil.SerializeResourceExportInterface.ZipEntryComment.OriginatingFile=\u539F\u59CB\u6587\u4EF6\: {0} ({1})
diff --git a/engine/src/main/resources/org/apache/hop/server/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/server/messages/messages_zh_CN.properties
index 2049a97..2a13b85 100644
--- a/engine/src/main/resources/org/apache/hop/server/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/server/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,21 +14,25 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.server' in locale 'zh_CN'
 #
 #
+HopServer.CannotCloseStream=\u4E0D\u80FD\u5173\u95ED\u6D41\: {0}
+HopServer.HopServerCouldNotBeFound=\u5185\u90E8\u8D44\u6E90\u5E93\u9519\u8BEF\:\u6CA1\u6709\u53D1\u73B0id \u4E3A [{0}] \u7684\u4ECE\u670D\u52A1\u5668\uFF01
+HopServer.StartReadingReply=\u5F00\u59CB\u4ECE web \u670D\u52A1\u5668\u4E0A\u8BFB\u53D6\u56DE\u590D\u3002
+HopServer.DEBUG_ResponseBody="\u54CD\u5E94\u4E3B\u4F53\: {0}
+HopServer.Error.404.Title=\u65E0\u6CD5\u8FDE\u63A5\u5230\u670D\u52A1\u5668
+HopServer.UrlIsInvalid=\u6307\u5B9A\u7684 URL \u65E0\u6548 [{0}]\: {1}
 ClusterSchema.NoHopServerDefined=\u5728\u96C6\u7FA4\u6A21\u5F0F[{0}]\u91CC\u6CA1\u6709\u5B9A\u4E49\u4ECE\u670D\u52A1\u5668
 HopServer.DETAILED_ExecutedService=\u5728\u4E3B\u673A [{1}]\u4E0A\u6267\u884C\u670D\u52A1[{0}] 
-HopServer.DETAILED_SentXmlToService=\u5728\u4E3B\u673A [{1}] \u4E0A\u53D1\u9001 XML \u7ED9\u670D\u52A1 [{0}]
+HopServer.DETAILED_FinishedReading=\u5728\u670D\u52A1\u5668\u4E0A\u8BFB\u53D6\u4E86{0} \u4E2A\u5B57\u8282\u3002
 HopServer.ErrorReceivingFile=\u4ECE HTTP \u4E0A\u83B7\u53D6\u6587\u4EF6\u53D1\u751F\u9519\u8BEF\: {0}
 HopServer.CannotSaveDueToIOError=\u7531\u4E8E\u4E00\u4E2A I/O \u9519\u8BEF\u4E0D\u80FD\u5C06 HTTP \u7ED3\u679C\u4FDD\u5B58\u5230\u6587\u4EF6\: {0}
-HopServer.DETAILED_FinishedReading=\u5728\u670D\u52A1\u5668\u4E0A\u8BFB\u53D6\u4E86{0} \u4E2A\u5B57\u8282.
+HopServer.DEBUG_ResponseStatus=\u54CD\u5E94\u72B6\u6001\u7801\: [{0}]
+HopServer.DETAILED_SentXmlToService=\u5728\u4E3B\u673A [{1}] \u4E0A\u53D1\u9001 XML \u7ED9\u670D\u52A1 [{0}]
 ClusterSchema.NoMasterServerDefined=\u5728\u96C6\u7FA4\u6A21\u5F0F[{0}]\u91CC\u6CA1\u6709\u5B9A\u4E49\u4E3B\u670D\u52A1\u5668
 HopServer.DEBUG_ConnectingTo=\u8FDE\u63A5\u5230\: [{0}]
-HopServer.StartReadingReply=\u5F00\u59CB\u4ECE web \u670D\u52A1\u5668\u4E0A\u8BFB\u53D6\u56DE\u590D.
 HopServer.CannotContactURLForSecurityInformation=\u4E0D\u80FD\u8FDE\u63A5URL [{0}]\u4EE5\u83B7\u5F97\u5B89\u5168\u5F15\u7528\u4FE1\u606F
-HopServer.DEBUG_ResponseBody="\u54CD\u5E94\u4E3B\u4F53\: {0}
-HopServer.HopServerCouldNotBeFound=\u5185\u90E8\u8D44\u6E90\u5E93\u9519\u8BEF\:\u6CA1\u6709\u53D1\u73B0id \u4E3A [{0}] \u7684\u4ECE\u670D\u52A1\u5668\!
 HopServer.FinishedReadingResponse=\u4ECE web \u670D\u52A1\u5668\u4E0A\u8BFB\u53D6\u4E86{0} \u4E2A\u5B57\u8282\u7684\u54CD\u5E94\u4FE1\u606F
-HopServer.DEBUG_ResponseStatus=\u54CD\u5E94\u72B6\u6001\u7801\: [{0}]
-HopServer.UrlIsInvalid=\u6307\u5B9A\u7684 URL \u65E0\u6548 [{0}]\: {1}
-HopServer.CannotCloseStream=\u4E0D\u80FD\u5173\u95ED\u6D41\: {0}
+HopServer.Error.404.Message=\u60A8\u4F3C\u4E4E\u6CA1\u6709\u8FDE\u63A5\u5230\u670D\u52A1\u5668\u3002 \u68C0\u67E5\u60A8\u6B63\u5728\u4F7F\u7528\u7684\u8DEF\u5F84\u5E76\u786E\u4FDD\u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5E76\u6B63\u5728\u8FD0\u884C\u3002
+HopServer.DETAILED_SentExportToService=\u5C06\u5BFC\u51FA\u6587\u4EF6\u53D1\u9001\u5230\u4E3B\u673A [{1}] \u4E0A\u7684\u670D\u52A1 [{0}]
diff --git a/engine/src/main/resources/org/apache/hop/ui/pipeline/config/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/ui/pipeline/config/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..ebb0514
--- /dev/null
+++ b/engine/src/main/resources/org/apache/hop/ui/pipeline/config/messages/messages_zh_CN.properties
@@ -0,0 +1,47 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.ui.pipeline.config' in locale 'zh_CN'
+#
+#
+PipelineRunConfigurationDialog.ExportResources.ToolTip=\u8BE5\u9009\u9879\u4E0D\u4EC5\u4F1A\u9009\u62E9\u60A8\u6B63\u5728\u8FDC\u7A0B\u6267\u884C\u7684 Pipeline\uFF0C\u8FD8\u4F1A\u9009\u62E9\u5F15\u7528\u7684 Piepline \u548C Workflow\u3002
+PipelineRunConfigurationDialog.HopServer.Label=Hop \u670D\u52A1
+PipelineRunConfigurationDialog.Transactional.Label=\u4E8B\u52A1\u578B Pipeline
+PipelineRunConfigurationDialog.MainTab.TabTitle=\u5B9E\u73B0\u7C7B
+PipelineRunConfigurationDialog.RowSetSize.Label=\u6570\u636E\u96C6\u884C\u6570
+PipelineRunConfigurationDialog.Variables.Column.Description=\u63CF\u8FF0
+PipelineRunConfigurationDialog.Transactional.ToolTip=\u5982\u679C\u542F\u7528\u8BE5\u529F\u80FD\uFF0C\u6BCF\u4E2A\u6570\u636E\u5E93\u5C06\u59CB\u7EC8\u53EA\u4F7F\u7528\u540C\u4E00\u8FDE\u63A5\u3002 \u5728 Pipeline \u7ED3\u675F\u65F6\uFF0C\u5C06\u540C\u65F6\u5BF9\u6240\u6709\u547D\u540D\u8FDE\u63A5\u8FDB\u884C\u63D0\u4EA4\u6216\u56DE\u6EDA(\u4EE5\u9632\u51FA\u9519)\u3002
+PipelineRunConfigurationDialog.Variables.Column.Name=\u53D8\u91CF\u540D
+PipelineRunConfigurationDialog.ExportResources.Label=\u5BFC\u51FA\u94FE\u63A5\u8D44\u6E90\u5230\u670D\u52A1\u5668
+PipelineRunConfigurationDialog.label.EngineType=\u5F15\u64CE\u7C7B\u578B
+PipelineRunConfigurationDialog.NamedResourceTargetFolder.Label=\u547D\u540D\u8D44\u6E90\u5F15\u7528\u76EE\u6807\u76EE\u5F55
+PipelineRunConfigurationDialog.ServerPollInterval.Label=\u670D\u52A1\u5668\u8F6E\u8BE2\u95F4\u9694(\u6BEB\u79D2)
+PipelineRunConfigurationDialog.Variables.Column.Value=\u503C
+PipelineRunConfigurationDialog.VariablesTab.TabTitle=\u53D8\u91CF
+PipelineRunConfigurationDialog.SafeModeEnabled.Label=\u5B89\u5168\u6A21\u5F0F
+PipelineRunConfigurationDialog.FeedbackShown.Label=\u65E5\u5FD7\u884C\u53CD\u9988
+PipelineRunConfigurationDialog.SampleTypeInGui.Label=GUI \u4E2D\u8FD0\u884C\u65F6\u7684\u6837\u672C\u7C7B\u578B
+PipelineRunConfigurationDialog.NamedResourceSourceFolder.ToolTip=\u5F53\u524D\u6B63\u5728\u4F7F\u7528\u7684\u547D\u540D\u8D44\u6E90\u7684\u6E90\u76EE\u5F55(\u4F8B\u5982\u201C$'{'PROJECT_HOME}\u201D)
+PipelineRunConfigurationDialog.RunConfiguration.Label=\u8FD0\u884C\u914D\u7F6E
+PipelineRunConfigurationDialog.FeedbackSize.Label=\u95F4\u9694\u884C\u6570(\u4E0A\u62A5 Metrics)
+PipelineRunConfigurationDialog.label.Description=\u63CF\u8FF0
+PipelineRunConfigurationDialog.label.name=\u540D\u79F0
+PipelineRunConfigurationDialog.ServerPollDelay.Label=\u670D\u52A1\u5668\u8F6E\u8BE2\u5EF6\u8FDF(\u6BEB\u79D2)
+PipelineRunConfigurationDialog.NamedResourceTargetFolder.ToolTip=\u60A8\u5E0C\u671B\u6E90\u76EE\u5F55\u6620\u5C04\u5230\u8FDC\u7A0B\u670D\u52A1\u5668\u4E0A\u7684\u4F4D\u7F6E\u3002
+PipelineRunConfigurationDialog.NamedResourceSourceFolder.Label=\u547D\u540D\u8D44\u6E90\u5F15\u7528\u6E90\u6587\u4EF6\u5939
+PipelineRunConfigurationDialog.SortTransformsTopologically.Label=\u6392\u5E8F Transform
+PipelineRunConfigurationDialog.GatheringMetrics.Label=\u6536\u96C6 Metrics
+PipelineRunConfigurationDialog.SampleSize.Label=GUI \u4E2D\u91C7\u6837\u7684\u884C\u6570
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/workflow/actions/dummy/messages/messages_zh_CN.properties
similarity index 69%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to engine/src/main/resources/org/apache/hop/workflow/actions/dummy/messages/messages_zh_CN.properties
index b11c537..59bf2be 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/workflow/actions/dummy/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.workflow.actions.dummy' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+ActionDummyDialog.Title=Action \u6837\u672C
+ActionDummy.Name=\u6A21\u62DF\u6837\u672C
+ActionDummyDialog.Name.Label=Action \u540D\u79F0
+ActionDummy.Description=\u8BE5 Action \u4EC0\u4E48\u4E5F\u4E0D\u505A
+ActionDummy.keyword=\u6837\u672C
diff --git a/engine/src/main/resources/org/apache/hop/workflow/actions/start/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/workflow/actions/start/messages/messages_zh_CN.properties
index 67ae542..32a48c3 100644
--- a/engine/src/main/resources/org/apache/hop/workflow/actions/start/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/workflow/actions/start/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,25 +14,30 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.workflow.actions.start' in locale 'zh_CN'
 #
 #
-ActionStart.Scheduling.Label=\u4f5c\u4e1a\u5b9a\u65f6\u8c03\u5ea6
-ActionStart.Repeat.Label=\u91cd\u590d: 
-ActionStart.Type.Label=\u7c7b\u578b: 
-ActionStart.Type.NoScheduling=\u4e0d\u9700\u8981\u5b9a\u65f6
-ActionStart.Type.Interval=\u65f6\u95f4\u95f4\u9694
+ActionStart.Scheduling.Label=\u4F5C\u4E1A\u5B9A\u65F6\u8C03\u5EA6
+ActionStart.keyword=start
+ActionStart.IntervalSeconds.Label=\u4EE5\u79D2\u8BA1\u7B97\u7684\u95F4\u9694\:
 ActionStart.Type.Daily=\u5929
-ActionStart.Type.Weekly=\u5468
+ActionStart.Description=\u542F\u52A8 Action \u662F Workflow \u6267\u884C\u7684\u8D77\u59CB\u70B9
+ActionStart.DayOfWeek.Saturday=\u661F\u671F\u516D
+ActionStart.Type.Interval=\u65F6\u95F4\u95F4\u9694
+ActionStart.DayOfWeek.Tuesday=\u661F\u671F\u4E8C
+ActionStart.Name=\u542F\u52A8
+ActionStart.Type.Label=\u7C7B\u578B\: 
+ActionStart.TimeOfDay.Label=\u6BCF\u5929\:
 ActionStart.Type.Monthly=\u6708
-ActionStart.IntervalSeconds.Label=\u4ee5\u79d2\u8ba1\u7b97\u7684\u95f4\u9694:
-ActionStart.IntervalMinutes.Label=\u4ee5\u5206\u949f\u8ba1\u7b97\u7684\u95f4\u9694: 
-ActionStart.DayOfWeek.Sunday=\u661f\u671f\u5929
-ActionStart.DayOfWeek.Monday=\u661f\u671f\u4e00
-ActionStart.DayOfWeek.Tuesday=\u661f\u671f\u4e8c
-ActionStart.DayOfWeek.Wednesday=\u661f\u671f\u4e09
-ActionStart.DayOfWeek.Thursday=\u661f\u671f\u56db
-ActionStart.DayOfWeek.Friday=\u661f\u671f\u4e94
-ActionStart.DayOfWeek.Saturday=\u661f\u671f\u516d
-ActionStart.TimeOfDay.Label=\u6bcf\u5929:
-ActionStart.DayOfMonth.Label=\u6bcf\u6708:
-ActionStart.DayOfWeek.Label=\u6bcf\u5468:
\ No newline at end of file
+ActionStart.DayOfMonth.Label=\u6BCF\u6708\:
+ActionStart.DayOfWeek.Sunday=\u661F\u671F\u5929
+ActionStart.DayOfWeek.Wednesday=\u661F\u671F\u4E09
+ActionStart.DayOfWeek.Thursday=\u661F\u671F\u56DB
+ActionStart.IntervalMinutes.Label=\u4EE5\u5206\u949F\u8BA1\u7B97\u7684\u95F4\u9694\: 
+ActionStart.Name.Label=Action \u540D\u79F0
+ActionStart.Type.Weekly=\u5468
+ActionStart.Repeat.Label=\u91CD\u590D\: 
+ActionStart.DayOfWeek.Monday=\u661F\u671F\u4E00
+ActionStart.DayOfWeek.Label=\u6BCF\u5468\:
+ActionStart.Type.NoScheduling=\u4E0D\u9700\u8981\u5B9A\u65F6
+ActionStart.DayOfWeek.Friday=\u661F\u671F\u4E94
diff --git a/engine/src/main/resources/org/apache/hop/workflow/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/workflow/messages/messages_zh_CN.properties
index 0e85f17..7dd1428 100644
--- a/engine/src/main/resources/org/apache/hop/workflow/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/workflow/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,83 +14,89 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.workflow' in locale 'zh_CN'
 #
 #
-WorkflowMeta.Monitor.SavingNoteNr=Saving note \#
-ActionCategory.Category.BulkLoading=\u6279\u91cf\u52a0\u8f7d
-WorkflowMeta.Monitor.VerifyingThisAction.Title=Verifying this Workflow...
-WorkflowMeta.Monitor.SavingActionNr=\u6b63\u5728\u4fdd\u5b58\u4f5c\u4e1a\u9879 \#
-WorkflowMeta.Monitor.SavingWorkflowDetails=\u6b63\u5728\u4fdd\u5b58\u4f5c\u4e1a\u8be6\u7ec6\u4fe1\u606f...
-WorkflowMeta.SpecialAction.Name=SPECIAL
-WorkflowMeta.Exception.UnableToLoadWorkflowFromXMLFile=Unable to load the workflow from XML file [
-Workflow.Log.UniqueWorkflowName=\u4f5c\u4e1a\u9700\u8981\u5728\u8fdc\u7a0b\u670d\u52a1\u4e0a\u6709\u4e00\u4e2a\u552f\u4e00\u7684\u540d\u5b57\u6765\u6807\u8bc6
-Workflow.Log.UnableToProcessLoggingStart=\u4e0d\u80fd\u5c06\u5f00\u59cb\u9879\u8bb0\u5f55\u5230\u65e5\u5fd7\u8868{0}\u4e2d
-WorkflowMeta.Monitor.ReadingNoteNr=Reading note \#
-WorkflowMeta.SQLFeedback.ErrorObtainingWorkflowLogTableInfo=Error obtaining workflow log table info\: 
-Workflow.Reason.Started=\u5f00\u59cb
-WorkflowMeta.Dialog.ConnectionExistsOverWrite.DontShowAnyMoreMessage=Please, don''t show this warning anymore.
-WorkflowMeta.Monitor.ReadingWorkflowInformation=Reading the workflow information
-WorkflowMeta.Exception.CanNotFindWorkflow=Can''t find workflow \: 
-Workflow.Reason.Finished=\u5b8c\u6210
-Workflow.Log.LaunchedActionInParallel=\u5e76\u884c\u542f\u52a8\u4f5c\u4e1a\u9879 [{0}] 
-Workflow.Comment.WorkflowStarted=\u5f00\u59cb\u6267\u884c\u4efb\u52a1
-WorkflowMeta.StartAction.Description=A workflow starts to process here.
-WorkflowMeta.Monitor.SavingPipeline=\u6b63\u5728\u4fdd\u5b58\u8f6c\u6362 
-WorkflowHopMeta.Exception.UnableToLoadHopInfoXML=\u4e0d\u80fd\u4ece XML \u4e2d\u52a0\u8f7d\u4f5c\u4e1a\u9879\u7684\u8282\u70b9\u8fde\u63a5
-WorkflowMeta.SearchMetadata.NotepadText=Notepad text
-Workflow.Log.ConversionError=\u4ece{0}\u53d6\u5230\u6700\u540e\u4e00\u6761\u65e5\u5fd7\u6570\u636e\u540e,\u53d1\u751f\u4e86\u4e00\u4e2a\u8f6c\u6362\u9519\u8bef
-WorkflowMeta.Monitor.GettingSQLStatementsForJobLogTables=Getting SQL statements for the workflow (logtable, etc.)
-WorkflowMeta.Monitor.LoadingWorkflow=Loading workflow 
-WorkflowMeta.SearchMetadata.ActionName=Action name
-WorkflowMeta.SearchMetadata.DatabaseUsername=\u6570\u636e\u5e93\u7528\u6237\u540d
+WorkflowMeta.Monitor.ReadingWorkflowHopNr=Reading workflow hop \#
+ActionCategory.Category.Experimental=\u5B9E\u9A8C
+Workflow.Log.NoHopServerSpecified=\u6CA1\u6709\u6307\u5B9A\u4ECE\u670D\u52A1\u5668
+WorkflowMeta.SearchMetadata.DatabaseTypeDescription=\u6570\u636E\u5E93\u7C7B\u578B\u63CF\u8FF0
+WorkflowMeta.Monitor.GettingSQLForActionCopy=Getting SQL statements for action copy [
+WorkflowMeta.ErrorReadingSharedObjects.Message=There was an error while reading the shared objects (continuing load)\: {0}
+Workflow.Log.ConversionError=\u4ECE{0}\u53D6\u5230\u6700\u540E\u4E00\u6761\u65E5\u5FD7\u6570\u636E\u540E,\u53D1\u751F\u4E86\u4E00\u4E2A\u8F6C\u6362\u9519\u8BEF
+WorkflowMeta.Monitor.VerifyingThisActionTask.Title=\u6821\u9A8C\u4F5C\u4E1A\u9879\u4EFB\u52A1
+Workflow.Reason.StartOfAction=Start of action
+WorkflowMeta.Exception.CanNotFindWorkflow=Can''t find workflow\: 
+WorkflowMeta.Monitor.SavingPipeline=\u6B63\u5728\u4FDD\u5B58 Pipeline 
+Workflow.Reason.Finished=\u5B8C\u6210
+ActionCategory.Category.FileManagement=\u6587\u4EF6\u7BA1\u7406
+ActionCategory.Category.Mail=\u90AE\u4EF6
+WorkflowMeta.DummyAction.Name=\u6865\u63A5
 Workflow.Log.ErrorExecWorkflow=A serious error occurred during workflow execution\: {0}
+WorkflowHopMeta.Exception.UnableToLoadHopInfoXML=\u4E0D\u80FD\u4ECE XML \u4E2D\u52A0\u8F7D\u4F5C\u4E1A\u9879\u7684\u8282\u70B9\u8FDE\u63A5
+Workflow.Comment.FollowedUnconditional=Followed\u65E0\u6761\u4EF6\u7684\u94FE\u63A5
+WorkflowMeta.Dialog.ConnectionExistsOverWrite.Message=Connection [{0}] already exists, do you want to overwrite this database connection?
 WorkflowMeta.Monitor.FinishedLoadOfWorkflow=Finishing load
-Workflow.Log.FinishedAction=\u5b8c\u6210\u4f5c\u4e1a\u9879[{0}] (\u7ed3\u679c\=[{1}])
-WorkflowMeta.Exception.UnableToLoadWorkflowFromXMLNode=Unable to load workflow info from XML node
-WorkflowMeta.SearchMetadata.DatabasePort=\u6570\u636e\u5e93\u7aef\u53e3
+WorkflowMeta.Monitor.SavingNoteNr=Saving note \#
+WorkflowMeta.Monitor.SavingActionNr=\u6B63\u5728\u4FDD\u5B58\u4F5C\u4E1A\u9879 \#
+Workflow.Comment.WorkflowFinished=\u4EFB\u52A1\u6267\u884C\u5B8C\u6BD5
+Workflow.Log.LaunchedActionInParallel=\u5E76\u884C\u542F\u52A8\u4F5C\u4E1A\u9879 [{0}] 
+WorkflowMeta.Exception.AnErrorOccuredReadingWorkflow=\u8BFB\u53D6 Workflow \u6587\u4EF6 {0} \u65F6\u51FA\u9519
+WorkflowMeta.Dialog.ConnectionExistsOverWrite.DontShowAnyMoreMessage=Please, don''t show this warning anymore.
 WorkflowMeta.StartAction.Name=Start
+WorkflowMeta.SearchMetadata.DatabasePassword=\u6570\u636E\u5E93\u5BC6\u7801
+WorkflowMeta.SQLFeedback.ErrorObtainingWorkflowLogTableInfo=Error obtaining workflow log table info\: 
+ActionCategory.Category.BulkLoading=\u6279\u91CF\u52A0\u8F7D
+WorkflowMeta.SpecialAction.Name=SPECIAL
+WorkflowMeta.SearchMetadata.ActionDescription=Action description
+WorkflowMeta.Log.SavingDatabaseConnections=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5
+WorkflowHopMeta.Msg.ExecNextActionFlawLess=\u5982\u679C\u4E0A\u4E00\u4E2A\u4F5C\u4E1A\u9879\u6267\u884C\u6210\u529F,\u6267\u884C\u4E0B\u4E00\u4E2A\u4F5C\u4E1A\u9879.
+ActionCategory.Category.Conditions=\u6761\u4EF6
+WorkflowMeta.Monitor.SavingWorkflowDetails=\u6B63\u5728\u4FDD\u5B58\u4F5C\u4E1A\u8BE6\u7EC6\u4FE1\u606F...
 WorkflowMeta.DummyAction.Description=A dummy entry.
-ActionCategory.Category.Mail=\u90ae\u4ef6
-WorkflowHopMeta.Msg.ExecNextActionFlawLess=\u5982\u679c\u4e0a\u4e00\u4e2a\u4f5c\u4e1a\u9879\u6267\u884c\u6210\u529f,\u6267\u884c\u4e0b\u4e00\u4e2a\u4f5c\u4e1a\u9879.
-ActionCategory.Category.FileManagement=\u6587\u4ef6\u7ba1\u7406
-WorkflowMeta.Monitor.VerifyingAction.Title=Verifying action [{0}]
-ActionCategory.Category.Scripting=\u811a\u672c
-Workflow.Log.CounldNotFindStartingPoint=\u65e0\u6cd5\u627e\u5230\u4f5c\u4e1a\u7684\u5f00\u59cb\u70b9
-WorkflowMeta.DummyAction.Name=Dummy
-WorkflowMeta.Dialog.ConnectionExistsOverWrite.Message=Connection [{0}] already exists, do you want to overwrite this database connection?
-Workflow.Log.StartingAction=\u5f00\u59cb\u9879[{0}]
+Workflow.Log.CounldNotFindStartingPoint=\u65E0\u6CD5\u627E\u5230\u4F5C\u4E1A\u7684\u5F00\u59CB\u70B9
+Workflow.Log.StartingAction=\u5F00\u59CB\u9879[{0}]
 WorkflowMeta.SQLFeedback.ThisWorkflow=<this workflow>
-Workflow.Reason.StartOfAction=Start of action
-ActionCategory.Category.FileTransfer=\u6587\u4ef6\u4f20\u8f93
-ActionCategory.Category.General=\u901a\u7528
 WorkflowMeta.Monitor.GettingSQLNeededForThisWorkflow=Getting the SQL needed for this workflow...
-Workflow.Log.NoHopServerSpecified=\u6ca1\u6709\u6307\u5b9a\u4ece\u670d\u52a1\u5668
-WorkflowMeta.ErrorAction.Name=Error
-Workflow.Log.UnexpectedError=\u5f53\u542f\u52a8\u9879\u76ee[{0}]\u65f6\u53d1\u751f\u65e0\u6cd5\u9884\u6599\u7684\u9519\u8bef
-ActionCategory.Category.Experimental=\u5b9e\u9a8c
+ActionCategory.Category.FileTransfer=\u6587\u4EF6\u4F20\u8F93
+WorkflowMeta.StartAction.Description=A workflow starts to process here.
+WorkflowMeta.OkAction.Name=OK
+WorkflowMeta.SearchMetadata.DatabaseName=\u6570\u636E\u5E93\u540D\u79F0
+Workflow.Comment.FollowedFailure=Followed link after failure
 Workflow.Log.ErrorAllocatingNewWorkflow=Error allocating new workflow\: {0}
-WorkflowMeta.ErrorReadingSharedObjects.Message=There was an error while reading the shared objects (continuing load) \: {0}
-WorkflowMeta.Monitor.ReadingWorkflowHopNr=Reading workflow hop \#
-WorkflowMeta.SearchMetadata.DatabaseName=\u6570\u636e\u5e93\u540d\u79f0
-WorkflowHopMeta.Msg.ExecNextActionFailed=\u5982\u679c\u4e0a\u4e00\u4e2a\u4f5c\u4e1a\u9879\u5931\u8d25,\u6267\u884c\u4e0b\u4e00\u4e2a\u4f5c\u4e1a\u9879
 WorkflowMeta.Monitor.ReadingActionNr=Reading action \#
-Workflow.Comment.WorkflowFinished=\u4efb\u52a1\u6267\u884c\u5b8c\u6bd5
+Workflow.Log.UniqueWorkflowName=\u4F5C\u4E1A\u9700\u8981\u5728\u8FDC\u7A0B\u670D\u52A1\u4E0A\u6709\u4E00\u4E2A\u552F\u4E00\u7684\u540D\u5B57\u6765\u6807\u8BC6
 WorkflowMeta.Exception.ErrorReadingFromXMLFile=Error reading/validating information from XML file\: 
-WorkflowMeta.SearchMetadata.ActionDescription=Action description
-WorkflowMeta.SearchMetadata.DatabaseConnectionName=Database connection name
-WorkflowMeta.Log.SavingDatabaseConnections=\u4fdd\u5b58\u6570\u636e\u5e93\u8fde\u63a5
-Workflow.Comment.FollowedUnconditional=Followed\u65e0\u6761\u4ef6\u7684\u94fe\u63a5
-ActionCategory.Category.XML=XML
-WorkflowMeta.OkAction.Name=OK
-WorkflowMeta.Monitor.GettingSQLForActionCopy=Getting SQL statements for action copy [
+WorkflowMeta.Monitor.VerifyingAction.Title=Verifying action [{0}]
+ActionCategory.Category.General=\u901A\u7528
+Workflow.Reason.Started=\u542F\u52A8
 Workflow.Comment.FollowedSuccess=Followed link after success
-WorkflowMeta.Monitor.SavingDatabaseTask.Title=\u4fdd\u5b58\u6570\u636e\u5e93\u8fde\u63a5
-WorkflowMeta.SearchMetadata.DatabaseTypeDescription=\u6570\u636e\u5e93\u7c7b\u578b\u63cf\u8ff0
-WorkflowHopMeta.Msg.ExecNextActionUncondition=\u65e0\u6761\u4ef6\u6267\u884c\u4e0b\u4e00\u4e2a\u4f5c\u4e1a\u9879
-ActionCategory.Category.Conditions=\u6761\u4ef6
+WorkflowMeta.SearchMetadata.DatabaseHostName=\u6570\u636E\u5E93\u670D\u52A1\u5668\u540D
+WorkflowMeta.SearchMetadata.DatabaseServer=\u6570\u636E\u5E93\u540D\u79F0
+WorkflowMeta.Exception.UnableToLoadWorkflowFromXMLNode=Unable to load workflow info from XML node
+ActionCategory.Category.Utility=\u5E94\u7528
+WorkflowMeta.SearchMetadata.ActionName=Action name
+WorkflowMeta.Monitor.VerifyingThisAction.Title=Verifying this Workflow...
+WorkflowMeta.SearchMetadata.DatabasePort=\u6570\u636E\u5E93\u7AEF\u53E3
+Workflow.Log.UnableToProcessLoggingStart=\u4E0D\u80FD\u5C06\u5F00\u59CB\u9879\u8BB0\u5F55\u5230\u65E5\u5FD7\u8868{0}\u4E2D
+Workflow.Log.UnexpectedError=\u5F53\u542F\u52A8\u9879\u76EE[{0}]\u65F6\u53D1\u751F\u65E0\u6CD5\u9884\u6599\u7684\u9519\u8BEF
+WorkflowHopMeta.Exception.UnableToLoadHopInfo=\u65E0\u6CD5\u52A0\u8F7D Hop \u5143\u6570\u636E\u4FE1\u606F
+WorkflowMeta.ErrorAction.Name=Error
+WorkflowMeta.Monitor.GettingSQLStatementsForJobLogTables=Getting SQL statements for the workflow (logtable, etc.)
+WorkflowMeta.SearchMetadata.NotepadText=Notepad text
+Workflow.Log.FinishedAction=\u5B8C\u6210\u4F5C\u4E1A\u9879[{0}] (\u7ED3\u679C\=[{1}])
+WorkflowMeta.Monitor.ReadingNoteNr=Reading note \#
+ActionCategory.Category.XML=XML
+WorkflowHopMeta.Msg.ExecNextActionUncondition=\u65E0\u6761\u4EF6\u6267\u884C\u4E0B\u4E00\u4E2A\u4F5C\u4E1A\u9879
+ActionCategory.Category.Scripting=\u811A\u672C
+WorkflowMeta.Monitor.SavingDatabaseTask.Title=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5
+ActionCategory.Category.FileEncryption=\u6587\u4EF6\u52A0\u5BC6
+WorkflowMeta.Exception.UnableToLoadWorkflowFromXMLFile=Unable to load the workflow from XML file [
 WorkflowMeta.Monitor.HandlingPreviousVersionOfWorkflow=Handling previous version of workflow...
-WorkflowMeta.Monitor.VerifyingThisActionTask.Title=\u6821\u9a8c\u4f5c\u4e1a\u9879\u4efb\u52a1
-Workflow.Log.UnexpectedErrorWhileWaitingForAction=\u5728\u7b49\u5f85\u4f5c\u4e1a\u9879 [{0}] \u6267\u884c\u5b8c\u6210\u65f6\u53d1\u751f\u9519\u8bef.
-Workflow.Comment.FollowedFailure=Followed link after failure
-ActionCategory.Category.FileEncryption=\u6587\u4ef6\u52a0\u5bc6
-ActionCategory.Category.Utility=\u5e94\u7528
\ No newline at end of file
+Workflow.Log.UnexpectedErrorWhileWaitingForAction=\u5728\u7B49\u5F85\u4F5C\u4E1A\u9879 [{0}] \u6267\u884C\u5B8C\u6210\u65F6\u53D1\u751F\u9519\u8BEF.
+WorkflowHopMeta.Msg.ExecNextActionFailed=\u5982\u679C\u4E0A\u4E00\u4E2A\u4F5C\u4E1A\u9879\u5931\u8D25,\u6267\u884C\u4E0B\u4E00\u4E2A\u4F5C\u4E1A\u9879
+Workflow.Comment.WorkflowStarted=\u5F00\u59CB\u6267\u884C\u4EFB\u52A1
+WorkflowMeta.SearchMetadata.DatabaseConnectionName=Database connection name
+WorkflowMeta.Monitor.LoadingWorkflow=Loading workflow 
+WorkflowMeta.Monitor.ReadingWorkflowInformation=Reading the workflow information
+WorkflowMeta.SearchMetadata.DatabaseUsername=\u6570\u636E\u5E93\u7528\u6237\u540D
diff --git a/engine/src/main/resources/org/apache/hop/www/messages/messages_zh_CN.properties b/engine/src/main/resources/org/apache/hop/www/messages/messages_zh_CN.properties
index fcbcc24..e5b9a3d 100644
--- a/engine/src/main/resources/org/apache/hop/www/messages/messages_zh_CN.properties
+++ b/engine/src/main/resources/org/apache/hop/www/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,33 +14,128 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.www' in locale 'zh_CN'
 #
 #
-PipelineStatusServlet.Log.CoundNotFindSpecPipeline=\u6CA1\u6709\u627E\u5230\u6307\u5B9A\u7684\u8F6C\u6362 [{0}] 
+GetStatusServlet.StartPipeline.Failure.Body=\u672A\u542F\u52A8
+GetStatusServlet.PreparePipeline.Title=\u51C6\u5907\u6267\u884C
+HopServerStatusServlet.StopPipeline=\u505C\u6B62\u8FD0\u884C\u4E2D\u7684 Pipeline
+HopServer.Error.NoServerFound=\u65E0\u6CD5\u8FDE\u63A5 {0}\:{1} \u4E0A\u7684 Hop Server
+HopServerStatusServlet.BackToHopServerStatus=\u8FD4\u56DE Hop Server \u72B6\u6001\u9875\u9762
+HopServerStatusServlet.RemoveWorkflow=\u5220\u9664 Workflow
+GetRootServlet.HopHopServer.Title=Hop web server
+PausePipelineServlet.PausePipeline=\u6682\u505C Pipeline
+GetStatusServlet.RemovePipeline.Failure.Body=\u65E0\u6CD5\u5220\u9664\u6240\u9009 Pipeline
+PipelineStatusServlet.Written=\u5199
+GetStatusServlet.StartDate=\u542F\u52A8\u65F6\u95F4
+WorkflowStatusServlet.BackToWorkflowStatusPage=\u8FD4\u56DE Workflow \u72B6\u6001\u9875\u9762
+GetStatusServlet.TopStatus=Hop \u670D\u52A1\u5668\u72B6\u6001
+GetStatusServlet.StopWorkflow.Failure.Body=\u65E0\u6CD5\u505C\u6B62
+GetPipelineImageServlet.Log.PipelineImageRequested=\u8BF7\u6C42 Pipeline \u7684\u56FE\u50CF\u8D44\u6E90
+PipelineStatusServlet.BackToStatusPage=\u8FD4\u56DE\u5230\u670D\u52A1\u5668\u72B6\u6001\u9875\u9762
+PipelineStatusServlet.ShowAsXml=\u663E\u793A\u6210XML\u683C\u5F0F
+PipelineStatusServlet.Log.CoundNotFindSpecPipeline=\u6CA1\u6709\u627E\u5230\u6307\u5B9A\u7684 Pipeline [{0}] 
+HopServerStatusServlet.ViewWorkflowDetails=\u67E5\u770B Workflow \u8BE6\u7EC6\u4FE1\u606F
+HopServerStatusServlet.RemovePipeline=\u5220\u9664 Pipeline
+GetStatusServlet.StartWorkflow.Failure.Body=\u672A\u542F\u52A8
+GetStatusServlet.PreparePipeline.Success.Body=\u9884\u5904\u7406\u6210\u529F
+PipelineStatusServlet.Log.PipelineStatusRequested=\u8BF7\u6C42\u8F6C\u6362\u72B6\u6001
+PipelineStatusServlet.PreparePipeline=\u51C6\u5907\u6267\u884C
+PipelineStatusServlet.Updated=\u66F4\u65B0
+GetStatusServlet.ServerId=Hop \u670D\u52A1\u5668 ID
+HopServerStatusServlet.StopWorkflow=\u505C\u6B62\u8FD0\u884C\u4E2D\u7684 Workflow
+GetStatusServlet.RemovePipeline.Confirm.Body=\u60A8\u786E\u5B9A\u60F3\u8981\u5220\u9664?
+GetStatusServlet.StopInputPipeline.Title=\u505C\u6B62\u52A0\u8F7D\u8FDB\u7A0B
+StopWorkflowServlet.Log.CoundNotFindWorkflow=\u65E0\u6CD5\u627E\u5230 Workflow [{0}]
+StartWorkflowServlet.Log.WorkflowStarted=Workflow [{0}] \u5DF2\u542F\u52A8
+GetStatusServlet.StopPipeline.Failure.Body=\u65E0\u6CD5\u505C\u6B62
+GetStatusServlet.ResumePipeline.Success.Body=\u5DF2\u6062\u590D
+GetStatusServlet.TheWorkflow.Label=Workflow
+GetWorkflowImageServlet.Log.WorkflowImageRequested=\u8BF7\u6C42 Workflow \u56FE\u50CF\u8D44\u6E90
+PipelineStatusServlet.ServerObjectId=Hop Server ID
+GetStatusServlet.RemoveWorkflow.Failure.Body=\u65E0\u6CD5\u5220\u9664
+CleanupPipelineServlet.Log.PipelineCleanupRequested=\u9700\u8981\u6E05\u9664 Pipeline
+GetStatusServlet.StopWorkflow.Title=\u505C\u6B62 Workflow
+GetStatusServlet.LastLogTime=\u6700\u8FD1\u8BB0\u5F55\u65F6\u95F4
+GetStatusServlet.PipelineStop.Success.Body2=\u6210\u529F
+HopServer.Error.NoShutdown=\u65E0\u6CD5\u5173\u95ED Hop Server {0}\:{1} 
+WebServer.Log.CreateListener=\u521B\u5EFA web \u670D\u52A1\u76D1\u542C\u5668 @ \u5730\u5740\: {0}\:{1}
+GetStatusServlet.PipelineStop.Success.Body1=\u505C\u6B62\u8BF7\u6C42
+WorkflowStatusServlet.BackToStatusPage=\u8FD4\u56DE\u72B6\u6001\u9875\u9762
 PipelineStatusServlet.Refresh=\u5237\u65B0
+PipelineStatusServlet.Log.CoundNotFindPipeline=\u6CA1\u6709\u627E\u5230\u6307\u5B9A\u7684 Pipeline [{0}]
+GetStatusServlet.PreparePipeline.Failure.Body=\u65E0\u6CD5\u9884\u5904\u7406\u6267\u884C\u3002
+HopServerStatusServlet.CleanupPipeline=\u6E05\u7406 Pipeline
+GetStatusServlet.Status=\u72B6\u6001
+PipelineStatusServlet.BackToPipelineStatusPage=\u8FD4\u56DE Pipeline \u72B6\u6001\u9875\u9762
+GetStatusServlet.StopInputPipeline.Failure.Body=\u65E0\u6CD5\u505C\u6B62\u52A0\u8F7D\u8FDB\u7A0B
+PrepareExecutionPipelineServlet.PipelinePrepared=Pipeline [{0}] \u5B8C\u6210\u521D\u59CB\u5316
+GetStatusServlet.PausePipeline.Failure.Body=\u65E0\u6CD5\u6682\u505C
 WebServer.Error.FailedToStop.Msg=\u505C\u6B62\u7F51\u7EDC\u670D\u52A1\u5931\u8D25
-PipelineStatusServlet.PipelineName=\u8F6C\u6362\u540D\u79F0
-CleanupPipelineServlet.Log.PipelineCleanupRequested=\u9700\u8981\u6E05\u9664\u8F6C\u6362
+HopServer.Usage.Example=\u6837\u4F8B
+RemovePipelineServlet.PipelineRemoved=Pipeline \u5DF2\u7ECF\u5220\u9664
+GetStatusServlet.WorkflowName=\u540D\u79F0
 PipelineStatusServlet.Input=\u8F93\u5165
-PipelineStatusServlet.Rejected=\u62D2\u7EDD
-PipelineStatusServlet.Read=\u8BFB\u53D6
-PipelineStatusServlet.ShowAsXml=\u663E\u793A\u6210XML\u683C\u5F0F
-WebResult.Error.UnableCreateResult=\u65E0\u6CD5\u4ECEXML\u83B7\u5F97\u7ED3\u679C
+GetStatusServlet.StopPipeline.Title=\u505C\u6B62 Pipeline
+PipelineStatusServlet.PipelineName=Pipeline \u540D\u79F0
 PipelineStatusServlet.Speed=\u901F\u5EA6
-PipelineStatusServlet.Log.CoundNotFindPipeline=\u6CA1\u6709\u627E\u5230\u6307\u5B9A\u7684\u8F6C\u6362 [{0}]
-PipelineStatusServlet.Log.PipelineStatusRequested=\u8BF7\u6C42\u8F6C\u6362\u72B6\u6001
+GetStatusServlet.StartWorkflow.Title=\u8FD0\u884C Workflow
+GetStatusServlet.RemovePipeline.Title=\u5220\u9664 Pipeline
+PipelineStatusServlet.Errors=\u9519\u8BEF
+PipelineStatusServlet.Active=\u8FD0\u884C
+GetStatusServlet.RemoveWorkflow.Confirm.Body=\u60A8\u786E\u5B9A\u8981\u5220\u9664?
+PausePipelineServlet.CanNotFindPipeline=\u627E\u4E0D\u5230\u8981\u6682\u505C\u7684 Pipeline [{0}]
+GetStatusServlet.PipelineName=\u540D\u79F0
+WebResult.Error.UnableCreateResult=\u65E0\u6CD5\u4ECEXML\u83B7\u5F97\u7ED3\u679C
+WebServer.Log.SslModeUsing=SSL \u6A21\u5F0F
+GetStatusServlet.Lines=\u884C
+PipelineStatusServlet.Read=\u8BFB\u53D6
+PipelineStatusServlet.HopPipelineStatus=Hop Pipeline \u72B6\u6001
+GetRootServlet.HopServerMenu=Hop \u670D\u52A1\u5668\u83DC\u5355
+PipelineStatusServlet.StopPipeline=\u505C\u6B62 Pipeline
+GetStatusServlet.ResumePipeline.Failure.Body=\u65E0\u6CD5\u6062\u590D
+GetRootServlet.ShowStatus=\u663E\u793A\u72B6\u6001
+WebServer.Log.ConfigOptionsInvalid=\u65E0\u6548\u7684\u914D\u7F6E\u9009\u9879 [{0}]\: {1}, \u4F7F\u7528\u670D\u52A1\u5668\u9ED8\u8BA4\u914D\u7F6E\u3002
+PipelineStatusServlet.StartPipeline=\u5F00\u59CB Pipeline
+StartPipelineServlet.Log.PipelineStarted=Pipeline [{0}] \u5DF2\u7ECF\u542F\u52A8\u3002
+GetStatusServlet.Button.YesRemove=\u662F\uFF0C\u79FB\u9664
+GetStatusServlet.StatusRequested=/hop/status \u8BF7\u6C42
+GetRootServlet.RootRequested=/ \u8D44\u6E90\u8BF7\u6C42
 PipelineStatusServlet.PipelineStatus=\u72B6\u6001
-CleanupPipelineServlet.Log.PipelineCleanedUp=\u8F6C\u6362[{0}]\u88AB\u6E05\u9664 
+WebServer.Log.HopHTTPListener=\ [{0}]\u7684 Hop HTTP \u76D1\u542C\u5668
+GetStatusServlet.StopWorkflow.Success.Body2=\u6210\u529F
+GetStatusServlet.PausePipeline.Success.Body=\u5DF2\u6682\u505C
+GetStatusServlet.RemovePipeline.Success.Body=\u5DF2\u5220\u9664
+GetStatusServlet.StopInputPipeline.Success.Body2=\u6210\u529F
+GetStatusServlet.StartPipeline.Title=\u8FD0\u884C Pipeline
+GetStatusServlet.StartWorkflow.Success.Body=\u5DF2\u542F\u52A8
+StartPipelineServlet.Log.StartOfPipeline=\u542F\u52A8 Pipeline
+PipelineStatusServlet.TransformName=Transform \u540D\u79F0
+GetStatusServlet.ResumePipeline.Title=\u6062\u590D Pipeline
 WebServer.Error.FailedToStop.Title=\u7F51\u7EDC\u670D\u52A1\u9519\u8BEF
-PipelineStatusServlet.StartPipeline=\u5F00\u59CB\u8F6C\u6362
-PipelineStatusServlet.TransformName=\u6B65\u9AA4\u540D\u79F0
-PipelineStatusServlet.Updated=\u66F4\u65B0
-PipelineStatusServlet.Output=\u8F93\u51FA
-PipelineStatusServlet.TopPipelineStatus=\u72B6\u6001\u8F6C\u6362\uFF1A[{0}]
+StopPipelineServlet.StopPipeline=\u505C\u6B62 Pipeline
+PipelineStatusServlet.TopPipelineStatus=\u72B6\u6001\u8F6C\u6362\: [{0}]
+GetStatusServlet.StartPipeline.Success.Body=\u5DF2\u542F\u52A8
+HopServerStatusServlet.Run=\u8FD0\u884C
+RemoveWorkflowServlet.WorkflowRemoved=Workflow \u5DF2\u5220\u9664\uFF01
+GetWorkflowStatusServlet.WorkflowStatus={0} \u72B6\u6001
+GetStatusServlet.NoLimit=\u65E0\u9650\u5236
+GetStatusServlet.ConfigurationDetails.Title=\u8BE6\u7EC6\u914D\u7F6E\:
+PipelineStatusServlet.StartDate=\u542F\u52A8\u65F6\u95F4
+HopServer.Error.CanNotPartPort=\u65E0\u6CD5\u89E3\u6790\u7AEF\u53E3 [{0}], \u4F7F\u7528\u9ED8\u8BA4\u7AEF\u53E3 [{1}]
+GetStatusServlet.Button.No=No
+GetStatusServlet.ConfigurationDetails.UsingDefaults=(\u7528\u9ED8\u8BA4)
+GetWorkflowStatusServlet.HopWorkflowStatus=Hop Workflow \u72B6\u6001
+HopServerStatusServlet.ViewPipelineDetails=\u67E5\u770B Pipeline \u8BE6\u7EC6\u4FE1\u606F
+GetStatusServlet.RemoveWorkflow.Success.Body=\u5DF2\u5220\u9664
+CleanupPipelineServlet.Log.PipelineCleanedUp=Pipeline [{0}]\u88AB\u6E05\u9664 
+GetStatusServlet.ThePipeline.Label=Pipeline
+GetStatusServlet.Button.OK=OK
+GetStatusServlet.PausePipeline.Title=\u6682\u505C Pipeline
+PipelineStatusServlet.Rejected=\u62D2\u7EDD
 PipelineStatusServlet.Time=\u65F6\u95F4
-PipelineStatusServlet.StopPipeline=\u505C\u6B62\u8F6C\u6362
-WebServer.Log.CreateListener=\u521B\u5EFA web \u670D\u52A1\u76D1\u542C\u5668 @ \u5730\u5740\: {0}\:{1}
-WebServer.Log.HopHTTPListener=\ [{0}]\u7684 Hop HTTP \u76D1\u542C\u5668
-PipelineStatusServlet.HopPipelineStatus=Hop \u8F6C\u6362\u72B6\u6001
-PipelineStatusServlet.PreparePipeline=\u51C6\u5907\u6267\u884C
-PipelineStatusServlet.Written=\u5199
+GetStatusServlet.RemoveWorkflow.Title=\u5220\u9664 Workflow
+GetStatusServlet.Minutes=\u5206\u949F
+PipelineStatusServlet.Output=\u8F93\u51FA
+GetStatusServlet.HopHopServerStatus=Hop \u670D\u52A1\u5668\u72B6\u6001
+StopPipelineServlet.CanNotFindPipeline=\u6CA1\u6709\u627E\u5230 Pipeline [{0}]
diff --git a/plugins/misc/git/src/main/resources/org/apache/hop/git/messages/messages_zh_CN.properties b/plugins/misc/git/src/main/resources/org/apache/hop/git/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..e862867
--- /dev/null
+++ b/plugins/misc/git/src/main/resources/org/apache/hop/git/messages/messages_zh_CN.properties
@@ -0,0 +1,45 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.git' in locale 'zh_CN'
+#
+#
+GitGuiPlugin.Dialog.AddError.Message=\u6267\u884C git add \u65F6\u51FA\u9519
+GitGuiPlugin.Dialog.RevertFiles.Message=\u8BF7\u9009\u62E9\u8981\u6062\u590D\u7684\u6587\u4EF6
+GitGuiPlugin.Dialog.AddError.Header=Git \u6DFB\u52A0\u9519\u8BEF
+GitGuiPlugin.Dialog.NoFilesToCommit.Message=\u9057\u61BE\uFF0C\u6CA1\u6709\u8981\u63D0\u4EA4\u7684\u6587\u4EF6
+GitGuiPlugin.Dialog.PullError.Message=\u6267\u884C git pull \u65F6\u51FA\u9519
+GitGuiPlugin.Project.Label=Git \u9879\u76EE
+GitGuiPlugin.Dialog.PushError.Header=GIT \u63A8\u9001\u9519\u8BEF
+GitGuiPlugin.Dialog.NoFilesToRevert.Message=\u9057\u61BE\uFF0C\u6CA1\u6709\u8981\u8FD8\u539F\u7684\u6587\u4EF6
+GitGuiPlugin.Dialog.NoFilesToRevert.Header=\u6CA1\u6709\u8981\u8FD8\u539F\u7684\u6587\u4EF6
+GitGuiPlugin.Dialog.CommitError.Header=\u63D0\u4EA4\u9519\u8BEF
+GitGuiPlugin.Dialog.RevertFiles.Header=\u9009\u62E9\u8981\u6062\u590D\u6587\u4EF6
+GitGuiPlugin.Dialog.SelectFilesToCommit.Header=\u63D0\u4EA4\u6D88\u606F
+GitGuiPlugin.Info.Label=Git \u4FE1\u606F\: {0}
+GitGuiPlugin.Toolbar.Commit.Tooltip=Git \u63D0\u4EA4
+GitGuiPlugin.Toolbar.Push.Tooltip=Git \u63A8\u9001
+GitGuiPlugin.Dialog.RevertError.Message=\u6267\u884C git revert \u65F6\u51FA\u9519
+GitGuiPlugin.Toolbar.Info.Tooltip=Git \u4FE1\u606F
+GitGuiPlugin.Dialog.CommitError.Message=\u6267\u884C git commit \u65F6\u51FA\u9519
+GitGuiPlugin.Dialog.RevertError.Header=GIT \u8FD8\u539F\u9519\u8BEF
+GitGuiPlugin.Dialog.SelectFilesToCommit.Message=\u8BF7\u8F93\u5165\u63D0\u4EA4\u6D88\u606F\:
+GitGuiPlugin.Toolbar.Pull.Tooltip=Git \u62C9\u53D6
+GitGuiPlugin.Toolbar.Add.Tooltip=Git \u6DFB\u52A0
+GitGuiPlugin.Dialog.PushError.Message=\u6267\u884C git push \u65F6\u51FA\u9519
+GitGuiPlugin.Toolbar.Revert.Tooltip=Git \u6062\u590D\u5230\u6700\u8FD1\u7684\u7248\u672C(HEAD)
+GitGuiPlugin.Dialog.NoFilesToCommit.Header=\u6CA1\u6709\u6587\u4EF6\u53EF\u63D0\u4EA4
+GitGuiPlugin.Dialog.PullError.Header=Git \u62C9\u53D6\u9519\u8BEF
diff --git a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties b/plugins/misc/git/src/main/resources/org/apache/hop/git/model/messages/messages_zh_CN.properties
similarity index 77%
copy from core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
copy to plugins/misc/git/src/main/resources/org/apache/hop/git/model/messages/messages_zh_CN.properties
index eb95d6a..9403da8 100644
--- a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
+++ b/plugins/misc/git/src/main/resources/org/apache/hop/git/model/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,6 +14,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.git.model' in locale 'zh_CN'
 #
 #
-HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B \: 
\ No newline at end of file
+Git.Dialog.UncommittedChanges.Message=\u6709\u672A\u63D0\u4EA4\u7684\u53D8\u66F4
+Dialog.Error=\u9519\u8BEF
+Dialog.Success=\u6210\u529F
diff --git a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties b/plugins/misc/import/src/main/resources/org/apache/hop/imports/gui/messages/messages_zh_CN.properties
similarity index 84%
copy from core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
copy to plugins/misc/import/src/main/resources/org/apache/hop/imports/gui/messages/messages_zh_CN.properties
index eb95d6a..3402aed 100644
--- a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
+++ b/plugins/misc/import/src/main/resources/org/apache/hop/imports/gui/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,6 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.imports.gui' in locale 'zh_CN'
 #
 #
-HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B \: 
\ No newline at end of file
+HopGuiImport.Menu.Item=\u4ECE Kettle/PDI \u5BFC\u5165...
diff --git a/plugins/misc/import/src/main/resources/org/apache/hop/imports/kettle/messages/messages_zh_CN.properties b/plugins/misc/import/src/main/resources/org/apache/hop/imports/kettle/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..05eda14
--- /dev/null
+++ b/plugins/misc/import/src/main/resources/org/apache/hop/imports/kettle/messages/messages_zh_CN.properties
@@ -0,0 +1,34 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.imports.kettle' in locale 'zh_CN'
+#
+#
+KettleImportDialog.Workflow.RunConfiguration.Label=Workflow \u9ED8\u8BA4\u8FD0\u884C\u914D\u7F6E
+KettleImportDialog.Label.ImportFrom=\u5BFC\u5165\u4ECE
+KettleImportDialog.Label.SkipFolders=\u5FFD\u7565\u6E90\u8DEF\u5F84\u4E2D\u7684\u5B50\u76EE\u5F55
+KettleImportDialog.Label.ImportToFolder=\u5BFC\u5165\u5230\u76EE\u5F55
+KettleImportDialog.Label.ImportInProject=\u5BFC\u5165\u9879\u76EE
+KettleImportDialog.Label.PathToJDBCProperties=jdbc.properties \u6587\u4EF6\u8DEF\u5F84
+KettleImportDialog.Label.SkipHiddenFiles=\u5FFD\u7565\u9690\u85CF\u6587\u4EF6\u4E0E\u76EE\u5F55
+KettleImportDialog.Label.ImportInExistingProject=\u5BFC\u5165\u5DF2\u6709\u9879\u76EE
+KettleImportDialog.Label.PathToSharedXml=shared.xml \u6587\u4EF6\u8DEF\u5F84
+KettleImportDialog.Label.PathToKettleProperties=kettle.properties \u6587\u4EF6\u8DEF\u5F84
+KettleImportDialog.Label.TargetConfigFile=\u76EE\u6807\u73AF\u5883\u53D8\u91CF\u914D\u7F6E\u6587\u4EF6
+KettleImportDialog.Shell.Name=Kettle/PDI \u5BFC\u5165\u5668
+KettleImportDialog.Button.Browse=\u6D4F\u89C8...
+KettleImportDialog.Label.SkipExistingTargetFiles=\u8DF3\u8FC7\u540C\u540D\u6587\u4EF6
+KettleImportDialog.Pipeline.RunConfiguration.Label=Pipeline \u9ED8\u8BA4\u8FD0\u884C\u914D\u7F6E
diff --git a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/config/messages/messages_zh_CN.properties b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/config/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..0f80e1b
--- /dev/null
+++ b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/config/messages/messages_zh_CN.properties
@@ -0,0 +1,32 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.projects.config' in locale 'zh_CN'
+#
+#
+ProjectConfig.DefaultProject.Message=\u672A\u6307\u5B9A\u65F6\u4F7F\u7528\u7684\u9ED8\u8BA4\u9879\u76EE
+ProjectConfig.Tab.Name=\u9879\u76EE
+ProjectConfig.ProjectMandatory.Message=\u9879\u76EE\u7684\u4F7F\u7528\u662F\u5F3A\u5236\u6027\u7684
+ProjectConfig.ProjectNotExists.StandardProject.Error.Message=\u65E0\u6CD5\u5C06\u9879\u76EE \u201C{0}\u201D \u8BBE\u7F6E\u4E3A\u5EFA\u8BAE\u7684\u7236\u9879\u76EE\uFF0C\u56E0\u4E3A\u5B83\u4E0D\u5B58\u5728\uFF01
+ProjectConfig.ParentProject.Message=\u521B\u5EFA\u9879\u76EE\u65F6\u8981\u5EFA\u8BAE\u7236\u9879\u76EE
+ProjectConfig.SavingOption.ErrorDialog.Header=\u9519\u8BEF
+ProjectConfig.EnableProjectPlugin.Message=\u542F\u7528\u9879\u76EE\u63D2\u4EF6
+ProjectConfig.EnvironmentMandatory.Message=\u5F3A\u5236\u4F7F\u7528\u73AF\u5883\u7279\u6027
+ProjectConfig.ProjectNotExists.DefaultProject.Error.Message=\u65E0\u6CD5\u5C06\u9879\u76EE \u201C{0}\u201D \u8BBE\u7F6E\u4E3A\u5EFA\u8BAE\u7684\u9ED8\u8BA4\u9879\u76EE\uFF0C\u56E0\u4E3A\u5B83\u4E0D\u5B58\u5728\uFF01
+ProjectConfig.ProjectNotExists.Error.Header=\u9879\u76EE\u4E0D\u5B58\u5728\uFF01
+ProjectConfig.DefaultEnvironment.Message=\u672A\u6307\u5B9A\u65F6\u4F7F\u7528\u7684\u9ED8\u8BA4\u73AF\u5883
+ProjectConfig.SavingOption.ErrorDialog.Message=\u4FDD\u5B58\u9009\u9879\u65F6\u51FA\u9519
+ProjectConfig.StdProjectFolder.Message=GUI\: \u521B\u5EFA\u9879\u76EE\u65F6\u5EFA\u8BAE\u7684\u6807\u51C6\u9879\u76EE\u6587\u4EF6\u5939
diff --git a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/environment/messages/messages_zh_CN.properties b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/environment/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..548d714
--- /dev/null
+++ b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/environment/messages/messages_zh_CN.properties
@@ -0,0 +1,34 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.projects.environment' in locale 'zh_CN'
+#
+#
+LifecycleEnvironmentDialog.Button.Select=\u9009\u62E9...
+LifecycleEnvironmentDialog.Label.EnvironmentName=\u540D\u79F0
+LifecycleEnvironmentDialog.Group.Label.ConfigurationFiles=\u914D\u7F6E\u6587\u4EF6\:
+LifecycleEnvironmentDialog.Label.EnvironmentPurpose=\u9002\u7528\u4E8E
+LifecycleEnvironmentDialog.Purpose.Text.Development=\u5F00\u53D1
+LifecycleEnvironmentDialog.Purpose.Text.CI=\u6301\u7EED\u96C6\u6210
+LifecycleEnvironmentDialog.Button.New=\u65B0\u5EFA...
+LifecycleEnvironmentDialog.Button.Edit=\u7F16\u8F91...
+LifecycleEnvironmentDialog.Label.ReferencedProject=\u9879\u76EE
+LifecycleEnvironmentDialog.DetailTable.Label.Filename=\u6587\u4EF6\u540D
+LifecycleEnvironmentDialog.Purpose.Text.Acceptance=\u9A8C\u6536
+LifecycleEnvironmentDialog.Purpose.Text.Testing=\u6D4B\u8BD5
+LifecycleEnvironmentDialog.Purpose.Text.CB=\u901A\u7528\u6784\u5EFA
+LifecycleEnvironmentDialog.Shell.Name=\u73AF\u5883\u914D\u7F6E
+LifecycleEnvironmentDialog.Purpose.Text.Production=\u751F\u4EA7
diff --git a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/gui/messages/messages_zh_CN.properties b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/gui/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..6f03d66
--- /dev/null
+++ b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/gui/messages/messages_zh_CN.properties
@@ -0,0 +1,76 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.projects.gui' in locale 'zh_CN'
+#
+#
+ProjectGuiPlugin.EditEnvironment.Error.Dialog.Message=\u7F16\u8F91\u73AF\u5883\u53D8\u91CF "{0}" \u65F6\u51FA\u9519
+ProjectGuiPlugin.ZipDirectory.Error.Dialog.Message=\u538B\u7F29\u9879\u76EE\u65F6\u51FA\u9519
+HopGui.Toolbar.Project.Delete.Tooltip=\u5220\u9664\u9009\u4E2D\u7684\u9879\u76EE
+HopGui.Toolbar.Environment.Tooltip=\u5355\u51FB\u6B64\u5904\u7F16\u8F91\u5F53\u524D\u73AF\u5883
+ProjectGuiPlugin.AddProject.Error.Dialog.Message=\u6DFB\u52A0\u9879\u76EE\u65F6\u51FA\u9519
+ProjectGuiPlugin.DeleteEnvironment.Error.Dialog.Message=\u79FB\u52A8\u8FD0\u884C\u73AF\u5883 "{0}" \u65F6\u51FA\u9519
+ProjectGuiPlugin.LocalWFRunConfig.Dialog.Header=\u521B\u5EFA\u672C\u5730 Workflow \u8FD0\u884C\u914D\u7F6E
+ProjectGuiPlugin.AddProject.Error.Dialog.Header=\u9519\u8BEF
+HopGui.FileMenu.Project.Export.Label=\u5F53\u524D\u9879\u76EE\u5BFC\u51FA\u5230(zip)...
+HopGui.Toolbar.Project.Add.Tooltip=\u6DFB\u52A0\u65B0\u9879\u76EE
+HopGui.Toolbar.EnvironmentsList.Tooltip=\u9009\u62E9\u5F53\u524D\u73AF\u5883
+ProjectGuiPlugin.ZipDirectory.Dialog.Header=\u9879\u76EE zip \u6587\u4EF6\u5DF2\u521B\u5EFA
+ProjectGuiPlugin.DeleteProject.Error.Dialog.Message=\u5220\u9664\u9879\u76EE\u201C{0}\u201D\u65F6\u51FA\u9519
+ProjectGuiPlugin.ChangeProject.Error.Dialog.Header=\u9519\u8BEF
+HopGui.Toolbar.Project.Edit.Tooltip=\u7F16\u8F91\u9009\u5B9A\u7684\u9879\u76EE
+ProjectGuiPlugin.ProjectExists.Dialog.Message=\u5728\u6307\u5B9A\u6587\u4EF6\u5939\u4E2D\u627E\u5230\u73B0\u6709\u9879\u76EE\u914D\u7F6E\u6587\u4EF6, \u5B83\u5C06\u88AB\u7528\u4E8E\u8FD9\u4E2A\u9879\u76EE
+ProjectGuiPlugin.ZipDirectory.Error.Dialog.Header=\u9519\u8BEF
+ProjectGuiPlugin.ZipDirectory.Dialog.Message1=zip \u6587\u4EF6 {0} \u521B\u5EFA\u6210\u529F
+ProjectGuiPlugin.Lifecycle.Dialog.Header=\u4E3A\u9879\u76EE\u521B\u5EFA\u5168\u751F\u547D\u5468\u671F\u73AF\u5883
+ProjectGuiPlugin.EditEnvironment.Error.Dialog.Header=\u9519\u8BEF
+ProjectGuiPlugin.ReloadProject.Dialog.Header=\u91CD\u65B0\u52A0\u8F7D\u9879\u76EE?
+HopGui.Toolbar.Project.Label=\u9879\u76EE\:
+ProjectGuiPlugin.ZipDirectory.Taskname.Text=\u538B\u7F29\u9879\u76EE\u76EE\u5F55...
+ProjectGuiPlugin.SelectProject.Tooltip="{1}" \u76EE\u5F55\u4E0A\u7684\u9879\u76EE {0} \u914D\u7F6E\u5728 "{2}" \u6587\u4EF6\u4E2D
+ProjectGuiPlugin.ZipDirectory.Dialog.Message2=\u6587\u4EF6\u540D\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F
+ProjectGuiPlugin.DeleteProject.Error.Dialog.Header=\u9519\u8BEF
+ProjectGuiPlugin.DeleteProject.Dialog.Message1=\u662F\u5426\u4ECE Hop \u914D\u7F6E\u4E2D\u5220\u9664\u9879\u76EE \u201C{0}\u201D?
+ProjectGuiPlugin.LocalWFRunConfig.Dialog.Message=\u60A8\u60F3\u4E3A\u8BE5\u9879\u76EE\u914D\u7F6E\u672C\u5730 Workflow \u8FD0\u884C\u914D\u7F6E\u5417?
+ProjectGuiPlugin.DeleteProject.Dialog.Message2=\u8BF7\u6CE8\u610F\uFF0C\u6587\u4EF6\u5939 \u201C{0}\u201D \u53CA\u5176\u4E2D\u7684\u9879\u76EE\u914D\u7F6E\u6587\u4EF6 {1} \u4E0D\u4F1A\u505A\u4EFB\u4F55\u6539\u52A8
+HopGui.Toolbar.Environment.Add.Tooltip=\u6DFB\u52A0\u65B0\u73AF\u5883
+ProjectGuiPlugin.FindEnvironment.Tooltip=\u73AF\u5883 {0} \u5728\u9879\u76EE \u201C{1}\u201D \u4E2D\u88AB\u7528\u4E8E {2}
+ProjectGuiPlugin.DeleteProject.Dialog.Header=\u5220\u9664\u9879\u76EE?
+ProjectGuiPlugin.DeleteEnvironment.Error.Dialog.Header=\u9519\u8BEF
+ProjectGuiPlugin.ChangeProject.Error.Dialog.Message=\u5207\u6362\u9879\u76EE "{0}" \u65F6\u51FA\u9519
+ProjectGuiPlugin.EditProject.Error.Dialog.Message=\u7F16\u8F91\u9879\u76EE "{0}" \u65F6\u51FA\u9519
+FileDialog.Browse.Project.Home=\u5BFC\u822A\u5230\u9879\u76EE\u4E3B\u76EE\u5F55
+ProjectGuiPlugin.ProjectExists.Dialog.Header=\u914D\u7F6E\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728\uFF01
+ProjectGuiPlugin.DeleteProject.ProjectReferencedAsParent.Header=\u65E0\u6CD5\u5220\u9664\u9879\u76EE\uFF01
+HopGui.Toolbar.Environment.Delete.Tooltip=\u5220\u9664\u9009\u5B9A\u7684\u73AF\u5883
+ProjectGuiPlugin.AddEnvironment.Error.Dialog.Header=\u9519\u8BEF
+HopGui.Toolbar.Project.Tooltip=\u5355\u51FB\u6B64\u5904\u7F16\u8F91\u5F53\u524D\u9879\u76EE
+ProjectGuiPlugin.ChangeEnvironment.Error.Dialog.Header=\u9519\u8BEF
+ProjectGuiPlugin.EditProject.Error.Dialog.Header=\u9519\u8BEF
+ProjectGuiPlugin.LocalWFRunConfigDescription.Text=\u4F7F\u7528\u6807\u51C6\u672C\u5730 Hop Workflow \u5F15\u64CE\u505A\u4E3A\u672C\u5730\u8FD0\u884C\u914D\u7F6E
+ProjectGuiPlugin.Lifecycle.Dialog.Message2=\u60A8\u53EF\u4EE5\u4F7F\u7528\u5B83\u7BA1\u7406\u7279\u5B9A\u8BBE\u7F6E\uFF0C\u4F8B\u5982\u73AF\u5883\u7684\u4E3B\u673A\u540D\u548C\u8DEF\u5F84\u7B49\u4FE1\u606F
+ProjectGuiPlugin.DeleteEnvironment.Dialog.Message1=\u60A8\u786E\u8BA4\u8981\u5C06\u8FD0\u884C\u73AF\u5883 "{0}" \u4ECE\u5F53\u524D Hop \u914D\u7F6E\u4E2D\u5220\u9664?
+ProjectGuiPlugin.ChangeEnvironment.Error.Dialog.Message=\u4FEE\u6539\u9879\u76EE "{0}" \u65F6\u51FA\u9519
+HopGui.Toolbar.Environment.Label=\u73AF\u5883\:
+ProjectGuiPlugin.Lifecycle.Dialog.Message1=\u5982\u679C\u8FD9\u4E2A\u9879\u76EE\u662F\u751F\u547D\u5468\u671F\u7684\u4E00\u90E8\u5206\uFF0C\u5EFA\u8BAE\u60A8\u5C06\u5B83\u6DFB\u52A0\u5230\u751F\u547D\u5468\u671F\u73AF\u5883\u4E2D?
+ProjectGuiPlugin.DeleteEnvironment.Dialog.Message2=\u8BF7\u6CE8\u610F\uFF0C\u9879\u76EE\u201C{0}\u201D \u4E2D\u7684\u4EFB\u4F55\u6587\u4EF6\u53CA\u6587\u4EF6\u5939\u90FD\u4E0D\u4F1A\u88AB\u6539\u52A8
+HopGui.Toolbar.Environment.Edit.Tooltip=\u7F16\u8F91\u9009\u5B9A\u7684\u73AF\u5883
+ProjectGuiPlugin.ReloadProject.Dialog.Message=\u9700\u8981\u91CD\u65B0\u52A0\u8F7D\u6B64\u9879\u76EE, \u6240\u505A\u7684\u66F4\u6539\u624D\u4F1A\u751F\u6548\uFF0C\u4F60\u73B0\u5728\u60F3\u8FD9\u6837\u505A\u5417?
+ProjectGuiPlugin.DeleteEnvironment.Dialog.Header=\u5220\u9664\u73AF\u5883?
+ProjectGuiPlugin.DeleteProject.ProjectReferencedAsParent.Message1=\u5F53\u524D\u9879\u76EE\u65E0\u6CD5\u5220\u9664\uFF0C\u56E0\u4E3A\u5176\u88AB\u4EE5\u4E0B\u9879\u76EE\u5F15\u7528\u4E3A\u7236\u9879\u76EE\:
+HopGui.Toolbar.ProjectsList.Tooltip=\u9009\u62E9\u5F53\u524D\u9879\u76EE
+ProjectGuiPlugin.AddEnvironment.Error.Dialog.Message=\u6DFB\u52A0\u8FD0\u884C\u73AF\u5883\u65F6\u51FA\u9519
+ProjectGuiPlugin.DeleteProject.ProjectReferencedAsParent.Message2=\u8981\u6267\u884C\u5220\u9664\uFF0C\u60A8\u5FC5\u987B\u9996\u5148\u5220\u9664\u5217\u51FA\u7684\u9879\u76EE\u4E2D\u7684\u7236\u9879\u76EE\u5F15\u7528\uFF0C\u7136\u540E\u91CD\u8BD5.
diff --git a/plugins/misc/projects/src/main/resources/org/apache/hop/projects/project/messages/messages_zh_CN.properties b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/project/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..7b86f8e
--- /dev/null
+++ b/plugins/misc/projects/src/main/resources/org/apache/hop/projects/project/messages/messages_zh_CN.properties
@@ -0,0 +1,48 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.projects.project' in locale 'zh_CN'
+#
+#
+ProjectDialog.ProjectConfigError.Error.Dialog.Header=\u9519\u8BEF
+ProjectDialog.Label.HomeFolder=\u6839\u76EE\u5F55
+ProjectDialog.DetailTable.Label.VariableName=\u540D\u79F0
+ProjectDialog.Label.EnforceExecutionInHome=\u4ECE\u9879\u76EE\u6839\u76EE\u5F55\u5F3A\u5236\u6267\u884C
+ProjectDialog.ProjectDefinitionError.Error.Dialog.Message=\u9879\u76EE\u914D\u7F6E\u6709\u9519, \u6CA1\u6709\u8BBE\u7F6E\u67D0\u4E9B\u53D8\u91CF
+ProjectDialog.ProjectList.Error.Dialog.Message=\u83B7\u53D6\u9879\u76EE\u5217\u8868\u65F6\u51FA\u9519
+ProjectDialog.ProjectConfigError.Error.Dialog.Message=\u5728\u8BE5\u9879\u76EE\u4E2D\u6709\u9519\u8BEF\u914D\u7F6E
+ProjectDialog.Label.MetadataBaseFolder=\u5143\u6570\u636E\u76EE\u5F55(HOP_METADATA_FOLDER)
+ProjectDialog.Label.Description=\u63CF\u8FF0
+ProjectDialog.Label.Department=\u90E8\u95E8
+ProjectDialog.Label.ProjectName=\u540D\u79F0
+ProjectDialog.Label.UnitTestBaseFolder=\u5355\u5143\u6D4B\u8BD5\u76EE\u5F55(HOP_UNIT_TESTS_FOLDER)
+ProjectDialog.DetailTable.Label.VariableValue=\u503C
+ProjectGuiPlugin.WrongConfigPath.Dialog.Header=\u65E0\u6548\u7684\u9879\u76EE\u6839\u76EE\u5F55
+ProjectDialog.Label.Company=\u516C\u53F8
+ProjectDialog.Group.Label.ProjectVariablesToSet=\u9879\u76EE\u53D8\u91CF
+ProjectDialog.CreateHome.Dialog.Header=\u521B\u5EFA\u9879\u76EE\u6839\u76EE\u5F55?
+ProjectDialog.Shell.Name=\u9879\u76EE\u914D\u7F6E
+ProjectDialog.FileList.PrjFiles.Text=\u9879\u76EE\u914D\u7F6E\u6587\u4EF6(*.json)
+ProjectGuiPlugin.WrongConfigPath.Dialog.Message=\u7981\u6B62\u9009\u62E9\u9879\u76EE\u76EE\u5F55\u4E4B\u5916\u7684 project-config.json \u505A\u4E3A\u5176\u914D\u7F6E
+ProjectDialog.ProjectList.Error.Dialog.Header=\u9519\u8BEF
+ProjectDialog.Label.DatasetCSVFolder=CSV \u6570\u636E\u96C6\u76EE\u5F55(HOP_DATASETS_FOLDER)
+ProjectDialog.FileList.AllFiles.Text=\u6240\u6709\u6587\u4EF6(*.*)
+ProjectDialog.DetailTable.Label.VariableDescription=\u63CF\u8FF0(\u53EF\u9009)
+ProjectDialog.Label.ConfigurationFile=\u914D\u7F6E\u6587\u4EF6(\u76F8\u5BF9\u8DEF\u5F84)
+ProjectDialog.ProjectDefinitionError.Error.Dialog.Header=\u9519\u8BEF
+ProjectDialog.Label.ParentProject=\u7EE7\u627F\u81EA\u7236\u8350
+ProjectDialog.CreateHome.Dialog.Message=\u9879\u76EE "{0}" \u7684\u6839\u76EE\u5F55\u4E0D\u5B58\u5728, \u60A8\u662F\u5426\u521B\u5EFA\u8BE5\u76EE\u5F55?
+ProjectDialog.Button.Browse=\u6D4F\u89C8...
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/pipeline/meta/messages/messages_zh_CN.properties
similarity index 53%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/pipeline/meta/messages/messages_zh_CN.properties
index b11c537..5c9e86e 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/pipeline/meta/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.reflection.pipeline.meta' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+PipelineLoggingEditor.Filename.Label=\u6267\u884C Pipeline \u4EE5\u6355\u83B7\u65E5\u5FD7\u8BB0\u5F55
+PipelineLoggingEditor.AtStart.Label=\u5728 Pipeline \u542F\u52A8\u65F6\u6267\u884C
+PipelineLoggingEditor.Periodic.Label=\u6267\u884C\u671F\u95F4\u5B9A\u671F\u6267\u884C
+PipelineLoggingEditor.AtEnd.Label=\u5728 Pipeline \u5B8C\u6210\u65F6\u6267\u884C
+PipelineLoggingEditor.Enabled.Label=\u542F\u7528
+PipelineLoggingEditor.Interval.Label=\u95F4\u9694\u79D2\u6570
+PipelineLoggingEditor.LoggingParentsOnly.Label=\u4EC5\u8BB0\u5F55\u7236 Pipeline
+PipelineLoggingEditor.Name.Label=\u540D\u79F0
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/pipeline/transform/messages/messages_zh_CN.properties
similarity index 55%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/pipeline/transform/messages/messages_zh_CN.properties
index b11c537..f605383 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/pipeline/transform/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.reflection.pipeline.transform' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+PipelineLoggingDialog.Shell.Title=Pipeling \u8BB0\u5F55
+PipelineLoggingMeta.keyword=pipeline,logging
+PipelineLoggingDialog.LoggingTransforms.Label=\u540C\u65F6\u8BB0\u5F55 Transform  \u7684\u8BE6\u7EC6\u4FE1\u606F
+PipelineLoggingDialog.TransformName.Label=Transform \u540D\u79F0
+PipelineLogging.Transform.Description=\u4E3A\u60A8\u63D0\u4F9B\u6709\u5173 Pipeline \u53CA\u5176\u4E2D\u7684 Transform \u6267\u884C\u7684\u8BE6\u7EC6\u65E5\u5FD7\u8BB0\u5F55\u4FE1\u606F.
+PipelineLogging.Transform.Name=Pipeline \u8BB0\u5F55
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/probe/meta/messages/messages_zh_CN.properties
similarity index 60%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/probe/meta/messages/messages_zh_CN.properties
index b11c537..f16535b 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/probe/meta/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.reflection.probe.meta' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+PipelineProbeEditor.Name.Label=\u540D\u79F0
+PipelineProbeEditor.SourcesTable.Column.Transform=\u6E90 Transform
+PipelineProbeEditor.SourcesTable.Column.Pipeline=\u6E90 Pipeline
+PipelineProbeEditor.Filename.Label=\u6267\u884C Pipeline\u4EE5\u6355\u83B7\u65E5\u5FD7\u8BB0\u5F55
+PipelineProbeEditor.Sources.Label=\u6355\u83B7\u4E0B\u5217 Transform \u7684\u8F93\u51FA\:
+PipelineProbeEditor.Enabled.Label=\u542F\u7528
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/probe/transform/messages/messages_zh_CN.properties
similarity index 57%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/probe/transform/messages/messages_zh_CN.properties
index b11c537..992a65e 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/probe/transform/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.reflection.probe.transform' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+PipelineDataProbeDialog.TransformName.Label=Transform \u540D\u79F0
+PipelineDataProbe.Transform.Description=\u4E3A\u60A8\u63D0\u4F9B\u6765\u81EA Pipeline Probe \u5143\u6570\u636E\u5BF9\u8C61\u4E2D\u6307\u5B9A\u7684\u4E00\u4E2A\u6216\u591A\u4E2A Transform \u7684\u6807\u51C6\u5316\u5F62\u5F0F\u7684\u6570\u636E.
+PipelineDataProbe.Transform.Name=Pipelone \u55C5\u63A2\u5668
+PipelineDataProbeMeta.keyword=pipeline,data,probe
+PipelineDataProbeDialog.Shell.Title=Pipeline \u55C5\u63A2
diff --git a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/reader/meta/messages/messages_zh_CN.properties
similarity index 84%
copy from core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
copy to plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/reader/meta/messages/messages_zh_CN.properties
index eb95d6a..57c2a31 100644
--- a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
+++ b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/reader/meta/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,6 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.reflection.reader.meta' in locale 'zh_CN'
 #
 #
-HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B \: 
\ No newline at end of file
+LogReaderEditor.label.name=\u540D\u79F0
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/workflow/meta/messages/messages_zh_CN.properties
similarity index 53%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/workflow/meta/messages/messages_zh_CN.properties
index b11c537..4be2946 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/workflow/meta/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.reflection.workflow.meta' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+WorkflowLoggingEditor.Periodic.Label=\u8FD0\u884C\u671F\u95F4\u5B9A\u671F\u6267\u884C
+WorkflowLoggingEditor.AtEnd.Label=\u5728 Pipeline \u7ED3\u675F\u65F6\u6267\u884C
+WorkflowLoggingEditor.Name.Label=\u540D\u79F0
+WorkflowLoggingEditor.AtStart.Label=\u5728 Pipeline \u5F00\u59CB\u65F6\u6267\u884C
+WorkflowLoggingEditor.LoggingParentsOnly.Label=\u4EC5\u8BB0\u5F55\u7236 Workflow
+WorkflowLoggingEditor.Interval.Label=\u95F4\u9694\u79D2\u6570
+WorkflowLoggingEditor.Enabled.Label=\u542F\u7528
+WorkflowLoggingEditor.Filename.Label=\u6267\u884C Pipeline \u4EE5\u6355\u83B7\u65E5\u5FD7\u8BB0\u5F55
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/workflow/transform/messages/messages_zh_CN.properties
similarity index 59%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/workflow/transform/messages/messages_zh_CN.properties
index b11c537..5db2cdf 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/plugins/misc/reflection/src/main/resources/org/apache/hop/reflection/workflow/transform/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.reflection.workflow.transform' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+WorkflowLoggingDialog.LoggingActions.Label=\u540C\u65F6\u8BB0\u5F55 Action \u7ED3\u679C
+WorkflowLogging.Transform.Name=Workflow \u8BB0\u5F55
+WorkflowLoggingDialog.Shell.Title=Workflow \u8BB0\u5F55
+WorkflowLogging.Transform.Description=\u63D0\u4F9B\u6709\u5173 Workflow \u6267\u884C\u53CA\u5176\u4E2D\u7684 Action \u4FE1\u606F
+WorkflowLoggingDialog.TransformName.Label=Transform \u540D\u79F0
+WorkflowLoggingMeta.keyword=workflow,logging
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/actions/runtests/messages/messages_zh_CN.properties
similarity index 68%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to plugins/misc/testing/src/main/resources/org/apache/hop/testing/actions/runtests/messages/messages_zh_CN.properties
index b11c537..7a77fc0 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/actions/runtests/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.testing.actions.runtests' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+RunPipelineTests.keyword=run,pipeline,tests
+RunPipelineTests.Description=\u8FD0\u884C Pipeline \u5355\u5143\u6D4B\u8BD5
+RunTestsDialog.Button.GetTestNames=\u83B7\u53D6\u6D4B\u8BD5\u540D\u79F0
+RunPipelineTests.Name=\u8FD0\u884C Pipeline \u5355\u5143\u6D4B\u8BD5
diff --git a/plugins/misc/testing/src/main/resources/org/apache/hop/testing/gui/messages/messages_zh_CN.properties b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/gui/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..049dc5f
--- /dev/null
+++ b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/gui/messages/messages_zh_CN.properties
@@ -0,0 +1,100 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.testing.gui' in locale 'zh_CN'
+#
+#
+TestingGuiPlugin.ContextAction.SetGoldenDataset.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.ContextAction.Run.ActionList.Item1=\u9009\u62E9\u6570\u636E\u96C6
+TestingGuiPlugin.ContextAction.Run.ActionList.Item2=\u9009\u62E9\u8981\u5199\u5165\u884C\u7684\u6570\u636E\u96C6...
+TestingGuiPlugin.ContextAction.ClearInputDataset.Error.Message=\u4FDD\u5B58\u5355\u5143\u6D4B\u8BD5\u65F6\u51FA\u9519
+TestingGuiPlugin.ToolbarElement.GetUnitTestList.Exception=\u627E\u4E0D\u5230(\u5DF2\u5220\u9664)\u5355\u5143\u6D4B\u8BD5 "{0}"?
+TestingGuiPlugin.ContextAction.RemoveFromTest.Tooltip=\u8FD0\u884C\u6B64\u5355\u5143\u6D4B\u8BD5\u65F6\uFF0C\u4E0D\u8981\u5305\u542B\u8BE5 Transform
+TestingGuiPlugin.ContextAction.SetGoldenDataset.Tooltip=\u83B7\u53D6\u6B64 Transform \u7684\u8F93\u5165\u5E76\u5C06\u5176\u4E0E\u60A8\u9009\u62E9\u7684\u6807\u51C6\u6570\u636E\u96C6\u8FDB\u884C\u6BD4\u8F83.
+TestingGuiPlugin.ContextAction.RemoveBypassInTest.Name=\u6062\u590D\u6D4B\u8BD5
+TestingGuiPlugin.DataSet.RenamingOfADataSetsNotSupported.Message=\u5F53\u524D\u4E0D\u652F\u6301\u91CD\u547D\u540D\u6570\u636E\u96C6
+TestingGuiPlugin.SelectUnitTestFromAllTests.Error.Message=\u904D\u5386/\u5220\u9664\u5355\u5143\u6D4B\u8BD5\u65F6\u51FA\u9519
+ShowUnitTestMenuExtensionPoint.ErrorSwitchingUnitTest.Message=\u5207\u6362\u5230\u6D4B\u8BD5 {0} \u65F6\u51FA\u9519
+TestingGuiPlugin.ContextAction.ClearGoldenDataset.Error.Message=\u4FDD\u5B58\u5355\u5143\u6D4B\u8BD5\u65F6\u51FA\u9519
+TestingGuiPlugin.ContextAction.Run.SavePipelineDialog.Message=\u8BF7\u5148\u4FDD\u5B58 Pipeline
+TestingGuiPlugin.SortOrder.Message=\u8F93\u5165\u6570\u636E\u96C6\u7684\u6392\u5217\u987A\u5E8F
+TestingGuiPlugin.ToolbarElement.UnitTest.Tooltip=\u5355\u51FB\u7F16\u8F91\u5F53\u524D\u5355\u5143\u6D4B\u8BD5
+TestingGuiPlugin.ContextAction.IncludeInTest.Tooltip=\u8FD0\u884C\u5F53\u524D Pipeline, \u5E76\u5C06\u6570\u636E\u8F93\u51FA\u5230\u4E00\u4E2A\u6570\u636E\u96C6\u91CC
+TestingGuiPlugin.ContextAction.Run.Name=\u8F93\u51FA\u5230\u6570\u636E\u96C6
+TestingGuiPlugin.ContextAction.CheckTestPresent.Header=\u9996\u5148\u521B\u5EFA\u4E00\u4E2A\u6D4B\u8BD5\u7528\u4F8B
+TestingGuiPlugin.ToolbarElement.UnitTest.Label=\u5355\u5143\u6D4B\u8BD5\:
+TestingGuiPlugin.ToolbarElement.GetUnitTestList.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.ContextAction.CreateDataset.Name=\u65B0\u5EFA\u6570\u636E\u96C6
+TestingGuiPlugin.ContextAction.ClearGoldenDataset.Name=\u6E05\u9664\u65AD\u8A00\u6570\u636E
+TestingGuiPlugin.OpenUnitTestPipeline.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.ToolbarElement.UnitTest.Delete.Tooltip=\u5220\u9664\u5F53\u524D\u5355\u5143\u6D4B\u8BD5
+TestingGuiPlugin.ToolbarElement.Delete.Error.Header=\u9519\u8BEF
+ShowUnitTestMenuExtensionPoint.ErrorSwitchingUnitTest.Title=\u9519\u8BEF
+TestingGuiPlugin.ContextAction.ClearGoldenDataset.Tooltip=\u4ECE\u8BE5 Transform \u5355\u5143\u6D4B\u8BD5\u4E2D\u6E05\u9664\u6D4B\u8BD5\u6570\u636E\u96C6
+TestingGuiPlugin.ContextAction.ClearInputDataset.Name=\u6E05\u9664\u6D4B\u8BD5\u6570\u636E
+TestingGuiPlugin.ContextAction.CreateDataset.DatasetType.Header=\u7528\u8FD9\u4E2A\u6570\u636E\u96C6
+TestingGuiPlugin.ToolbarElement.Detach.Error.Message=\u5206\u79BB\u5355\u5143\u6D4B\u8BD5\u65F6\u51FA\u9519
+ShowUnitTestMenuExtensionPoint.ErrorFindingUnitTestsForPipeline.Title=\u9519\u8BEF
+TestingGuiPlugin.ToolbarElement.UnitTest.Error.Message=\u7F16\u8F91\u5F53\u524D\u5355\u5143\u6D4B\u8BD5 "{0}" \u65F6\u51FA\u9519
+TestingGuiPlugin.OpenUnitTestPipeline.Error.Message=\u6253\u5F00\u5355\u5143\u6D4B\u8BD5 Pipeline \u65F6\u51FA\u9519
+TestingGuiPlugin.ContextAction.BypassInTest.Tooltip=\u8FD0\u884C\u8BE5\u5355\u5143\u6D4B\u8BD5\u65F6\uFF0C\u8DF3\u8FC7\u8BE5 Transform(\u66FF\u6362\u4E3A \u6865\u63A5 Transform)
+TestingGuiPlugin.ToolbarElement.Delete.Confirmation.Message=\u60A8\u786E\u5B9A\u8981\u5220\u9664\u6D4B\u8BD5 "{0}" \u5417?
+TestingGuiPlugin.ContextAction.SetGoldenDataset.Name=\u65AD\u8A00\u6570\u636E
+TestingGuiPlugin.ContextAction.SetGoldenDataset.Error.Message=\u68C0\u7D22\u6570\u636E\u96C6\u7EC4\u5217\u8868\u65F6\u51FA\u9519
+TestingGuiPlugin.ToolbarElement.UnitTest.Edit.Tooltip=\u7F16\u8F91\u6240\u9009\u5355\u5143\u6D4B\u8BD5
+TestingGuiPlugin.ContextAction.SetInputDataset.Header=\u9009\u8BE5\u6570\u636E\u96C6
+TestingGuiPlugin.ContextAction.SetInputDataset.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.ContextAction.Run.Error.Message=\u5F53\u8FD0\u884C Pipeline \u65F6\u51FA\u9519
+TestingGuiPlugin.ContextAction.SetInputDataset.Error.Message=\u68C0\u7D22\u6570\u636E\u96C6\u7EC4\u5217\u8868\u65F6\u51FA\u9519
+TestingGuiPlugin.ContextAction.BypassInTest.Name=\u6D4B\u8BD5\u65F6\u8DF3\u8FC7
+TestingGuiPlugin.ContextAction.RemoveBypassInTest.Tooltip=\u5728\u6D4B\u8BD5\u671F\u95F4\u4E0D\u8981\u8DF3\u8FC7\u8FD9\u4E2A Transform
+TestingGuiPlugin.SortOrder.Column.SetField=\u6570\u636E\u96C6\u5B57\u6BB5
+TestingGuiPlugin.ContextAction.CreateDataset.Error.Message=\u521B\u5EFA\u65B0\u6570\u636E\u96C6\u65F6\u51FA\u9519
+ShowUnitTestMenuExtensionPoint.ErrorFindingUnitTestsForPipeline.Message=\u67E5\u627E Pipeline \u7684\u5355\u5143\u6D4B\u8BD5\u65F6\u51FA\u9519
+TestingGuiPlugin.ContextAction.ClearGoldenDataset.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.SortOrder.Title=\u6392\u5E8F
+TestingGuiPlugin.SelectUnitTestFromAllTests.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.ContextAction.CheckTestPresent.Message=\u8BF7\u5148\u5355\u51FB\u6D4B\u8BD5\u56FE\u6807\u521B\u5EFA\u4E00\u4E2A\u6D4B\u8BD5\u7528\u4F8B.
+TestingGuiPlugin.TweakUnitTestTransform.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.Category=\u5355\u5143\u6D4B\u8BD5
+TestingGuiPlugin.ContextAction.Run.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.ContextAction.IncludeInTest.Name=\u6062\u590D\u6D4B\u8BD5
+TestingGuiPlugin.ContextAction.SetInputDataset.Tooltip=\u5BF9\u4E8E\u5F53\u524D\u5355\u5143\u6D4B\u8BD5\uFF0C\u9009\u62E9\u8981\u4F7F\u7528\u7684\u6570\u636E\u96C6\u505A\u4E3A\u8F93\u5165\u7684\u6D4B\u8BD5\u6570\u636E\uFF0C\u4E14\u4E0D\u80FD\u63A5\u6536 Transform \u7684\u8F93\u51FA\u6570\u636E
+TestingGuiPlugin.ContextAction.Run.SavePipelineDialog.Header=\u4FDD\u5B58 Pipeline
+TestingGuiPlugin.ToolbarElement.UnitTest.Detach.Tooltip=\u5206\u79BB Pipeline \u4E0A\u7684\u5355\u5143\u6D4B\u8BD5
+TestingGuiPlugin.ContextAction.RemoveFromTest.Name=\u6D4B\u8BD5\u65F6\u79FB\u9664
+TestingGuiPlugin.ContextAction.CreateDataset.DatasetType.Answer1=\u662F\u7684, \u505A\u4E3A\u4E00\u4E2A\u6D4B\u8BD5\u6570\u636E\u96C6
+TestingGuiPlugin.ContextAction.CreateDataset.DatasetType.Answer2=\u4E0D, \u505A\u4E3A\u4E00\u4E2A\u65AD\u8A00\u6570\u636E\u96C6
+TestingGuiPlugin.ContextAction.CreateDataset.DatasetType.Message=\u60A8\u60F3\u5728 Transform \u201C{1}\u201D \u4E0A\u4F7F\u7528\u540D\u4E3A \u201C{0}\u201D \u7684\u65B0\u6570\u636E\u96C6\u5417?
+TestingGuiPlugin.ContextAction.CreateDataset.DatasetType.Answer3=\u53D6\u6D88, \u8FD9\u6B21\u4E0D\u7528\u8BE5\u6570\u636E\u96C6
+TestingGuiPlugin.ContextAction.CreateDataset.Tooltip=\u4F7F\u7528\u8FD9\u4E2A Transform \u7684\u8F93\u51FA\u5B57\u6BB5\u521B\u5EFA\u4E00\u4E2A\u7A7A\u7684\u6570\u636E\u96C6
+TestingGuiPlugin.ContextAction.ClearInputDataset.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.DataSet.ADataSetWithNameExists.Message=\u6570\u636E\u96C6 \u201C{0}\u201D \u5DF2\u5B58\u5728\uFF0C\u8BF7\u9009\u62E9\u53E6\u4E00\u4E2A\u540D\u79F0
+TestingGuiPlugin.ToolbarElement.UnitTest.Create.Tooltip=\u4E3A Pipeline \u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u5355\u5143\u6D4B\u8BD5
+TestingGuiPlugin.ToolbarElement.GetUnitTestList.Tooltip=\u9009\u62E9\u5F53\u524D\u73AF\u5883
+TestingGuiPlugin.ContextAction.SetGoldenDataset.Header=\u65AD\u8A00\u6570\u636E
+TestingGuiPlugin.ContextAction.SetInputDataset.Name=\u6D4B\u8BD5\u6570\u636E
+TestingGuiPlugin.ContextAction.SetInputDataset.Message=\u9009\u8981\u7F16\u8F91\u7684\u6570\u636E\u96C6...
+TestingGuiPlugin.ContextAction.SetGoldenDataset.Message=\u9009\u62E9\u65AD\u8A00\u6570\u636E\u96C6...
+TestingGuiPlugin.DataSet.NoNameSpecified.Message=\u6307\u5B9A\u6570\u636E\u96C6\u540D\u79F0
+TestingGuiPlugin.ToolbarElement.Delete.Error.Message=\u5220\u9664\u6D4B\u8BD5\u65F6\u51FA\u9519
+TestingGuiPlugin.ToolbarElement.Delete.Confirmation.Header=\u786E\u8BA4\u79FB\u9664\u5355\u5143\u6D4B\u8BD5
+TestingGuiPlugin.ToolbarElement.UnitTest.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.ContextAction.CreateDataset.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.ToolbarElement.Detach.Error.Header=\u9519\u8BEF
+TestingGuiPlugin.ToolbarElement.GetUnitTestList.Error.Message=\u9009\u62E9\u65B0 Pipeline \u5355\u5143\u6D4B\u8BD5\u65F6\u51FA\u9519
+TestingGuiPlugin.TweakUnitTestTransform.Error.Message=\u4F7F\u7528\u64CD\u4F5C {1} \u8C03\u6574 Transform \u201C{0}\u201D \u4E0A\u7684 Pipeline \u5355\u5143\u6D4B\u8BD5\u65F6\u51FA\u9519
+TestingGuiPlugin.ContextAction.Run.Tooltip=\u8FD0\u884C\u5F53\u524D Pipeline, \u5E76\u5C06\u6570\u636E\u5199\u7684\u4E00\u4E2A\u6570\u636E\u96C6\u91CC
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/messages/messages_zh_CN.properties
similarity index 66%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to plugins/misc/testing/src/main/resources/org/apache/hop/testing/messages/messages_zh_CN.properties
index b11c537..3d05c91 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.testing' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+UnitTestResult.FieldName.TransformName=Transform
+UnitTestResult.FieldName.Comment=\u5907\u6CE8
+UnitTestResult.FieldName.DataSetName=\u6570\u636E\u96C6
+UnitTestResult.FieldName.PipelineName=Pipeline
+UnitTestResult.FieldName.UnitTestName=\u5355\u5143\u6D4B\u8BD5
+UnitTestResult.FieldName.Error=\u9519\u8BEF
diff --git a/plugins/misc/testing/src/main/resources/org/apache/hop/testing/transforms/exectests/messages/messages_zh_CN.properties b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/transforms/exectests/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..4683fec
--- /dev/null
+++ b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/transforms/exectests/messages/messages_zh_CN.properties
@@ -0,0 +1,30 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.testing.transforms.exectests' in locale 'zh_CN'
+#
+#
+ExecuteTestsDialog.PipelineNameField.Label=Pipeline \u8F93\u51FA\u5B57\u6BB5
+ExecuteTestsMeta.keyword=execute,test
+ExecuteTestsDialog.UnitTestNameField.Label=\u5355\u5143\u6D4B\u8BD5\u8F93\u51FA\u5B57\u6BB5
+ExecuteTestsDialog.TransformNameField.Label=Transform \u8F93\u51FA\u5B57\u6BB5
+ExecuteTestsDialog.CommentField.Label=\u5907\u6CE8\u8F93\u51FA\u5B57\u6BB5\u540D\u79F0
+ExecuteTestsDialog.ErrorField.Label=\u9519\u8BEF\u8F93\u51FA\u5B57\u6BB5
+ExecuteTestsDialog.TransformName.Label=Transform \u540D\u79F0
+ExecuteTestsDialog.TypeToExecute.Label=\u8981\u8FD0\u884C\u7684\u6D4B\u8BD5\u7C7B\u578B
+ExecuteTestsDialog.Shell.Title=\u6267\u884C\u5355\u5143\u6D4B\u8BD5
+ExecuteTestsDialog.TestNameInputField.Label=\u6D4B\u8BD5\u540D\u8F93\u5165\u5B57\u6BB5
+ExecuteTestsDialog.DataSetNameField.Label=\u6570\u636E\u96C6\u8F93\u51FA\u5B57\u6BB5
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/util/messages/messages_zh_CN.properties
similarity index 68%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to plugins/misc/testing/src/main/resources/org/apache/hop/testing/util/messages/messages_zh_CN.properties
index b11c537..019d569 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/util/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.testing.util' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+DataSetConst.Tweak.REMOVE_TRANSFORM.Desc=\u79FB\u9664 Transform
+DataSetConst.Tweak.NONE.Desc=\u7A7A
+DataSetConst.Tweak.BYPASS_TRANSFORM.Desc=\u8DF3\u8FC7 Transform
+DataSetConst.TestType.UNIT_TEST.Desc=\u5355\u5143\u6D4B\u8BD5
+DataSetConst.TestType.DEVELOPMENT.Desc=\u5F00\u53D1
diff --git a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/xp/messages/messages_zh_CN.properties
similarity index 74%
copy from core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
copy to plugins/misc/testing/src/main/resources/org/apache/hop/testing/xp/messages/messages_zh_CN.properties
index eb95d6a..4da4862 100644
--- a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
+++ b/plugins/misc/testing/src/main/resources/org/apache/hop/testing/xp/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,6 +14,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.testing.xp' in locale 'zh_CN'
 #
 #
-HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B \: 
\ No newline at end of file
+UnitTestsResult.Dialog.Header=\u5355\u5143\u6D4B\u8BD5\u7ED3\u679C
+UnitTestsResult.Dialog.Message=\u4EE5\u4E0B\u662F\u5355\u5143\u6D4B\u8BD5\u9A8C\u8BC1\u7684\u7ED3\u679C\:
diff --git a/plugins/misc/testing/src/main/resources/org/apache/hop/ui/testing/messages/messages_zh_CN.properties b/plugins/misc/testing/src/main/resources/org/apache/hop/ui/testing/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..32d09ca
--- /dev/null
+++ b/plugins/misc/testing/src/main/resources/org/apache/hop/ui/testing/messages/messages_zh_CN.properties
@@ -0,0 +1,62 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.ui.testing' in locale 'zh_CN'
+#
+#
+PipelineUnitTestDialog.DbReplacement.ColumnInfo.ReplacementDb=\u66FF\u6362 DB
+PipelineUnitTestDialog.AutoOpen.Label=\u81EA\u52A8\u9009\u62E9\u8BE5\u6D4B\u8BD5
+DataSetDialog.ViewData.Button=\u67E5\u770B
+DataSetDialog.Error.NoTableSpecified=\u6CA1\u6709\u6307\u5B9A\u6587\u4EF6\u540D, \u65E0\u6CD5\u7EE7\u7EED
+PipelineUnitTestSetLocationDialog.Shell.Title=\u6570\u636E\u96C6\u4F4D\u7F6E
+DataSetDialog.Error.ValidationError=\u6821\u9A8C\u9519\u8BEF\uFF01
+DataSetDialog.FieldMapping.Label=\u6570\u636E\u96C6\u5B57\u6BB5\u4FE1\u606F, \u6570\u636E\u6587\u4EF6\u9996\u884C\u5E94\u8BE5\u5305\u542B\u6240\u6709\u5B57\u6BB5\u540D
+PipelineUnitTestDialog.VariableValues.Label=\u53D8\u91CF
+DataSetDialog.ColumnInfo.FieldFormat=\u683C\u5F0F
+DataSetDialog.ColumnInfo.FieldName=\u5B57\u6BB5\u540D
+PipelineUnitTestDialog.Description.Label=\u63CF\u8FF0
+PipelineUnitTestSetLocationDialog.ColumnInfo.DatasetField=\u6570\u636E\u96C6\u5B57\u6BB5
+PipelineUnitTestDialog.Name.Label=\u540D\u79F0
+PipelineUnitTestDialog.VariableValues.ColumnInfo.VariableName=\u540D\u79F0
+PipelineUnitTestDialog.DbReplacements.Label=\u7528\u53E6\u4E00\u4E2A\u66FF\u6362\u6570\u636E\u5E93\u8FDE\u63A5\:
+DataSetDialog.FolderName.Label=\u76EE\u5F55(\u6216\u4F7F\u7528\u73AF\u5883\u53D8\u91CF HOP_DATASETS_FOLDER)
+PipelineUnitTestDialog.PipelineFilename.Label=\u8981\u6D4B\u8BD5\u7684 Pipeline
+PipelineUnitTestSetLocationDialog.FieldMapping.Label=Transform \u5230\u6570\u636E\u96C6\u5B57\u6BB5\u6620\u5C04\:
+DataSetDialog.ColumnInfo.FieldType=\u7C7B\u578B
+DataSetDialog.EditRows.Title=\u7F16\u8F91\u6570\u636E\u884C
+PipelineUnitTestDialog.TestType.Label=\u6D4B\u8BD5\u7C7B\u578B
+PipelineUnitTestDialog.DbReplacement.ColumnInfo.OriginalDb=\u539F DB
+PipelineUnitTestSetLocationDialog.ColumnInfo.TransformField=Transform \u5B57\u6BB5
+DataSetDialog.BaseFilename.Label=\u6587\u4EF6\u540D
+DataSetDialog.EditRows.Message=\u4E0B\u9762\u6570\u636E\u96C6 \u201C{0}\u201D \u7684\u5177\u4F53\u884C, \u60A8\u53EF\u4EE5\u76F4\u63A5\u7F16\u8F91
+PipelineUnitTestDialog.BasePath.Label=\u57FA\u672C\u8DEF\u5F84(\u6216\u4F7F\u7528\u73AF\u5883\u53D8\u91CF HOP_UNIT_TEST_FOLDER)
+DataSetDialog.Name.Label=\u540D\u79F0
+PipelineUnitTestSetLocationDialog.DatasetName.Label=\u6570\u636E\u96C6
+PipelineUnitTestDialog.VariableValues.ColumnInfo.VariableValue=\u503C
+PipelineUnitTestSetLocationDialog.TransformName.Label=Transform
+DataSetDialog.EditData.Button=\u7F16\u8F91
+PipelineUnitTestSetLocationDialog.GetSortFields.Button=\u83B7\u53D6\u6392\u5E8F\u5B57\u6BB5
+PipelineUnitTestDialog.Filename.Label=\u6D4B\u8BD5 Pipeline \u6587\u4EF6\u540D(\u53EF\u9009)
+EditRowsDialog.Error.ErrorGettingRowForData=\u89E3\u6790\u6570\u636E\u884C {0} \u65F6\u51FA\u9519
+DataSetDialog.ColumnInfo.FieldPrecision=\u7CBE\u5EA6
+EditRowsDialog.ErrorConvertingData=\u8F6C\u6362\u5B57\u7B26\u4E32\u503C\u5230\u672C\u5730\u6570\u636E\u7C7B\u578B\u65F6\u51FA\u9519
+DataSetDialog.ColumnInfo.Comment=\u5907\u6CE8
+DataSetDialog.Description.Label=\u63CF\u8FF0
+EditRowsDialog.NoRowMeta.Message=\u65E0\u6CD5\u7F16\u8F91\u7F3A\u5931\u5143\u6570\u636E\u4FE1\u606F\u7684\u6570\u636E\u884C
+DataSetDialog.ColumnInfo.FieldLength=\u957F\u5EA6
+PipelineUnitTestSetLocationDialog.FieldOrder.Label=\u5B57\u6BB5\u987A\u5E8F\:
+PipelineUnitTestSetLocationDialog.MapFields.Button=\u6620\u5C04\u5B57\u6BB5
+EditRowsDialog.NoRowMeta.Text=\u6570\u636E\u884C\u6CA1\u6709\u5143\u6570\u636E
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/database/dialog/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/core/database/dialog/messages/messages_zh_CN.properties
index fcd152a..a21e45b 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/database/dialog/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/database/dialog/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,84 +14,87 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.core.database.dialog' in locale 'zh_CN'
 #
 #
-DatabaseExplorer.Actions=\u52A8\u4F5C
-DatabaseExplorer.Button.Cancel=&\u53D6\u6D88
-DatabaseExplorer.Button.Ok=&\u786E\u5B9A
-DatabaseExplorer.DataProfile=\u6570\u636E\u6982\u8FF0
-DatabaseExplorer.DDL=DDL
-DatabaseExplorer.Preview100=\u9884\u89C8\u524D100\u884C
-DatabaseExplorer.PreviewX=\u9884\u89C8\u524D x \u884C
-DatabaseExplorer.RowCount=\u8BB0\u5F55\u6570
-DatabaseExplorer.SelectConnection=\u9009\u62E9\u8FDE\u63A5
-DatabaseExplorer.ShowLayout=\u663E\u793A\u8868\u7ED3\u6784
-DatabaseExplorer.Title=\u6570\u636E\u5E93\u6D4F\u89C8\u5668
-DatabaseExplorer.Truncate=\u88C1\u526A\u8868
-DatabaseExplorer.UseCurrent=\u4F7F\u7528\u5F53\u524D\u8FDE\u63A5
-DatabaseExplorer.ViewSQL=\u751F\u6210 SQL
+SQLEditor.ClearWholeCache.Message=\u662F\u5426\u8981\u6E05\u9664\u6240\u6709\u8FDE\u63A5\u7684\u7F13\u5B58?\r\n\u5982\u679C\u9009 "\u5426"\uFF0C \u53EA\u6E05\u9664\u8FDE\u63A5 "{0}"\u7684\u7F13\u5B58
+DatabaseExplorerDialog.UnexpectedProfilingError.Title=\u9884\u89C8\u9519\u8BEF
 DatabaseExplorerDialog.Catalogs.Label=\u76EE\u5F55
-DatabaseExplorerDialog.Error.GenDDL=\u4E0D\u80FD\u751F\u6210 DDL \u8BED\u53E5
-DatabaseExplorerDialog.Error.RetrieveLayout=\u4E0D\u80FD\u62BD\u53D6\u8868\u7ED3\u6784
-DatabaseExplorerDialog.Menu.GenDDL=\u751F\u6210 DDL
-DatabaseExplorerDialog.Menu.GenDDLOtherConn=\u4E3A\u5176\u5B83\u8FDE\u63A5\u751F\u6210 DDL
-DatabaseExplorerDialog.Menu.OpenSQL=\u6253\u5F00 {{0}} \u4E0A\u7684 SQL 
-DatabaseExplorerDialog.Menu.Preview100=\u9884\u89C8 [{0}] \u7684\u524D 100 \u884C(&P)
-DatabaseExplorerDialog.Menu.PreviewN=\u9884\u89C8 [{0}] \u7684\u524D ... \u884C(&P)
-DatabaseExplorerDialog.Menu.ProfileTable=\u6570\u636E\u7EDF\u8BA1 ''{0}''
-DatabaseExplorerDialog.Menu.ShowLayout=\u67E5\u770B [{0}] \u7684\u8868\u7ED3\u6784
-DatabaseExplorerDialog.Menu.ShowSize=\ [{0}] \u7684\u884C\u6570
-DatabaseExplorerDialog.Menu.Truncate=\u6E05\u7A7A\u8868 [{0}]
+DatabaseExplorer.ViewSQL=\u751F\u6210 SQL
+DatabaseExplorerDialog.TableSize.Title=\u884C\u6570
+GetTableSizeProgressDialog.Error.Message=\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
+DatabaseExplorer.Button.Cancel=\u53D6\u6D88(&C)
+DatabaseExplorerDialog.Schemas.Label=\u6A21\u5F0F
+DatabaseExplorer.ShowLayout=\u663E\u793A\u8868\u7ED3\u6784
+DatabaseExplorer.Button.Ok=\u786E\u5B9A(&O)
 DatabaseExplorerDialog.NoConnectionsKnown.Message=\u5F53\u524D\u6CA1\u6709\u5176\u4ED6\u7684\u8FDE\u63A5\u53EF\u4EE5\u7528\u6765\u751F\u6210 DDL
-DatabaseExplorerDialog.NoConnectionsKnown.Title=\u6CA1\u6709\u6570\u636E\u5E93\u8FDE\u63A5
-DatabaseExplorerDialog.NoRows.Message=\u8868\u91CC\u6CA1\u6709\u6570\u636E
-DatabaseExplorerDialog.NoRows.Title=\u6CA1\u6709\u6570\u636E\u884C
-DatabaseExplorerDialog.PreviewTable.Message=\u8981\u9884\u89C8\u7684\u884C\u6570(0 \u4E3A\u6240\u6709\u884C)
+SQLEditor.Button.Execute=\u6267\u884C(&E)
+SQLEditor.Error.CouldNotConnect.Title=\u4E0D\u80FD\u8FDE\u63A5
+DatabaseExplorer.DDL=DDL
 DatabaseExplorerDialog.PreviewTable.Title=\u9884\u89C8\u9650\u5236
-DatabaseExplorerDialog.Schemas.Label=\u6A21\u5F0F
-DatabaseExplorerDialog.Synonyms.Label=\u540C\u4E49\u8BCD(Synonyms)
-DatabaseExplorerDialog.Tables.Label=\u8868
-DatabaseExplorerDialog.TableSize.Message=\u8868 ''{0}'' \u5305\u542B {1} \u884C
-DatabaseExplorerDialog.TableSize.Title=\u884C\u6570
-DatabaseExplorerDialog.TargetDatabase.Message=\u9009\u62E9\u76EE\u6807\u6570\u636E\u5E93
+DatabaseExplorerDialog.Toolbar.CollapseAll.Tooltip=\u6536\u7F29\u5168\u90E8\u6570\u636E\u5E93\u5BF9\u8C61
+SQLEditor.NoRows.Title=\u6CA1\u6709\u7ED3\u679C
+GetDatabaseInfoProgressDialog.Error.Message=\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
+SQLEditor.NoRows.Message=SQL \u8BED\u53E5\u6CA1\u6709\u8FD0\u884C\u7ED3\u679C\:\r\n\r\n{0}
+DatabaseExplorerDialog.TableSize.Message=\u8868 "{0}" \u5305\u542B {1} \u884C
 DatabaseExplorerDialog.TargetDatabase.Title=\u76EE\u6807\u6570\u636E\u5E93
-DatabaseExplorerDialog.Title=\u5728\u8FDE\u63A5 [{0}] \u4E0A\u7684\u6570\u636E\u5E93\u6D4F\u89C8\u5668
-DatabaseExplorerDialog.UnexpectedProfilingError.Message=\u672A\u77E5\u9519\u8BEF
-DatabaseExplorerDialog.UnexpectedProfilingError.Title=\u9884\u89C8\u9519\u8BEF
+SQLEditor.LineNr.Label=\u884C\u53F7\: {0}
 DatabaseExplorerDialog.Views.Label=\u89C6\u56FE
-Dialog.Error.Header=\u9519\u8BEF
-GetDatabaseInfoProgressDialog.Error.GettingInfoTable=\u4ECE\u6570\u636E\u5E93\u4E2D\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF\: {0}
-GetDatabaseInfoProgressDialog.Error.Message=\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
-GetDatabaseInfoProgressDialog.Error.Title=\u9519\u8BEF\u83B7\u53D6\u4FE1\u606F
+SQLEditor.Log.OnPartition=\u5206\u533A "{0}"
+SQLEditor.ErrorExecSQL.Title=\u9519\u8BEF\u6267\u884C SQL 
+DatabaseExplorer.RowCount=\u8BB0\u5F55\u6570
+SQLEditor.Button.ClearCache=\u6E05\u9664\u7F13\u5B58(&C)
+SQLEditor.Log.SQLExecError=\u6267\u884C\: {0} \u65F6\u53D1\u751F\u9519\u8BEF\r\n{1}
+DatabaseExplorerDialog.TargetDatabase.Message=\u9009\u62E9\u76EE\u6807\u6570\u636E\u5E93
+SQLEditor.ErrorExecSQL.Message=\u6267\u884C\u4E0B\u9762 SQL \u8BED\u53E5\u65F6\u53D1\u751F\u9519\u8BEF\:\r\n\r\n\r\n{0}
+SQLEditor.ConnectionCacheCleared.Message=\u6570\u636E\u5E93\u8FDE\u63A5 "{0}"\u7684\u7F13\u5B58\u5DF2\u88AB\u6E05\u7A7A
+DatabaseExplorer.DataProfile=\u6570\u636E\u6982\u8FF0
+SQLEditor.Log.SQLExecuted=\u6267\u884C\u7684 SQL\: {0}
+DatabaseExplorerDialog.PreviewTable.Message=\u8981\u9884\u89C8\u7684\u884C\u6570(0 \u4E3A\u6240\u6709\u884C)
 GetPreviewTableProgressDialog.Error.Message=\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
-GetPreviewTableProgressDialog.Error.Title=\u9519\u8BEF\u83B7\u53D6\u4FE1\u606F
 GetQueryFieldsProgressDialog.Error.Message=\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
-GetQueryFieldsProgressDialog.Error.Title=\u9519\u8BEF\u83B7\u53D6\u4FE1\u606F
-GetTableSizeProgressDialog.Error.Message=\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
+DatabaseExplorerDialog.Menu.ShowLayout=\u67E5\u770B [{0}] \u7684\u8868\u7ED3\u6784
 GetTableSizeProgressDialog.Error.Title=\u9519\u8BEF\u83B7\u53D6\u4FE1\u606F
 SQLEditor.Button.ClearCache.Tooltip=\u7F13\u5B58\u53EA\u662F\u4E3A\u4E86\u63D0\u9AD8\u6027\u80FD\uFF0C\u5F53\u6570\u636E\u5E93\u7ED3\u6784\u6216\u6570\u636E\u53D1\u751F\u4E86\u53D8\u5316\uFF0C\u4E00\u822C\u90FD\u8981\u6E05\u9664\u7F13\u5B58\u3002
-SQLEditor.Button.ClearCache=\u6E05\u9664\u7F13\u5B58(&C)
-SQLEditor.Button.Execute=\u6267\u884C(&E)
-SQLEditor.ClearWholeCache.Message=\u662F\u5426\u8981\u6E05\u9664\u6240\u6709\u8FDE\u63A5\u7684\u7F13\u5B58\uFF1F\r\n\u5982\u679C\u9009 "\u5426"\uFF0C \u53EA\u6E05\u9664\u8FDE\u63A5 ''{0}''\u7684\u7F13\u5B58
-SQLEditor.ClearWholeCache.Title=\u6E05\u9664\u6240\u6709\u7F13\u5B58
-SQLEditor.ConnectionCacheCleared.Message=\u6570\u636E\u5E93\u8FDE\u63A5 ''{0}''\u7684\u7F13\u5B58\u5DF2\u88AB\u6E05\u7A7A
-SQLEditor.ConnectionCacheCleared.Title=\u7F13\u5B58\u6E05\u9664
+DatabaseExplorerDialog.NoConnectionsKnown.Title=\u6CA1\u6709\u6570\u636E\u5E93\u8FDE\u63A5
+GetPreviewTableProgressDialog.Error.Title=\u9519\u8BEF\u83B7\u53D6\u4FE1\u606F
+DatabaseExplorerDialog.NoRows.Message=\u8868\u91CC\u6CA1\u6709\u6570\u636E
+DatabaseExplorerDialog.Tables.Label=\u8868
+DatabaseExplorerDialog.Menu.GenDDL=\u751F\u6210 DDL
+SQLEditor.Result.Message=SQL \u8BED\u53E5\u8FD4\u56DE\u4E0B\u9762\u8FD0\u884C\u7ED3\u679C
+SQLEditor.Title=\u7B80\u5355 SQL \u7F16\u8F91\u5668
+DatabaseExplorer.Truncate=\u88C1\u526A\u8868
 SQLEditor.Editor.Label=\u4EE5 ";" \u5206\u5272\u7684 SQL \u8BED\u53E5
-SQLEditor.Error.CouldNotConnect.Message=\u4E0D\u80FD\u8FDE\u63A5\u5230\u6570\u636E\u5E93\uFF01\r\n\u8BF7\u68C0\u67E5\u8FDE\u63A5 [{0}] \u7684\u53C2\u6570\u8BBE\u7F6E\r\n{1}
-SQLEditor.Error.CouldNotConnect.Title=\u4E0D\u80FD\u8FDE\u63A5
-SQLEditor.ErrorExecSQL.Message=\u6267\u884C\u4E0B\u9762 SQL \u8BED\u53E5\u65F6\u53D1\u751F\u9519\u8BEF\:\r\n\r\n\r\n{0}
-SQLEditor.ErrorExecSQL.Title=\u9519\u8BEF\u6267\u884C SQL 
-SQLEditor.LineNr.Label=\u884C\u53F7\: {0}
-SQLEditor.Log.OnPartition=\u5206\u533A ''{0}''
-SQLEditor.Log.SQLExecError=\u6267\u884C\: {0} \u65F6\u53D1\u751F\u9519\u8BEF\r\n{1}
-SQLEditor.Log.SQLExecuted=\u6267\u884C\u7684 SQL\: {0}
-SQLEditor.Log.StatsExecuted=\u6267\u884C\u4E86{0} \u4E2A SQL \u8BED\u53E5
-SQLEditor.NoRows.Message=SQL \u8BED\u53E5\u6CA1\u6709\u8FD0\u884C\u7ED3\u679C\:\r\n\r\n{0}
-SQLEditor.NoRows.Title=\u6CA1\u6709\u7ED3\u679C
+DatabaseExplorerDialog.Toolbar.ExpandAll.Tooltip=\u5C55\u5F00\u5168\u90E8\u6570\u636E\u5E93\u5BF9\u8C61
+GetDatabaseInfoProgressDialog.Error.GettingInfoTable=\u4ECE\u6570\u636E\u5E93\u4E2D\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF\: {0}
+DatabaseExplorer.Title=\u6570\u636E\u5E93\u6D4F\u89C8\u5668
+DatabaseExplorerDialog.Menu.PreviewN=\u9884\u89C8 [{0}] \u7684\u524D ... \u884C(&P)
+DatabaseExplorerDialog.Menu.Truncate=\u6E05\u7A7A\u8868 [{0}]
+SQLEditor.WholeCacheCleared.Title=\u7F13\u5B58\u6E05\u9664
 SQLEditor.Position.Label=\u884C{0} \u5217{1}
-SQLEditor.Result.Message=SQL \u8BED\u53E5\u8FD4\u56DE\u4E0B\u9762\u8FD0\u884C\u7ED3\u679C
-SQLEditor.Result.Title=SQL \u8BED\u53E5\u7684\u8FD0\u884C\u7ED3\u679C
+GetQueryFieldsProgressDialog.Error.Title=\u9519\u8BEF\u83B7\u53D6\u4FE1\u606F
+SQLEditor.Log.StatsExecuted=\u6267\u884C\u4E86{0} \u4E2A SQL \u8BED\u53E5
+DatabaseExplorer.SelectConnection=\u9009\u62E9\u8FDE\u63A5
+DatabaseExplorerDialog.Synonyms.Label=\u540C\u4E49\u8BCD(Synonyms)
+SQLEditor.Error.CouldNotConnect.Message=\u4E0D\u80FD\u8FDE\u63A5\u5230\u6570\u636E\u5E93\uFF01\r\n\u8BF7\u68C0\u67E5\u8FDE\u63A5 [{0}] \u7684\u53C2\u6570\u8BBE\u7F6E\r\n{1}
+DatabaseExplorer.Preview100=\u9884\u89C8\u524D100\u884C
+DatabaseExplorerDialog.NoRows.Title=\u6CA1\u6709\u6570\u636E\u884C
+DatabaseExplorer.Actions=\u52A8\u4F5C
+DatabaseExplorer.UseCurrent=\u4F7F\u7528\u5F53\u524D\u8FDE\u63A5
+DatabaseExplorerDialog.Error.RetrieveLayout=\u4E0D\u80FD\u62BD\u53D6\u8868\u7ED3\u6784
+GetDatabaseInfoProgressDialog.Error.Title=\u9519\u8BEF\u83B7\u53D6\u4FE1\u606F
 SQLEditor.ResultRows.Title=SQL \u8BED\u53E5 \#{0}
-SQLEditor.Title=\u7B80\u5355 SQL \u7F16\u8F91\u5668
+SQLEditor.Result.Title=SQL \u8BED\u53E5\u7684\u8FD0\u884C\u7ED3\u679C
+DatabaseExplorerDialog.Menu.OpenSQL=\u6253\u5F00 {{0}} \u4E0A\u7684 SQL 
+DatabaseExplorer.PreviewX=\u9884\u89C8\u524D x \u884C
+DatabaseExplorerDialog.UnexpectedProfilingError.Message=\u672A\u77E5\u9519\u8BEF
 SQLEditor.WholeCacheCleared.Message=\u5168\u90E8\u6570\u636E\u5E93\u7F13\u5B58\u88AB\u6E05\u9664
-SQLEditor.WholeCacheCleared.Title=\u7F13\u5B58\u6E05\u9664
+DatabaseExplorerDialog.Menu.GenDDLOtherConn=\u4E3A\u5176\u5B83\u8FDE\u63A5\u751F\u6210 DDL
+DatabaseExplorerDialog.Menu.Preview100=\u9884\u89C8 [{0}] \u7684\u524D 100 \u884C(&P)
+DatabaseExplorerDialog.Title=\u5728\u8FDE\u63A5 [{0}] \u4E0A\u7684\u6570\u636E\u5E93\u6D4F\u89C8\u5668
+SQLEditor.ConnectionCacheCleared.Title=\u7F13\u5B58\u6E05\u9664
+DatabaseExplorerDialog.Menu.ProfileTable=\u6570\u636E\u7EDF\u8BA1 "{0}"
+SQLEditor.ClearWholeCache.Title=\u6E05\u9664\u6240\u6709\u7F13\u5B58
+DatabaseExplorerDialog.Menu.ShowSize=\ [{0}] \u7684\u884C\u6570
+DatabaseExplorerDialog.Error.GenDDL=\u4E0D\u80FD\u751F\u6210 DDL \u8BED\u53E5
+Dialog.Error.Header=\u9519\u8BEF
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_zh_CN.properties
index dabd5c1..c73ead6 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,101 +14,109 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.core.database' in locale 'zh_CN'
 #
 #
-DatabaseDialog.AdvancedTab.title=\u9AD8\u7EA7
-DatabaseDialog.button.Explore=\u6D4F\u89C8 
-DatabaseDialog.button.FeatureList=\u7279\u5F81\u5217\u8868
-DatabaseDialog.button.ShowHelp=\u663E\u793A\u9009\u9879\u5E2E\u52A9
-DatabaseDialog.button.Test=\u6D4B\u8BD5
-DatabaseDialog.ClusterTab.title=\u96C6\u7FA4
-DatabaseDialog.ClusterTab.tooltip=\u53EF\u9009\u96C6\u7FA4\u4FE1\u606F
-DatabaseDialog.column.DatabaseName=\u6570\u636E\u5E93\u540D\u79F0
-DatabaseDialog.column.DbType=\u6570\u636E\u5E93\u7C7B\u578B
-DatabaseDialog.column.Hostname=\u4E3B\u673A\u540D\u79F0
 DatabaseDialog.column.Parameter=\u53C2\u6570
-DatabaseDialog.column.PartitionId=Partition ID
-DatabaseDialog.column.Password=\u5BC6\u7801
-DatabaseDialog.column.PoolDefault=\u9ED8\u8BA4\u503C
-DatabaseDialog.column.PoolDescription=\u53C2\u6570\u63CF\u8FF0
-DatabaseDialog.column.PoolParameter=\u8FDE\u63A5\u6C60\u53C2\u6570
-DatabaseDialog.column.PoolValue=\u503C
-DatabaseDialog.column.Port=\u7AEF\u53E3
+DatabaseDialog.label.AccessMethod=\u8BBF\u95EE\u65B9\u6CD5
 DatabaseDialog.column.SelectPoolParameter=Select the pool parameter to set
-DatabaseDialog.column.Username=\u7528\u6237\u540D
-DatabaseDialog.column.Value=\u503C
-DatabaseDialog.ConnectionReport.description=\u8FDE\u63A5\u62A5\u544A
-DatabaseDialog.ConnectionReport.title=\u8FDE\u63A5\u62A5\u544A
-DatabaseDialog.DatabaseConnectionTest.title=\u6570\u636E\u5E93\u8FDE\u63A5\u6D4B\u8BD5
-DatabaseDialog.DbTab.title=\u4E00\u822C
-DatabaseDialog.ErrorConnectionInfo.description=\u4E0D\u80FD\u83B7\u53D6\u8FDE\u63A5\u4FE1\u606F
-DatabaseDialog.ErrorConnectionInfo.title=Error
-DatabaseDialog.ErrorHelpText.description=\u6CA1\u6709\u76F8\u5E94\u7684\u5E2E\u52A9\uFF0C\u8BF7\u786E\u8BA4\u6240\u6709\u53C2\u6570\u90FD\u6B63\u786E\u3002
-DatabaseDialog.ErrorHelpText.title=\u9519\u8BEF\!
-DatabaseDialog.ErrorParameters.description=\u8BF7\u786E\u8BA4\u6240\u6709\u8F93\u5165\u7684\u53C2\u6570\u90FD\u6B63\u786E\!
-DatabaseDialog.ErrorParameters.title=\u9519\u8BEF\!
-DatabaseDialog.ErrorParameters2.description=\u8BF7\u786E\u8BA4\u6240\u6709\u8F93\u5165\u7684\u53C2\u6570\u90FD\u6B63\u786E\r\n{0}
-DatabaseDialog.ErrorParameters2.title=\u9519\u8BEF\!
+DatabaseDialog.label.Username=\u7528\u6237\u540D
 DatabaseDialog.Exception.IncorrectParameter=\u6570\u636E\u5E93\u53C2\u6570\u4E0D\u6B63\u786E, \u68C0\u67E5\u8BBE\u7F6E\:
-DatabaseDialog.ExplorerNotImplemented.Message=\u5BF9\u4E0D\u8D77\uFF0C\u8BE5\u6570\u636E\u5E93\u7684\u6D4F\u89C8\u5668\u8FD8\u6CA1\u6709\u5B9E\u73B0\u3002
-DatabaseDialog.ExplorerNotImplemented.Title=\u5BF9\u4E0D\u8D77
+DatabaseDialog.ErrorConnectionInfo.description=\u4E0D\u80FD\u83B7\u53D6\u8FDE\u63A5\u4FE1\u606F
+DatabaseDialog.label.ConnectionSupportsTimestamp=\u652F\u6301 Timestamp \u6570\u636E\u7C7B\u578B
+DatabaseDialog.label.Statements=\u5EFA\u7ACB\u8FDE\u63A5\u540E\u7ACB\u523B\u8981\u6267\u884C\u7684\u8BED\u53E5 (\u4EE5 ; \u5206\u5272)
 DatabaseDialog.FeatureList.title=\u7279\u5F81\u5217\u8868
-DatabaseDialog.FeatureList.title2="The list of features\:"
-DatabaseDialog.FeatureListError.description=\u4E0D\u80FD\u83B7\u53D6\u7279\u5F81\u7ACB\u6807. \u786E\u8BA4\u53C2\u6570\u8F93\u5165\u6B63\u786E\!
-DatabaseDialog.FeatureListError.title=\u9519\u8BEF\!
-DatabaseDialog.GenericTab.title=\u4E00\u822C
-DatabaseDialog.GenericTab.tooltip=\u901A\u7528\u6570\u636E\u5E93\u8FDE\u63A5
-DatabaseDialog.HelpText.description=\u8FD9\u662F [{0}] \u7684\u5E2E\u52A9\u4FE1\u606F\:
-DatabaseDialog.HelpText.title=\u9009\u9879\u5E2E\u52A9
-DatabaseDialog.IfxTab.title=Informix
-DatabaseDialog.JDBCOptions.Tab={0}\: JDBC \u9009\u9879\u5E2E\u52A9
-DatabaseDialog.label.AccessMethod=\u8BBF\u95EE\u65B9\u6CD5
+DatabaseDialog.label.ConnectionPreserveCase=\u5173\u952E\u5B57\u7684\u5927\u5C0F\u5199\u4E0D\u53D8
+DatabaseDialog.label.SQLServerInstance=SQLServer \u5B9E\u4F8B\u540D
+DatabaseDialog.button.Explore=\u6D4F\u89C8 
+DatabaseDialog.column.PoolValue=\u503C
+DatabaseDialog.label.ServerHostname=\u670D\u52A1\u5668\u4E3B\u673A\u540D
+DatabaseDialog.ErrorHelpText.title=\u9519\u8BEF\uFF01
+DatabaseDialog.report.ConnectionOk=Connection to database [{0}] is OK\u3002
 DatabaseDialog.label.AdvancedForceIdentifiersLowerCase=\u5C06\u6240\u6709\u6807\u8BC6\u7B26\u5F3A\u5236\u8F6C\u6362\u4E3A\u5C0F\u5199
+DatabaseDialog.label.ManualUrl=\u81EA\u5B9A\u4E49 JDBC URL
+DatabaseDialog.column.PoolDefault=\u9ED8\u8BA4\u503C
+DatabaseDialog.column.PartitionId=Partition ID
+DatabaseDialog.report.Hostname=Hostname\: 
+DatabaseDialog.ExplorerNotImplemented.Message=\u62B1\u6B49\uFF0C\u8BE5\u6570\u636E\u5E93\u7684\u6D4F\u89C8\u5668\u8FD8\u6CA1\u6709\u5B9E\u73B0\u3002
+DatabaseDialog.AdvancedTab.title=\u9AD8\u7EA7
+DatabaseDialog.label.PreferredSchemaName=\u9ED8\u8BA4 Schema \u540D\u79F0
+DatabaseDialog.column.Username=\u7528\u6237\u540D
 DatabaseDialog.label.AdvancedForceIdentifiersUpperCase=\u5C06\u6240\u6709\u6807\u8BC6\u7B26\u5F3A\u5236\u8F6C\u6362\u4E3A\u5927\u5199
-DatabaseDialog.label.AdvancedQuoteAllFields=\u6570\u636E\u5E93\u6807\u8BC6\u7B26\u653E\u5165\u5206\u9694\u7B26\u5185
-DatabaseDialog.label.ConnectionName=\u8FDE\u63A5\u540D\u79F0  
+DatabaseDialog.label.Url=URL  
+DatabaseDialog.column.DbType=\u6570\u636E\u5E93\u7C7B\u578B
+DatabaseDialog.ErrorParameters.description=\u8BF7\u786E\u8BA4\u6240\u6709\u8F93\u5165\u7684\u53C2\u6570\u90FD\u6B63\u786E\uFF01
 DatabaseDialog.label.ConnectionType=\u8FDE\u63A5\u7C7B\u578B  
-DatabaseDialog.label.DatabaseName=\u6570\u636E\u5E93\u540D\u79F0
-DatabaseDialog.label.DriverClass=\u9A71\u52A8\u7C7B 
-DatabaseDialog.label.InformixServername=Informix \u670D\u52A1\u540D
+DatabaseDialog.report.Port=Port\: 
+DatabaseDialog.FeatureListError.title=\u9519\u8BEF\uFF01
+DatabaseDialog.button.Test=\u6D4B\u8BD5
+DatabaseDialog.OracleTab.title=Oracle
+DatabaseDialog.ErrorConnectionInfo.title=Error
 DatabaseDialog.label.InitialPoolSize=\u521D\u59CB\u6C60\u5927\u5C0F
 DatabaseDialog.label.Language=\u8BED\u8A00
-DatabaseDialog.label.MaximumPoolSize=\u6700\u5927\u6C60\u5927\u5C0F
-DatabaseDialog.label.MySQLStreamResults=\u4F7F\u7528\u7ED3\u679C\u6D41(cursor emulation)
-DatabaseDialog.label.Options=\u9009\u9879
+DatabaseDialog.label.SapClient=SAP \u5BA2\u6237\u7AEF
+DatabaseDialog.ClusterTab.tooltip=\u53EF\u9009\u96C6\u7FA4\u4FE1\u606F
+DatabaseDialog.column.PoolParameter=\u8FDE\u63A5\u6C60\u53C2\u6570
+DatabaseDialog.ErrorParameters.title=\u9519\u8BEF\uFF01
+DatabaseDialog.ConnectionReport.title=\u8FDE\u63A5\u62A5\u544A
+DatabaseDialog.DatabaseConnectionTest.title=\u6570\u636E\u5E93\u8FDE\u63A5\u6D4B\u8BD5
+DatabaseDialog.button.ShowHelp=\u663E\u793A\u9009\u9879\u5E2E\u52A9
+DatabaseDialog.SQLTab.tooltip=\u5EFA\u7ACB\u8FDE\u63A5\u540E\u8981\u6267\u884C\u7684 SQL
+DatabaseDialog.ErrorParameters2.title=\u9519\u8BEF\uFF01
+DatabaseDialog.column.Hostname=\u4E3B\u673A\u540D\u79F0
+DatabaseDialog.label.DatabaseName=\u6570\u636E\u5E93\u540D\u79F0
+DatabaseDialog.label.Sap=SAP R/3
+DatabaseDialog.GenericTab.title=\u4E00\u822C
+DatabaseDialog.ErrorHelpText.description=\u6CA1\u6709\u76F8\u5E94\u7684\u5E2E\u52A9\uFF0C\u8BF7\u786E\u8BA4\u6240\u6709\u53C2\u6570\u90FD\u6B63\u786E\u3002
+DatabaseDialog.MSSQLTab.title=SQL Server
+DatabaseDialog.DbTab.title=\u4E00\u822C
+DatabaseDialog.OptionsTab.title=\u9009\u9879
+DatabaseDialog.button.FeatureList=\u7279\u5F81\u5217\u8868
+DatabaseDialog.Shell.title=\u8FDE\u63A5\u4FE1\u606F
+DatabaseDialog.ErrorParameters2.description=\u8BF7\u786E\u8BA4\u6240\u6709\u8F93\u5165\u7684\u53C2\u6570\u90FD\u6B63\u786E\r\n{0}
+DatabaseDialog.column.Password=\u5BC6\u7801
 DatabaseDialog.label.Password=\u5BC6\u7801
 DatabaseDialog.label.PoolParameters=\u8FDE\u63A5\u6C60\u53C2\u6570
+DatabaseDialog.label.DriverClass=\u9A71\u52A8\u7C7B 
+DatabaseDialog.label.ConnectionSQLStatements=\u8FDE\u63A5\u6210\u529F\u540E\u6267\u884C\u7684 SQL \u8BED\u53E5(; \u505A\u4E3A\u5206\u9694\u7B26)
+DatabaseDialog.label.MySQLStreamResults=\u4F7F\u7528\u7ED3\u679C\u6D41(cursor emulation)
+DatabaseDialog.column.Port=\u7AEF\u53E3
+DatabaseDialog.label.Options=\u9009\u9879
+DatabaseDialog.label.InformixServername=Informix \u670D\u52A1\u540D
+DatabaseDialog.tooltip.Options=URL \u91CC\u7684\u989D\u5916\u53C2\u6570
+DatabaseDialog.label.ConnectionName=\u8FDE\u63A5\u540D\u79F0  
 DatabaseDialog.label.PortNumber=\u7AEF\u53E3\u53F7
-DatabaseDialog.label.Sap=SAP R/3
-DatabaseDialog.label.SapClient=SAP \u5BA2\u6237\u7AEF
-DatabaseDialog.label.ServerHostname=\u670D\u52A1\u5668\u4E3B\u673A\u540D
-DatabaseDialog.label.SQLServerInstance=SQLServer \u5B9E\u4F8B\u540D
-DatabaseDialog.label.Statements=\u5EFA\u7ACB\u8FDE\u63A5\u540E\u7ACB\u523B\u8981\u6267\u884C\u7684\u8BED\u53E5 (\u4EE5 ; \u5206\u5272)
-DatabaseDialog.label.SystemNumber=\u7CFB\u7EDF\u53F7
-DatabaseDialog.label.TablespaceForData=\u6570\u636E\u8868\u7A7A\u95F4
+DatabaseDialog.label.UseClustering=\u4F7F\u7528\u96C6\u7FA4? \u5B9E\u9A8C\u9636\u6BB5\uFF01\uFF01  
+DatabaseDialog.FeatureListError.description=\u4E0D\u80FD\u83B7\u53D6\u7279\u5F81\u7ACB\u6807. \u786E\u8BA4\u53C2\u6570\u8F93\u5165\u6B63\u786E\uFF01
+DatabaseDialog.ConnectionReport.description=\u8FDE\u63A5\u62A5\u544A
+DatabaseDialog.HelpText.title=\u9009\u9879\u5E2E\u52A9
+DatabaseDialog.tooltip.Hostname=\u4E3B\u673A\u540D
+DatabaseDialog.label.ConnectionSupportsBoolean=\u652F\u6301 Boolean \u6570\u636E\u7C7B\u578B
+DatabaseDialog.report.DatabaseName=Database name\: 
+DatabaseDialog.tooltip.Parameter=\u53C2\u6570\u8981\u8BBE\u7F6E\u7684\u503C
+DatabaseDialog.IfxTab.title=Informix
+DatabaseDialog.JDBCOptions.Tab={0}\: JDBC \u9009\u9879\u5E2E\u52A9
+DatabaseDialog.report.ConnectionWithPartError=Error connecting to database [{0}] with partition id [{1}]\: {2}
+DatabaseDialog.ClusterTab.title=\u96C6\u7FA4
+DatabaseDialog.SQLTab.title=SQL
 DatabaseDialog.label.TablespaceForIndexes=\u7D22\u5F15\u8868\u7A7A\u95F4
-DatabaseDialog.label.Url=URL  
-DatabaseDialog.label.UseClustering=\u4F7F\u7528\u96C6\u7FA4? \u5B9E\u9A8C\u9636\u6BB5\!\!  
-DatabaseDialog.label.UseConnectionPool=\u4F7F\u7528\u8FDE\u63A5\u6C60
 DatabaseDialog.label.UseDoubleDecimalSeparator=\u4F7F\u7528\u4E24\u4E2A\u70B9(..) \u6765\u8FDE\u63A5\u6A21\u5F0F\u540D\u548C\u8868\u540D
-DatabaseDialog.label.Username=\u7528\u6237\u540D
-DatabaseDialog.MSSQLTab.title=SQL Server
-DatabaseDialog.MySQLTab.title=MySQL
-DatabaseDialog.OracleTab.title=Oracle
+DatabaseDialog.DatabaseConnectionTestSuccess.title=\u8FDE\u63A5\u6D4B\u8BD5\u6210\u529F
+DatabaseDialog.report.ConnectionError=Error connecting to database [{0}]\: 
+DatabaseDialog.GenericTab.tooltip=\u901A\u7528\u6570\u636E\u5E93\u8FDE\u63A5
+DatabaseDialog.FeatureList.title2="The list of features\:"
+DatabaseDialog.column.Value=\u503C
+DatabaseDialog.column.PoolDescription=\u53C2\u6570\u63CF\u8FF0
+DatabaseDialog.label.SystemNumber=\u7CFB\u7EDF\u53F7
 DatabaseDialog.PoolTab.title=\u6C60
-DatabaseDialog.report.ConnectionError=Error connecting to database [{0}] \: 
-DatabaseDialog.report.ConnectionOk=Connection to database [{0}] is OK.
-DatabaseDialog.report.ConnectionWithPartError=Error connecting to database [{0}] with partition id [{1}] \: {2}
-DatabaseDialog.report.ConnectionWithPartOk=Connection to database [{0}] with partition id [{1}] is OK.
-DatabaseDialog.report.DatabaseName=Database name  \: 
-DatabaseDialog.report.Hostname=Hostname       \: 
-DatabaseDialog.report.Port=Port           \: 
-DatabaseDialog.Shell.title=\u8FDE\u63A5\u4FE1\u606F
-DatabaseDialog.SQLTab.title=SQL
-DatabaseDialog.SQLTab.tooltip=\u5EFA\u7ACB\u8FDE\u63A5\u540E\u8981\u6267\u884C\u7684 SQL
+DatabaseDialog.column.DatabaseName=\u6570\u636E\u5E93\u540D\u79F0
+DatabaseDialog.label.TablespaceForData=\u6570\u636E\u8868\u7A7A\u95F4
+DatabaseDialog.label.AdvancedQuoteAllFields=\u6570\u636E\u5E93\u6807\u8BC6\u7B26\u653E\u5165\u5206\u9694\u7B26\u5185
+DatabaseDialog.label.MaximumPoolSize=\u6700\u5927\u6C60\u5927\u5C0F
+DatabaseDialog.MySQLTab.title=MySQL
+DatabaseDialog.tooltip.UseClustering=\u9009\u4E2D\u53EF\u4EE5\u589E\u52A0\u96C6\u7FA4\u4FE1\u606F.
 DatabaseDialog.tooltip.DbType=\u4E3A\u8FDE\u63A5\u5230\u6570\u636E\u5E93\u5728 URL \u91CC\u8981\u8BBE\u7F6E\u7684\u989D\u5916\u53C2\u6570
-DatabaseDialog.tooltip.Hostname=\u4E3B\u673A\u540D
-DatabaseDialog.tooltip.Options=URL \u91CC\u7684\u989D\u5916\u53C2\u6570
-DatabaseDialog.tooltip.Parameter=\u53C2\u6570\u8981\u8BBE\u7F6E\u7684\u503C
+DatabaseDialog.report.ConnectionWithPartOk=Connection to database [{0}] with partition id [{1}] is OK.
+DatabaseDialog.HelpText.description=\u8FD9\u662F [{0}] \u7684\u5E2E\u52A9\u4FE1\u606F\:
 DatabaseDialog.tooltip.PartitionId=\u4E3A\u8FDE\u63A5\u6570\u636E\u5E93\u8981\u8BBE\u7F6E\u7684\u989D\u5916\u53C2\u6570
-DatabaseDialog.tooltip.UseClustering=\u9009\u4E2D\u53EF\u4EE5\u589E\u52A0\u96C6\u7FA4\u4FE1\u606F.
+DatabaseDialog.label.UseConnectionPool=\u4F7F\u7528\u8FDE\u63A5\u6C60
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/database/wizard/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/core/database/wizard/messages/messages_zh_CN.properties
index 0b92f8d..53bdfc9 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/database/wizard/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/database/wizard/messages/messages_zh_CN.properties
@@ -17,59 +17,59 @@
 #
 #
 #
-CreateDatabaseWizardPageOCI.DialogTitle=\u6307\u5b9aOracle TNS\u6570\u636e\u5e93
-CreateDatabaseWizardPageOCI.DialogMessage=\u6307\u5b9a\u5728\u4f60\u7684Oracle\u5ba2\u6237\u7aef\u5b9a\u4e49\u7684TNS\u6570\u636e\u5e93.
-CreateDatabaseWizardPageOCI.TNS.Label=Oracle TNS\u6570\u636e\u5e93\u540d\u79f0
-CreateDatabaseWizardPageOCI.ErrorMessage.NoTNSName=\u8f93\u5165Oracle TNS\u540d\u79f0
-CreateDatabaseWizardPageOCI.Message.Next=\u9009\u62e9'\u4e0b\u4e00\u6b65'\u7ee7\u7eed
-CreateDatabaseWizardPageGeneric.DialogTitle=\u6307\u5b9a\u901a\u7528\u7684\u6570\u636e\u5e93\u9a71\u52a8\u8bbe\u7f6e
-CreateDatabaseWizardPageGeneric.DialogMessage=\u6307\u5b9aURL\u548c\u9a71\u52a8\u5bf9\u8c61.
+CreateDatabaseWizardPageOCI.DialogTitle=\u6307\u5B9AOracle TNS\u6570\u636E\u5E93
+CreateDatabaseWizardPageOCI.DialogMessage=\u6307\u5B9A\u5728\u4F60\u7684Oracle\u5BA2\u6237\u7AEF\u5B9A\u4E49\u7684TNS\u6570\u636E\u5E93\u3002
+CreateDatabaseWizardPageOCI.TNS.Label=Oracle TNS\u6570\u636E\u5E93\u540D\u79F0
+CreateDatabaseWizardPageOCI.ErrorMessage.NoTNSName=\u8F93\u5165Oracle TNS\u540D\u79F0
+CreateDatabaseWizardPageOCI.Message.Next=\u9009\u62E9'\u4E0B\u4E00\u6B65'\u7EE7\u7EED
+CreateDatabaseWizardPageGeneric.DialogTitle=\u6307\u5B9A\u901A\u7528\u7684\u6570\u636E\u5E93\u9A71\u52A8\u8BBE\u7F6E
+CreateDatabaseWizardPageGeneric.DialogMessage=\u6307\u5B9AURL\u548C\u9A71\u52A8\u5BF9\u8C61\u3002
 CreateDatabaseWizardPageGeneric.URL.Label=URL
-CreateDatabaseWizardPageGeneric.DriverClass.Label=Driver\u5bf9\u8c61
-CreateDatabaseWizardPageGeneric.ErrorMessage.URLAndDriverClassRequired=\u6307\u5b9aURL\u548c\u9a71\u52a8\u5bf9\u8c61.
-CreateDatabaseWizardPageGeneric.Message.Next=\u9009\u62e9'\u4e0b\u4e00\u6b65'\u7ee7\u7eed
-CreateDatabaseWizardPageInformix.DialogTitle=\u6307\u5b9aInformix\u670d\u52a1\u5668\u540d\u79f0
-CreateDatabaseWizardPageInformix.DialogMessage=\u6307\u5b9aInformix\u670d\u52a1\u5668\u540d\u79f0.
-CreateDatabaseWizardPageInformix.Servername.Label=Informix\u670d\u52a1\u5668\u540d\u79f0
-CreateDatabaseWizardPageInformix.ErrorMessage.ServernameRequired=\u8f93\u5165Informix\u670d\u52a1\u5668\u540d\u79f0
-CreateDatabaseWizardPageInformix.Message.Next=\u9009\u62e9'\u4e0b\u4e00\u6b65'\u7ee7\u7eed
-CreateDatabaseWizardPage1.DialogTitle=\u9009\u62e9\u6570\u636e\u5e93\u540d\u79f0\u548c\u7c7b\u578b
-CreateDatabaseWizardPage1.DialogMessage=\u9009\u62e9\u6570\u636e\u5e93\u8fde\u63a5\u540d\u79f0, \u6570\u636e\u5e93\u7c7b\u578b\u548c\u8bbf\u95ee\u7c7b\u578b.
-CreateDatabaseWizardPage1.DBName.Label=\u6570\u636e\u5e93\u8fde\u63a5\u540d\u79f0
-CreateDatabaseWizardPage1.DBType.Label=\u6570\u636e\u5e93\u8fde\u63a5\u7c7b\u578b
-CreateDatabaseWizardPage1.DBAccessType.Label=\u6570\u636e\u5e93\u8bbf\u95ee\u7c7b\u578b
-CreateDatabaseWizardPage1.ErrorMessage.InvalidInput=\u8f93\u5165\u6570\u636e\u5e93\u8fde\u63a5\u540d\u79f0, \u6570\u636e\u5e93\u7c7b\u578b\u548c\u8bbf\u95ee\u7c7b\u578b.
-CreateDatabaseWizardPage1.ErrorMessage.DBNameExists=\u6570\u636e\u5e93 '{0}' \u5df2\u7ecf\u5b58\u5728, \u8bf7\u9009\u62e9\u5176\u5b83\u540d\u79f0.
-CreateDatabaseWizardPage1.Message.Next=\u9009\u62e9'\u4e0b\u4e00\u6b65'\u7ee7\u7eed
-CreateDatabaseWizardPageODBC.DialogTitle=\u6307\u5b9aODBC DSN \u6570\u636e\u6e90
-CreateDatabaseWizardPageODBC.DialogMessage=\u6307\u5b9aODBC DSN\u540d\u79f0\u3002\u7528\u6237\u5e94\u8be5\u5148\u5b9a\u4e49\u7528\u6237DSN\u6216\u8005\u7cfb\u7edfDSN\u6570\u636e\u6e90.
-CreateDatabaseWizardPageODBC.DSN.Label=ODBC DSN\u6570\u636e\u6e90\u540d\u79f0
-CreateDatabaseWizardPageODBC.ErrorMessage.DSNRequired=\u8f93\u5165ODBC DSN\u6570\u636e\u6e90\u540d\u79f0
-CreateDatabaseWizardPageODBC.Message.Finish=\u9009\u62e9 '\u5b8c\u6210' \u6765\u521b\u5efa\u6570\u636e\u5e93\u8fde\u63a5
-CreateDatabaseWizardPageOracle.DialogTitle=\u6307\u5b9aOracle \u8bbe\u7f6e
-CreateDatabaseWizardPageOracle.DialogMessage=\u6307\u5b9a\u9ed8\u8ba4\u6570\u636e\u548c\u7d22\u5f15\u8868\u7a7a\u95f4.
-CreateDatabaseWizardPageOracle.DataTablespace.Label=\u6570\u636e\u8868\u7a7a\u95f4
-CreateDatabaseWizardPageOracle.IndexTableSpace.Label=\u7d22\u5f15\u8868\u7a7a\u95f4
-CreateDatabaseWizardPageOracle.Message.Next=\u9009\u62e9'\u4e0b\u4e00\u6b65'\u7ee7\u7eed
-CreateDatabaseWizardPageJDBC.DialogTitle=\u8bbe\u7f6eJDBC
-CreateDatabaseWizardPageJDBC.DialogMessage=\u6307\u5b9a\u670d\u52a1\u5668\u4e3b\u673a\u540d\u79f0\u3001\u7aef\u53e3\u548c\u6570\u636e\u5e93\u540d\u79f0.
-CreateDatabaseWizardPageJDBC.Hostname.Label=\u670d\u52a1\u5668\u4e3b\u673a\u540d\u79f0
-CreateDatabaseWizardPageJDBC.Port.Label=TCP/IP\u7aef\u53e3
-CreateDatabaseWizardPageJDBC.DBName.Label=\u6570\u636e\u5e93\u540d\u79f0
-CreateDatabaseWizardPageJDBC.ErrorMessage.InvalidInput=\u8f93\u5165\u670d\u52a1\u5668\u4e3b\u673a\u540d\u79f0\u3001\u7aef\u53e3\u548c\u6570\u636e\u5e93\u540d\u79f0
-CreateDatabaseWizardPageJDBC.Message.Input=\u9009\u62e9'\u4e0b\u4e00\u6b65'\u7ee7\u7eed
-CreateDatabaseWizardPage2.DialogTitle=\u8bbe\u7f6e\u7528\u6237\u540d\u79f0\u548c\u5bc6\u7801
-CreateDatabaseWizardPage2.DialogMessage=\u6307\u5b9a\u8fde\u63a5\u6570\u636e\u5e93\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801.
-CreateDatabaseWizardPage2.Username.Label=\u7528\u6237\u540d
-CreateDatabaseWizardPage2.Password.Label=\u5bc6\u7801
-CreateDatabaseWizardPage2.TestConnection.Button=\u6d4b\u8bd5\u6570\u636e\u5e93\u8fde\u63a5
-CreateDatabaseWizardPage2.Message.Finish=\u9009\u62e9 '\u5b8c\u6210' \u6765\u521b\u5efa\u6570\u636e\u5e93\u8fde\u63a5
-CreateDatabaseWizardPage2.ErrorMessage.InvalidInput=\u8bf7\u786e\u5b9a\u81f3\u5c11\u6709\u4e00\u4e2a\u6570\u636e\u5e93\u8fde\u63a5\u540d\u79f0, \u6570\u636e\u5e93\u540d\u79f0\u548c\u6570\u636e\u5e93\u7c7b\u578b\!
-CreateDatabaseWizardPageSAPR3.DialogTitle=\u6307\u5b9aSAP/R3\u7279\u6b8a\u8bbe\u7f6e
-CreateDatabaseWizardPageSAPR3.DialogMessage=\u6307\u5b9a\u670d\u52a1\u5668\u4e3b\u673a\u540d\u79f0\u3001\u8bed\u8a00\u3001 system number\u548c\u5ba2\u6237\u7aef.
-CreateDatabaseWizardPageSAPR3.Hostname.Label=SAP/3\u7cfb\u7edf\u4e3b\u673a\u540d\u79f0
-CreateDatabaseWizardPageSAPR3.Language.Label=\u8bed\u8a00
+CreateDatabaseWizardPageGeneric.DriverClass.Label=Driver\u5BF9\u8C61
+CreateDatabaseWizardPageGeneric.ErrorMessage.URLAndDriverClassRequired=\u6307\u5B9AURL\u548C\u9A71\u52A8\u5BF9\u8C61\u3002
+CreateDatabaseWizardPageGeneric.Message.Next=\u9009\u62E9'\u4E0B\u4E00\u6B65'\u7EE7\u7EED
+CreateDatabaseWizardPageInformix.DialogTitle=\u6307\u5B9AInformix\u670D\u52A1\u5668\u540D\u79F0
+CreateDatabaseWizardPageInformix.DialogMessage=\u6307\u5B9AInformix\u670D\u52A1\u5668\u540D\u79F0\u3002
+CreateDatabaseWizardPageInformix.Servername.Label=Informix\u670D\u52A1\u5668\u540D\u79F0
+CreateDatabaseWizardPageInformix.ErrorMessage.ServernameRequired=\u8F93\u5165Informix\u670D\u52A1\u5668\u540D\u79F0
+CreateDatabaseWizardPageInformix.Message.Next=\u9009\u62E9'\u4E0B\u4E00\u6B65'\u7EE7\u7EED
+CreateDatabaseWizardPage1.DialogTitle=\u9009\u62E9\u6570\u636E\u5E93\u540D\u79F0\u548C\u7C7B\u578B
+CreateDatabaseWizardPage1.DialogMessage=\u9009\u62E9\u6570\u636E\u5E93\u8FDE\u63A5\u540D\u79F0, \u6570\u636E\u5E93\u7C7B\u578B\u548C\u8BBF\u95EE\u7C7B\u578B\u3002
+CreateDatabaseWizardPage1.DBName.Label=\u6570\u636E\u5E93\u8FDE\u63A5\u540D\u79F0
+CreateDatabaseWizardPage1.DBType.Label=\u6570\u636E\u5E93\u8FDE\u63A5\u7C7B\u578B
+CreateDatabaseWizardPage1.DBAccessType.Label=\u6570\u636E\u5E93\u8BBF\u95EE\u7C7B\u578B
+CreateDatabaseWizardPage1.ErrorMessage.InvalidInput=\u8F93\u5165\u6570\u636E\u5E93\u8FDE\u63A5\u540D\u79F0, \u6570\u636E\u5E93\u7C7B\u578B\u548C\u8BBF\u95EE\u7C7B\u578B\u3002
+CreateDatabaseWizardPage1.ErrorMessage.DBNameExists=\u6570\u636E\u5E93 "{0}" \u5DF2\u7ECF\u5B58\u5728, \u8BF7\u9009\u62E9\u5176\u5B83\u540D\u79F0\u3002
+CreateDatabaseWizardPage1.Message.Next=\u9009\u62E9'\u4E0B\u4E00\u6B65'\u7EE7\u7EED
+CreateDatabaseWizardPageODBC.DialogTitle=\u6307\u5B9AODBC DSN \u6570\u636E\u6E90
+CreateDatabaseWizardPageODBC.DialogMessage=\u6307\u5B9AODBC DSN\u540D\u79F0\u3002\u7528\u6237\u5E94\u8BE5\u5148\u5B9A\u4E49\u7528\u6237DSN\u6216\u8005\u7CFB\u7EDFDSN\u6570\u636E\u6E90\u3002
+CreateDatabaseWizardPageODBC.DSN.Label=ODBC DSN\u6570\u636E\u6E90\u540D\u79F0
+CreateDatabaseWizardPageODBC.ErrorMessage.DSNRequired=\u8F93\u5165ODBC DSN\u6570\u636E\u6E90\u540D\u79F0
+CreateDatabaseWizardPageODBC.Message.Finish=\u9009\u62E9 '\u5B8C\u6210' \u6765\u521B\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5
+CreateDatabaseWizardPageOracle.DialogTitle=\u6307\u5B9AOracle \u8BBE\u7F6E
+CreateDatabaseWizardPageOracle.DialogMessage=\u6307\u5B9A\u9ED8\u8BA4\u6570\u636E\u548C\u7D22\u5F15\u8868\u7A7A\u95F4\u3002
+CreateDatabaseWizardPageOracle.DataTablespace.Label=\u6570\u636E\u8868\u7A7A\u95F4
+CreateDatabaseWizardPageOracle.IndexTableSpace.Label=\u7D22\u5F15\u8868\u7A7A\u95F4
+CreateDatabaseWizardPageOracle.Message.Next=\u9009\u62E9'\u4E0B\u4E00\u6B65'\u7EE7\u7EED
+CreateDatabaseWizardPageJDBC.DialogTitle=\u8BBE\u7F6EJDBC
+CreateDatabaseWizardPageJDBC.DialogMessage=\u6307\u5B9A\u670D\u52A1\u5668\u4E3B\u673A\u540D\u79F0\u3001\u7AEF\u53E3\u548C\u6570\u636E\u5E93\u540D\u79F0\u3002
+CreateDatabaseWizardPageJDBC.Hostname.Label=\u670D\u52A1\u5668\u4E3B\u673A\u540D\u79F0
+CreateDatabaseWizardPageJDBC.Port.Label=TCP/IP\u7AEF\u53E3
+CreateDatabaseWizardPageJDBC.DBName.Label=\u6570\u636E\u5E93\u540D\u79F0
+CreateDatabaseWizardPageJDBC.ErrorMessage.InvalidInput=\u8F93\u5165\u670D\u52A1\u5668\u4E3B\u673A\u540D\u79F0\u3001\u7AEF\u53E3\u548C\u6570\u636E\u5E93\u540D\u79F0
+CreateDatabaseWizardPageJDBC.Message.Input=\u9009\u62E9'\u4E0B\u4E00\u6B65'\u7EE7\u7EED
+CreateDatabaseWizardPage2.DialogTitle=\u8BBE\u7F6E\u7528\u6237\u540D\u79F0\u548C\u5BC6\u7801
+CreateDatabaseWizardPage2.DialogMessage=\u6307\u5B9A\u8FDE\u63A5\u6570\u636E\u5E93\u7684\u7528\u6237\u540D\u548C\u5BC6\u7801\u3002
+CreateDatabaseWizardPage2.Username.Label=\u7528\u6237\u540D
+CreateDatabaseWizardPage2.Password.Label=\u5BC6\u7801
+CreateDatabaseWizardPage2.TestConnection.Button=\u6D4B\u8BD5\u6570\u636E\u5E93\u8FDE\u63A5
+CreateDatabaseWizardPage2.Message.Finish=\u9009\u62E9 '\u5B8C\u6210' \u6765\u521B\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5
+CreateDatabaseWizardPage2.ErrorMessage.InvalidInput=\u8BF7\u786E\u5B9A\u81F3\u5C11\u6709\u4E00\u4E2A\u6570\u636E\u5E93\u8FDE\u63A5\u540D\u79F0, \u6570\u636E\u5E93\u540D\u79F0\u548C\u6570\u636E\u5E93\u7C7B\u578B\uFF01
+CreateDatabaseWizardPageSAPR3.DialogTitle=\u6307\u5B9ASAP/R3\u7279\u6B8A\u8BBE\u7F6E
+CreateDatabaseWizardPageSAPR3.DialogMessage=\u6307\u5B9A\u670D\u52A1\u5668\u4E3B\u673A\u540D\u79F0\u3001\u8BED\u8A00\u3001 system number\u548C\u5BA2\u6237\u7AEF\u3002
+CreateDatabaseWizardPageSAPR3.Hostname.Label=SAP/3\u7CFB\u7EDF\u4E3B\u673A\u540D\u79F0
+CreateDatabaseWizardPageSAPR3.Language.Label=\u8BED\u8A00
 CreateDatabaseWizardPageSAPR3.SystemNumber.Label=System Number
-CreateDatabaseWizardPageSAPR3.SAPClient.Label=SAP\u5ba2\u6237\u7aef
-CreateDatabaseWizardPageSAPR3.ErrorMessage.InvalidInput=\u6307\u5b9a\u670d\u52a1\u5668\u4e3b\u673a\u540d\u79f0\u3001\u8bed\u8a00\u3001 system number\u548c\u5ba2\u6237\u7aef.
-CreateDatabaseWizardPageSAPR3.Message.Next=\u9009\u62e9'\u4e0b\u4e00\u6b65'\u7ee7\u7eed
+CreateDatabaseWizardPageSAPR3.SAPClient.Label=SAP\u5BA2\u6237\u7AEF
+CreateDatabaseWizardPageSAPR3.ErrorMessage.InvalidInput=\u6307\u5B9A\u670D\u52A1\u5668\u4E3B\u673A\u540D\u79F0\u3001\u8BED\u8A00\u3001 system number\u548C\u5BA2\u6237\u7AEF.
+CreateDatabaseWizardPageSAPR3.Message.Next=\u9009\u62E9'\u4E0B\u4E00\u6B65'\u7EE7\u7EED
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_zh_CN.properties
index 26a5740..51d2e6a 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,187 +14,250 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.core.dialog' in locale 'zh_CN'
 #
 #
-Add.Datasource.Label=\u6dfb\u52a0\u6570\u636e\u6e90.
-ArgumentsDialog.Arguments.Label=Arguments
-ArgumentsDialog.ArgumentsColumn.Argument=Argument
-ArgumentsDialog.ArgumentsColumn.Value=Value
-ArgumentsDialog.docHeader=Arguments
+EnterListDialog.AvailableItems.Label=\u53EF\u7528\u9879\u76EE\:
+EnterMappingDialog.HideUsedTargets=\u9690\u85CF\u5DF2\u7ECF\u6620\u5C04\u8FC7\u7684\u76EE\u7684\u5217? 
+BaseDialog.OpenFile=\u6253\u5F00\u6587\u4EF6
+EnterOptionsDialog.Button.Reset.Tooltip=\u6062\u590D\u5230\u7F3A\u7701\u503C
+EnterOptionsDialog.Button.Edit.Tooltip=\u7F16\u8F91\u9009\u9879
+EnterValueDialog.Type.Label=\u7C7B\u578B\: 
+SelectRowDialog.Title=\u9009\u62E9\u4E00\u9879
+PreviewRowsDialog.NoRows.Message=\u6CA1\u6709\u53EF\u9884\u89C8\u7684\u6570\u636E\u3002
+TransformFieldsDialog.Fields.Label=\u5B57\u6BB5\:
+EnterOptionsDialog.ClearCustomParameters.Tooltip=\u6E05\u9664 Transform \u548C\u63D2\u4EF6\u5BF9\u8BDD\u6846\u91CC\u8BBE\u7F6E\u7684\u6240\u6709\u81EA\u5B9A\u4E49\u53C2\u6570
+ProgressMonitorDialog.InitialTaskLabel=Apache Hop \u6B63\u5728\u8FD0\u884C\u4E00\u4E2A\u8017\u65F6\u8F83\u957F\u7684\u4EFB\u52A1
+HopPropertiesFileDialog.Value.Label=\u503C
+EnterOptionsDialog.UseDatabaseCache.Label=\u4F7F\u7528\u6570\u636E\u5E93\u7F13\u5B58 
+EnterOptionsDialog.UseOSLook.Label=\u4F7F\u7528\u64CD\u4F5C\u7CFB\u7EDF\u5916\u89C2 
+EnterValueDialog.TestResult.Title=u503c
+EnterPrintDialog.Rows.Label=\u884C\:
+EnterPrintDialog.LeftMargin.Label=\u5DE6\u8FB9\u8DDD(\u82F1\u5BF8)\:
+EnterListDialog.RemoveOne.Tooltip=\u79FB\u53BB\u53F3\u8FB9\u9009\u4E2D\u7684\u9009\u9879
 ArgumentsDialog.docTitle=Help for Arguments
-CheckResultDialog.Button.EditOriginTransform=\u7F16\u8F91\u6E90\u6B65\u9AA4
-CheckResultDialog.Button.ViewMessage=\u67E5\u770B\u6D88\u606F
-CheckResultDialog.HideSuccessful.Label=\u9690\u85CF\u6210\u529F\u7ED3\u679C(&s)
+CheckResultDialog.HideSuccessful.Label=\u9690\u85CF\u6210\u529F\u7ED3\u679C(&S)
+EnterSelectionDialog.refresh.Label=\u5237\u65B0
+EnterMappingDialog.TargetFields.Label=\u76EE\u7684\u5217\: 
+TransformFieldsDialog.OriginTransform.Message=\u8BF7\u9009\u62E9\u4E0A\u9762\u7684\u4E00\u4E2A\u5B57\u6BB5\u3002
+EnterOptionsDialog.General.Label=\u4E00\u822C\u9879
+EnterOrderedListDialog.AddOne.Tooltip=\u6DFB\u52A0\u5DE6\u4FA7\u6240\u9009\u5185\u5BB9
+EnterOptionsDialog.TableOutput.SortMappings.Label=\u8868\u8F93\u51FA\: \u6392\u5E8F\u6620\u5C04
+Dialog.Error.EnterInteger=\u8BF7\u8F93\u5165\u4E00\u4E2A\u6574\u6570\uFF01
+HopPropertiesFileDialog.Exception.ErrorLoadingData.Message=\u52A0\u8F7D\u6570\u636E\u65F6\u51FA\u9519
+ArgumentsDialog.ArgumentsColumn.Value=Value
+EnterOrderedListDialog.AvailableItems.Label=\u53EF\u7528\u9879\:
+SQLStatementDialog.ViewSql.Title=\u9519\u8BEF
+TransformFieldsDialog.TableCol.Currency=\u8D27\u5E01
+EnterOptionsDialog.TabColor.Label=\u6807\u7B7E\u989C\u8272
+ContextDialog.SaveConfig.Error.Dialog.Header=\u9519\u8BEF
+EnterSelectionDialog.Button.None.Label=\u7A7A
+HopPropertiesFileDialog.Description.Label=\u63CF\u8FF0
+EnterOptionsDialog.RestartWarning.DialogMessage=\u8BF7\u91CD\u65B0\u542F\u52A8 Hop GUI \u5E94\u7528\u65B0\u5916\u89C2
+BaseDialog.OpenDirectory=\u6253\u5F00\u76EE\u5F55
+EnterOrderedListDialog.AddAll.Tooltip=\u6DFB\u52A0\u5DE6\u4FA7\u6240\u6709\u5185\u5BB9
+EnterOptionsDialog.ShowCanvasGrid.Label=\u663E\u793A\u7F51\u7EDC
+EnterOptionsDialog.AskOnExit.Label=\u9000\u51FA\u65F6\u8BE2\u95EE 
+EnterOptionsDialog.BackgroundColor.Label=\u80CC\u666F\u989C\u8272
+EnterOptionsDialog.NoteFont.Label=\u6CE8\u91CA\u5B57\u4F53
+EnterOptionsDialog.ReplaceDBAsk.Label=\u5728\u6253\u5F00/\u5BFC\u5165\u65F6\u662F\u5426\u8BE2\u95EE\u66FF\u6362\u8FDE\u63A5
+EnterOptionsDialog.Button.Reset=\u91CD\u7F6E
+Dialog.Error.Header=\u9519\u8BEF
+EnterListDialog.AddAll.Tooltip=\u6DFB\u52A0\u5DE6\u8FB9\u7684\u6240\u6709\u9009\u9879
+PreviewRowsDialog.Button.ShowLog=\u663E\u793A\u65E5\u5FD7(&L)
+ContextDialog.GuiAction.CollapseCategories.Tooltip=\u6298\u53E0\u6240\u6709\u5206\u7C7B
+EnterMappingDialog.Button.Add=\u589E\u52A0(&A)  
+EnterSelectionDialog.useRegEx.Tooltip=\u4F7F\u7528\u901A\u914D\u7B26(\u6B63\u5219\u8868\u8FBE\u5F0F)
+EnterMappingDialog.HideUsedSources=\u9690\u85CF\u5DF2\u7ECF\u6620\u5C04\u8FC7\u7684\u539F\u5217 
+HopPropertiesFileDialog.Exception.ErrorLoadingData.Title=\u6570\u636E\u52A0\u8F7D\u9519\u8BEF
+PreviewRowsDialog.Button.Close.Label=\u5173\u95ED(&C)
+ContextDialog.GuiAction.ShowCategories.Tooltip=\u663E\u793A\u5206\u7C7B
+EnterOptionsDialog.OpenLastFileStartup.Label=\u542F\u52A8\u65F6\u6253\u5F00\u6700\u540E\u7F16\u8F91\u6587\u4EF6 
+BrowserEnvironmentWarningDialog.Message.Mac=\u5F88\u9057\u61BE\uFF0C\u4E0D\u652F\u6301\u60A8\u7684\u5F53\u524D\u6D4F\u89C8\u5668\u7248\u672C\u3002\n\u4E3A\u4E86\u83B7\u5F97\u6700\u4F73\u4F53\u9A8C\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u60A8\n\u66F4\u65B0\u5230\u6700\u65B0\u7248\u672C\u7684 Safari\u3002
+EnterOptionsDialog.ShowRepoDialog.Label=\u542F\u52A8\u65F6\u663E\u793A\u8D44\u6E90\u5E93\u5BF9\u8BDD\u6846
+EnterOptionsDialog.OnlySaveUsedConnections.Label=\u53EA\u4FDD\u5B58\u4F7F\u7528\u7684\u6570\u636E\u5E93\u8FDE\u63A5\u5230 XML 
+EnterPrintDialog.BottomMargin.Label=\u5E95\u8FB9\u8DDD(\u82F1\u5BF8)\: 
+PreviewRowsDialog.Button.Next.Label=\u83B7\u53D6\u66F4\u591A\u884C(&M)
+TransformFieldsDialog.TableCol.Type=\u7C7B\u578B
+BrowserEnvironmentWarningDialog.Title.Ubuntu=\u672A\u5B89\u88C5\u8F6F\u4EF6\u5305 libwebktgtk
+EnterOptionsDialog.GridSize.ToolTip=\u5C06\u56FE\u6807\u8D34\u8FD1\u7F51\u683C,\u53EF\u4EE5\u66F4\u5BB9\u6613\u5BF9\u9F50\u56FE\u6807
+EnterOptionsDialog.ShowSaveConfirmation.Label=\u663E\u793A"\u4FDD\u5B58"\u5BF9\u8BDD\u6846 
 CheckResultDialog.Remark.Label=\u5907\u6CE8
-CheckResultDialog.Remarks.Label=\u5907\u6CE8\:
+EnterOptionsDialog.MaximumUndo.Label=\u6700\u591A\u6062\u590D\u6B21\u6570\: 
+EnterPrintDialog.RightMargin.Label=\u53F3\u8FB9\u8DDD(\u82F1\u5BF8)\:
+EnterSelectionDialog.Help=Products/Data_Integration/Repositories
+EnterOptionsDialog.AutoSplitHops.Tooltip=\u5982\u679C\u5728\u4E00\u6761\u8282\u70B9\u8FDE\u63A5\u4E0A\u653E\u7F6E\u4E86\u4E00\u4E2A\u8282\u70B9,\u662F\u5426\u8981\u81EA\u52A8\u5206\u5272\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u6210\u4E3A\u4E24\u6761\u8FDE\u63A5,\u5206\u522B\u8FDE\u63A5\u539F\u8282\u70B9\u548C\u65B0\u8282\u70B9\u3002
+EnterMappingDialog.Button.Delete=\u5220\u9664(&D)  
+EnterValueDialog.TestResult.Message=\u7ED3\u679C\u7684\u503C\u662F\:\r\n\r\n{0}
+EnterValueDialog.Title=E\u8F93\u5165\u4E00\u4E2A\u503C
+SQLStatementDialog.Log.Error=-- \u9519\u8BEF\u6D88\u606F\: {0}\r\n
+EnterMappingDialog.AutoSourceSelection.Label=\u81EA\u52A8\u9009\u62E9\u6E90\u5217 
+BrowserEnvironmentWarningDialog.Message.Ubuntu.Thin=\u4E0D\u5E78\u7684\u662F\uFF0C\u672A\u5B89\u88C5\u8F6F\u4EF6\u5305 libwebkitgtk-1.0\u3002\n\u8BF7\u5148\u5B89\u88C5\u8F6F\u4EF6\u5305 libwebkitgtk-1.0 \u540E\uFF0C\n\u91CD\u65B0\u542F\u52A8\u5E94\u7528\u7A0B\u5E8F\u3002
+EnterValueDialog.ConversionFormat.Label=\u8F6C\u6362\u683C\u5F0F\:  
+EnterOptionsDialog.DarkMode.Label=\u9ED1\u6697\u6A21\u5F0F
+EnterOptionsDialog.RestartWarning.DialogTitle=\u91CD\u542F
+EnterOptionsDialog.UseGlobalFileBookmarks.Label=\u5728\u6587\u4EF6\u5BF9\u8BDD\u6846\u4E2D\u4F7F\u7528\u5168\u5C40\u4E66\u7B7E
+EnterSearchDialog.FilterSelection.Label=\u8FC7\u6EE4\u5668
+SQLStatementDialog.Error.CouldNotExec=\u4E0B\u5217\u8BED\u53E5\u65E0\u6CD5\u6267\u884C\:\r\n{0}
+EnterSearchDialog.Transform.Tooltip=\u641C\u7D22 Transform
+HopDescribedVariablesDialog.Title=Hop \u53D8\u91CF
+EnterOptionsDialog.Branding.Label=\u663E\u793A\u5546\u6807\u56FE\u7247
+EnterOptionsDialog.GridSize.Label=\u683C\u7F51\u5927\u5C0F
+PreviewRowsDialog.Button.Stop.ToolTip=\u505C\u6B62\u9884\u89C8
+TransformFieldsDialog.TableCol.Comments=\u6CE8\u91CA
+EnterOptionsDialog.RestartWarning.Option1=\u5173\u95ED
+SQLStatementDialog.Button.ViewSQL=\u67E5\u770BSQL(&V)
+SQLStatementDialog.Button.ViewSql=SQL
+BrowserEnvironmentWarningDialog.HelpLink.Ubuntu=<a>\u5728\u6B64\u5904</a> \u4E86\u89E3\u66F4\u591A\u4FE1\u606F\u3002
+PreviewRowsDialog.Header=Transform {0} \u7684\u6570\u636E 
+EnterOptionsDialog.RestartWarning.Option2=\u8BF7\u4E0D\u8981\u518D\u663E\u793A\u8BE5\u6D88\u606F
+TransformFieldsDialog.TableCol.Decimal=\u5341\u8FDB\u5236
+EnterSearchDialog.Transform.Label=\u641C\u7D22 Transform
+EnterStringsDialog.Title=\u8F93\u5165\u503C
+EnterOptionsDialog.LookAndFeel.Label=\u89C2\u611F
+EnterListDialog.Selection.Label=\u4F60\u7684\u9009\u62E9\:
+ContextDialog.GuiAction.ShowCategories.Label=\u663E\u793A\u5206\u7C7B
+BrowserEnvironmentWarningDialog.Message.Windows.Thin=\u5F88\u9057\u61BE\uFF0C\u4E0D\u652F\u6301\u60A8\u5F53\u524D\u7684\u6D4F\u89C8\u5668\u7248\u672C\u3002\n\u4E3A\u4E86\u83B7\u5F97\u6700\u4F73\u4F53\u9A8C\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u60A8\n\u66F4\u65B0\u5230\u6700\u65B0\u7248\u672C\u7684 Internet Explorer\u3002
+CheckResultDialog.TransformName.Label=Transform \u540D\u79F0
+EnterConditionDialog.Title=\u8F93\u5165\u6761\u4EF6
+ProgressMonitorDialog.Shell.Title=\u5904\u7406...
+EditRowsDialog.NoRowMeta.Text=\u6570\u636E\u884C\u7F3A\u5931\u5143\u6570\u636E\u4FE1\u606F
+TransformFieldsDialog.Buttons.EditOrigin=\u7F16\u8F91\u6E90 Transform (&E)
+EnterOptionsDialog.ShowCanvasGrid.ToolTip=\u7F16\u8F91\u533A\u663E\u793A\u7F51\u683C\u7EBF
+EnterStringsDialog.Message=\u4E3A\u4E0B\u9762\u6307\u5B9A\u7684\u5B57\u7B26\u4E32\u8F93\u5165\u503C\:
+EnterStringsDialog.StringValue.Label=\u503C
+SQLStatementDialog.Button.EditTransform=\u7F16\u8F91\u6765\u6E90 Transform(&E)
+PreviewRowsDialog.Button.Next.ToolTip=\u7EE7\u7EED\u6682\u505C\u7684\u9884\u89C8\uFF0C\u83B7\u53D6\u66F4\u591A\u6570\u636E
+CheckResultDialog.ShowSuccessful.Label=\u663E\u793A\u6210\u529F\u7ED3\u679C(&S)
+SQLStatementDialog.TableCol.SQL=SQL
+ContextDialog.SaveConfig.Error.Dialog.Message=\u4FDD\u5B58 GUI \u9009\u9879\u5230\u914D\u7F6E\u6587\u4EF6 hop-config.json \u65F6\u51FA\u9519
+EnterOptionsDialog.BackgroundColorGraph.Label=\u5DE5\u4F5C\u533A\u80CC\u666F\u989C\u8272
+SQLStatementDialog.Title=\u8981\u6267\u884C\u7684 SQL \u8BED\u53E5\u5217\u8868
+EnterMappingDialog.Button.Guess=\u731C\u4E00\u731C(&G)  
+SQLStatementDialog.ViewSQL.Message=SQL \u8BED\u53E5\:
+BrowserEnvironmentWarningDialog.Message.Windows=\u5F88\u9057\u61BE\uFF0C\u4E0D\u652F\u6301\u60A8\u5F53\u524D\u7684\u6D4F\u89C8\u5668\u7248\u672C\u3002\n\u4E3A\u4E86\u83B7\u5F97\u6700\u4F73\u4F53\u9A8C\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u60A8\n\u66F4\u65B0\u5230\u6700\u65B0\u7248\u672C\u7684 Internet Explorer\u3002
+EnterListDialog.Title=\u8F93\u5165\u5217\u8868
+BrowserEnvironmentWarningDialog.Message.Mac.Thin=\u5F88\u9057\u61BE\uFF0C\u4E0D\u652F\u6301\u60A8\u5F53\u524D\u6D4F\u89C8\u5668\u7248\u672C\u3002\n\u4E3A\u4E86\u83B7\u5F97\u6700\u4F73\u4F53\u9A8C\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u60A8\n\u66F4\u65B0\u5230\u6700\u65B0\u7248\u672C\u7684 Safari.
+EnterOrderedListDialog.RemoveAll.Tooltip=\u6DFB\u52A0\u53F3\u4FA7\u7684\u6240\u6709\u5185\u5BB9
+EnterMappingDialog.SourceFields.Label=\u6E90\u5217\: 
+EnterOrderedListDialog.Up.Tooltip=\u4E0A\u79FB\u53F3\u4FA7\u9009\u4E2D\u7684\u5185\u5BB9
+PreviewRowsDialog.NrRows=({0} \u884C)
+TransformFieldsDialog.TableCol.Fieldname=\u5B57\u6BB5\u540D\u79F0
+EnterSelectionDialog.FilterString.ToolTip=\u641C\u7D22\u5E76\u8FD4\u56DE\u6240\u6709\u5305\u542B\u67E5\u627E\u5B57\u7B26\u4E32\u7684\u5185\u5BB9
+ArgumentsDialog.Arguments.Label=Arguments
+PreviewRowsDialog.Title=\u9884\u89C8\u6570\u636E
+Add.Datasource.Label=\u6DFB\u52A0\u6570\u636E\u6E90.
+EnterOptionsDialog.CanvasAntiAliasing.Label=\u753B\u5E03\u53CD\u952F\u9F7F 
+SQLStatementDialog.Log.Transform=-- Transform\: {0}\r\n
+TransformFieldsDialog.TableCol.TrimType=\u53BB\u9664\u7A7A\u5B57\u7B26
+EditRowsDialog.Error.ErrorGettingRowForData=\u8BFB\u53D6\u884C {0} \u65F6\u51FA\u9519
+HopPropertiesFileDialog.Exception.ErrorSavingData.Title=\u6570\u636E\u4FDD\u5B58\u9519\u8BEF
+TransformFieldsDialog.TableCol.Origin=Transform \u6765\u6E90\r\n
+EnterOptionsDialog.ShowTipsStartup.Label=\u542F\u52A8\u65F6\u663E\u793A\u63D0\u793A 
+EnterOptionsDialog.IconSize.Label=\u5DE5\u4F5C\u533A\u5185\u7684\u56FE\u6807\u5927\u5C0F
+EnterOptionsDialog.CopyOrDistributeDialog.Label=\u663E\u793A"\u590D\u5236\u6216\u5206\u53D1"\u5BF9\u8BDD\u6846 
+ContextDialog.Search.Label.Text=\u641C\u7D22\:
+ErrorDialog.ShowDetails.Title=\u9519\u8BEF\u7EC6\u8282
+ContextDialog.GuiAction.FixedWidth.Label=\u56FA\u5B9A\u5BBD\u5EA6
+SQLStatementDialog.Error.Title=\u9519\u8BEF
+SQLStatementDialog.TableCol.Error=\u9519\u8BEF
 CheckResultDialog.Result.Label=\u7ED3\u679C
-CheckResultDialog.ShowSuccessful.Label=\u663E\u793A\u6210\u529F\u7ED3\u679C(&s)
-CheckResultDialog.TextDialog.Subtitle=\u6D88\u606F\:
-CheckResultDialog.TextDialog.SubtitlePlural=\u6D88\u606F\:
+EnterOptionsDialog.ReplaceDBAsk.Tooltip=\u5728\u6253\u5F00/\u5BFC\u5165\u4E00\u4E2A\u8F6C\u6362,\u5982\u679C\u8F6C\u6362\u91CC\u7684\u6570\u636E\u5E93\u8FDE\u63A5\u548C\u73B0\u6709\u7684\u6570\u636E\u5E93\u8FDE\u63A5\u91CD\u540D,\u662F\u5426\u5F39\u51FA\u7A97\u53E3\u63D0\u793A\u8986\u76D6.
+EnterMappingDialog.AutoTargetSelection.Label=\u81EA\u52A8\u9009\u62E9\u76EE\u7684\u5217 
+EnterPrintDialog.Scaling.Label=\u7F29\u653E (10-100%)\: 
+SQLStatementDialog.Success.Title=\u6210\u529F
+EnterValueDialog.Length.Label=\u957F\u5EA6\:
+EnterMappingDialog.ResultMappings.Label=\u6620\u5C04\: 
+EnterOptionsDialog.ReplaceDB.Tooltip=\u6253\u5F00/\u5BFC\u5165\u65F6\u662F\u5426\u66FF\u6362\u5F53\u524D\u7684\u6570\u636E\u5E93\u8FDE\u63A5,\u662F\u5426\u5F39\u51FA\u7A97\u53E3\u89C1\u4E0A\u4E2A\u9009\u9879. 
+SQLStatementDialog.ViewSql.Message=\u83B7\u53D6 SQL "{0} " \u65F6\u51FA\u9519
+EnterOrderedListDialog.Down.Tooltip=\u4E0B\u79FB\u53F3\u4FA7\u9009\u4E2D\u7684\u5185\u5BB9
+SQLStatementDialog.TableCol.TransformName=Transform \u540D\u79F0
+SQLStatementDialog.ViewSQL.Title=SQL \u8BED\u53E5
+EnterOptionsDialog.DefaultPreviewSize.Label=\u9884\u89C8\u5BF9\u8BDD\u6846\u7684\u7F3A\u7701\u884C\u6570\: 
+EnterSearchDialog.DB.Label=\u641C\u7D22\u6570\u636E\u5E93\u8FDE\u63A5
+ContextDialog.GuiAction.ExpandCategories.Tooltip=\u5C55\u5F00\u6240\u6709\u5206\u7C7B
+EnterSearchDialog.Note.Tooltip=\u641C\u7D22\u6CE8\u91CA
+BaseDialog.SaveFile=\u4FDD\u5B58\u6587\u4EF6
+EnterPrintDialog.PrintArea.Label=\u6253\u5370\u533A\u57DF\:
+ContextDialog.GuiAction.FixedWidth.Tooltip=\u56FA\u5B9A\u5BBD\u5EA6
+TransformFieldsDialog.OriginTransform.Title=\u6CA1\u6709\u9009\u62E9
+EnterValueDialog.Value.Label=\u503C\: 
+EnterSearchDialog.DB.Tooltip=\u641C\u7D22\u6570\u636E\u5E93\u8FDE\u63A5
+SQLStatementDialog.Error.Message=\u65E0\u6CD5\u6267\u884C\u9009\u4E2D\u7684 SQL \u8BED\u53E5, {0} \u6761\u8BED\u53E5\u6709\u9519\u8BEF.
 CheckResultDialog.TextDialog.Title=\u67E5\u770B\u6D88\u606F
-CheckResultDialog.Title=\u8F6C\u6362\u68C0\u67E5\u7ED3\u679C
-CheckResultDialog.TransformName.Label=\u6B65\u9AA4\u540D\u79F0
-CheckResultDialog.WarningsErrors.Label=\u8B66\u544A\u548C\u9519\u8BEF\:
-Dialog.Error.EnterInteger=\u8bf7\u8f93\u5165\u4e00\u4e2a\u6574\u6570\!
-Dialog.Error.Header=\u9519\u8bef
-EnterConditionDialog.Title=\u8f93\u5165\u6761\u4ef6
-EnterListDialog.AddAll.Tooltip=\u6dfb\u52a0\u5de6\u8fb9\u7684\u6240\u6709\u9009\u9879
-EnterListDialog.AddOne.Tooltip=\u6dfb\u52a0\u5de6\u8fb9\u9009\u4e2d\u7684\u9009\u9879
-EnterListDialog.AvailableItems.Label=\u53ef\u7528\u9879\u76ee\:
-EnterListDialog.RemoveAll.Tooltip=\u6dfb\u52a0\u53f3\u8fb9\u7684\u6240\u6709\u9009\u9879
-EnterListDialog.RemoveOne.Tooltip=\u79fb\u53bb\u53f3\u8fb9\u9009\u4e2d\u7684\u9009\u9879
-EnterListDialog.Selection.Label=\u4f60\u7684\u9009\u62e9\:
-EnterListDialog.Title=\u8f93\u5165\u5217\u8868
-EnterMappingDialog.AutoSourceSelection.Label=\u81ea\u52a8\u9009\u62e9\u6e90\u5217? 
-EnterMappingDialog.AutoTargetSelection.Label=\u81ea\u52a8\u9009\u62e9\u76ee\u7684\u5217? 
-EnterMappingDialog.Button.Add=\u589e\u52a0(&A)  
-EnterMappingDialog.Button.Delete=\u5220\u9664(&D)  
-EnterMappingDialog.Button.Guess=\u731c\u4e00\u731c(&G)  
-EnterMappingDialog.HideUsedSources=\u9690\u85cf\u5df2\u7ecf\u6620\u5c04\u8fc7\u7684\u539f\u5217? 
-EnterMappingDialog.HideUsedTargets=\u9690\u85cf\u5df2\u7ecf\u6620\u5c04\u8fc7\u7684\u76ee\u7684\u5217? 
-EnterMappingDialog.ResultMappings.Label=\u6620\u5c04\: 
-EnterMappingDialog.SourceFields.Label=\u6e90\u5217\: 
-EnterMappingDialog.TargetFields.Label=\u76ee\u7684\u5217\: 
-EnterMappingDialog.Title=\u5217\u6620\u5c04
-EnterOptionsDialog.AskOnExit.Label=\u9000\u51fa\u65f6\u8be2\u95ee? 
-EnterOptionsDialog.AutoSave.Label=\u81ea\u52a8\u4fdd\u5b58\u53d8\u66f4\uff1f? 
-EnterOptionsDialog.AutoSplitHops.Label=\u81ea\u52a8\u5206\u5272\u8282\u70b9\u8fde\u63a5? 
-EnterOptionsDialog.AutoSplitHops.Tooltip=\u5982\u679c\u5728\u4e00\u6761\u8282\u70b9\u8fde\u63a5\u4e0a\u653e\u7f6e\u4e86\u4e00\u4e2a\u8282\u70b9,\u662f\u5426\u8981\u81ea\u52a8\u5206\u5272\u8fd9\u4e2a\u8282\u70b9\u8fde\u63a5\u6210\u4e3a\u4e24\u6761\u8fde\u63a5,\u5206\u522b\u8fde\u63a5\u539f\u8282\u70b9\u548c\u65b0\u8282\u70b9.
-EnterOptionsDialog.BackgroundColor.Label=\u80cc\u666f\u989c\u8272\: 
-EnterOptionsDialog.BackgroundColorGraph.Label=\u5de5\u4f5c\u533a\u80cc\u666f\u989c\u8272\: 
-EnterOptionsDialog.Branding.Label=\u663e\u793a\u5546\u6807\u56fe\u7247
-EnterOptionsDialog.Button.Edit.Tooltip=\u7f16\u8f91\u9009\u9879
-EnterOptionsDialog.Button.Edit=\u6539\u53d8
-EnterOptionsDialog.Button.Reset.Tooltip=\u6062\u590d\u5230\u7f3a\u7701\u503c
-EnterOptionsDialog.Button.Reset=\u91cd\u7f6e
-EnterOptionsDialog.CanvasAntiAliasing.Label=\u753b\u5e03\u53cd\u952f\u9f7f? 
-EnterOptionsDialog.ClearCustomParameters.Confirmation=\u5220\u9664\u5b8c\u6bd5.
-EnterOptionsDialog.ClearCustomParameters.Label=\u6e05\u9664\u81ea\u5b9a\u4e49\u53c2\u6570 (\u6b65\u9aa4 / \u63d2\u4ef6)\: 
-EnterOptionsDialog.ClearCustomParameters.Question=\u786e\u5b9e\u8981\u5220\u9664\uff1f?
-EnterOptionsDialog.ClearCustomParameters.Title=\u95ee\u9898
-EnterOptionsDialog.ClearCustomParameters.Tooltip=\u6e05\u9664\u6b65\u9aa4\u548c\u63d2\u4ef6\u5bf9\u8bdd\u6846\u91cc\u8bbe\u7f6e\u7684\u6240\u6709\u81ea\u5b9a\u4e49\u53c2\u6570
-EnterOptionsDialog.CopyOrDistributeDialog.Label=\u663e\u793a"\u590d\u5236\u6216\u5206\u53d1"\u5bf9\u8bdd\u6846? 
-EnterOptionsDialog.CopyOrDistributeDialog.Tooltip=\u5f53\u4e00\u4e2a\u6b65\u9aa4\u5411\u591a\u4e2a\u6b65\u9aa4\u53d1\u9001\u6570\u636e\u65f6,\u662f\u5426\u8981\u5f39\u51fa\u4e00\u4e2a\u5bf9\u8bdd\u6846\u6765\u8be2\u95ee\u7528\u6237\u662f\u4f7f\u7528\u5206\u53d1\u65b9\u5f0f\u8fd8\u662f\u590d\u5236\u65b9\u5f0f
-EnterOptionsDialog.DefaultLocale.Label=\u7f3a\u7701\u8bed\u8a00\: 
-EnterOptionsDialog.DefaultPreviewSize.Label=\u9884\u89c8\u5bf9\u8bdd\u6846\u7684\u7f3a\u7701\u884c\u6570\: 
-EnterOptionsDialog.DialogMiddlePercentage.Label=D\u5bf9\u8bdd\u6846\u7684\u4e2d\u90e8\u4f4d\u7f6e\u767e\u5206\u6bd4\: 
-EnterOptionsDialog.FailoverLocale.Label=\u7b2c\u4e8c\u8bed\u8a00\: 
-EnterOptionsDialog.FixedWidthFont.Label=\u56fa\u5b9a\u5bbd\u5ea6\u5b57\u4f53\: 
-EnterOptionsDialog.General.Label=\u4e00\u822c\u9879
-EnterOptionsDialog.GraphFont.Label=\u5de5\u4f5c\u533a\u5185\u5b57\u4f53\: 
-EnterOptionsDialog.GridSize.Label=\u683c\u7f51\u5927\u5c0f
-EnterOptionsDialog.GridSize.ToolTip=\u5c06\u56fe\u6807\u8d34\u8fd1\u7f51\u683c,\u53ef\u4ee5\u66f4\u5bb9\u6613\u5bf9\u9f50\u56fe\u6807
-EnterOptionsDialog.HelpToolTipsEnabled.Label=\u663e\u793a\u5e2e\u52a9\u63d0\u793a?
-EnterOptionsDialog.IconSize.Label=\u5de5\u4f5c\u533a\u5185\u7684\u56fe\u6807\u5927\u5c0f\: 
-EnterOptionsDialog.LineWidth.Label=\u5de5\u4f5c\u533a\u5185\u7684\u7ebf\u5bbd\u5ea6\: 
-EnterOptionsDialog.LookAndFeel.Label=\u89c2\u611f
-EnterOptionsDialog.MaximumUndo.Label=\u6700\u591a\u6062\u590d\u6b21\u6570\: 
-EnterOptionsDialog.MaxNrLogLinesSize.Label=\u65e5\u5fd7\u7a97\u53e3\u7684\u6700\u5927\u884c\u6570
-EnterOptionsDialog.NoteFont.Label=\u6ce8\u91ca\u5b57\u4f53\: 
-EnterOptionsDialog.OnlyActiveFile.Label=\u5728\u6811\u4e0a\u53ea\u663e\u793a\u6fc0\u6d3b\u7684\u6587\u4ef6?
-EnterOptionsDialog.OnlySaveUsedConnections.Label=\u53ea\u4fdd\u5b58\u4f7f\u7528\u7684\u6570\u636e\u5e93\u8fde\u63a5\u5230 XML? 
-EnterOptionsDialog.OpenLastFileStartup.Label=\u542f\u52a8\u65f6\u6253\u5f00\u6700\u540e\u7f16\u8f91\u6587\u4ef6? 
-EnterOptionsDialog.ReplaceDB.Label=\u6253\u5f00/\u5bfc\u5165\u65f6\u662f\u5426\u66ff\u6362\u6570\u636e\u5e93\u8fde\u63a5?
-EnterOptionsDialog.ReplaceDB.Tooltip=\u6253\u5f00/\u5bfc\u5165\u65f6\u662f\u5426\u66ff\u6362\u5f53\u524d\u7684\u6570\u636e\u5e93\u8fde\u63a5,\u662f\u5426\u5f39\u51fa\u7a97\u53e3\u89c1\u4e0a\u4e2a\u9009\u9879. 
-EnterOptionsDialog.ReplaceDBAsk.Label=\u5728\u6253\u5f00/\u5bfc\u5165\u65f6\u662f\u5426\u8be2\u95ee\u66ff\u6362\u8fde\u63a5
-EnterOptionsDialog.ReplaceDBAsk.Tooltip=\u5728\u6253\u5f00/\u5bfc\u5165\u4e00\u4e2a\u8f6c\u6362,\u5982\u679c\u8f6c\u6362\u91cc\u7684\u6570\u636e\u5e93\u8fde\u63a5\u548c\u73b0\u6709\u7684\u6570\u636e\u5e93\u8fde\u63a5\u91cd\u540d,\u662f\u5426\u5f39\u51fa\u7a97\u53e3\u63d0\u793a\u8986\u76d6.
-EnterOptionsDialog.ShadowSize.Label=\u5de5\u4f5c\u533a\u5185\u7684\u9634\u5f71\u5927\u5c0f\: 
-EnterOptionsDialog.ShowRepoDialog.Label=\u542f\u52a8\u65f6\u663e\u793a\u8d44\u6e90\u5e93\u5bf9\u8bdd\u6846? 
-EnterOptionsDialog.ShowSaveConfirmation.Label=\u663e\u793a"\u4fdd\u5b58"\u5bf9\u8bdd\u6846? 
-EnterOptionsDialog.ShowTipsStartup.Label=\u542f\u52a8\u65f6\u663e\u793a\u63d0\u793a? 
-EnterOptionsDialog.ShowWelcomePage.Label=\u542f\u52a8\u65f6\u663e\u793a\u6b22\u8fce\u9875\u9762? 
-EnterOptionsDialog.TabColor.Label=\u6807\u7b7e\u989c\u8272\: 
+TransformFieldsDialog.Name.Label=Transform \u540D\u79F0\:
+EnterOptionsDialog.FailoverLocale.Label=\u7B2C\u4E8C\u8BED\u8A00\: 
+EditRowsDialog.NoRowMeta.Message=\u65E0\u6CD5\u7F16\u8F91\u6CA1\u6709\u5143\u6570\u636E\u7684\u6570\u636E\u884C.
+SQLStatementDialog.Log.Connection=-- \u6570\u636E\u5E93\u8FDE\u63A5\: {0}
+EnterListDialog.AddOne.Tooltip=\u6DFB\u52A0\u5DE6\u8FB9\u9009\u4E2D\u7684\u9009\u9879
 EnterOptionsDialog.Title=Hop \u9009\u9879
-EnterOptionsDialog.ToolTipsEnabled.Label=\u663e\u793a\u63d0\u793a?
-EnterOptionsDialog.UseDatabaseCache.Label=\u4f7f\u7528\u6570\u636e\u5e93\u7f13\u5b58? 
-EnterOptionsDialog.UseOSLook.Label=\u4f7f\u7528\u64cd\u4f5c\u7cfb\u7edf\u5916\u89c2? 
-EnterOptionsDialog.VersionCheck.Label=\u8df3\u8fc7\u66f4\u65b0\u68c0\u67e5?
-EnterPrintDialog.BottomMargin.Label=\u5e95\u8fb9\u8ddd(\u82f1\u5bf8)\: 
-EnterPrintDialog.Cols.Label=\u5217\:
-EnterPrintDialog.LeftMargin.Label=\u5de6\u8fb9\u8ddd(\u82f1\u5bf8)\:
-EnterPrintDialog.PrintArea.Label=\u6253\u5370\u533a\u57df\:
-EnterPrintDialog.RightMargin.Label=\u53f3\u8fb9\u8ddd(\u82f1\u5bf8)\:
-EnterPrintDialog.Rows.Label=\u884c\:
-EnterPrintDialog.Scaling.Label=\u7f29\u653e (10-100%)\: 
+EnterOptionsDialog.Button.Edit=\u6539\u53D8
+CheckResultDialog.Button.ViewMessage=\u67E5\u770B\u6D88\u606F
+EnterOptionsDialog.FixedWidthFont.Label=\u56FA\u5B9A\u5BBD\u5EA6\u5B57\u4F53
+CheckResultDialog.WarningsErrors.Label=\u8B66\u544A\u548C\u9519\u8BEF\:
+EnterMappingDialog.Title=\u5217\u6620\u5C04
+EnterOptionsDialog.DialogMiddlePercentage.Label=\u5BF9\u8BDD\u6846\u7684\u4E2D\u90E8\u4F4D\u7F6E\u767E\u5206\u6BD4
+EnterSearchDialog.Note.Label=\u641C\u7D22\u6CE8\u91CA
+PreviewRowsDialog.NoRows.Text=\u62B1\u6B49
+EnterOptionsDialog.GraphFont.Label=\u5DE5\u4F5C\u533A\u5185\u5B57\u4F53
+PreviewRowsDialog.Button.Close.ToolTip=\u5173\u95ED\u5BF9\u8BDD\u6846,\u6682\u505C\u9884\u89C8. \n\u53EF\u4EE5\u968F\u65F6\u6062\u590D\u9884\u89C8.  
+SQLStatementDialog.Log.Undefined=<\u672A\u5B9A\u4E49>
+EnterOptionsDialog.CopyOrDistributeDialog.Tooltip=\u5F53\u4E00\u4E2A Transform \u5411\u591A\u4E2A Transform \u53D1\u9001\u6570\u636E\u65F6,\u662F\u5426\u8981\u5F39\u51FA\u4E00\u4E2A\u5BF9\u8BDD\u6846\u6765\u8BE2\u95EE\u7528\u6237\u662F\u4F7F\u7528\u5206\u53D1\u65B9\u5F0F\u8FD8\u662F\u590D\u5236\u65B9\u5F0F
+EnterOptionsDialog.ReplaceDB.Label=\u6253\u5F00/\u5BFC\u5165\u65F6\u662F\u5426\u66FF\u6362\u6570\u636E\u5E93\u8FDE\u63A5
+BrowserEnvironmentWarningDialog.Message.Ubuntu=\u62B1\u6B49\uFF0C\u7F3A\u5931\u8F6F\u4EF6\u5305 libwebkitgtk-1.0\u3002\n\u4E3A\u83B7\u5F97\u6700\u4F73\u4F53\u9A8C\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u60A8\u5B89\u88C5\u8F6F\u4EF6\u5305\nlibwebkitgtk-1.0 \u540E\uFF0C\u5E76\u91CD\u542F\u5E94\u7528.
+TransformFieldsDialog.TableCol.ConversionMask=\u63A9\u7801
+EnterOptionsDialog.ShowWelcomePage.Label=\u542F\u52A8\u65F6\u663E\u793A\u6B22\u8FCE\u9875\u9762 
+EnterOptionsDialog.VersionCheck.Label=\u8DF3\u8FC7\u66F4\u65B0\u68C0\u67E5
+EnterOptionsDialog.UseDoubleClickOnCanvas.Label=\u5728\u7F16\u8F91\u533A\u4F7F\u7528\u53CC\u51FB
+TransformFieldsDialog.Title=Transform \u91CC\u7684\u5B57\u6BB5\u548C\u5176\u6765\u6E90
+EnterOrderedListDialog.Selection.Label=\u60A8\u7684\u9009\u62E9\:
+EnterSearchDialog.Shell.Title=\u641C\u7D22\u5143\u6570\u636E
+EnterOptionsDialog.AutoSplitHops.Label=\u81EA\u52A8\u5206\u5272\u8282\u70B9\u8FDE\u63A5 
+EnterListDialog.RemoveAll.Tooltip=\u6DFB\u52A0\u53F3\u8FB9\u7684\u6240\u6709\u9009\u9879
+TransformFieldsDialog.TableCol.Precision=\u7CBE\u5EA6\r\n
+EnterOrderedListDialog.Title=\u8F93\u5165\u6709\u5E8F\u5217\u8868
+EditRowsDialog.ErrorConvertingData=\u5B57\u7B26\u4E32\u503C\u8F6C\u6362\u4E3A\u672C\u5730\u6570\u636E\u7C7B\u578B\u65F6\u51FA\u9519
+EnterSelectionDialog.UseConstant.Label=\u4F7F\u7528\u5E38\u91CF
+EnterOptionsDialog.ClearCustomParameters.Question=\u786E\u5B9E\u8981\u5220\u9664?
+CheckResultDialog.TextDialog.SubtitlePlural=\u6D88\u606F\:
+BrowserEnvironmentWarningDialog.Title=\u4E0D\u652F\u6301\u7684\u6D4F\u89C8\u5668
+EnterOptionsDialog.MaxNrLogLinesSize.Label=\u65E5\u5FD7\u7A97\u53E3\u7684\u6700\u5927\u884C\u6570
+EnterOptionsDialog.LineWidth.Label=\u5DE5\u4F5C\u533A\u5185\u7684\u7EBF\u5BBD\u5EA6
+SQLStatementDialog.TableCol.Connection=\u8FDE\u63A5
 EnterPrintDialog.Title=\u6253\u5370\u9875
-EnterPrintDialog.TopMargin.Label=\u4e0a\u8fb9\u8ddd(\u82f1\u5bf8)\:
-EnterSearchDialog.DB.Label=\u641c\u7d22\u6570\u636e\u5e93\u8fde\u63a5
-EnterSearchDialog.DB.Tooltip=\u641c\u7d22\u6570\u636e\u5e93\u8fde\u63a5
-EnterSearchDialog.FilterSelection.Label=\u8fc7\u6ee4\u5668
-EnterSearchDialog.Note.Label=\u641c\u7d22\u6ce8\u91ca
-EnterSearchDialog.Note.Tooltip=\u641c\u7d22\u6ce8\u91ca
-EnterSearchDialog.Shell.Title=\u641c\u7d22\u5143\u6570\u636e
-EnterSearchDialog.Transform.Label=\u641c\u7d22\u6b65\u9aa4
-EnterSearchDialog.Transform.Tooltip=\u641c\u7d22\u6b65\u9aa4
-EnterSelectionDialog.FilterString.Label=\u8fc7\u6ee4
-EnterSelectionDialog.refresh.Label=\u5237\u65b0
-EnterStringsDialog.Message=\u4e3a\u4e0b\u9762\u6307\u5b9a\u7684\u5b57\u7b26\u4e32\u8f93\u5165\u503c\:
-EnterStringsDialog.StringName.Label=\u540d\u79f0
-EnterStringsDialog.StringValue.Label=\u503c
-EnterStringsDialog.Title=\u8f93\u5165\u503c
-EnterValueDialog.ConversionFormat.Label=\u8f6c\u6362\u683c\u5f0f\:  
-EnterValueDialog.Length.Label=\u957f\u5ea6\:
-EnterValueDialog.Precision.Label=\u7cbe\u5ea6\:
-EnterValueDialog.TestResult.Message=\u7ed3\u679c\u7684\u503c\u662f\:\r\n\r\n{0}
-EnterValueDialog.TestResult.Title=u503c
-EnterValueDialog.Title=E\u8f93\u5165\u4e00\u4e2a\u503c
-EnterValueDialog.Type.Label=\u7c7b\u578b\: 
-EnterValueDialog.Value.Label=\u503c\: 
-ErrorDialog.ShowDetails.Message=\u9519\u8bef\u7ec6\u8282\u548c\u5f02\u5e38\u5806\u6808
-ErrorDialog.ShowDetails.Title=\u9519\u8bef\u7ec6\u8282
-HopPropertiesFileDialog.Description.Label=\u63cf\u8ff0
-HopPropertiesFileDialog.Exception.ErrorLoadingData.Title=\u6570\u636e\u52a0\u8f7d\u9519\u8bef
-HopPropertiesFileDialog.Exception.ErrorSavingData.Title=\u6570\u636e\u4fdd\u5b58\u9519\u8bef
-HopPropertiesFileDialog.Name.Label=\u53d8\u91cf\u540d
-HopPropertiesFileDialog.Value.Label=\u503c
-PreviewRowsDialog.Button.Close.Label=\u5173\u95ed(&C)
-PreviewRowsDialog.Button.Close.ToolTip=\u5173\u95ed\u5bf9\u8bdd\u6846,\u6682\u505c\u9884\u89c8. \n\u53ef\u4ee5\u968f\u65f6\u6062\u590d\u9884\u89c8.  
-PreviewRowsDialog.Button.Next.Label=\u83b7\u53d6\u66f4\u591a\u884c(&M)
-PreviewRowsDialog.Button.Next.ToolTip=\u7ee7\u7eed\u6682\u505c\u7684\u9884\u89c8\uff0c\u83b7\u53d6\u66f4\u591a\u6570\u636e
-PreviewRowsDialog.Button.ShowLog=\u663e\u793a\u65e5\u5fd7(&L)
-PreviewRowsDialog.Button.Stop.Label=\u505c\u6b62(&S)
-PreviewRowsDialog.Button.Stop.ToolTip=\u505c\u6b62\u9884\u89c8
-PreviewRowsDialog.Header=\u6b65\u9aa4 {0} \u7684\u6570\u636e 
-PreviewRowsDialog.NoRows.Message=\u6ca1\u6709\u53ef\u9884\u89c8\u7684\u6570\u636e.
-PreviewRowsDialog.NoRows.Text=\u5bf9\u4e0d\u8d77
-PreviewRowsDialog.ShowLogging.Message=\u65e5\u5fd7\u4fe1\u606f
-PreviewRowsDialog.ShowLogging.Title=\u65e5\u5fd7\u4fe1\u606f
-PreviewRowsDialog.Title=\u9884\u89c8\u6570\u636e
-SelectRowDialog.Title=\u9009\u62e9\u4e00\u9879
-SQLStatementDialog.Button.EditTransform=\u7f16\u8f91\u6765\u6e90\u6b65\u9aa4(&E)
-SQLStatementDialog.Button.ExecSQL=\u6267\u884cSQL(&X)\r\n
-SQLStatementDialog.Button.ViewSQL=\u67e5\u770bSQL(&V)\r\n
-SQLStatementDialog.Error.CouldNotConnect=\u4e0d\u80fd\u8fde\u63a5\u5230\u6570\u636e\u5e93 [{0}]
-SQLStatementDialog.Error.CouldNotExec=\u4e0b\u5217\u8bed\u53e5\u65e0\u6cd5\u6267\u884c\:\r\n{0}
-SQLStatementDialog.Error.Message=\u65e0\u6cd5\u6267\u884c\u9009\u4e2d\u7684 SQL \u8bed\u53e5, {0} \u6761\u8bed\u53e5\u6709\u9519\u8bef.
-SQLStatementDialog.Error.Title=\u9519\u8bef
-SQLStatementDialog.Log.Connection=-- \u6570\u636e\u5e93\u8fde\u63a5 \: {0}
-SQLStatementDialog.Log.Error=-- \u9519\u8bef\u6d88\u606f       \: {0}\r\n
-SQLStatementDialog.Log.Transform=-- \u6b65\u9aa4                \: {0}\r\n
-SQLStatementDialog.Log.Undefined=<\u672a\u5b9a\u4e49>
-SQLStatementDialog.Success.Message={0} \u6761 SQL \u8bed\u53e5\u6210\u529f\u6267\u884c
-SQLStatementDialog.Success.Title=\u6210\u529f
-SQLStatementDialog.TableCol.Connection=\u8fde\u63a5
-SQLStatementDialog.TableCol.Error=\u9519\u8bef
-SQLStatementDialog.TableCol.SQL=SQL
-SQLStatementDialog.TableCol.TransformName=\u6b65\u9aa4\u540d\u79f0
-SQLStatementDialog.Title=\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u5217\u8868
-SQLStatementDialog.ViewSQL.Message=SQL \u8bed\u53e5\:
-SQLStatementDialog.ViewSQL.Title=SQL \u8bed\u53e5
-TransformFieldsDialog.Buttons.EditOrigin=\u7f16\u8f91\u6e90\u6b65\u9aa4(&E)
-TransformFieldsDialog.Fields.Label=\u5b57\u6bb5\:
-TransformFieldsDialog.Name.Label=\u6b65\u9aa4\u540d\u79f0\:
-TransformFieldsDialog.OriginTransform.Message=\u8bf7\u9009\u62e9\u4e0a\u9762\u7684\u4e00\u4e2a\u5b57\u6bb5.
-TransformFieldsDialog.OriginTransform.Title=\u6ca1\u6709\u9009\u62e9
-TransformFieldsDialog.TableCol.Comments=\u6ce8\u91ca
-TransformFieldsDialog.TableCol.ConversionMask=\u63a9\u7801
-TransformFieldsDialog.TableCol.Decimal=\u5341\u8fdb\u5236
-TransformFieldsDialog.TableCol.Fieldname=\u5b57\u6bb5\u540d\u79f0
-TransformFieldsDialog.TableCol.Group=\u7ec4
-TransformFieldsDialog.TableCol.Length=\u957f\u5ea6
-TransformFieldsDialog.TableCol.Origin=\u6b65\u9aa4\u6765\u6e90\r\n
-TransformFieldsDialog.TableCol.Precision=\u7cbe\u5ea6\r\n
-TransformFieldsDialog.TableCol.StorageType=\u5b58\u50a8\r\n
-TransformFieldsDialog.TableCol.TrimType=\u53bb\u9664\u7a7a\u5b57\u7b26
-TransformFieldsDialog.TableCol.Type=\u7c7b\u578b
-TransformFieldsDialog.Title=\u6b65\u9aa4\u91cc\u7684\u5b57\u6bb5\u548c\u5176\u6765\u6e90
+EnterStringsDialog.StringName.Label=\u540D\u79F0
+TransformFieldsDialog.TableCol.Group=\u7EC4
+EnterOptionsDialog.AutoSave.Label=\u81EA\u52A8\u4FDD\u5B58\u53D8\u66F4 
+CheckResultDialog.Button.EditOriginTransform=\u7F16\u8F91\u6E90 Transform
+EnterOptionsDialog.ConfigFilename.Label=Hop \u914D\u7F6E\u6587\u4EF6\u540D
+EnterOptionsDialog.ClearCustomParameters.Confirmation=\u5220\u9664\u5B8C\u6BD5.
+BrowserEnvironmentWarningDialog.HelpLink=\u53EF\u5728 <a>\u6B64\u5904</a> \u627E\u5230\u652F\u6301\u7684\u6D4F\u89C8\u5668\u5217\u8868.
+EnterPrintDialog.TopMargin.Label=\u4E0A\u8FB9\u8DDD(\u82F1\u5BF8)\:
+EnterOptionsDialog.ClearCustomParameters.Title=\u95EE\u9898
+EnterOrderedListDialog.RemoveOne.Tooltip=\u5220\u9664\u53F3\u4FA7\u9009\u4E2D\u7684\u5185\u5BB9
+EnterOptionsDialog.OnlyActiveFile.Label=\u5728\u6811\u4E0A\u53EA\u663E\u793A\u6FC0\u6D3B\u7684\u6587\u4EF6
+EnterPrintDialog.Cols.Label=\u5217\:
+SQLStatementDialog.Error.CouldNotConnect=\u4E0D\u80FD\u8FDE\u63A5\u5230\u6570\u636E\u5E93 [{0}]
+EnterOptionsDialog.HelpToolTipsEnabled.Label=\u663E\u793A\u5E2E\u52A9\u63D0\u793A
+EnterOptionsDialog.ToolTipsEnabled.Label=\u663E\u793A\u63D0\u793A
+SQLStatementDialog.Button.ExecSQL=\u6267\u884CSQL(&X)
+TransformFieldsDialog.TableCol.Length=\u957F\u5EA6
+EnterOptionsDialog.DefaultLocale.Label=\u7F3A\u7701\u8BED\u8A00
+CheckResultDialog.Title=Pipeline \u68C0\u67E5\u7ED3\u679C
+PreviewRowsDialog.ShowLogging.Title=\u65E5\u5FD7\u4FE1\u606F
+EnterOptionsDialog.ClearCustomParameters.Label=\u6E05\u9664\u81EA\u5B9A\u4E49\u53C2\u6570 (Transform/ \u63D2\u4EF6)
+EnterOptionsDialog.ShadowSize.Label=\u5DE5\u4F5C\u533A\u5185\u7684\u9634\u5F71\u5927\u5C0F\: 
+PreviewRowsDialog.Button.Stop.Label=\u505C\u6B62(&S)
+CheckResultDialog.TextDialog.Subtitle=\u6D88\u606F\:
+TransformFieldsDialog.TableCol.StorageType=\u5B58\u50A8\r\n
+ErrorDialog.ShowDetails.Message=\u9519\u8BEF\u7EC6\u8282\u548C\u5F02\u5E38\u5806\u6808
+ArgumentsDialog.ArgumentsColumn.Argument=Argument
+EnterValueDialog.Precision.Label=\u7CBE\u5EA6\:
+HopPropertiesFileDialog.Name.Label=\u53D8\u91CF\u540D
+PreviewRowsDialog.ShowLogging.Message=\u65E5\u5FD7\u4FE1\u606F
+EnterSelectionDialog.FilterString.Label=\u8FC7\u6EE4
+SQLStatementDialog.Success.Message={0} \u6761 SQL \u8BED\u53E5\u6210\u529F\u6267\u884C
+ArgumentsDialog.docHeader=Arguments
+CheckResultDialog.Remarks.Label=\u5907\u6CE8\:
+EnterOptionsDialog.Transform.Label=Transforms
+EnterOptionsDialog.EnableAutoCollapseCoreObjectTree.Label=\u81EA\u52A8\u6298\u53E0\u5206\u7C7B
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/core/metadata/messages/messages_zh_CN.properties
similarity index 55%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to ui/src/main/resources/org/apache/hop/ui/core/metadata/messages/messages_zh_CN.properties
index b11c537..90d6953 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/metadata/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.core.metadata' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+MetadataEditor.Error.NameAlreadyExists=\u540D\u79F0 \u201C{0}\u201D \u5DF2\u5B58\u5728\u3002
+MetadataEditor.Error.IncorrectName=\u540D\u79F0\u4E0D\u80FD\u4EE5 \u201C$\u201D \u5F00\u5934
+MetadataEditor.Dialog.Ok.Error.Message=\u4FDD\u5B58\u5143\u6570\u636E\u65F6\u51FA\u9519
+MetadataEditor.Dialog.Ok.Error.Header=\u9519\u8BEF
+MetadataEditor.WantToSaveBeforeClosing.Message=\u662F\u5426\u8981\u5728\u5173\u95ED\u524D\u4FDD\u5B58 \u201C{0}\u201D?
+MetadataEditor.Error.NoName=\u5FC5\u987B\u5B9A\u4E49\u4E00\u4E2A\u540D\u79F0\uFF01
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..8761108
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/core/vfs/messages/messages_zh_CN.properties
@@ -0,0 +1,63 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.ui.core.vfs' in locale 'zh_CN'
+#
+#
+HopVfsFileDialog.Refresh.Tooltip.Message=\u5237\u65B0
+HopVfsFileDialog.DeleteFile.Confirmation.Message=\u60A8\u786E\u5B9A\u8981\u5220\u9664\u4EE5\u4E0B\u6587\u4EF6\u5417?
+HopVfsFileDialog.FileInfo.Tooltip.Writeable=\u53EF\u5199\: {0}
+HopVfsFileDialog.CreateFolder.Tooltip.Message=\u65B0\u5EFA\u6587\u4EF6\u5939
+HopVfsFileDialog.FileInfo.Tooltip.Name=\u540D\u79F0\: {0}
+HopVfsFileDialog.NavigateToNextPath.Tooltip.Message=\u8DF3\u5230\u4F60\u6D4F\u89C8\u8FC7\u7684\u4E0B\u4E00\u4E2A\u8DEF\u5F84
+HopVfsFileDialog.RenameFile.Tooltip.Message=\u9009\u62E9\u6587\u4EF6\u6539\u540D(F2)
+HopVfsFileDialog.Folder.Name.Label=\u540D\u79F0
+HopVfsFileDialog.Delete.MenuItem.Label=\u5220\u9664
+HopVfsFileDialog.ShowHiddenFiles.Tooltip.Message=\u663E\u793A\u6216\u9690\u85CF\u9690\u85CF\u6587\u4EF6\u53CA\u76EE\u5F55
+HopVfsFileDialog.FileInfo.Tooltip.Size=\u5927\u5C0F\: {0}
+HopVfsFileDialog.NavigateToPrevPath.Tooltip.Message=\u8FD4\u56DE\u4F60\u6D4F\u89C8\u8FC7\u7684\u4E0A\u4E00\u4E2A\u8DEF\u5F84
+HopVfsFileDialog.BookmarkDialog.Message=\u8BF7\u8F93\u5165\u8BE5\u4E66\u7B7E\u7684\u540D\u79F0
+HopVfsFileDialog.Yes.Label=\u662F
+HopVfsFileDialog.Browsing.Error.Message=\u6D4F\u89C8\u5230\u4F4D\u7F6E \u201C{0}\u201D \u65F6\u51FA\u9519
+HopVfsFileDialog.File.Size.Label=\u5927\u5C0F
+HopVfsFileDialog.DeleteFile.Error.Message=\u5220\u9664\u6587\u4EF6 "{0}" \u65F6 \u51FA\u9519
+HopVfsFileDialog.No.Label=\u5426
+HopVfsFileDialog.CreateFolder.Message=\u8BF7\u8F93\u5165\u8981\u5728 \u201C{0}\u201D \u4E2D\u521B\u5EFA\u7684\u6587\u4EF6\u5939\u540D\u79F0
+HopVfsFileDialog.FileInfo.Tooltip.Symlink=\u6587\u4EF6\u8F6F\u94FE\u63A5
+HopVfsFileDialog.DefaultSelection.Handling.Error.Message=\u5728\u6587\u4EF6 \u201C{0}\u201D \u4E0A\u6267\u884C\u7684\u9ED8\u8BA4\u9009\u62E9\u884C\u4E3A\u65F6\u51FA\u9519
+HopVfsFileDialog.FindParentFolder.Error.Message=\u67E5\u627E\u6587\u4EF6 \u201C{0}\u201D \u7684\u4E0A\u7EA7\u76EE\u5F55\u65F6\u51FA\u9519
+HopVfsFileDialog.NavigateFolderUp.Error.Message=\u8FD4\u56DE\u4E0A\u7EA7\u76EE\u5F55 \u201C{0}\u201D \u65F6\u51FA\u9519
+HopVfsFileDialog.DeleteFile.Tooltip.Message=\u5220\u9664\u9009\u62E9\u6587\u4EF6(DEL)
+HopVfsFileDialog.AddBookmark.Tooltip.Message=\u5C06\u6240\u9009\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u6DFB\u52A0\u4E3A\u65B0\u4E66\u7B7E
+HopVfsFileDialog.CreateFolder.Header=\u65B0\u5EFA\u76EE\u5F55
+HopVfsFileDialog.DeleteFile.Confirmation.Header=\u5220\u9664\u6587\u4EF6?
+HopVfsFileDialog.FileInfo.Tooltip.LastModified=\u6700\u8FD1\u4FEE\u6539\: {0}
+HopVfsFileDialog.FolderCreate.Error.Message=\u521B\u5EFA\u6587\u4EF6\u5939 \u201C{0}\u201D \u65F6\u51FA\u9519
+HopVfsFileDialog.NavigateToParent.Tooltip.Message=\u8FD4\u56DE\u5230\u4E0A\u7EA7\u76EE\u5F55
+HopVfsFileDialog.Bookmark.Error.Message=\u4FDD\u5B58\u4E66\u7B7E \u201C{0}\u201D \u65F6\u51FA\u9519
+HopVfsFileDialog.FileInfo.Tooltip.Executable=\u53EF\u6267\u884C\: {0}
+HopVfsFileDialog.NavigateToHome.Tooltip.Message=\u8FD4\u56DE\u7528\u6237\u6839\u76EE\u5F55
+HopVfsFileDialog.FileInfo.Tooltip.Folder=\u6587\u4EF6\u5939\: {0}
+HopVfsFileDialog.FileInfo.Tooltip.Readable=\u53EF\u8BFB\: {0}
+HopVfsFileDialog.Modified.Date.Label=\u4FEE\u6539
+HopVfsFileDialog.BookmarkDialog.Header=\u8F93\u5165\u4E66\u7B7E
+HopVfsFileDialog.FilenameInfo.Error.Message=\u83B7\u53D6\u6587\u4EF6 \u201C{0}\u201D \u4FE1\u606F\u65F6\u51FA\u9519
+HopVfsFileDialog.NameBookmark.Header=\u8F93\u5165\u4E66\u7B7E
+HopVfsFileDialog.RemoveBookmark.Tooltip.Message=\u5220\u9664\u9009\u62E9\u4E66\u7B7E
+HopVfsFileDialog.NameBookmark.Message=\u8BF7\u8F93\u5165\u8BE5\u4E66\u7B7E\u7684\u540D\u79F0
+HopVfsFileDialog.ParsingFilename.Error.Message=\u89E3\u6790\u6587\u4EF6\u540D "{0}" \u65F6\u51FA\u9519
+HopVfsFileDialog.FileInfo.Tooltip.Attributes=\u5C5E\u6027\: {0}
+HopVfsFileDialog.RenameFile.Error.Message=\u91CD\u547D\u540D\u6587\u4EF6 "{0}" \u65F6\u51FA\u9519
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_zh_CN.properties
index d12dc74..991764f 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,86 +14,89 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.core.widget' in locale 'zh_CN'
 #
 #
-Widget.Styled.Comp.CaseSensitive=\u5927\u5c0f\u5199\u654f\u611f(&C)
-Widget.Styled.CompReplace.ReplaceAll=\u66ff\u6362\u5168\u90e8
-TableView.menu.ClearSelection=\u6e05\u9664\u9009\u4e2d\u884c ESC
-ConditionEditor.PasteFromClipboardAfterCondition=\u4ece\u526a\u8d34\u677f\u7c98\u8d34(\u7c98\u8d34\u5230\u5f53\u524d\u6761\u4ef6\u540e\u9762)
-ConditionEditor.SelectOperator.Label=\u9009\u62e9\u64cd\u4f5c\u7b26\:
-TableView.menu.PasteFromClipboard=\u81ea\u52a8\u8c03\u6574\u5217\u5bbd\u5ea6(\u8003\u8651\u8868\u5934)\tF4
-TextVar.tooltip.FieldIsInUse=\u8fd9\u4e2a\u56fe\u6807\u8bf4\u660e\u8be5\u5b57\u6bb5\u662f\u975e\u7a7a\u7684 (\u5728\u4f7f\u7528)
-ConditionEditor.MoveConditionToParentCondition=\u79fb\u52a8\u6761\u4ef6\u5230\u7236\u6761\u4ef6 (<--)
-Widget.Styled.CompReplace.Find=\u67e5\u627e\:
-ConditionEditor.Operator.Label=\u64cd\u4f5c\u7b26\:
-TableView.menu.OptimalSizeWithoutHeader=\u81ea\u52a8\u8c03\u6574\u5217\u5bbd\u5ea6(\u4e0d\u8003\u8651\u8868\u5934)\tF4
-Widget.Styled.CompReplace.Replace=\u66ff\u6362
-WidgetDialog.Styled.Undo=\u64a4\u9500\\tCtrl+Z
-TableView.menu.DeleteSelected=\u5220\u9664\u9009\u4e2d\u7684\u884c\tDEL
-TableView.menu.CutSelected=\u526a\u5207\u9009\u4e2d\u7684\u884c\tCTRL-X
-TableView.menu.InsertBeforeRow=\u5f53\u524d\u884c\u524d\u9762\u63d2\u5165
-Widget.Styled.CompReplace.CaseSensitive=\u5927\u5c0f\u5199\u654f\u611f(&C)
-CheckBoxVar.tooltip.InsertVariable=\u70b9\u51fb\u9009\u62e9\u8981\u4f7f\u7528\u7684\u53d8\u91cf
-TableView.menu.ClearAll=\ \u6e05\u9664\u5168\u90e8
-TableView.MessageBox.ClearTable.message=\u786e\u5b9a\u8981\u6e05\u9664\u8868\u5417? \u8be5\u64cd\u4f5c\u4e0d\u80fd\u64a4\u9500\!
-TextVar.VariableValue.Message=\u53d8\u91cf ''{0}'' \u7684\u503c\u662f \: \r\n\r\n\t{1}\r\n
-Widget.Styled.CompReplace.FindItem=\u67e5\u627e\u9879
-ConditionEditor.MoveConditionToSubCondition=\u79fb\u52a8\u6761\u4ef6\u5230\u5b50\u6761\u4ef6 (-->)
-TextVar.InternalVariable.Message=\u8fd9\u662f\u4e00\u4e2a\u5185\u90e8\u53d8\u91cf
-TableView.menu.SelectAll=\u9009\u62e9\u6240\u6709\u884c\tCTRL-A
-ConditionEditor.Fields=\u5b57\u6bb5
-ConditionEditor.Error=\u9519\u8bef
-TableView.menu.Undo=\u64a4\u9500 \: {0} \tCTRL-Z
-TableView.menu.RedoNotAvailable=\u91cd\u505a \: \u4e0d\u53ef\u7528 \tCTRL-Y
-Widget.Styled.Comp.FindItem=\u627e\u5230\u9879\u76ee
-ConditionEditor.StringUp=^^ \u5411\u4e0a ^^ 
-WidgetDialog.Styled.SelectAll=\u9009\u62e9\u5168\u90e8(&A)\\tCtrl+A
-WidgetDialog.Styled.Find=\u67e5\u627e\\tCtrl+F
-WidgetDialog.Styled.Redo=\u91cd\u505a\\tCtrl+Y
-TableView.menu.UndoNotAvailable=\u64a4\u9500 \: \u4e0d\u53ef\u7528 \tCTRL-Z
-TableView.menu.OptimalSizeWithHeader=\u81ea\u52a8\u8c03\u6574\u5217\u5bbd\u5ea6(\u8003\u8651\u8868\u5934)\tF3
-Widget.Styled.Comp.Forward=\u5411\u524d(&o)
-ConditionEditor.DeleteCondition.Label=\u5220\u9664\u6761\u4ef6
-TableView.menu.KeepSelected=\u53ea\u4fdd\u7559\u9009\u4e2d\u7684\u884c\tCTRL-K
+TableView.menu.OptimalSizeWithoutHeader=\u81EA\u52A8\u8C03\u6574\u5217\u5BBD\u5EA6(\u4E0D\u8003\u8651\u8868\u5934)\tF4
+TableView.menu.MoveUp=\u4E0A\u79FB\tCTRL-UP
+ConditionEditor.SelectAField=\u9009\u62E9\u4E00\u4E2A\u5B57\u6BB5\:
+TableView.MessageBox.ClearTable.message=\u786E\u5B9A\u8981\u6E05\u9664\u8868\u5417? \u8BE5\u64CD\u4F5C\u4E0D\u80FD\u64A4\u9500\uFF01
+ConditionEditor.EditSubCondition=\u70B9\u51FB\u7F16\u8F91\u5B50\u6761\u4EF6
+TableView.menu.MoveDown=\u4E0B\u79FB\tCTRL-DOWN
+Widget.Styled.Comp.Forward=\u5411\u524D(&F)
+Widget.Styled.CompReplace.Close=\u5173\u95ED
+Widget.Styled.Comp.CaseSensitive=\u5927\u5C0F\u5199\u654F\u611F(&C)
+ConditionEditor.SelectFunction.Label=\u9009\u62E9\u51FD\u6570\:
+ConditionEditor.NegateCondition=\u6761\u4EF6\u5BFC\u822A
+Widget.Styled.CompReplace.Replace=\u66FF\u6362
 ConditionEditor.StringNot=NOT
-Widget.Styled.Comp.Direction=\u65b9\u5411
-WidgetDialog.Styled.FindString=\u67e5\u627e / {0} 
-TableView.menu.Redo=\u91cd\u505a \: {0} \tCTRL-Y
-ConditionEditor.SelectFunction.Label=\u9009\u62e9\u51fd\u6570\:
-TableView.menu.MoveUp=\u4e0a\u79fb\tCTRL-UP
-Widget.Styled.Comp.Close=\u5173\u95ed
-Widget.Styled.CompReplace.ItemNotFound=\u6ca1\u6709\u627e\u5230 {0} 
-WidgetDialog.Styled.Replace=\u66ff\u6362\\tCtrl+H
-WidgetDialog.Styled.Paste=\u7c98\u8d34\\tCtrl+V
-ConditionEditor.NoConditionFoundXML.Exception=XML \u4e2d\u6ca1\u6709\u53d1\u73b0\u6761\u4ef6\:{0}
-ConditionEditor.NegateCondition=\u6761\u4ef6\u5bfc\u822a
-Widget.Styled.Comp.Backward=\u5411\u540e(&B)
-ConditionEditor.SelectAField=\u9009\u62e9\u4e00\u4e2a\u5b57\u6bb5\:
-WidgetDialog.Styled.Copy=\u590d\u5236\\tCtrl+C
-Widget.Styled.Comp.WrapSearch=\u641c\u7d22(&W)
-WidgetDialog.Styled.Cut=\u526a\u5207\\tCtrl+X
-ConditionEditor.MoveConditionDown=\u6761\u4ef6\u4e0b\u79fb
-ConditionEditor.CopyToClipboard=\u590d\u5236\u5230\u526a\u8d34\u677f
-Widget.Styled.CompReplace.Close=\u5173\u95ed
-Widget.Styled.CompReplace.FindNext=\u67e5\u627e\u4e0b\u4e00\u4e2a(&N)
-ConditionEditor.ErrorParsingCondition=\u9519\u8bef\u7c98\u8d34\u6761\u4ef6
-TableView.ErrorDialog.description=\u7ed9\u8868\u7684\u5217\u6392\u5e8f\u65f6\u53d1\u751f\u4e0d\u53ef\u9884\u6599\u7684\u9519\u8bef
-TableView.menu.CopyToClipboard=\u590d\u5236\u9009\u4e2d\u884c\u5230\u526a\u8d34\u677f\tCTRL-C
-TableView.menu.CopyFieldToAllRows=\u590d\u5236\u5b57\u6bb5\u503c\u5230\u6240\u6709\u884c
-ConditionEditor.MoveConditionUp=\u6761\u4ef6\u4e0a\u79fb
-Widget.Styled.Comp.FindNext=\u67e5\u627e\u4e0b\u4e00\u4e2a(&N)
-TextVar.tooltip.InsertVariable=\u4f7f\u7528 CTRL-ALT-SPACE \u9009\u62e9\u4e00\u4e2a\u53d8\u91cf
-Widget.Styled.Comp.Find.Title=\u627e\u5230\:
-TableView.menu.MoveDown=\u4e0b\u79fb\tCTRL-DOWN
-TableView.ErrorDialog.title=\u672a\u9884\u6599\u7684\u9519\u8bef
-ConditionEditor.PasteFromClipboardBeforeCondition=\u7c98\u8d34\u5230\u526a\u8d34\u677f(\u5728\u5f53\u524d\u6761\u4ef6\u524d\u9762)
-ConditionEditor.Functions.Label=\u51fd\u6570\:
-ConditionEditor.GoUpOneLevel.Label=\u7ea7\u522b {0}, \u9009\u62e9 '\u5411\u4e0a' \u5230\u4e0a\u4e00\u7ea7
-TableView.MessageBox.ClearTable.title=\u95ee\u9898
-ConditionEditor.AddSubCondition.Label=\u589e\u52a0\u5b50\u6761\u4ef6
-ConditionEditor.AddCondition.Label=\u589e\u52a0\u6761\u4ef6
-ConditionEditor.NoConditionFoundXML=XML \u4e2d\u6ca1\u6709\u53d1\u73b0\u6761\u4ef6
-ConditionEditor.MoveDown=\u4e0b\u79fb
-TableView.menu.FilteredSelection=\u8fc7\u6ee4\u9009\u62e9\tCTRL-F
-ConditionEditor.EditSubCondition=\u70b9\u51fb\u7f16\u8f91\u5b50\u6761\u4ef6
-TableView.menu.InsertAfterRow=\u5f53\u524d\u884c\u540e\u9762\u63d2\u5165
+Widget.Styled.CompReplace.FindNext=\u67E5\u627E\u4E0B\u4E00\u4E2A(&N)
+Widget.Styled.CompReplace.CaseSensitive=\u5927\u5C0F\u5199\u654F\u611F(&C)
+TableView.menu.Undo=\u64A4\u9500\: {0} \tCTRL-Z
+Widget.Styled.CompReplace.Find=\u67E5\u627E\:
+TableView.menu.RedoNotAvailable=\u91CD\u505A\: \u4E0D\u53EF\u7528 \tCTRL-Y
+TableView.menu.ClearAll=\ \u6E05\u9664\u5168\u90E8
+TableView.menu.FilteredSelection=\u8FC7\u6EE4\u9009\u62E9\tCTRL-F
+ConditionEditor.MoveConditionToSubCondition=\u79FB\u52A8\u6761\u4EF6\u5230\u5B50\u6761\u4EF6 (-->)
+TableView.menu.CutSelected=\u526A\u5207\u9009\u4E2D\u7684\u884C\tCTRL-X
+WidgetDialog.Styled.Redo=\u91CD\u505A\\tCtrl+Y
+WidgetDialog.Styled.Copy=\u590D\u5236\\tCtrl+C
+TableView.menu.InsertBeforeRow=\u5F53\u524D\u884C\u524D\u9762\u63D2\u5165
+TableView.menu.UndoNotAvailable=\u64A4\u9500\: \u4E0D\u53EF\u7528 \tCTRL-Z
+ConditionEditor.PasteFromClipboardAfterCondition=\u4ECE\u526A\u8D34\u677F\u7C98\u8D34(\u7C98\u8D34\u5230\u5F53\u524D\u6761\u4EF6\u540E\u9762)
+TableView.menu.PasteFromClipboard=\u81EA\u52A8\u8C03\u6574\u5217\u5BBD\u5EA6(\u8003\u8651\u8868\u5934)\tF4
+TableView.menu.CopyFieldToAllRows=\u590D\u5236\u5B57\u6BB5\u503C\u5230\u6240\u6709\u884C
+TableView.ErrorDialog.description=\u7ED9\u8868\u7684\u5217\u6392\u5E8F\u65F6\u53D1\u751F\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF
+Widget.Styled.CompReplace.ReplaceAll=\u66FF\u6362\u5168\u90E8
+WidgetDialog.Styled.Cut=\u526A\u5207\\tCtrl+X
+WidgetDialog.Styled.SelectAll=\u9009\u62E9\u5168\u90E8(&A)\\tCtrl+A
+ConditionEditor.Fields=\u5B57\u6BB5
+Widget.Styled.CompReplace.FindItem=\u67E5\u627E\u9879
+ConditionEditor.MoveDown=\u4E0B\u79FB
+ConditionEditor.SelectOperator.Label=\u9009\u62E9\u64CD\u4F5C\u7B26\:
+Widget.Styled.Comp.Close=\u5173\u95ED
+ConditionEditor.ErrorParsingCondition=\u9519\u8BEF\u7C98\u8D34\u6761\u4EF6
+Widget.Styled.Comp.Direction=\u65B9\u5411
+Widget.Styled.Comp.FindItem=\u627E\u5230\u9879\u76EE
+TableView.menu.ClearSelection=\u6E05\u9664\u9009\u4E2D\u884C ESC
+WidgetDialog.Styled.Undo=\u64A4\u9500\\tCtrl+Z
+ConditionEditor.PasteFromClipboardBeforeCondition=\u7C98\u8D34\u5230\u526A\u8D34\u677F(\u5728\u5F53\u524D\u6761\u4EF6\u524D\u9762)
+ConditionEditor.GoUpOneLevel.Label=\u7EA7\u522B {0}, \u9009\u62E9 '\u5411\u4E0A' \u5230\u4E0A\u4E00\u7EA7
+ConditionEditor.DeleteCondition.Label=\u5220\u9664\u6761\u4EF6
+Widget.Styled.CompReplace.ItemNotFound=\u6CA1\u6709\u627E\u5230 {0} 
+ConditionEditor.EditCondition.Label=\u7F16\u8F91\u6761\u4EF6
+StyledTextComp.tooltip.InsertVariable=\u901A\u8FC7\u5FEB\u6377\u952E CTRL-SPACE \u9009\u62E9\u8981\u63D2\u5165\u7684\u53D8\u91CF
+TableView.menu.OptimalSizeWithHeader=\u81EA\u52A8\u8C03\u6574\u5217\u5BBD\u5EA6(\u8003\u8651\u8868\u5934)\tF3
+TableView.menu.InsertAfterRow=\u5F53\u524D\u884C\u540E\u9762\u63D2\u5165
+Widget.Styled.Comp.Backward=\u5411\u540E(&B)
+ConditionEditor.NoConditionFoundXML.Exception=XML \u4E2D\u6CA1\u6709\u53D1\u73B0\u6761\u4EF6\:{0}
+TableView.menu.CopyToClipboard=\u590D\u5236\u9009\u4E2D\u884C\u5230\u526A\u8D34\u677F\tCTRL-C
+TextVar.tooltip.InsertVariable=\u4F7F\u7528 CTRL-ALT-SPACE \u9009\u62E9\u4E00\u4E2A\u53D8\u91CF
+ConditionEditor.Error=\u9519\u8BEF
+WidgetDialog.Styled.Paste=\u7C98\u8D34\\tCtrl+V
+TableView.menu.KeepSelected=\u53EA\u4FDD\u7559\u9009\u4E2D\u7684\u884C\tCTRL-K
+ConditionEditor.Functions.Label=\u51FD\u6570\:
+TextVar.VariableValue.Message=\u53D8\u91CF "{0}" \u7684\u503C\u662F\: \r\n\r\n\t{1}\r\n
+ConditionEditor.Operator.Label=\u64CD\u4F5C\u7B26\:
+TableView.menu.DeleteSelected=\u5220\u9664\u9009\u4E2D\u7684\u884C\tDEL
+ConditionEditor.MoveConditionUp=\u6761\u4EF6\u4E0A\u79FB
+WidgetDialog.Styled.Replace=\u66FF\u6362\\tCtrl+H
+ConditionEditor.AddSubCondition.Label=\u589E\u52A0\u5B50\u6761\u4EF6
+TableView.ErrorDialog.title=\u672A\u9884\u6599\u7684\u9519\u8BEF
+TableView.MessageBox.ClearTable.title=\u95EE\u9898
+WidgetDialog.Styled.FindString=\u67E5\u627E / {0} 
+ConditionEditor.MoveConditionDown=\u6761\u4EF6\u4E0B\u79FB
+Widget.Styled.Comp.FindNext=\u67E5\u627E\u4E0B\u4E00\u4E2A(&N)
+CheckBoxVar.tooltip.InsertVariable=\u70B9\u51FB\u9009\u62E9\u8981\u4F7F\u7528\u7684\u53D8\u91CF
+ConditionEditor.NoConditionFoundXML=XML \u4E2D\u6CA1\u6709\u53D1\u73B0\u6761\u4EF6
+TextVar.InternalVariable.Message=\u8FD9\u662F\u4E00\u4E2A\u5185\u90E8\u53D8\u91CF
+ConditionEditor.StringUp=^^ \u5411\u4E0A ^^ 
+TableView.menu.Redo=\u91CD\u505A\: {0} \tCTRL-Y
+ConditionEditor.CopyToClipboard=\u590D\u5236\u5230\u526A\u8D34\u677F
+Widget.Styled.Comp.Find.Title=\u627E\u5230\:
+TableView.menu.SelectAll=\u9009\u62E9\u6240\u6709\u884C\tCTRL-A
+ConditionEditor.AddCondition.Label=\u589E\u52A0\u6761\u4EF6
+ConditionEditor.MoveConditionToParentCondition=\u79FB\u52A8\u6761\u4EF6\u5230\u7236\u6761\u4EF6 (<--)
+TextVar.tooltip.FieldIsInUse=\u8FD9\u4E2A\u56FE\u6807\u8BF4\u660E\u8BE5\u5B57\u6BB5\u662F\u975E\u7A7A\u7684 (\u5728\u4F7F\u7528)
+WidgetDialog.Styled.Find=\u67E5\u627E\\tCtrl+F
+Widget.Styled.Comp.WrapSearch=\u641C\u7D22(&W)
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/context/metadata/messages/messages_zh_CN.properties
similarity index 60%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to ui/src/main/resources/org/apache/hop/ui/hopgui/context/metadata/messages/messages_zh_CN.properties
index b11c537..4f20990 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/context/metadata/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.context.metadata' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+HopGui.Context.Database.Menu.ClearDatabaseCache.Tooltip=\u5982\u679C\u5728 Hop \u5BA2\u6237\u7AEF\u4E4B\u5916\u6709\u4FEE\u6539\u6570\u636E\u5E93\u5BF9\u8C61\u7684\u7ED3\u6784\uFF0C\u5219\u9700\u8981\u6E05\u9664\u7F13\u5B58\u4E2D\u4E0E\u6570\u636E\u5E93\u76F8\u5173\u7684\u5143\u6570\u636E\u4FE1\u606F.
+HopGui.Context.Database.Menu.ClearDatabaseCache.Label=\u6E05\u7406\u6570\u636E\u5E93\u7F13\u5B58
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/delegates/messages/messages_zh_CN.properties
similarity index 63%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to ui/src/main/resources/org/apache/hop/ui/hopgui/delegates/messages/messages_zh_CN.properties
index b11c537..57e82b2 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/delegates/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.delegates' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+HopGuiContextDelegate.SelectElementTypeDelete.Dialog.Header=\u9009\u62E9\u8981\u5220\u9664\u7684\u5143\u7D20\u7C7B\u578B...
+HopGuiContextDelegate.SelectElementTypeEdit.Dialog.Header=\u9009\u62E9\u8981\u7F16\u8F91\u7684\u5143\u7D20\u7C7B\u578B...
+HopGuiContextDelegate.SelectItemCreate.Dialog.Header=\u9009\u62E9\u8981\u521B\u5EFA\u7684\u5185\u5BB9
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/dialog/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/dialog/messages/messages_zh_CN.properties
index ed0c0bd..441e5c7 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/dialog/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/dialog/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,41 +14,64 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.dialog' in locale 'zh_CN'
 #
 #
-AnalyseImpactProgressDialog.RuntimeError.UnableToAnalyzeImpact.Exception=\u5728\u751F\u6210\u5F71\u54CD\u5206\u6790\u5217\u8868\u65F6\u53D1\u751F\u5F02\u5E38\: {0}
+NewSubPipelineDialog.PipelineCreated=\u65B0 Pipeline \u5DF2\u521B\u5EFA\u5E76\u6253\u5F00\u5728\u65B0\u6807\u7B7E\u9875\u4E2D.
+AboutDialog.Title=\u5173\u4E8E
+EnterPreviewRowsDialog.Dialog.PreviewTransform.Message=Transform \u540D\u79F0\:
+SearchFieldsProgressDialog.Dialog.SearchOutputFields.Message=\u641C\u7D22\u8F93\u51FA\u5B57\u6BB5...
+TipsDialog.Button.Tips=\u4E0B\u4E00\u4E2A\u63D0\u793A\u4FE1\u606F(&N)
+EnterPreviewRowsDialog.Dialog.NoPreviewRowsFound.Message=\u62B1\u6B49,\u6D4F\u89C8\u65F6\u6CA1\u6709\u884C\u53EF\u4EE5\u663E\u793A.
 AnalyseImpactProgressDialog.Dialog.UnableToAnalyzeImpact.Title=\u5728\u68C0\u67E5\u8FD9\u4E2A\u8F6C\u6362\u65F6\u53D1\u751F\u5F02\u5E38
-GetSQLProgressDialog.Dialog.UnableToGenerateSQL.Title=\u4E3A\u8FD9\u4E2A\u8F6C\u6362\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38
+NotePadDialog.Font.BackGroundColor.Change.Tooltip=\u66F4\u6539\u5907\u6CE8\u80CC\u666F\u989C\u8272
+NotePadDialog.Font.Color.Change.Tooltip=\u66F4\u6539\u5907\u6CE8\u989C\u8272
+EnterPreviewRowsDialog.Dialog.PreviewTransform.Title=\u8BF7\u9009\u62E9\u9700\u8981\u9884\u89C8\u7684 Transform\:
+NotePadDialog.Font.Label=\u5B57\u4F53\u4E0E\u6837\u5F0F
+GetSQLProgressDialog.Dialog.UnableToGenerateSQL.Message=\u4E3A\u8FD9\u4E2A\u8F6C\u6362\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38\uFF01
+MetadataExplorerDialog.Dialog.Title=\u5143\u6570\u636E\u6D4F\u89C8\u5668
+NotePadDialog.Font.BackGroundColor.Tooltip=\u5907\u6CE8\u80CC\u666F\u8272
+EnterPreviewRowsDialog.Dialog.NoRowsFound.Message=\u5728\u9884\u89C8 Transform \u91CC\u6CA1\u6709\u627E\u5230\u8BB0\u5F55.
+PreviewSelectDialog.Label.Transforms=Transform\: 
+GetJobSQLProgressDialog.Dialog.UnableToGenerateSQL.Title=\u4E3A\u8FD9\u4E2A\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38
 LogSettingsDialog.Label.EnableTime=\u751F\u6210\u65F6\u95F4\u6807\u5FD7?
-EnterPreviewRowsDialog.Dialog.PreviewTransform.Message=\u6B65\u9AA4\u540D\u79F0 \:
-SearchFieldsProgressDialog.Log.UnableToGetFields=\u65E0\u6CD5\u4ECE\u6B65\u9AA4[{0}]\u83B7\u53D6\u5B57\u6BB5 \: {1}
-EnterPreviewRowsDialog.Dialog.NoPreviewRowsFound.Message=\u5BF9\u4E0D\u8D77,\u6D4F\u89C8\u65F6\u6CA1\u6709\u884C\u53EF\u4EE5\u663E\u793A.
+AnalyseImpactProgressDialog.Dialog.UnableToAnalyzeImpact.Messages=\u7531\u4E8E\u4E00\u4E2A\u9519\u8BEF\u4E0D\u80FD\u5206\u6790\u6570\u636E\u5E93\u5F71\u54CD\:
+GetSQLProgressDialog.Dialog.UnableToGenerateSQL.Title=\u4E3A\u8FD9\u4E2A\u8F6C\u6362\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38
+NotePadDialog.Font.BorderColor.Tooltip=\u5907\u6CE8\u8FB9\u6846\u989C\u8272
+CheckPipelineProgressDialog.Dialog.ErrorCheckingPipeline.Title=\u5728\u68C0\u67E5\u8FD9\u4E2A\u8F6C\u6362\u65F6\u53D1\u751F\u5F02\u5E38
+NotePadDialog.Font.BackGroundColor.Label=\u80CC\u666F\u8272
 AnalyseImpactProgressDialog.RuntimeError.ErrorCheckingPipeline.Exception=\u68C0\u67E5\u8F6C\u6362\u65F6\u53D1\u751F\u9519\u8BEF\: {0}
-EnterPreviewRowsDialog.Dialog.NoPreviewRowsFound.Title=\u6CA1\u6709\u53D1\u73B0\u9884\u89C8\u884C
-SearchFieldsProgressDialog.Dialog.SearchOutputFields.Message=\u641C\u7D22\u8F93\u51FA\u5B57\u6BB5...
-TipsDialog.Label.Tips=\u63D0\u793A\!
-PreviewSelectDialog.Label.Transforms=\u6B65\u9AA4\: 
-PreviewSelectDialog.Column.PreviewSize=\u9884\u89C8\u5927\u5C0F
+EnterPreviewRowsDialog.Dialog.NoRowsFound.Title=\u8B66\u544A
+NotePadDialog.Font.Size.Label=\u5B57\u4F53\u5927\u5C0F
+PreviewSelectDialog.Column.TransformName=Transform \u540D\u79F0
+NotePadDialog.Font.Bold.Label=\u7C97\u4F53
+NotePadDialog.Font.Color.Label=\u5B57\u4F53\u989C\u8272
+NotePadDialog.Font.Name.Label=\u5B57\u4F53\u540D
 DeleteMessageBox.Title=\u786E\u8BA4\u5220\u9664
-CheckPipelineProgressDialog.RuntimeError.ErrorCheckingPipeline.Exception=\u5728\u68C0\u67E5\u8FD9\u4E2A\u8F6C\u6362\u65F6\u53D1\u751F\u5F02\u5E38\: {0}
+NewSubPipelineDialog.Title=\u521B\u5EFA\u7684\u5B50 Pipeline
+NewSubPipelineDialog.DoNotShowAgain=\u4E0D\u518D\u663E\u793A\u8BE5\u5185\u5BB9
 LogSettingsDialog.Dialog.LoggingParameters.Title=\u8BBE\u7F6E\u65E5\u5FD7\u53C2\u6570\:
-SearchFieldsProgressDialog.Dialog.SearchInputFields.Message=\u641C\u7D22\u8F93\u5165\u5B57\u6BB5...
-LogSettingsDialog.Label.LogLevel=\u65E5\u5FD7\u7EA7\u522B 
-EnterPreviewRowsDialog.Dialog.NoRowsFound.Title=\u8B66\u544A
-TipsDialog.Button.Tips=\  &\u4E0B\u4E00\u4E2A\u63D0\u793A\u4FE1\u606F
-GetJobSQLProgressDialog.RuntimeError.UnableToGenerateSQL.Exception=\u4E3A\u8FD9\u4E2A\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38\: \n{0}
-AnalyseImpactProgressDialog.Dialog.UnableToAnalyzeImpact.Message=\u5728\u68C0\u67E5\u8FD9\u4E2A\u8F6C\u6362\u65F6\u53D1\u751F\u5F02\u5E38\!
-PreviewSelectDialog.Column.TransformName=\u6B65\u9AA4\u540D\u79F0
-EnterPreviewRowsDialog.Dialog.NoRowsFound.Message=\u5728\u9884\u89C8\u6B65\u9AA4\u91CC\u6CA1\u6709\u627E\u5230\u8BB0\u5F55.
-GetSQLProgressDialog.Dialog.UnableToGenerateSQL.Message=\u4E3A\u8FD9\u4E2A\u8F6C\u6362\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38\!
-GetSQLProgressDialog.RuntimeError.UnableToGenerateSQL.Exception=\u4E3A\u8FD9\u4E2A\u8F6C\u6362\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38\: \n{0}
-TipsDialog.OptionShowTips.Label=Show tips at startup? 
-EnterPreviewRowsDialog.Dialog.PreviewTransform.Title=\u8BF7\u9009\u62E9\u9700\u8981\u9884\u89C8\u7684\u6B65\u9AA4\:
-GetJobSQLProgressDialog.Dialog.UnableToGenerateSQL.Title=\u4E3A\u8FD9\u4E2A\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38
-AnalyseImpactProgressDialog.Dialog.UnableToAnalyzeImpact.Messages=\u7531\u4E8E\u4E00\u4E2A\u9519\u8BEF\u4E0D\u80FD\u5206\u6790\u6570\u636E\u5E93\u5F71\u54CD\:
-GetJobSQLProgressDialog.Dialog.UnableToGenerateSQL.Message=\u4E3A\u8FD9\u4E2A\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38\!
 TipsDialog.Dialog.Tips.Title=HopGui\u63D0\u793A\u4FE1\u606F...
-CheckPipelineProgressDialog.Dialog.ErrorCheckingPipeline.Title=\u5728\u68C0\u67E5\u8FD9\u4E2A\u8F6C\u6362\u65F6\u53D1\u751F\u5F02\u5E38
-PreviewSelectDialog.Dialog.PreviewSelection.Title=\u9884\u89C8\u9009\u62E9\u7684\u5C4F\u5E55
 LogSettingsDialog.Label.FilterSelection=\u9009\u62E9\u8FC7\u6EE4\u5668 
-CheckPipelineProgressDialog.Dialog.ErrorCheckingPipeline.Message=\u5728\u68C0\u67E5\u8FD9\u4E2A\u8F6C\u6362\u65F6\u53D1\u751F\u5F02\u5E38\!
+TipsDialog.Label.Tips=\u63D0\u793A\uFF01
+NotePadDialog.Font.BorderColor.Label=\u8FB9\u6846\u989C\u8272
+NotePadDialog.ContentTab.Note.Label=Note
+NotePadDialog.Font.Italic.Label=\u659C\u4F53\u5B57
+NotePadDialog.Font.Color.Tooltip=\u63D0\u793A\u4FE1\u606F\u5B57\u4F53\u989C\u8272
+LogSettingsDialog.Label.LogLevel=\u65E5\u5FD7\u7EA7\u522B 
+AnalyseImpactProgressDialog.RuntimeError.UnableToAnalyzeImpact.Exception=\u5728\u751F\u6210\u5F71\u54CD\u5206\u6790\u5217\u8868\u65F6\u53D1\u751F\u5F02\u5E38\: {0}
+PreviewSelectDialog.Column.PreviewSize=\u9884\u89C8\u5927\u5C0F
+GetJobSQLProgressDialog.Dialog.UnableToGenerateSQL.Message=\u4E3A\u8FD9\u4E2A\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38\uFF01
+NotePadDialog.ContentTab.Note=Note
+SearchFieldsProgressDialog.Log.UnableToGetFields=\u65E0\u6CD5\u4ECE Transform [{0}]\u83B7\u53D6\u5B57\u6BB5\: {1}
+NotePadDialog.Font.BorderColor.Change.Tooltip=\u66F4\u6539\u5907\u6CE8\u8FB9\u6846\u989C\u8272
+EnterPreviewRowsDialog.Dialog.NoPreviewRowsFound.Title=\u6CA1\u6709\u53D1\u73B0\u9884\u89C8\u884C
+PreviewSelectDialog.Dialog.PreviewSelection.Title=\u9884\u89C8\u9009\u62E9\u7684\u5C4F\u5E55
+NotePadDialog.Font.Color.Dialog.Label=\u5B57\u4F53\u989C\u8272
+CheckPipelineProgressDialog.RuntimeError.ErrorCheckingPipeline.Exception=\u5728\u68C0\u67E5\u8FD9\u4E2A\u8F6C\u6362\u65F6\u53D1\u751F\u5F02\u5E38\: {0}
+TipsDialog.OptionShowTips.Label=Show tips at startup 
+SearchFieldsProgressDialog.Dialog.SearchInputFields.Message=\u641C\u7D22\u8F93\u5165\u5B57\u6BB5...
+CheckPipelineProgressDialog.Dialog.ErrorCheckingPipeline.Message=\u5728\u68C0\u67E5\u8FD9\u4E2A\u8F6C\u6362\u65F6\u53D1\u751F\u5F02\u5E38\uFF01
+GetSQLProgressDialog.RuntimeError.UnableToGenerateSQL.Exception=\u4E3A\u8FD9\u4E2A\u8F6C\u6362\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38\: \n{0}
+AnalyseImpactProgressDialog.Dialog.UnableToAnalyzeImpact.Message=\u5728\u68C0\u67E5\u8FD9\u4E2A\u8F6C\u6362\u65F6\u53D1\u751F\u5F02\u5E38\uFF01
+GetJobSQLProgressDialog.RuntimeError.UnableToGenerateSQL.Exception=\u4E3A\u8FD9\u4E2A\u4EFB\u52A1\u751F\u6210SQL\u65F6\u53D1\u751F\u5F02\u5E38\: \n{0}
diff --git a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/messages/messages_zh_CN.properties
similarity index 81%
copy from core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
copy to ui/src/main/resources/org/apache/hop/ui/hopgui/file/messages/messages_zh_CN.properties
index eb95d6a..6b1a49c 100644
--- a/core/src/main/resources/org/apache/hop/core/plugins/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,6 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.file' in locale 'zh_CN'
 #
 #
-HopURLClassLoader.Exception.UnableToReadClass=\u65E0\u6CD5\u4ECE\u8F93\u5165\u6D41\u8BFB\u53D6\u7C7B \: 
\ No newline at end of file
+HopFileTypeRegistry.FileTypes.All.Label=\u6240\u6709 Hop \u6587\u4EF6\u7C7B\u578B
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/pipeline/context/messages/messages_zh_CN.properties
similarity index 62%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to ui/src/main/resources/org/apache/hop/ui/hopgui/file/pipeline/context/messages/messages_zh_CN.properties
index b11c537..a45ed96 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/pipeline/context/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.file.pipeline.context' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+HopGuiPipelineTransformContext.OpenReferencedAction.Tooltip=\u8FD9\u5C06\u6253\u5F00 Transform \u4E2D\u5F15\u7528\u7684\u6587\u4EF6\u3002\n\u60A8\u53EF\u4EE5\u5C06\u5149\u6807\u653E\u5728 Transform \u56FE\u6807\u4E0A\u6309\u201Cz\u201D\u952E\u6216\u4F7F\u7528 CTRL+SHIFT+\u5355\u51FB
+HopGuiPipelineTransformContext.OpenReferencedAction.Name=\u6253\u5F00\: {0}
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/file/pipeline/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/pipeline/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..32d4b13
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/pipeline/messages/messages_zh_CN.properties
@@ -0,0 +1,96 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.file.pipeline' in locale 'zh_CN'
+#
+#
+HopGuiPipelineGraph.TransformAction.Partitioning.Name=\u8BBE\u7F6E\u5206\u533A
+HopGuiPipelineGraph.TransformAction.SpecifyCopies.Tooltip=\u8BBE\u7F6E\u6267\u884C\u671F\u95F4\u8981\u4F7F\u7528\u7684 Transform \u526F\u672C\u6570
+HopGuiPipelineGraph.TransformAction.SpecifyCopies.Name=\u526F\u672C\u6570
+HopGuiPipelineGraph.TransformAction.DetachTransform.Name=\u5206\u79BB
+HopGuiPipelineGraph.TransformAction.ErrorHandling.Name=\u9519\u8BEF\u5904\u7406
+PipelineGraph.Toolbar.Start.Tooltip=\u542F\u52A8 Pipeline
+HopGuiPipelineGraph.PipelineAction.EditPipeline.Name=\u7F16\u8F91 Pipeline
+PipelineGraph.Toolbar.SnapToGrid.Tooltip=\u9009\u5B9A\u7684 Transform \u5BF9\u9F50\u5230\u6700\u8FD1\u7684\u7F51\u683C
+HopGuiPipelineGraph.NoteAction.CreateNote.Tooltip=\u65B0\u5EFA\u4FBF\u7B7E
+HopGuiPipelineGraph.TransformAction.EditTransform.Name=\u7F16\u8F91
+HopGuiPipelineGraph.TransformAction.Transform.ShowInputFields.Name=\u663E\u793A\u8F93\u5165\u5B57\u6BB5
+PipelineGraph.Toolbar.AlignLeft.Tooltip=\u5DE6\u8FB9\u5BF9\u9F50\u8BE5 Transform \u4E0E\u9009\u4E2D\u7684 Transform 
+HopGuiPipelineGraph.TransformAction.EditDescription.Name=\u7F16\u8F91\u63CF\u8FF0
+HopGuiPipelineGraph.GuiAction.ZoomOut.Tooltip=\u7F29\u5C0F 10%
+HopGuiPipelineGraph.ViewOutput.GuiAction.Tooltip=\u67E5\u770B\u6B63\u5728\u8FD0\u884C\u6216\u5DF2\u5B8C\u6210\u7684\u672C\u5730 Pipeline \u4E2D\u7684 Transform \u7684\u8F93\u51FA\u5185\u5BB9
+HopGuiPipelineGraph.HopAction.DisableDownstreamHop.Name=\u7981\u6B62\u4E0B\u53D1\u6570\u636E\u6D41
+HopPipelineFileType.GuiAction.Pipeline.Name=Pipeline
+HopPipelineFileType.ErrorDialog.PipelineDrawing.Header=\u9519\u8BEF
+HopGuiPipelineGraph.NoteAction.EditNote.Tooltip=\u7F16\u8F91\u4FBF\u7B7E
+HopGuiPipelineGraph.PipelineAction.SniffOutput.Name=\u7AA5\u63A2\u8F93\u51FA
+PipelineGraph.Toolbar.Pause.Tooltip=\u6682\u505C Pipeline
+HopGuiPipelineGraph.HopAction.EnableDownstreamHop.Tooltip=\u542F\u7528\u6240\u6709\u4E0B\u53D1\u6570\u636E\u901A\u9053
+HopGuiPipelineGraph.ViewOutput.GuiAction.Name=\u67E5\u770B\u8F93\u51FA
+HopPipelineFileType.GuiAction.Pipeline.Tooltip=\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684 Pipeline\u3002 \u5229\u7528\u7F51\u7EDC\u4F20\u8F93\u53EF\u4EE5\u5E76\u884C\u5904\u7406\u6570\u636E
+HopGuiPipelineGraph.PipelineAction.Preview.Tooltip=\u6267\u884C\u8BE5 Pipeline, \u5E76\u67E5\u770B\u8BE5 Transform \u7684\u8F93\u51FA\u6570\u636E\u884C
+PipelineGraph.Toolbar.AlignRight.Tooltip=\u53F3\u8FB9\u5BF9\u9F50\u8BE5 Transform \u4E0E\u9009\u4E2D\u7684 Transform 
+HopGuiPipelineGraph.DistributionMethodDialog.Text=\u8BF7\u9009\u62E9\u6570\u636E\u884C\u5206\u53D1\u65B9\u5F0F\:
+HopGuiPipelineGraph.TransformAction.DetachTransform.Tooltip=\u6E05\u9664\u8BE5 Transform \u7684\u4E0A\u4E0B\u6E38\u6570\u636E\u901A\u9053
+HopGuiPipelineGraph.NoteAction.CreateNote.Name=\u65B0\u5EFA
+HopGuiPipelineGraph.HopAction.DeleteHop.Tooltip=\u65AD\u5F00\u4E24\u4E2A Action \u4E4B\u95F4\u7684\u8FDE\u63A5\u7EBF
+HopGuiPipelineGraph.NoteAction.DeleteNote.Tooltip=\u5220\u9664\u4FBF\u7B7E
+HopGuiPipelineGraph.HopAction.CreateHop.Name=\u8FDE\u63A5
+HopGuiPipelineGraph.TransformAction.Partitioning.Tooltip=\u5982\u4F55\u5C06\u6570\u636E\u884C\u6309\u5206\u7EC4\u7684\u5F62\u5F0F\u5206\u53D1\u5230\u76F8\u5E94\u7684\u5E76\u884C\u5206\u533A\u4E2D\u6267\u884C\uFF0C\u540C\u7EC4\u5185\u7684\u6570\u636E\u884C\u4F1A\u88AB\u53D1\u9001\u5230\u540C\u4E00 Transform \u526F\u672C\u4E2D
+PipelineGraph.Toolbar.Debug.Tooltip=\u8C03\u8BD5 Pipeline
+HopGuiPipelineGraph.TransformAction.Transform.ShowOutputFields.Tooltip=\u663E\u793A\u8BE5 Transform \u8F93\u51FA\u7684\u6240\u6709\u5B57\u6BB5
+PipelineGraph.Toolbar.Preview.Tooltip=\u9884\u89C8 Pipeline
+HopGuiPipelineGraph.PipelineAction.PasteFromClipboard.Name=\u7C98\u8D34
+HopGuiPipelineGraph.HopAction.EnableHop.Name=\u542F\u7528 hop
+HopGuiPipelineGraph.TransformAction.Transform.ShowInputFields.Tooltip=\u663E\u793A\u6D41\u5165\u8BE5 Transform \u7684\u5B57\u6BB5\u5217\u8868
+HopGuiPipelineGraph.HopAction.DeleteHop.Name=\u5220\u9664\u8FDE\u63A5\u7EBF
+HopGuiPipelineGraph.GuiAction.ZoomInOut.Tooltip=\u653E\u5927\u7F29\u5C0F
+HopGuiPipelineGraph.PipelineAction.PasteFromClipboard.Tooltip=\u4ECE\u526A\u8D34\u677F\u7C98\u8D34 Transform\u3001\u4FBF\u7B7E \u6216\u6574\u4E2A Pipeline
+PipelineGraph.Toolbar.AlignTop.Tooltip=\u9876\u90E8\u5BF9\u9F50\u8BE5 Transform \u4E0E\u9009\u4E2D\u7684 Transform
+PipelineGraph.Toolbar.DistributeHorizontal.Tooltip=\u6C34\u5E73\u65B9\u5411\u7B49\u95F4\u8DDD\u6240\u9009 Transform
+HopGuiPipelineGraph.DistributionMethodDialog.Header=\u9009\u62E9\u5206\u53D1\u65B9\u5F0F
+HopGuiPipelineGraph.HopAction.EnableDownstreamHop.Name=\u542F\u7528\u4E0B\u53D1\u6570\u636E\u901A\u9053
+HopGuiPipelineGraph.PipelineAction.Preview.Name=\u9884\u89C8\u8F93\u51FA
+HopGuiPipelineGraph.TransformAction.Transform.ShowOutputFields.Name=\u663E\u793A\u8F93\u51FA\u5B57\u6BB5
+HopGuiPipelineGraph.PipelineAction.CopyToClipboard.Name=\u590D\u5236
+HopGuiPipelineGraph.HopAction.DisableDownstreamHop.Tooltip=\u7981\u6B62\u4E0B\u53D1\u6240\u6709\u6570\u636E\u6D41
+HopPipelineFileType.New.Text=\u65B0\u5EFA Pipeline
+HopGuiPipelineGraph.TransformAction.DistributeRows.Tooltip=\u5C06\u8BE5 Transform \u7684\u6570\u636E\u884C\u5206\u53D1\u5230\u4E0B\u4E00\u4E2A Transform
+HopGuiPipelineGraph.NoteAction.EditNote.Name=\u7F16\u8F91
+HopGuiPipelineGraph.TransformAction.CopyRows.Tooltip=\u5C06\u8BE5 Transform \u6570\u636E\u884C\u4EE5\u590D\u5236\u65B9\u5F0F\u4E0B\u53D1\u5230\u6BCF\u4E2A\u4E0B\u6E38\u901A\u9053\u4E0A
+PipelineGraph.Toolbar.Stop.Tooltip=\u505C\u6B62 Pipeline
+HopGuiPipelineGraph.HopAction.DisableHop.Name=\u7981\u7528\u6570\u636E\u901A\u9053
+HopGuiPipelineGraph.TransformAction.DeleteTransform.Tooltip=\u5220\u9664\u8BE5 Pipeline \u4E2D\u9009\u5B9A Transform
+HopGuiPipelineGraph.TransformAction.DeleteTransform.Name=\u5220\u9664
+HopGuiPipelineGraph.GuiAction.Zoom100.Tooltip=\u539F\u6BD4\u4F8B
+HopGuiPipelineGraph.PipelineAction.DebugOutput.Tooltip=\u6267\u884C\u8BE5 Pipeline, \u5F53\u6761\u4EF6\u6EE1\u8DB3\u65F6\u6682\u505C Pipeline \u7684\u6267\u884C, \u53EF\u8C03\u8BD5 Transform \u8F93\u51FA\u5185\u5BB9.
+HopGuiPipelineGraph.TransformAction.EditTransform.Tooltip=\u7F16\u8F91 Transform \u5C5E\u6027
+HopGuiPipelineGraph.GuiAction.ZoomIn.Tooltip=\u653E\u5927 10%
+HopGuiPipelineGraph.NoteAction.DeleteNote.Name=\u5220\u9664
+HopGuiPipelineGraph.HopAction.EnableHop.Tooltip=\u542F\u7528\u8BE5\u6570\u636E\u901A\u9053
+HopGuiPipelineGraph.PipelineAction.SniffOutput.Tooltip=\u67E5\u770B\u6240\u9009 Transform \u8F93\u51FA\u7684\u524D 50 \u884C\u6570\u636E
+HopPipelineFileType.ErrorDialog.PipelineDrawing.Message=\u65B0\u5EFA Pipeline \u65F6\u51FA\u9519
+HopGuiPipelineGraph.PipelineAction.CopyToClipboard.Tooltip=\u5C06\u8BE5 Transform (XML \u683C\u5F0F)\u590D\u5236\u5230\u526A\u8D34\u677F
+HopGuiPipelineGraph.TransformAction.DistributeRows.Name=\u5206\u53D1\u6570\u636E\u884C
+HopGuiPipelineGraph.HopAction.CreateHop.Tooltip=\u8FDE\u63A5\u4E24\u4E2A Transform
+HopGuiPipelineGraph.TransformAction.CopyRows.Name=\u590D\u5236\u884C
+PipelineGraph.Toolbar.AlignBottom.Tooltip=\u5E95\u90E8\u5BF9\u9F50\u8BE5 Transform \u4E0E\u9009\u4E2D\u7684 Transform
+HopGuiPipelineGraph.PipelineAction.DebugOutput.Name=\u8C03\u8BD5\u8F93\u51FA
+HopGuiPipelineGraph.TransformAction.ErrorHandling.Tooltip=\u6307\u5B9A\u8BE5 Transform \u7684\u9519\u8BEF\u5904\u7406\u65B9\u5F0F
+HopGuiPipelineGraph.PipelineAction.EditPipeline.Tooltip=\u7F16\u8F91 Pipeline \u5C5E\u6027
+HopGuiPipelineGraph.TransformAction.EditDescription.Tooltip=\u4FEE\u6539 Transform \u63CF\u8FF0
+PipelineGraph.Toolbar.DistributeVertical.Tooltip=\u5782\u76F4\u65B9\u5411\u7B49\u95F4\u8DDD\u6240\u9009 Transform
+HopGuiPipelineGraph.HopAction.DisableHop.Tooltip=\u7981\u7528\u8BE5\u6570\u636E\u901A\u9053
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/context/messages/messages_zh_CN.properties
similarity index 62%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/context/messages/messages_zh_CN.properties
index b11c537..69529f1 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/context/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.file.workflow.context' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+HopGuiWorkflowTransformContext.OpenReferencedAction.Name=\u6253\u5F00\: {0}
+HopGuiWorkflowTransformContext.OpenReferencedAction.Tooltip=\u8FD9\u5C06\u6253\u5F00 Action \u4E2D\u5F15\u7528\u7684\u6587\u4EF6\u3002\n\u60A8\u53EF\u4EE5\u5C06\u5149\u6807\u653E\u5728 Action \u56FE\u6807\u4E0A\u6309 \u201Cz\u201D \u952E\u6216\u4F7F\u7528 CTRL+SHIFT+\u5355\u51FB
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/delegates/messages/messages_zh_CN.properties
similarity index 53%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/delegates/messages/messages_zh_CN.properties
index b11c537..7bce492 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/delegates/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.file.workflow.delegates' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+WorkflowLog.Column.Comment=\u5907\u6CE8
+WorkflowLog.Tree.StringToDisplayWhenWorkflowHasNoName=<\u672A\u547D\u540D>
+WorkflowLog.Column.LogDate=\u8BB0\u5F55\u65F6\u95F4
+WorkflowLog.Column.Reason=\u539F\u56E0
+HopGui.WorkflowGraph.GridTab.Name=Metrics
+WorkflowLog.Tree.Success=\u6210\u529F
+WorkflowLog.Column.Nr=\#
+WorkflowLog.Column.Filename=\u6587\u4EF6\u540D
+WorkflowLog.Column.Result=\u7ED3\u679C
+WorkflowLog.Tree.WorkflowPrefix=Workflow\:
+WorkflowLog.Tree.WorkflowPrefix2=Workflow\:
+WorkflowLog.Column.WorkflowAction=Action
+WorkflowLog.Tree.Failure=\u5931\u8D25
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_zh_CN.properties
index 23a9da4..18b8fe6 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_zh_CN.properties
@@ -14,673 +14,807 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-HopGui.Menu.Popup.CONNECTIONS.Duplicate=\u590D\u5236
-PipelineLog.Dialog.PerformanceMonitoringNotEnabled.Title=\u4E0D\u80FD\u663E\u793A\u56FE
-HopGui.Dialog.HopExists.Title=\u9519\u8BEF
-PipelineLog.Column.Active=\u6FC0\u6D3B
-HopGui.Log.PastePipelineFromClipboard=\u4ECE\u526A\u8D34\u677F\u590D\u5236\u8F6C\u6362\!
-PipelineGraph.Dialog.SplitHop.Title=\u62C6\u5206\u8282\u70B9\u8FDE\u63A5?
-HopGui.Dialog.CopyOrDistribute.Message=Transform ''{0}'' has ''{1}'' destination transforms to which it sends rows of data.\n\nThere are 2 ways of sending rows to destination transforms\:\n\n   - \u5206\u53D1\u8BB0\u5F55\: \u76EE\u6807\u6B65\u9AA4\u8F6E\u6D41\u63A5\u6536\u8BB0\u5F55\n   - \u590D\u5236\u8BB0\u5F55\: \u6240\u6709\u7684\u8BB0\u5F55\u88AB\u540C\u65F6\u53D1\u9001\u5230\u6240\u6709\u7684\u76EE\u6807\u6B65\u9AA4.\n\nWhich method would you like to use? (\u9ED8\u8BA4\u662F ''\u59 [...]
-HopGui.Title.STRING_WELCOME=\u6B22\u8FCE\!
-HopGui.Menu.Popup.STEPS.Share=Share
-HopGui.Dialog.PromptSave.Title=\u8B66\u544A\!
-HopGui.Dialog.NoRemoteServerSpecified.Message=\u9700\u8981\u6307\u5B9A\u8FDC\u7A0B\u4E3B\u673A
-PipelineGraph.Transform.Tooltip.NextPartitioning=\u76EE\u6807\u6B65\u9AA4\u5206\u533A\:
-HopGui.Menu.File.Close.All=\u5173\u95ED\u6240\u6709
-HopGui.Dialog.Warning.NoPreviewOrDebugTransforms.Message=\u6CA1\u6709\u9884\u89C8\u548C\u8C03\u8BD5\u6B65\u9AA4.\r\n\u5982\u679C\u8FD9\u6837,\u8F6C\u6362\u53EF\u4EE5\u8FD0\u884C,\u4F46\u662F\u4E0D\u80FD\u6536\u96C6\u5230\u9884\u89C8\u4FE1\u606F.\r\n\u786E\u5B9A\u5F00\u59CB\u8F6C\u6362 \u5417?
-PipelineGraph.Transform.Tooltip.CurrentPartitioning=\u4F7F\u7528\u7684\u5206\u533A\:
-PipelineGraph.PopupMenu.AllignTop=\u9876\u90E8\u5BF9\u9F50
-PipelineLog.Dialog.FileHasChanged2.Message=\u4F60\u60F3\u73B0\u5728\u4FDD\u5B58\u8FD9\u4E2A\u8F6C\u6362\u5417?
-PipelineGraph.PopupMenu.ShowOutputFields=\u663E\u793A\u8F93\u51FA\u5B57\u6BB5
-HopGui.Menu.View.ZoomOut=\u7F29\u5C0F(&O)
-HopGuiServer.ErrorStoppingJob.Title=\u9519\u8BEF
-PipelineLog.Dialog.SavePipelineBeforeRunning.Message=\u8BF7\u5148\u4FDD\u5B58\u4F60\u7684\u8F6C\u6362\!
-HopGui.Menu.MarketPlace=\u5E02\u573A
-HopGui.Log.NewSelected=\u65B0\u7684\u9009\u62E9
-PipelineGraph.PopupMenu.DataMovement=\u6570\u636E\u53D1\u9001......
-HopGui.ErrorDialog.ErrorEditingAction.Title=Error editing action
-HopGui.RipDB.Monitor.FromTransform.Name=\u4ECE [
-HopGui.Message.Note.RenamesReservedWords=\u91CD\u547D\u540D\u4FDD\u7559\u5B57\u4E3A {0}
-HopGuiServer.Column.Errors=\u9519\u8BEF
-HopGuiServer.Column.Written=\u5199
-HopGui.Dialog.ShowArguments.Message=\u5B9A\u4E49\u7684\u53C2\u6570\u5217\u8868\:
-HopGui.Dialog.WarningCreateNewTransforms.Title=\u63D0\u793A\!
-HopGui.Menu.Edit.ShowArguments=\u663E\u793A\u53C2\u6570(&u)
-PipelineHistory.Column.Read=\u8BFB
-HopGui.STRING_CLUSTERS=Hop\u96C6\u7FA4schemas
-HopGui.Dialog.AddingHopCausesLoop.Message=\u5728\u8F6C\u6362\u91CC\u589E\u52A0\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF.  \u8FD9\u91CC\u4E0D\u5141\u8BB8\u5FAA\u73AF\!
-WorkflowLog.Button.LogSettings=\u65E5\u5FD7\u8BBE\u7F6E
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.file.workflow' in locale 'zh_CN'
+#
+#
+HopGuiWorkflowGraph.ContextualAction.DisableDownstream.Text=\u7981\u7528\u4E0B\u53D1\u901A\u9053
+HopGui.Menu.File.SaveAs=\u53E6\u5B58\u4E3A...
 PipelineLog.Error.InvalidReplayDateFormat=\u9519\u8BEF\u7684\u91CD\u653E\u65E5\u671F, \u5E94\u5F53\u62E5\u6709\u683C\u5F0F 
-PipelineLog.Dialog.DoNoPreviewWhileRunning.Title=\u5BF9\u4E0D\u8D77
-PipelineLog.Button.ShowOnlyActiveTransforms=\u4EC5\u4EC5\u663E\u793A\u6D3B\u52A8\u7684\u6B65\u9AA4
-HopGui.STRING_PIPELINE=\u8F6C\u6362
-HopGui.Dialog.SaveChangedFile.Title=\u8B66\u544A
-HopGui.Dialog.NewFile.Message=\u9009\u62E9\u9700\u8981\u521B\u5EFA\u7684\u6587\u4EF6\u7C7B\u578B
-HopGui.Dialog.TransAlreadyLoaded.Title=Sorry
-PipelineGraph.Dialog.ErrorDroppingObject.Message=\u5728\u753B\u5E03\u4E0A\u62D6\u653E\u4E00\u4E2A\u5BF9\u8C61\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-PipelineGraph.PopupMenu.PasteTransformFromClipboard=&\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u6B65\u9AA4
-PipelineHistory.Column.LogDate=\u65E5\u5FD7\u65E5\u671F
-HopGui.Dialog.UnexpectedError.Message=\u4E00\u4E2A\u672A\u9884\u671F\u7684\u9519\u8BEF\u53D1\u751F\u5728\u65B0\u5EFA\u4E00\u4E2A\u8F6C\u6362\u7684\u65F6\u5019
-HopGui.Menu.Edit.PasteFromClipboard=\u4ECE\u526A\u8D34\u677F\u590D\u5236\u6B65\u9AA4
+HopGui.Dialog.TransformPluginList.Message=\u53EF\u4EE5\u4F7F\u7528\u7684 Transform \u548C Transform \u63D2\u4EF6\:
+HopGuiWorkflowGraph.ContextualAction.Category.Advanced.Text=\u9AD8\u7EA7
+PipelineGraph.Dialog.HopCausesLoop.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u4F1A\u5728\u8F6C\u6362\u91CC\u5BFC\u81F4\u5FAA\u73AF\u3002\u5FAA\u73AF\u88AB\u7981\u6B62\uFF01
+PipelineGraph.PopupMenu.DistributeVertically=\u5782\u76F4\u5206\u6563
+JobHistory.Button.Replay=\u91CD\u653E
+PipelineLog.Dialog.DoNoPreviewWhileRunning.Title=\u62B1\u6B49
+PipelineGraph.Logging.EditingHop=\u7F16\u8F91\u8282\u70B9\u8FDE\u63A5\: 
+HopGuiWorkflowGraph.ContextualAction.DetachAction.Tooltip=\u65AD\u5F00\u8BE5 Action \u4E0A\u7684\u4E0A\u4E0B\u6E38\u6570\u636E\u6D41
+HopGui.ExploreDB.SelectDB.Title=\u8FDB\u884C\u9009\u62E9
+HopGui.Log.CheckTransforms=\u68C0\u67E5 Transform
+HopGui.Menu.Edit.SelectAllTransforms=\u9009\u62E9\u6240\u6709\u7684 Transform(&A)
+HopGui.Menu.Edit.Copy.File=\u590D\u5236\u6587\u4EF6
+HopGui.Menu.Help.Welcome=\u663E\u793A\u6B22\u8FCE\u5C4F\u5E55(&S)
+HopGuiWorkflowGraph.ContextualAction.EnableDownstream.Tooltip=\u542F\u7528\u5168\u90E8\u7981\u7528\u7684\u4E0B\u53D1\u901A\u9053
+HopGui.RipDB.Monitor.FromTransform.Description2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
+HopGui.Exception.ErrorCreatingNewJob.Title=\u9519\u8BEF
+PipelineGraph.Dialog.ErrorDuplicatingTransform.Message=\u590D\u5236 Transform \u65F6\u53D1\u751F\u4E86\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF
+HopGuiWorkflowGraph.ErrorDialog.WorkflowDrawing.Message=\u91CD\u7ED8 Workflow \u65F6\u51FA\u9519
+PipelineLog.Log.Transform=Transform \: 
+HopGui.Menu.Popup.CONNECTIONS.New=\u65B0\u5EFA
+HopGui.Dialog.NotAllowedChangeUser.Title=\u62B1\u6B49
+HopGui.RipDB.ActionPipeline.Name=\u590D\u5236\u6570\u636E\u5230 [
+PipelineGraph.PopupMenu.NewTransform=\u65B0\u5EFA Transform(&N)...
+WorkflowGraph.Dialog.EditNote.Title=\u7F16\u8F91\u5907\u6CE8
+HopGui.Menu.File.NewWorkflow=Workflow
+HopGui.Dialog.JobAlreadyLoaded.Title=Sorry
+HopGui.Tooltip.SaveCurrentTranformation=\u4FDD\u5B58\u5F53\u524D Pipeline
+HopGui.Log.CopyTransformToClipboard=\u590D\u5236 Transform \u5230\u526A\u8D34\u677F\:
+HopGui.Log.TryingOpenLastUsedFile=\u8BD5\u56FE\u6253\u5F00\u6700\u8FD1\u4F7F\u7528\u7684\u6587\u4EF6.
+PipelineGraph.PopupMenu.ClearSelection=\u53D6\u6D88\u9009\u62E9
+HopGui.Menu.View=\u89C6\u56FE
+HopGuiServer.Column.Rejected=\u62D2\u7EDD
+WorkflowLog.Log.ProcessingOfWorkflowStopped=\u8BE5 Workflow \u6267\u884C\u8FDB\u7A0B\u5DF2\u7ECF\u505C\u6B62.
+HopGui.Menu.Pipeline.Pause=\u6682\u505C(&P)
+HopGui.Menu.Popup.CONNECTIONS.ClearDBCacheComplete=Clear complete DB Cache
+HopGui.Menu.Popup.JOBENTRIES.Duplicate=Create shadow copy
+HopGuiBrowser.Dialog.Back=\u5411\u540E
+HopGui.Log.DuplicateTransform=\u590D\u5236 Transform\:
+HopGui.Dialog.ShowVariables.Message=Here is the list of defined variables\:
+PipelineLog.Dialog.FileHasChanged1.Message=\u5728\u8FD0\u884C\u8F6C\u6362\u524D\u8BF7\u5148\u4FDD\u5B58\u5B83.
+PipelineGraph.Dialog.MultipleCopiesAreNotAllowedHere.Title=Sorry
+PipelineGraph.PopupMenu.SelectAll=\u5168\u9009
+HopGui.Menu.Popup.HOPS.Edit=Edit
+HopGui.Exception.ErrorReadingSharedObjects.Message=\u8BFB\u53D6\u5171\u4EAB\u5BF9\u8C61\u65F6\u53D1\u751F\u4E00\u4E2A\u4E25\u91CD\u9519\u8BEF
+HopGui.Menu.Popup.CONNECTIONS.UnShare=\u505C\u6B62\u5171\u4EAB
+PipelineLog.Button.ShowGraph=\u56FE
+PipelineLog.Button.PausePipeline=\u6682\u505C(&P)
+PipelineGraph.Dialog.EditNote.Title=\u6CE8\u91CA
+HopGui.Message.Note.WriteInformationToTableOnDB2=\u5199\u4FE1\u606F\u5230\u8868[{0}]\u5728\u6570\u636E\u5E93[{1}]
+WorkflowGraph.Dialog.OnlyUseStartOnce.Message=\u60A8\u53EA\u80FD\u5728 Workflow \u4E2D\u4F7F\u7528\u4E00\u6B21 \u542F\u52A8 Action
+HopGui.Error.UnableToLoadSharedObjects.Message=\u52A0\u8F7D\u5171\u4EAB\u5BF9\u8C61\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+PipelineGraph.Dialog.Warning.DeleteTransforms2.Message=\ \u4E0B\u5217 Transform \u5417?
+PipelineGraph.Dialog.ItemCanNotBePlacedOnCanvas.Title=\u9519\u8BEF\uFF01
+HopGui.Various.NoName=[\u6CA1\u6709\u540D\u79F0]
+HopGuiWorkflowGraph.ContextualAction.CopyAction.Text=\u590D\u5236
+PipelineGraph.Dialog.AreYouSureYouWantToRemoveAllLogEntries.Title=\u95EE\u9898
+PipelineLog.Button.ClearLog=\ \u6E05\u9664\u65E5\u5FD7(&C)
 HopGui.CoreObjectsTree.Label=\u6838\u5FC3\u5BF9\u8C61
-PipelineGraph.PopupMenu.AllignLeft=\u5DE6\u5BF9\u9F50
-HopGui.Dialog.ErrorPastingJob.Message=\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u4E00\u4E2A\u4F5C\u4E1A\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-HopGui.Menu.Workflow.Run=&\u8FD0\u884C...
-HopGui.Title.ExecLogJobView.Tooltip=Execution log for workflow\: {0}
-HopGui.Dialog.CopyOrDistribute.Distribute=\u5206\u53D1
-HopGui.Dialog.CopyOrDistribute.Copy=\u590D\u5236
-HopGui.Menu.Pipeline.Debug=\u8C03\u8BD5(&D)
-PipelineGraph.PopupMenu.SnapToGrid=\u8D34\u7D27\u7F51\u683C(size 
-HopGui.StringSearchResult.Message=\u5BDF\u770B\: \u641C\u7D22\u7ED3\u679C
+HopGui.Dialog.AddingHopCausesLoop.Title=\u8B66\u544A\uFF01
+HopGui.RipDB.Monitor.BuildingNewWorkflow=\u6784\u9020\u65B0\u4F5C\u4E1A...
+PipelineLog.Button.ShowOnlyActiveTransforms=\u4EC5\u4EC5\u663E\u793A\u6D3B\u52A8\u7684 Transform
+PipelineLog.Dialog.ErrorOpeningPipeline.Message=Pipeline \u6253\u5F00\u5931\u8D25\: 
+PipelineHistory.Error.GettingLoggingInfo=\u9519\u8BEF\u7684\u83B7\u53D6\u65E5\u5FD7\u4FE1\u606F
+HopGui.Tooltip.HideExecutionResults=\u9690\u85CF\u6267\u884C\u7ED3\u679C\u9762\u677F
+HopGuiWorkflowGraph.ContextualAction.DetachAction.Text=\u5206\u79BB
+PipelineLog.System.Yes=\u662F
+HopGui.Message.Note.ReadInformationFromTableOnDB=\u8BFB\u53D6\u6765\u81EA\u6570\u636E\u5E93[{0}]\u91CC\u9762\u7684\u8868[{0}]\u7684\u6570\u636E
+HopGui.Log.DeleteTransform=\u5220\u9664 Transform\: 
 HopGui.RipDB.Exception.ErrorGettingSQLFromPipeline=\u4ECE\u8F6C\u6362\u4E2D\u83B7\u5F97 SQL \u8BED\u53E5\u65F6\u53D1\u751F\u9519\u8BEF [
-HopGui.Dialog.PromptPipelineName.Title=\u8F6C\u6362\u8FD8\u6CA1\u6709\u540D\u5B57.
-HopGui.Tooltip.NewTranformation=\u65B0\u5EFA\u8F6C\u6362, \u6E05\u9664\u6240\u6709\u8BBE\u7F6E
+HopGui.Log.EditTransform=\u7F16\u8F91 Transform\: 
+PipelineGraph.PopupMenu.AllignTop=\u9876\u90E8\u5BF9\u9F50
+PipelineGraph.PopupMenu.EnableHop=\u4F7F\u8282\u70B9\u8FDE\u63A5\u751F\u6548
+PipelineHistory.Error.GettingInfoFromLoggingTable=\u4ECE\u65E5\u5FD7\u8868\u83B7\u53D6\u4FE1\u606F\u5931\u8D25
+HopGuiServer.Column.Sleeps=\u4F11\u7720\u65F6\u95F4 (get/put)
+HopGui.Menu.Workflow.Run=\u8FD0\u884C...
+WorkflowGraph.Hop.Tooltip.EvaluatingTrue=\u6267\u884C {0} \u540E\uFF0C\u5C06\u8BC4\u4F30\u6267\u884C\u7ED3\u679C\u3002{1}\u5982\u679C\u7ED3\u679C\u4E3A true(\u65E0\u9519\u8BEF)\uFF0C\u5C06\u9009\u7528\u6B64\u901A\u9053
+HopGui.Menu.Wizard.CopyTableWizard=\u590D\u5236\u5355\u8868\u5411\u5BFC(&C)...
+HopGui.Menu.File.Publish=Publish...
+HopGui.Menu.Popup.PARTITIONS.Delete=Delete partitioning schema
+PipelineHistory.Column.Written=\u5199
+HopGui.Log.DELETE.TryToDelete=(DELETE) \u8BD5\u56FE\u5220\u9664
+HopGui.Dialog.UnableOpenDialog.Title=Oops\uFF01
+WorkflowLog.Button.LogSettings=\u65E5\u5FD7\u8BBE\u7F6E
+HopGui.Menu.Tools.Data.Clear.Cache=\u6E05\u9664\u7F13\u5B58
+HopGui.Menu.CmdLine.Display=Display command
+HopGuiWorkflowGraph.ContextualAction.UnconditionalHop.Tooltip=\u65E0\u8BBA\u6267\u884C\u6210\u529F\u4E0E\u5426\uFF0C\u90FD\u8DF3\u5230\u4E0B\u4E00\u4E2A\u6267\u884C
+WorkflowLog.Dialog.WorkflowIsAlreadyRunning.Message=\u8BE5 Workflow \u6B63\u5728\u8FD0\u884C, \u65E0\u6CD5\u518D\u6B21\u542F\u52A8\u5B83\uFF01
+HopGui.Menu.Popup.JOBENTRIES.Delete=Delete all copies
+HopGui.Menu.Edit.ClearSelection=\u53D6\u6D88\u9009\u62E9
+PipelineHistory.Column.Name=Pipeline \u540D\u79F0
+WorkflowLog.Dialog.SaveChangedFile.Toggle=\u81EA\u52A8\u4FDD\u5B58\u8BE5 Workflow
+HopGui.Transforms=Transform
+HopGui.Menu.Popup.JOBENTRIES.Edit=\u7F16\u8F91
+HopGuiWorkflowGraph.ContextualAction.EditWorkflow.Tooltip=\u7F16\u8F91 Workflow \u5C5E\u6027
 HopGui.Menu.View.Results=\u6267\u884C\u7ED3\u679C\u9762\u677F
+WorkflowGraph.Toolbar.EditWorkflow.Tooltip=\u7F16\u8F91 Workflow \u5C5E\u6027
+WorkflowGraph.Dialog.PromptSave.Message=Workflow {0} \u5DF2\u7ECF\u53D8\u66F4, \u60A8\u60F3\u4FDD\u5B58\u5417?
+HopGui.ErrorDialog.UnexpectedErrorCreatingNewJobGraphEntry.Message=\u9519\u8BEF\u521B\u5EFA\u65B0\u4F5C\u4E1A\u9879\u590D\u5236
+HopGuiWorkflowGraph.ContextualAction.DeleteAction.Tooltip=\u5220\u9664\u8BE5 Workflow \u4E2D\u9009\u62E9\u7684 Action
+HopGui.Menu.Pipeline.Stop=\u505C\u6B62(&S)
+HopGui.RipDB.ActionSQL.Description=\u6267\u884C SQL \u8BED\u53E5\u6765\u521B\u5EFA\u8868 [
+WorkflowLog.Dialog.SaveChangedFile.Message2=\u60A8\u60F3\u73B0\u5728\u4FDD\u5B58\u8BE5 Workflow \u5417?
+PipelineLog.Dialog.PerformanceMonitoring.Button=\u914D\u7F6E...
+PipelineHistory.Column.LogDate=\u65E5\u5FD7\u65E5\u671F
+HopGui.STRING_CONNECTIONS=DB\u8FDE\u63A5
+HopGui.Log.MainWindowCreated=\u4E3B\u7A97\u53E3\u88AB\u521B\u5EFA
+PipelineLog.Dialog.PerformanceMonitoringNotEnabled.Title=\u4E0D\u80FD\u663E\u793A\u56FE
+PipelineLog.System.EXCEPTION=\u5F02\u5E38
+HopGui.Tooltip.SelectTransformType=\u9009\u62E9\u4E0B\u5217\u7684 Transform \u7C7B\u578B \u5E76\u4E14{0} \u62D6\u653E\u5B83\u5230\u53F3\u8FB9\u7684\u56FE\u5F62\u89C6\u56FE\u4E0A.
+WorkflowGraph.ExecutionResultsPanel.MinButton.Tooltip=\u6700\u5C0F\u5316\u663E\u793A\u6267\u884C\u7ED3\u679C\u9762\u677F
+HopGui.Dialog.Warning.NoPreviewOrDebugTransforms.Title=\u8B66\u544A\uFF01
+HopGui.Dialog.TransformPluginList.Title=Transform \u63D2\u4EF6\u5217\u8868
+PipelineHistory.Button.Replay=\ \u91CD\u653E 
+HopGui.Dialog.Exception.ReadOnlyUser=\u7528\u6237\u662F\u53EA\u8BFB\u7684\uFF01
+HopGuiServer.Column.Updated=\u66F4\u65B0
+HopGui.Menu.Wizard.CreateDatabaseConnectionWizard=\u521B\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u5411\u5BFC...
+HopGui.Dialog.NothingFound.Message=\u6CA1\u6709\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u4FE1\u606F
+HopGui.Log.FoundNotepads=\u53D1\u73B0{0} notepads to paste.
+PipelineGraph.Dialog.LoopAfterHopEnabled.Title=\u5FAA\u73AF\u8B66\u544A\uFF01
+HopGui.Menu.Pipeline.Verify=\u6821\u9A8C...
+HopGuiWorkflowGraph.ContextualAction.PasteFromClipboard.Text=\u7C98\u8D34
+HopGui.Dialog.ErrorReadingSharedObjects.Message=\u5C06\u5171\u4EAB\u5BF9\u8C61\u8BFB\u5230\u8F6C\u6362[{0}]\u65F6\u53D1\u751F\u9519\u8BEF
+HopGuiServer.ErrorStoppingPipeline.Message=There was an error while stopping this pipeline on the server
+HopGui.Dialog.ErrorPastingJob.Message=\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u4E00\u4E2A\u4F5C\u4E1A\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+HopWorkflowFileType.ErrorDialog.NewWorkflowCreation.Message=\u65B0\u5EFA Workflow \u65F6\u51FA\u9519
+HopGui.Dialog.ErrorSavingDatabaseCache.Message=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4FDD\u5B58\u6570\u636E\u5E93\u7F13\u5B58\u5230\u78C1\u76D8\u8FC7\u7A0B\u4E2D
+HopGui.Dialog.GiveJobANameBeforeSaving.Message=\u5C06\u4F5C\u4E1A\u4FDD\u5B58\u5230\u6570\u636E\u5E93\u4E4B\u524D,\u8BF7\u547D\u540D\u8BE5\u4F5C\u4E1A.
+HopGuiWorkflowGraph.ErrorDialog.WorkflowDrawing.Header=\u9519\u8BEF
 PipelineGraph.Dialog.NoteEditor.Message=\u6CE8\u91CA\u6587\u672C\:
-HopGui.Menu.ExploreConnection=\u6D4F\u89C8\u6570\u636E\u5E93
-TransformPerformanceSnapShotDialog.Updated=\u66F4\u65B0
-HopGui.Log.CheckTransformTreeItem=\u68C0\u67E5\u6B65\u9AA4\u6811\u5BF9\u8C61
-HopGui.Menu.Workflow.PasteJobFromClipboard=\u4ECE\u526A\u8D34\u677FP&aste workflow
-HopGui.Menu.Pipeline.Settings=&\u8BBE\u7F6E...
-PipelineGraph.HelpToolTip.DoNotShowAnyMoreCheckBox.Message=\u4E0D\u518D\u663E\u793A\u8FD9\u4E2A\u63D0\u793A
-PipelineGraph.PopupMenu.CopyToClipboard=\u590D\u5236\u5230\u526A\u8D34\u677F
-HopGuiServer.Column.Rejected=\u62D2\u7EDD
-HopGui.Hop.MainOutputOfTransform=\u4E3B\u8F93\u51FA\u6B65\u9AA4
-PipelineLog.Column.Read=\u8BFB
-HopGui.Log.FileWritten=\u6587\u4EF6\u88AB\u5199\u5165
-PipelineLog.ResultsPanel.NameLabel=\u6267\u884C\u7ED3\u679C
-HopGui.Menu.File.Save=&\u4FDD\u5B58
-PipelineGraph.Dialog.GettingFields.Title=\u83B7\u53D6\u5B57\u6BB5\u9519\u8BEF
-PipelineLog.Button.ResumePipeline=\u6062\u590D(&R)
-HopGui.Dialog.AddingHopCausesLoop.Title=\u8B66\u544A\!
-HopGui.Menu.Pipeline.CopyPipelineToClipboard=&\u590D\u5236\u8F6C\u6362\u5230\u526A\u8D34\u677F
+HopGui.Menu.Popup.CLUSTERS.Edit=Edit clustering schema
+HopGui.Log.RemoveTreeItem=\u5220\u9664\u6811\u5BF9\u8C61
+HopGui.TabPipeline.Tooltip=Pipeline \u7684\u56FE\u5F62\u89C6\u56FE [{0}]
+HopGui.Log.UnableVerifyUser=\u65E0\u6CD5\u6821\u9A8C\u7528\u6237\u540D\u79F0\u548C\u5BC6\u7801.
+HopGui.Dialog.NoRemoteServerSpecified.Title=\u6CA1\u6709\u8FDC\u7A0B\u670D\u52A1\u5668
+HopGui.Tooltip.DisplaysHistoryLogging=\u663E\u793A\u524D\u4E00\u4E2A\u8FD0\u884C\u8FC7\u7684\u8F6C\u6362\u7684\u5386\u53F2.
+HopGui.STRING_PIPELINE=Pipeline
+HopGuiWorkflowGraph.ContextualActionDialog.Note.Header=\u9009\u62E9\u8981\u5BF9\u8BE5 \u4FBF\u7B7E \u6267\u884C\u7684\u64CD\u4F5C\:
+HopGui.Dialog.PromptPipelineName.Title=Pipeline \u8FD8\u6CA1\u6709\u540D\u5B57.
+HopGui.Dialog.ErrorShowingHelpText.Message=\u65E0\u6CD5\u663E\u793A\u9519\u8BEF\u5E2E\u52A9\u6587\u672C\uFF01
+HopGui.Message.Warning.NotShowWarning=\u8BF7\u4E0D\u8981\u518D\u663E\u793A\u8FD9\u4E2A\u4FE1\u606F.
+HopGui.Log.SavedDatabaseConnection=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5 {0} \u5230\u8D44\u6E90\u5E93.
+HopGui.ErrorDialog.ErrorEditingAction.Message=Error editing action
 HopGui.StringSearchResult.Subtitle=\u641C\u7D22\u7ED3\u679C
-PipelineGraph.Dialog.TransformDescription.Message=\u6B65\u9AA4\u63CF\u8FF0\:
-HopGui.Log.SaveAs=\u53E6\u5B58\u4E3A...
-HopGui.Exception.ErrorCreatingNewJob.Title=\u9519\u8BEF
-PipelineGraph.PopupMenu.EnableHop=\u4F7F\u8282\u70B9\u8FDE\u63A5\u751F\u6548
-PipelineGraph.Dialog.CouldntFindFields.Title=\u5B57\u6BB5\u4FE1\u606F
-PipelineLog.System.EXCEPTION2=\u5F02\u5E38
-HopGui.Menu.Wizard.CopyTables=\u590D\u5236\u591A\u8868\u5411\u5BFC(&C)
-HopGui.Title.ExecHistoryPipelineView.Tooltip=Execution history for pipeline\: {0}
-HopGui.Dialog.ShowArguments.Title=\u5B58\u5728\u7684\u53C2\u6570
-PipelineGraph.PopupMenu.AllignDistribute=\u5BF9\u9F50 / \u5206\u6563
-HopGui.Log.ElementHasParent=\u5143\u7D20\u6709\u7236\u5143\u7D20\:
-HopGui.Menu.Popup.STEPS.Edit=Edit
-PipelineGraph.Dialog.TransformIsAlreadyOnCanvas.Message=\u6B65\u9AA4\u5DF2\u7ECF\u5728\u753B\u5E03\u4E0A\!
-HopGui.Menu.Workflow.GetSQL=\u83B7\u5F97SQL(&G)
-HopGui.Menu.Pipeline.Pause=\u6682\u505C(&P)
-HopGui.Menu.Popup.HOPS.Edit=Edit
-HopGuiServer.Column.TransformName=\u8F6C\u6362 / \u6B65\u9AA4
-PipelineGraph.Dialog.Warning.DeleteTransforms2.Message=\ \u4E0B\u5217\u6B65\u9AA4\u5417?
-PipelineGraph.PopupMenu.Settings=\u8F6C\u6362\u8BBE\u7F6E\tCTRL-T
-HopGui.Log.ErrorOpeningFileForWriting=\u9519\u8BEF\u6253\u5F00\u8981\u5199\u7684\u6587\u4EF6\! --> 
-HopGui.Dialog.UnableChangeUser.Title=\u7F16\u8F91\u7528\u6237
-HopGui.Message.Note.WriteInformationToTableOnDB2=\u5199\u4FE1\u606F\u5230\u8868[{0}]\u5728\u6570\u636E\u5E93[{1}]
+PipelineHistory.Error.ReplayingPipeline=\u91CD\u653E\u8F6C\u6362\u5931\u8D25.
 HopGui.Log.UnexpectedErrorRetry.Titel=\u53D1\u751F\u9519\u8BEF\u540E\u7EE7\u7EED\u8FD0\u884C HopGui ?
-HopGui.Menu.File.Publish=Publish...
-HopGui.Menu.File.Open.Recent.Popup=\u6253\u5F00\u6700\u8FD1\u7684\u914D\u7F6E
-HopGui.Dialog.Title.TransformnameExists=
-PipelineGraph.Dialog.GettingFields.Message=\u5728\u67E5\u627E\u5B57\u6BB5\u65F6\u53D1\u751F\u5F02\u5E38\!
-HopGui.Log.ErrorLoadingAndHaltSystem=\u9519\u8BEF\u52A0\u8F7D\u6B65\u9AA4\u548C\u8865\u4E01... \u505C\u6B62HopGui\!
-HopGui.STRING_BUILDING_BLOCKS=\u6B65\u9AA4\u548CJob
+TransformPerformanceSnapShotDialog.Written=\u5199
+PipelineGraph.Dialog.CouldntFindFields.Message=\u65E0\u6CD5\u627E\u5230\u4EFB\u4F55\u5B57\u6BB5\uFF01
+HopGui.Dialog.JobNoSQLNeedEexecuted.Title=SQL
+HopGui.StringSearchResult.Message=\u5BDF\u770B\: \u641C\u7D22\u7ED3\u679C
+WorkflowLog.System.ERROR=\u9519\u8BEF
+HopGui.Menubar.File.NewSlave=\u5B50\u670D\u52A1\u5668
+HopGui.Log.DELETE.ElementHasParent=(DELETE) \u5143\u7D20\u6709\u7236\u5143\u7D20\:
+HopGui.Menubar.File.NewWorkflow=Workflow
+HopGui.Menu.ShowHistory=History
+HopGui.Dialog.CannotFindConnection.Title=\u9519\u8BEF
+HopGui.Menu.File.SaveAsVFS=\u53E6\u5B58\u4E3A(VFS)...
+HopGuiWorkflowGraph.ContextualAction.DisableHop.Tooltip=\u7981\u7528\u8BE5\u901A\u9053
+HopGui.Dialog.ErrorSavingConnection.Title=\u4E0D\u80FD\u4FDD\u5B58...
+HopGui.Exception.ErrorReadingXULFile.Message=\u8BFB\u53D6 XUL \u6587\u4EF6(\u83DC\u5355,\u6807\u7B7E,\u7B49)\u65F6\u53D1\u751F\u9519\u8BEF,\u6587\u4EF6\u540D\u79F0{0}.
+TransformPerformanceSnapShotDialog.OutputBufferSize=\u8F93\u51FA\u7F13\u51B2\u533A
+HopGuiWorkflowGraph.ContextualAction.ParallelExecution.Tooltip=\u542F\u7528\u6216\u7981\u7528\u4E0B\u4E00\u4E2A Action \u7684\u5E76\u884C\u6267\u884C\u6A21\u5F0F
+HopGui.STRING_JOB_ENTRIES=\u4F5C\u4E1A\u9879\u76EE
+HopGui.Message.Note.WriteToTable=\u5199\u5165\u8868 [{0}]
+WorkflowLog.Dialog.ErrorLines.Message=\u8BE5 Workflow \u65E5\u5FD7\u4E2D\u53D1\u73B0\u9519\u8BEF\u6570\u636E\u884C\:
 HopGui.Menu.Tools.Data.New=New
-HopGui.Menu.File.New=&\u65B0\u5EFA
-HopGui.Menu.ShowLog=Log
-HopGui.Log.DUPE.ElementHasParent=(DUPE) \u5143\u7D20\u6709\u7236\u5143\u7D20.
-HopGui.Menu.Edit.ClearSelection=&\u6E05\u9664\u9009\u62E9
-PipelineGraph.Dialog.ItemCanNotBePlacedOnCanvas.Title=\u9519\u8BEF\uFF01
+HopGui.Dialog.UnableChangeUser.Title=\u7F16\u8F91\u7528\u6237
+HopGui.Application.Name=Hop
+PipelineLog.Dialog.DoNoStartPipelineTwice.Message=Pipeline \u6B63\u5728\u8FD0\u884C\uFF0C\u4E0D\u8981\u542F\u52A8\u4E24\u6B21\uFF01
+HopGui.Title.LogView=\u65E5\u5FD7\u89C6\u56FE
+HopGui.StringSearchResult.Title=\u641C\u7D22\u7ED3\u679C
+PipelineHistory.Column.Read=\u8BFB
+PipelineGraph.PopupMenu.GenerateMappingToThisTransform=\u6839\u636E\u76EE\u6807 Transform \u751F\u6210\u6620\u5C04
+HopGuiWorkflowGraph.ContextualAction.SuccessHop.Text=\u6210\u529F\u6570\u636E\u901A\u9053
 PipelineHistory.Column.DependencyDate=\u4F9D\u8D56\u65E5\u671F
-HopGui.Message.Warning.SaveOK=\u4FDD\u5B58\u6210\u529F\!
-HopGui.Dialog.UnableOpenDialog.Message=\u65E0\u6CD5\u6253\u5F00\u8FD9\u4E2A\u6B65\u9AA4\u7A97\u53E3
-HopGui.Hop.MainInputOfTransform=\u4E3B\u8F93\u5165\u6B65\u9AA4
-HopGui.Menu.ShowPipelinePerf=Performance
-HopGui.Dialog.GiveJobANameBeforeSaving.Title=\u8FD9\u4E2A\u4F5C\u4E1A\u6CA1\u6709\u540D\u5B57
-HopGui.Log.FoundNotepads=\u53D1\u73B0{0} notepads to paste.
-PipelineHistory.Button.Clear=\u6E05\u7A7A\u5386\u53F2
-WorkflowLog.Button.ShowErrorLines=\u663E\u793A\u9519\u8BEF\u884C
-HopGui.Menu.Edit.Cut=\u526A\u5207
-PipelineGraph.Dialog.HopCausesLoop.Title=\u8B66\u544A\!
-HopGui.Dialog.JobNoSQLNeedEexecuted.Title=SQL
-HopGui.Dialog.ExceptionCopyToClipboard.Title=\u9519\u8BEF
-HopGuiServer.Column.Active=\u72B6\u6001
-HopGui.Dialog.UnablePasteTransforms.Title=\u9519\u8BEF\u7C98\u8D34\u6B65\u9AA4...
-HopGui.Menu.File.SaveAsVFS=\u53E6\u5B58&\u4E3A(VFS)...
-PipelineGraph.Dialog.ErrorDuplicatingTransform.Message=\u590D\u5236\u6B65\u9AA4\u65F6\u53D1\u751F\u4E86\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF
+HopGui.Menu.Popup.PARTITIONS.New=New partitioning schema
+HopGui.Dialog.UnablePasteTransforms.Title=\u9519\u8BEF\u7C98\u8D34 Transform...
+HopGuiWorkflowGraph.ContextualAction.DisableHop.Text=\u7981\u7528\u901A\u9053
+HopGuiServer.Button.Start=\u5F00\u59CB
+HopGui.Log.LoggingAtLevel=\u65E5\u5FD7\u7EA7\u522B\: 
+HopGui.Dialog.PromptOverwriteFile.Message=\u8FD9\u4E2A\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728.  \u4F60\u60F3\u8986\u76D6\u5B83\u5417?
+HopGui.Log.EDIT.ElementHasParent=(EDIT) \u5143\u7D20\u6709\u7236\u5143\u7D20.
+HopGui.Menu.Popup.CONNECTIONS.ShowDependancies=\u663E\u793A\u4F9D\u8D56
+PipelineGraph.Dialog.LoopsAreNotAllowed.Title=\u9519\u8BEF\uFF01
+PipelineGraph.PopupMenu.Error=\u5B9A\u4E49\u9519\u8BEF\u5904\u7406...
+WorkflowGraph.Dialog.HopExists.Title=\u8FDE\u63A5\u7EBF\u5DF2\u5B58\u5728
+PipelineHistory.Column.Duration=\u6301\u7EED
+HopGui.Dialog.UnablePasteTransforms.Message=\u65E0\u6CD5\u7C98\u8D34 Transform \u5230\u8FD9\u4E2A Pipeline
+HopGuiWorkflowGraph.ContextualActionDialog.Hop.Header=\u9009\u62E9\u8981\u5BF9\u8BE5\u901A\u9053\u4E0A\u7684 Action \u8981\u6267\u884C\:
+HopGui.Dialog.TransAlreadyLoaded.Message=A pipeline with the same name is already loaded.\nPlease close this pipeline first to reload it.
+HopGui.ErrorDialog.ErrorEditingAction.Title=Error editing action
+HopGui.Dialog.ErrorDeletingClusterSchema.Message=\u5220\u9664\u96C6\u7FA4\u6A21\u5F0F\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+PipelineGraph.PopupMenu.AllignLeft=\u5DE6\u5BF9\u9F50
+PipelineLog.Dialog.WhatIsTheExecutionDate1.Message=\u54EA\u4E2A\u8F6C\u6362\u65E5\u671F
+HopGui.Dialog.UnexpectedError.Title=\u672A\u9884\u671F\u7684\u9519\u8BEF
+HopGui.Menu.Popup.STEPS.SortTransforms=\u6392\u5E8F Transform
+HopGui.Log.QuitApplication=\u9000\u51FA\u5E94\u7528.
+HopGuiServer.Column.Written=\u5199
 HopGuiServer.Column.Speed=\u901F\u5EA6 (\u6761/\u79D2)
-PipelineLog.Dialog.ErrorWritingLogRecord.Title=\u9519\u8BEF\u5730\u5199\u65E5\u5FD7\u8BB0\u5F55
-PipelineHistory.Error.InvalidReplayDate=\u65E0\u6548\u7684\u91CD\u653E\u65E5\u671F\: 
-HopGui.Message.Note.ReadFromTable=\u4ECE\u8868 [{0}]\u8BFB\u5165
-HopGui.Dialog.NoRemoteServerSpecified.Title=\u6CA1\u6709\u8FDC\u7A0B\u670D\u52A1\u5668
-HopGui.Log.CopyTransformToClipboard=\u590D\u5236\u6B65\u9AA4\u5230\u526A\u8D34\u677F\:
-HopGui.Menu.Popup.CONNECTIONS.NewConnectionWizard=\u65B0\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u5411\u5BFC
-HopGui.Menu.Edit.CopyToClipboard=\u590D\u5236\u6240\u9009\u7684\u6B65\u9AA4\u5230\u526A\u8D34\u677F
-HopGui.Message.Note.HandleReservedWords=\u5904\u7406\u4FDD\u7559\u5B57
-HopGuiServer.ErrorStartingPipeline.Message=There was an error while starting this pipeline on the server
-HopGui.Tooltip.GenerateSQLForTranformation=\u4EA7\u751F\u9700\u8981\u8FD0\u884C\u8FD9\u4E2A\u8F6C\u6362\u7684SQL
+HopGui.Menu.Edit.Refresh=\u5237\u65B0(&R)
 HopGuiServer.Column.Input=\u8F93\u5165
-HopGui.Dialog.ErrorDeletingClusterSchema.Message=\u5220\u9664\u96C6\u7FA4\u6A21\u5F0F\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-PipelineGraph.ExecutionResultsPanel.MaxButton.Tooltip=\u6700\u5927\u5316\u6267\u884C\u7ED3\u679C\u9762\u677F
-HopGui.RipDB.Monitor.ToTransform.Name=\u5199\u5230 [
-HopGui.Error.UnableToLoadSharedObjects.Title=\u9519\u8BEF
-HopGui.Menu.Edit.Search=\u641C\u7D22&\u5143\u6570\u636E
-HopGui.Menu.Workflow.Stop=\u505C\u6B62(&S)
-HopGui.STRING_HOPS=Hops\uFF08\u8282\u70B9\u8FDE\u63A5\uFF09
-PipelineHistory.Column.Written=\u5199
-PipelineLog.Column.Written=\u5199
-HopGui.Menu.Popup.JOBENTRIES.Duplicate=Create shadow copy
-TransformPerformanceSnapShotDialog.OutputBufferSize=\u8F93\u51FA\u7F13\u51B2\u533A
-HopGui.Tooltip.ResumeTranformation=\u6062\u590D\u6682\u505C\u7684\u8F6C\u6362
-TransformPerformanceSnapShotDialog.Transforms.Label=\u6B65\u9AA4\:
-PipelineLog.Column.Copynr=\u590D\u5236\u7684\u8BB0\u5F55\u884C\u6570
-PipelineHistory.Column.Output=\u8F93\u51FA
-HopGui.Menu.Popup.CLUSTERS.Delete=Delete clustering schema
-HopGui.Menu.View.ZoomIn=\u653E\u5927(&I)
-HopGui.Menu.View.Zoom100=\u7B49\u6BD4\u4F8B(&P)
-HopGui.Tooltip.DisplaysHistoryLogging=\u663E\u793A\u524D\u4E00\u4E2A\u8FD0\u884C\u8FC7\u7684\u8F6C\u6362\u7684\u5386\u53F2.
-PipelineGraph.PopupMenu.Clustering=\u96C6\u7FA4...
-HopGui.Menu.Pipeline.Verify=&\u6821\u9A8C
-HopGui.Log.ElementHasNoParent=\u5143\u7D20\u6CA1\u6709\u7236\u5143\u7D20
-HopGui.Menu.Popup.CONNECTIONS.Edit=\u7F16\u8F91
-HopGui.Tooltip.HideExecutionResults=\u9690\u85CF\u6267\u884C\u7ED3\u679C\u9762\u677F
-HopGui.Menu.Tools=\u5DE5\u5177
-HopGui.Menu.Pipeline.ShowLastVerifyResults=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u5F71\u54CD\u7ED3\u679C
-HopGui.Menu.Pipeline.Last.Popup=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u7684\u64CD\u4F5C
-HopGui.ErrorDialog.RipDB.ErrorRippingTheDatabase.Title=\u9519\u8BEF\u590D\u5236\u6570\u636E\u5E93
-HopGui.ExploreDB.SelectDB.Title=\u8FDB\u884C\u9009\u62E9
-PipelineGraph.Dialog.AreYouSureYouWantToRemoveAllLogEntries.Title=\u95EE\u9898
-PipelineLog.Log.CouldNotLinkInputToOutputPipe=\u65E0\u6CD5\u521B\u5EFA input-pipe \u4E0E output-pipe\u4E4B\u95F4\u7684\u8FDE\u63A5\!
-PipelineHistory.Error.GettingInfoFromLoggingTable=\u4ECE\u65E5\u5FD7\u8868\u83B7\u53D6\u4FE1\u606F\u5931\u8D25
-HopGui.Tooltip.SaveDifferentNameTranformation=\u4EE5\u4E0D\u540C\u540D\u79F0\u4FDD\u5B58\u8F6C\u6362
-HopGui.UnknownFileType.Message=\u6587\u4EF6''{0}'' \u4E0D\u662F Hop \u7684\u6587\u4EF6\u7C7B\u578B
-HopGui.Dialog.ShowVariables.Title=\u5F53\u524D\u7684\u53D8\u91CF
-HopGui.Title.ExecHistoryJobView.Tooltip=Execution history for workflow\: {0}
-HopGui.Menu.Pipeline.ShowLastImpactAnalyses=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u5F71\u54CD\u5206\u6790
-HopGuiServer.Column.Updated=\u66F4\u65B0
-PipelineGraph.PopupMenu.CheckSelectedTransforms=\u68C0\u67E5\u6240\u9009\u6B65\u9AA4
-HopGui.Log.EditTransform=\u7F16\u8F91\u6B65\u9AA4\: 
-PipelineGraph.PopupMenu.NewHop=\u65B0\u5EFA\u8282\u70B9\u8FDE\u63A5
-PipelineGraph.Dialog.EditNote.Title=\u6CE8\u91CA
-PipelineLog.Dialog.PerformanceMonitoring.Button=\u914D\u7F6E...
+TransformPerformanceSnapShotDialog.Output=\u8F93\u51FA
+WorkflowGraph.Dialog.HopInfo.Disable=\u7981\u7528
+WorkflowLog.Dialog.ErrorLines.Title=\u9519\u8BEF\u884C
+PipelineHistory.Column.StartDate=\u5F00\u59CB\u65E5\u671F
+HopGui.Title.ExecLogJobView.Tooltip=Execution log for workflow\: {0}
+PipelineLog.Dialog.FileHasChanged.Title=\u6587\u4EF6\u5DF2\u7ECF\u6539\u53D8\uFF01
+PipelineHistory.Button.Refresh=\ \u5237\u65B0 
+HopGuiServer.Column.Output=\u8F93\u51FA
+PipelineGraph.Dialog.AreYouSureYouWantToRemoveAllLogEntries.Message=\u786E\u5B9A\u5220\u9664\u65E5\u5FD7\u8868\u4E2D\u7684\u6240\u6709\u9879 [{0}]?
+HopGui.Dialog.ErrorCreatingTransform.Title=\u9519\u8BEF
+PipelineGraph.Dialog.Warning.DeleteTransforms.Message=\u786E\u8BA4\u662F\u5426\u5220\u9664\u8FD9\u4E9B Pipeline\:
+HopGui.Menu.Popup.SLAVE_SERVER.New=New hop server
+HopGui.Menu.File.Quit=\u9000\u51FA
+HopGui.Dialog.JobAlreadyLoaded.Message=A workflow with the same name is already loaded.\nPlease close this workflow first to reload it.
+HopGui.Menu.Tools.Database.Explore=\u6D4F\u89C8
+HopGui.Title.LogHistory=\u65E5\u5FD7\u5386\u53F2
+HopGui.Title.LogJobHistoryView=\u65E5\u5FD7\u5386\u53F2 (J)\: {0}
+HopGuiServer.Column.Read=\u8BFB
+HopGui.Log.AutoLoadingPipeline=\u81EA\u52A8\u52A0\u8F7D Pipeline {0} \u4ECE\u8D44\u6E90\u5E93\u76EE\u5F55 {1}
+WorkflowLog.Dialog.CanNotOpenWorkflow.Message=\u65E0\u6CD5\u6253\u5F00 Workflow
 WorkflowLog.Button.ClearLog=\u6E05\u9664\u65E5\u5FD7
-HopGui.Menu.File.ExportAll=\u5BFC\u51FA\u5230XML\u6587\u4EF6(ZIP\u538B\u7F29)...
-PipelineLog.Column.Output=\u8F93\u51FA
-HopGui.Menu.Popup.CLUSTERS.Edit=Edit clustering schema
-HopGui.STRING_TRANSFORMS=Transforms\uFF08\u6B65\u9AA4\uFF09
-HopGui.Menu.Popup.BASE.New=\u65B0\u5EFA
-HopGui.Dialog.ExceptionPasteFromClipboard.Message=\u5F53\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u6570\u636E\u65F6,\u53D1\u751F\u4E86\u4E00\u4E2A\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF.
-PipelineGraph.Dialog.SplitHop.Message=\u4F60\u60F3\u628A\u8282\u70B9\u8FDE\u63A5\u62C6\u5F00\u5417?
-HopGui.STRING_HISTORY=\u6B65\u9AA4\u521B\u5EFA\u5386\u53F2
-HopGui.Log.UnableVerifyUser=\u65E0\u6CD5\u6821\u9A8C\u7528\u6237\u540D\u79F0\u548C\u5BC6\u7801.
-HopGui.Menu.Tools.Plugins.Popup=Plug-Ins
-HopGui.Menu.File.Import.Popup=\u5BFC\u5165
-HopGui.Menu.Popup.CONNECTIONS.Share=\u5171\u4EAB
-HopGui.Dialog.ErrorShowingHelpText.Message=\u65E0\u6CD5\u663E\u793A\u9519\u8BEF\u5E2E\u52A9\u6587\u672C\!
-HopGui.Log.ClickedOn=\u70B9\u51FB
-HopGui.Dialog.ErrorDeletingPartitionSchema.Message=\u5220\u9664\u5206\u533A\u6A21\u5F0F\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-HopGui.Dialog.ErrorReadingSharedObjects.Message=\u5C06\u5171\u4EAB\u5BF9\u8C61\u8BFB\u5230\u8F6C\u6362[{0}]\u65F6\u53D1\u751F\u9519\u8BEF
-PipelineGraph.Dialog.HopCausesRowMixing.Message=\u8FD9\u4E2A\u8FDE\u63A5\u4F7F\u76EE\u6807\u6B65\u9AA4\u63A5\u6536\u5E26\u6709\u6DF7\u5408\u6837\u5F0F\u7684\u884C\!
-HopGui.Dialog.ImpactAnalyses.Message=\u5206\u6790\u7ED3\u679C\:
-HopGui.Menu.ShowPipelineHistory=History
-HopGui.Dialog.PromptPipelineName.Message=\u5728\u4FDD\u5B58\u8FD9\u4E2A\u8F6C\u6362\u5230\u6570\u636E\u5E93\u4E4B\u524D\uFF0C\u8BF7\u7ED9\u8FD9\u4E2A\u8F6C\u6362\u4E00\u4E2A\u540D\u79F0.
-PipelineLog.Button.StopPipeline=\ &\u505C\u6B62\u8F6C\u6362 
-PipelineGraph.Dialog.TransformDescription.Title=\u6B65\u9AA4\u63CF\u8FF0\u5BF9\u8BDD\u6846
+HopGui.Menu.Pipeline.Paste.Popup=Paste
+HopGui.Dialog.AddingHopCausesLoop.Message=\u5728\u8F6C\u6362\u91CC\u589E\u52A0\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF.  \u8FD9\u91CC\u4E0D\u5141\u8BB8\u5FAA\u73AF\uFF01
+HopGui.Menu.Pipeline.Impact=\u5F71\u54CD\u5206\u6790
+HopGui.Menu.Popup.SLAVE_SERVER.Monitor=Monitor
+HopGuiWorkflowGraph.ContextualActionDialog.Action.Header=\u9009\u62E9\u5728 Action \u201C{0}\u201D \u4E0A\u8981\u6267\u884C\u7684 Action\:
+HopGui.Menu.Workflow.GetSQL=\u83B7\u5F97SQL(&G)
+HopGuiWorkflowGraph.ContextualAction.DisableDownstream.Tooltip=\u7981\u7528\u5168\u90E8\u4E0B\u53D1\u901A\u9053
+HopGui.Menu.File.Print=\u6253\u5370
+HopGuiWorkflowGraph.ContextualAction.CopyAction.Tooltip=\u590D\u5236\u8BE5 Action (XML \u683C\u5F0F)\u5230\u526A\u8D34\u677F
+PipelineLog.Dialog.ErrorOpeningPipeline.Title=\u9519\u8BEF\u6253\u5F00 Pipeline
+HopGui.Dialog.WarningCreateNewTransforms.Message=\u8BF7\u4F7F\u7528\u4E0B\u5217\u7684\u57FA\u672C Transform \u7C7B\u578B\u6765\u521B\u5EFA\u65B0 Transform.
 HopGui.Various.Changed=(\u6709\u53D8\u52A8)
-HopGui.Dialog.TransformnameExists.Message=\u8FD9\u4E2A\u6B65\u9AA4\u5DF2\u7ECF\u5B58\u5728.  HopGui\u66F4\u6539\u8FD9\u4E2A\u6B65\u9AA4\u540D\u4E3A[{0}]
-HopGui.Dialog.HopExists.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u5DF2\u7ECF\u5B58\u5728\!
-HopGui.Menu.Popup.SLAVE_SERVER.Edit=Edit
-PipelineLog.System.ERROR2=\u9519\u8BEF
-HopGui.Menu.File.SaveAs=\u53E6&\u5B58\u4E3A...
-PipelineLog.Dialog.EnterReplayDate.Title=\u8F93\u5165\u91CD\u653E\u8F6C\u6362\u7684\u65E5\u671F
-HopGui.Dialog.GiveJobANameBeforeSaving.Message=\u5C06\u4F5C\u4E1A\u4FDD\u5B58\u5230\u6570\u636E\u5E93\u4E4B\u524D,\u8BF7\u547D\u540D\u8BE5\u4F5C\u4E1A.
-PipelineGraph.PopupMenu.EditTransformDescription=\u7F16\u8F91\u6B65\u9AA4\u63CF\u8FF0
-PipelineLog.Log.DoPreview=\u9884\u89C8\!\!\!
-HopGui.Dialog.OpenFileVFS.Message=\u5236\u5B9A\u8981\u6253\u5F00\u6587\u4EF6\u7684URL\:
-HopGui.Menu.Pipeline.GetSQL=&\u83B7\u53D6SQL
-HopGuiServer.Column.Read=\u8BFB
-PipelineGraph.PopupMenu.FlipDirection=\u7FFB\u8F6C\u65B9\u5411
-HopGui.Menu.Popup.PARTITIONS.Edit=Edit partitioning schema
-PipelineLog.Column.Speed=\u901F\u5EA6 (\u6761\u8BB0\u5F55/\u79D2)
-HopGui.Menu.Edit.Copy.File=\u590D\u5236\u6587\u4EF6
-HopGui.RipDB.ActionSQL.Name=\u521B\u5EFA\u8868 [
-PipelineGraph.Dialog.Warning.DeleteTransforms.Message=\u786E\u8BA4\u662F\u5426\u79FB\u53BB\u8FD9\u4E9B\u8F6C\u6362\u6B65\u9AA4\:
-HopGuiServer.Button.ShowErrorLines=&\u663E\u793A\u9519\u8BEF\u884C 
-HopGui.Various.NoName=[\u6CA1\u6709\u540D\u79F0]
-PipelineGraph.Dialog.LoopAfterHopEnabled.Title=\u5FAA\u73AF\u8B66\u544A\!
-HopGui.RipDB.ActionPipeline.Name=\u590D\u5236\u6570\u636E\u5230 [
-HopGui.Dialog.ErrorSavingDatabaseCache.Message=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4FDD\u5B58\u6570\u636E\u5E93\u7F13\u5B58\u5230\u78C1\u76D8\u8FC7\u7A0B\u4E2D
-HopGui.Menu.Tools.Database.Explore=\u6D4F\u89C8
-HopGui.Menu.Popup.STEPS.NewHop=New Hop
-HopGui.Tooltip.SelectTransformType=\u9009\u62E9\u4E0B\u5217\u7684\u6B65\u9AA4\u7C7B\u578B \u5E76\u4E14{0} \u62D6\u653E\u5B83\u5230\u53F3\u8FB9\u7684\u56FE\u5F62\u89C6\u56FE\u4E0A.
-HopGui.Various.DupeName=(copy of) 
+HopGui.STRING_ELEMENTS=\u5143\u7D20
+HopGui.Menu.Tools=\u5DE5\u5177
+HopGui.UnknownFileType.Title=\u9519\u8BEF
+HopGui.Message.Warning.OK=OK
+PipelineLog.Dialog.GivePipelineANameBeforeRunning.Title=Pipeline \u8FD8\u6CA1\u6709\u540D\u79F0\uFF01
+TransformPerformanceSnapShotDialog.Read=\u8BFB
+HopGuiWorkflowGraph.GuiAction.ZoomIn.Tooltip=\u653E\u5927 10%
+HopGui.Dialog.CannotFindConnection.Message=\u65E0\u6CD5\u627E\u5230\u6570\u636E\u5E93\u8FDE\u63A5, \u8BF7\u6309(F5)\u5237\u65B0\uFF01
+HopGui.Message.Warning.No=\u5426
+PipelineLog.System.EXCEPTION2=\u5F02\u5E38
+PipelineLog.Button.LogSettings=\u65E5\u5FD7\u8BBE\u7F6E 
+PipelineGraph.ExecutionResultsPanel.MinButton.Tooltip=\u6700\u5C0F\u5316\u6267\u884C\u7ED3\u679C\u9762\u677F
+HopWorkflowFileType.GuiAction.Workflow.Tooltip=\u521B\u5EFA Workflow\: \u6839\u636E\u6267\u884C\u7ED3\u679C\u548C\u6761\u4EF6\u4F9D\u6B21\u6267\u884C\u7684\u4E00\u7EC4\u6709\u5E8F Action \u7EC4.
+HopGui.Message.Warning.Yes=\u662F
+HopGui.Title.LogJobView=\u65E5\u5FD7 (J)\: {0}
+HopGui.STRING_JOBENTRY_BASE=\u6838\u5FC3\u4F5C\u4E1A\u9879\u76EE
+WorkflowGraph.ExecutionResultsPanel.CloseButton.Tooltip=\u9690\u85CF\u6267\u884C\u7ED3\u679C\u9762\u677F
+HopGui.Log.LoggingToFile=Logging goes to 
+PipelineHistory.Column.Errors=\u9519\u8BEF
+HopGuiWorkflowGraph.ContextualAction.EditActionDescription.Text=\u7F16\u8F91\u63CF\u8FF0
 HopGuiServer.Column.PriorityBufferSizes=\u8F93\u5165/\u8F93\u51FA
-HopGui.Hop.ErrorHandlingOfTransform=\u9519\u8BEF\u5904\u7406\u6B65\u9AA4
-HopGui.Dialog.PromptOverwritePipeline.Title=\u8986\u76D6?
-PipelineLog.Column.Input=\u8F93\u5165
-HopGui.Dialog.LoadPipelineError.Title=\u9519\u8BEF \u52A0\u8F7D\u8F6C\u6362
-HopGui.Dialog.ErrorDeletingConnection.Message=\u9519\u8BEF\u5220\u9664\u6765\u81EA\u8D44\u6E90\u5E93\u7684\u6570\u636E\u5E93\u8FDE\u63A5{0}\!
-HopGui.Menu.Popup.CONNECTIONS.UnShare=\u505C\u6B62\u5171\u4EAB
-HopGui.Log.EDIT.ElementHasParent=(EDIT) \u5143\u7D20\u6709\u7236\u5143\u7D20.
-HopGui.ExploreDB.SelectDB.Message=\u9009\u62E9\u8981\u6D4F\u89C8\u7684\u6570\u636E\u5E93...
+PipelineGraph.PopupMenu.DetachTransform=\u5206\u79BB
+PipelineGraph.Dialog.MultipleCopiesAreNotAllowedHere.Message=Sorry, multiple copies of a transform are not allowed here.\nWe suggest that you insert a Dummy transform here.\nThe next transform(s) can then be launched in multiple copies as usual.
+HopGuiWorkflowGraph.ErrorDialog.FileNotLoaded.Message=\u65E0\u6CD5\u8BFB\u53D6\u5F15\u7528\u6587\u4EF6
+HopGui.Menu.Popup.CLUSTERS.Monitor=Monitor all hop servers
+PipelineLog.Column.Time=\u65F6\u95F4
+TransformPerformanceSnapShotDialog.RowsPerSecond.Label=\u8BB0\u5F55\u6BCF\u79D2
+HopGuiWorkflowGraph.ContextualAction.DeleteHop.Text=\u65AD\u5F00\u901A\u9053
+HopGuiWorkflowGraph.SaveFile.Dialog.Message=\u5173\u95ED\u524D\u4F60\u60F3\u4FDD\u5B58\u6587\u4EF6 "{0}" \u5417?
+HopGui.Menu.Popup.CONNECTIONS.Edit=\u7F16\u8F91
+HopGui.Dialog.ErrorSavingFile.Title=\u9519\u8BEF
+HopGui.Menu.BrowseVersions=Browse version history
+HopGui.Menu.Popup.STEPS.Share=Share
+HopGui.Message.Warning.NotShowThisMessage=\u4E0D\u8981\u518D\u663E\u793A\u8FD9\u4E2A\u4FE1\u606F.
+PipelineGraph.PopupMenu.NewNote=\u65B0\u5EFA&\u6CE8\u91CA
+HopGui.Menu.Popup.CLUSTERS.Share=\u5171\u4EAB
+HopGui.Dialog.ErrorPastingJob.Title=\u9519\u8BEF\u7C98\u8D34\u4F5C\u4E1A
+HopGui.Menu.Help.Credits=\u81F4\u8C22
+HopGui.Tooltip.VerifyPipeline=\u6821\u9A8C\u8FD9\u4E2A Pipeline
+HopGui.Log.ErrorOpeningFileForWriting=\u9519\u8BEF\u6253\u5F00\u8981\u5199\u7684\u6587\u4EF6\uFF01 --> 
+HopGuiServer.Column.TransformName=Pipeline/Transform
+HopGui.Tooltip.RunPipelineation=\u8FD0\u884C\u8FD9\u4E2A Pipeline
+WorkflowLog.System.EXCEPTION=\u5F02\u5E38
+HopGui.Dialog.ErrorDeletingConnection.Message=\u9519\u8BEF\u5220\u9664\u6765\u81EA\u8D44\u6E90\u5E93\u7684\u6570\u636E\u5E93\u8FDE\u63A5{0}\uFF01
+HopGui.RipDB.Monitor.Note3=\u7136\u540E,\u5199\u4FE1\u606F\u5230\u8868 [
+HopGuiWorkflowGraph.ContextualAction.EditAction.Text=\u7F16\u8F91
+HopGui.RipDB.Monitor.Note4=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
+HopGui.Menu.File.NewDB=\u6570\u636E\u5E93\u8FDE\u63A5
+HopGui.RipDB.Monitor.Note1=\u8BFB\u4FE1\u606F\u4ECE\u8868 [
+HopGui.RipDB.Monitor.Note2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
+WorkflowGraph.Dialog.LoopAfterHopEnabled.Message=\u542F\u7528\u8BE5 \u8FDE\u63A5\u7EBF \u4F1A\u521B\u5EFA\u4E00\u4E2A\u5FAA\u73AF\u6570\u636E\u901A\u9053\uFF0C\u8BE5\u5FAA\u73AF\u901A\u9053\u53EF\u80FD\u4F1A\u5728\u8BE5 Workflow \u8FD0\u884C\u65F6\u5BFC\u81F4\u51FA\u9519.
+HopGui.Tooltip.GenerateSQLForTranformation=\u4EA7\u751F\u9700\u8981\u8FD0\u884C\u8FD9\u4E2A\u8F6C\u6362\u7684SQL
+PipelineGraph.Dialog.GettingFields.Title=\u83B7\u53D6\u5B57\u6BB5\u9519\u8BEF
+PipelineGraph.Dialog.LoopsAreNotAllowed.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u65B9\u5411\u7FFB\u8F6C\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF\uFF01  \u5FAA\u73AF\u4E0D\u5141\u8BB8.
+HopGui.Dialog.OnlyUseStartOnce.Title=\u9519\u8BEF
+HopGui.Menu.File.Save=&\u4FDD\u5B58
+HopGui.Menu.Popup.CLUSTERS.Delete=Delete clustering schema
+PipelineGraph.HelpToolTip.CreatingHops.Title=\u5982\u4F55\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u8FDE\u63A5?
+PipelineHistory.Error.ReplayDateCannotBeNull=\u91CD\u653E\u65E5\u671F\u4E0D\u80FD\u4E3A\u7A7A.
+PipelineGraph.Dialog.Option.SplitHop.DoNotAskAgain=\u4E0D\u8981\u518D\u63D0\u95EE
+WorkflowGraph.Dialog.PromptSave.Title=\u8B66\u544A\uFF01
+PipelineGraph.Dialog.ErrorDroppingObject.Title=\u9519\u8BEF\u62D6\u653E\u5BF9\u8C61
+WorkflowGraph.Toolbar.AlignLeft.Tooltip=\u8BE5 Action \u4E0E\u9009\u4E2D Action \u5DE6\u4FA7\u5BF9\u9F50
+PipelineLog.Log.LaunchingPipeline=\u6B63\u5728\u6253\u5F00 Pipeline [
+HopGui.MainTree.Label=\u4E3B\u5BF9\u8C61\u6811
+HopGui.Log.ElementHasNoParent=\u5143\u7D20\u6CA1\u6709\u7236\u5143\u7D20
+PipelineGraph.PopupMenu.DeleteTransform=\u5220\u9664 Transform
+HopGui.Menu.Popup.SLAVE_SERVER.Share=\u5171\u4EAB
+PipelineLog.Column.Written=\u5199
+PipelineHistory.Column.Updated=\u66F4\u65B0
+HopGui.PipelineGraph.GridTab.Name=Metrics
+HopGui.Dialog.PromptSave.Message=\u8FD9\u4E2A\u6A21\u578B\u5DF2\u7ECF\u53D1\u751F\u53D8\u66F4.  \u4F60\u60F3\u8981\u4FDD\u5B58\u5B83\u5417?
+HopGui.Log.FoundHops=\u53D1\u73B0{0} hops to paste.
+HopGui.Tooltip.ResumeTranformation=\u6062\u590D\u6682\u505C\u7684 Pipeline
+HopGui.Log.LoadProperties=\u4E3AHopGui\u52A0\u8F7D\u5C5E\u6027...
+HopGui.Menu.Pipeline.CopyPipelineToClipboard=&\u590D\u5236\u8F6C\u6362\u5230\u526A\u8D34\u677F
+TransformPerformanceSnapShotDialog.Transforms.Label=Transform\:
+PipelineLog.ResultsPanel.NameLabel=\u6267\u884C\u7ED3\u679C
+PipelineGraph.PopupMenu.Clustering=\u96C6\u7FA4...
+HopGui.Menu.View.Perspectives=\u89C6\u56FE\u7C7B\u578B
+HopGui.Log.NoRepositoriesDefined=\u7CFB\u7EDF\u91CC\u6CA1\u6709\u5B9A\u4E49\u8D44\u6E90\u5E93.
+PipelineGraph.Dialog.TransformDescription.Title=Transform \u63CF\u8FF0\u5BF9\u8BDD\u6846
+PipelineLog.Dialog.EnterReplayDate.Title=\u8F93\u5165\u91CD\u653E\u8F6C\u6362\u7684\u65E5\u671F
+HopGui.Title.STRING_WELCOME=\u6B22\u8FCE\uFF01
+PipelineGraph.Dialog.CouldntFindFields.Title=\u5B57\u6BB5\u4FE1\u606F
+WorkflowLog.Dialog.WorkflowHasChangedSave.Title=\u6587\u4EF6\u88AB\u4FEE\u6539\uFF01
+PipelineGraph.PopupMenu.HideTransform=\u9690\u85CF Transform
+HopGuiWorkflowGraph.OpenReferencedObject.Selection.Title=\u6253\u5F00\u5F15\u7528\u6587\u4EF6
+HopGuiWorkflowGraph.ContextualActionDialog.Workflow.Header=\u9009\u62E9\u8981\u6267\u884C\u7684 Action \u6216\u8981\u521B\u5EFA\u7684 Action\:
+HopGui.Dialog.Warning.NoPreviewOrDebugTransforms.Message=\u6CA1\u6709\u9884\u89C8\u548C\u8C03\u8BD5 Transform.\r\n\u5982\u679C\u8FD9\u6837,\u8F6C\u6362\u53EF\u4EE5\u8FD0\u884C,\u4F46\u662F\u4E0D\u80FD\u6536\u96C6\u5230\u9884\u89C8\u4FE1\u606F.\r\n\u786E\u5B9A\u5F00\u59CB\u8F6C\u6362 \u5417?
 JobHistory.Button.Refresh=\u5237\u65B0\u4F5C\u4E1A\u5386\u53F2
-HopGui.STRING_BASE=\u57FA\u672C\u6B65\u9AA4\u7C7B\u578B
+HopGui.Dialog.FileExistsOverWrite.Title=This file already exists\uFF01
+PipelineLog.Button.ShowErrorLines=\ &\u663E\u793A\u9519\u8BEF\u884C 
+HopGui.Dialog.JobNoSQLNeedEexecuted.Message=\u6CA1\u6709\u53EF\u4EE5\u6267\u884C\u7684 SQL \u8BED\u53E5\u6765\u8FD0\u884C\u8FD9\u4E2A\u4F5C\u4E1A.
+HopGui.Dialog.TransformnameExists.Message=\u8FD9\u4E2A Transform \u5DF2\u7ECF\u5B58\u5728.  HopGui\u66F4\u6539\u8FD9\u4E2A Transform \u540D\u4E3A[{0}]
+HopGui.Dialog.PromptOverwriteFile.Title=\u8FD9\u4E2A\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728\uFF01
+HopGui.Menu.Pipeline.Run=&\u8FD0\u884C
+PipelineLog.Log.StartedExecutionOfPipeline=\u5F00\u59CB\u6267\u884C\u8F6C\u6362.
+WorkflowGraph.Toolbar.SnapToGrid.Tooltip=\u6240\u9009 Action \u5BF9\u9F50\u5230\u7F51\u683C
+PipelineLog.Column.Read=\u8BFB
+HopGui.Log.UnableFindDirectory=\u65E0\u6CD5\u627E\u5230\u76EE\u5F55 [{0}] \u5728\u8D44\u6E90\u5E93\u91CC.
+PipelineLog.Dialog.DoNoStartPipelineTwice.Title=\u8B66\u544A\uFF01
+WorkflowGraph.Dialog.HopCausesLoop.Title=\u5FAA\u73AF\uFF01
+HopGui.Menu.Action=\u6267\u884C
+HopGui.PipelineGraph.PerfTab.Name=\u6027\u80FD\u56FE
+HopGui.Message.Warning.Warning=\u8B66\u544A\uFF01
+PipelineGraph.PopupMenu.DataMovement=\u6570\u636E\u53D1\u9001......
+PipelineGraph.Dialog.TransformIsAlreadyOnCanvas.Title=\u9519\u8BEF\uFF01
+PipelineLog.Dialog.ErrorLines.Title=\u9519\u8BEF\u884C
+HopGui.Dialog.PromptPipelineName.Message=\u5728\u4FDD\u5B58\u8FD9\u4E2A\u8F6C\u6362\u5230\u6570\u636E\u5E93\u4E4B\u524D\uFF0C\u8BF7\u7ED9\u8FD9\u4E2A\u8F6C\u6362\u4E00\u4E2A\u540D\u79F0.
+PipelineGraph.HelpToolTip.CreatingHops.Message=- \u4F7F\u7528\u9F20\u6807\u4E2D\u95F4\u952E\u4ECE\u4E00\u4E2A Transform \u62D6\u5230\u53E6\u4E00\u4E2A Transform.\r\n- \u6309\u4F4F SHIFT \u952E,\u4ECE\u4E00\u4E2A Transform \u62D6\u5230\u53E6\u4E00\u4E2A Transform.
+HopGui.Dialog.ShowArguments.Message=\u5B9A\u4E49\u7684\u53C2\u6570\u5217\u8868\:
+PipelineHistory.Error.ReplayingPipeline2=\u91CD\u653E\u8F6C\u6362\u5931\u8D25
+PipelineLog.System.No=\u5426
+HopGui.Menu.Pipeline.Preview=&\u9884\u89C8
+HopGui.Menu.Edit.Options=\u9009\u9879(&O)...
+HopGui.Menu.File.Open.Recent.Popup=\u6253\u5F00\u6700\u8FD1\u7684\u914D\u7F6E
+HopGui.Menu.Workflow.Replay=Replay workflow
+HopGui.Dialog.HopExists.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u5DF2\u7ECF\u5B58\u5728\uFF01
+HopGui.Menu.File.Import=&\u4ECEXML\u6587\u4EF6\u5BFC\u5165
+HopGui.Message.Note.RenamesReservedWords=\u91CD\u547D\u540D\u4FDD\u7559\u5B57\u4E3A {0}
+HopGui.Menu.Popup.HOPS.SortHops=\u6392\u5E8F\u8FDE\u63A5
+PipelineGraph.PopupMenu.AllignRight=\u53F3\u5BF9\u9F50
+PipelineLog.Button.SafeMode=\u5B89\u5168\u6A21\u5F0F
+HopGui.Menu.Popup.CONNECTIONS.Share=\u5171\u4EAB
+HopGui.ErrorDialog.UnexpectedErrorCreatingNewJobGraphEntry.Title=\u521B\u5EFA\u8D44\u6E90\u65F6\u7684\u4E25\u91CD\u9519\u8BEF
+WorkflowGraph.Dialog.HopCausesLoop.Message=\u7981\u6B62\u5FAA\u73AF\u7C7B\u578B\u7684\u6570\u636E\u6D41\u901A\u9053
+HopGui.Menu.Pipeline=&Pipeline
+HopGui.Message.Note.WriteInformationToTableOnDB=\u4E4B\u540E, \u5B83\u5199\u4FE1\u606F\u5230\u8868[{0}]\u5728\u6570\u636E\u5E93 [{1}]
+HopGui.Menu.Popup.BASE.HistoryWindow=\u6253\u5F00\u5386\u53F2\u89C6\u56FE
+HopGui.Dialog.ErrorPastingPipeline.Title=\u9519\u8BEF\u7C98\u8D34 Pipeline
+HopGui.Dialog.NoRemoteServerSpecified.Message=\u9700\u8981\u6307\u5B9A\u8FDC\u7A0B\u4E3B\u673A
+HopGuiWorkflowGraph.ContextualAction.EditActionDescription.Tooltip=\u4FEE\u6539 Action \u63CF\u8FF0
+HopGui.UnknownFileType.Message=\u6587\u4EF6"{0}" \u4E0D\u662F Hop \u7684\u6587\u4EF6\u7C7B\u578B
+PipelineGraph.PopupMenu.AllignBottom=\u5E95\u90E8\u5BF9\u9F50
+HopGui.Error.UnableToLoadSharedObjects.Title=\u9519\u8BEF
+HopGui.Dialog.ExceptionPasteFromClipboard.Title=\u9519\u8BEF
+PipelineLog.Dialog.UnexpectedErrorDuringPreview.Title=\u5728\u9884\u89C8\u65F6\u5019\u53D1\u751F\u672A\u9884\u671F\u7684\u9519\u8BEF
+HopGui.Dialog.WarningCreateNewTransforms.Title=\u63D0\u793A\uFF01
+HopGuiWorkflowGraph.ContextualAction.CreateNote.Tooltip=\u65B0\u5EFA\u4E00\u4E2A\u4FBF\u7B7E
+HopGui.Menu.Pipeline.CopyPipelineImageClipboard=\u590D\u5236\u8F6C\u6362\u56FE\u7247\u5230\u526A\u8D34\u677F
+HopGui.Menu.Wizard.CopyTables=\u590D\u5236\u591A\u8868\u5411\u5BFC(&C)
+HopGui.STRING_TRANSFORMS=Transforms(\u6B65\u9AA4)
+HopWorkflowFileType.ErrorDialog.NewWorkflowCreation.Header=\u9519\u8BEF
+PipelineGraph.Dialog.TransformIsAlreadyOnCanvas.Message=Transform \u5DF2\u7ECF\u5728\u753B\u5E03\u4E0A\uFF01
+HopGui.Menu.Popup.SLAVE_SERVER.Delete=Delete
+HopGui.ErrorDialog.RipDB.ErrorRippingTheDatabase.Title=\u9519\u8BEF\u590D\u5236\u6570\u636E\u5E93
+HopGui.Tooltip.DisplaysPipelineLog=\u663E\u793A\u6B63\u5728\u8FD0\u884C\u7684\u8F6C\u6362\u7684\u65E5\u5FD7.
+HopGui.Menu.Popup.HOPS.Delete=Delete
+TransformPerformanceSnapShotDialog.TimeInSeconds.Label=\u603B\u5171\u8FD0\u884C\u65F6\u95F4\u662F{0}\u79D2,\u6BCF{1}\u6BEB\u79D2\u62CD\u4E00\u6B21\u5FEB\u7167
+HopGui.STRING_PLUGIN=Transform \u63D2\u4EF6\u7C7B\u578B
+PipelineLog.Dialog.ErrorLines.Message=\u9009\u62E9\u8981\u7F16\u8F91\u7684 Transform\:
+PipelineLog.Dialog.Option.AutoSavePipeline=\u81EA\u52A8\u4FDD\u5B58\u8F6C\u6362.
+HopGuiWorkflowGraph.ContextualAction.CreateNote.Text=\u65B0\u5EFA\u4FBF\u7B7E
+HopGuiWorkflowGraph.ContextualAction.UnconditionalHop.Text=\u65E0\u6761\u4EF6\u901A\u9053
+HopGui.Menu.Undo.NotAvailable=\u64A4\u9500\: \u4E0D\u53EF\u83B7\u5F97
+HopGui.Dialog.ExceptionCopyToClipboard.Title=\u9519\u8BEF
+HopGui.Dialog.PromptToSave.Message=\u6587\u4EF6\u5DF2\u53D1\u751F\u6539\u53D8\u3002 \u662F\u5426\u8FDB\u884C\u4FDD\u5B58?
+HopGui.Menu.ShowPipelineLog=Log 
+HopGui.Dialog.UnableCreateNewTransform.Message=\u65E0\u6CD5\u521B\u5EFA\u4E00\u4E2A\u65B0 Transform
+HopGui.Menu.Edit.EditHopProperties=\u7F16\u8F91hop.properties\u6587\u4EF6
+HopGui.Menu.Redo.Available=\u91CD\u505A\: {0}
+HopGui.Menu.TransformPlugins=\u663E\u793A Transform \u63D2\u4EF6\u7684\u4FE1\u606F
+PipelineLog.System.ERROR=\u9519\u8BEF
+HopGui.RipDB.Monitor.ProcessingTable=\u5904\u7406\u8868 [
+HopGuiWorkflowGraph.ContextualAction.EditWorkflow.Text=\u7F16\u8F91 Workflow
+HopGuiWorkflowGraph.ContextualAction.Category.Basic.Text=\u57FA\u7840
+HopGuiServer.Button.Refresh=&\u5237\u65B0 
+WorkflowGraph.Dialog.LoopAfterHopEnabled.Title=\u8B66\u544A
 PipelineGraph.PopupMenu.DistributeHorizontally=\u6C34\u5E73\u5206\u6563
-HopGui.Menu.Pipeline.Paste.Popup=Paste
-HopGui.Menu.Popup.PARTITIONS.New=New partitioning schema
-PipelineGraph.HelpToolTip.CreatingHops.Message=- \u4F7F\u7528\u9F20\u6807\u4E2D\u95F4\u952E\u4ECE\u4E00\u4E2A\u6B65\u9AA4\u62D6\u5230\u53E6\u4E00\u4E2A\u6B65\u9AA4.\r\n- \u6309\u4F4F SHIFT \u952E,\u4ECE\u4E00\u4E2A\u6B65\u9AA4\u62D6\u5230\u53E6\u4E00\u4E2A\u6B65\u9AA4.
-PipelineGraph.PopupMenu.EditNote=\u7F16\u8F91\u6CE8\u91CA
-HopGui.Menubar.File.NewSlave=\u5B50\u670D\u52A1\u5668
-PipelineGraph.PopupMenu.Error=\u5B9A\u4E49\u9519\u8BEF\u5904\u7406...
-TransformPerformanceSnapShotDialog.Input=\u8F93\u5165
+HopGui.Menu.Popup.CONNECTIONS.CopyToClipboard=\u590D\u5236\u5230\u526A\u8D34\u677F
 HopGuiServer.Button.Close=&\u5173\u95ED\u8FD9\u4E2A\u9875\u9762 
-HopGui.Menu.Edit=&\u7F16\u8F91
-PipelineLog.Dialog.FileHasChanged1.Message=\u5728\u8FD0\u884C\u8F6C\u6362\u524D\u8BF7\u5148\u4FDD\u5B58\u5B83.
-HopGui.Title.GraphicalView=\u56FE\u5F62\u89C6\u56FE
-HopGui.RipDB.ActionPipeline.Description3=\u5230\:   [
-HopGui.RipDB.ActionPipeline.Description2=\u4ECE\: [
-HopGui.RipDB.ActionPipeline.Description1=\u8FD9\u4E2A\u4F5C\u4E1A\u9879\u6267\u884C\u590D\u5236\u6570\u636E\u7684\u8F6C\u6362
-PipelineLog.Button.LogSettings=\ &\u65E5\u5FD7\u8BBE\u7F6E 
-HopGui.Menu.Popup.CONNECTIONS.ClearDBCacheComplete=Clear complete DB Cache
-HopGui.Log.MainWindowCreated=\u4E3B\u7A97\u53E3\u88AB\u521B\u5EFA
-HopGui.Dialog.ErrorDeletingClusterSchema.Title=\u9519\u8BEF
-HopGuiServer.Button.Refresh=&\u5237\u65B0 
-PipelineGraph.PopupMenu.DetachTransform=\u5206\u79BB\u6B65\u9AA4
-PipelineLog.Dialog.SavePipelineBeforeRunning.Title=\u6587\u4EF6\u5DF2\u7ECF\u6539\u53D8\!
-HopGui.Dialog.TransformnameExists.Title=\u6CE8\u91CA
-HopGui.Menu.View=\u89C6\u56FE
-PipelineGraph.PopupMenu.NewNote=\u65B0\u5EFA&\u6CE8\u91CA
+PipelineLog.Column.PriorityBufferSizes=Pri/in/out
+HopGuiWorkflowGraph.GuiAction.ZoomInOut.Tooltip=\u653E\u5927\u7F29\u5C0F
+HopGui.Menu.Popup.PARTITIONS.Edit=Edit partitioning schema
+HopGui.RipDB.Monitor.PipelineName1=\u590D\u5236\u5230 [
+HopGui.RipDB.Monitor.PipelineName2=] \u5230 [
+HopGui.Menu.ShowExecutionResults=Results
 PipelineGraph.Dialog.EditNote.Message=\u6CE8\u91CA\u6587\u672C\:
-HopGui.Menu.Pipeline.PastePipelineFromClipboard=\u4ECE\u526A\u8D34\u677F\u7C98&\u8D34\u8F6C\u6362
-HopGuiServer.Column.Copynr=\u590D\u5236\u7684\u884C\u6570\u91CF
+HopGui.Menu.ShowPipelineHistory=History
+HopGui.Dialog.ExceptionPasteFromClipboard.Message=\u5F53\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u6570\u636E\u65F6,\u53D1\u751F\u4E86\u4E00\u4E2A\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF.
+HopGui.Menu.Popup.STEPS.NewHop=New Hop
+HopGuiWorkflowGraph.ContextualAction.FailureHop.Text=\u5931\u8D25\u901A\u9053
+PipelineGraph.PopupMenu.EditTransform=\u7F16\u8F91 Transform
+HopGui.Menu.Popup.BASE.LogWindow=\u6253\u5F00\u65E5\u5FD7\u89C6\u56FE
+HopGui.ExploreDB.SelectDB.Message=\u9009\u62E9\u8981\u6D4F\u89C8\u7684\u6570\u636E\u5E93...
+HopGui.Title.GraphicalView=\u56FE\u5F62\u89C6\u56FE
+WorkflowLog.Dialog.CanNotOpenWorkflow.Title=\u9519\u8BEF
 HopGui.Dialog.ActionCanNotBeChanged.Title=Sorry...
-HopGui.Menu.Popup.CLUSTERS.Monitor=Monitor all hop servers
-HopGui.Log.CheckTransforms=\u68C0\u67E5\u6B65\u9AA4
-PipelineLog.Dialog.SavePipelineBeforeRunning2.Title=\u6CA1\u6709\u6587\u4EF6\u540D\!
-HopGui.Menu.Popup.STEPS.SortTransforms=\u6392\u5E8F\u6B65\u9AA4
-HopGui.ErrorDialog.ErrorPasingActions.Message=I was unable to paste actions to this workflow
-HopGui.Menu.File.NewSlave=\u4ECE\u670D\u52A1\u5668
-HopGui.Dialog.SetVariables.Title=\u8BBE\u7F6E\u53D8\u91CF
+HopGui.Dialog.ErrorSavingConnection.Message=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5[{0}]\u5230\u8D44\u6E90\u5E93\u65F6\u53D1\u751F\u9519\u8BEF\uFF01
 HopGui.Dialog.SaveChangedFile.Message=\u6587\u4EF6\u5DF2\u7ECF\u6539\u53D8\u3002\u4F60\u60F3\u5148\u4FDD\u5B58\u5B83\u5417?
+HopGui.Menu.File.Export=&\u5BFC\u51FA\u5230XML\u6587\u4EF6
+HopGuiServer.Button.ShowErrorLines=&\u663E\u793A\u9519\u8BEF\u884C 
+HopGui.Log.MutuallyExcusive=\u591A\u4E8E\u4E00\u4E2A\u4E92\u76F8\u6392\u65A5\u7684\u9009\u9879. /\u6587\u4EF6, /Workflow \u548C/Pipeline \u4E92\u76F8\u6392\u65A5.
+PipelineLog.Column.TransformName=Transform \u540D\u79F0
+HopGui.Dialog.ExceptionCopyToClipboard.Message=\u5F53\u590D\u5236\u6570\u636E\u5230\u526A\u8D34\u677F\u65F6,\u53D1\u751F\u4E86\u4E00\u4E2A\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF.
+PipelineHistory.Column.BatchID=\u6279\u6B21ID
+HopGui.STRING_HISTORY=Transform \u521B\u5EFA\u5386\u53F2
+HopGui.Dialog.CopyOrDistribute.Copy=\u590D\u5236
+HopGui.TabJob.Tooltip=workflow\u7684\u56FE\u5F62\u89C6\u56FE [{0}]
+HopGui.Dialog.UnexpectedError.Message=\u4E00\u4E2A\u672A\u9884\u671F\u7684\u9519\u8BEF\u53D1\u751F\u5728\u65B0\u5EFA\u4E00\u4E2A\u8F6C\u6362\u7684\u65F6\u5019
+PipelineGraph.PopupMenu.NewHop=\u65B0\u5EFA\u8282\u70B9\u8FDE\u63A5
+PipelineGraph.Dialog.NrOfCopiesOfTransform.Message=\u590D\u5236\u7684\u6570\u91CF (1 \u6216\u66F4\u591A)
+HopGui.Menu.Popup.CONNECTIONS.Duplicate=\u590D\u5236
+WorkflowLog.Log.StartingWorkflow=\u542F\u52A8 Workflow
+HopGui.Dialog.ErrorDeletingConnection.Title=\u9519\u8BEF
+WorkflowLog.Dialog.WorkflowHasChangedSave.Message=\u8BF7\u5148\u4FDD\u5B58\u60A8\u7684 Workflow\uFF01
+HopGui.Menu.Edit.Search=\u641C\u7D22&\u5143\u6570\u636E
+HopGui.Menu.Popup.STEPS.Delete=\u5220\u9664
+HopGui.Tooltip.ReplayTranformation=\u91CD\u653E\u8FD9\u4E2A Pipeline
 HopGui.Tooltip.AnalyzeTranformation=\u5206\u6790\u8FD9\u4E2A\u8F6C\u6362\u5728\u6570\u636E\u5E93\u7684\u5F71\u54CD
-PipelineLog.Button.StartPipeline=\ &\u5F00\u59CB\u8F6C\u6362 
-HopGui.Dialog.SetVariables.Message=Please enter the values of the variables or create new ones
-HopGui.Menu.Help.Credits=&\u81F4\u8C22
-HopGui.Title.LogJobHistoryView=\u65E5\u5FD7\u5386\u53F2 (J)\: {0}
-HopGui.Menu.Popup.CONNECTIONS.CopyToClipboard=\u590D\u5236\u5230\u526A\u8D34\u677F
-HopGui.Dialog.ErrorHelpText.Title=\u9519\u8BEF\u5E2E\u52A9\u6587\u672C
-HopGui.Menu.Popup.BASE.HistoryWindow=\u6253\u5F00\u5386\u53F2\u89C6\u56FE
-HopGui.STRING_PARTITIONS=\u6570\u636E\u5E93\u5206\u533Aschemas
-TransformPerformanceSnapShotDialog.Rejected=\u62D2\u7EDD
-HopGui.Dialog.UnableLoadPipeline.Title=\u9519\u8BEF\uFF01
-HopGui.Exception.ErrorReadingXULFile.Message=\u8BFB\u53D6 XUL \u6587\u4EF6(\u83DC\u5355,\u6807\u7B7E,\u7B49)\u65F6\u53D1\u751F\u9519\u8BEF,\u6587\u4EF6\u540D\u79F0{0}.
-HopGui.Dialog.FatalError=\u81F4\u547D\u9519\u8BEF\:
-HopGui.Menubar.File.NewPipeline=\u8F6C\u6362
+HopGuiWorkflowGraph.ContextualAction.CreateHop.Tooltip=\u8FDE\u63A5\u4E24\u4E2A Action
+HopGui.Dialog.PromptOverwritePipeline.Title=\u8986\u76D6?
+HopGui.Menu.Help=&\u5E2E\u52A9
+HopGui.Menu.Workflow=\u4F5C\u4E1A(&J)
+HopGui.Menu.File.ExportAll=\u5BFC\u51FA\u5230XML\u6587\u4EF6(ZIP\u538B\u7F29)...
+PipelineHistory.Button.Clear=\u6E05\u7A7A\u5386\u53F2
 PipelineLog.Column.Updated=\u66F4\u65B0
-PipelineGraph.Dialog.HopCausesLoop.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u4F1A\u5728\u8F6C\u6362\u91CC\u5BFC\u81F4\u5FAA\u73AF\u3002\u5FAA\u73AF\u88AB\u7981\u6B62\!
-HopGui.STRING_JOB_ENTRIES=\u4F5C\u4E1A\u9879\u76EE
-HopGui.Dialog.ErrorDeletingSlave.Message=\u5220\u9664\u4ECE\u670D\u52A1\u5668\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-HopGui.Tooltip.Print=\u6253\u5370
-HopGuiServer.ErrorStoppingJob.Message=\u5728\u670D\u52A1\u5668\u4E0A\u505C\u6B62\u4F5C\u4E1A\u65F6\u53D1\u751F\u9519\u8BEF
-HopGui.ErrorDialog.ErrorPasingActions.Title=Error pasting actions...
-HopGui.Exception.ErrorReadingSharedObjects.Message=\u8BFB\u53D6\u5171\u4EAB\u5BF9\u8C61\u65F6\u53D1\u751F\u4E00\u4E2A\u4E25\u91CD\u9519\u8BEF
-HopGui.RipDB.Monitor.PipelineName2=] \u5230 [
-HopGui.RipDB.Monitor.PipelineName1=\u590D\u5236\u5230 [
-HopGui.Message.Warning.No=\u5426
+WorkflowGraph.DeprecatedEntry.Tooltip.Message1={0} \u4E0D\u4E45\u5C06\u88AB\u79FB\u9664
+WorkflowGraph.DeprecatedEntry.Tooltip.Message2=\u672C\u6B21\u53EF\u80FD\u6CA1\u6709\u6B63\u5E38\u6267\u884C\u5B8C\u6210
+WorkflowGraph.DeprecatedEntry.Tooltip.Message3=\u6211\u4EEC\u5EFA\u8BAE\n\u6539\u7528 {0} \u4EE5\u786E\u4FDD\u5176\u5411\u524D\u517C\u5BB9\u6027.
+WorkflowLog.Dialog.WorkflowIsAlreadyRunning.Title=\u8B66\u544A\uFF01
+HopGui.STRING_BASE=\u57FA\u672C Transform \u7C7B\u578B
+HopGui.Dialog.UnableLoadPipeline.Title=\u9519\u8BEF\uFF01
 HopGui.Dialog.ErrorReadingSharedObjects.Title=\u9519\u8BEF
+HopGui.Menu.Popup.CLUSTERS.New=New clustering schema
+HopGui.Menu.PluginMgr=Plugin manager
+PipelineGraph.Dialog.InvalidZoomMeasurement.Title=\u65E0\u6548\u7684\u7F29\u653E\u6BD4\u4F8B
+HopGui.Dialog.NotAllowedChangeUser.Message=\u62B1\u6B49, \u4F60\u6CA1\u6709\u6743\u9650\u66F4\u65B0\u8FD9\u4E2A\u7528\u6237.
+HopGui.Log.PastePipelineFromClipboard=\u4ECE\u526A\u8D34\u677F\u590D\u5236\u8F6C\u6362\uFF01
+PipelineGraph.PopupMenu.ShowOutputFields=\u663E\u793A\u8F93\u51FA\u5B57\u6BB5
+PipelineGraph.ExecutionResultsPanel.MaxButton.Tooltip=\u6700\u5927\u5316\u6267\u884C\u7ED3\u679C\u9762\u677F
+PipelineGraph.ExecutionResultsPanel.CloseButton.Tooltip=\u5173\u95ED\u6267\u884C\u7ED3\u679C\u9762\u677F
+HopGui.Dialog.CopyOrDistribute.Message=Transform "{0}" has "{1}" destination transforms to which it sends rows of data.\n\nThere are 2 ways of sending rows to destination transforms\:\n\n   - \u5206\u53D1\u8BB0\u5F55\: \u76EE\u6807 Transform \u8F6E\u6D41\u63A5\u6536\u8BB0\u5F55\n   - \u590D\u5236\u8BB0\u5F55\: \u6240\u6709\u7684\u8BB0\u5F55\u88AB\u540C\u65F6\u53D1\u9001\u5230\u6240\u6709\u7684\u76EE\u6807 Transform.\n\nWhich method would you like to use? (\u9ED8\u8BA4\u662F "\u590D\u5236 [...]
+HopGuiServer.Column.Time=\u65F6\u95F4
+PipelineGraph.Transform.Tooltip.NextPartitioning=\u76EE\u6807 Transform \u5206\u533A\:
+PipelineLog.Dialog.SavePipelineBeforeRunning2.Title=\u6CA1\u6709\u6587\u4EF6\u540D\uFF01
+HopGui.Menu.Workflow.CopyToClipboard=\u590D\u5236job\u5230\u526A\u8D34\u677F(&C)
+HopGui.Log.FileWritten=\u6587\u4EF6\u88AB\u5199\u5165
+HopGui.Menu.Edit.Cut=\u526A\u5207
+HopGui.Tooltip.ShowExecutionResults=\u663E\u793A\u6267\u884C\u7ED3\u679C\u9762\u677F
+PipelineGraph.PopupMenu.DistributeData=\u8F6E\u6D41\u53D1\u9001\u6A21\u5F0F
+PipelineLog.Button.ResumePipeline=\u6062\u590D(&R)
+HopGui.RipDB.ActionSQL.Name=\u521B\u5EFA\u8868 [
+PipelineGraph.PopupMenu.DuplicateTransform=\u590D\u5236 Transform
+HopGui.STRING_PIPELINE_NO_NAME=<unnamed pipeline>
+HopGui.Log.NewSelected=\u65B0\u7684\u9009\u62E9
+HopGui.Menu.ExploreConnection=\u6D4F\u89C8\u6570\u636E\u5E93
+HopGui.Dialog.ChangeTransformname.Message=Transform \u540D\u79F0\u5DF2\u7ECF\u5B58\u5728.  HopGui\u628A Transform \u540D\u79F0\u6539\u6210 [{0}]
+HopGui.Title.LogPipelineView=\u65E5\u5FD7 (T)\: {0}
+TransformPerformanceSnapShotDialog.Input=\u8F93\u5165
 PipelineHistory.Column.Status=\u72B6\u6001
-HopGui.Dialog.NotAllowedChangeUser.Message=\u5BF9\u4E0D\u8D77, \u4F60\u6CA1\u6709\u6743\u9650\u66F4\u65B0\u8FD9\u4E2A\u7528\u6237.
-HopGui.Message.Warning.OK=OK
+HopGui.Title.ExecLogPipelineView.Tooltip=Execution log for pipeline\: {0}
+HopGuiWorkflowGraph.ErrorDialog.FileNotLoaded.Header=\u9519\u8BEF
+HopGui.Dialog.UnableSave.Title=\u9519\u8BEF
+PipelineLog.Column.Output=\u8F93\u51FA
+HopGui.STRING_JOB=\u4F5C\u4E1A
+HopGui.Menu.File.NewPipeline=Pipeline
+HopGuiBrowser.Dialog.Forward=\u5411\u524D
+WorkflowGraph.Toolbar.Stop.Tooltip=\u505C\u6B62\u8BE5 Workflow \u7684\u6267\u884C
+HopGuiWorkflowGraph.ContextualAction.EditNote.Tooltip=\u7F16\u8F91\u4FBF\u7B7E
+PipelineGraph.PopupMenu.Settings=Pipeline \u8BBE\u7F6E\tCTRL-T
+HopGuiWorkflowGraph.ContextualAction.DeleteNote.Text=\u5220\u9664
+HopGui.STRING_CLUSTERS=Hop\u96C6\u7FA4schemas
+HopGui.Dialog.Title.TransformnameExists=
 HopGui.Menu.CmdLine.Save=Save command line
-HopGuiServer.Column.Output=\u8F93\u51FA
-HopGui.Transforms=\u6B65\u9AA4
-PipelineLog.Dialog.WhatIsTheExecutionDate2.Message=\u662F\u4F60\u60F3\u91CD\u653E\u7684?
-HopGui.STRING_JOBENTRY_BASE=\u6838\u5FC3\u4F5C\u4E1A\u9879\u76EE
-HopGui.Dialog.ChangeTransformname.Title=Info\!
-HopGui.Log.DELETE.TryToDelete=(DELETE) \u8BD5\u56FE\u5220\u9664
-HopGui.Menu.Popup.SLAVE_SERVER.New=New hop server
-HopGui.Menu.Pipeline.CopyPipelineImageClipboard=\u590D\u5236\u8F6C\u6362\u56FE\u7247\u5230\u526A\u8D34\u677F
-HopGui.Menu.Help=&\u5E2E\u52A9
-HopGui.Menu.File.NewPipeline=\u8F6C\u6362
-PipelineGraph.Dialog.MultipleCopiesAreNotAllowedHere.Message=Sorry, multiple copies of a transform are not allowed here.\nWe suggest that you insert a Dummy transform here.\nThe next transform(s) can then be launched in multiple copies as usual.
-HopGui.Dialog.ErrorPastingPipeline.Message=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u4E00\u4E2A\u8F6C\u6362\u65F6\u5019
-HopGui.Dialog.FileExistsOverWrite.Title=This file already exists\!
-PipelineGraph.HelpToolTip.CreatingHops.Title=\u5982\u4F55\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u8FDE\u63A5?
-HopGui.Dialog.ErrorSavingConnection.Message=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5[{0}]\u5230\u8D44\u6E90\u5E93\u65F6\u53D1\u751F\u9519\u8BEF\!
-HopGui.Menu.Popup.PARTITIONS.Share=Share
-HopGui.Dialog.ChangeTransformname.Message=\u6B65\u9AA4\u540D\u79F0\u5DF2\u7ECF\u5B58\u5728.  HopGui\u628A\u6B65\u9AA4\u540D\u79F0\u6539\u6210 [{0}]
-HopGui.Menu.BrowseVersions=Browse version history
-HopGui.Menu.Popup.BASE.LogWindow=\u6253\u5F00\u65E5\u5FD7\u89C6\u56FE
-PipelineLog.Dialog.FileHasChanged.Title=\u6587\u4EF6\u5DF2\u7ECF\u6539\u53D8\!
+PipelineGraph.Dialog.ErrorClearningLoggingTable.Title=\u9519\u8BEF\u6E05\u9664\u65E5\u5FD7\u8868
+HopGui.Log.ErrorOccurred=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\: 
+HopGui.Exception.ErrorReadingSharedObjects.Title=\u9519\u8BEF
+HopGui.Log.EditAction=\u7F16\u8F91\u4F5C\u4E1A\u56FE\u7684\u9879\u76EE\: {0}
+PipelineGraph.Dialog.TransformDescription.Message=Transform \u63CF\u8FF0\:
+HopGui.Message.Warning.PromptExitWhenRunPipeline=\u8FD9\u6709\u4E2A\u6B63\u5728\u8FD0\u884C\u7684\u8F6C\u6362\u3002\u4F60\u786E\u8BA4\u8981\u9000\u51FA\u5417?
+HopGuiWorkflowGraph.ContextualAction.EnableHop.Tooltip=\u542F\u7528\u8BE5\u901A\u9053
+PipelineLog.Dialog.ErrorWritingLogRecord.Title=\u9519\u8BEF\u5730\u5199\u65E5\u5FD7\u8BB0\u5F55
+WorkflowGraph.Dialog.HopInfo.SourceEntry=\u4ECE Action\:
+PipelineLog.Column.Speed=\u901F\u5EA6 (\u6761\u8BB0\u5F55/\u79D2)
+HopGui.Menu.Pipeline.Settings=&\u8BBE\u7F6E...
+JobHistory.Button.Clear=\u6E05\u9664
 PipelineGraph.PopupMenu.CopyData=\u590D\u5236\u53D1\u9001\u6A21\u5F0F
-PipelineGraph.Dialog.NrOfCopiesOfTransform.Title=\u6B65\u9AA4\u590D\u5236\u7684\u6570\u91CF...
-HopGui.Dialog.OnlyUseStartOnce.Message=\u5728\u4E00\u4E2A\u4F5C\u4E1A\u4E2D\u53EA\u80FD\u4F7F\u7528\u4E00\u6B21\u5F00\u59CB\u56FE\u6807
-HopGui.Menu.Redo.NotAvailable=\u91CD\u505A \: \u4E0D\u53EF\u83B7\u5F97
-PipelineHistory.Column.EndDate=\u7ED3\u675F\u65E5\u671F
-PipelineHistory.Column.StartDate=\u5F00\u59CB\u65E5\u671F
-HopGui.Dialog.PromptOverwritePipeline.Message=\u8D44\u6E90\u5E93\u91CC\u5DF2\u7ECF\u6709\u4E00\u4E2A\u8F6C\u6362\u53EB [{0}] .{1} \u4F60\u60F3\u8986\u76D6\u8FD9\u4E2A\u8F6C\u6362\u5417?
-HopGui.Dialog.Exception.ReadOnlyUser=\u7528\u6237\u662F\u53EA\u8BFB\u7684\!
-HopGui.Dialog.OpenFileVFS.Title=\u6253\u5F00\u4E00\u4E2A\u6587\u4EF6  
-HopGui.Menu.Popup.CONNECTIONS.New=\u65B0\u5EFA
-PipelineGraph.Dialog.Option.SplitHop.DoNotAskAgain=\u4E0D\u8981\u518D\u63D0\u95EE
+PipelineLog.Dialog.UnexpectedErrorDuringPreview.Message=\u5728\u9884\u89C8\u65F6\u5019\u53D1\u751F\u672A\u9884\u671F\u7684\u9519\u8BEF
+HopGui.Menu.Undo.Available=\u64A4\u9500\: {0}
+PipelineLog.Button.Preview=\ &\u9884\u89C8 
+HopGui.Menu.File.New=&\u65B0\u5EFA
+HopGui.Log.FoundTransforms=\u53D1\u73B0{0} transforms to paste on location\: 
+HopGui.Menubar.File.NewDatabaseConn=\u6570\u636E\u5E93\u8FDE\u63A5
+HopGui.Dialog.ErrorSavingFile.Message=\u4FDD\u5B58\u6587\u4EF6\u5931\u8D25\:
+HopGui.Dialog.ErrorShowingHelpText.Title=\u9519\u8BEF\u663E\u793A\u5E2E\u52A9\u6587\u672C
+PipelineLog.Column.Input=\u8F93\u5165
+HopGui.STRING_PIPELINES=Pipeline
+PipelineHistory.Error.InvalidReplayDate=\u65E0\u6548\u7684\u91CD\u653E\u65E5\u671F\: 
+HopGui.Dialog.SetVariables.Title=\u8BBE\u7F6E\u53D8\u91CF
+HopGui.Dialog.ErrorSavingDatabaseCache.Title=DB \u7F13\u5B58\u9519\u8BEF
+PipelineGraph.NewWorkflowBackgroundMessage=\u5355\u51FB\u8BBE\u8BA1\u5668\u4EFB\u4F55\u533A\u57DF\u6253\u5F00\u7EC4\u4EF6\u9009\u62E9\u9762\u677F
+WorkflowGraph.DeprecatedEntry.Tooltip.Title=\u5DF2\u5F03\u7528
+HopGui.RipDB.ActionPipeline.Description3=\u5230\: [
+HopGui.RipDB.ActionPipeline.Description1=\u8FD9\u4E2A\u4F5C\u4E1A\u9879\u6267\u884C\u590D\u5236\u6570\u636E\u7684 Pipeline
+HopGui.Dialog.NewFile.Message=\u9009\u62E9\u9700\u8981\u521B\u5EFA\u7684\u6587\u4EF6\u7C7B\u578B
+HopGui.RipDB.ActionPipeline.Description2=\u4ECE\: [
+HopGui.Menu.Popup.CONNECTIONS.Delete=\u5220\u9664
+HopGuiWorkflowGraph.ContextualAction.EnableHop.Text=\u542F\u7528\u901A\u9053
+PipelineLog.Button.StartPipeline=\ &\u5F00\u59CB Pipeline 
+PipelineLog.Log.DoPreview=\u9884\u89C8\uFF01\uFF01\uFF01
+WorkflowGraph.Toolbar.DistributeVertical.Tooltip=\u5782\u76F4\u65B9\u5411\u7B49\u95F4\u8DDD\u6240\u9009 Action
+HopGuiWorkflowGraph.ContextualAction.CreateHop.Text=\u8FDE\u63A5
+WorkflowGraph.Toolbar.AlignRight.Tooltip=\u8BE5 Action \u4E0E\u9009\u4E2D Action \u53F3\u4FA7\u5BF9\u9F50
+HopGui.Menu.File.NewSlave=\u4ECE\u670D\u52A1\u5668
+HopGui.RipDB.Monitor.ToTransform.Name=\u5199\u5230 [
+PipelineLog.Dialog.GivePipelineANameBeforeRunning.Message=\u8BF7\u7ED9\u4F60\u7684\u8F6C\u6362\u4E00\u4E2A\u540D\u79F0\u4EE5\u4FBF\u533A\u5206\uFF01
+WorkflowLog.Dialog.SaveChangedFile.Title=\u6587\u4EF6\u88AB\u4FEE\u6539\uFF01
+HopGui.Title.ExecHistoryJobView.Tooltip=Execution history for workflow\: {0}
+HopGui.Menu.File=\u6587\u4EF6(&F)
+PipelineLog.Button.StopPipeline=\ &\u505C\u6B62 Pipeline 
+HopGuiWorkflowGraph.ContextualAction.PasteFromClipboard.Tooltip=\u4ECE\u526A\u8D34\u677F\u7C98\u8D34 Action\u3001\u4FBF\u7B7E \u6216\u6574\u4E2A Workflow
+HopGui.PipelineGraph.HistoryTab.Name=\u6267\u884C\u5386\u53F2
+HopGui.Log.DUPE.ElementHasParent=(DUPE) \u5143\u7D20\u6709\u7236\u5143\u7D20.
+HopGui.Log.ErrorLoadingAndHaltSystem=\u9519\u8BEF\u52A0\u8F7D Transform \u548C\u8865\u4E01... \u505C\u6B62HopGui\uFF01
+PipelineGraph.Dialog.HopCausesLoop.Title=\u8B66\u544A\uFF01
+PipelineGraph.PopupMenu.EditTransformDescription=\u7F16\u8F91 Transform \u63CF\u8FF0
+PipelineGraph.Dialog.InvalidZoomMeasurement.Message=\u7F29\u653E\u6BD4\u4F8B ( {0} ) \u65E0\u6548.
+HopGui.Menu.View.ZoomIn=\u653E\u5927(&I)
+PipelineGraph.PopupMenu.Partitioning=\u5206\u533A...
+WorkflowGraph.Dialog.HopInfo.TargetEntry=\u5230 Action\:
+HopGui.Hop.MainInputOfTransform=\u4E3B\u8F93\u5165 Transform
+PipelineLog.Log.ProcessingOfPipelineStopped=Pipeline \u5904\u7406\u5DF2\u7ECF\u505C\u6B62.
+HopGui.Menu.Pipeline.ShowLastVerifyResults=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u5F71\u54CD\u7ED3\u679C
+HopGui.Dialog.NewFile.Title=\u65B0\u5EFA\u6587\u4EF6
+WorkflowGraph.Dialog.EditDescription.Title=\u63CF\u8FF0
+PipelineLog.Dialog.PerformanceMonitoringNotEnabled.Message=\u6CA1\u6709\u4E3A\u8FD9\u4E2A\u8F6C\u6362\u6536\u96C6\u5230\u6027\u80FD\u6570\u636E.\r\n\u53EF\u4EE5\u5728\u5F00\u59CB\u8F6C\u6362\u540E\u91CD\u8BD5.\r\n\u8BF7\u8BB0\u4F4F\u8981\u5728\u8F6C\u6362\u914D\u7F6E\u5BF9\u8BDD\u6846\u91CC\u914D\u7F6E\u6027\u80FD\u76D1\u63A7.
+PipelineLog.Log.CouldNotLinkInputToOutputPipe=\u65E0\u6CD5\u521B\u5EFA input-pipe \u4E0E output-pipe\u4E4B\u95F4\u7684\u8FDE\u63A5\uFF01
+HopGui.Dialog.ErrorDeletingClusterSchema.Title=\u9519\u8BEF
+PipelineLog.Dialog.SavePipelineBeforeRunning.Title=\u6587\u4EF6\u5DF2\u7ECF\u6539\u53D8\uFF01
+HopGuiWorkflowGraph.OpenReferencedObject.Selection.Message=\u9009\u62E9\u8981\u6253\u5F00\u7684\u5F15\u7528\u6587\u4EF6\:
+HopGui.Log.NewTransform=\u65B0\u5EFA Transform\:
+HopGui.Dialog.ImpactAnalyses.Title=\u5F71\u54CD\u5206\u6790
+PipelineGraph.PopupMenu.AllignDistribute=\u5BF9\u9F50 / \u5206\u6563
+HopGui.Menu.ShowLog=Log
+HopGui.Dialog.ErrorDeletingSlave.Message=\u5220\u9664\u4ECE\u670D\u52A1\u5668\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+HopGui.Various.DupeName=(copy of) 
 HopGui.Menu.Edit.Variables=\u8BBE\u7F6E\u73AF\u5883&\u53D8\u91CF
-HopGui.Menu.ShowPipelineLog=Log 
-PipelineGraph.PopupMenu.EditTransform=\u7F16\u8F91\u6B65\u9AA4
-HopGui.Menu.Workflow.CopyToClipboard=&\u590D\u5236job\u5230\u526A\u8D34\u677F
-HopGui.Menu.Popup.BASE_PLUGIN.New=New
-PipelineLog.System.No=\u5426
-JobHistory.Button.Replay=\u91CD\u653E
-HopGui.Log.LoadProperties=\u4E3AHopGui\u52A0\u8F7D\u5C5E\u6027...
-PipelineGraph.Dialog.CouldntFindFields.Message=\u65E0\u6CD5\u627E\u5230\u4EFB\u4F55\u5B57\u6BB5\!
-HopGui.Tooltip.ShowExecutionResults=\u663E\u793A\u6267\u884C\u7ED3\u679C\u9762\u677F
-HopGui.Menu.Popup.CLUSTERS.New=New clustering schema
-PipelineHistory.Column.Input=\u8F93\u5165
-HopGui.Dialog.UnablePasteTransforms.Message=\u65E0\u6CD5\u7C98\u8D34\u6B65\u9AA4\u5230\u8FD9\u4E2A\u8F6C\u6362
-HopGui.Dialog.PromptToSave.Message=\u6587\u4EF6\u5DF2\u53D1\u751F\u6539\u53D8\u3002 \u662F\u5426\u8FDB\u884C\u4FDD\u5B58?
-PipelineGraph.PopupMenu.DeleteNote=\u5220\u9664\u6CE8\u91CA
-HopGui.Dialog.UnableCreateNewTransform.Message=\u65E0\u6CD5\u521B\u5EFA\u4E00\u4E2A\u65B0\u6B65\u9AA4
-HopGui.Tooltip.VerifyPipeline=\u6821\u9A8C\u8FD9\u4E2A\u8F6C\u6362
-PipelineGraph.PopupMenu.EditHop=\u7F16\u8F91\u8FDE\u63A5
-PipelineLog.Column.Time=\u65F6\u95F4
-HopGui.Menu.File.Export=&\u5BFC\u51FA\u5230XML\u6587\u4EF6
-PipelineLog.Dialog.GivePipelineANameBeforeRunning.Title=\u8F6C\u6362\u8FD8\u6CA1\u6709\u540D\u79F0\!
-HopGui.Menu.Redo.Available=\u91CD\u505A \: {0}
-PipelineGraph.Dialog.ErrorDroppingObject.Title=\u9519\u8BEF\u62D6\u653E\u5BF9\u8C61
-HopGui.Dialog.ExceptionPasteFromClipboard.Title=\u9519\u8BEF
-HopGui.Log.TryingOpenLastUsedFile=\u8BD5\u56FE\u6253\u5F00\u6700\u8FD1\u4F7F\u7528\u7684\u6587\u4EF6.
-HopGuiBrowser.Dialog.Forward=\u5411\u524D
-HopGui.Menu.Workflow.Settings=&\u8BBE\u7F6E...
-PipelineLog.Dialog.DoNoStartPipelineTwice.Title=\u8B66\u544A\!
-HopGui.Dialog.ErrorCreatingTransform.Title=\u9519\u8BEF
-PipelineLog.Dialog.DoNoStartPipelineTwice.Message=\u8F6C\u6362\u6B63\u5728\u8FD0\u884C\uFF0C\u4E0D\u8981\u542F\u52A8\u4E24\u6B21\!
-PipelineGraph.PopupMenu.NewTransform=\u65B0\u5EFA&\u6B65\u9AA4 ...
-PipelineGraph.PopupMenu.DisableHop=\u4F7F\u8282\u70B9\u8FDE\u63A5\u5931\u6548
-PipelineGraph.PopupMenu.DuplicateTransform=\u590D\u5236\u6B65\u9AA4
-PipelineLog.Dialog.DoNoPreviewWhileRunning.Message=\u5BF9\u4E0D\u8D77,\u8F6C\u6362\u5728\u8FD0\u884C\u65F6\u4E0D\u80FD\u9884\u89C8\u6B65\u9AA4.
-HopGui.Dialog.ErrorPastingJob.Title=\u9519\u8BEF\u7C98\u8D34\u4F5C\u4E1A
-HopGui.TabJob.Tooltip=workflow\u7684\u56FE\u5F62\u89C6\u56FE [{0}]
-HopGui.Menu.Undo.NotAvailable=\u64A4\u9500 \: \u4E0D\u53EF\u83B7\u5F97
-HopGui.Log.AppHasEnded=\ \u5DF2\u7ECF\u7ED3\u675F.
-HopGui.Dialog.ShowVariables.Message=Here is the list of defined variables\:
+HopGui.Exception.ErrorCreatingNewJob.Message=\u4E0D\u80FD\u521B\u5EFA\u4E00\u4E2A\u65B0\u4F5C\u4E1A,\u56E0\u4E3A\u4E0D\u80FD\u4ECE\u8D44\u6E90\u5E93\u4E2D\u8BFB\u53D6\u6570\u636E\u5E93.
+HopGuiServer.ErrorStoppingJob.Title=\u9519\u8BEF
+HopGui.Menu.Pipeline.Last.Popup=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u7684\u64CD\u4F5C
+HopGuiServer.ErrorStartingPipeline.Message=There was an error while starting this pipeline on the server
+HopGuiWorkflowGraph.ContextualAction.DeleteAction.Text=\u5220\u9664
+HopGui.STRING_PARTITIONS=\u6570\u636E\u5E93\u5206\u533Aschemas
+HopGui.Menu.Redo.NotAvailable=\u91CD\u505A\: \u4E0D\u53EF\u83B7\u5F97
+TransformPerformanceSnapShotDialog.Rejected=\u62D2\u7EDD
+HopGui.ErrorDialog.ErrorPasingActions.Message=I was unable to paste actions to this workflow
+WorkflowLog.Button.ShowErrorLines=\u663E\u793A\u9519\u8BEF\u884C
+HopGuiWorkflowGraph.ContextualAction.Category.Bulk.Text=\u6279\u91CF\u52A0\u8F7D
+PipelineLog.Dialog.SavePipelineBeforeRunning.Message=\u8BF7\u5148\u4FDD\u5B58\u4F60\u7684\u8F6C\u6362\uFF01
+PipelineHistory.PleaseRefresh.Message=\u8BF7\u70B9\u51FB\u5237\u65B0\u6309\u94AE\u6765\u66F4\u65B0\u5386\u53F2
+WorkflowGraph.Dialog.HopExists.Message=\u5DF2\u6709\u8FDE\u63A5\u7EBF
+PipelineGraph.PopupMenu.PasteTransformFromClipboard=\u4ECE\u526A\u8D34\u677F\u7C98\u8D34 Transform(&V)
 PipelineGraph.Dialog.LoopAfterHopEnabled.Message=\u65E0\u6CD5\u4F7F\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u751F\u6548\uFF0C\u56E0\u4E3A\u8FD9\u5C06\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF.
-HopGui.StringSearchResult.Title=\u641C\u7D22\u7ED3\u679C
 HopGui.Menu.About=&\u5173\u4E8E
-PipelineLog.Log.PipelineHasFinished=\u8F6C\u6362\u5B8C\u6210\!\!
-HopGui.Log.LoggingToFile=Logging goes to 
-HopGui.Log.FoundHops=\u53D1\u73B0{0} hops to paste.
-HopGui.TabPipeline.Tooltip=\u8F6C\u6362\u7684\u56FE\u5F62\u89C6\u56FE [{0}]
-HopGui.STRING_ELEMENTS=\u5143\u7D20
-HopGui.Menubar.File.NewWorkflow=\u4F5C\u4E1A
-HopGui.ErrorDialog.UnexpectedErrorCreatingNewJobGraphEntry.Message=\u9519\u8BEF\u521B\u5EFA\u65B0\u4F5C\u4E1A\u9879\u590D\u5236
-HopGui.Title.LogHistory=\u65E5\u5FD7\u5386\u53F2
-HopGui.Dialog.Warning.NoPreviewOrDebugTransforms.Title=\u8B66\u544A\!
-PipelineHistory.Error.ReplayDateCannotBeNull=\u91CD\u653E\u65E5\u671F\u4E0D\u80FD\u4E3A\u7A7A.
-HopGui.Menu.Popup.SLAVE_SERVER.Share=\u5171\u4EAB
-HopGui.Dialog.PromptOverwriteFile.Title=\u8FD9\u4E2A\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728\!
-PipelineLog.Dialog.PerformanceMonitoringNotEnabled.Message=\u6CA1\u6709\u4E3A\u8FD9\u4E2A\u8F6C\u6362\u6536\u96C6\u5230\u6027\u80FD\u6570\u636E.\r\n\u53EF\u4EE5\u5728\u5F00\u59CB\u8F6C\u6362\u540E\u91CD\u8BD5.\r\n\u8BF7\u8BB0\u4F4F\u8981\u5728\u8F6C\u6362\u914D\u7F6E\u5BF9\u8BDD\u6846\u91CC\u914D\u7F6E\u6027\u80FD\u76D1\u63A7.
-HopGui.Dialog.ErrorOpening.Title=\u9519\u8BEF
-HopGui.Dialog.CannotFindConnection.Title=\u9519\u8BEF
-HopGui.Dialog.ErrorSavingConnection.Title=\u4E0D\u80FD\u4FDD\u5B58...
-HopGui.Exception.ErrorReadingSharedObjects.Title=\u9519\u8BEF
-HopGui.Log.LoggingAtLevel=\u65E5\u5FD7\u7EA7\u522B \: 
-PipelineHistory.Column.Updated=\u66F4\u65B0
-HopGui.Log.UnexpectedErrorOccurred=\u4E00\u4E2A\u672A\u9884\u671F\u7684\u9519\u8BEF\u53D1\u751F\u5728HopGui\: probable cause\:\u5728\u505C\u6B62HopGui\u524D\uFF0C\u8BF7\u5148\u5173\u95ED\u5176\u5B83spoon\u7A97\u53E3\! 
-HopGuiServer.ErrorStoppingPipeline.Message=There was an error while stopping this pipeline on the server
-PipelineGraph.PopupMenu.Partitioning=\u5206\u533A...
-HopGui.Menu.ShowGrid=Grid
-PipelineLog.Dialog.ErrorOpeningPipeline.Message=\u8F6C\u6362\u6253\u5F00\u5931\u8D25\: 
-HopGui.Menu.Popup.JOBENTRIES.Delete=Delete all copies
-HopGui.Exception.ErrorCreatingNewJob.Message=\u4E0D\u80FD\u521B\u5EFA\u4E00\u4E2A\u65B0\u4F5C\u4E1A,\u56E0\u4E3A\u4E0D\u80FD\u4ECE\u8D44\u6E90\u5E93\u4E2D\u8BFB\u53D6\u6570\u636E\u5E93.
-HopGui.Tooltip.ReplayTranformation=\u91CD\u653E\u8FD9\u4E2A\u8F6C\u6362
-HopGui.Menu.File.NewDB=\u6570\u636E\u5E93\u8FDE\u63A5
-HopGui.Log.DELETE.ElementHasParent=(DELETE) \u5143\u7D20\u6709\u7236\u5143\u7D20\:
-PipelineGraph.Dialog.NrOfCopiesOfTransform.Message=\u590D\u5236\u7684\u6570\u91CF (1 \u6216\u66F4\u591A)
-HopGui.RipDB.Monitor.FromTransform.Description=\u8BFB\u4FE1\u606F\u4ECE\u8868 [
-PipelineLog.Dialog.ErrorLines.Message=\u9009\u62E9\u8981\u7F16\u8F91\u7684\u6B65\u9AA4\:
-PipelineLog.Dialog.ErrorOpeningPipeline.Title=\u9519\u8BEF\u6253\u5F00\u8F6C\u6362
-HopGui.Menu.Edit.EditHopProperties=\u7F16\u8F91hop.properties\u6587\u4EF6
-HopGui.Tooltip.RunPipelineation=\u8FD0\u884C\u8FD9\u4E2A\u8F6C\u6362
-HopGuiServer.Button.Start=\u5F00&\u59CB
-TransformPerformanceSnapShotDialog.Read=\u8BFB
-HopGui.ErrorDialog.ErrorEditingAction.Message=Error editing action
-HopGuiServer.ErrorStoppingPipeline.Title=\u9519\u8BEF
-TransformPerformanceSnapShotDialog.TimeInSeconds.Label=\u603B\u5171\u8FD0\u884C\u65F6\u95F4\u662F{0}\u79D2,\u6BCF{1}\u6BEB\u79D2\u62CD\u4E00\u6B21\u5FEB\u7167
-HopGui.Dialog.ActionCanNotBeChanged.Message=This action can''t be changed\!
-HopGui.Dialog.ErrorDeletingConnection.Title=\u9519\u8BEF
-HopGuiBrowser.Dialog.Back=\u5411\u540E
-HopGui.Menu.File.Quit=&\u9000\u51FA
-PipelineLog.Button.ShowGraph=\u56FE
-HopGui.Menu.Wizard.CreateDatabaseConnectionWizard=&\u521B\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u5411\u5BFC...
-HopGui.Log.DuplicateTransform=\u590D\u5236\u6B65\u9AA4\:
-PipelineLog.Log.LaunchingPipeline=\u6B63\u5728\u6253\u5F00\u8F6C\u6362 [
-PipelineGraph.PopupMenu.AllignBottom=\u5E95\u90E8\u5BF9\u9F50
-HopGui.Menu.Tools.Data.Clear.Cache=\u6E05\u9664\u7F13\u5B58
-HopGui.Menu.Popup.STEPS.Duplicate=Duplicate
-HopGui.Tooltip.SaveCurrentTranformation=\u4FDD\u5B58\u5F53\u524D\u8F6C\u6362
-PipelineGraph.PopupMenu.DeleteTransform=\u5220\u9664\u6B65\u9AA4
-HopGuiServer.ErrorStartingJob.Message=\u5728\u670D\u52A1\u5668\u4E0A\u542F\u52A8\u4F5C\u4E1A\u65F6\u53D1\u751F\u9519\u8BEF
-PipelineLog.Dialog.UnexpectedErrorDuringPreview.Title=\u5728\u9884\u89C8\u65F6\u5019\u53D1\u751F\u672A\u9884\u671F\u7684\u9519\u8BEF
-PipelineLog.System.ERROR=\u9519\u8BEF
-PipelineGraph.Dialog.ErrorDuplicatingTransform.Title=\u9519\u8BEF\u590D\u5236\u6B65\u9AA4
-PipelineGraph.PopupMenu.SelectAll=\u5168\u9009
-PipelineGraph.Dialog.ItemCanNotBePlacedOnCanvas.Message=\u8FD9\u4E2A\u5BF9\u8C61\u65E0\u6CD5\u653E\u7F6E\u5728\u753B\u5E03\u4E0A.
-HopGui.Menubar.File.NewDatabaseConn=\u6570\u636E\u5E93\u8FDE\u63A5
-PipelineLog.Dialog.SavePipelineBeforeRunning2.Message=\u5728\u8FD0\u884C\u524D\uFF0C\u8BF7\u5148\u4FDD\u5B58\u4F60\u7684\u8F6C\u6362\!
-HopGui.Menu.Tools.Data.Popup=\u6570\u636E\u5E93
-HopGui.Menu.Edit.Refresh=&\u5237\u65B0
-PipelineGraph.Dialog.TransformIsAlreadyOnCanvas.Title=\u9519\u8BEF\uFF01
-HopGui.Tooltip.OpenTranformation=\u6253\u5F00\u8F6C\u6362
-JobHistory.Button.Clear=\u6E05\u9664
-HopGui.Menu.File.Open=&\u6253\u5F00
-HopGui.Log.AutoLoadingPipeline=\u81EA\u52A8\u52A0\u8F7D\u8F6C\u6362 {0} \u4ECE\u8D44\u6E90\u5E93\u76EE\u5F55 {1}
-HopGui.STRING_PLUGIN=Plugin\u6B65\u9AA4\u7C7B\u578B
-PipelineLog.Log.Transform=\u6B65\u9AA4\: 
-HopGui.STRING_JOBS=\u4F5C\u4E1A
-HopGui.Menu.Pipeline.ShowLastPreviewResults=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u9884\u89C8\u7ED3\u679C
-PipelineHistory.Column.BatchID=\u6279\u6B21ID
-HopGui.MainTree.Label=\u4E3B\u5BF9\u8C61\u6811
-PipelineLog.System.EXCEPTION=\u5F02\u5E38
-HopGui.Message.Warning.PromptExitWhenRunPipeline=\u8FD9\u6709\u4E2A\u6B63\u5728\u8FD0\u884C\u7684\u8F6C\u6362\u3002\u4F60\u786E\u8BA4\u8981\u9000\u51FA\u5417?
-HopGui.Title.LogJobView=\u65E5\u5FD7 (J)\: {0}
-PipelineLog.Button.ClearLog=\ \u6E05\u9664\u65E5\u5FD7(&C)
-HopGui.PipelineGraph.HistoryTab.Name=\u6267\u884C\u5386\u53F2
-HopGui.Message.Note.ReadInformationFromTableOnDB=\u8BFB\u53D6\u6765\u81EA\u6570\u636E\u5E93[{0}]\u91CC\u9762\u7684\u8868[{0}]\u7684\u6570\u636E
-HopGui.Explorer=\u6D4F\u89C8\u5668
-HopGui.ErrorDialog.UnexpectedErrorCreatingNewJobGraphEntry.Title=\u521B\u5EFA\u8D44\u6E90\u65F6\u7684\u4E25\u91CD\u9519\u8BEF
-HopGui.Menu.Popup.HOPS.Delete=Delete
+PipelineGraph.PopupMenu.DisableHop=\u4F7F\u8282\u70B9\u8FDE\u63A5\u5931\u6548
+HopGui.Tooltip.PreviewTranformation=\u9884\u89C8\u8FD9\u4E2A Pipeline
+HopWorkflowFileType.GuiAction.Workflow.Name=Workflow
+HopGui.Dialog.ShowArguments.Title=\u5B58\u5728\u7684\u53C2\u6570
+HopGui.Dialog.PleaseRestartApplication.Title=\u4FE1\u606F
+HopGui.Dialog.OnlyUseStartOnce.Message=\u5728\u4E00\u4E2A\u4F5C\u4E1A\u4E2D\u53EA\u80FD\u4F7F\u7528\u4E00\u6B21\u5F00\u59CB\u56FE\u6807
+HopGui.RipDB.Monitor.ToTransform.Description1=\u5199\u4FE1\u606F\u5230\u8868 [
+HopGui.RipDB.Monitor.ToTransform.Description2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
+HopGui.Menu.Popup.SLAVE_SERVER.Edit=Edit
+HopGui.Menu.File.Close.All=\u5173\u95ED\u6240\u6709
+HopGui.STRING_JOB_NO_NAME=<unnamed workflow>
+HopGui.Menu.Edit=&\u7F16\u8F91
+PipelineHistory.Column.Input=\u8F93\u5165
 HopGui.Dialog.UnableLoadPipeline.Message=\u65E0\u6CD5\u52A0\u8F7D\u8FD9\u4E2A\u8F6C\u6362.  \u8BF7\u5148\u8FDE\u63A5\u6B63\u786E\u7684\u8D44\u6E90\u5E93.
-PipelineGraph.Dialog.NoteEditor.Title=\u6CE8\u91CA
-HopGui.Message.Note.WriteInformationToTableOnDB=\u4E4B\u540E, \u5B83\u5199\u4FE1\u606F\u5230\u8868[{0}]\u5728\u6570\u636E\u5E93 [{1}]
+HopGui.Dialog.GiveJobANameBeforeSaving.Title=\u8FD9\u4E2A\u4F5C\u4E1A\u6CA1\u6709\u540D\u5B57
+PipelineGraph.PopupMenu.EditNote=\u7F16\u8F91\u6CE8\u91CA
+PipelineGraph.Dialog.HopCausesRowMixing.Title=\u8B66\u544A\uFF01
+HopGuiWorkflowGraph.ContextualAction.EditAction.Tooltip=\u7F16\u8F91 Action \u5C5E\u6027
+PipelineGraph.Transform.Tooltip.CurrentPartitioning=\u4F7F\u7528\u7684\u5206\u533A\:
+HopGui.Message.Note.ReadFromTable=\u4ECE\u8868 [{0}]\u8BFB\u5165
+HopGuiWorkflowGraph.ContextualAction.EnableDownstream.Text=\u542F\u7528\u4E0B\u53D1\u901A\u9053
 PipelineHistory.ERROR=\u9519\u8BEF
-HopGui.Message.Warning.PipelineWasStored=\u8FD9\u4E2A\u8F6C\u6362\u5DF2\u7ECF\u88AB\u5B58\u50A8\u5728\u8D44\u6E90\u5E93
-HopGui.Log.NewTransform=\u65B0\u5EFA\u6B65\u9AA4\:
+HopGui.Menu.Popup.CONNECTIONS.Explore=\u6570\u636E\u5E93\u6D4F\u89C8
+HopGui.Menu.Pipeline.ShowLastImpactAnalyses=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u5F71\u54CD\u5206\u6790
+HopGui.Dialog.HopExists.Title=\u9519\u8BEF
+HopGuiServer.ErrorStartingPipeline.Title=\u9519\u8BEF
+HopGui.Title.ExecHistoryPipelineView.Tooltip=Execution history for pipeline\: {0}
+TransformPerformanceSnapShotDialog.InputBufferSize=\u8F93\u5165\u7F13\u51B2\u533A
+WorkflowGraph.Dialog.EditDescription.Message=\u7F16\u8F91\u63CF\u8FF0
+PipelineGraph.PopupMenu.NumberOfCopies=\u6539\u53D8\u5F00\u59CB\u590D\u5236\u7684\u6570\u91CF...
+HopGuiServer.Column.Copynr=\u590D\u5236\u7684\u884C\u6570\u91CF
+HopGui.Menu.File.Open=&\u6253\u5F00
+HopGui.ErrorDialog.RipDB.ErrorRippingTheDatabase.Message=\u590D\u5236\u6570\u636E\u5E93\u65F6\u53D1\u751F\u9519\u8BEF\uFF01
+HopGui.Menu.Popup.STEPS.Edit=Edit
+PipelineLog.Column.Active=\u6FC0\u6D3B
+HopGui.Explorer=\u6D4F\u89C8\u5668
+HopGui.Menu.ShowPipelineGrid=Grid
+PipelineLog.System.ERROR2=\u9519\u8BEF
+HopGuiServer.ErrorStoppingPipeline.Title=\u9519\u8BEF
+HopGui.History=\u5386\u53F2
+WorkflowGraph.Toolbar.DistributeHorizontal.Tooltip=\u6C34\u5E73\u65B9\u5411\u7B49\u95F4\u8DDD\u6240\u9009 Action
+WorkflowGraph.LogTab.Name=\u65E5\u5FD7\u8BB0\u5F55
+HopGui.STRING_JOBS=\u4F5C\u4E1A
+HopGui.Dialog.LoadPipelineError.Message=\u56E0\u4E3A\u4E00\u4E2A\u9519\u8BEF\uFF0C\u65E0\u6CD5\u4ECEXML\u6587\u4EF6\u52A0\u8F7D\u8FD9\u4E2A Pipeline
+HopGui.Menu.Help.Tip=\u6BCF\u5929\u63D0\u793A(&T)
+HopGuiServer.Column.Errors=\u9519\u8BEF
+HopGui.Menu.View.Zoom100=\u7B49\u6BD4\u4F8B(&P)
+HopGui.Dialog.ErrorHelpText.Title=\u9519\u8BEF\u5E2E\u52A9\u6587\u672C
+HopGui.Dialog.ShowVariables.Title=\u5F53\u524D\u7684\u53D8\u91CF
+HopGui.Dialog.NoSQLNeedEexecuted.Title=SQL
+HopGuiWorkflowGraph.ContextualAction.ParallelExecution.Text=\u5E76\u884C\u6267\u884C
+HopGui.Menu.Pipeline.PastePipelineFromClipboard=\u4ECE\u526A\u8D34\u677F\u7C98&\u8D34 Pipeline
+HopGui.Dialog.UnableChangeUser.Message=\u62B1\u6B49, \u65E0\u6CD5\u4FEE\u6539\u8FD9\u4E2A\u8D44\u6E90\u5E93\u91CC\u7684\u7528\u6237\:
+HopGui.Menu.Popup.BASE_PLUGIN.New=New
+HopGuiServer.ErrorStoppingJob.Message=\u5728\u670D\u52A1\u5668\u4E0A\u505C\u6B62\u4F5C\u4E1A\u65F6\u53D1\u751F\u9519\u8BEF
+PipelineGraph.Dialog.ErrorClearningLoggingTable.Message=\u6E05\u9664\u65E5\u5FD7\u8868\u65F6\u53D1\u751F\u9519\u8BEF\:
+HopGui.Dialog.PromptOverwritePipeline.Message=\u8D44\u6E90\u5E93\u91CC\u5DF2\u7ECF\u6709\u4E00\u4E2A\u8F6C\u6362\u53EB [{0}] .{1} \u4F60\u60F3\u8986\u76D6\u8FD9\u4E2A\u8F6C\u6362\u5417?
 HopGui.Menu.Wizard=\u5411\u5BFC(&W)
-HopGui.Dialog.UnableSave.Title=\u9519\u8BEF
-TransformPerformanceSnapShotDialog.RowsPerSecond.Label=\u8BB0\u5F55\u6BCF\u79D2
-HopGui.Menu.Edit.SelectAllTransforms=&\u9009\u62E9\u6240\u6709\u7684\u6B65\u9AA4
-HopGuiServer.Column.Sleeps=\u4F11\u7720\u65F6\u95F4 (get/put)
-PipelineGraph.Dialog.ErrorClearningLoggingTable.Message=\u6E05\u9664\u65E5\u5FD7\u8868\u65F6\u53D1\u751F\u9519\u8BEF \:
-HopGuiServer.Column.Status=\u72B6\u6001
-HopGui.Menu.ShowHistory=History
-HopGui.Tooltip.DisplaysPipelineLog=\u663E\u793A\u6B63\u5728\u8FD0\u884C\u7684\u8F6C\u6362\u7684\u65E5\u5FD7.
-HopGui.Dialog.PleaseRestartApplication.Message=\u8BF7\u91CD\u542F\u7A0B\u5E8F\u4EE5\u4F7F\u6539\u52A8\u751F\u6548\!
-HopGui.Title.LogPipelineView=\u65E5\u5FD7 (T)\: {0}
-PipelineLog.Dialog.ErrorLines.Title=\u9519\u8BEF\u884C
-HopGui.Log.QuitApplication=\u9000\u51FA\u5E94\u7528.
-HopGui.UnknownFileType.Title=\u9519\u8BEF
-HopGui.Menu.Popup.STEPS.Delete=\u5220\u9664
-HopGui.RipDB.Monitor.ToTransform.Description2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
-HopGui.RipDB.Monitor.ToTransform.Description1=\u5199\u4FE1\u606F\u5230\u8868 [
-HopGui.Dialog.PleaseRestartApplication.Title=\u4FE1\u606F
-PipelineGraph.Dialog.HopCausesRowMixing.Title=\u8B66\u544A\!
-HopGui.Dialog.JobAlreadyLoaded.Message=A workflow with the same name is already loaded.\nPlease close this workflow first to reload it.
-HopGui.Menu.Workflow.Replay=Replay workflow
-HopGui.Dialog.ErrorSavingDatabaseCache.Title=DB \u7F13\u5B58\u9519\u8BEF
-HopGui.Menu.File.Export.Popup=\u5BFC\u51FA
-HopGui.Menu.Popup.CLUSTERS.Share=\u5171\u4EAB
-HopGui.Log.ErrorOccurred=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\: 
-HopGui.Log.EditAction=\u7F16\u8F91\u4F5C\u4E1A\u56FE\u7684\u9879\u76EE\: {0}
-HopGui.Message.Warning.PromptExit=\u4F60\u786E\u4FE1\u8981\u9000\u51FA\u5417?
-PipelineGraph.Dialog.AreYouSureYouWantToRemoveAllLogEntries.Message=\u786E\u5B9A\u5220\u9664\u65E5\u5FD7\u8868\u4E2D\u7684\u6240\u6709\u9879 [{0}]?
-PipelineGraph.PopupMenu.DistributeVertically=\u5782\u76F4\u5206\u6563
-PipelineHistory.Button.Refresh=\ \u5237\u65B0 
-PipelineHistory.Button.Replay=\ \u91CD\u653E 
-HopGui.Log.MutuallyExcusive=\u591A\u4E8E\u4E00\u4E2A\u4E92\u76F8\u6392\u65A5\u7684\u9009\u9879. /\u6587\u4EF6, /\u4F5C\u4E1A \u548C/\u8F6C\u6362\u4E92\u76F8\u6392\u65A5.
-PipelineHistory.PleaseRefresh.Message=\u8BF7\u70B9\u51FB\u5237\u65B0\u6309\u94AE\u6765\u66F4\u65B0\u5386\u53F2
-HopGui.Dialog.LoadPipelineError.Message=\u56E0\u4E3A\u4E00\u4E2A\u9519\u8BEF\uFF0C\u65E0\u6CD5\u4ECEXML\u6587\u4EF6\u52A0\u8F7D\u8FD9\u4E2A\u8F6C\u6362
-PipelineHistory.Error.ReplayingPipeline=\u91CD\u653E\u8F6C\u6362\u5931\u8D25.
-HopGui.Dialog.NoSQLNeedEexecuted.Message=\u5728\u8F6C\u6362\u80FD\u591F\u8FD0\u884C\u4E4B\u524D\uFF0C\u6CA1\u6709SQL\u9700\u8981\u6267\u884C.
-PipelineLog.Log.CancelReplay1=\u53D6\u6D88\u91CD\u653E
-HopGui.Dialog.ErrorDeletingSlave.Title=\u9519\u8BEF
-HopGui.Message.Warning.NotShowWarning=\u8BF7\u4E0D\u8981\u518D\u663E\u793A\u8FD9\u4E2A\u4FE1\u606F.
-HopGui.Dialog.UnableOpenDialog.Title=Oops\!
-HopGui.Dialog.ErrorShowingHelpText.Title=\u9519\u8BEF\u663E\u793A\u5E2E\u52A9\u6587\u672C
-PipelineLog.Dialog.UnexpectedErrorDuringPreview.Message=\u5728\u9884\u89C8\u65F6\u5019\u53D1\u751F\u672A\u9884\u671F\u7684\u9519\u8BEF
-HopGui.Title.ExecLogPipelineView.Tooltip=Execution log for pipeline\: {0}
-HopGui.Error.UnableToLoadSharedObjects.Message=\u52A0\u8F7D\u5171\u4EAB\u5BF9\u8C61\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-HopGui.Menu.Popup.JOBENTRIES.Edit=\u7F16\u8F91
-HopGui.Menu.Popup.CONNECTIONS.ClearDBCache=Clear DB Cache of 
-PipelineLog.System.Yes=\u662F
-HopGui.Message.Warning.NotShowThisMessage=\u4E0D\u8981\u518D\u663E\u793A\u8FD9\u4E2A\u4FE1\u606F.
-HopGui.Dialog.ErrorSavingFile.Message=\u4FDD\u5B58\u6587\u4EF6\u5931\u8D25\:
-HopGuiServer.Column.Time=\u65F6\u95F4
+WorkflowGraph.Dialog.OnlyUseStartOnce.Title=\u62B1\u6B49
 HopGui.Dialog.RunImpactAnalysesFirst.Message=\u8BF7\u5728\u8F6C\u6362\u524D\u6267\u884C\u5F71\u54CD\u5206\u6790.
-HopGui.Dialog.JobNoSQLNeedEexecuted.Message=\u6CA1\u6709\u53EF\u4EE5\u6267\u884C\u7684 SQL \u8BED\u53E5\u6765\u8FD0\u884C\u8FD9\u4E2A\u4F5C\u4E1A.
-HopGui.Menu.Workflow=\u4F5C\u4E1A(&J)
-HopGui.RipDB.Monitor.FromTransform.Description2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
-HopGui.STRING_HOP_SERVER=\u5B50\u670D\u52A1\u5668
-PipelineHistory.Column.Errors=\u9519\u8BEF
-HopGui.Menu.View.Perspectives=\u89C6\u56FE\u7C7B\u578B
-HopGui.Message.Warning.Warning=\u8B66\u544A\!
-HopGui.Menu.Help.Tip=\u6BCF\u5929\u63D0\u793A(&T)
-HopGui.Menu.TransformPlugins=\u663E\u793A\u6B65\u9AA4\u63D2\u4EF6\u7684\u4FE1\u606F
-PipelineLog.Dialog.ErrorWritingLogRecord.Message=\u65E0\u6CD5\u628A\u65E5\u5FD7\u5199\u5165\u65E5\u5FD7\u8868
-HopGui.Log.RemoveTreeItem=\u5220\u9664\u6811\u5BF9\u8C61
-HopGui.Log.UnableFindTransformToDelete=\u65E0\u6CD5\u627E\u5230\u88AB\u5220\u9664\u7684\u6B65\u9AA4{0}...
+HopGui.Dialog.PromptSave.Title=\u8B66\u544A\uFF01
+HopGui.Dialog.OpenFileVFS.Message=\u5236\u5B9A\u8981\u6253\u5F00\u6587\u4EF6\u7684URL\:
+PipelineGraph.Dialog.SplitHop.Title=\u62C6\u5206\u8282\u70B9\u8FDE\u63A5?
+HopGui.Tooltip.SaveDifferentNameTranformation=\u4EE5\u4E0D\u540C\u540D\u79F0\u4FDD\u5B58 Pipeline
+HopGui.Menu.Pipeline.Replay=\u91CD\u653E(&R)
+HopGui.Menu.Tools.Data.Popup=\u6570\u636E\u5E93
+PipelineGraph.PopupMenu.FlipDirection=\u7FFB\u8F6C\u65B9\u5411
 HopGui.Title.LogPipelineHistoryView=\u65E5\u5FD7\u5386\u53F2 (T)\: {0}
+PipelineGraph.HelpToolTip.DoNotShowAnyMoreCheckBox.Message=\u4E0D\u518D\u663E\u793A\u8FD9\u4E2A\u63D0\u793A
+HopGui.Menu.Edit.PasteFromClipboard=\u7C98\u8D34
+HopGui.Dialog.ErrorPastingPipeline.Message=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u4E00\u4E2A\u8F6C\u6362\u65F6\u5019
+PipelineLog.Dialog.SavePipelineBeforeRunning2.Message=\u5728\u8FD0\u884C\u524D\uFF0C\u8BF7\u5148\u4FDD\u5B58\u4F60\u7684\u8F6C\u6362\uFF01
+HopGui.STRING_BUILDING_BLOCKS=Transform \u548CJob
+HopGuiWorkflowGraph.SaveFile.Dialog.Header=\u4FDD\u5B58\u6587\u4EF6
+HopGui.Tooltip.NewTranformation=\u65B0\u5EFA\u8F6C\u6362, \u6E05\u9664\u6240\u6709\u8BBE\u7F6E
+HopGuiWorkflowGraph.ContextualAction.FailureHop.Tooltip=\u5931\u8D25\u65F6\u8DF3\u5230\u4E0B\u4E00\u4E2A\u6267\u884C
+HopGui.Log.AppHasEnded=\ \u5DF2\u7ECF\u7ED3\u675F.
+HopGui.Dialog.ChangeTransformname.Title=Info\uFF01
+PipelineGraph.Dialog.HopInfo.Status=\u72B6\u6001\:
+PipelineLog.Column.Rejected=\u62D2\u7EDD
+HopGui.Menu.Popup.BASE.New=\u65B0\u5EFA
+HopGui.Dialog.PleaseRestartApplication.Message=\u8BF7\u91CD\u542F\u7A0B\u5E8F\u4EE5\u4F7F\u6539\u52A8\u751F\u6548\uFF01
+PipelineGraph.Dialog.SplitHop.Message=\u4F60\u60F3\u628A\u8282\u70B9\u8FDE\u63A5\u62C6\u5F00\u5417?
+HopGuiServer.Column.Status=\u72B6\u6001
+HopGui.Menu.Popup.PARTITIONS.Share=Share
+HopGuiServer.Button.Stop=\u505C&\u6B62
+WorkflowGraph.ParallelActionsWarning.Option1=\u6211\u660E\u767D\u4E86
+PipelineGraph.Dialog.NoteEditor.Title=\u6CE8\u91CA
+WorkflowGraph.ParallelActionsWarning.Option2=\u8BF7\u4E0D\u8981\u518D\u663E\u793A\u8BE5\u8B66\u544A.
+HopGui.Dialog.TransformnameExists.Title=\u6CE8\u91CA
+PipelineGraph.PopupMenu.EditHop=\u7F16\u8F91\u8FDE\u63A5
+HopGui.Hop.MainOutputOfTransform=\u4E3B\u8F93\u51FA Transform
+HopGui.Dialog.TransAlreadyLoaded.Title=Sorry
+HopGui.Dialog.ErrorDeletingPartitionSchema.Message=\u5220\u9664\u5206\u533A\u6A21\u5F0F\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+WorkflowGraph.Toolbar.Start.Tooltip=\u542F\u52A8\u8BE5 Workflow \u7684\u6267\u884C
+HopGui.Menu.ShowPipelinePerf=Performance
+HopGui.Menu.Pipeline.ShowLastPreviewResults=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u9884\u89C8\u7ED3\u679C
+HopGui.Menu.Popup.CONNECTIONS.ClearDBCache=Clear DB Cache of 
+HopGui.Hop.ErrorHandlingOfTransform=\u9519\u8BEF\u5904\u7406 Transform
+HopGui.Dialog.CopyOrDistribute.Distribute=\u5206\u53D1
+HopGui.Tooltip.OpenTranformation=\u6253\u5F00 Pipeline
+HopGui.Menu.ShowGrid=Grid
+HopGui.Tooltip.DisplaysPipelineGraphical=\u56FE\u5F62\u5316\u663E\u793A\u8FD9\u4E2A\u8F6C\u6362.
+WorkflowLog.Log.AutoSaveFileBeforeRunning=\u8FD0\u884C\u524D\u81EA\u52A8\u4FDD\u5B58...
 PipelineHistory.Column.ReplayDate=\u91CD\u653E\u65E5\u671F
-HopGui.RipDB.Monitor.Note4=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
-HopGui.RipDB.Monitor.Note3=\u7136\u540E,\u5199\u4FE1\u606F\u5230\u8868 [
-HopGui.Dialog.NoSQLNeedEexecuted.Title=SQL
-HopGui.RipDB.Monitor.Note2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
-HopGui.RipDB.Monitor.Note1=\u8BFB\u4FE1\u606F\u4ECE\u8868 [
+PipelineGraph.Dialog.GettingFields.Message=\u5728\u67E5\u627E\u5B57\u6BB5\u65F6\u53D1\u751F\u5F02\u5E38\uFF01
+HopGui.STRING_HOP_SERVER=\u5B50\u670D\u52A1\u5668
 HopGui.Menu.ActionPlugins=\u663E\u793A\u4F5C\u4E1A\u9879\u63D2\u4EF6
-HopGui.STRING_CONNECTIONS=DB\u8FDE\u63A5
-HopGui.Dialog.NothingFound.Message=\u6CA1\u6709\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u4FE1\u606F
-HopGui.Menu.File=\u6587\u4EF6(&F)
+HopGui.Dialog.ImpactAnalyses.Message=\u5206\u6790\u7ED3\u679C\:
+HopGui.Message.Warning.PromptExit=\u4F60\u786E\u4FE1\u8981\u9000\u51FA\u5417?
+HopGui.Dialog.FileExistsOverWrite.Message=This file already exists.  Do you want to overwrite it?
+HopGuiServer.Column.Active=\u72B6\u6001
+HopGui.RipDB.Monitor.FromTransform.Description=\u8BFB\u4FE1\u606F\u4ECE\u8868 [
+HopGui.Dialog.NothingFound.Title=\u62B1\u6B49
+HopGui.Menu.Pipeline.GetSQL=&\u83B7\u53D6SQL
+WorkflowGraph.Dialog.HopInfo.Enable=\u542F\u7528
+PipelineLog.Dialog.ErrorWritingLogRecord.Message=\u65E0\u6CD5\u628A\u65E5\u5FD7\u5199\u5165\u65E5\u5FD7\u8868
+HopGui.Log.UnableFindTransformToDelete=\u65E0\u6CD5\u627E\u5230\u88AB\u5220\u9664\u7684 Transform {0}...
+HopGui.Tooltip.Print=\u6253\u5370
+WorkflowLog.Log.WorkflowHasEnded=Workflow \u7684\u6267\u884C\u5DF2\u7ECF\u5B8C\u6210
+HopGui.Message.Warning.SaveOK=\u4FDD\u5B58\u6210\u529F\uFF01
+HopGui.ErrorDialog.ErrorPasingActions.Title=Error pasting actions...
+HopGui.Menu.MarketPlace=\u5E02\u573A
+HopGui.Menu.Workflow.Stop=\u505C\u6B62(&S)
+HopGui.Log.SaveAs=\u53E6\u5B58\u4E3A...
+HopGuiServer.ErrorStartingJob.Title=\u9519\u8BEF
+HopGui.Menu.Edit.CopyToClipboard=\u590D\u5236
+HopGui.Menu.Workflow.PasteJobFromClipboard=\u4ECE\u526A\u8D34\u677FP&aste workflow
+HopGui.Log.ClickedOn=\u70B9\u51FB
+PipelineLog.Column.Copynr=\u590D\u5236\u7684\u8BB0\u5F55\u884C\u6570
+HopGui.Dialog.OpenFileVFS.Title=\u6253\u5F00\u4E00\u4E2A\u6587\u4EF6  
+HopWorkflowFileType.New.Text=\u65B0\u5EFA Workflow
+HopGui.Menubar.File.NewPipeline=Pipeline
+PipelineGraph.Dialog.HopCausesRowMixing.Message=\u8FD9\u4E2A\u8FDE\u63A5\u4F7F\u76EE\u6807 Transform \u63A5\u6536\u5E26\u6709\u6DF7\u5408\u6837\u5F0F\u7684\u884C\uFF01
+HopGui.Log.CheckTransformTreeItem=\u68C0\u67E5 Transform \u6811\u5BF9\u8C61
+HopGui.RipDB.Monitor.FromTransform.Name=\u4ECE [
+HopGui.Menu.Popup.CONNECTIONS.NewConnectionWizard=\u65B0\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u5411\u5BFC
+HopGuiServer.ErrorStartingJob.Message=\u5728\u670D\u52A1\u5668\u4E0A\u542F\u52A8\u4F5C\u4E1A\u65F6\u53D1\u751F\u9519\u8BEF
+HopGui.Menu.Edit.ShowArguments=\u663E\u793A\u53C2\u6570(&u)
+PipelineGraph.PopupMenu.CopyToClipboard=\u590D\u5236
+HopGui.Menu.File.Export.Popup=\u5BFC\u51FA
+PipelineHistory.Column.Output=\u8F93\u51FA
+PipelineGraph.PopupMenu.DeleteNote=\u5220\u9664\u6CE8\u91CA
+HopGui.Dialog.ErrorOpening.Message=\u9519\u8BEF\u6253\u5F00\: 
 HopGui.PipelineGraph.LogTab.Name=\u65E5\u5FD7
-PipelineLog.Dialog.Option.AutoSavePipeline=\u81EA\u52A8\u4FDD\u5B58\u8F6C\u6362.
+PipelineLog.Dialog.WhatIsTheExecutionDate2.Message=\u662F\u4F60\u60F3\u91CD\u653E\u7684?
+HopGui.Log.NewHop=\u65B0\u5EFA\u8282\u70B9\u8FDE\u63A5\uFF01
+PipelineGraph.Dialog.NrOfCopiesOfTransform.Title=Transform \u590D\u5236\u7684\u6570\u91CF...
+HopGui.Dialog.PipelineNoImpactOnDatabase.Message=\u8FD9\u4E2A\u8F6C\u6362\u5BF9\u4EFB\u4F55\u6570\u636E\u5E93\u90FD\u6CA1\u6709\u5F71\u54CD.
+WorkflowGraph.ParallelActionsWarning.DialogTitle=\u8B66\u544A
+HopGui.Dialog.SetVariables.Message=Please enter the values of the variables or create new ones
+HopGui.Message.Warning.PipelineWasStored=\u8FD9\u4E2A\u8F6C\u6362\u5DF2\u7ECF\u88AB\u5B58\u50A8\u5728\u8D44\u6E90\u5E93
+HopGui.Menu.Tools.Plugins.Popup=Plug-Ins
+HopGuiWorkflowGraph.GuiAction.Zoom100.Tooltip=\u539F\u6BD4\u4F8B
+HopGui.STRING_HOPS=Hops(\u8282\u70B9\u8FDE\u63A5)
+PipelineGraph.PopupMenu.CheckSelectedTransforms=\u68C0\u67E5\u6240\u9009 Transform
+HopGui.Exception.ErrorReadingXULFile.Title=\u9519\u8BEF
+HopGuiWorkflowGraph.GuiAction.ZoomOut.Tooltip=\u7F29\u5C0F  10%
+HopGui.Dialog.ErrorDeletingPartitionSchema.Title=\u9519\u8BEF
+PipelineLog.Log.Rows=\ \u884C
+HopGui.Menu.Popup.STEPS.Duplicate=Duplicate
+HopGui.Menu.View.ZoomOut=\u7F29\u5C0F(&O)
 HopGui.Menu.Edit.ShowVariables=\u663E\u793A\u73AF\u5883&\u53D8\u91CF
-HopGui.Menu.Pipeline.Run=&\u8FD0\u884C
-HopGui.Dialog.UnableChangeUser.Message=\u5BF9\u4E0D\u8D77, \u65E0\u6CD5\u4FEE\u6539\u8FD9\u4E2A\u8D44\u6E90\u5E93\u91CC\u7684\u7528\u6237\:
-TransformPerformanceSnapShotDialog.InputBufferSize=\u8F93\u5165\u7F13\u51B2\u533A
-HopGui.Menu.CmdLine.Display=Display command
-HopGui.Menu.ShowExecutionResults=Results
-PipelineLog.Button.SafeMode=\u5B89\u5168\u6A21\u5F0F
-PipelineGraph.Logging.EditingHop=\u7F16\u8F91\u8282\u70B9\u8FDE\u63A5\: 
-HopGuiServer.Button.Stop=\u505C&\u6B62
-HopGuiServer.ErrorStartingPipeline.Title=\u9519\u8BEF
-PipelineLog.Log.PipelineOpened=\u8F6C\u6362\u5DF2\u7ECF\u6253\u5F00.
-HopGui.Log.FoundTransforms=\u53D1\u73B0{0} transforms to paste on location\: 
-HopGui.Dialog.TransformPluginList.Message=\u53EF\u4EE5\u4F7F\u7528\u7684\u6B65\u9AA4\u548C\u6B65\u9AA4\u63D2\u4EF6\:
-HopGui.Dialog.NewFile.Title=\u65B0\u5EFA\u6587\u4EF6
-HopGui.Log.SavedDatabaseConnection=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5 {0} \u5230\u8D44\u6E90\u5E93.
-PipelineLog.Button.ShowErrorLines=\ &\u663E\u793A\u9519\u8BEF\u884C 
-HopGui.Dialog.NotAllowedChangeUser.Title=\u5BF9\u4E0D\u8D77
+WorkflowGraph.Dialog.HopInfo=\u901A\u9053\u4FE1\u606F\:
+WorkflowGraph.Toolbar.AlignTop.Tooltip=\u8BE5 Action \u4E0E\u6240\u9009 Action \u9876\u90E8\u5BF9\u9F50
+HopGui.Dialog.ErrorOpening.Title=\u9519\u8BEF
+PipelineLog.Dialog.DoNoPreviewWhileRunning.Message=\u62B1\u6B49,\u8F6C\u6362\u5728\u8FD0\u884C\u65F6\u4E0D\u80FD\u9884\u89C8 Transform.
+HopGuiWorkflowGraph.ContextualAction.Category.Routing.Text=\u8DEF\u7531
+WorkflowGraph.ParallelActionsWarning.DialogMessage=\u5F53\u524D\u5E76\u884C\u6267\u884C Action \u7684\u5B9E\u73B0\u4E0D\u4F1A\u6267\u884C\u4EFB\u4F55\u5E76\u53D1\u68C0\u67E5\u3002\n\u4ECE\u57FA\u672C\u64CD\u4F5C\u7CFB\u7EDF\u6216\u5176\u5B83\u9AD8\u7EA7\u7CFB\u7EDF\u4E2D\u81F3\u5C11\u8981\u8003\u8651\u6587\u4EF6\u4E92\u9501\u7684\u573A\u666F\u3002\n\n\u53E6\u8BF7\u6CE8\u610F\uFF0C\u7531\u4E8E Workflow \u4E2D Action \u662F\u901A\u8FC7\u56DE\u6EAF\u6267\u884C\u7684\uFF0C\u56E0\u6B64\u4E0D\ [...]
+PipelineLog.Dialog.FileHasChanged2.Message=\u4F60\u60F3\u73B0\u5728\u4FDD\u5B58\u8FD9\u4E2A\u8F6C\u6362\u5417?
+HopGui.Log.ElementHasParent=\u5143\u7D20\u6709\u7236\u5143\u7D20\:
+HopGuiWorkflowGraph.ContextualAction.DeleteHop.Tooltip=\u65AD\u5F00\u4E24\u4E2A Action \u4E4B\u95F4\u7684\u8FDE\u63A5\u7EBF
+HopGui.Menu.File.OpenVFS=\u4ECE&URL\u6253\u5F00\u6587\u4EF6
+WorkflowLog.Dialog.SaveChangedFile.Message=\u8FD0\u884C Workflow \u524D\u60A8\u8981\u5148\u4FDD\u5B58\u5B83.
+WorkflowGraph.ExecutionResultsPanel.MaxButton.Tooltip=\u6700\u5927\u5316\u663E\u793A\u6267\u884C\u7ED3\u679C\u9762\u677F
+HopGui.Dialog.FatalError=\u81F4\u547D\u9519\u8BEF\:
+PipelineLog.Log.PipelineOpened=Pipeline \u5DF2\u7ECF\u6253\u5F00.
+HopGui.Log.UnexpectedErrorOccurred=\u4E00\u4E2A\u672A\u9884\u671F\u7684\u9519\u8BEF\u53D1\u751F\u5728HopGui\: probable cause\:\u5728\u505C\u6B62HopGui\u524D\uFF0C\u8BF7\u5148\u5173\u95ED\u5176\u5B83spoon\u7A97\u53E3\uFF01 
+WorkflowGraph.Hop.Tooltip.Unconditional=\u8FD9\u662F\u4E00\u4E2A\u65E0\u6761\u4EF6\u7684\u6570\u636E\u901A\u9053\u3002 \u8FD9\u610F\u5473\u7740\u65E0\u8BBA {0} \u7684\u6267\u884C\u7ED3\u679C\u5982\u4F55\uFF0C\u90FD\u5C06\u59CB\u7EC8\u6267\u884C\u4E0B\u4E00\u4E2A Action.
+WorkflowGraph.Hop.Tooltip.Parallel=\u5E76\u884C\u6267\u884C\u3002{1} \u5728 {0} \u4E4B\u540E\u7684\u6240\u6709 Action \u90FD\u5C06\u5E76\u884C\u6267\u884C\u3002{1}\u662F\u6240\u6709 Action\uFF0C\u800C\u4E0D\u4EC5\u662F\u540E\u9762\u7D27\u8DDF\u7684 Action\u3002{1}\u5982\u679C\u60A8\u60F3\u6062\u590D\u4E32\u884C\u5904\u7406\uFF0C\u8BF7\u5C06\u5E76\u884C\u64CD\u4F5C\u653E\u5728\u5B50 Workflow \u4E2D\u8FDB\u884C\u5904\u7406.
+HopGuiWorkflowGraph.ContextualAction.SuccessHop.Tooltip=\u6210\u529F\u65F6\u8DF3\u5230\u4E0B\u4E2A\u6267\u884C
+HopGui.Menu.File.Import.Popup=\u5BFC\u5165
+PipelineLog.Log.PipelineHasFinished=Pipeline \u5B8C\u6210\uFF01\uFF01
+HopGui.Dialog.UnableOpenDialog.Message=\u65E0\u6CD5\u6253\u5F00\u8FD9\u4E2A Transform \u7A97\u53E3
 PipelineLog.Column.Errors=\u9519\u8BEF
-HopGui.Application.Name=Hop
-HopGui.Menu.Popup.CONNECTIONS.SQLEditor=SQL \u7F16\u8F91\u5668
-HopGui.Dialog.ErrorOpening.Message=\u9519\u8BEF\u6253\u5F00 \: 
-HopGui.Menu.Popup.HOPS.SortHops=\u6392\u5E8F\u8FDE\u63A5
-HopGui.Menu.Pipeline.Preview=&\u9884\u89C8
-TransformPerformanceSnapShotDialog.Written=\u5199
-HopGui.Menu.Pipeline.Impact=&\u5F71\u54CD\u5206\u6790
-HopGui.RipDB.ActionSQL.Description=\u6267\u884C SQL \u8BED\u53E5\u6765\u521B\u5EFA\u8868 [
-HopGui.STRING_JOB=\u4F5C\u4E1A
-HopGui.Tooltip.PreviewTranformation=\u9884\u89C8\u8FD9\u4E2A\u8F6C\u6362
-HopGui.Dialog.ErrorPastingPipeline.Title=\u9519\u8BEF\u7C98\u8D34\u8F6C\u6362
-PipelineLog.Log.Rows=\ \u884C
-PipelineLog.Column.Rejected=\u62D2\u7EDD
-PipelineGraph.PopupMenu.HideTransform=\u9690\u85CF\u6B65\u9AA4
-HopGui.History=\u5386\u53F2
 HopGui.Menu.File.Close=&\u5173\u95ED
-HopGui.Dialog.ImpactAnalyses.Title=\u5F71\u54CD\u5206\u6790
-HopGui.Dialog.ExceptionCopyToClipboard.Message=\u5F53\u590D\u5236\u6570\u636E\u5230\u526A\u8D34\u677F\u65F6,\u53D1\u751F\u4E86\u4E00\u4E2A\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF.
-PipelineLog.Dialog.WhatIsTheExecutionDate1.Message=\u54EA\u4E2A\u8F6C\u6362\u65E5\u671F
-PipelineLog.Column.PriorityBufferSizes=Pri/in/out
-HopGui.Menu.Edit.Options=\u9009\u9879(&O)...
-HopGui.Dialog.NothingFound.Title=\u5BF9\u4E0D\u8D77
-HopGui.Menu.Wizard.CopyTableWizard=\u590D\u5236\u5355\u8868\u5411\u5BFC(&C)...
-HopGui.Dialog.ErrorSavingFile.Title=\u9519\u8BEF
-HopGui.Menu.Popup.CONNECTIONS.Explore=\u6570\u636E\u5E93\u6D4F\u89C8
+TransformPerformanceSnapShotDialog.Updated=\u66F4\u65B0
+PipelineHistory.Column.EndDate=\u7ED3\u675F\u65E5\u671F
+HopGui.Dialog.ActionCanNotBeChanged.Message=This action can''t be changed\uFF01
+PipelineGraph.Dialog.ItemCanNotBePlacedOnCanvas.Message=\u8FD9\u4E2A\u5BF9\u8C61\u65E0\u6CD5\u653E\u7F6E\u5728\u753B\u5E03\u4E0A.
+HopGui.Dialog.ErrorDeletingSlave.Title=\u9519\u8BEF
+HopGui.Message.Note.HandleReservedWords=\u5904\u7406\u4FDD\u7559\u5B57
 PipelineGraph.PopupMenu.DeleteHop=\u5220\u9664\u8282\u70B9\u8FDE\u63A5
-HopGui.Message.Warning.Yes=\u662F
-HopGui.Menu.ShowPipelineGrid=Grid
-HopGui.Title.LogView=\u65E5\u5FD7\u89C6\u56FE
-PipelineGraph.ExecutionResultsPanel.MinButton.Tooltip=\u6700\u5C0F\u5316\u6267\u884C\u7ED3\u679C\u9762\u677F
-PipelineGraph.PopupMenu.GenerateMappingToThisTransform=\u6839\u636E\u76EE\u6807\u6B65\u9AA4\u751F\u6210\u6620\u5C04
-TransformPerformanceSnapShotDialog.Output=\u8F93\u51FA
-PipelineLog.Log.StartedExecutionOfPipeline=\u5F00\u59CB\u6267\u884C\u8F6C\u6362.
-PipelineHistory.Error.ReplayingPipeline2=\u91CD\u653E\u8F6C\u6362\u5931\u8D25
-HopGui.Menu.PluginMgr=Plugin manager
-HopGui.Menu.File.NewWorkflow=\u4F5C\u4E1A
-PipelineHistory.Error.GettingLoggingInfo=\u9519\u8BEF\u7684\u83B7\u53D6\u65E5\u5FD7\u4FE1\u606F
-HopGui.Dialog.CannotFindConnection.Message=\u65E0\u6CD5\u627E\u5230\u6570\u636E\u5E93\u8FDE\u63A5, \u8BF7\u6309(F5)\u5237\u65B0\!
-HopGui.Menu.File.Print=&\u6253\u5370
-PipelineLog.Column.TransformName=\u6B65\u9AA4\u540D\u79F0
-PipelineGraph.PopupMenu.DistributeData=\u8F6E\u6D41\u53D1\u9001\u6A21\u5F0F
-HopGui.Menu.Popup.SLAVE_SERVER.Monitor=Monitor
-HopGui.Menu.Undo.Available=\u64A4\u9500 \: {0}
-HopGui.Menu.Help.Welcome=\u663E\u793A\u6B22\u8FCE\u5C4F\u5E55(&S)
-HopGui.Dialog.ErrorDeletingPartitionSchema.Title=\u9519\u8BEF
-HopGui.STRING_JOB_NO_NAME=<unnamed workflow>
-PipelineGraph.Dialog.MultipleCopiesAreNotAllowedHere.Title=Sorry
-HopGui.Log.UnableFindDirectory=\u65E0\u6CD5\u627E\u5230\u76EE\u5F55 [{0}] \u5728\u8D44\u6E90\u5E93\u91CC.
-PipelineHistory.Column.Duration=\u6301\u7EED
-HopGui.Menu.Pipeline.Stop=\u505C\u6B62(&S)
-HopGui.Menu.Popup.CONNECTIONS.Delete=\u5220\u9664
-PipelineGraph.PopupMenu.ClearSelection=\u6E05\u9664\u9009\u62E9
-PipelineHistory.Column.Name=\u8F6C\u6362\u540D\u79F0
-HopGui.Dialog.JobAlreadyLoaded.Title=Sorry
-HopGui.Menu.Pipeline.Replay=\u91CD\u653E(&R)
-HopGui.Log.NewHop=\u65B0\u5EFA\u8282\u70B9\u8FDE\u63A5\!
-PipelineLog.Dialog.GivePipelineANameBeforeRunning.Message=\u8BF7\u7ED9\u4F60\u7684\u8F6C\u6362\u4E00\u4E2A\u540D\u79F0\u4EE5\u4FBF\u533A\u5206\!
-HopGui.Menu.File.OpenVFS=\u4ECE&URL\u6253\u5F00\u6587\u4EF6
-HopGui.PipelineGraph.PerfTab.Name=\u6027\u80FD\u56FE
-HopGui.Dialog.PromptOverwriteFile.Message=\u8FD9\u4E2A\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728.  \u4F60\u60F3\u8986\u76D6\u5B83\u5417\uFF1F?
-HopGui.Log.DeleteTransform=\u5220\u9664\u6B65\u9AA4\: 
-HopGui.STRING_PIPELINES=\u8F6C\u6362
-HopGui.RipDB.Monitor.ProcessingTable=\u5904\u7406\u8868 [
-HopGui.Dialog.WarningCreateNewTransforms.Message=\u8BF7\u4F7F\u7528\u4E0B\u5217\u7684\u57FA\u672C\u6B65\u9AA4\u7C7B\u578B\u6765\u521B\u5EFA\u65B0\u6B65\u9AA4.
-HopGui.Dialog.TransformPluginList.Title=\u6B65\u9AA4\u63D2\u4EF6\u5217\u8868
-HopGui.Menu.File.Import=&\u4ECEXML\u6587\u4EF6\u5BFC\u5165
-HopGui.Menu.Popup.SLAVE_SERVER.Delete=Delete
-HopGui.Exception.ErrorReadingXULFile.Title=\u9519\u8BEF
-PipelineGraph.PopupMenu.AllignRight=\u53F3\u5BF9\u9F50
-HopGui.Dialog.UnexpectedError.Title=\u672A\u9884\u671F\u7684\u9519\u8BEF
-HopGui.Tooltip.DisplaysPipelineGraphical=\u56FE\u5F62\u5316\u663E\u793A\u8FD9\u4E2A\u8F6C\u6362.
-PipelineLog.Button.Preview=\ &\u9884\u89C8 
-HopGui.Menu.Pipeline=&\u8F6C\u6362
-PipelineGraph.PopupMenu.NumberOfCopies=\u6539\u53D8\u5F00\u59CB\u590D\u5236\u7684\u6570\u91CF...
-HopGui.Dialog.PipelineNoImpactOnDatabase.Message=\u8FD9\u4E2A\u8F6C\u6362\u5BF9\u4EFB\u4F55\u6570\u636E\u5E93\u90FD\u6CA1\u6709\u5F71\u54CD.
-HopGui.STRING_PIPELINE_NO_NAME=<unnamed pipeline>
-PipelineLog.Button.PausePipeline=\u6682\u505C(&P)
-HopGui.Log.NoRepositoriesDefined=\u7CFB\u7EDF\u91CC\u6CA1\u6709\u5B9A\u4E49\u8D44\u6E90\u5E93.
-HopGui.Menu.Popup.PARTITIONS.Delete=Delete partitioning schema
+HopGui.Menu.Pipeline.Debug=\u8C03\u8BD5(&D)
+WorkflowGraph.Toolbar.AlignBottom.Tooltip=\u8BE5 Action \u4E0E\u9009\u4E2D Action \u5E95\u90E8\u5BF9\u9F50
+HopGui.Dialog.NoSQLNeedEexecuted.Message=\u5728\u8F6C\u6362\u80FD\u591F\u8FD0\u884C\u4E4B\u524D\uFF0C\u6CA1\u6709SQL\u9700\u8981\u6267\u884C.
+HopGui.Dialog.SaveChangedFile.Title=\u8B66\u544A
+HopGui.Menu.Popup.CONNECTIONS.SQLEditor=SQL \u7F16\u8F91\u5668
+PipelineGraph.PopupMenu.SnapToGrid=\u8D34\u7D27\u7F51\u683C(\u5927\u5C0F)
+HopGuiWorkflowGraph.ContextualAction.EditNote.Text=\u7F16\u8F91
+PipelineGraph.Dialog.ErrorDroppingObject.Message=\u5728\u753B\u5E03\u4E0A\u62D6\u653E\u4E00\u4E2A\u5BF9\u8C61\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+HopGui.Dialog.UnableCreateNewTransform.Title=\u9519\u8BEF\u521B\u5EFA Transform
 PipelineGraph.PopupMenu.ShowInputFields=\u663E\u793A\u8F93\u5165\u5B57\u6BB5
-HopGui.Dialog.UnableCreateNewTransform.Title=\u9519\u8BEF\u521B\u5EFA\u6B65\u9AA4
-HopGui.Dialog.PromptSave.Message=\u8FD9\u4E2A\u6A21\u578B\u5DF2\u7ECF\u53D1\u751F\u53D8\u66F4.  \u4F60\u60F3\u8981\u4FDD\u5B58\u5B83\u5417?
-PipelineGraph.Dialog.LoopsAreNotAllowed.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u65B9\u5411\u7FFB\u8F6C\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF\!  \u5FAA\u73AF\u4E0D\u5141\u8BB8.
-HopGui.Dialog.FileExistsOverWrite.Message=This file already exists.  Do you want to overwrite it?
-HopGui.RipDB.Monitor.BuildingNewWorkflow=\u6784\u9020\u65B0\u4F5C\u4E1A...
-HopGui.Message.Note.WriteToTable=\u5199\u5165\u8868 [{0}]
-HopGui.Dialog.OnlyUseStartOnce.Title=\u9519\u8BEF
-HopGui.PipelineGraph.GridTab.Name=\u6B65\u9AA4\u5EA6\u91CF
-HopGui.Dialog.TransAlreadyLoaded.Message=A pipeline with the same name is already loaded.\nPlease close this pipeline first to reload it.
-HopGuiServer.ErrorStartingJob.Title=\u9519\u8BEF
-HopGui.ErrorDialog.RipDB.ErrorRippingTheDatabase.Message=\u590D\u5236\u6570\u636E\u5E93\u65F6\u53D1\u751F\u9519\u8BEF\!
-PipelineGraph.Dialog.LoopsAreNotAllowed.Title=\u9519\u8BEF\uFF01
-HopGui.Menu.Action=\u6267\u884C
-PipelineGraph.Dialog.ErrorClearningLoggingTable.Title=\u9519\u8BEF\u6E05\u9664\u65E5\u5FD7\u8868
-PipelineGraph.ExecutionResultsPanel.CloseButton.Tooltip=\u5173\u95ED\u6267\u884C\u7ED3\u679C\u9762\u677F
-PipelineLog.Log.ProcessingOfPipelineStopped=\u8F6C\u6362\u5904\u7406\u5DF2\u7ECF\u505C\u6B62.
-HopGui.Menu.Popup.CONNECTIONS.ShowDependancies=\u663E\u793A\u4F9D\u8D56
\ No newline at end of file
+HopGui.Menu.Workflow.Settings=&\u8BBE\u7F6E...
+PipelineLog.Log.CancelReplay1=\u53D6\u6D88\u91CD\u653E
+HopGui.Dialog.LoadPipelineError.Title=\u9519\u8BEF \u52A0\u8F7D Pipeline
+PipelineGraph.Dialog.ErrorDuplicatingTransform.Title=\u9519\u8BEF\u590D\u5236 Transform
+WorkflowGraph.Hop.Tooltip.EvaluatingFalseHopGui.Dialog.LoadPipelineError.Title=\u9519\u8BEF \u52A0\u8F7D\u8F6C\u6362
+WorkflowGraph.Hop.Tooltip.EvaluatingFalse=\u6267\u884C {0} \u540E\uFF0C\u5C06\u8BC4\u4F30\u6267\u884C\u7ED3\u679C\u3002{1} \u5982\u679C\u7ED3\u679C\u4E3A false(\u6709\u9519\u8BEF)\uFF0C\u5C06\u9009\u7528\u8BE5\u901A\u9053(\u6709\u9519\u8BEF)
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_zh_CN.properties
index 23a9da4..95b5f44 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_zh_CN.properties
@@ -14,673 +14,722 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-HopGui.Menu.Popup.CONNECTIONS.Duplicate=\u590D\u5236
-PipelineLog.Dialog.PerformanceMonitoringNotEnabled.Title=\u4E0D\u80FD\u663E\u793A\u56FE
-HopGui.Dialog.HopExists.Title=\u9519\u8BEF
-PipelineLog.Column.Active=\u6FC0\u6D3B
-HopGui.Log.PastePipelineFromClipboard=\u4ECE\u526A\u8D34\u677F\u590D\u5236\u8F6C\u6362\!
-PipelineGraph.Dialog.SplitHop.Title=\u62C6\u5206\u8282\u70B9\u8FDE\u63A5?
-HopGui.Dialog.CopyOrDistribute.Message=Transform ''{0}'' has ''{1}'' destination transforms to which it sends rows of data.\n\nThere are 2 ways of sending rows to destination transforms\:\n\n   - \u5206\u53D1\u8BB0\u5F55\: \u76EE\u6807\u6B65\u9AA4\u8F6E\u6D41\u63A5\u6536\u8BB0\u5F55\n   - \u590D\u5236\u8BB0\u5F55\: \u6240\u6709\u7684\u8BB0\u5F55\u88AB\u540C\u65F6\u53D1\u9001\u5230\u6240\u6709\u7684\u76EE\u6807\u6B65\u9AA4.\n\nWhich method would you like to use? (\u9ED8\u8BA4\u662F ''\u59 [...]
-HopGui.Title.STRING_WELCOME=\u6B22\u8FCE\!
-HopGui.Menu.Popup.STEPS.Share=Share
-HopGui.Dialog.PromptSave.Title=\u8B66\u544A\!
-HopGui.Dialog.NoRemoteServerSpecified.Message=\u9700\u8981\u6307\u5B9A\u8FDC\u7A0B\u4E3B\u673A
-PipelineGraph.Transform.Tooltip.NextPartitioning=\u76EE\u6807\u6B65\u9AA4\u5206\u533A\:
-HopGui.Menu.File.Close.All=\u5173\u95ED\u6240\u6709
-HopGui.Dialog.Warning.NoPreviewOrDebugTransforms.Message=\u6CA1\u6709\u9884\u89C8\u548C\u8C03\u8BD5\u6B65\u9AA4.\r\n\u5982\u679C\u8FD9\u6837,\u8F6C\u6362\u53EF\u4EE5\u8FD0\u884C,\u4F46\u662F\u4E0D\u80FD\u6536\u96C6\u5230\u9884\u89C8\u4FE1\u606F.\r\n\u786E\u5B9A\u5F00\u59CB\u8F6C\u6362 \u5417?
-PipelineGraph.Transform.Tooltip.CurrentPartitioning=\u4F7F\u7528\u7684\u5206\u533A\:
-PipelineGraph.PopupMenu.AllignTop=\u9876\u90E8\u5BF9\u9F50
-PipelineLog.Dialog.FileHasChanged2.Message=\u4F60\u60F3\u73B0\u5728\u4FDD\u5B58\u8FD9\u4E2A\u8F6C\u6362\u5417?
-PipelineGraph.PopupMenu.ShowOutputFields=\u663E\u793A\u8F93\u51FA\u5B57\u6BB5
-HopGui.Menu.View.ZoomOut=\u7F29\u5C0F(&O)
-HopGuiServer.ErrorStoppingJob.Title=\u9519\u8BEF
-PipelineLog.Dialog.SavePipelineBeforeRunning.Message=\u8BF7\u5148\u4FDD\u5B58\u4F60\u7684\u8F6C\u6362\!
-HopGui.Menu.MarketPlace=\u5E02\u573A
-HopGui.Log.NewSelected=\u65B0\u7684\u9009\u62E9
-PipelineGraph.PopupMenu.DataMovement=\u6570\u636E\u53D1\u9001......
-HopGui.ErrorDialog.ErrorEditingAction.Title=Error editing action
-HopGui.RipDB.Monitor.FromTransform.Name=\u4ECE [
-HopGui.Message.Note.RenamesReservedWords=\u91CD\u547D\u540D\u4FDD\u7559\u5B57\u4E3A {0}
-HopGuiServer.Column.Errors=\u9519\u8BEF
-HopGuiServer.Column.Written=\u5199
-HopGui.Dialog.ShowArguments.Message=\u5B9A\u4E49\u7684\u53C2\u6570\u5217\u8868\:
-HopGui.Dialog.WarningCreateNewTransforms.Title=\u63D0\u793A\!
-HopGui.Menu.Edit.ShowArguments=\u663E\u793A\u53C2\u6570(&u)
-PipelineHistory.Column.Read=\u8BFB
-HopGui.STRING_CLUSTERS=Hop\u96C6\u7FA4schemas
-HopGui.Dialog.AddingHopCausesLoop.Message=\u5728\u8F6C\u6362\u91CC\u589E\u52A0\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF.  \u8FD9\u91CC\u4E0D\u5141\u8BB8\u5FAA\u73AF\!
-WorkflowLog.Button.LogSettings=\u65E5\u5FD7\u8BBE\u7F6E
-PipelineLog.Error.InvalidReplayDateFormat=\u9519\u8BEF\u7684\u91CD\u653E\u65E5\u671F, \u5E94\u5F53\u62E5\u6709\u683C\u5F0F 
-PipelineLog.Dialog.DoNoPreviewWhileRunning.Title=\u5BF9\u4E0D\u8D77
-PipelineLog.Button.ShowOnlyActiveTransforms=\u4EC5\u4EC5\u663E\u793A\u6D3B\u52A8\u7684\u6B65\u9AA4
-HopGui.STRING_PIPELINE=\u8F6C\u6362
-HopGui.Dialog.SaveChangedFile.Title=\u8B66\u544A
-HopGui.Dialog.NewFile.Message=\u9009\u62E9\u9700\u8981\u521B\u5EFA\u7684\u6587\u4EF6\u7C7B\u578B
-HopGui.Dialog.TransAlreadyLoaded.Title=Sorry
-PipelineGraph.Dialog.ErrorDroppingObject.Message=\u5728\u753B\u5E03\u4E0A\u62D6\u653E\u4E00\u4E2A\u5BF9\u8C61\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-PipelineGraph.PopupMenu.PasteTransformFromClipboard=&\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u6B65\u9AA4
-PipelineHistory.Column.LogDate=\u65E5\u5FD7\u65E5\u671F
-HopGui.Dialog.UnexpectedError.Message=\u4E00\u4E2A\u672A\u9884\u671F\u7684\u9519\u8BEF\u53D1\u751F\u5728\u65B0\u5EFA\u4E00\u4E2A\u8F6C\u6362\u7684\u65F6\u5019
-HopGui.Menu.Edit.PasteFromClipboard=\u4ECE\u526A\u8D34\u677F\u590D\u5236\u6B65\u9AA4
-HopGui.CoreObjectsTree.Label=\u6838\u5FC3\u5BF9\u8C61
-PipelineGraph.PopupMenu.AllignLeft=\u5DE6\u5BF9\u9F50
-HopGui.Dialog.ErrorPastingJob.Message=\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u4E00\u4E2A\u4F5C\u4E1A\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-HopGui.Menu.Workflow.Run=&\u8FD0\u884C...
-HopGui.Title.ExecLogJobView.Tooltip=Execution log for workflow\: {0}
-HopGui.Dialog.CopyOrDistribute.Distribute=\u5206\u53D1
-HopGui.Dialog.CopyOrDistribute.Copy=\u590D\u5236
-HopGui.Menu.Pipeline.Debug=\u8C03\u8BD5(&D)
-PipelineGraph.PopupMenu.SnapToGrid=\u8D34\u7D27\u7F51\u683C(size 
-HopGui.StringSearchResult.Message=\u5BDF\u770B\: \u641C\u7D22\u7ED3\u679C
-HopGui.RipDB.Exception.ErrorGettingSQLFromPipeline=\u4ECE\u8F6C\u6362\u4E2D\u83B7\u5F97 SQL \u8BED\u53E5\u65F6\u53D1\u751F\u9519\u8BEF [
-HopGui.Dialog.PromptPipelineName.Title=\u8F6C\u6362\u8FD8\u6CA1\u6709\u540D\u5B57.
-HopGui.Tooltip.NewTranformation=\u65B0\u5EFA\u8F6C\u6362, \u6E05\u9664\u6240\u6709\u8BBE\u7F6E
-HopGui.Menu.View.Results=\u6267\u884C\u7ED3\u679C\u9762\u677F
-PipelineGraph.Dialog.NoteEditor.Message=\u6CE8\u91CA\u6587\u672C\:
-HopGui.Menu.ExploreConnection=\u6D4F\u89C8\u6570\u636E\u5E93
-TransformPerformanceSnapShotDialog.Updated=\u66F4\u65B0
-HopGui.Log.CheckTransformTreeItem=\u68C0\u67E5\u6B65\u9AA4\u6811\u5BF9\u8C61
-HopGui.Menu.Workflow.PasteJobFromClipboard=\u4ECE\u526A\u8D34\u677FP&aste workflow
-HopGui.Menu.Pipeline.Settings=&\u8BBE\u7F6E...
-PipelineGraph.HelpToolTip.DoNotShowAnyMoreCheckBox.Message=\u4E0D\u518D\u663E\u793A\u8FD9\u4E2A\u63D0\u793A
-PipelineGraph.PopupMenu.CopyToClipboard=\u590D\u5236\u5230\u526A\u8D34\u677F
-HopGuiServer.Column.Rejected=\u62D2\u7EDD
-HopGui.Hop.MainOutputOfTransform=\u4E3B\u8F93\u51FA\u6B65\u9AA4
-PipelineLog.Column.Read=\u8BFB
-HopGui.Log.FileWritten=\u6587\u4EF6\u88AB\u5199\u5165
-PipelineLog.ResultsPanel.NameLabel=\u6267\u884C\u7ED3\u679C
-HopGui.Menu.File.Save=&\u4FDD\u5B58
-PipelineGraph.Dialog.GettingFields.Title=\u83B7\u53D6\u5B57\u6BB5\u9519\u8BEF
-PipelineLog.Button.ResumePipeline=\u6062\u590D(&R)
-HopGui.Dialog.AddingHopCausesLoop.Title=\u8B66\u544A\!
-HopGui.Menu.Pipeline.CopyPipelineToClipboard=&\u590D\u5236\u8F6C\u6362\u5230\u526A\u8D34\u677F
-HopGui.StringSearchResult.Subtitle=\u641C\u7D22\u7ED3\u679C
-PipelineGraph.Dialog.TransformDescription.Message=\u6B65\u9AA4\u63CF\u8FF0\:
-HopGui.Log.SaveAs=\u53E6\u5B58\u4E3A...
-HopGui.Exception.ErrorCreatingNewJob.Title=\u9519\u8BEF
-PipelineGraph.PopupMenu.EnableHop=\u4F7F\u8282\u70B9\u8FDE\u63A5\u751F\u6548
-PipelineGraph.Dialog.CouldntFindFields.Title=\u5B57\u6BB5\u4FE1\u606F
-PipelineLog.System.EXCEPTION2=\u5F02\u5E38
-HopGui.Menu.Wizard.CopyTables=\u590D\u5236\u591A\u8868\u5411\u5BFC(&C)
-HopGui.Title.ExecHistoryPipelineView.Tooltip=Execution history for pipeline\: {0}
-HopGui.Dialog.ShowArguments.Title=\u5B58\u5728\u7684\u53C2\u6570
-PipelineGraph.PopupMenu.AllignDistribute=\u5BF9\u9F50 / \u5206\u6563
-HopGui.Log.ElementHasParent=\u5143\u7D20\u6709\u7236\u5143\u7D20\:
-HopGui.Menu.Popup.STEPS.Edit=Edit
-PipelineGraph.Dialog.TransformIsAlreadyOnCanvas.Message=\u6B65\u9AA4\u5DF2\u7ECF\u5728\u753B\u5E03\u4E0A\!
-HopGui.Menu.Workflow.GetSQL=\u83B7\u5F97SQL(&G)
-HopGui.Menu.Pipeline.Pause=\u6682\u505C(&P)
-HopGui.Menu.Popup.HOPS.Edit=Edit
-HopGuiServer.Column.TransformName=\u8F6C\u6362 / \u6B65\u9AA4
-PipelineGraph.Dialog.Warning.DeleteTransforms2.Message=\ \u4E0B\u5217\u6B65\u9AA4\u5417?
-PipelineGraph.PopupMenu.Settings=\u8F6C\u6362\u8BBE\u7F6E\tCTRL-T
-HopGui.Log.ErrorOpeningFileForWriting=\u9519\u8BEF\u6253\u5F00\u8981\u5199\u7684\u6587\u4EF6\! --> 
-HopGui.Dialog.UnableChangeUser.Title=\u7F16\u8F91\u7528\u6237
-HopGui.Message.Note.WriteInformationToTableOnDB2=\u5199\u4FE1\u606F\u5230\u8868[{0}]\u5728\u6570\u636E\u5E93[{1}]
-HopGui.Log.UnexpectedErrorRetry.Titel=\u53D1\u751F\u9519\u8BEF\u540E\u7EE7\u7EED\u8FD0\u884C HopGui ?
-HopGui.Menu.File.Publish=Publish...
-HopGui.Menu.File.Open.Recent.Popup=\u6253\u5F00\u6700\u8FD1\u7684\u914D\u7F6E
-HopGui.Dialog.Title.TransformnameExists=
-PipelineGraph.Dialog.GettingFields.Message=\u5728\u67E5\u627E\u5B57\u6BB5\u65F6\u53D1\u751F\u5F02\u5E38\!
-HopGui.Log.ErrorLoadingAndHaltSystem=\u9519\u8BEF\u52A0\u8F7D\u6B65\u9AA4\u548C\u8865\u4E01... \u505C\u6B62HopGui\!
-HopGui.STRING_BUILDING_BLOCKS=\u6B65\u9AA4\u548CJob
-HopGui.Menu.Tools.Data.New=New
-HopGui.Menu.File.New=&\u65B0\u5EFA
-HopGui.Menu.ShowLog=Log
-HopGui.Log.DUPE.ElementHasParent=(DUPE) \u5143\u7D20\u6709\u7236\u5143\u7D20.
-HopGui.Menu.Edit.ClearSelection=&\u6E05\u9664\u9009\u62E9
-PipelineGraph.Dialog.ItemCanNotBePlacedOnCanvas.Title=\u9519\u8BEF\uFF01
-PipelineHistory.Column.DependencyDate=\u4F9D\u8D56\u65E5\u671F
-HopGui.Message.Warning.SaveOK=\u4FDD\u5B58\u6210\u529F\!
-HopGui.Dialog.UnableOpenDialog.Message=\u65E0\u6CD5\u6253\u5F00\u8FD9\u4E2A\u6B65\u9AA4\u7A97\u53E3
-HopGui.Hop.MainInputOfTransform=\u4E3B\u8F93\u5165\u6B65\u9AA4
-HopGui.Menu.ShowPipelinePerf=Performance
-HopGui.Dialog.GiveJobANameBeforeSaving.Title=\u8FD9\u4E2A\u4F5C\u4E1A\u6CA1\u6709\u540D\u5B57
-HopGui.Log.FoundNotepads=\u53D1\u73B0{0} notepads to paste.
-PipelineHistory.Button.Clear=\u6E05\u7A7A\u5386\u53F2
-WorkflowLog.Button.ShowErrorLines=\u663E\u793A\u9519\u8BEF\u884C
-HopGui.Menu.Edit.Cut=\u526A\u5207
-PipelineGraph.Dialog.HopCausesLoop.Title=\u8B66\u544A\!
-HopGui.Dialog.JobNoSQLNeedEexecuted.Title=SQL
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui' in locale 'zh_CN'
+#
+#
+HopGui.Menu.File.SaveAs=\u53E6&\u5B58\u4E3A...
+HopGui.Menu.Undo.NotAvailable=\u64A4\u9500\: \u4E0D\u53EF\u83B7\u5F97
 HopGui.Dialog.ExceptionCopyToClipboard.Title=\u9519\u8BEF
-HopGuiServer.Column.Active=\u72B6\u6001
-HopGui.Dialog.UnablePasteTransforms.Title=\u9519\u8BEF\u7C98\u8D34\u6B65\u9AA4...
-HopGui.Menu.File.SaveAsVFS=\u53E6\u5B58&\u4E3A(VFS)...
-PipelineGraph.Dialog.ErrorDuplicatingTransform.Message=\u590D\u5236\u6B65\u9AA4\u65F6\u53D1\u751F\u4E86\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF
-HopGuiServer.Column.Speed=\u901F\u5EA6 (\u6761/\u79D2)
-PipelineLog.Dialog.ErrorWritingLogRecord.Title=\u9519\u8BEF\u5730\u5199\u65E5\u5FD7\u8BB0\u5F55
-PipelineHistory.Error.InvalidReplayDate=\u65E0\u6548\u7684\u91CD\u653E\u65E5\u671F\: 
-HopGui.Message.Note.ReadFromTable=\u4ECE\u8868 [{0}]\u8BFB\u5165
-HopGui.Dialog.NoRemoteServerSpecified.Title=\u6CA1\u6709\u8FDC\u7A0B\u670D\u52A1\u5668
-HopGui.Log.CopyTransformToClipboard=\u590D\u5236\u6B65\u9AA4\u5230\u526A\u8D34\u677F\:
-HopGui.Menu.Popup.CONNECTIONS.NewConnectionWizard=\u65B0\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u5411\u5BFC
-HopGui.Menu.Edit.CopyToClipboard=\u590D\u5236\u6240\u9009\u7684\u6B65\u9AA4\u5230\u526A\u8D34\u677F
-HopGui.Message.Note.HandleReservedWords=\u5904\u7406\u4FDD\u7559\u5B57
-HopGuiServer.ErrorStartingPipeline.Message=There was an error while starting this pipeline on the server
-HopGui.Tooltip.GenerateSQLForTranformation=\u4EA7\u751F\u9700\u8981\u8FD0\u884C\u8FD9\u4E2A\u8F6C\u6362\u7684SQL
-HopGuiServer.Column.Input=\u8F93\u5165
-HopGui.Dialog.ErrorDeletingClusterSchema.Message=\u5220\u9664\u96C6\u7FA4\u6A21\u5F0F\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-PipelineGraph.ExecutionResultsPanel.MaxButton.Tooltip=\u6700\u5927\u5316\u6267\u884C\u7ED3\u679C\u9762\u677F
-HopGui.RipDB.Monitor.ToTransform.Name=\u5199\u5230 [
-HopGui.Error.UnableToLoadSharedObjects.Title=\u9519\u8BEF
-HopGui.Menu.Edit.Search=\u641C\u7D22&\u5143\u6570\u636E
-HopGui.Menu.Workflow.Stop=\u505C\u6B62(&S)
-HopGui.STRING_HOPS=Hops\uFF08\u8282\u70B9\u8FDE\u63A5\uFF09
-PipelineHistory.Column.Written=\u5199
-PipelineLog.Column.Written=\u5199
-HopGui.Menu.Popup.JOBENTRIES.Duplicate=Create shadow copy
-TransformPerformanceSnapShotDialog.OutputBufferSize=\u8F93\u51FA\u7F13\u51B2\u533A
-HopGui.Tooltip.ResumeTranformation=\u6062\u590D\u6682\u505C\u7684\u8F6C\u6362
-TransformPerformanceSnapShotDialog.Transforms.Label=\u6B65\u9AA4\:
-PipelineLog.Column.Copynr=\u590D\u5236\u7684\u8BB0\u5F55\u884C\u6570
-PipelineHistory.Column.Output=\u8F93\u51FA
-HopGui.Menu.Popup.CLUSTERS.Delete=Delete clustering schema
-HopGui.Menu.View.ZoomIn=\u653E\u5927(&I)
-HopGui.Menu.View.Zoom100=\u7B49\u6BD4\u4F8B(&P)
-HopGui.Tooltip.DisplaysHistoryLogging=\u663E\u793A\u524D\u4E00\u4E2A\u8FD0\u884C\u8FC7\u7684\u8F6C\u6362\u7684\u5386\u53F2.
-PipelineGraph.PopupMenu.Clustering=\u96C6\u7FA4...
-HopGui.Menu.Pipeline.Verify=&\u6821\u9A8C
-HopGui.Log.ElementHasNoParent=\u5143\u7D20\u6CA1\u6709\u7236\u5143\u7D20
-HopGui.Menu.Popup.CONNECTIONS.Edit=\u7F16\u8F91
-HopGui.Tooltip.HideExecutionResults=\u9690\u85CF\u6267\u884C\u7ED3\u679C\u9762\u677F
-HopGui.Menu.Tools=\u5DE5\u5177
-HopGui.Menu.Pipeline.ShowLastVerifyResults=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u5F71\u54CD\u7ED3\u679C
-HopGui.Menu.Pipeline.Last.Popup=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u7684\u64CD\u4F5C
-HopGui.ErrorDialog.RipDB.ErrorRippingTheDatabase.Title=\u9519\u8BEF\u590D\u5236\u6570\u636E\u5E93
+HopGui.Dialog.PromptToSave.Message=\u6587\u4EF6\u5DF2\u53D1\u751F\u6539\u53D8\u3002 \u662F\u5426\u8FDB\u884C\u4FDD\u5B58?
+HopGui.Menu.ShowPipelineLog=Log 
+PipelineLog.Error.InvalidReplayDateFormat=\u9519\u8BEF\u7684\u91CD\u653E\u65E5\u671F, \u5E94\u5F53\u62E5\u6709\u683C\u5F0F 
+HopGui.Dialog.UnableCreateNewTransform.Message=\u65E0\u6CD5\u521B\u5EFA\u4E00\u4E2A\u65B0 Transform
+HopGui.Menu.Edit.EditHopProperties=\u7F16\u8F91hop.properties\u6587\u4EF6
+HopGui.Dialog.TransformPluginList.Message=\u53EF\u4EE5\u4F7F\u7528\u7684 Transform \u548C Transform \u63D2\u4EF6\:
+HopGui.Menu.Redo.Available=\u91CD\u505A\: {0}
+HopGui.Menu.TransformPlugins=\u663E\u793A Transform \u63D2\u4EF6\u7684\u4FE1\u606F
+PipelineGraph.PopupMenu.DistributeVertically=\u5782\u76F4\u5206\u6563
+PipelineGraph.Dialog.HopCausesLoop.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u4F1A\u5728\u8F6C\u6362\u91CC\u5BFC\u81F4\u5FAA\u73AF\u3002\u5FAA\u73AF\u88AB\u7981\u6B62\uFF01
+HopGui.RipDB.Monitor.ProcessingTable=\u5904\u7406\u8868 [
+PipelineLog.System.ERROR=\u9519\u8BEF
+JobHistory.Button.Replay=\u91CD\u653E
+PipelineLog.Dialog.DoNoPreviewWhileRunning.Title=\u62B1\u6B49
+PipelineGraph.Logging.EditingHop=\u7F16\u8F91\u8282\u70B9\u8FDE\u63A5\: 
+HopGuiServer.Button.Refresh=\u5237\u65B0(&R)
 HopGui.ExploreDB.SelectDB.Title=\u8FDB\u884C\u9009\u62E9
-PipelineGraph.Dialog.AreYouSureYouWantToRemoveAllLogEntries.Title=\u95EE\u9898
-PipelineLog.Log.CouldNotLinkInputToOutputPipe=\u65E0\u6CD5\u521B\u5EFA input-pipe \u4E0E output-pipe\u4E4B\u95F4\u7684\u8FDE\u63A5\!
-PipelineHistory.Error.GettingInfoFromLoggingTable=\u4ECE\u65E5\u5FD7\u8868\u83B7\u53D6\u4FE1\u606F\u5931\u8D25
-HopGui.Tooltip.SaveDifferentNameTranformation=\u4EE5\u4E0D\u540C\u540D\u79F0\u4FDD\u5B58\u8F6C\u6362
-HopGui.UnknownFileType.Message=\u6587\u4EF6''{0}'' \u4E0D\u662F Hop \u7684\u6587\u4EF6\u7C7B\u578B
-HopGui.Dialog.ShowVariables.Title=\u5F53\u524D\u7684\u53D8\u91CF
-HopGui.Title.ExecHistoryJobView.Tooltip=Execution history for workflow\: {0}
-HopGui.Menu.Pipeline.ShowLastImpactAnalyses=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u5F71\u54CD\u5206\u6790
-HopGuiServer.Column.Updated=\u66F4\u65B0
-PipelineGraph.PopupMenu.CheckSelectedTransforms=\u68C0\u67E5\u6240\u9009\u6B65\u9AA4
-HopGui.Log.EditTransform=\u7F16\u8F91\u6B65\u9AA4\: 
-PipelineGraph.PopupMenu.NewHop=\u65B0\u5EFA\u8282\u70B9\u8FDE\u63A5
-PipelineGraph.Dialog.EditNote.Title=\u6CE8\u91CA
-PipelineLog.Dialog.PerformanceMonitoring.Button=\u914D\u7F6E...
-WorkflowLog.Button.ClearLog=\u6E05\u9664\u65E5\u5FD7
-HopGui.Menu.File.ExportAll=\u5BFC\u51FA\u5230XML\u6587\u4EF6(ZIP\u538B\u7F29)...
-PipelineLog.Column.Output=\u8F93\u51FA
-HopGui.Menu.Popup.CLUSTERS.Edit=Edit clustering schema
-HopGui.STRING_TRANSFORMS=Transforms\uFF08\u6B65\u9AA4\uFF09
-HopGui.Menu.Popup.BASE.New=\u65B0\u5EFA
-HopGui.Dialog.ExceptionPasteFromClipboard.Message=\u5F53\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u6570\u636E\u65F6,\u53D1\u751F\u4E86\u4E00\u4E2A\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF.
-PipelineGraph.Dialog.SplitHop.Message=\u4F60\u60F3\u628A\u8282\u70B9\u8FDE\u63A5\u62C6\u5F00\u5417?
-HopGui.STRING_HISTORY=\u6B65\u9AA4\u521B\u5EFA\u5386\u53F2
-HopGui.Log.UnableVerifyUser=\u65E0\u6CD5\u6821\u9A8C\u7528\u6237\u540D\u79F0\u548C\u5BC6\u7801.
-HopGui.Menu.Tools.Plugins.Popup=Plug-Ins
-HopGui.Menu.File.Import.Popup=\u5BFC\u5165
-HopGui.Menu.Popup.CONNECTIONS.Share=\u5171\u4EAB
-HopGui.Dialog.ErrorShowingHelpText.Message=\u65E0\u6CD5\u663E\u793A\u9519\u8BEF\u5E2E\u52A9\u6587\u672C\!
-HopGui.Log.ClickedOn=\u70B9\u51FB
-HopGui.Dialog.ErrorDeletingPartitionSchema.Message=\u5220\u9664\u5206\u533A\u6A21\u5F0F\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-HopGui.Dialog.ErrorReadingSharedObjects.Message=\u5C06\u5171\u4EAB\u5BF9\u8C61\u8BFB\u5230\u8F6C\u6362[{0}]\u65F6\u53D1\u751F\u9519\u8BEF
-PipelineGraph.Dialog.HopCausesRowMixing.Message=\u8FD9\u4E2A\u8FDE\u63A5\u4F7F\u76EE\u6807\u6B65\u9AA4\u63A5\u6536\u5E26\u6709\u6DF7\u5408\u6837\u5F0F\u7684\u884C\!
-HopGui.Dialog.ImpactAnalyses.Message=\u5206\u6790\u7ED3\u679C\:
-HopGui.Menu.ShowPipelineHistory=History
-HopGui.Dialog.PromptPipelineName.Message=\u5728\u4FDD\u5B58\u8FD9\u4E2A\u8F6C\u6362\u5230\u6570\u636E\u5E93\u4E4B\u524D\uFF0C\u8BF7\u7ED9\u8FD9\u4E2A\u8F6C\u6362\u4E00\u4E2A\u540D\u79F0.
-PipelineLog.Button.StopPipeline=\ &\u505C\u6B62\u8F6C\u6362 
-PipelineGraph.Dialog.TransformDescription.Title=\u6B65\u9AA4\u63CF\u8FF0\u5BF9\u8BDD\u6846
-HopGui.Various.Changed=(\u6709\u53D8\u52A8)
-HopGui.Dialog.TransformnameExists.Message=\u8FD9\u4E2A\u6B65\u9AA4\u5DF2\u7ECF\u5B58\u5728.  HopGui\u66F4\u6539\u8FD9\u4E2A\u6B65\u9AA4\u540D\u4E3A[{0}]
-HopGui.Dialog.HopExists.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u5DF2\u7ECF\u5B58\u5728\!
-HopGui.Menu.Popup.SLAVE_SERVER.Edit=Edit
-PipelineLog.System.ERROR2=\u9519\u8BEF
-HopGui.Menu.File.SaveAs=\u53E6&\u5B58\u4E3A...
-PipelineLog.Dialog.EnterReplayDate.Title=\u8F93\u5165\u91CD\u653E\u8F6C\u6362\u7684\u65E5\u671F
-HopGui.Dialog.GiveJobANameBeforeSaving.Message=\u5C06\u4F5C\u4E1A\u4FDD\u5B58\u5230\u6570\u636E\u5E93\u4E4B\u524D,\u8BF7\u547D\u540D\u8BE5\u4F5C\u4E1A.
-PipelineGraph.PopupMenu.EditTransformDescription=\u7F16\u8F91\u6B65\u9AA4\u63CF\u8FF0
-PipelineLog.Log.DoPreview=\u9884\u89C8\!\!\!
-HopGui.Dialog.OpenFileVFS.Message=\u5236\u5B9A\u8981\u6253\u5F00\u6587\u4EF6\u7684URL\:
-HopGui.Menu.Pipeline.GetSQL=&\u83B7\u53D6SQL
-HopGuiServer.Column.Read=\u8BFB
-PipelineGraph.PopupMenu.FlipDirection=\u7FFB\u8F6C\u65B9\u5411
-HopGui.Menu.Popup.PARTITIONS.Edit=Edit partitioning schema
-PipelineLog.Column.Speed=\u901F\u5EA6 (\u6761\u8BB0\u5F55/\u79D2)
+HopGui.Log.CheckTransforms=\u68C0\u67E5 Transform
+PipelineGraph.PopupMenu.DistributeHorizontally=\u6C34\u5E73\u5206\u6563
+HopGui.Menu.Edit.SelectAllTransforms=\u9009\u62E9\u6240\u6709\u7684 Transform(&A)
+HopGui.Menu.Popup.CONNECTIONS.CopyToClipboard=\u590D\u5236\u5230\u526A\u8D34\u677F
+HopGuiServer.Button.Close=\u5173\u95ED\u8FD9\u4E2A\u9875\u9762(&C)
 HopGui.Menu.Edit.Copy.File=\u590D\u5236\u6587\u4EF6
-HopGui.RipDB.ActionSQL.Name=\u521B\u5EFA\u8868 [
-PipelineGraph.Dialog.Warning.DeleteTransforms.Message=\u786E\u8BA4\u662F\u5426\u79FB\u53BB\u8FD9\u4E9B\u8F6C\u6362\u6B65\u9AA4\:
-HopGuiServer.Button.ShowErrorLines=&\u663E\u793A\u9519\u8BEF\u884C 
-HopGui.Various.NoName=[\u6CA1\u6709\u540D\u79F0]
-PipelineGraph.Dialog.LoopAfterHopEnabled.Title=\u5FAA\u73AF\u8B66\u544A\!
+HopGui.Menu.Help.Welcome=\u663E\u793A\u6B22\u8FCE\u5C4F\u5E55(&S)
+PipelineLog.Column.PriorityBufferSizes=Pri/in/out
+HopGui.RipDB.Monitor.FromTransform.Description2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
+HopGui.Exception.ErrorCreatingNewJob.Title=\u9519\u8BEF
+PipelineGraph.Dialog.ErrorDuplicatingTransform.Message=\u590D\u5236 Transform \u65F6\u53D1\u751F\u4E86\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF
+HopGui.Menu.Popup.PARTITIONS.Edit=Edit partitioning schema
+HopGui.RipDB.Monitor.PipelineName1=\u590D\u5236\u5230 [
+HopGui.RipDB.Monitor.PipelineName2=] \u5230 [
+HopGui.Menu.Popup.CONNECTIONS.New=\u65B0\u5EFA
+PipelineLog.Log.Transform=Transform\: 
+HopGui.Menu.ShowExecutionResults=Results
+HopGui.Dialog.NotAllowedChangeUser.Title=\u62B1\u6B49
+PipelineGraph.Dialog.EditNote.Message=\u6CE8\u91CA\u6587\u672C\:
+HopGui.Menu.ShowPipelineHistory=History
+HopGui.Dialog.ExceptionPasteFromClipboard.Message=\u5F53\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u6570\u636E\u65F6,\u53D1\u751F\u4E86\u4E00\u4E2A\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF.
 HopGui.RipDB.ActionPipeline.Name=\u590D\u5236\u6570\u636E\u5230 [
-HopGui.Dialog.ErrorSavingDatabaseCache.Message=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4FDD\u5B58\u6570\u636E\u5E93\u7F13\u5B58\u5230\u78C1\u76D8\u8FC7\u7A0B\u4E2D
-HopGui.Menu.Tools.Database.Explore=\u6D4F\u89C8
+PipelineGraph.PopupMenu.NewTransform=\u65B0\u5EFA Transform(&N) ...
 HopGui.Menu.Popup.STEPS.NewHop=New Hop
-HopGui.Tooltip.SelectTransformType=\u9009\u62E9\u4E0B\u5217\u7684\u6B65\u9AA4\u7C7B\u578B \u5E76\u4E14{0} \u62D6\u653E\u5B83\u5230\u53F3\u8FB9\u7684\u56FE\u5F62\u89C6\u56FE\u4E0A.
-HopGui.Various.DupeName=(copy of) 
-HopGuiServer.Column.PriorityBufferSizes=\u8F93\u5165/\u8F93\u51FA
-HopGui.Hop.ErrorHandlingOfTransform=\u9519\u8BEF\u5904\u7406\u6B65\u9AA4
-HopGui.Dialog.PromptOverwritePipeline.Title=\u8986\u76D6?
-PipelineLog.Column.Input=\u8F93\u5165
-HopGui.Dialog.LoadPipelineError.Title=\u9519\u8BEF \u52A0\u8F7D\u8F6C\u6362
-HopGui.Dialog.ErrorDeletingConnection.Message=\u9519\u8BEF\u5220\u9664\u6765\u81EA\u8D44\u6E90\u5E93\u7684\u6570\u636E\u5E93\u8FDE\u63A5{0}\!
-HopGui.Menu.Popup.CONNECTIONS.UnShare=\u505C\u6B62\u5171\u4EAB
-HopGui.Log.EDIT.ElementHasParent=(EDIT) \u5143\u7D20\u6709\u7236\u5143\u7D20.
+HopGui.Menu.File.NewWorkflow=Workflow
+HopGui.Dialog.JobAlreadyLoaded.Title=Sorry
+PipelineGraph.PopupMenu.EditTransform=\u7F16\u8F91 Transform
+HopGui.Tooltip.SaveCurrentTranformation=\u4FDD\u5B58\u5F53\u524D Pipeline
+HopGui.Log.CopyTransformToClipboard=\u590D\u5236 Transform \u5230\u526A\u8D34\u677F\:
+HopGui.Menu.Popup.BASE.LogWindow=\u6253\u5F00\u65E5\u5FD7\u89C6\u56FE
+WorkflowLog.Dialog.SaveJobBeforeRunning.Title=\u4FDD\u5B58 Workflow
 HopGui.ExploreDB.SelectDB.Message=\u9009\u62E9\u8981\u6D4F\u89C8\u7684\u6570\u636E\u5E93...
-JobHistory.Button.Refresh=\u5237\u65B0\u4F5C\u4E1A\u5386\u53F2
-HopGui.STRING_BASE=\u57FA\u672C\u6B65\u9AA4\u7C7B\u578B
-PipelineGraph.PopupMenu.DistributeHorizontally=\u6C34\u5E73\u5206\u6563
-HopGui.Menu.Pipeline.Paste.Popup=Paste
-HopGui.Menu.Popup.PARTITIONS.New=New partitioning schema
-PipelineGraph.HelpToolTip.CreatingHops.Message=- \u4F7F\u7528\u9F20\u6807\u4E2D\u95F4\u952E\u4ECE\u4E00\u4E2A\u6B65\u9AA4\u62D6\u5230\u53E6\u4E00\u4E2A\u6B65\u9AA4.\r\n- \u6309\u4F4F SHIFT \u952E,\u4ECE\u4E00\u4E2A\u6B65\u9AA4\u62D6\u5230\u53E6\u4E00\u4E2A\u6B65\u9AA4.
-PipelineGraph.PopupMenu.EditNote=\u7F16\u8F91\u6CE8\u91CA
-HopGui.Menubar.File.NewSlave=\u5B50\u670D\u52A1\u5668
-PipelineGraph.PopupMenu.Error=\u5B9A\u4E49\u9519\u8BEF\u5904\u7406...
-TransformPerformanceSnapShotDialog.Input=\u8F93\u5165
-HopGuiServer.Button.Close=&\u5173\u95ED\u8FD9\u4E2A\u9875\u9762 
-HopGui.Menu.Edit=&\u7F16\u8F91
-PipelineLog.Dialog.FileHasChanged1.Message=\u5728\u8FD0\u884C\u8F6C\u6362\u524D\u8BF7\u5148\u4FDD\u5B58\u5B83.
+HopGui.Log.TryingOpenLastUsedFile=\u8BD5\u56FE\u6253\u5F00\u6700\u8FD1\u4F7F\u7528\u7684\u6587\u4EF6.
+PipelineGraph.PopupMenu.ClearSelection=\u53D6\u6D88\u9009\u62E9
 HopGui.Title.GraphicalView=\u56FE\u5F62\u89C6\u56FE
-HopGui.RipDB.ActionPipeline.Description3=\u5230\:   [
-HopGui.RipDB.ActionPipeline.Description2=\u4ECE\: [
-HopGui.RipDB.ActionPipeline.Description1=\u8FD9\u4E2A\u4F5C\u4E1A\u9879\u6267\u884C\u590D\u5236\u6570\u636E\u7684\u8F6C\u6362
-PipelineLog.Button.LogSettings=\ &\u65E5\u5FD7\u8BBE\u7F6E 
-HopGui.Menu.Popup.CONNECTIONS.ClearDBCacheComplete=Clear complete DB Cache
-HopGui.Log.MainWindowCreated=\u4E3B\u7A97\u53E3\u88AB\u521B\u5EFA
-HopGui.Dialog.ErrorDeletingClusterSchema.Title=\u9519\u8BEF
-HopGuiServer.Button.Refresh=&\u5237\u65B0 
-PipelineGraph.PopupMenu.DetachTransform=\u5206\u79BB\u6B65\u9AA4
-PipelineLog.Dialog.SavePipelineBeforeRunning.Title=\u6587\u4EF6\u5DF2\u7ECF\u6539\u53D8\!
-HopGui.Dialog.TransformnameExists.Title=\u6CE8\u91CA
-HopGui.Menu.View=\u89C6\u56FE
-PipelineGraph.PopupMenu.NewNote=\u65B0\u5EFA&\u6CE8\u91CA
-PipelineGraph.Dialog.EditNote.Message=\u6CE8\u91CA\u6587\u672C\:
-HopGui.Menu.Pipeline.PastePipelineFromClipboard=\u4ECE\u526A\u8D34\u677F\u7C98&\u8D34\u8F6C\u6362
-HopGuiServer.Column.Copynr=\u590D\u5236\u7684\u884C\u6570\u91CF
+HopGui.Menu.View=\u89C6\u56FE(&V)
+HopGuiServer.Column.Rejected=\u62D2\u7EDD
 HopGui.Dialog.ActionCanNotBeChanged.Title=Sorry...
-HopGui.Menu.Popup.CLUSTERS.Monitor=Monitor all hop servers
-HopGui.Log.CheckTransforms=\u68C0\u67E5\u6B65\u9AA4
-PipelineLog.Dialog.SavePipelineBeforeRunning2.Title=\u6CA1\u6709\u6587\u4EF6\u540D\!
-HopGui.Menu.Popup.STEPS.SortTransforms=\u6392\u5E8F\u6B65\u9AA4
-HopGui.ErrorDialog.ErrorPasingActions.Message=I was unable to paste actions to this workflow
-HopGui.Menu.File.NewSlave=\u4ECE\u670D\u52A1\u5668
-HopGui.Dialog.SetVariables.Title=\u8BBE\u7F6E\u53D8\u91CF
+HopGui.Menu.Pipeline.Pause=\u6682\u505C(&P)
+HopGui.Menu.Popup.CONNECTIONS.ClearDBCacheComplete=Clear complete DB Cache
+HopGui.ErrorDialog.Title=\u9519\u8BEF
+HopGui.Menu.Popup.JOBENTRIES.Duplicate=Create shadow copy
+HopGuiBrowser.Dialog.Back=\u5411\u540E
+HopGui.Dialog.ErrorSavingConnection.Message=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5[{0}]\u5230\u8D44\u6E90\u5E93\u65F6\u53D1\u751F\u9519\u8BEF\uFF01
+HopGui.Log.DuplicateTransform=\u590D\u5236 Transform\:
 HopGui.Dialog.SaveChangedFile.Message=\u6587\u4EF6\u5DF2\u7ECF\u6539\u53D8\u3002\u4F60\u60F3\u5148\u4FDD\u5B58\u5B83\u5417?
+PipelineLog.Dialog.FileHasChanged1.Message=\u5728\u8FD0\u884C\u8F6C\u6362\u524D\u8BF7\u5148\u4FDD\u5B58\u5B83.
+HopGui.Menu.File.Export=\u5BFC\u51FA\u5230XML\u6587\u4EF6
+HopGui.Dialog.ShowVariables.Message=Here is the list of defined variables\:
+PipelineGraph.Dialog.MultipleCopiesAreNotAllowedHere.Title=Sorry
+PipelineGraph.PopupMenu.SelectAll=\u5168\u9009
+HopGui.Menu.Popup.HOPS.Edit=Edit
+HopGuiServer.Button.ShowErrorLines=&\u663E\u793A\u9519\u8BEF\u884C 
+HopGui.Log.MutuallyExcusive=\u591A\u4E8E\u4E00\u4E2A\u4E92\u76F8\u6392\u65A5\u7684\u9009\u9879. /\u6587\u4EF6, /Workflow \u548C/Pipeline \u4E92\u76F8\u6392\u65A5.
+PipelineLog.Column.TransformName=Transform \u540D\u79F0
+HopGui.Exception.ErrorReadingSharedObjects.Message=\u8BFB\u53D6\u5171\u4EAB\u5BF9\u8C61\u65F6\u53D1\u751F\u4E00\u4E2A\u4E25\u91CD\u9519\u8BEF
+HopGui.Dialog.ExceptionCopyToClipboard.Message=\u5F53\u590D\u5236\u6570\u636E\u5230\u526A\u8D34\u677F\u65F6,\u53D1\u751F\u4E86\u4E00\u4E2A\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF.
+PipelineHistory.Column.BatchID=\u6279\u6B21ID
+HopGui.Menu.Popup.CONNECTIONS.UnShare=\u505C\u6B62\u5171\u4EAB
+HopGui.STRING_HISTORY=Transform \u521B\u5EFA\u5386\u53F2
+HopGui.Dialog.CopyOrDistribute.Copy=\u590D\u5236
+PipelineLog.Button.ShowGraph=\u56FE
+PipelineLog.Button.PausePipeline=\u6682\u505C(&P)
+PipelineGraph.Dialog.EditNote.Title=\u6CE8\u91CA
+HopGui.Dialog.ErrorCreatingWorkflowDialog.Title=\u521B\u5EFA\u5BF9\u8BDD\u6846\u65F6\u51FA\u9519
+HopGui.TabJob.Tooltip=workflow\u7684\u56FE\u5F62\u89C6\u56FE [{0}]
+HopGui.Dialog.UnexpectedError.Message=\u4E00\u4E2A\u672A\u9884\u671F\u7684\u9519\u8BEF\u53D1\u751F\u5728\u65B0\u5EFA\u4E00\u4E2A\u8F6C\u6362\u7684\u65F6\u5019
+PipelineGraph.PopupMenu.NewHop=\u65B0\u5EFA\u8282\u70B9\u8FDE\u63A5
+HopGui.Message.Note.WriteInformationToTableOnDB2=\u5199\u4FE1\u606F\u5230\u8868[{0}]\u5728\u6570\u636E\u5E93[{1}]
+HopGui.Error.UnableToLoadSharedObjects.Message=\u52A0\u8F7D\u5171\u4EAB\u5BF9\u8C61\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+PipelineGraph.Dialog.Warning.DeleteTransforms2.Message=\ \u4E0B\u5217 Transform \u5417?
+PipelineGraph.Dialog.NrOfCopiesOfTransform.Message=\u590D\u5236\u7684\u6570\u91CF (1 \u6216\u66F4\u591A)
+HopGui.Various.NoName=[\u6CA1\u6709\u540D\u79F0]
+PipelineGraph.Dialog.ItemCanNotBePlacedOnCanvas.Title=\u9519\u8BEF\uFF01
+HopGui.Menu.Popup.CONNECTIONS.Duplicate=\u590D\u5236
+HopGui.Menu.Help.About=\u5173\u4E8E...
+HopGui.Dialog.ErrorDeletingConnection.Title=\u9519\u8BEF
+HopGui.Menu.Edit.Search=\u641C\u7D22&\u5143\u6570\u636E
+HopGui.Menu.Popup.STEPS.Delete=\u5220\u9664
+PipelineGraph.Dialog.AreYouSureYouWantToRemoveAllLogEntries.Title=\u95EE\u9898
+HopGui.Tooltip.ReplayTranformation=\u91CD\u653E\u8FD9\u4E2A Pipeline
+PipelineLog.Button.ClearLog=\ \u6E05\u9664\u65E5\u5FD7(&C)
 HopGui.Tooltip.AnalyzeTranformation=\u5206\u6790\u8FD9\u4E2A\u8F6C\u6362\u5728\u6570\u636E\u5E93\u7684\u5F71\u54CD
-PipelineLog.Button.StartPipeline=\ &\u5F00\u59CB\u8F6C\u6362 
-HopGui.Dialog.SetVariables.Message=Please enter the values of the variables or create new ones
-HopGui.Menu.Help.Credits=&\u81F4\u8C22
-HopGui.Title.LogJobHistoryView=\u65E5\u5FD7\u5386\u53F2 (J)\: {0}
-HopGui.Menu.Popup.CONNECTIONS.CopyToClipboard=\u590D\u5236\u5230\u526A\u8D34\u677F
-HopGui.Dialog.ErrorHelpText.Title=\u9519\u8BEF\u5E2E\u52A9\u6587\u672C
-HopGui.Menu.Popup.BASE.HistoryWindow=\u6253\u5F00\u5386\u53F2\u89C6\u56FE
-HopGui.STRING_PARTITIONS=\u6570\u636E\u5E93\u5206\u533Aschemas
-TransformPerformanceSnapShotDialog.Rejected=\u62D2\u7EDD
-HopGui.Dialog.UnableLoadPipeline.Title=\u9519\u8BEF\uFF01
-HopGui.Exception.ErrorReadingXULFile.Message=\u8BFB\u53D6 XUL \u6587\u4EF6(\u83DC\u5355,\u6807\u7B7E,\u7B49)\u65F6\u53D1\u751F\u9519\u8BEF,\u6587\u4EF6\u540D\u79F0{0}.
-HopGui.Dialog.FatalError=\u81F4\u547D\u9519\u8BEF\:
-HopGui.Menubar.File.NewPipeline=\u8F6C\u6362
+HopGui.CoreObjectsTree.Label=\u6838\u5FC3\u5BF9\u8C61
+HopGui.Dialog.AddingHopCausesLoop.Title=\u8B66\u544A\uFF01
+HopGui.RipDB.Monitor.BuildingNewWorkflow=\u6784\u9020\u65B0\u4F5C\u4E1A...
+PipelineLog.Button.ShowOnlyActiveTransforms=\u4EC5\u4EC5\u663E\u793A\u6D3B\u52A8\u7684 Transform
+HopGui.Dialog.PromptOverwritePipeline.Title=\u8986\u76D6?
+PipelineLog.Dialog.ErrorOpeningPipeline.Message=Pipeline \u6253\u5F00\u5931\u8D25\: 
+PipelineHistory.Error.GettingLoggingInfo=\u9519\u8BEF\u7684\u83B7\u53D6\u65E5\u5FD7\u4FE1\u606F
+HopGui.Menu.Run=\u6267\u884C(&R)
+HopGui.Tooltip.HideExecutionResults=\u9690\u85CF\u6267\u884C\u7ED3\u679C\u9762\u677F
+HopGui.Menu.Help=\u5E2E\u52A9(&H)
+PipelineLog.System.Yes=\u662F
+HopGui.Menu.Workflow=\u4F5C\u4E1A(&J)
+HopGui.Menu.File.ExportAll=\u5BFC\u51FA\u5230XML\u6587\u4EF6(ZIP\u538B\u7F29)...
+HopGui.Message.Note.ReadInformationFromTableOnDB=\u8BFB\u53D6\u6765\u81EA\u6570\u636E\u5E93[{0}]\u91CC\u9762\u7684\u8868[{0}]\u7684\u6570\u636E
+HopGui.Log.DeleteTransform=\u5220\u9664 Transform\: 
+PipelineHistory.Button.Clear=\u6E05\u7A7A\u5386\u53F2
+HopGui.RipDB.Exception.ErrorGettingSQLFromPipeline=\u4ECE\u8F6C\u6362\u4E2D\u83B7\u5F97 SQL \u8BED\u53E5\u65F6\u53D1\u751F\u9519\u8BEF [
 PipelineLog.Column.Updated=\u66F4\u65B0
-PipelineGraph.Dialog.HopCausesLoop.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u4F1A\u5728\u8F6C\u6362\u91CC\u5BFC\u81F4\u5FAA\u73AF\u3002\u5FAA\u73AF\u88AB\u7981\u6B62\!
-HopGui.STRING_JOB_ENTRIES=\u4F5C\u4E1A\u9879\u76EE
-HopGui.Dialog.ErrorDeletingSlave.Message=\u5220\u9664\u4ECE\u670D\u52A1\u5668\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-HopGui.Tooltip.Print=\u6253\u5370
-HopGuiServer.ErrorStoppingJob.Message=\u5728\u670D\u52A1\u5668\u4E0A\u505C\u6B62\u4F5C\u4E1A\u65F6\u53D1\u751F\u9519\u8BEF
-HopGui.ErrorDialog.ErrorPasingActions.Title=Error pasting actions...
-HopGui.Exception.ErrorReadingSharedObjects.Message=\u8BFB\u53D6\u5171\u4EAB\u5BF9\u8C61\u65F6\u53D1\u751F\u4E00\u4E2A\u4E25\u91CD\u9519\u8BEF
-HopGui.RipDB.Monitor.PipelineName2=] \u5230 [
-HopGui.RipDB.Monitor.PipelineName1=\u590D\u5236\u5230 [
-HopGui.Message.Warning.No=\u5426
+HopGui.Dialog.UnablePasteEntries.Title=\u9519\u8BEF
+PipelineGraph.PopupMenu.EnableHop=\u4F7F\u8282\u70B9\u8FDE\u63A5\u751F\u6548
+PipelineGraph.PopupMenu.AllignTop=\u9876\u5BF9\u9F50
+HopGui.Log.EditTransform=\u7F16\u8F91 Transform\: 
+PipelineHistory.Error.GettingInfoFromLoggingTable=\u4ECE\u65E5\u5FD7\u8868\u83B7\u53D6\u4FE1\u606F\u5931\u8D25
+HopGui.STRING_BASE=\u57FA\u672C Transform \u7C7B\u578B
+HopGui.Dialog.UnableLoadPipeline.Title=\u9519\u8BEF\uFF01
 HopGui.Dialog.ErrorReadingSharedObjects.Title=\u9519\u8BEF
-PipelineHistory.Column.Status=\u72B6\u6001
-HopGui.Dialog.NotAllowedChangeUser.Message=\u5BF9\u4E0D\u8D77, \u4F60\u6CA1\u6709\u6743\u9650\u66F4\u65B0\u8FD9\u4E2A\u7528\u6237.
-HopGui.Message.Warning.OK=OK
-HopGui.Menu.CmdLine.Save=Save command line
-HopGuiServer.Column.Output=\u8F93\u51FA
-HopGui.Transforms=\u6B65\u9AA4
-PipelineLog.Dialog.WhatIsTheExecutionDate2.Message=\u662F\u4F60\u60F3\u91CD\u653E\u7684?
-HopGui.STRING_JOBENTRY_BASE=\u6838\u5FC3\u4F5C\u4E1A\u9879\u76EE
-HopGui.Dialog.ChangeTransformname.Title=Info\!
+HopGuiServer.Column.Sleeps=\u4F11\u7720\u65F6\u95F4 (get/put)
+HopGui.Dialog.CopyOrDistribute.CustomRowDistribution=\u81EA\u5B9A\u4E49\u884C\u6570\u636E\u5206\u53D1
+HopGui.Menu.Popup.CLUSTERS.New=New clustering schema
+HopGui.Menu.Workflow.Run=\u8FD0\u884C(&R)...
+HopGui.Menu.Run.StopExecution=\u505C\u6B62
+HopGui.Menu.PluginMgr=Plugin manager
+HopGui.Menu.Wizard.CopyTableWizard=\u590D\u5236\u5355\u8868\u5411\u5BFC(&C)...
+HopGui.Dialog.NotAllowedChangeUser.Message=\u62B1\u6B49, \u4F60\u6CA1\u6709\u6743\u9650\u66F4\u65B0\u8FD9\u4E2A\u7528\u6237.
+HopGui.Log.PastePipelineFromClipboard=\u4ECE\u526A\u8D34\u677F\u590D\u5236\u8F6C\u6362\uFF01
+HopGui.Menu.File.ExportToSVG=\u5BFC\u51FA\u4E3A SVG
+HopGui.Menu.File.Publish=Publish...
+PipelineGraph.PopupMenu.ShowOutputFields=\u663E\u793A\u8F93\u51FA\u5B57\u6BB5
+PipelineGraph.ExecutionResultsPanel.MaxButton.Tooltip=\u6700\u5927\u5316\u6267\u884C\u7ED3\u679C\u9762\u677F
+HopGui.Menu.Popup.PARTITIONS.Delete=Delete partitioning schema
+PipelineHistory.Column.Written=\u5199
+PipelineGraph.ExecutionResultsPanel.CloseButton.Tooltip=\u5173\u95ED\u6267\u884C\u7ED3\u679C\u9762\u677F
+HopGui.Dialog.CopyOrDistribute.Message=Transform "{0}" has "{1}" destination transforms to which it sends rows of data.\n\nThere are 2 ways of sending rows to destination transforms\:\n\n   - \u5206\u53D1\u8BB0\u5F55\: \u76EE\u6807 Transform \u8F6E\u6D41\u63A5\u6536\u8BB0\u5F55\n   - \u590D\u5236\u8BB0\u5F55\: \u6240\u6709\u7684\u8BB0\u5F55\u88AB\u540C\u65F6\u53D1\u9001\u5230\u6240\u6709\u7684\u76EE\u6807 Transform.\n\nWhich method would you like to use? (\u9ED8\u8BA4\u662F "\u590D\u5236 [...]
+HopGuiServer.Column.Time=\u65F6\u95F4
+PipelineGraph.Transform.Tooltip.NextPartitioning=\u76EE\u6807 Transform \u5206\u533A\:
+PipelineLog.Dialog.SavePipelineBeforeRunning2.Title=\u6CA1\u6709\u6587\u4EF6\u540D\uFF01
+HopGui.Menu.Workflow.CopyToClipboard=\u590D\u5236job\u5230\u526A\u8D34\u677F(&C)
+HopGui.Log.FileWritten=\u6587\u4EF6\u88AB\u5199\u5165
 HopGui.Log.DELETE.TryToDelete=(DELETE) \u8BD5\u56FE\u5220\u9664
-HopGui.Menu.Popup.SLAVE_SERVER.New=New hop server
-HopGui.Menu.Pipeline.CopyPipelineImageClipboard=\u590D\u5236\u8F6C\u6362\u56FE\u7247\u5230\u526A\u8D34\u677F
-HopGui.Menu.Help=&\u5E2E\u52A9
-HopGui.Menu.File.NewPipeline=\u8F6C\u6362
-PipelineGraph.Dialog.MultipleCopiesAreNotAllowedHere.Message=Sorry, multiple copies of a transform are not allowed here.\nWe suggest that you insert a Dummy transform here.\nThe next transform(s) can then be launched in multiple copies as usual.
-HopGui.Dialog.ErrorPastingPipeline.Message=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u4E00\u4E2A\u8F6C\u6362\u65F6\u5019
-HopGui.Dialog.FileExistsOverWrite.Title=This file already exists\!
-PipelineGraph.HelpToolTip.CreatingHops.Title=\u5982\u4F55\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u8FDE\u63A5?
-HopGui.Dialog.ErrorSavingConnection.Message=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5[{0}]\u5230\u8D44\u6E90\u5E93\u65F6\u53D1\u751F\u9519\u8BEF\!
-HopGui.Menu.Popup.PARTITIONS.Share=Share
-HopGui.Dialog.ChangeTransformname.Message=\u6B65\u9AA4\u540D\u79F0\u5DF2\u7ECF\u5B58\u5728.  HopGui\u628A\u6B65\u9AA4\u540D\u79F0\u6539\u6210 [{0}]
-HopGui.Menu.BrowseVersions=Browse version history
-HopGui.Menu.Popup.BASE.LogWindow=\u6253\u5F00\u65E5\u5FD7\u89C6\u56FE
-PipelineLog.Dialog.FileHasChanged.Title=\u6587\u4EF6\u5DF2\u7ECF\u6539\u53D8\!
-PipelineGraph.PopupMenu.CopyData=\u590D\u5236\u53D1\u9001\u6A21\u5F0F
-PipelineGraph.Dialog.NrOfCopiesOfTransform.Title=\u6B65\u9AA4\u590D\u5236\u7684\u6570\u91CF...
-HopGui.Dialog.OnlyUseStartOnce.Message=\u5728\u4E00\u4E2A\u4F5C\u4E1A\u4E2D\u53EA\u80FD\u4F7F\u7528\u4E00\u6B21\u5F00\u59CB\u56FE\u6807
-HopGui.Menu.Redo.NotAvailable=\u91CD\u505A \: \u4E0D\u53EF\u83B7\u5F97
-PipelineHistory.Column.EndDate=\u7ED3\u675F\u65E5\u671F
-PipelineHistory.Column.StartDate=\u5F00\u59CB\u65E5\u671F
-HopGui.Dialog.PromptOverwritePipeline.Message=\u8D44\u6E90\u5E93\u91CC\u5DF2\u7ECF\u6709\u4E00\u4E2A\u8F6C\u6362\u53EB [{0}] .{1} \u4F60\u60F3\u8986\u76D6\u8FD9\u4E2A\u8F6C\u6362\u5417?
-HopGui.Dialog.Exception.ReadOnlyUser=\u7528\u6237\u662F\u53EA\u8BFB\u7684\!
-HopGui.Dialog.OpenFileVFS.Title=\u6253\u5F00\u4E00\u4E2A\u6587\u4EF6  
-HopGui.Menu.Popup.CONNECTIONS.New=\u65B0\u5EFA
-PipelineGraph.Dialog.Option.SplitHop.DoNotAskAgain=\u4E0D\u8981\u518D\u63D0\u95EE
-HopGui.Menu.Edit.Variables=\u8BBE\u7F6E\u73AF\u5883&\u53D8\u91CF
-HopGui.Menu.ShowPipelineLog=Log 
-PipelineGraph.PopupMenu.EditTransform=\u7F16\u8F91\u6B65\u9AA4
-HopGui.Menu.Workflow.CopyToClipboard=&\u590D\u5236job\u5230\u526A\u8D34\u677F
-HopGui.Menu.Popup.BASE_PLUGIN.New=New
-PipelineLog.System.No=\u5426
-JobHistory.Button.Replay=\u91CD\u653E
-HopGui.Log.LoadProperties=\u4E3AHopGui\u52A0\u8F7D\u5C5E\u6027...
-PipelineGraph.Dialog.CouldntFindFields.Message=\u65E0\u6CD5\u627E\u5230\u4EFB\u4F55\u5B57\u6BB5\!
+HopGui.Dialog.UnableOpenDialog.Title=Oops\uFF01
+HopGui.Menu.Edit.Cut=\u526A\u5207
 HopGui.Tooltip.ShowExecutionResults=\u663E\u793A\u6267\u884C\u7ED3\u679C\u9762\u677F
-HopGui.Menu.Popup.CLUSTERS.New=New clustering schema
-PipelineHistory.Column.Input=\u8F93\u5165
-HopGui.Dialog.UnablePasteTransforms.Message=\u65E0\u6CD5\u7C98\u8D34\u6B65\u9AA4\u5230\u8FD9\u4E2A\u8F6C\u6362
-HopGui.Dialog.PromptToSave.Message=\u6587\u4EF6\u5DF2\u53D1\u751F\u6539\u53D8\u3002 \u662F\u5426\u8FDB\u884C\u4FDD\u5B58?
-PipelineGraph.PopupMenu.DeleteNote=\u5220\u9664\u6CE8\u91CA
-HopGui.Dialog.UnableCreateNewTransform.Message=\u65E0\u6CD5\u521B\u5EFA\u4E00\u4E2A\u65B0\u6B65\u9AA4
-HopGui.Tooltip.VerifyPipeline=\u6821\u9A8C\u8FD9\u4E2A\u8F6C\u6362
-PipelineGraph.PopupMenu.EditHop=\u7F16\u8F91\u8FDE\u63A5
-PipelineLog.Column.Time=\u65F6\u95F4
-HopGui.Menu.File.Export=&\u5BFC\u51FA\u5230XML\u6587\u4EF6
-PipelineLog.Dialog.GivePipelineANameBeforeRunning.Title=\u8F6C\u6362\u8FD8\u6CA1\u6709\u540D\u79F0\!
-HopGui.Menu.Redo.Available=\u91CD\u505A \: {0}
-PipelineGraph.Dialog.ErrorDroppingObject.Title=\u9519\u8BEF\u62D6\u653E\u5BF9\u8C61
-HopGui.Dialog.ExceptionPasteFromClipboard.Title=\u9519\u8BEF
-HopGui.Log.TryingOpenLastUsedFile=\u8BD5\u56FE\u6253\u5F00\u6700\u8FD1\u4F7F\u7528\u7684\u6587\u4EF6.
-HopGuiBrowser.Dialog.Forward=\u5411\u524D
-HopGui.Menu.Workflow.Settings=&\u8BBE\u7F6E...
-PipelineLog.Dialog.DoNoStartPipelineTwice.Title=\u8B66\u544A\!
-HopGui.Dialog.ErrorCreatingTransform.Title=\u9519\u8BEF
-PipelineLog.Dialog.DoNoStartPipelineTwice.Message=\u8F6C\u6362\u6B63\u5728\u8FD0\u884C\uFF0C\u4E0D\u8981\u542F\u52A8\u4E24\u6B21\!
-PipelineGraph.PopupMenu.NewTransform=\u65B0\u5EFA&\u6B65\u9AA4 ...
-PipelineGraph.PopupMenu.DisableHop=\u4F7F\u8282\u70B9\u8FDE\u63A5\u5931\u6548
-PipelineGraph.PopupMenu.DuplicateTransform=\u590D\u5236\u6B65\u9AA4
-PipelineLog.Dialog.DoNoPreviewWhileRunning.Message=\u5BF9\u4E0D\u8D77,\u8F6C\u6362\u5728\u8FD0\u884C\u65F6\u4E0D\u80FD\u9884\u89C8\u6B65\u9AA4.
-HopGui.Dialog.ErrorPastingJob.Title=\u9519\u8BEF\u7C98\u8D34\u4F5C\u4E1A
-HopGui.TabJob.Tooltip=workflow\u7684\u56FE\u5F62\u89C6\u56FE [{0}]
-HopGui.Menu.Undo.NotAvailable=\u64A4\u9500 \: \u4E0D\u53EF\u83B7\u5F97
-HopGui.Log.AppHasEnded=\ \u5DF2\u7ECF\u7ED3\u675F.
-HopGui.Dialog.ShowVariables.Message=Here is the list of defined variables\:
-PipelineGraph.Dialog.LoopAfterHopEnabled.Message=\u65E0\u6CD5\u4F7F\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u751F\u6548\uFF0C\u56E0\u4E3A\u8FD9\u5C06\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF.
-HopGui.StringSearchResult.Title=\u641C\u7D22\u7ED3\u679C
-HopGui.Menu.About=&\u5173\u4E8E
-PipelineLog.Log.PipelineHasFinished=\u8F6C\u6362\u5B8C\u6210\!\!
-HopGui.Log.LoggingToFile=Logging goes to 
-HopGui.Log.FoundHops=\u53D1\u73B0{0} hops to paste.
-HopGui.TabPipeline.Tooltip=\u8F6C\u6362\u7684\u56FE\u5F62\u89C6\u56FE [{0}]
-HopGui.STRING_ELEMENTS=\u5143\u7D20
-HopGui.Menubar.File.NewWorkflow=\u4F5C\u4E1A
+WorkflowLog.Button.LogSettings=\u65E5\u5FD7\u8BBE\u7F6E
+HopGui.Menu.Tools.Data.Clear.Cache=\u6E05\u9664\u7F13\u5B58
+HopGui.Menu.CmdLine.Display=Display command
+PipelineGraph.PopupMenu.DistributeData=\u8F6E\u6D41\u53D1\u9001\u6A21\u5F0F
+HopGui.Menu.Popup.JOBENTRIES.Delete=Delete all copies
+HopGui.Menu.Edit.Navigate.Next=\u8DF3\u8F6C\u5230\u4E0B\u4E00\u4E2A\u6587\u4EF6
+HopGui.Menu.Edit.ClearSelection=\u53D6\u6D88\u9009\u62E9
+PipelineLog.Button.ResumePipeline=\u6062\u590D(&R)
+PipelineHistory.Column.Name=Pipeline \u540D\u79F0
+HopGui.Transforms=Transform
+HopGui.Menu.Popup.JOBENTRIES.Edit=\u7F16\u8F91
+HopGui.RipDB.ActionSQL.Name=\u521B\u5EFA\u8868 [
+PipelineGraph.PopupMenu.DuplicateTransform=\u590D\u5236 Transform
+HopGui.STRING_PIPELINE_NO_NAME=<unnamed pipeline>
+HopGui.Log.NewSelected=\u65B0\u7684\u9009\u62E9
+HopGui.Menu.ExploreConnection=\u6D4F\u89C8\u6570\u636E\u5E93
+HopGui.Menu.View.Results=\u6267\u884C\u7ED3\u679C\u9762\u677F
+HopGui.Dialog.ChangeTransformname.Message=Transform \u540D\u79F0\u5DF2\u7ECF\u5B58\u5728.  HopGui\u628A Transform \u540D\u79F0\u6539\u6210 [{0}]
+HopGui.Title.LogPipelineView=\u65E5\u5FD7 (T)\: {0}
+TransformPerformanceSnapShotDialog.Input=\u8F93\u5165
+PipelineHistory.Column.Status=\u72B6\u6001
+HopGui.Title.ExecLogPipelineView.Tooltip=Execution log for pipeline\: {0}
+HopGui.Dialog.UnableSave.Title=\u9519\u8BEF
+PipelineLog.Column.Output=\u8F93\u51FA
 HopGui.ErrorDialog.UnexpectedErrorCreatingNewJobGraphEntry.Message=\u9519\u8BEF\u521B\u5EFA\u65B0\u4F5C\u4E1A\u9879\u590D\u5236
-HopGui.Title.LogHistory=\u65E5\u5FD7\u5386\u53F2
-HopGui.Dialog.Warning.NoPreviewOrDebugTransforms.Title=\u8B66\u544A\!
-PipelineHistory.Error.ReplayDateCannotBeNull=\u91CD\u653E\u65E5\u671F\u4E0D\u80FD\u4E3A\u7A7A.
-HopGui.Menu.Popup.SLAVE_SERVER.Share=\u5171\u4EAB
-HopGui.Dialog.PromptOverwriteFile.Title=\u8FD9\u4E2A\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728\!
+HopGui.STRING_JOB=\u4F5C\u4E1A
+HopGui.Menu.File.NewPipeline=Pipeline
+HopGuiBrowser.Dialog.Forward=\u5411\u524D
+HopGui.Menu.Pipeline.Stop=\u505C\u6B62(&S)
+HopGui.RipDB.ActionSQL.Description=\u6267\u884C SQL \u8BED\u53E5\u6765\u521B\u5EFA\u8868 [
+PipelineLog.Dialog.PerformanceMonitoring.Button=\u914D\u7F6E...
+PipelineHistory.Column.LogDate=\u65E5\u5FD7\u65E5\u671F
+PipelineGraph.PopupMenu.Settings=Pipeline \u8BBE\u7F6E\tCTRL-T
+HopGui.Toolbar.Redo.Tooltip=\u91CD\u505A\u4E00\u6B21\u64CD\u4F5C
+HopGui.STRING_CLUSTERS=Hop\u96C6\u7FA4schemas
+HopGui.STRING_CONNECTIONS=DB\u8FDE\u63A5
+HopGui.Log.MainWindowCreated=\u4E3B\u7A97\u53E3\u88AB\u521B\u5EFA
+PipelineLog.Dialog.PerformanceMonitoringNotEnabled.Title=\u4E0D\u80FD\u663E\u793A\u56FE
+HopGui.Dialog.Title.TransformnameExists=
+HopGui.Menu.CmdLine.Save=Save command line
+PipelineLog.System.EXCEPTION=\u5F02\u5E38
+PipelineGraph.Dialog.ErrorClearningLoggingTable.Title=\u9519\u8BEF\u6E05\u9664\u65E5\u5FD7\u8868
+HopGui.Log.ErrorOccurred=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\: 
+HopGui.Tooltip.SelectTransformType=\u9009\u62E9\u4E0B\u5217\u7684 Transform \u7C7B\u578B \u5E76\u4E14{0} \u62D6\u653E\u5B83\u5230\u53F3\u8FB9\u7684\u56FE\u5F62\u89C6\u56FE\u4E0A.
+HopGui.Exception.ErrorReadingSharedObjects.Title=\u9519\u8BEF
+HopGui.Dialog.Warning.NoPreviewOrDebugTransforms.Title=\u8B66\u544A\uFF01
+HopGui.Menu.Run.StartExecution=\u8FD0\u884C...
+HopGui.Log.EditAction=\u7F16\u8F91\u4F5C\u4E1A\u56FE\u7684\u9879\u76EE\: {0}
+PipelineGraph.Dialog.TransformDescription.Message=Transform \u63CF\u8FF0\:
+HopGui.Message.Warning.PromptExitWhenRunPipeline=\u8FD9\u6709\u4E2A\u6B63\u5728\u8FD0\u884C\u7684\u8F6C\u6362\u3002\u4F60\u786E\u8BA4\u8981\u9000\u51FA\u5417?
+HopGui.Dialog.TransformPluginList.Title=Transform \u63D2\u4EF6\u5217\u8868
+PipelineLog.Dialog.ErrorWritingLogRecord.Title=\u9519\u8BEF\u5730\u5199\u65E5\u5FD7\u8BB0\u5F55
+PipelineHistory.Button.Replay=\ \u91CD\u653E 
+HopGui.Dialog.Exception.ReadOnlyUser=\u7528\u6237\u662F\u53EA\u8BFB\u7684\uFF01
+PipelineLog.Column.Speed=\u901F\u5EA6 (\u6761\u8BB0\u5F55/\u79D2)
+HopGuiServer.Column.Updated=\u66F4\u65B0
+HopGui.Menu.Wizard.CreateDatabaseConnectionWizard=&\u521B\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u5411\u5BFC...
+HopGui.Dialog.NothingFound.Message=\u6CA1\u6709\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u4FE1\u606F
+HopGui.Menu.Pipeline.Settings=&\u8BBE\u7F6E...
+JobHistory.Button.Clear=\u6E05\u9664
+HopGui.Log.FoundNotepads=\u53D1\u73B0{0} notepads to paste.
+PipelineGraph.Dialog.LoopAfterHopEnabled.Title=\u5FAA\u73AF\u8B66\u544A\uFF01
+PipelineGraph.PopupMenu.CopyData=\u590D\u5236\u53D1\u9001\u6A21\u5F0F
+PipelineLog.Dialog.UnexpectedErrorDuringPreview.Message=\u5728\u9884\u89C8\u65F6\u5019\u53D1\u751F\u672A\u9884\u671F\u7684\u9519\u8BEF
+HopGui.Menu.Undo.Available=\u64A4\u9500\: {0}
+LogBrowser.CopySelectionToClipboard.MenuItem=\u590D\u5236\u9009\u62E9\u6587\u672C\u5230\u526A\u8D34\u677F
+PipelineLog.Button.Preview=\ &\u9884\u89C8 
+HopGui.Menu.Pipeline.Verify=\u6821\u9A8C
+HopGui.Menu.File.New=&\u65B0\u5EFA
+HopGui.Log.FoundTransforms=\u53D1\u73B0{0} transforms to paste on location\: 
+HopGui.Menubar.File.NewDatabaseConn=\u6570\u636E\u5E93\u8FDE\u63A5
+HopGui.Dialog.ErrorSavingFile.Message=\u4FDD\u5B58\u6587\u4EF6\u5931\u8D25\:
+HopGui.Dialog.ErrorShowingHelpText.Title=\u9519\u8BEF\u663E\u793A\u5E2E\u52A9\u6587\u672C
+HopGui.Dialog.ErrorReadingSharedObjects.Message=\u5C06\u5171\u4EAB\u5BF9\u8C61\u8BFB\u5230\u8F6C\u6362[{0}]\u65F6\u53D1\u751F\u9519\u8BEF
+PipelineLog.Column.Input=\u8F93\u5165
+HopGuiServer.ErrorStoppingPipeline.Message=There was an error while stopping this pipeline on the server
+HopGui.STRING_PIPELINES=Pipeline
+HopGui.Dialog.ErrorPastingJob.Message=\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u4E00\u4E2A\u4F5C\u4E1A\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+PipelineHistory.Error.InvalidReplayDate=\u65E0\u6548\u7684\u91CD\u653E\u65E5\u671F\: 
+HopGui.Dialog.SetVariables.Title=\u8BBE\u7F6E\u53D8\u91CF
+HopGui.Dialog.ErrorSavingDatabaseCache.Message=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4FDD\u5B58\u6570\u636E\u5E93\u7F13\u5B58\u5230\u78C1\u76D8\u8FC7\u7A0B\u4E2D
+HopGui.Dialog.GiveJobANameBeforeSaving.Message=\u5C06\u4F5C\u4E1A\u4FDD\u5B58\u5230\u6570\u636E\u5E93\u4E4B\u524D,\u8BF7\u547D\u540D\u8BE5\u4F5C\u4E1A.
+HopGui.Dialog.ErrorSavingDatabaseCache.Title=DB \u7F13\u5B58\u9519\u8BEF
+PipelineGraph.Dialog.NoteEditor.Message=\u6CE8\u91CA\u6587\u672C\:
+HopGui.RipDB.ActionPipeline.Description3=\u5230\:   [
+HopGui.RipDB.ActionPipeline.Description1=\u8FD9\u4E2A\u4F5C\u4E1A\u9879\u6267\u884C\u590D\u5236\u6570\u636E\u7684 Pipeline
+HopGui.Dialog.NewFile.Message=\u9009\u62E9\u9700\u8981\u521B\u5EFA\u7684\u6587\u4EF6\u7C7B\u578B
+HopGui.RipDB.ActionPipeline.Description2=\u4ECE\: [
+HopGui.Menu.Popup.CLUSTERS.Edit=Edit clustering schema
+HopGui.Menu.Popup.CONNECTIONS.Delete=\u5220\u9664
+PipelineLog.Button.StartPipeline=\ &\u5F00\u59CB Pipeline 
+HopGui.Log.RemoveTreeItem=\u5220\u9664\u6811\u5BF9\u8C61
+PipelineLog.Log.DoPreview=\u9884\u89C8\uFF01
+HopGui.Menu.File.NewSlave=\u4ECE\u670D\u52A1\u5668
+HopGui.RipDB.Monitor.ToTransform.Name=\u5199\u5230 [
+PipelineLog.Dialog.GivePipelineANameBeforeRunning.Message=\u8BF7\u7ED9\u4F60\u7684\u8F6C\u6362\u4E00\u4E2A\u540D\u79F0\u4EE5\u4FBF\u533A\u5206\uFF01
+HopGui.TabPipeline.Tooltip=Pipeline \u7684\u56FE\u5F62\u89C6\u56FE [{0}]
+HopGui.Log.UnableVerifyUser=\u65E0\u6CD5\u6821\u9A8C\u7528\u6237\u540D\u79F0\u548C\u5BC6\u7801.
+HopGui.Title.ExecHistoryJobView.Tooltip=Execution history for workflow\: {0}
+HopGui.Menu.File=\u6587\u4EF6(&F)
+PipelineLog.Button.StopPipeline=\ &\u505C\u6B62 Pipeline 
+HopGui.Menu.Edit.Find=\u67E5\u627E...
+HopGui.Dialog.NoRemoteServerSpecified.Title=\u6CA1\u6709\u8FDC\u7A0B\u670D\u52A1\u5668
+HopGui.Tooltip.DisplaysHistoryLogging=\u663E\u793A\u524D\u4E00\u4E2A\u8FD0\u884C\u8FC7\u7684\u8F6C\u6362\u7684\u5386\u53F2.
+HopGui.PipelineGraph.HistoryTab.Name=\u6267\u884C\u5386\u53F2
+HopGui.Log.DUPE.ElementHasParent=(DUPE) \u5143\u7D20\u6709\u7236\u5143\u7D20.
+HopGui.STRING_PIPELINE=Pipeline
+HopGui.Log.ErrorLoadingAndHaltSystem=\u9519\u8BEF\u52A0\u8F7D Transform \u548C\u8865\u4E01... \u505C\u6B62HopGui\uFF01
+HopGui.Dialog.PromptPipelineName.Title=Pipeline \u8FD8\u6CA1\u6709\u540D\u5B57.
+HopGui.Dialog.ErrorShowingHelpText.Message=\u65E0\u6CD5\u663E\u793A\u9519\u8BEF\u5E2E\u52A9\u6587\u672C\uFF01
+PipelineGraph.Dialog.HopCausesLoop.Title=\u8B66\u544A\uFF01
+PipelineGraph.PopupMenu.EditTransformDescription=\u7F16\u8F91 Transform \u63CF\u8FF0
+HopGui.Message.Warning.NotShowWarning=\u8BF7\u4E0D\u8981\u518D\u663E\u793A\u8FD9\u4E2A\u4FE1\u606F.
+HopGui.Documentation.Tooltip.Refresh=\u5237\u65B0\u9875\u9762
+HopGui.Log.SavedDatabaseConnection=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5 {0} \u5230\u8D44\u6E90\u5E93.
+HopGui.Menu.View.ZoomIn=\u653E\u5927(&I)
+HopGui.ErrorDialog.ErrorEditingAction.Message=Error editing action
+HopGui.Documentation.Tooltip.Home=\u8DF3\u8F6C\u5230 HOP \u5E2E\u52A9\u4E3B\u9875
+PipelineGraph.PopupMenu.Partitioning=\u5206\u533A...
+HopGui.StringSearchResult.Subtitle=\u641C\u7D22\u7ED3\u679C
+HopGui.Hop.MainInputOfTransform=\u4E3B\u8F93\u5165 Transform
+PipelineHistory.Error.ReplayingPipeline=\u91CD\u653E Pipeline \u5931\u8D25.
+PipelineLog.Log.ProcessingOfPipelineStopped=Pipeline \u5904\u7406\u5DF2\u7ECF\u505C\u6B62.
+HopGui.Menu.Pipeline.ShowLastVerifyResults=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u5F71\u54CD\u7ED3\u679C
+HopGui.Log.UnexpectedErrorRetry.Titel=\u53D1\u751F\u9519\u8BEF\u540E\u7EE7\u7EED\u8FD0\u884C HopGui ?
+HopGui.Dialog.NewFile.Title=\u65B0\u5EFA\u6587\u4EF6
+TransformPerformanceSnapShotDialog.Written=\u5199
+PipelineGraph.Dialog.CouldntFindFields.Message=\u65E0\u6CD5\u627E\u5230\u4EFB\u4F55\u5B57\u6BB5\uFF01
+HopGui.Dialog.JobNoSQLNeedEexecuted.Title=SQL
+HopGui.StringSearchResult.Message=\u5BDF\u770B\: \u641C\u7D22\u7ED3\u679C
 PipelineLog.Dialog.PerformanceMonitoringNotEnabled.Message=\u6CA1\u6709\u4E3A\u8FD9\u4E2A\u8F6C\u6362\u6536\u96C6\u5230\u6027\u80FD\u6570\u636E.\r\n\u53EF\u4EE5\u5728\u5F00\u59CB\u8F6C\u6362\u540E\u91CD\u8BD5.\r\n\u8BF7\u8BB0\u4F4F\u8981\u5728\u8F6C\u6362\u914D\u7F6E\u5BF9\u8BDD\u6846\u91CC\u914D\u7F6E\u6027\u80FD\u76D1\u63A7.
-HopGui.Dialog.ErrorOpening.Title=\u9519\u8BEF
+PipelineLog.Log.CouldNotLinkInputToOutputPipe=\u65E0\u6CD5\u521B\u5EFA input-pipe \u4E0E output-pipe\u4E4B\u95F4\u7684\u8FDE\u63A5\uFF01
+HopGui.Dialog.ErrorDeletingClusterSchema.Title=\u9519\u8BEF
+HopGui.Menubar.File.NewSlave=\u5B50\u670D\u52A1\u5668
+HopGui.Log.DELETE.ElementHasParent=(DELETE) \u5143\u7D20\u6709\u7236\u5143\u7D20\:
+PipelineLog.Dialog.SavePipelineBeforeRunning.Title=\u6587\u4EF6\u5DF2\u7ECF\u6539\u53D8\uFF01
+HopGui.Menubar.File.NewWorkflow=Workflow
+HopGui.Menu.ShowHistory=History
 HopGui.Dialog.CannotFindConnection.Title=\u9519\u8BEF
+HopGui.Log.NewTransform=\u65B0\u5EFA Transform\:
+HopGui.Dialog.ImpactAnalyses.Title=\u5F71\u54CD\u5206\u6790
+HopGui.Menu.File.SaveAsVFS=\u53E6\u5B58&\u4E3A(VFS)...
 HopGui.Dialog.ErrorSavingConnection.Title=\u4E0D\u80FD\u4FDD\u5B58...
-HopGui.Exception.ErrorReadingSharedObjects.Title=\u9519\u8BEF
-HopGui.Log.LoggingAtLevel=\u65E5\u5FD7\u7EA7\u522B \: 
-PipelineHistory.Column.Updated=\u66F4\u65B0
-HopGui.Log.UnexpectedErrorOccurred=\u4E00\u4E2A\u672A\u9884\u671F\u7684\u9519\u8BEF\u53D1\u751F\u5728HopGui\: probable cause\:\u5728\u505C\u6B62HopGui\u524D\uFF0C\u8BF7\u5148\u5173\u95ED\u5176\u5B83spoon\u7A97\u53E3\! 
-HopGuiServer.ErrorStoppingPipeline.Message=There was an error while stopping this pipeline on the server
-PipelineGraph.PopupMenu.Partitioning=\u5206\u533A...
-HopGui.Menu.ShowGrid=Grid
-PipelineLog.Dialog.ErrorOpeningPipeline.Message=\u8F6C\u6362\u6253\u5F00\u5931\u8D25\: 
-HopGui.Menu.Popup.JOBENTRIES.Delete=Delete all copies
+HopGui.Exception.ErrorReadingXULFile.Message=\u8BFB\u53D6 XUL \u6587\u4EF6(\u83DC\u5355,\u6807\u7B7E,\u7B49)\u65F6\u53D1\u751F\u9519\u8BEF,\u6587\u4EF6\u540D\u79F0{0}.
+HopGui.Documentation.Tooltip.Back=\u663E\u793A\u4E0A\u4E00\u9875
+PipelineGraph.PopupMenu.AllignDistribute=\u5BF9\u9F50 / \u5206\u6563
+HopGui.Menu.Edit.Undo=\u64A4\u6D88
+HopGui.Menu.ShowLog=Log
+TransformPerformanceSnapShotDialog.OutputBufferSize=\u8F93\u51FA\u7F13\u51B2\u533A
+HopGui.STRING_JOB_ENTRIES=\u4F5C\u4E1A\u9879\u76EE
+HopGui.Dialog.ErrorDeletingSlave.Message=\u5220\u9664\u4ECE\u670D\u52A1\u5668\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+HopGui.Message.Note.WriteToTable=\u5199\u5165\u8868 [{0}]
+HopGui.Various.DupeName=(copy of) 
+HopGui.Menu.Tools.Data.New=New
+HopGui.Dialog.UnableChangeUser.Title=\u7F16\u8F91\u7528\u6237
+HopGui.Menu.Edit.Variables=\u8BBE\u7F6E\u73AF\u5883&\u53D8\u91CF
+PipelineLog.Dialog.DoNoStartPipelineTwice.Message=Pipeline \u6B63\u5728\u8FD0\u884C\uFF0C\u4E0D\u8981\u542F\u52A8\u4E24\u6B21\uFF01
+HopGui.Application.Name=Hop
+HopGui.Title.LogView=\u65E5\u5FD7\u89C6\u56FE
+HopGui.StringSearchResult.Title=\u641C\u7D22\u7ED3\u679C
 HopGui.Exception.ErrorCreatingNewJob.Message=\u4E0D\u80FD\u521B\u5EFA\u4E00\u4E2A\u65B0\u4F5C\u4E1A,\u56E0\u4E3A\u4E0D\u80FD\u4ECE\u8D44\u6E90\u5E93\u4E2D\u8BFB\u53D6\u6570\u636E\u5E93.
-HopGui.Tooltip.ReplayTranformation=\u91CD\u653E\u8FD9\u4E2A\u8F6C\u6362
-HopGui.Menu.File.NewDB=\u6570\u636E\u5E93\u8FDE\u63A5
-HopGui.Log.DELETE.ElementHasParent=(DELETE) \u5143\u7D20\u6709\u7236\u5143\u7D20\:
-PipelineGraph.Dialog.NrOfCopiesOfTransform.Message=\u590D\u5236\u7684\u6570\u91CF (1 \u6216\u66F4\u591A)
-HopGui.RipDB.Monitor.FromTransform.Description=\u8BFB\u4FE1\u606F\u4ECE\u8868 [
-PipelineLog.Dialog.ErrorLines.Message=\u9009\u62E9\u8981\u7F16\u8F91\u7684\u6B65\u9AA4\:
-PipelineLog.Dialog.ErrorOpeningPipeline.Title=\u9519\u8BEF\u6253\u5F00\u8F6C\u6362
-HopGui.Menu.Edit.EditHopProperties=\u7F16\u8F91hop.properties\u6587\u4EF6
-HopGui.Tooltip.RunPipelineation=\u8FD0\u884C\u8FD9\u4E2A\u8F6C\u6362
+HopGuiServer.ErrorStoppingJob.Title=\u9519\u8BEF
+HopGui.Menu.Pipeline.Last.Popup=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u7684\u64CD\u4F5C
+PipelineHistory.Column.Read=\u8BFB
+PipelineGraph.PopupMenu.GenerateMappingToThisTransform=\u6839\u636E\u76EE\u6807 Transform \u751F\u6210\u6620\u5C04
+HopGuiServer.ErrorStartingPipeline.Message=There was an error while starting this pipeline on the server
+PipelineHistory.Column.DependencyDate=\u4F9D\u8D56\u65E5\u671F
+HopGui.STRING_PARTITIONS=\u6570\u636E\u5E93\u5206\u533Aschemas
+HopGui.Menu.Redo.NotAvailable=\u91CD\u505A\: \u4E0D\u53EF\u83B7\u5F97
+HopGui.Menu.Popup.PARTITIONS.New=New partitioning schema
+TransformPerformanceSnapShotDialog.Rejected=\u62D2\u7EDD
+HopGui.Dialog.UnablePasteTransforms.Title=\u9519\u8BEF\u7C98\u8D34 Transform...
+HopGui.ErrorDialog.ErrorPasingActions.Message=I was unable to paste actions to this workflow
+WorkflowLog.Button.ShowErrorLines=\u663E\u793A\u9519\u8BEF\u884C
+WorkflowLog.Dialog.SaveJobBeforeRunning.Message=\u8BF7\u5728\u542F\u52A8\u4E4B\u524D\u5148\u4FDD\u5B58\u8BE5 Workflow.
+PipelineLog.Dialog.SavePipelineBeforeRunning.Message=\u8BF7\u5148\u4FDD\u5B58\u4F60\u7684\u8F6C\u6362\uFF01
+HopGui.Dialog.ErrorCreatingActionDialog.Message=\u65E0\u6CD5\u4E3A Action {0} \u521B\u5EFA\u5BF9\u8BDD\u6846
+PipelineHistory.PleaseRefresh.Message=\u8BF7\u70B9\u51FB\u5237\u65B0\u6309\u94AE\u6765\u66F4\u65B0\u5386\u53F2
+PipelineGraph.PopupMenu.PasteTransformFromClipboard=&\u4ECE\u526A\u8D34\u677F\u7C98\u8D34 Transform
+PipelineGraph.Dialog.LoopAfterHopEnabled.Message=\u65E0\u6CD5\u4F7F\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u751F\u6548\uFF0C\u56E0\u4E3A\u8FD9\u5C06\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF.
+HopGui.Menu.About=&\u5173\u4E8E
+HopGui.Log.LoggingAtLevel=\u65E5\u5FD7\u7EA7\u522B\: 
 HopGuiServer.Button.Start=\u5F00&\u59CB
-TransformPerformanceSnapShotDialog.Read=\u8BFB
-HopGui.ErrorDialog.ErrorEditingAction.Message=Error editing action
-HopGuiServer.ErrorStoppingPipeline.Title=\u9519\u8BEF
-TransformPerformanceSnapShotDialog.TimeInSeconds.Label=\u603B\u5171\u8FD0\u884C\u65F6\u95F4\u662F{0}\u79D2,\u6BCF{1}\u6BEB\u79D2\u62CD\u4E00\u6B21\u5FEB\u7167
-HopGui.Dialog.ActionCanNotBeChanged.Message=This action can''t be changed\!
-HopGui.Dialog.ErrorDeletingConnection.Title=\u9519\u8BEF
-HopGuiBrowser.Dialog.Back=\u5411\u540E
-HopGui.Menu.File.Quit=&\u9000\u51FA
-PipelineLog.Button.ShowGraph=\u56FE
-HopGui.Menu.Wizard.CreateDatabaseConnectionWizard=&\u521B\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u5411\u5BFC...
-HopGui.Log.DuplicateTransform=\u590D\u5236\u6B65\u9AA4\:
-PipelineLog.Log.LaunchingPipeline=\u6B63\u5728\u6253\u5F00\u8F6C\u6362 [
-PipelineGraph.PopupMenu.AllignBottom=\u5E95\u90E8\u5BF9\u9F50
-HopGui.Menu.Tools.Data.Clear.Cache=\u6E05\u9664\u7F13\u5B58
-HopGui.Menu.Popup.STEPS.Duplicate=Duplicate
-HopGui.Tooltip.SaveCurrentTranformation=\u4FDD\u5B58\u5F53\u524D\u8F6C\u6362
-PipelineGraph.PopupMenu.DeleteTransform=\u5220\u9664\u6B65\u9AA4
-HopGuiServer.ErrorStartingJob.Message=\u5728\u670D\u52A1\u5668\u4E0A\u542F\u52A8\u4F5C\u4E1A\u65F6\u53D1\u751F\u9519\u8BEF
-PipelineLog.Dialog.UnexpectedErrorDuringPreview.Title=\u5728\u9884\u89C8\u65F6\u5019\u53D1\u751F\u672A\u9884\u671F\u7684\u9519\u8BEF
-PipelineLog.System.ERROR=\u9519\u8BEF
-PipelineGraph.Dialog.ErrorDuplicatingTransform.Title=\u9519\u8BEF\u590D\u5236\u6B65\u9AA4
-PipelineGraph.PopupMenu.SelectAll=\u5168\u9009
-PipelineGraph.Dialog.ItemCanNotBePlacedOnCanvas.Message=\u8FD9\u4E2A\u5BF9\u8C61\u65E0\u6CD5\u653E\u7F6E\u5728\u753B\u5E03\u4E0A.
-HopGui.Menubar.File.NewDatabaseConn=\u6570\u636E\u5E93\u8FDE\u63A5
-PipelineLog.Dialog.SavePipelineBeforeRunning2.Message=\u5728\u8FD0\u884C\u524D\uFF0C\u8BF7\u5148\u4FDD\u5B58\u4F60\u7684\u8F6C\u6362\!
-HopGui.Menu.Tools.Data.Popup=\u6570\u636E\u5E93
-HopGui.Menu.Edit.Refresh=&\u5237\u65B0
-PipelineGraph.Dialog.TransformIsAlreadyOnCanvas.Title=\u9519\u8BEF\uFF01
-HopGui.Tooltip.OpenTranformation=\u6253\u5F00\u8F6C\u6362
-JobHistory.Button.Clear=\u6E05\u9664
-HopGui.Menu.File.Open=&\u6253\u5F00
-HopGui.Log.AutoLoadingPipeline=\u81EA\u52A8\u52A0\u8F7D\u8F6C\u6362 {0} \u4ECE\u8D44\u6E90\u5E93\u76EE\u5F55 {1}
-HopGui.STRING_PLUGIN=Plugin\u6B65\u9AA4\u7C7B\u578B
-PipelineLog.Log.Transform=\u6B65\u9AA4\: 
-HopGui.STRING_JOBS=\u4F5C\u4E1A
-HopGui.Menu.Pipeline.ShowLastPreviewResults=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u9884\u89C8\u7ED3\u679C
-PipelineHistory.Column.BatchID=\u6279\u6B21ID
-HopGui.MainTree.Label=\u4E3B\u5BF9\u8C61\u6811
-PipelineLog.System.EXCEPTION=\u5F02\u5E38
-HopGui.Message.Warning.PromptExitWhenRunPipeline=\u8FD9\u6709\u4E2A\u6B63\u5728\u8FD0\u884C\u7684\u8F6C\u6362\u3002\u4F60\u786E\u8BA4\u8981\u9000\u51FA\u5417?
-HopGui.Title.LogJobView=\u65E5\u5FD7 (J)\: {0}
-PipelineLog.Button.ClearLog=\ \u6E05\u9664\u65E5\u5FD7(&C)
-HopGui.PipelineGraph.HistoryTab.Name=\u6267\u884C\u5386\u53F2
-HopGui.Message.Note.ReadInformationFromTableOnDB=\u8BFB\u53D6\u6765\u81EA\u6570\u636E\u5E93[{0}]\u91CC\u9762\u7684\u8868[{0}]\u7684\u6570\u636E
-HopGui.Explorer=\u6D4F\u89C8\u5668
-HopGui.ErrorDialog.UnexpectedErrorCreatingNewJobGraphEntry.Title=\u521B\u5EFA\u8D44\u6E90\u65F6\u7684\u4E25\u91CD\u9519\u8BEF
-HopGui.Menu.Popup.HOPS.Delete=Delete
+PipelineGraph.PopupMenu.DisableHop=\u4F7F\u8282\u70B9\u8FDE\u63A5\u5931\u6548
+HopGui.Tooltip.PreviewTranformation=\u9884\u89C8\u8FD9\u4E2A Pipeline
+HopGui.Dialog.PromptOverwriteFile.Message=\u8FD9\u4E2A\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728.  \u4F60\u60F3\u8986\u76D6\u5B83\u5417?
+HopGui.Log.EDIT.ElementHasParent=(EDIT) \u5143\u7D20\u6709\u7236\u5143\u7D20.
+HopGui.Menu.Popup.CONNECTIONS.ShowDependancies=\u663E\u793A\u4F9D\u8D56
+PipelineGraph.Dialog.LoopsAreNotAllowed.Title=\u9519\u8BEF\uFF01
+HopGui.Dialog.ShowArguments.Title=\u5B58\u5728\u7684\u53C2\u6570
+PipelineGraph.PopupMenu.Error=\u5B9A\u4E49\u9519\u8BEF\u5904\u7406...
+HopGui.Dialog.PleaseRestartApplication.Title=\u4FE1\u606F
+HopGui.Menu.Edit.SelectAll=\u9009\u62E9\u5168\u90E8(&A)
+PipelineHistory.Column.Duration=\u6301\u7EED
+HopGui.Dialog.OnlyUseStartOnce.Message=\u5728\u4E00\u4E2A\u4F5C\u4E1A\u4E2D\u53EA\u80FD\u4F7F\u7528\u4E00\u6B21\u5F00\u59CB\u56FE\u6807
+HopGui.RipDB.Monitor.ToTransform.Description1=\u5199\u4FE1\u606F\u5230\u8868 [
+HopGui.RipDB.Monitor.ToTransform.Description2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
+HopGui.Dialog.UnablePasteTransforms.Message=\u65E0\u6CD5\u7C98\u8D34 Transform \u5230\u8FD9\u4E2A Pipeline
+HopGui.Menu.Popup.SLAVE_SERVER.Edit=Edit
+HopGui.Menu.File.Close.All=\u5173\u95ED\u6240\u6709
+HopGui.STRING_JOB_NO_NAME=<unnamed workflow>
+HopGui.Menu.Edit=\u7F16\u8F91(&E)
+PipelineHistory.Column.Input=\u8F93\u5165
 HopGui.Dialog.UnableLoadPipeline.Message=\u65E0\u6CD5\u52A0\u8F7D\u8FD9\u4E2A\u8F6C\u6362.  \u8BF7\u5148\u8FDE\u63A5\u6B63\u786E\u7684\u8D44\u6E90\u5E93.
-PipelineGraph.Dialog.NoteEditor.Title=\u6CE8\u91CA
-HopGui.Message.Note.WriteInformationToTableOnDB=\u4E4B\u540E, \u5B83\u5199\u4FE1\u606F\u5230\u8868[{0}]\u5728\u6570\u636E\u5E93 [{1}]
+HopGui.Dialog.TransAlreadyLoaded.Message=A pipeline with the same name is already loaded.\nPlease close this pipeline first to reload it.
+HopGui.ErrorDialog.ErrorEditingAction.Title=Error editing action
+HopGui.Dialog.ErrorDeletingClusterSchema.Message=\u5220\u9664\u96C6\u7FA4\u6A21\u5F0F\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+PipelineGraph.PopupMenu.AllignLeft=\u5DE6\u5BF9\u9F50
+HopGui.Dialog.GiveJobANameBeforeSaving.Title=\u8FD9\u4E2A\u4F5C\u4E1A\u6CA1\u6709\u540D\u5B57
+PipelineLog.Dialog.WhatIsTheExecutionDate1.Message=\u54EA\u4E2A\u8F6C\u6362\u65E5\u671F
+HopGui.Dialog.UnexpectedError.Title=\u672A\u9884\u671F\u7684\u9519\u8BEF
+PipelineGraph.PopupMenu.EditNote=\u7F16\u8F91\u6CE8\u91CA
+PipelineGraph.Dialog.HopCausesRowMixing.Title=\u8B66\u544A\uFF01
+HopGui.Menu.Popup.STEPS.SortTransforms=\u6392\u5E8F Transform
+PipelineGraph.Transform.Tooltip.CurrentPartitioning=\u4F7F\u7528\u7684\u5206\u533A\:
+HopGui.Message.Note.ReadFromTable=\u4ECE\u8868 [{0}]\u8BFB\u5165
 PipelineHistory.ERROR=\u9519\u8BEF
-HopGui.Message.Warning.PipelineWasStored=\u8FD9\u4E2A\u8F6C\u6362\u5DF2\u7ECF\u88AB\u5B58\u50A8\u5728\u8D44\u6E90\u5E93
-HopGui.Log.NewTransform=\u65B0\u5EFA\u6B65\u9AA4\:
-HopGui.Menu.Wizard=\u5411\u5BFC(&W)
-HopGui.Dialog.UnableSave.Title=\u9519\u8BEF
-TransformPerformanceSnapShotDialog.RowsPerSecond.Label=\u8BB0\u5F55\u6BCF\u79D2
-HopGui.Menu.Edit.SelectAllTransforms=&\u9009\u62E9\u6240\u6709\u7684\u6B65\u9AA4
-HopGuiServer.Column.Sleeps=\u4F11\u7720\u65F6\u95F4 (get/put)
-PipelineGraph.Dialog.ErrorClearningLoggingTable.Message=\u6E05\u9664\u65E5\u5FD7\u8868\u65F6\u53D1\u751F\u9519\u8BEF \:
-HopGuiServer.Column.Status=\u72B6\u6001
-HopGui.Menu.ShowHistory=History
-HopGui.Tooltip.DisplaysPipelineLog=\u663E\u793A\u6B63\u5728\u8FD0\u884C\u7684\u8F6C\u6362\u7684\u65E5\u5FD7.
-HopGui.Dialog.PleaseRestartApplication.Message=\u8BF7\u91CD\u542F\u7A0B\u5E8F\u4EE5\u4F7F\u6539\u52A8\u751F\u6548\!
-HopGui.Title.LogPipelineView=\u65E5\u5FD7 (T)\: {0}
-PipelineLog.Dialog.ErrorLines.Title=\u9519\u8BEF\u884C
 HopGui.Log.QuitApplication=\u9000\u51FA\u5E94\u7528.
-HopGui.UnknownFileType.Title=\u9519\u8BEF
-HopGui.Menu.Popup.STEPS.Delete=\u5220\u9664
-HopGui.RipDB.Monitor.ToTransform.Description2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
-HopGui.RipDB.Monitor.ToTransform.Description1=\u5199\u4FE1\u606F\u5230\u8868 [
-HopGui.Dialog.PleaseRestartApplication.Title=\u4FE1\u606F
-PipelineGraph.Dialog.HopCausesRowMixing.Title=\u8B66\u544A\!
-HopGui.Dialog.JobAlreadyLoaded.Message=A workflow with the same name is already loaded.\nPlease close this workflow first to reload it.
-HopGui.Menu.Workflow.Replay=Replay workflow
-HopGui.Dialog.ErrorSavingDatabaseCache.Title=DB \u7F13\u5B58\u9519\u8BEF
-HopGui.Menu.File.Export.Popup=\u5BFC\u51FA
-HopGui.Menu.Popup.CLUSTERS.Share=\u5171\u4EAB
-HopGui.Log.ErrorOccurred=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\: 
-HopGui.Log.EditAction=\u7F16\u8F91\u4F5C\u4E1A\u56FE\u7684\u9879\u76EE\: {0}
-HopGui.Message.Warning.PromptExit=\u4F60\u786E\u4FE1\u8981\u9000\u51FA\u5417?
-PipelineGraph.Dialog.AreYouSureYouWantToRemoveAllLogEntries.Message=\u786E\u5B9A\u5220\u9664\u65E5\u5FD7\u8868\u4E2D\u7684\u6240\u6709\u9879 [{0}]?
-PipelineGraph.PopupMenu.DistributeVertically=\u5782\u76F4\u5206\u6563
+HopGuiServer.Column.Written=\u5199
+HopGuiServer.Column.Speed=\u901F\u5EA6 (\u6761/\u79D2)
+HopGui.Menu.Edit.Refresh=&\u5237\u65B0
+HopGui.Menu.Popup.CONNECTIONS.Explore=\u6570\u636E\u5E93\u6D4F\u89C8
+HopGuiServer.Column.Input=\u8F93\u5165
+TransformPerformanceSnapShotDialog.Output=\u8F93\u51FA
+HopGui.Menu.Pipeline.ShowLastImpactAnalyses=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u5F71\u54CD\u5206\u6790
+HopGui.Title.ExecLogJobView.Tooltip=Execution log for workflow\: {0}
+PipelineHistory.Column.StartDate=\u5F00\u59CB\u65E5\u671F
+PipelineLog.Dialog.FileHasChanged.Title=\u6587\u4EF6\u5DF2\u7ECF\u6539\u53D8\uFF01
 PipelineHistory.Button.Refresh=\ \u5237\u65B0 
-PipelineHistory.Button.Replay=\ \u91CD\u653E 
-HopGui.Log.MutuallyExcusive=\u591A\u4E8E\u4E00\u4E2A\u4E92\u76F8\u6392\u65A5\u7684\u9009\u9879. /\u6587\u4EF6, /\u4F5C\u4E1A \u548C/\u8F6C\u6362\u4E92\u76F8\u6392\u65A5.
-PipelineHistory.PleaseRefresh.Message=\u8BF7\u70B9\u51FB\u5237\u65B0\u6309\u94AE\u6765\u66F4\u65B0\u5386\u53F2
-HopGui.Dialog.LoadPipelineError.Message=\u56E0\u4E3A\u4E00\u4E2A\u9519\u8BEF\uFF0C\u65E0\u6CD5\u4ECEXML\u6587\u4EF6\u52A0\u8F7D\u8FD9\u4E2A\u8F6C\u6362
-PipelineHistory.Error.ReplayingPipeline=\u91CD\u653E\u8F6C\u6362\u5931\u8D25.
-HopGui.Dialog.NoSQLNeedEexecuted.Message=\u5728\u8F6C\u6362\u80FD\u591F\u8FD0\u884C\u4E4B\u524D\uFF0C\u6CA1\u6709SQL\u9700\u8981\u6267\u884C.
-PipelineLog.Log.CancelReplay1=\u53D6\u6D88\u91CD\u653E
-HopGui.Dialog.ErrorDeletingSlave.Title=\u9519\u8BEF
-HopGui.Message.Warning.NotShowWarning=\u8BF7\u4E0D\u8981\u518D\u663E\u793A\u8FD9\u4E2A\u4FE1\u606F.
-HopGui.Dialog.UnableOpenDialog.Title=Oops\!
-HopGui.Dialog.ErrorShowingHelpText.Title=\u9519\u8BEF\u663E\u793A\u5E2E\u52A9\u6587\u672C
-PipelineLog.Dialog.UnexpectedErrorDuringPreview.Message=\u5728\u9884\u89C8\u65F6\u5019\u53D1\u751F\u672A\u9884\u671F\u7684\u9519\u8BEF
-HopGui.Title.ExecLogPipelineView.Tooltip=Execution log for pipeline\: {0}
-HopGui.Error.UnableToLoadSharedObjects.Message=\u52A0\u8F7D\u5171\u4EAB\u5BF9\u8C61\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
-HopGui.Menu.Popup.JOBENTRIES.Edit=\u7F16\u8F91
-HopGui.Menu.Popup.CONNECTIONS.ClearDBCache=Clear DB Cache of 
-PipelineLog.System.Yes=\u662F
-HopGui.Message.Warning.NotShowThisMessage=\u4E0D\u8981\u518D\u663E\u793A\u8FD9\u4E2A\u4FE1\u606F.
-HopGui.Dialog.ErrorSavingFile.Message=\u4FDD\u5B58\u6587\u4EF6\u5931\u8D25\:
-HopGuiServer.Column.Time=\u65F6\u95F4
-HopGui.Dialog.RunImpactAnalysesFirst.Message=\u8BF7\u5728\u8F6C\u6362\u524D\u6267\u884C\u5F71\u54CD\u5206\u6790.
-HopGui.Dialog.JobNoSQLNeedEexecuted.Message=\u6CA1\u6709\u53EF\u4EE5\u6267\u884C\u7684 SQL \u8BED\u53E5\u6765\u8FD0\u884C\u8FD9\u4E2A\u4F5C\u4E1A.
-HopGui.Menu.Workflow=\u4F5C\u4E1A(&J)
-HopGui.RipDB.Monitor.FromTransform.Description2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
-HopGui.STRING_HOP_SERVER=\u5B50\u670D\u52A1\u5668
-PipelineHistory.Column.Errors=\u9519\u8BEF
-HopGui.Menu.View.Perspectives=\u89C6\u56FE\u7C7B\u578B
-HopGui.Message.Warning.Warning=\u8B66\u544A\!
+HopGui.Dialog.HopExists.Title=\u9519\u8BEF
+HopGuiServer.Column.Output=\u8F93\u51FA
+HopGuiServer.ErrorStartingPipeline.Title=\u9519\u8BEF
+HopGui.Title.ExecHistoryPipelineView.Tooltip=Execution history for pipeline\: {0}
+HopGui.Dialog.ErrorCreatingTransform.Title=\u9519\u8BEF
+PipelineGraph.Dialog.AreYouSureYouWantToRemoveAllLogEntries.Message=\u786E\u5B9A\u5220\u9664\u65E5\u5FD7\u8868\u4E2D\u7684\u6240\u6709\u9879 [{0}]?
+TransformPerformanceSnapShotDialog.InputBufferSize=\u8F93\u5165\u7F13\u51B2\u533A
+HopGui.Toolbar.EditProperties.Tooltip=\u7F16\u8F91 Pipeline \u5C5E\u6027
+PipelineGraph.Dialog.Warning.DeleteTransforms.Message=\u786E\u8BA4\u662F\u5220\u9664\u8FD9\u4E9B Pipeline\:
+PipelineGraph.PopupMenu.NumberOfCopies=\u6539\u53D8\u5F00\u59CB\u590D\u5236\u7684\u6570\u91CF...
+HopGui.Menu.Popup.SLAVE_SERVER.New=New hop server
+HopGuiServer.Column.Copynr=\u590D\u5236\u7684\u884C\u6570\u91CF
+HopGui.Menu.File.Quit=&\u9000\u51FA
+HopGui.Menu.File.Open=&\u6253\u5F00
+HopGui.Menu.Tools.Database.Explore=\u6D4F\u89C8
+HopGui.Dialog.JobAlreadyLoaded.Message=A workflow with the same name is already loaded.\nPlease close this workflow first to reload it.
+HopGui.ErrorDialog.RipDB.ErrorRippingTheDatabase.Message=\u590D\u5236\u6570\u636E\u5E93\u65F6\u53D1\u751F\u9519\u8BEF\uFF01
+HopGui.Menu.Popup.STEPS.Edit=Edit
+PipelineLog.Column.Active=\u6FC0\u6D3B
+HopGui.Title.LogHistory=\u65E5\u5FD7\u5386\u53F2
+HopGui.Explorer=\u6D4F\u89C8\u5668
+HopGui.Menu.ShowPipelineGrid=Grid
+WorkflowLog.Button.Pause=\u6682\u505C\u65E5\u5FD7\u8BB0\u5F55
+PipelineLog.System.ERROR2=\u9519\u8BEF
+HopGui.Title.LogJobHistoryView=\u65E5\u5FD7\u5386\u53F2 (J)\: {0}
+HopGuiServer.Column.Read=\u8BFB
+HopGuiServer.ErrorStoppingPipeline.Title=\u9519\u8BEF
+HopGui.Log.AutoLoadingPipeline=\u81EA\u52A8\u52A0\u8F7D Pipeline {0} \u4ECE\u8D44\u6E90\u5E93\u76EE\u5F55 {1}
+WorkflowLog.Button.ClearLog=\u6E05\u9664\u65E5\u5FD7
+HopGui.History=\u5386\u53F2
+HopGui.Menu.Pipeline.Paste.Popup=Paste
+HopGui.STRING_JOBS=\u4F5C\u4E1A
+HopGui.Dialog.LoadPipelineError.Message=\u56E0\u4E3A\u4E00\u4E2A\u9519\u8BEF\uFF0C\u65E0\u6CD5\u4ECEXML\u6587\u4EF6\u52A0\u8F7D\u8FD9\u4E2A Pipeline
+HopGui.Dialog.AddingHopCausesLoop.Message=\u5728\u8F6C\u6362\u91CC\u589E\u52A0\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF.  \u8FD9\u91CC\u4E0D\u5141\u8BB8\u5FAA\u73AF\uFF01
+HopGui.Menu.Pipeline.Impact=&\u5F71\u54CD\u5206\u6790
+HopGui.Menu.Popup.SLAVE_SERVER.Monitor=Monitor
 HopGui.Menu.Help.Tip=\u6BCF\u5929\u63D0\u793A(&T)
-HopGui.Menu.TransformPlugins=\u663E\u793A\u6B65\u9AA4\u63D2\u4EF6\u7684\u4FE1\u606F
-PipelineLog.Dialog.ErrorWritingLogRecord.Message=\u65E0\u6CD5\u628A\u65E5\u5FD7\u5199\u5165\u65E5\u5FD7\u8868
-HopGui.Log.RemoveTreeItem=\u5220\u9664\u6811\u5BF9\u8C61
-HopGui.Log.UnableFindTransformToDelete=\u65E0\u6CD5\u627E\u5230\u88AB\u5220\u9664\u7684\u6B65\u9AA4{0}...
+HopGui.Menu.Workflow.GetSQL=\u83B7\u5F97SQL(&G)
+HopGuiServer.Column.Errors=\u9519\u8BEF
+HopGui.Menu.View.Zoom100=\u7B49\u6BD4\u4F8B(&P)
+HopGui.Toolbar.Zoom=\u7F29\u653E\:
+HopGui.Dialog.ErrorHelpText.Title=\u9519\u8BEF\u5E2E\u52A9\u6587\u672C
+HopGui.Dialog.ShowVariables.Title=\u5F53\u524D\u7684\u53D8\u91CF
+HopGui.Dialog.NoSQLNeedEexecuted.Title=SQL
+HopGui.Menu.File.Print=&\u6253\u5370
+PipelineLog.Dialog.ErrorOpeningPipeline.Title=\u9519\u8BEF\u6253\u5F00 Pipeline
+HopGui.Menu.Pipeline.PastePipelineFromClipboard=\u4ECE\u526A\u8D34\u677F\u7C98&\u8D34 Pipeline
+HopGui.Dialog.UnableChangeUser.Message=\u62B1\u6B49, \u65E0\u6CD5\u4FEE\u6539\u8FD9\u4E2A\u8D44\u6E90\u5E93\u91CC\u7684\u7528\u6237\:
+HopGui.Dialog.WarningCreateNewTransforms.Message=\u8BF7\u4F7F\u7528\u4E0B\u5217\u7684\u57FA\u672C Transform \u7C7B\u578B\u6765\u521B\u5EFA\u65B0 Transform.
+HopGui.Various.Changed=(\u6709\u53D8\u52A8)
+HopGui.STRING_ELEMENTS=\u5143\u7D20
+HopGui.Menu.Tools=\u5DE5\u5177(&T)
+HopGui.Menu.Popup.BASE_PLUGIN.New=New
+HopGuiServer.ErrorStoppingJob.Message=\u5728\u670D\u52A1\u5668\u4E0A\u505C\u6B62\u4F5C\u4E1A\u65F6\u53D1\u751F\u9519\u8BEF
+PipelineGraph.Dialog.ErrorClearningLoggingTable.Message=\u6E05\u9664\u65E5\u5FD7\u8868\u65F6\u53D1\u751F\u9519\u8BEF\:
+HopGui.Dialog.PromptOverwritePipeline.Message=\u8D44\u6E90\u5E93\u91CC\u5DF2\u7ECF\u6709\u4E00\u4E2A\u8F6C\u6362\u53EB [{0}] .{1} \u4F60\u60F3\u8986\u76D6\u8FD9\u4E2A\u8F6C\u6362\u5417?
+HopGui.UnknownFileType.Title=\u9519\u8BEF
+HopGui.Message.Warning.OK=OK
+PipelineLog.Dialog.GivePipelineANameBeforeRunning.Title=Pipeline \u8FD8\u6CA1\u6709\u540D\u79F0\uFF01
+TransformPerformanceSnapShotDialog.Read=\u8BFB
+HopGui.Menu.File.Open.Recent=\u6253\u5F00\u6700\u8FD1...
+HopGui.Menu.Wizard=\u5411\u5BFC(&W)
+HopGui.Dialog.CannotFindConnection.Message=\u65E0\u6CD5\u627E\u5230\u6570\u636E\u5E93\u8FDE\u63A5, \u8BF7\u6309(F5)\u5237\u65B0\uFF01
+HopGui.Dialog.RunImpactAnalysesFirst.Message=\u8BF7\u5728\u8F6C\u6362\u524D\u6267\u884C\u5F71\u54CD\u5206\u6790.
+HopGui.Message.Warning.No=\u5426
+HopGui.Dialog.PromptSave.Title=\u8B66\u544A\uFF01
+PipelineLog.System.EXCEPTION2=\u5F02\u5E38
+PipelineLog.Button.LogSettings=\ &\u65E5\u5FD7\u8BBE\u7F6E 
+PipelineGraph.ExecutionResultsPanel.MinButton.Tooltip=\u6700\u5C0F\u5316\u6267\u884C\u7ED3\u679C\u9762\u677F
+HopGui.Dialog.OpenFileVFS.Message=\u5236\u5B9A\u8981\u6253\u5F00\u6587\u4EF6\u7684URL\:
+PipelineGraph.Dialog.SplitHop.Title=\u62C6\u5206\u8282\u70B9\u8FDE\u63A5?
+HopGui.Tooltip.SaveDifferentNameTranformation=\u4EE5\u4E0D\u540C\u540D\u79F0\u4FDD\u5B58 Pipeline
+HopGui.Menu.Pipeline.Replay=\u91CD\u653E(&R)
+HopGui.Menu.Tools.Data.Popup=\u6570\u636E\u5E93
+PipelineGraph.PopupMenu.FlipDirection=\u7FFB\u8F6C\u65B9\u5411
 HopGui.Title.LogPipelineHistoryView=\u65E5\u5FD7\u5386\u53F2 (T)\: {0}
-PipelineHistory.Column.ReplayDate=\u91CD\u653E\u65E5\u671F
-HopGui.RipDB.Monitor.Note4=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
+PipelineGraph.HelpToolTip.DoNotShowAnyMoreCheckBox.Message=\u4E0D\u518D\u663E\u793A\u8FD9\u4E2A\u63D0\u793A
+HopGui.Menu.Edit.PasteFromClipboard=\u7C98\u8D34
+HopGui.Dialog.ErrorPastingPipeline.Message=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u4E00\u4E2A\u8F6C\u6362\u65F6\u5019
+PipelineLog.Dialog.SavePipelineBeforeRunning2.Message=\u5728\u8FD0\u884C\u524D\uFF0C\u8BF7\u5148\u4FDD\u5B58\u4F60\u7684\u8F6C\u6362\uFF01
+HopGui.STRING_BUILDING_BLOCKS=Transform \u548CJob
+HopGui.Title.LogJobView=\u65E5\u5FD7 (J)\: {0}
+HopGui.Message.Warning.Yes=\u662F
+HopGui.Documentation.Hop.Title=HOP \u6587\u6863
+HopGui.Menu.Tools.DatabaseClearCache=\u6E05\u7406\u6570\u636E\u5E93\u7F13\u5B58
+HopGui.STRING_JOBENTRY_BASE=\u6838\u5FC3\u4F5C\u4E1A\u9879\u76EE
+HopGui.Tooltip.NewTranformation=\u65B0\u5EFA\u8F6C\u6362, \u6E05\u9664\u6240\u6709\u8BBE\u7F6E
+HopGui.Documentation.Tooltip.Forward=\u663E\u793A\u4E0B\u4E00\u9875
+HopGui.Log.AppHasEnded=\ \u5DF2\u7ECF\u7ED3\u675F.
+HopGui.Log.LoggingToFile=Logging goes to 
+HopGui.Dialog.ChangeTransformname.Title=Info\uFF01
+PipelineHistory.Column.Errors=\u9519\u8BEF
+HopGuiServer.Column.PriorityBufferSizes=\u8F93\u5165/\u8F93\u51FA
+PipelineLog.Column.Rejected=\u62D2\u7EDD
+HopGui.Menu.Popup.BASE.New=\u65B0\u5EFA
+PipelineGraph.PopupMenu.DetachTransform=\u5206\u79BB
+PipelineGraph.Dialog.MultipleCopiesAreNotAllowedHere.Message=Sorry, multiple copies of a transform are not allowed here.\nWe suggest that you insert a Dummy transform here.\nThe next transform(s) can then be launched in multiple copies as usual.
+HopGui.Menu.Popup.CLUSTERS.Monitor=Monitor all hop servers
+HopGui.Dialog.PleaseRestartApplication.Message=\u8BF7\u91CD\u542F\u7A0B\u5E8F\u4EE5\u4F7F\u6539\u52A8\u751F\u6548\uFF01
+PipelineLog.Column.Time=\u65F6\u95F4
+TransformPerformanceSnapShotDialog.RowsPerSecond.Label=\u8BB0\u5F55\u6BCF\u79D2
+HopGui.Menu.Popup.CONNECTIONS.Edit=\u7F16\u8F91
+PipelineGraph.Dialog.SplitHop.Message=\u4F60\u60F3\u628A\u8282\u70B9\u8FDE\u63A5\u62C6\u5F00\u5417?
+HopGui.Dialog.ErrorSavingFile.Title=\u9519\u8BEF
+HopGui.Menu.BrowseVersions=Browse version history
+HopGui.Menu.Popup.STEPS.Share=Share
+HopGuiServer.Column.Status=\u72B6\u6001
+HopGui.Message.Warning.NotShowThisMessage=\u4E0D\u8981\u518D\u663E\u793A\u8FD9\u4E2A\u4FE1\u606F.
+HopGui.Menu.Popup.PARTITIONS.Share=Share
+PipelineLog.Button.ShowOnlySelectedTransforms=\u4EC5\u663E\u793A\u9009\u62E9 Transform
+HopGuiServer.Button.Stop=\u505C&\u6B62
+PipelineGraph.PopupMenu.NewNote=\u65B0\u5EFA&\u6CE8\u91CA
+HopGui.Dialog.ErrorPastingJob.Title=\u9519\u8BEF\u7C98\u8D34\u4F5C\u4E1A
+HopGui.Menu.Popup.CLUSTERS.Share=\u5171\u4EAB
+HopGui.Menu.Edit.Navigate.Previous=\u8DF3\u8F6C\u5230\u4E0A\u4E00\u4E2A\u6587\u4EF6
+PipelineGraph.Dialog.NoteEditor.Title=\u6CE8\u91CA
+HopGui.Menu.Run.PauseExecution=\u6682\u505C
+HopGui.Menu.Help.Credits=&\u81F4\u8C22
+HopGui.Tooltip.VerifyPipeline=\u6821\u9A8C\u8FD9\u4E2A Pipeline
+HopGui.Log.ErrorOpeningFileForWriting=\u9519\u8BEF\u6253\u5F00\u8981\u5199\u7684\u6587\u4EF6\uFF01 --> 
+HopGui.Dialog.TransformnameExists.Title=\u6CE8\u91CA
+HopGuiServer.Column.TransformName=Pipeline/Transform
+PipelineGraph.PopupMenu.EditHop=\u7F16\u8F91\u8FDE\u63A5
+HopGui.Tooltip.RunPipelineation=\u8FD0\u884C\u8FD9\u4E2A Pipeline
+HopGui.Hop.MainOutputOfTransform=\u4E3B\u8F93\u51FA Transform
+HopGui.Dialog.ErrorDeletingConnection.Message=\u9519\u8BEF\u5220\u9664\u6765\u81EA\u8D44\u6E90\u5E93\u7684\u6570\u636E\u5E93\u8FDE\u63A5{0}\uFF01
 HopGui.RipDB.Monitor.Note3=\u7136\u540E,\u5199\u4FE1\u606F\u5230\u8868 [
-HopGui.Dialog.NoSQLNeedEexecuted.Title=SQL
-HopGui.RipDB.Monitor.Note2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
+HopGui.RipDB.Monitor.Note4=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
+HopGui.Menu.File.NewDB=\u6570\u636E\u5E93\u8FDE\u63A5
 HopGui.RipDB.Monitor.Note1=\u8BFB\u4FE1\u606F\u4ECE\u8868 [
+HopGui.RipDB.Monitor.Note2=] \u4F4D\u4E8E\u6570\u636E\u5E93 [
+HopGui.Dialog.TransAlreadyLoaded.Title=Sorry
+HopGui.Tooltip.GenerateSQLForTranformation=\u4EA7\u751F\u9700\u8981\u8FD0\u884C\u8FD9\u4E2A\u8F6C\u6362\u7684SQL
+HopGui.Menu.Edit.Redo=\u91CD\u505A
+HopGui.Dialog.ErrorDeletingPartitionSchema.Message=\u5220\u9664\u5206\u533A\u6A21\u5F0F\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+PipelineGraph.Dialog.GettingFields.Title=\u83B7\u53D6\u5B57\u6BB5\u9519\u8BEF
+PipelineGraph.Dialog.LoopsAreNotAllowed.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u65B9\u5411\u7FFB\u8F6C\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF\uFF01  \u5FAA\u73AF\u4E0D\u5141\u8BB8.
+HopGui.Menu.ShowPipelinePerf=Performance
+HopGui.Toolbar.Undo.Tooltip=\u64A4\u6D88\u4E00\u6B21\u64CD\u4F5C
+HopGui.Dialog.OnlyUseStartOnce.Title=\u9519\u8BEF
+HopGui.Menu.File.Save=&\u4FDD\u5B58
+HopGui.Menu.Popup.CLUSTERS.Delete=Delete clustering schema
+PipelineGraph.HelpToolTip.CreatingHops.Title=\u5982\u4F55\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u8FDE\u63A5?
+PipelineHistory.Error.ReplayDateCannotBeNull=\u91CD\u653E\u65E5\u671F\u4E0D\u80FD\u4E3A\u7A7A.
+HopGui.Menu.Pipeline.ShowLastPreviewResults=\u663E\u793A\u6700\u8FD1\u4E00\u6B21\u9884\u89C8\u7ED3\u679C
+HopGui.Menu.Popup.CONNECTIONS.ClearDBCache=Clear DB Cache of 
+HopGui.Hop.ErrorHandlingOfTransform=\u9519\u8BEF\u5904\u7406 Transform
+HopGui.Dialog.CopyOrDistribute.Distribute=\u5206\u53D1
+PipelineGraph.Dialog.Option.SplitHop.DoNotAskAgain=\u4E0D\u8981\u518D\u63D0\u95EE
+HopGui.Dialog.ErrorCreatingTransformDialog.Title=\u521B\u5EFA\u5BF9\u8BDD\u6846\u65F6\u51FA\u9519
+HopGui.Tooltip.OpenTranformation=\u6253\u5F00 Pipeline
+PipelineGraph.Dialog.ErrorDroppingObject.Title=\u9519\u8BEF\u62D6\u653E\u5BF9\u8C61
+HopGui.Menu.ShowGrid=Grid
+PipelineLog.Log.LaunchingPipeline=\u6B63\u5728\u6253\u5F00 Pipeline [
+HopGui.Tooltip.DisplaysPipelineGraphical=\u56FE\u5F62\u5316\u663E\u793A\u8FD9\u4E2A\u8F6C\u6362.
+PipelineHistory.Column.ReplayDate=\u91CD\u653E\u65E5\u671F
+HopGui.MainTree.Label=\u4E3B\u5BF9\u8C61\u6811
+HopGui.Log.ElementHasNoParent=\u5143\u7D20\u6CA1\u6709\u7236\u5143\u7D20
+PipelineGraph.Dialog.GettingFields.Message=\u5728\u67E5\u627E\u5B57\u6BB5\u65F6\u53D1\u751F\u5F02\u5E38\uFF01
+PipelineGraph.PopupMenu.DeleteTransform=\u5220\u9664 Transform
+HopGui.STRING_HOP_SERVER=\u5B50\u670D\u52A1\u5668
+HopGui.Menu.Popup.SLAVE_SERVER.Share=\u5171\u4EAB
+PipelineLog.Column.Written=\u5199
 HopGui.Menu.ActionPlugins=\u663E\u793A\u4F5C\u4E1A\u9879\u63D2\u4EF6
-HopGui.STRING_CONNECTIONS=DB\u8FDE\u63A5
-HopGui.Dialog.NothingFound.Message=\u6CA1\u6709\u627E\u5230\u7B26\u5408\u6761\u4EF6\u7684\u4FE1\u606F
-HopGui.Menu.File=\u6587\u4EF6(&F)
-HopGui.PipelineGraph.LogTab.Name=\u65E5\u5FD7
-PipelineLog.Dialog.Option.AutoSavePipeline=\u81EA\u52A8\u4FDD\u5B58\u8F6C\u6362.
-HopGui.Menu.Edit.ShowVariables=\u663E\u793A\u73AF\u5883&\u53D8\u91CF
-HopGui.Menu.Pipeline.Run=&\u8FD0\u884C
-HopGui.Dialog.UnableChangeUser.Message=\u5BF9\u4E0D\u8D77, \u65E0\u6CD5\u4FEE\u6539\u8FD9\u4E2A\u8D44\u6E90\u5E93\u91CC\u7684\u7528\u6237\:
-TransformPerformanceSnapShotDialog.InputBufferSize=\u8F93\u5165\u7F13\u51B2\u533A
-HopGui.Menu.CmdLine.Display=Display command
-HopGui.Menu.ShowExecutionResults=Results
-PipelineLog.Button.SafeMode=\u5B89\u5168\u6A21\u5F0F
-PipelineGraph.Logging.EditingHop=\u7F16\u8F91\u8282\u70B9\u8FDE\u63A5\: 
-HopGuiServer.Button.Stop=\u505C&\u6B62
-HopGuiServer.ErrorStartingPipeline.Title=\u9519\u8BEF
-PipelineLog.Log.PipelineOpened=\u8F6C\u6362\u5DF2\u7ECF\u6253\u5F00.
-HopGui.Log.FoundTransforms=\u53D1\u73B0{0} transforms to paste on location\: 
-HopGui.Dialog.TransformPluginList.Message=\u53EF\u4EE5\u4F7F\u7528\u7684\u6B65\u9AA4\u548C\u6B65\u9AA4\u63D2\u4EF6\:
-HopGui.Dialog.NewFile.Title=\u65B0\u5EFA\u6587\u4EF6
-HopGui.Log.SavedDatabaseConnection=\u4FDD\u5B58\u6570\u636E\u5E93\u8FDE\u63A5 {0} \u5230\u8D44\u6E90\u5E93.
+PipelineHistory.Column.Updated=\u66F4\u65B0
+HopGui.PipelineGraph.GridTab.Name=Metrics
+HopGui.Dialog.ImpactAnalyses.Message=\u5206\u6790\u7ED3\u679C\:
+HopGui.Log.FoundHops=\u53D1\u73B0{0} hops to paste.
+HopGui.Message.Warning.PromptExit=\u4F60\u786E\u4FE1\u8981\u9000\u51FA\u5417?
+HopGui.Dialog.PromptSave.Message=\u8FD9\u4E2A\u6A21\u578B\u5DF2\u7ECF\u53D1\u751F\u53D8\u66F4.  \u4F60\u60F3\u8981\u4FDD\u5B58\u5B83\u5417?
+HopGui.Dialog.FileExistsOverWrite.Message=This file already exists.  Do you want to overwrite it?
+HopGui.Dialog.ErrorCreatingTransformDialog.Message=\u65E0\u6CD5\u4E3A Transform {0} \u521B\u5EFA\u5BF9\u8BDD\u6846
+HopGuiServer.Column.Active=\u72B6\u6001
+HopGui.Tooltip.ResumeTranformation=\u6062\u590D\u6682\u505C\u7684 Pipeline
+HopGui.RipDB.Monitor.FromTransform.Description=\u8BFB\u4FE1\u606F\u4ECE\u8868 [
+HopGui.Dialog.NothingFound.Title=\u62B1\u6B49
+HopGui.Menu.Pipeline.CopyPipelineToClipboard=&\u590D\u5236\u8F6C\u6362\u5230\u526A\u8D34\u677F
+HopGui.Menu.Pipeline.GetSQL=&\u83B7\u53D6SQL
+HopGui.Log.LoadProperties=\u4E3AHopGui\u52A0\u8F7D\u5C5E\u6027...
+TransformPerformanceSnapShotDialog.Transforms.Label=Transform\:
+PipelineLog.Dialog.ErrorWritingLogRecord.Message=\u65E0\u6CD5\u628A\u65E5\u5FD7\u5199\u5165\u65E5\u5FD7\u8868
+HopGui.Log.UnableFindTransformToDelete=\u65E0\u6CD5\u627E\u5230\u88AB\u5220\u9664\u7684 Transform {0}...
+HopGui.Tooltip.Print=\u6253\u5370
+PipelineLog.ResultsPanel.NameLabel=\u6267\u884C\u7ED3\u679C
+PipelineGraph.PopupMenu.Clustering=\u96C6\u7FA4...
+HopGui.Message.Warning.SaveOK=\u4FDD\u5B58\u6210\u529F\uFF01
+HopGui.ErrorDialog.ErrorPasingActions.Title=Error pasting actions...
+HopGui.Menu.View.Perspectives=\u89C6\u56FE\u7C7B\u578B
+HopGui.Menu.MarketPlace=\u5E02\u573A
+HopGui.Menu.Run.Preview=\u9884\u89C8...
+HopGui.Log.NoRepositoriesDefined=\u7CFB\u7EDF\u91CC\u6CA1\u6709\u5B9A\u4E49\u8D44\u6E90\u5E93.
+PipelineGraph.Dialog.TransformDescription.Title=Transform \u63CF\u8FF0\u5BF9\u8BDD\u6846
+HopGui.Menu.Edit.Delete=\u5220\u9664\u6240\u9009\u5185\u5BB9
+PipelineLog.Dialog.EnterReplayDate.Title=\u8F93\u5165\u91CD\u653E\u8F6C\u6362\u7684\u65E5\u671F
+HopGui.Menu.Workflow.Stop=\u505C\u6B62(&S)
+HopGui.Log.SaveAs=\u53E6\u5B58\u4E3A...
+HopGuiServer.ErrorStartingJob.Title=\u9519\u8BEF
+HopGui.Title.STRING_WELCOME=\u6B22\u8FCE\uFF01
+PipelineGraph.Dialog.CouldntFindFields.Title=\u5B57\u6BB5\u4FE1\u606F
+HopGui.Menu.Edit.CopyToClipboard=\u590D\u5236
+PipelineGraph.PopupMenu.HideTransform=\u9690\u85CF Transform
+HopGui.Menu.Workflow.PasteJobFromClipboard=\u4ECE\u526A\u8D34\u677FP&aste workflow
+HopGui.Log.ClickedOn=\u70B9\u51FB
+PipelineLog.Column.Copynr=\u590D\u5236\u7684\u8BB0\u5F55\u884C\u6570
+HopGui.Dialog.OpenFileVFS.Title=\u6253\u5F00\u4E00\u4E2A\u6587\u4EF6  
+HopGui.Dialog.Warning.NoPreviewOrDebugTransforms.Message=\u6CA1\u6709\u9884\u89C8\u548C\u8C03\u8BD5 Transform.\r\n\u5982\u679C\u8FD9\u6837,\u8F6C\u6362\u53EF\u4EE5\u8FD0\u884C,\u4F46\u662F\u4E0D\u80FD\u6536\u96C6\u5230\u9884\u89C8\u4FE1\u606F.\r\n\u786E\u5B9A\u5F00\u59CB\u8F6C\u6362 \u5417?
+HopGui.Menubar.File.NewPipeline=Pipeline
+PipelineGraph.Dialog.HopCausesRowMixing.Message=\u8FD9\u4E2A\u8FDE\u63A5\u4F7F\u76EE\u6807 Transform \u63A5\u6536\u5E26\u6709\u6DF7\u5408\u6837\u5F0F\u7684\u884C\uFF01
+JobHistory.Button.Refresh=\u5237\u65B0\u4F5C\u4E1A\u5386\u53F2
+HopGui.Dialog.FileExistsOverWrite.Title=This file already exists\uFF01
+HopGui.Log.CheckTransformTreeItem=\u68C0\u67E5 Transform \u6811\u5BF9\u8C61
 PipelineLog.Button.ShowErrorLines=\ &\u663E\u793A\u9519\u8BEF\u884C 
-HopGui.Dialog.NotAllowedChangeUser.Title=\u5BF9\u4E0D\u8D77
-PipelineLog.Column.Errors=\u9519\u8BEF
-HopGui.Application.Name=Hop
-HopGui.Menu.Popup.CONNECTIONS.SQLEditor=SQL \u7F16\u8F91\u5668
-HopGui.Dialog.ErrorOpening.Message=\u9519\u8BEF\u6253\u5F00 \: 
-HopGui.Menu.Popup.HOPS.SortHops=\u6392\u5E8F\u8FDE\u63A5
-HopGui.Menu.Pipeline.Preview=&\u9884\u89C8
-TransformPerformanceSnapShotDialog.Written=\u5199
-HopGui.Menu.Pipeline.Impact=&\u5F71\u54CD\u5206\u6790
-HopGui.RipDB.ActionSQL.Description=\u6267\u884C SQL \u8BED\u53E5\u6765\u521B\u5EFA\u8868 [
-HopGui.STRING_JOB=\u4F5C\u4E1A
-HopGui.Tooltip.PreviewTranformation=\u9884\u89C8\u8FD9\u4E2A\u8F6C\u6362
-HopGui.Dialog.ErrorPastingPipeline.Title=\u9519\u8BEF\u7C98\u8D34\u8F6C\u6362
-PipelineLog.Log.Rows=\ \u884C
-PipelineLog.Column.Rejected=\u62D2\u7EDD
-PipelineGraph.PopupMenu.HideTransform=\u9690\u85CF\u6B65\u9AA4
-HopGui.History=\u5386\u53F2
-HopGui.Menu.File.Close=&\u5173\u95ED
-HopGui.Dialog.ImpactAnalyses.Title=\u5F71\u54CD\u5206\u6790
-HopGui.Dialog.ExceptionCopyToClipboard.Message=\u5F53\u590D\u5236\u6570\u636E\u5230\u526A\u8D34\u677F\u65F6,\u53D1\u751F\u4E86\u4E00\u4E2A\u4E0D\u53EF\u9884\u6599\u7684\u9519\u8BEF.
-PipelineLog.Dialog.WhatIsTheExecutionDate1.Message=\u54EA\u4E2A\u8F6C\u6362\u65E5\u671F
-PipelineLog.Column.PriorityBufferSizes=Pri/in/out
-HopGui.Menu.Edit.Options=\u9009\u9879(&O)...
-HopGui.Dialog.NothingFound.Title=\u5BF9\u4E0D\u8D77
-HopGui.Menu.Wizard.CopyTableWizard=\u590D\u5236\u5355\u8868\u5411\u5BFC(&C)...
-HopGui.Dialog.ErrorSavingFile.Title=\u9519\u8BEF
-HopGui.Menu.Popup.CONNECTIONS.Explore=\u6570\u636E\u5E93\u6D4F\u89C8
-PipelineGraph.PopupMenu.DeleteHop=\u5220\u9664\u8282\u70B9\u8FDE\u63A5
-HopGui.Message.Warning.Yes=\u662F
-HopGui.Menu.ShowPipelineGrid=Grid
-HopGui.Title.LogView=\u65E5\u5FD7\u89C6\u56FE
-PipelineGraph.ExecutionResultsPanel.MinButton.Tooltip=\u6700\u5C0F\u5316\u6267\u884C\u7ED3\u679C\u9762\u677F
-PipelineGraph.PopupMenu.GenerateMappingToThisTransform=\u6839\u636E\u76EE\u6807\u6B65\u9AA4\u751F\u6210\u6620\u5C04
-TransformPerformanceSnapShotDialog.Output=\u8F93\u51FA
+HopGui.RipDB.Monitor.FromTransform.Name=\u4ECE [
+HopGui.Menu.Popup.CONNECTIONS.NewConnectionWizard=\u65B0\u5EFA\u6570\u636E\u5E93\u8FDE\u63A5\u5411\u5BFC
+HopGuiServer.ErrorStartingJob.Message=\u5728\u670D\u52A1\u5668\u4E0A\u542F\u52A8\u4F5C\u4E1A\u65F6\u53D1\u751F\u9519\u8BEF
+HopGui.Dialog.JobNoSQLNeedEexecuted.Message=\u6CA1\u6709\u53EF\u4EE5\u6267\u884C\u7684 SQL \u8BED\u53E5\u6765\u8FD0\u884C\u8FD9\u4E2A\u4F5C\u4E1A.
+HopGui.Menu.Edit.ShowArguments=\u663E\u793A\u53C2\u6570(&u)
+PipelineGraph.PopupMenu.CopyToClipboard=\u590D\u5236
+HopGui.Dialog.TransformnameExists.Message=\u8FD9\u4E2A Transform \u5DF2\u7ECF\u5B58\u5728.  HopGui\u66F4\u6539\u8FD9\u4E2A Transform \u540D\u4E3A[{0}]
+HopGui.Dialog.PromptOverwriteFile.Title=\u8FD9\u4E2A\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728\uFF01
+HopGui.Menu.Pipeline.Run=&\u8FD0\u884C
 PipelineLog.Log.StartedExecutionOfPipeline=\u5F00\u59CB\u6267\u884C\u8F6C\u6362.
-PipelineHistory.Error.ReplayingPipeline2=\u91CD\u653E\u8F6C\u6362\u5931\u8D25
-HopGui.Menu.PluginMgr=Plugin manager
-HopGui.Menu.File.NewWorkflow=\u4F5C\u4E1A
-PipelineHistory.Error.GettingLoggingInfo=\u9519\u8BEF\u7684\u83B7\u53D6\u65E5\u5FD7\u4FE1\u606F
-HopGui.Dialog.CannotFindConnection.Message=\u65E0\u6CD5\u627E\u5230\u6570\u636E\u5E93\u8FDE\u63A5, \u8BF7\u6309(F5)\u5237\u65B0\!
-HopGui.Menu.File.Print=&\u6253\u5370
-PipelineLog.Column.TransformName=\u6B65\u9AA4\u540D\u79F0
-PipelineGraph.PopupMenu.DistributeData=\u8F6E\u6D41\u53D1\u9001\u6A21\u5F0F
-HopGui.Menu.Popup.SLAVE_SERVER.Monitor=Monitor
-HopGui.Menu.Undo.Available=\u64A4\u9500 \: {0}
-HopGui.Menu.Help.Welcome=\u663E\u793A\u6B22\u8FCE\u5C4F\u5E55(&S)
-HopGui.Dialog.ErrorDeletingPartitionSchema.Title=\u9519\u8BEF
-HopGui.STRING_JOB_NO_NAME=<unnamed workflow>
-PipelineGraph.Dialog.MultipleCopiesAreNotAllowedHere.Title=Sorry
+HopGui.Menu.File.Export.Popup=\u5BFC\u51FA
+PipelineLog.Column.Read=\u8BFB
+PipelineHistory.Column.Output=\u8F93\u51FA
+PipelineGraph.PopupMenu.DeleteNote=\u5220\u9664\u6CE8\u91CA
+HopGui.Dialog.ErrorOpening.Message=\u9519\u8BEF\u6253\u5F00\: 
 HopGui.Log.UnableFindDirectory=\u65E0\u6CD5\u627E\u5230\u76EE\u5F55 [{0}] \u5728\u8D44\u6E90\u5E93\u91CC.
-PipelineHistory.Column.Duration=\u6301\u7EED
-HopGui.Menu.Pipeline.Stop=\u505C\u6B62(&S)
-HopGui.Menu.Popup.CONNECTIONS.Delete=\u5220\u9664
-PipelineGraph.PopupMenu.ClearSelection=\u6E05\u9664\u9009\u62E9
-PipelineHistory.Column.Name=\u8F6C\u6362\u540D\u79F0
-HopGui.Dialog.JobAlreadyLoaded.Title=Sorry
-HopGui.Menu.Pipeline.Replay=\u91CD\u653E(&R)
-HopGui.Log.NewHop=\u65B0\u5EFA\u8282\u70B9\u8FDE\u63A5\!
-PipelineLog.Dialog.GivePipelineANameBeforeRunning.Message=\u8BF7\u7ED9\u4F60\u7684\u8F6C\u6362\u4E00\u4E2A\u540D\u79F0\u4EE5\u4FBF\u533A\u5206\!
-HopGui.Menu.File.OpenVFS=\u4ECE&URL\u6253\u5F00\u6587\u4EF6
+PipelineLog.Dialog.DoNoStartPipelineTwice.Title=\u8B66\u544A\uFF01
+HopGui.Documentation.Tooltip.Print=\u6253\u5370\u9875\u9762
+HopGui.PipelineGraph.LogTab.Name=\u65E5\u5FD7
+WorkflowGraph.Dialog.HopCausesLoop.Title=\u76F8\u4E92\u5F15\u7528\uFF01
+PipelineLog.Dialog.WhatIsTheExecutionDate2.Message=\u662F\u4F60\u60F3\u91CD\u653E\u7684?
+HopGui.Menu.Run.ResumeExecution=\u6062\u590D
+HopGui.Log.NewHop=\u65B0\u5EFA\u8282\u70B9\u8FDE\u63A5\uFF01
+HopGui.Menu.Action=\u6267\u884C(&R)
+PipelineGraph.Dialog.NrOfCopiesOfTransform.Title=Transform \u590D\u5236\u7684\u6570\u91CF...
 HopGui.PipelineGraph.PerfTab.Name=\u6027\u80FD\u56FE
-HopGui.Dialog.PromptOverwriteFile.Message=\u8FD9\u4E2A\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728.  \u4F60\u60F3\u8986\u76D6\u5B83\u5417\uFF1F?
-HopGui.Log.DeleteTransform=\u5220\u9664\u6B65\u9AA4\: 
-HopGui.STRING_PIPELINES=\u8F6C\u6362
-HopGui.RipDB.Monitor.ProcessingTable=\u5904\u7406\u8868 [
-HopGui.Dialog.WarningCreateNewTransforms.Message=\u8BF7\u4F7F\u7528\u4E0B\u5217\u7684\u57FA\u672C\u6B65\u9AA4\u7C7B\u578B\u6765\u521B\u5EFA\u65B0\u6B65\u9AA4.
-HopGui.Dialog.TransformPluginList.Title=\u6B65\u9AA4\u63D2\u4EF6\u5217\u8868
-HopGui.Menu.File.Import=&\u4ECEXML\u6587\u4EF6\u5BFC\u5165
-HopGui.Menu.Popup.SLAVE_SERVER.Delete=Delete
+HopGui.Dialog.PipelineNoImpactOnDatabase.Message=\u8FD9\u4E2A\u8F6C\u6362\u5BF9\u4EFB\u4F55\u6570\u636E\u5E93\u90FD\u6CA1\u6709\u5F71\u54CD.
+HopGui.Message.Warning.Warning=\u8B66\u544A\uFF01
+PipelineGraph.PopupMenu.DataMovement=\u6570\u636E\u53D1\u9001......
+PipelineGraph.Dialog.TransformIsAlreadyOnCanvas.Title=\u9519\u8BEF\uFF01
+PipelineLog.Dialog.ErrorLines.Title=\u9519\u8BEF\u884C
+HopGui.Dialog.PromptPipelineName.Message=\u5728\u4FDD\u5B58\u8FD9\u4E2A\u8F6C\u6362\u5230\u6570\u636E\u5E93\u4E4B\u524D\uFF0C\u8BF7\u7ED9\u8FD9\u4E2A\u8F6C\u6362\u4E00\u4E2A\u540D\u79F0.
+HopGui.Dialog.SetVariables.Message=Please enter the values of the variables or create new ones
+HopGui.Message.Warning.PipelineWasStored=\u8FD9\u4E2A\u8F6C\u6362\u5DF2\u7ECF\u88AB\u5B58\u50A8\u5728\u8D44\u6E90\u5E93
+HopGui.Menu.Tools.Plugins.Popup=Plug-Ins
+PipelineGraph.HelpToolTip.CreatingHops.Message=- \u4F7F\u7528\u9F20\u6807\u4E2D\u95F4\u952E\u4ECE\u4E00\u4E2A Transform \u62D6\u5230\u53E6\u4E00\u4E2A Transform.\r\n- \u6309\u4F4F SHIFT \u952E,\u4ECE\u4E00\u4E2A Transform \u62D6\u5230\u53E6\u4E00\u4E2A Transform.
+HopGui.STRING_HOPS=Hops(\u8282\u70B9\u8FDE\u63A5)
+PipelineGraph.PopupMenu.CheckSelectedTransforms=\u68C0\u67E5\u6240\u9009 Transform
 HopGui.Exception.ErrorReadingXULFile.Title=\u9519\u8BEF
+HopGui.Dialog.ShowArguments.Message=\u5B9A\u4E49\u7684\u53C2\u6570\u5217\u8868\:
+PipelineHistory.Error.ReplayingPipeline2=\u91CD\u653E\u8F6C\u6362\u5931\u8D25
+PipelineLog.System.No=\u5426
+HopGui.Menu.Pipeline.Preview=&\u9884\u89C8
+HopGui.Menu.Edit.Options=\u9009\u9879(&O)...
+HopGui.Menu.File.Open.Recent.Popup=\u6253\u5F00\u6700\u8FD1\u7684\u914D\u7F6E
+HopGui.Dialog.ErrorDeletingPartitionSchema.Title=\u9519\u8BEF
+HopGui.Menu.Workflow.Replay=Replay workflow
+PipelineLog.Log.Rows=\ \u884C
+HopGui.Dialog.HopExists.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u5DF2\u7ECF\u5B58\u5728\uFF01
+HopGui.Menu.Popup.STEPS.Duplicate=Duplicate
+HopGui.Menu.File.Import=&\u4ECEXML\u6587\u4EF6\u5BFC\u5165
+HopGui.ErrorDialog.ErrorFetchingFromRepo.PartitioningSchemas=\u65E0\u6CD5\u83B7\u53D6\u5206\u533A Schema \u4FE1\u606F
+HopGui.Menu.View.ZoomOut=\u7F29\u5C0F(&O)
+HopGui.Menu.Edit.ShowVariables=\u663E\u793A\u73AF\u5883&\u53D8\u91CF
+HopGui.Message.Note.RenamesReservedWords=\u91CD\u547D\u540D\u4FDD\u7559\u5B57\u4E3A {0}
+HopGui.Menu.Popup.HOPS.SortHops=\u6392\u5E8F\u8FDE\u63A5
 PipelineGraph.PopupMenu.AllignRight=\u53F3\u5BF9\u9F50
-HopGui.Dialog.UnexpectedError.Title=\u672A\u9884\u671F\u7684\u9519\u8BEF
-HopGui.Tooltip.DisplaysPipelineGraphical=\u56FE\u5F62\u5316\u663E\u793A\u8FD9\u4E2A\u8F6C\u6362.
-PipelineLog.Button.Preview=\ &\u9884\u89C8 
-HopGui.Menu.Pipeline=&\u8F6C\u6362
-PipelineGraph.PopupMenu.NumberOfCopies=\u6539\u53D8\u5F00\u59CB\u590D\u5236\u7684\u6570\u91CF...
-HopGui.Dialog.PipelineNoImpactOnDatabase.Message=\u8FD9\u4E2A\u8F6C\u6362\u5BF9\u4EFB\u4F55\u6570\u636E\u5E93\u90FD\u6CA1\u6709\u5F71\u54CD.
-HopGui.STRING_PIPELINE_NO_NAME=<unnamed pipeline>
-PipelineLog.Button.PausePipeline=\u6682\u505C(&P)
-HopGui.Log.NoRepositoriesDefined=\u7CFB\u7EDF\u91CC\u6CA1\u6709\u5B9A\u4E49\u8D44\u6E90\u5E93.
-HopGui.Menu.Popup.PARTITIONS.Delete=Delete partitioning schema
+PipelineLog.Button.SafeMode=\u5B89\u5168\u6A21\u5F0F
+HopGui.Menu.Popup.CONNECTIONS.Share=\u5171\u4EAB
+HopGui.Dialog.ErrorOpening.Title=\u9519\u8BEF
+PipelineLog.Dialog.DoNoPreviewWhileRunning.Message=\u62B1\u6B49,\u8F6C\u6362\u5728\u8FD0\u884C\u65F6\u4E0D\u80FD\u9884\u89C8 Transform.
+HopGui.ErrorDialog.UnexpectedErrorCreatingNewJobGraphEntry.Title=\u521B\u5EFA\u8D44\u6E90\u65F6\u7684\u4E25\u91CD\u9519\u8BEF
+WorkflowGraph.Dialog.HopCausesLoop.Message=\u5728 Hop \u7684 Workflow \u4E2D\uFF0C\u5404\u4E2A Action \u4E4B\u95F4\u4E0D\u5141\u8BB8\u6709\u5FAA\u73AF\u5F15\u7528.
+HopGui.Menu.Pipeline=Pipeline (T)
+PipelineLog.Dialog.FileHasChanged2.Message=\u4F60\u60F3\u73B0\u5728\u4FDD\u5B58\u8FD9\u4E2A\u8F6C\u6362\u5417?
+HopGui.Log.ElementHasParent=\u5143\u7D20\u6709\u7236\u5143\u7D20\:
+HopGui.Menu.Popup.BASE.HistoryWindow=\u6253\u5F00\u5386\u53F2\u89C6\u56FE
+HopGui.Message.Note.WriteInformationToTableOnDB=\u4E4B\u540E, \u5B83\u5199\u4FE1\u606F\u5230\u8868[{0}]\u5728\u6570\u636E\u5E93 [{1}]
+HopGui.Dialog.ErrorPastingPipeline.Title=\u9519\u8BEF\u7C98\u8D34 Pipeline
+HopGui.Menu.File.OpenVFS=\u4ECE&URL\u6253\u5F00\u6587\u4EF6
+HopGui.Dialog.NoRemoteServerSpecified.Message=\u9700\u8981\u6307\u5B9A\u8FDC\u7A0B\u4E3B\u673A
+HopGui.UnknownFileType.Message=\u6587\u4EF6"{0}" \u4E0D\u662F Hop \u7684\u6587\u4EF6\u7C7B\u578B
+HopGui.Dialog.FatalError=\u81F4\u547D\u9519\u8BEF\:
+PipelineGraph.PopupMenu.AllignBottom=\u5E95\u5BF9\u9F50
+HopGui.Error.UnableToLoadSharedObjects.Title=\u9519\u8BEF
+PipelineLog.Log.PipelineOpened=Pipeline \u5DF2\u7ECF\u6253\u5F00.
+HopGui.Dialog.UnablePasteEntries.Message=\u65E0\u6CD5\u7C98\u8D34\u526A\u8D34\u677F\u5185\u5BB9
+HopGui.Log.UnexpectedErrorOccurred=\u4E00\u4E2A\u672A\u9884\u671F\u7684\u9519\u8BEF\u53D1\u751F\u5728HopGui\: probable cause\:\u5728\u505C\u6B62HopGui\u524D\uFF0C\u8BF7\u5148\u5173\u95ED\u5176\u5B83spoon\u7A97\u53E3\uFF01 
+HopGui.Dialog.ExceptionPasteFromClipboard.Title=\u9519\u8BEF
+PipelineLog.Dialog.UnexpectedErrorDuringPreview.Title=\u5728\u9884\u89C8\u65F6\u5019\u53D1\u751F\u672A\u9884\u671F\u7684\u9519\u8BEF
+HopGui.Dialog.WarningCreateNewTransforms.Title=\u63D0\u793A\uFF01
+HopGui.Menu.Pipeline.CopyPipelineImageClipboard=\u590D\u5236\u8F6C\u6362\u56FE\u7247\u5230\u526A\u8D34\u677F
+HopGui.Menu.Wizard.CopyTables=\u590D\u5236\u591A\u8868\u5411\u5BFC(&C)
+HopGui.STRING_TRANSFORMS=Transforms(\u6B65\u9AA4)
+HopGui.Menu.File.Import.Popup=\u5BFC\u5165
+PipelineLog.Log.PipelineHasFinished=Pipeline \u5B8C\u6210\uFF01\uFF01
+PipelineGraph.Dialog.TransformIsAlreadyOnCanvas.Message=Transform \u5DF2\u7ECF\u5728\u753B\u5E03\u4E0A\uFF01
+HopGui.Dialog.UnableOpenDialog.Message=\u65E0\u6CD5\u6253\u5F00\u8FD9\u4E2A Transform \u7A97\u53E3
+PipelineLog.Column.Errors=\u9519\u8BEF
+HopGui.Menu.File.Close=&\u5173\u95ED
+TransformPerformanceSnapShotDialog.Updated=\u66F4\u65B0
+PipelineHistory.Column.EndDate=\u7ED3\u675F\u65E5\u671F
+HopGui.Dialog.ActionCanNotBeChanged.Message=This action can''t be changed\uFF01
+HopGui.Menu.Popup.SLAVE_SERVER.Delete=Delete
+HopGui.ErrorDialog.RipDB.ErrorRippingTheDatabase.Title=\u9519\u8BEF\u590D\u5236\u6570\u636E\u5E93
+HopGui.Menu.Tools.EditConfigVariables=\u53D8\u91CF\u914D\u7F6E...
+PipelineGraph.Dialog.ItemCanNotBePlacedOnCanvas.Message=\u8FD9\u4E2A\u5BF9\u8C61\u65E0\u6CD5\u653E\u7F6E\u5728\u753B\u5E03\u4E0A.
+HopGui.Dialog.ErrorDeletingSlave.Title=\u9519\u8BEF
+HopGui.Message.Note.HandleReservedWords=\u5904\u7406\u4FDD\u7559\u5B57
+PipelineGraph.PopupMenu.DeleteHop=\u5220\u9664\u8282\u70B9\u8FDE\u63A5
+HopGui.Tooltip.DisplaysPipelineLog=\u663E\u793A\u6B63\u5728\u8FD0\u884C\u7684\u8F6C\u6362\u7684\u65E5\u5FD7.
+HopGui.Menu.Pipeline.Debug=\u8C03\u8BD5(&D)
+HopGui.Menu.Popup.HOPS.Delete=Delete
+TransformPerformanceSnapShotDialog.TimeInSeconds.Label=\u603B\u5171\u8FD0\u884C\u65F6\u95F4\u662F{0}\u79D2,\u6BCF{1}\u6BEB\u79D2\u62CD\u4E00\u6B21\u5FEB\u7167
+HopGui.Dialog.NoSQLNeedEexecuted.Message=\u5728\u8F6C\u6362\u80FD\u591F\u8FD0\u884C\u4E4B\u524D\uFF0C\u6CA1\u6709SQL\u9700\u8981\u6267\u884C.
+HopGui.Dialog.SaveChangedFile.Title=\u8B66\u544A
+HopGui.Menu.Popup.CONNECTIONS.SQLEditor=SQL \u7F16\u8F91\u5668
+PipelineGraph.PopupMenu.SnapToGrid=\u8D34\u7D27\u7F51\u683C(size 
+HopGui.STRING_PLUGIN=Transform \u63D2\u4EF6\u7C7B\u578B
+HopGui.Menu.Run.Debug=\u8C03\u8BD5...
+PipelineGraph.Dialog.ErrorDroppingObject.Message=\u5728\u753B\u5E03\u4E0A\u62D6\u653E\u4E00\u4E2A\u5BF9\u8C61\u65F6\u53D1\u751F\u4E86\u4E00\u4E2A\u9519\u8BEF
+PipelineGraph.NewPipelineBackgroundMessage=\u5355\u51FB\u8BBE\u8BA1\u5668\u4EFB\u4F55\u533A\u57DF\u6253\u5F00\u7EC4\u4EF6\u9009\u62E9\u9762\u677F
+HopGui.Dialog.UnableCreateNewTransform.Title=\u9519\u8BEF\u521B\u5EFA Transform
+PipelineLog.Dialog.ErrorLines.Message=\u9009\u62E9\u8981\u7F16\u8F91\u7684 Transform\:
+PipelineLog.Dialog.Option.AutoSavePipeline=\u81EA\u52A8\u4FDD\u5B58\u8F6C\u6362.
 PipelineGraph.PopupMenu.ShowInputFields=\u663E\u793A\u8F93\u5165\u5B57\u6BB5
-HopGui.Dialog.UnableCreateNewTransform.Title=\u9519\u8BEF\u521B\u5EFA\u6B65\u9AA4
-HopGui.Dialog.PromptSave.Message=\u8FD9\u4E2A\u6A21\u578B\u5DF2\u7ECF\u53D1\u751F\u53D8\u66F4.  \u4F60\u60F3\u8981\u4FDD\u5B58\u5B83\u5417?
-PipelineGraph.Dialog.LoopsAreNotAllowed.Message=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u65B9\u5411\u7FFB\u8F6C\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF\!  \u5FAA\u73AF\u4E0D\u5141\u8BB8.
-HopGui.Dialog.FileExistsOverWrite.Message=This file already exists.  Do you want to overwrite it?
-HopGui.RipDB.Monitor.BuildingNewWorkflow=\u6784\u9020\u65B0\u4F5C\u4E1A...
-HopGui.Message.Note.WriteToTable=\u5199\u5165\u8868 [{0}]
-HopGui.Dialog.OnlyUseStartOnce.Title=\u9519\u8BEF
-HopGui.PipelineGraph.GridTab.Name=\u6B65\u9AA4\u5EA6\u91CF
-HopGui.Dialog.TransAlreadyLoaded.Message=A pipeline with the same name is already loaded.\nPlease close this pipeline first to reload it.
-HopGuiServer.ErrorStartingJob.Title=\u9519\u8BEF
-HopGui.ErrorDialog.RipDB.ErrorRippingTheDatabase.Message=\u590D\u5236\u6570\u636E\u5E93\u65F6\u53D1\u751F\u9519\u8BEF\!
-PipelineGraph.Dialog.LoopsAreNotAllowed.Title=\u9519\u8BEF\uFF01
-HopGui.Menu.Action=\u6267\u884C
-PipelineGraph.Dialog.ErrorClearningLoggingTable.Title=\u9519\u8BEF\u6E05\u9664\u65E5\u5FD7\u8868
-PipelineGraph.ExecutionResultsPanel.CloseButton.Tooltip=\u5173\u95ED\u6267\u884C\u7ED3\u679C\u9762\u677F
-PipelineLog.Log.ProcessingOfPipelineStopped=\u8F6C\u6362\u5904\u7406\u5DF2\u7ECF\u505C\u6B62.
-HopGui.Menu.Popup.CONNECTIONS.ShowDependancies=\u663E\u793A\u4F9D\u8D56
\ No newline at end of file
+HopGui.Menu.Workflow.Settings=&\u8BBE\u7F6E...
+PipelineLog.Log.CancelReplay1=\u53D6\u6D88\u91CD\u653E
+HopGui.Dialog.LoadPipelineError.Title=\u9519\u8BEF \u52A0\u8F7D Pipeline
+PipelineGraph.Dialog.ErrorDuplicatingTransform.Title=\u9519\u8BEF\u590D\u5236 Transform
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/dataorch/messages/messages_zh_CN.properties
similarity index 62%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/dataorch/messages/messages_zh_CN.properties
index b11c537..366ceba 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/dataorch/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.perspective.dataorch' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+DataOrchestrationPerspective.CloseAll.Button.Text=\u5173\u95ED\u5168\u90E8
+DataOrchestrationPerspective.CloseOther.Button.Text=\u5173\u95ED\u5176\u5B83
+DataOrchestrationPerspective.Name=\u7F16\u6392\u5668
+DataOrchestrationPerspective.GuiPlugin.Description=Hop Data Orchestration Perspective GUI
+DataOrchestrationPerspective.Close.Button.Text=\u5173\u95ED
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..dd2d5c8
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_zh_CN.properties
@@ -0,0 +1,42 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.perspective.explorer' in locale 'zh_CN'
+#
+#
+ExplorerPerspective.Error.DeleteFile.Message=\u5220\u9664\u6587\u4EF6\u65F6\u51FA\u9519
+ExplorerPerspective.Error.OpenFile.Header=\u9519\u8BEF
+ExplorerPerspective.DeleteFile.Confirmation.Message=\u60A8\u786E\u5B9A\u8981\u5220\u9664\u4EE5\u4E0B\u6587\u4EF6\u5417?
+ExplorerPerspective.Error.CreateFolder.Message=\u521B\u5EFA\u6587\u4EF6\u5939\u65F6\u51FA\u9519\: \u201C{0}\u201D
+ExplorerPerspective.DeleteFile.Confirmation.Header=\u5220\u9664\u6587\u4EF6?
+ExplorerPerspective.Error.CreateFolder.Header=\u9519\u8BEF
+ExplorerPerspective.Error.RootFolder.Message=\u83B7\u53D6\u6D4F\u89C8\u5668\u900F\u89C6\u56FE\u7684 \u6839\u76EE\u5F55 \u6216 \u540D\u79F0 \u65F6\u51FA\u9519
+ExplorerPerspective.Name=\u6587\u4EF6\u6D4F\u89C8\u5668
+ExplorerPerspective.ToolbarElement.Delete.Tooltip=\u5220\u9664\u9009\u62E9\u6587\u4EF6
+ExplorerPerspective.Error.TreeRefresh.Header=\u9519\u8BEF
+ExplorerPerspective.ToolbarElement.Refresh.Tooltip=\u5237\u65B0
+ExplorerPerspective.Error.TreeRefresh.Message=\u5237\u65B0\u6587\u4EF6\u6D4F\u89C8\u5668\u4FE1\u606F\u65F6\u51FA\u9519
+ExplorerPerspective.GuiPlugin.Description=\u5F53\u524D\u9879\u76EE\u7684\u6587\u4EF6\u6D4F\u89C8\u5668
+ExplorerPerspective.ToolbarElement.Rename.Tooltip=\u91CD\u547D\u540D\u9009\u62E9\u6587\u4EF6
+ExplorerPerspective.CreateFolder.Header=\u521B\u5EFA\u76EE\u5F55
+ExplorerPerspective.Error.RenameFile.Header=\u9519\u8BEF
+ExplorerPerspective.ToolbarElement.CreateFolder.Tooltip=\u521B\u5EFA\u6587\u4EF6\u5939
+ExplorerPerspective.Error.OpenFile.Message=\u6253\u5F00\u6587\u4EF6\u65F6\u51FA\u9519
+ExplorerPerspective.ToolbarElement.Open.Tooltip=\u6253\u5F00\u9009\u62E9\u6587\u4EF6
+ExplorerPerspective.Error.RootFolder.Header=\u9519\u8BEF
+ExplorerPerspective.Error.DeleteFile.Header=\u9519\u8BEF
+ExplorerPerspective.CreateFolder.Message=\u8BF7\u8F93\u5165\u8981\u5728\u5176\u4E2D\u521B\u5EFA\u7684\u6587\u4EF6\u5939\u7684\u540D\u79F0\: \u201C{0}\u201D
+ExplorerPerspective.Error.RenameFile.Message=\u91CD\u547D\u540D\u6587\u4EF6\u65F6\u51FA\u9519
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..a22cc3f
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/metadata/messages/messages_zh_CN.properties
@@ -0,0 +1,33 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.perspective.metadata' in locale 'zh_CN'
+#
+#
+MetadataPerspective.ToolbarElement.Refresh.Tooltip=\u5237\u65B0
+MetadataPerspective.GuiPlugin.Description=\u8BE5\u900F\u89C6\u56FE\u5141\u8BB8\u60A8\u67E5\u770B\u548C\u7F16\u8F91\u6240\u6709\u6709\u6548\u7684\u5143\u6570\u636E
+MetadataPerspective.ToolbarElement.Edit.Tooltip=\u7F16\u8F91
+MetadataPerspective.CreateMetadata.Error.Message=\u521B\u5EFA\u5143\u6570\u636E\u65F6\u51FA\u9519
+MetadataPerspective.EditMetadata.Error.Header=\u9519\u8BEF
+MetadataPerspective.RefreshMetadata.Error.Message=\u5237\u65B0\u5143\u6570\u636E\u4FE1\u606F\u65F6\u51FA\u9519
+MetadataPerspective.Name=\u5143\u6570\u636E
+MetadataPerspective.DuplicateMetadata.Error.Header=\u9519\u8BEF
+MetadataPerspective.DuplicateMetadata.Error.Message=\u590D\u5236\u5143\u6570\u636E\u65F6\u51FA\u9519
+MetadataPerspective.EditMetadata.Error.Message=\u7F16\u8F91\u5143\u6570\u636E\u65F6\u51FA\u9519
+MetadataPerspective.RefreshMetadata.Error.Header=\u9519\u8BEF
+MetadataPerspective.ToolbarElement.Delete.Tooltip=\u5220\u9664
+MetadataPerspective.ToolbarElement.CreateCopy.Tooltip=\u521B\u5EFA\u4E00\u4E2A\u526F\u672C
+MetadataPerspective.CreateMetadata.Error.Header=\u9519\u8BEF
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/pluginexplorer/messages/messages_zh_CN.properties
similarity index 58%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/pluginexplorer/messages/messages_zh_CN.properties
index b11c537..29bc2fa 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/pluginexplorer/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.perspective.pluginexplorer' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+PluginExplorerPerspective.GuiPlugin.Description=Hop \u63D2\u4EF6\u8D44\u6E90\u7BA1\u7406\u5668\u900F\u89C6\u56FE GUI
+PluginExplorerPerspective.Error.CollectPlugin.Header=\u9519\u8BEF
+PluginExplorerPerspective.Name=\u63D2\u4EF6\u8D44\u6E90\u7BA1\u7406\u5668
+PluginExplorerPerspective.Error.CollectPlugin.Message=\u6536\u96C6\u63D2\u4EF6\u4FE1\u606F\u65F6\u51FA\u9519
+PluginExplorerPerspective.PluginType.Label=\u63D2\u4EF6\u7C7B\u578B\:
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/search/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/search/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..13f245e
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/search/messages/messages_zh_CN.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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.ui.hopgui.perspective.search' in locale 'zh_CN'
+#
+#
+HopSearchPerspective.SearchStringOptions.Description=\u8FC7\u6EE4\u5668\:
+HopSearchPerspective.ResultsTable.Description.Field=\u63CF\u8FF0
+HopSearchPerspective.Name=\u641C\u7D22
+HopSearchPerspective.ResultsTable.MatchText.Field=\u5339\u914D\u6587\u672C
+HopSearchPerspective.Open.Button.Label=\u6253\u5F00
+HopSearchPerspective.ResultsTable.Name.Field=\u540D\u79F0
+HopSearchPerspective.ResultsTable.File.Field=\u6587\u4EF6
+HopSearchPerspective.Label.Location=\u641C\u7D22\u8303\u56F4\:
+HopSearchPerspective.GuiPlugin.Description=Hop \u641C\u7D22\u900F\u89C6\u56FE GUI
+HopSearchPerspective.Header.Description.Text=\u9009\u62E9\u8981\u641C\u7D22\u7684\u8303\u56F4\u548C\u8FC7\u6EE4\u6761\u4EF6\u540E\uFF0C \u70B9\u51FB\u201C\u641C\u7D22\u201D\u6309\u94AE
+HopSearchPerspective.SearchStringOptions.Option2.Label=\u6B63\u5219\u8868\u8FBE\u5F0F
+HopSearchPerspective.ResultsTable.Location.Field=\u6240\u5728\u4F4D\u7F6E
+HopSearchPerspective.SearchStringOptions.Option1.Label=\u5927\u5C0F\u5199\u654F\u611F
+HopSearchPerspective.Search.Button.Label=\u641C\u7D22
+HopSearchPerspective.ResultsTable.Type.Field=\u7C7B\u578B
+HopSearchPerspective.ResultsTable.Value.Field=\u503C
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/wizards/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/wizards/messages/messages_zh_CN.properties
index 2958010..c4810c3 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/wizards/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/wizards/messages/messages_zh_CN.properties
@@ -17,21 +17,21 @@
 #
 #
 #
-CopyTableWizard.DialogTitle=\u590d\u5236\u8868\u5411\u5bfc
-CopyTableWizardPage1.Dialog.Title=\u8f93\u5165\u6e90\u6570\u636e\u5e93\u548c\u76ee\u6807\u6570\u636e\u5e93
-CopyTableWizardPage1.Dialog.Description=\u9009\u62e9\u6e90\u6570\u636e\u5e93\u548c\u76ee\u6807\u6570\u636e\u5e93.
-CopyTableWizardPage1.SourceAndTargetIsSame.DialogMessage=\u6e90\u6570\u636e\u5e93\u548c\u76ee\u6807\u6570\u636e\u5e93\u4e0d\u80fd\u662f\u540c\u4e00\u4e2a\!
-CopyTableWizardPage1.SourceAndTargetIsNull.DialogMessage=\u6e90\u6570\u636e\u5e93\u548c\u76ee\u6807\u6570\u636e\u5e93\u90fd\u4e0d\u80fd\u4e3a\u7a7a\!
-CopyTableWizardPage1.SourceIsNull.DialogMessage=\u8bf7\u9009\u62e9\u6e90\u6570\u636e\u5e93\!
-CopyTableWizardPage1.TargetIsNull.DialogMessage=\u8bf7\u9009\u62e9\u76ee\u6807\u6570\u636e\u5e93\!
-CopyTableWizardPage1.GoOnNext.DialogMessage=\u9009\u62e9'\u4e0b\u4e00\u6b65' \u7ee7\u7eed
-CopyTableWizardPage2.Dialog.Title=\u9009\u62e9\u9700\u8981\u590d\u5236\u7684\u8868
-CopyTableWizardPage2.Dialog.Description=\u4ece\u6e90\u6570\u636e\u5e93\u9009\u62e9\u9700\u8981\u590d\u5236\u7684\u8868
-CopyTableWizardPage2.ErrorGettingTables.DialogTitle=\u83b7\u53d6\u8868\u5931\u8d25
-CopyTableWizardPage2.ErrorGettingTables.DialogMessage=\u4ece\u6570\u636e\u5e93\u83b7\u53d6\u6570\u636e\u5217\u8868\u5931\u8d25\!
-CopyTableWizardPage2.Dialog.TableList.Label=\u53ef\u83b7\u5f97\u7684\u8868:
-CopyTableWizardPage3.Dialog.Title=\u8bf7\u8f93\u5165\u8f6c\u6362\u8be6\u7ec6\u4fe1\u606f
-CopyTableWizardPage3.Dialog.Description=\u8bf7\u8f93\u5165\u8f6c\u6362\u76ee\u6807\u548c\u8def\u5f84.
-CopyTableWizardPage3.Dialog.JobName.Label=\u8f6c\u6362\u540d\u79f0 :
+CopyTableWizard.DialogTitle=\u590D\u5236\u8868\u5411\u5BFC
+CopyTableWizardPage1.Dialog.Title=\u8F93\u5165\u6E90\u6570\u636E\u5E93\u548C\u76EE\u6807\u6570\u636E\u5E93
+CopyTableWizardPage1.Dialog.Description=\u9009\u62E9\u6E90\u6570\u636E\u5E93\u548C\u76EE\u6807\u6570\u636E\u5E93.
+CopyTableWizardPage1.SourceAndTargetIsSame.DialogMessage=\u6E90\u6570\u636E\u5E93\u548C\u76EE\u6807\u6570\u636E\u5E93\u4E0D\u80FD\u662F\u540C\u4E00\u4E2A\uFF01
+CopyTableWizardPage1.SourceAndTargetIsNull.DialogMessage=\u6E90\u6570\u636E\u5E93\u548C\u76EE\u6807\u6570\u636E\u5E93\u90FD\u4E0D\u80FD\u4E3A\u7A7A\uFF01
+CopyTableWizardPage1.SourceIsNull.DialogMessage=\u8BF7\u9009\u62E9\u6E90\u6570\u636E\u5E93\uFF01
+CopyTableWizardPage1.TargetIsNull.DialogMessage=\u8BF7\u9009\u62E9\u76EE\u6807\u6570\u636E\u5E93\uFF01
+CopyTableWizardPage1.GoOnNext.DialogMessage=\u9009\u62E9'\u4E0B\u4E00\u6B65' \u7EE7\u7EED
+CopyTableWizardPage2.Dialog.Title=\u9009\u62E9\u9700\u8981\u590D\u5236\u7684\u8868
+CopyTableWizardPage2.Dialog.Description=\u4ECE\u6E90\u6570\u636E\u5E93\u9009\u62E9\u9700\u8981\u590D\u5236\u7684\u8868
+CopyTableWizardPage2.ErrorGettingTables.DialogTitle=\u83B7\u53D6\u8868\u5931\u8D25
+CopyTableWizardPage2.ErrorGettingTables.DialogMessage=\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u6570\u636E\u5217\u8868\u5931\u8D25\uFF01
+CopyTableWizardPage2.Dialog.TableList.Label=\u53EF\u83B7\u5F97\u7684\u8868\:
+CopyTableWizardPage3.Dialog.Title=\u8BF7\u8F93\u5165\u8F6C\u6362\u8BE6\u7EC6\u4FE1\u606F
+CopyTableWizardPage3.Dialog.Description=\u8BF7\u8F93\u5165\u8F6C\u6362\u76EE\u6807\u548C\u8DEF\u5F84.
+CopyTableWizardPage3.Dialog.JobName.Label=Pipeline \u540D\u79F0 \:
 CopyTableWizardPage3.Dialog.DirectoryButton.Label=...
-CopyTableWizardPage3.Dialog.Directory.Label=\u76ee\u5f55 :
+CopyTableWizardPage3.Dialog.Directory.Label=\u76EE\u5F55 \:
diff --git a/ui/src/main/resources/org/apache/hop/ui/i18n/editor/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/i18n/editor/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..8102a9e
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/i18n/editor/messages/messages_zh_CN.properties
@@ -0,0 +1,56 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.ui.i18n.editor' in locale 'zh_CN'
+#
+#
+i18nDialog.TranslationSelectedPackage=\u5305\u540D\:
+i18nDialog.Search=\u641C\u7D22
+i18nDialog.Warning=\u8B66\u544A\uFF01
+i18n.Log.UnableToGetFiles=\u65E0\u6CD5\u4ECE\u76EE\u5F55 [{0}] \u83B7\u53D6\u6240\u6709\u6587\u4EF6
+i18nDialog.Zip=Zip(&Z)
+i18n.Log.CompleteKeys=\u5B8C\u6210 ({0})
+i18nDialog.SearchLocale2=\u8BE5\u5305\u5185\u5B57\u7B26
+i18nDialog.Save=\u4FDD\u5B58(&S)
+i18nDialog.SearchLocale1=\u641C\u7D22\u7FFB\u8BD1\u7684\u5185\u5BB9
+i18nDialog.TranslationKey=i18n \u952E\:
+i18nDialog.Close=\u5173\u95ED(&C)
+i18n.Log.MissingKeys=....\u7F3A\u5931 {0}
+i18nDialog.LineOfSourceCode=\u6E90\u7801\u884C\:
+i18nDialog.SearchKey=\u641C\u7D22\u952E\u503C
+i18nDialog.ToDoList=TODO \u5217\u8868\:
+i18nDialog.ShowAllkeys=\u663E\u793A\u6240\u6709\u952E\uFF0C\u800C\u4E0D\u4EC5\u4EC5\u662F TODO \u5217\u8868
+i18n.Log.ScanningSourceDirectories=\u626B\u63CFJava \u6E90\u7801\u76EE\u5F55\u53CA\u6587\u4EF6, \u67E5\u627E\u6240\u6709 i18n \u952E\u4FE1\u606F...
+i18nDialog.Zip.Tip=\u4E3A\u5F53\u524D\u8BED\u8A00\u7684\u5168\u90E8\u7684\u8D44\u6E90\u6587\u4EF6\u521B\u5EFA zip \u6587\u4EF6.
+i18n.Log.NumberOfKeysFound=\u627E\u5230\u7684\u952E\u6570\u91CF: {0}
+i18nDialog.SourceFolder=\u6A21\u5757
+i18nDialog.TranslationSelectedSourceFolder=\u6A21\u5757\u8DEF\u5F84\:
+i18nDialog.Reload=\u91CD\u65B0\u52A0\u8F7D(&R)
+i18nDialog.Revert=\u8FD8\u539F(&R)
+i18nDialog.Packagename=\u5305\u540D
+i18nDialog.ChangedMessagesFiles=\u4EE5\u4E0B\u662F\u53D1\u751F\u53D8\u66F4\u7684\u8D44\u6E90\u6587\u4EF6\u3002 \u9009\u62E9 \u201C\u786E\u5B9A\u201D \u5C06\u8FD9\u4E9B\u6587\u4EF6\u4FDD\u5B58\u5230\u78C1\u76D8.
+i18nDialog.Translation=\u8BD1\u6587\:
+i18nDialog.MainTranslation=i18n \u6587\u672C\u503C\:
+i18n.Log.SavedMessagesFile=\u5DF2\u4FDD\u5B58\u7684\u6D88\u606F\u6587\u4EF6: {0}
+i18nDialog.BundleFile=\u8D44\u6E90\u6587\u4EF6\:
+i18nDialog.ChangedFiles=\u53D8\u66F4\u6587\u4EF6
+i18nDialog.TranslationReferenceLocale=\u53C2\u8003\u8BED\u8A00\:
+i18nDialog.ApplicationName=Hop \u7FFB\u8BD1\u5668
+i18nDialog.ChangedFilesWhenExit=\u6709\u672A\u4FDD\u5B58\u7684\u53D8\u66F4\u3002\n{0} \u4E2A\u8D44\u6E90\u6587\u4EF6\u53D1\u751F\u53D8\u66F4\n\n\u4F60\u786E\u5B9A\u8981\u9000\u51FA\u5F53\u524D\u5E94\u7528?
+i18nDialog.Apply=\u5E94\u7528(&A)
+i18nDialog.Next=\u4E0B\u4E00\u4E2A
+i18n.UnexpectedError=\u53D1\u751F\u610F\u5916\u9519\u8BEF\: {0}
+i18nDialog.SourceFile=\u6E90\u7801\u6587\u4EF6\:
diff --git a/ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_zh_CN.properties
index bb0075e..3f00e37 100644
--- a/ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,12 +14,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.partition' in locale 'zh_CN'
 #
 #
-PartitionSchemaDialog.Shell.Title=\u6570\u636e\u5e93\u5206\u533aschema\u5bf9\u8bdd\u6846
-PartitionSchemaDialog.PartitionName.Label=\u5206\u533aschema\u540d\u79f0   
-PartitionSchemaDialog.Partitions.Label=\u5206\u533a   
-PartitionSchemaDialog.PartitionID.Label=\u5206\u533aID 
-PartitionSchema.SelectDatabase=\u9009\u62e9\u6570\u636e\u5e93
-PartitionSchema.SelectPartitionnedDatabase=\u9009\u62e9\u88ab\u5206\u533a\u7684\u6570\u636e\u5e93\u4ee5\u4fbf\u5bfc\u5165\u6570\u636e
-PartitionSchema.ImportPartitions=\u5bfc\u5165\u5206\u533a
+PartitionSchemaDialog.Number.Label=\u5206\u533A\u6570\u91CF
+PartitionSchema.SelectDatabase=\u9009\u62E9\u6570\u636E\u5E93
+PartitionSchema.SelectPartitionnedDatabase=\u9009\u62E9\u88AB\u5206\u533A\u7684\u6570\u636E\u5E93\u4EE5\u4FBF\u5BFC\u5165\u6570\u636E
+PartitionSchemaDialog.Partitions.Label=\u5206\u533A   
+PartitionSchemaDialog.Dynamic.Tooltip=\u542F\u7528\u6B64\u9009\u9879\u540E\uFF0C\u5206\u533A\u4FE1\u606F\u5C06\u5728\u6267\u884C Piepline \u65F6\u52A8\u6001\u5B9A\u4E49.
+PartitionSchemaDialog.PartitionID.Label=\u5206\u533AID 
+PartitionSchemaDialog.Number.Tooltip=\u6307\u5B9A\u8981\u5728\u6BCF\u4E2A Hop \u670D\u52A1\u5668\u4E2D\u4F7F\u7528\u7684\u5206\u533A\u6570\u3002 \u8FD9\u4EC5\u5728 Pipeline \u4EE5\u96C6\u7FA4\u6A21\u5F0F\u8FD0\u884C\u65F6\u6709\u6548.
+PartitionSchemaDialog.PartitionName.Label=\u5206\u533Aschema\u540D\u79F0   
+PartitionSchema.ImportPartitions=\u5BFC\u5165\u5206\u533A
+PartitionSchemaDialog.Shell.Title=\u6570\u636E\u5E93\u5206\u533Aschema\u5BF9\u8BDD\u6846
+PartitionSchemaDialog.Dynamic.Label=\u521B\u5EFA\u52A8\u6001\u5206\u533A Schema
diff --git a/ui/src/main/resources/org/apache/hop/ui/pipeline/debug/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/pipeline/debug/messages/messages_zh_CN.properties
index fd6edbe..d6b9f36 100644
--- a/ui/src/main/resources/org/apache/hop/ui/pipeline/debug/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/pipeline/debug/messages/messages_zh_CN.properties
@@ -17,19 +17,19 @@
 #
 #
 #
-PipelineDebugDialog.Shell.Title=\u8F6C\u6362\u8C03\u8BD5\u7A97\u53E3
+PipelineDebugDialog.Shell.Title=Pipeline \u8C03\u8BD5\u7A97\u53E3
 PipelineDebugDialog.RowCount.ToolTip=\u6307\u5B9A\u8981\u83B7\u53D6\u7684\u884C\u6570(<\=0 \u4E0D\u83B7\u53D6\u884C)
 PipelineDebugDialog.Configure.Label=\u914D\u7F6E
 PipelineDebugDialog.Condition.Label=\u65AD\u70B9/\u6682\u505C \u6761\u4EF6
-PipelineDebugDialog.Clear.ToolTip=\u6E05\u9664\u8BE5\u6B65\u9AA4\u7684\u9884\u89C8\u6216\u8C03\u8BD5\u8BBE\u7F6E
+PipelineDebugDialog.Clear.ToolTip=\u6E05\u9664\u8BE5 Transform \u7684\u9884\u89C8\u6216\u8C03\u8BD5\u8BBE\u7F6E
 PipelineDebugDialog.Clear.Label=\u6E05\u9664
-PipelineDebugDialog.Launch.ToolTip=\u4E0D\u7F16\u8F91\u53C2\u6570,\u8C03\u8BD5\u8F6C\u6362
-PipelineDebugDialog.FirstRows.ToolTip=\u83B7\u5F97\u8BE5\u6B65\u9AA4\u4E2D\u7684\u6700\u5F00\u59CB\u7684 x \u884C(\u89C1\u4E0A\u9762)
-PipelineDebugDialog.Column.TransformName=\u6B65\u9AA4\u540D
+PipelineDebugDialog.Launch.ToolTip=\u4E0D\u7F16\u8F91\u53C2\u6570,\u8C03\u8BD5 Pipeline
+PipelineDebugDialog.FirstRows.ToolTip=\u83B7\u5F97\u8BE5 Transform \u4E2D\u7684\u6700\u5F00\u59CB\u7684 x \u884C(\u89C1\u4E0A\u9762)
+PipelineDebugDialog.Column.TransformName=Transform \u540D
 PipelineDebugDialog.Condition.ToolTip=\u8FD9\u4E2A\u6761\u4EF6\u5C06\u51B3\u5B9A\u4E00\u4E2A\u8F6C\u6362\u4F55\u65F6\u88AB\u6682\u505C,\u4E5F\u5C31\u662F\u8BBE\u7F6E\u4E86\u4E00\u4E2A\u65AD\u70B9.
-PipelineDebugDialog.Configure.ToolTip=\u5728\u7B2C\u4E00\u6B21\u914D\u7F6E\u53C2\u6570\u540E\u8C03\u8BD5\u8F6C\u6362
+PipelineDebugDialog.Configure.ToolTip=\u5728\u7B2C\u4E00\u6B21\u914D\u7F6E\u53C2\u6570\u540E\u8C03\u8BD5 Pipeline
 PipelineDebugDialog.RowCount.Label=\u8981\u83B7\u5F97\u7684\u884C\u6570
-PipelineDebugDialog.PauseBreakPoint.Label=\u6EE1\u8DB3\u6761\u4EF6\u65F6\u6682\u505C\u8F6C\u6362
+PipelineDebugDialog.PauseBreakPoint.Label=\u6EE1\u8DB3\u6761\u4EF6\u65F6\u6682\u505C Pipeline
 PipelineDebugDialog.Launch.Label=\u5FEB\u901F\u542F\u52A8
 PipelineDebugDialog.FirstRows.Label=\u83B7\u5F97\u524D\u51E0\u884C(\u9884\u89C8)
-PipelineDebugDialog.PauseBreakPoint.ToolTip=\u5F53\u65AD\u70B9\u7684\u6761\u4EF6\u6EE1\u8DB3\u65F6,\u6682\u505C\u8F6C\u6362
+PipelineDebugDialog.PauseBreakPoint.ToolTip=\u5F53\u65AD\u70B9\u7684\u6761\u4EF6\u6EE1\u8DB3\u65F6,\u6682\u505C Pipeline
diff --git a/ui/src/main/resources/org/apache/hop/ui/pipeline/dialog/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/pipeline/dialog/messages/messages_zh_CN.properties
index f8ffa1c..6b5ef19 100644
--- a/ui/src/main/resources/org/apache/hop/ui/pipeline/dialog/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/pipeline/dialog/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,179 +14,205 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.pipeline.dialog' in locale 'zh_CN'
 #
 #
-PipelineDialog.Extendeddescription.Label=\u6269\u5C55\u63CF\u8FF0\:
-PipelineDialog.SelectPartitionedDatabase.Title=\u9009\u62E9\u6570\u636E\u5E93
-PipelineHopDialog.LoopsNotAllowed.DialogTitle=\u8B66\u544A\!
-PipelineLoadProgressDialog.ErrorLoadingPipeline.DialogTitle=\u9519\u8BEF\u52A0\u8F7D\u8F6C\u6362
-PipelineExecutionConfigurationDialog.ReplayDate.Tooltip=\u8BBE\u7F6E\u91CD\u653E\u65E5\u671F\u6765\u91CD\u653E\u8FD9\u4E2A\u8F6C\u6362.\r\n\u5728\u91CD\u653E\u65E5\u671F,\u6587\u672C\u548Cexcel\u6587\u4EF6\u8F93\u5165\u6B65\u9AA4\u91CC\u7684\u6570\u636E\u5C06\u88AB\u91CD\u65B0\u83B7\u53D6,\u4F46\u8DF3\u8FC7\u5DF2\u7ECF\u5904\u7406\u7684\u884C.\r\n\u65E5\u671F\u683C\u5F0F\u662F yyyy/MM/dd HH\:mm\:ss, \u4F8B\u5982 2006/12/31 23\:59\:59
-PipelineExecutionConfigurationDialog.DetailsGroup.Label=\u7EC6\u8282
-PipelineDialog.InvalidOffsetNumber.DialogTitle=\u4E0D\u662F\u4E00\u4E2A\u6570\u5B57\!
+PipelineDialog.PipelineVersion.Label=\u7248\u672C\:
+PipelinePreviewProgressDialog.ErrorLoadingPipeline.DialogTitle=\u9519\u8BEF\u52A0\u8F7D Pipeline
 PipelineExecutionConfigurationDialog.Button.Launch=\u542F\u52A8(&L)
-PipelineHopDialog.TransformDoesNotExist.DialogMessage=\u6B65\u9AA4[{0}]\u5E76\u4E0D\u5B58\u5728\!
-PipelineLoadProgressDialog.ErrorLoadingPipeline.DialogMessage=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4FDD\u5B58\u8F6C\u6362\u65F6\!
+PipelineDialog.Logfield.Label=\u4F7F\u7528\u65E5\u5FD7\u8868\u6765\u8BB0\u5F55\u767B\u5F55 
+PipelineDialog.LogConnection.Label=\u65E5\u5FD7\u6570\u636E\u5E93\u8FDE\u63A5\: 
+PipelineDialog.ColumnInfo.Default.Label=\u9ED8\u8BA4\u503C
+PipelineDialog.ColumnInfo.PartitionID.Label=\u5206\u533AID\r\n
+PipelineExecutionConfigurationDialog.ExecRemote.Label=\u8FDC\u7A0B\u6267\u884C
+PipelineDialog.ErrorOccurred.DialogTitle=\u9519\u8BEF\uFF01
+PipelineDialog.InvalidDateDifferenceNumber.DialogMessage=\u65E5\u671F\u5DEE\u522B\u6570\u5B57\u65E0\u6CD5\u89E3\u6790\uFF01
+PipelinePreviewProgressDialog.Monitor.BeginTask.Title=\u5F00\u59CB\u9884\u89C8 Pipeline...
+PipelineDialog.UniqueConnections.Label=\u4F7F\u7528\u552F\u4E00\u8FDE\u63A5
+PipelineExecutionConfigurationDialog.alwaysShowOption=Uncheck this option if you don''t want to see this dialog when running your pipeline
+PipelineExecutionConfigurationDialog.LocalGroup.Label=\u672C\u5730,\u8FDC\u7A0B\u6216\u96C6\u7FA4\u65B9\u5F0F\u6267\u884C
+PipelineExecutionConfigurationDialog.PipelineRunConfiguration.Label=Pipeline \u8FD0\u884C\u914D\u7F6E
+PipelineDialog.CouldnotFindAnyFields.DialogTitle=\u9519\u8BEF
 PipelineExecutionConfigurationDialog.ArgumentsColumn.Value=\u503C
-PipelineDialog.Production_PipelineStatus.Label=\u4EA7\u54C1
-PipelineHopDialog.FromTo.Button=&From <-> To
-PipelineExecutionConfigurationDialog.ExecRemote.Tooltip=\u5728\u8FDC\u7A0B\u670D\u52A1\u5668\u4E0A\u6267\u884C\u8FD9\u4E2A\u8F6C\u6362
-PipelineDialog.MiscTab.Label=\u6742\u9879
-PipelineDialog.ErrorOccurred.DialogTitle=\u9519\u8BEF\!
-PipelineExecutionConfigurationDialog.LogLevel.Label=\u65E5\u5FD7\u7EA7\u522B
-PipelineExecutionConfigurationDialog.Variables.Label=\u53D8\u91CF
-PipelineExecutionConfigurationDialog.Arguments.Tooltip=\u8BF7\u5728\u4E0B\u9762\u6307\u5B9A\u8BE5\u8F6C\u6362\u7684\u547D\u4EE4\u884C\u53C2\u6570
-PipelineDialog.PipelineStatus.Label=\u72B6\u6001\:
-PipelineDialog.PipelineVersion.Label=\u7248\u672C\:
-PipelineDialog.NeedLogtableName.DialogMessage=\u8BF7\u8F93\u5165\u4E00\u4E2A\u65E5\u5FD7\u8868\u540D\u79F0\!
-PipelinePreviewProgressDialog.Exception.ErrorLoadingPipeline=\u9519\u8BEF\u52A0\u8F7D\u8F6C\u6362
-PipelineDialog.Maxdatediff.Label=\u6700\u5927\u65E5\u671F\u533A\u522B (\u79D2)\:
+PipelineExecutionConfigurationDialog.ClearLog.Label=\u8FD0\u884C\u524D\u6E05\u9664\u65E5\u5FD7
+PipelineExecutionConfigurationDialog.PassExport.Label=\u5C06\u5BFC\u51FA\u7684\u6587\u4EF6\u53D1\u9001\u5230\u8FDC\u7A0B\u670D\u52A1\u5668
+PipelineDialog.LogconnectionButton.Label=\u65B0\u5EFA...
+PipelineDialog.MaxdateConnection.Label=\u6700\u5927\u65E5\u671F\u6570\u636E\u5E93\u8FDE\u63A5\: 
 PipelineDialog.FeedbackSize.Label=\u6BCF\u4E2A\u53CD\u9988\u884C\u7684\u5904\u7406\u8BB0\u5F55\u6570
-PipelineSaveProgressDialog.Exception.ErrorSavingPipeline=\u9519\u8BEF\u5730\u4FDD\u5B58\u8F6C\u6362\: 
-PipelineDialog.ShowFeedbackRow.Label=\u8F6C\u6362\u65F6\u662F\u5426\u5728\u65E5\u5FD7\u4E2D\u8BB0\u5F55\u53CD\u9988\u884C?
-PipelineSaveProgressDialog.ErrorSavingPipeline.DialogMessage=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4FDD\u5B58\u8F6C\u6362\u65F6\!
-PipelineHopDialog.CannotGoToSameTransform.DialogMessage=\u8282\u70B9\u8FDE\u63A5\u4E0D\u80FD\u8FDE\u63A5\u76F8\u540C\u7684\u6B65\u9AA4\!
-PipelineExecutionConfigurationDialog.SafeMode.Tooltip=\u5F53\u5728\u5B89\u5168\u6A21\u5F0F\u4E0B\u8FD0\u884C\u65F6,\u8F6C\u6362\u8FC7\u7A0B\u5C06\u5B8C\u6210\u51E0\u9879\u989D\u5916\u7684\u68C0\u67E5\:\r\n - \u5BF9\u4E8E\u4E00\u4E2A\u6B65\u9AA4\u91CC\u7684\u6240\u6709\u8F93\u5165\u7684\u884C,\u5217\u7684\u4E2A\u6570\u662F\u5426\u76F8\u540C?\r\n - \u5217\u7684\u540D\u5B57\u662F\u5426\u76F8\u540C?\r\n - \u5217\u7684\u987A\u5E8F\u662F\u5426\u76F8\u540C?\r\n - \u5217\u7684\u6570\u636E\u7C7B\ [...]
-PipelineHopDialog.LoopsNotAllowed.DialogMessage=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u4F1A\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF.  \u8FD9\u91CC\u4E0D\u5141\u8BB8\u5FAA\u73AF\!
-PipelineExecutionConfigurationDialog.LogLevel.Tooltip=\u8BBE\u7F6E\u8F6C\u6362\u7684\u65E5\u5FD7\u7EA7\u522B.\r\n\u4F7F\u7528\u8BE5\u9009\u9879\u53EF\u4EE5\u8BBE\u7F6E\u4ECE\u975E\u5E38\u8BE6\u7EC6(\u884C\u7EA7)\u5230\u6700\u5C0F\u65E5\u5FD7(\u6700\u5C0F)\u4E4B\u95F4\u7684\u4E0D\u540C\u7EA7\u522B
-PipelineDialog.NoSqlNedds.DialogMessage=\u4E0D\u9700\u8981\u6267\u884Csql. \u65E5\u5FD7\u8868\u770B\u8D77\u6765\u5F88\u597D\!
-PipelineDialog.GetPartitionsButton.Label=&\u83B7\u5F97\u5206\u533A
-PipelineDialog.InvalidOffsetNumber.DialogMessage=\u504F\u79FB\u6570\u5B57\u65E0\u6CD5\u89E3\u6790\!
-PipelineDialog.NewPartitionSchema.Message=\u8F93\u5165\u65B0\u5206\u533A\u6A21\u5F0F\u7684\u540D\u79F0\:
-PipelineDialog.SharedObjectsFile.Tooltip=\u4F60\u53EF\u4EE5\u4E3A\u5171\u4EAB\u5BF9\u8C61\u6587\u4EF6\u6307\u5B9A\u53E6\u4E00\u4E2A\u4FDD\u5B58\u4F4D\u7F6E.\r\n\u901A\u5E38\u7684\u4FDD\u5B58\u4F4D\u7F6E\u662F'${HOP_HOME}'/.hop/shared.xml\r\n\u4F60\u4E5F\u53EF\u4EE5\u4F7F\u7528\u53D8\u91CF'${KETTLE_SHARED_OBJECTS}'\u6765\u6307\u5B9A\u6587\u4EF6,\u5728\u8FD9\u91CC\u53D8\u91CF\u66FF\u6362\u4E5F\u662F\u6709\u6548\u7684.
+PipelineExecutionConfigurationDialog.StartExecution.Tooltip=\u5F00\u59CB\u6267\u884C\u4E3B Pipeline \u548C\u4ECE Pipeline
+PipelineDialog.LogInterval.Label=\u65E5\u5FD7\u8BB0\u5F55\u95F4\u9694\u65F6\u95F4 (\u79D2)
+PipelineDialog.LogSchema.Label=\u65E5\u5FD7\u8868\u6A21\u5F0F
+PipelineExecutionConfigurationDialog.ClusterDescription.Label=This option is available because you have clusters set on transforms in this pipeline.
+PipelineDialog.Draft_PipelineStatus.Label=\u8349\u6848
+PipelineExecutionConfigurationDialog.PostPipeline.Tooltip=\u62C6\u5206\u8FD9\u4E2A Pipeline \u5E76\u63D0\u4EA4\u5230\u4E0D\u540C\u7684\u4E3B/\u4ECE\u670D\u52A1\u5668
+PipelineDialog.LogTableType.Pipeline=Pipeline
+PipelineExecutionConfigurationDialog.ExecCluster.Tooltip=\u5728\u96C6\u7FA4\u4E0A\u6267\u884C\u8FD9\u4E2A Pipeline.\r\nPipeline \u5C06\u88AB\u62C6\u5206,\u5E76\u5728\u4E00\u4E2A\u4E3B\u670D\u52A1\u5668\u4E0A\u548C\u4E00\u4E2A\u6216\u591A\u4E2A\u4ECE\u670D\u52A1\u5668\u4E0A\u6267\u884C
+PipelineDialog.Parameters.Label=\u547D\u540D\u53C2\u6570\:
+PipelineDialog.NameFilenameSync.Label=\u540D\u79F0\u4E0E\u6587\u4EF6\u540D\u4FDD\u6301\u4E00\u81F4
+PipelineDialog.PipelineType.Label=Pipeline \u5F15\u64CE\u7C7B\u578B
+PipelineExecutionConfigurationDialog.PipelineRunConfiguration.Tooltip=\u9009\u62E9\u8FD0\u884C\u6B64 Pipeline \u7684\u914D\u7F6E
+PipelineDialog.LoadDialogPlugin.Error.Message=\u52A0\u8F7D Piepline \u7A97\u4F53\u63D2\u4EF6 {0} \u65F6\u51FA\u9519
+PipelineDialog.CreateDate.Label=\u521B\u5EFA\u65E5\u671F
+PipelineDialog.SharedObjectsFile.Tooltip=\u4F60\u53EF\u4EE5\u4E3A\u5171\u4EAB\u5BF9\u8C61\u6587\u4EF6\u6307\u5B9A\u53E6\u4E00\u4E2A\u4FDD\u5B58\u4F4D\u7F6E.\r\n\u901A\u5E38\u7684\u4FDD\u5B58\u4F4D\u7F6E\u662F'$'{'HOP_HOME}'/.hop/shared\
+  .xml\r\n\u4F60\u4E5F\u53EF\u4EE5\u4F7F\u7528\u53D8\u91CF'$'{'KETTLE_SHARED_OBJECTS}'\u6765\u6307\u5B9A\u6587\u4EF6,\u5728\u8FD9\u91CC\u53D8\u91CF\u66FF\u6362\u4E5F\u662F\u6709\u6548\u7684.
+PipelineDialog.InputTransform.Label=INPUT\u65E5\u5FD7 Transform\: 
+PipelineDialog.LogBatch.Label=Use Batch-ID 
+PipelineDialog.Log.GettingPipelineInfo=\u83B7\u53D6 Pipeline \u4FE1\u606F...
+PipelineExecutionConfigurationDialog.ClearLog.Tooltip=\u662F\u5426\u5728\u8FD0\u884C Pipeline \u4E4B\u524D\u6E05\u9664\u6240\u6709\u65E5\u5FD7
+PipelineDialog.TransformPerformanceMaxSize.Label=\u5185\u5B58\u4E2D\u6700\u5927\u7684\u5FEB\u7167\u6570\u91CF
+PipelineDialog.PipelineDescription.Label=\u63CF\u8FF0\:
+PipelineDialog.PipelineLogTable.Fields.Description=\u5B57\u6BB5\u63CF\u8FF0
+PipelineDialog.InvalidOffsetNumber.DialogMessage=\u504F\u79FB\u6570\u5B57\u65E0\u6CD5\u89E3\u6790\uFF01
+PipelineExecutionConfigurationDialog.PrepareExecution.Tooltip=\u5728\u4E3B/\u4ECE\u670D\u52A1\u5668\u4E0A\u8FDB\u884C Pipeline \u7684\u521D\u59CB\u5316
+PipelineExecutionConfigurationDialog.LogLevel.Label=\u65E5\u5FD7\u7EA7\u522B
+PipelineHopDialog.TargetTransform.Label=\u76EE\u6807 Transform\: 
+PipelineDialog.PipelineFilename.Label=Pipeline \u6587\u4EF6
+PipelineDialog.NoSqlNedds.DialogMessage=\u4E0D\u9700\u8981\u6267\u884Csql. \u65E5\u5FD7\u8868\u770B\u8D77\u6765\u5F88\u597D\uFF01
+PipelineDialog.ColumnInfo.Parameter.Label=\u547D\u540D\u53C2\u6570
+PipelineHopDialog.EnableHop.Label=\u4F7F\u8FDE\u63A5\u751F\u6548
+PipelineDialog.UpdateTransform.Label=UPDATE\u65E5\u5FD7 Transform\: 
+PipelineDialog.LogTab.Label=\u65E5\u5FD7
+PipelineDialog.InvalidOffsetNumber.DialogTitle=\u4E0D\u662F\u4E00\u4E2A\u6570\u5B57\uFF01
+PipelineDialog.SharedObjectsFile.Label=\u5171\u4EAB\u5BF9\u8C61\u6587\u4EF6
+PipelineExecutionConfigurationDialog.ErrorSavingRunConfiguration.Title=\u9519\u8BEF
+PipelineDialog.PipelineLogTable.Fields.Label=\u65E5\u5FD7\u5B57\u6BB5\:
+PipelineExecutionConfigurationDialog.Params.Tooltip=\u547D\u540D\u53C2\u6570
+PipelineExecutionConfigurationDialog.docHeader=Run a pipeline
+PipelineDialog.PipelineName.Label=Pipeline \u540D\u79F0\:
+PipelineExecutionConfigurationDialog.ParamsColumn.Default=\u9ED8\u8BA4\u503C
+PipelineExecutionConfigurationDialog.LogLevel.Tooltip=\u8BBE\u7F6E Pipeline \u7684\u65E5\u5FD7\u7EA7\u522B.\r\n\u4F7F\u7528\u8BE5\u9009\u9879\u53EF\u4EE5\u8BBE\u7F6E\u4ECE\u975E\u5E38\u8BE6\u7EC6(\u884C\u7EA7)\u5230\u6700\u5C0F\u65E5\u5FD7(\u6700\u5C0F)\u4E4B\u95F4\u7684\u4E0D\u540C\u7EA7\u522B
+PipelineDialog.SizeRowset.Label=\u8BB0\u5F55\u96C6\u5408\u91CC\u7684\u8BB0\u5F55\u6570\:
+PipelineExecutionConfigurationDialog.Variables.Tooltip=\u5728\u4E0B\u9762\u6307\u5B9A Pipeline \u4E2D\u7528\u5230\u7684\u53D8\u91CF\u7684\u503C
+PipelineDialog.PipelineTab.Label=\u5E38\u89C4
+PipelineExecutionConfigurationDialog.NoRunConfigurationDefined.Title=\u6DFB\u52A0\u672C\u5730\u8FD0\u884C\u914D\u7F6E
+PipelineDialog.NoSqlNedds.DialogTitle=\u6B63\u5E38\uFF01
 PipelineExecutionConfigurationDialog.ExecLocal.Label=\u672C\u5730\u6267\u884C
-PipelineDialog.ColumnInfo.Table.Label=\u8868
-PipelineExecutionConfigurationDialog.ExecRemote.Label=\u8FDC\u7A0B\u6267\u884C
-PipelineDialog.LastModifiedDate.Label=\u6700\u8FD1\u4FEE\u6539\u65E5\u671F 
-PipelineExecutionConfigurationDialog.ExecCluster.Tooltip=\u5728\u96C6\u7FA4\u4E0A\u6267\u884C\u8FD9\u4E2A\u8F6C\u6362.\r\n\u8F6C\u6362\u5C06\u88AB\u62C6\u5206,\u5E76\u5728\u4E00\u4E2A\u4E3B\u670D\u52A1\u5668\u4E0A\u548C\u4E00\u4E2A\u6216\u591A\u4E2A\u4ECE\u670D\u52A1\u5668\u4E0A\u6267\u884C
-PipelineDialog.ManageThreadPriorities.Label=\u7BA1\u7406\u7EBF\u7A0B\u4F18\u5148\u7EA7?
-PipelineDialog.ErrorMovingPipeline.DialogMessage=\u8FD9\u6709\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u79FB\u52A8\u8F6C\u6362\u5230\u53E6\u4E00\u4E2A\u76EE\u5F55\!
-PipelineDialog.GetDependenciesButton.Label=\ &\u83B7\u53D6\u4F9D\u8D56 
-PipelineDialog.CouldnotFindAnyFields.DialogTitle=\u9519\u8BEF
-PipelineExecutionConfigurationDialog.ExecCluster.Label=\u96C6\u7FA4\u65B9\u5F0F\u6267\u884C
-PipelineDialog.InvalidDateDifferenceNumber.DialogTitle=\u4E0D\u662F\u4E00\u4E2A\u6570\u5B57\!
+PipelineLoadProgressDialog.ErrorLoadingPipeline.DialogTitle=\u9519\u8BEF\u52A0\u8F7D Pipeline
+PipelineDialog.Fields.Label=\u4F9D\u8D56\: 
+PipelineDialog.ParamTab.Label=\u547D\u540D\u53C2\u6570
+PipelineDialog.LogTimeout.Label=\u65E5\u5FD7\u8BB0\u5F55\u8FC7\u65F6\u65F6\u95F4 (\u5929)
+PipelineExecutionConfigurationDialog.ReplayDate.Tooltip=\u8BBE\u7F6E\u91CD\u653E\u65E5\u671F\u6765\u91CD\u653E\u8FD9\u4E2A Pipeline.\r\n\u5728\u91CD\u653E\u65E5\u671F,\u6587\u672C\u548Cexcel\u6587\u4EF6\u8F93\u5165 Transform \u91CC\u7684\u6570\u636E\u5C06\u88AB\u91CD\u65B0\u83B7\u53D6,\u4F46\u8DF3\u8FC7\u5DF2\u7ECF\u5904\u7406\u7684\u884C.\r\n\u65E5\u671F\u683C\u5F0F\u662F yyyy/MM/dd HH\:mm\:ss, \u4F8B\u5982 2006/12/31 23\:59\:59
 PipelineExecutionConfigurationDialog.RemoteHost.Label=\u8FDC\u7A0B\u673A\u5668
+PipelineDialog.TransformPerformanceMonitoring.Label=\u5F00\u542F Transform \u6027\u80FD\u76D1\u63A7
+PipelineHopDialog.LoopsNotAllowed.DialogMessage=\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u4F1A\u5BFC\u81F4\u4E00\u4E2A\u5FAA\u73AF.  \u8FD9\u91CC\u4E0D\u5141\u8BB8\u5FAA\u73AF\uFF01
+PipelineDialog.ErrorMovingPipeline.DialogMessage=\u8FD9\u6709\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u79FB\u52A8 Pipeline \u5230\u53E6\u4E00\u4E2A\u76EE\u5F55\uFF01
 PipelineExecutionConfigurationDialog.VariablesColumn.Value=\u503C
-PipelineDialog.CouldnotFindAnyFields.DialogMessage=\u65E0\u6CD5\u627E\u5230\u5982\u4F55\u5B57\u6BB5\u6765\u521B\u5EFA\u65E5\u5FD7\u8868\!
-PipelineDialog.Draft_PipelineStatus.Label=\u8349\u6848
-PipelineDialog.UpdateTransform.Label=UPDATE\u65E5\u5FD7\u6B65\u9AA4\: 
-PipelineDialog.LogConnection.Label=\u65E5\u5FD7\u6570\u636E\u5E93\u8FDE\u63A5\: 
-PipelineDialog.Fields.Label=\u4F9D\u8D56 \: 
-PipelineDialog.NeedLogtableName.DialogTitle=\u9519\u8BEF
-PipelineDialog.CreateDate.Label=\u521B\u5EFA\u65E5\u671F
-PipelineExecutionConfigurationDialog.PostPipeline.Label=\u63D0\u4EA4\u8F6C\u6362
-PipelineDialog.MaxdateOffset.Label=\u6700\u5927\u65E5\u671F\u504F\u79FB (\u79D2)\:
-PipelineExecutionConfigurationDialog.RemoteHost.Tooltip=\u9009\u62E9\u8FDC\u7A0B\u673A\u5668\u4EE5\u4FBF\u53D1\u9001\u8F6C\u6362
-PipelineDialog.OutputTransform.Label=OUTPUT\u65E5\u5FD7\u6B65\u9AA4\: 
+PipelineHopDialog.FromTo.Button=From <-> To
+PipelineHopDialog.CannotGoToSameTransform.DialogTitle=\u8B66\u544A\uFF01
 PipelineDialog.LastModifiedUser.Label=\u6700\u8FD1\u4FEE\u6539\u7684\u7528\u6237 
+PipelineDialog.PartitionName.Label=\u540D\u79F0
+PipelineExecutionConfigurationDialog.ParamsColumn.Argument=\u547D\u540D\u53C2\u6570
 PipelineDialog.CreateUser.Label=\u521B\u5EFA\u8005
-PipelineDialog.ReadTransform.Label=\u8BFB\u53D6\u65E5\u5FD7\u6B65\u9AA4\: 
-PipelineDialog.RejectedTransform.Label=\u65E5\u5FD7\u4E2D\u9519\u8BEF\u884C\u6570\u5BF9\u5E94\u7684\u6B65\u9AA4\:
-PipelineExecutionConfigurationDialog.PostPipeline.Tooltip=\u62C6\u5206\u8FD9\u4E2A\u8F6C\u6362\u5E76\u63D0\u4EA4\u5230\u4E0D\u540C\u7684\u4E3B/\u4ECE\u670D\u52A1\u5668
-PipelineHopDialog.TargetTransformDropdownList.Label=\u9009\u62E9\u76EE\u7684\u6B65\u9AA4
-PipelineExecutionConfigurationDialog.ReplayDate.Label=\u91CD\u653E\u65E5\u671F(yyyy/MM/dd HH\:mm\:ss) 
-PipelineDialog.NeedValidLogtableConnection.DialogTitle=\u9519\u8BEF
-PipelineDialog.LogconnectionButton.Label=&\u65B0\u5EFA...
-PipelineDialog.ColumnInfo.Connection.Label=\u6570\u636E\u5E93\u8FDE\u63A5
-PipelineDialog.InputTransform.Label=INPUT\u65E5\u5FD7\u6B65\u9AA4\: 
-PipelineExecutionConfigurationDialog.ArgumentsColumn.Argument=\u4F4D\u7F6E\u53C2\u6570
-PipelineDialog.LogBatch.Label=Use Batch-ID? 
-PipelineDialog.SizeRowset.Label=\u8BB0\u5F55\u96C6\u5408\u91CC\u7684\u8BB0\u5F55\u6570 \:
-PipelineExecutionConfigurationDialog.VariablesColumn.Argument=\u53D8\u91CF
-PipelinePreviewProgressDialog.SubTask.TransformPreviewFinished=\u6B65\u9AA4\u9884\u89C8\u5B8C\u6210.
-PipelineDialog.DepTab.Label=\u4F9D\u8D56
-PipelineDialog.SQLButton.Label=\ &SQL
-PipelineExecutionConfigurationDialog.SafeMode.Label=\u542F\u7528\u5B89\u5168\u6A21\u5F0F
-PipelineDialog.Shell.Title=\u8F6C\u6362\u5C5E\u6027
-PipelineHopDialog.TargetTransform.Label=\u76EE\u6807\u6B65\u9AA4\: 
-PipelineLoadProgressDialog.Exception.ErrorLoadingPipeline=\u9519\u8BEF\u52A0\u8F7D\u8F6C\u6362
-PipelineDialog.MaxdateConnection.Label=\u6700\u5927\u65E5\u671F\u6570\u636E\u5E93\u8FDE\u63A5\: 
-PipelineDialog.NeedValidLogtableConnection.DialogMessage=\u8BF7\u9009\u62E9\u4E00\u4E2A\u6709\u6548\u7684\u65E5\u5FD7\u8868\u8FDE\u63A5\!
-PipelineDialog.SelectPartitionedDatabase.Message=\u8BF7\u4E3A\u5BFC\u5165\u9009\u62E9\u4E00\u4E2A\u5DF2\u5206\u533A\u7684\u6570\u636E\u5E93
-PipelineExecutionConfigurationDialog.LocalGroup.Label=\u672C\u5730,\u8FDC\u7A0B\u6216\u96C6\u7FA4\u65B9\u5F0F\u6267\u884C
-PipelineDialog.Logtable.Label=\u65E5\u5FD7\u8868\:
-PipelineHopDialog.CannotGoToSameTransform.DialogTitle=\u8B66\u544A\!
-PipelineDialog.ErrorOccurred.DialogMessage=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\: 
-PipelineDialog.LogTab.Label=\u65E5\u5FD7
-PipelineHopDialog.FromTransform.Label=\u8D77\u59CB\u6B65\u9AA4\: 
+PipelineDialog.RunConfigurationSettingsDialog.Error.Message=\u8BBE\u7F6E\u5BF9\u8BDD\u6846\u4E2D\u6709\u9519\u8BEF
+PipelineDialog.MonitorTab.Label=\u76D1\u63A7
 PipelineDialog.Log.MovedDirectoryTo=\u79FB\u52A8\u76EE\u5F55\u5230 [{0}]
+PipelineHopDialog.TransformDoesNotExist.DialogTitle=\u8B66\u544A\uFF01
+PipelineExecutionConfigurationDialog.NoRunConfigurationDefined.Message=\u60A8\u4F3C\u4E4E\u6CA1\u6709\u5B9A\u4E49\u4EFB\u4F55\u8FD0\u884C\u914D\u7F6E\u3002 \u8FD9\u4E9B\u5141\u8BB8\u60A8\u914D\u7F6E\u6267\u884C Pipeline \u7684\u5F15\u64CE\u4EE5\u53CA\u8981\u4F7F\u7528\u7684\u9009\u9879\u3002 \u662F\u5426\u8981\u521B\u5EFA\u9ED8\u8BA4\u8FD0\u884C\u914D\u7F6E\u4EE5\u4F7F\u7528\u9ED8\u8BA4 Hop Pipeline \u5F15\u64CE\u5728\u672C\u5730\u6267\u884C?
+PipelineLoadProgressDialog.ErrorLoadingPipeline.DialogMessage=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4FDD\u5B58 Pipeline \u65F6\uFF01
+PipelineSaveProgressDialog.Exception.ErrorSavingPipeline=\u9519\u8BEF\u5730\u4FDD\u5B58 Pipeline\: 
+PipelineDialog.DateTab.Label=\u65E5\u671F
+PipelineDialog.PipelineLogTable.Fields.Enabled=\u542F\u7528
+PipelineExecutionConfigurationDialog.LocalRunConfiguration.Description=\u4F7F\u7528\u6807\u51C6\u7684\u672C\u5730 Hop Pipeline \u5F15\u64CE\u5728\u672C\u5730\u8FD0\u884C\u60A8\u7684 Pipeline
 PipelineDialog.NewPartitionSchema.Name=\u65B0\u5206\u533A\u6A21\u5F0F\#{0}
-PipelineExecutionConfigurationDialog.ShowPipelines.Label=\u663E\u793A\u8F6C\u6362
+PipelineExecutionConfigurationDialog.PostPipeline.Label=\u63D0\u4EA4 Pipeline
+PipelineExecutionConfigurationDialog.PreviewColumn.TransformName=Transform
+PipelineDialog.LogTableType.Transform=Transform
+PipelineExecutionConfigurationDialog.StartExecution.Label=\u5F00\u59CB\u6267\u884C
+PipelineDialog.RunConfigurationSettingsDialog.Error.Header=\u914D\u7F6E\u9519\u8BEF
+PipelineExecutionConfigurationDialog.Params.Label=\u547D\u540D\u53C2\u6570
+PipelineExecutionConfigurationDialog.SafeMode.Tooltip=\u5F53\u5728\u5B89\u5168\u6A21\u5F0F\u4E0B\u8FD0\u884C\u65F6,Pipeline \u6267\u884C\u5C06\u5B8C\u6210\u51E0\u9879\u989D\u5916\u7684\u68C0\u67E5\:\r\n - \u5BF9\u4E8E\u4E00\u4E2A Transform \
+  \u91CC\u7684\u6240\u6709\u8F93\u5165\u7684\u884C,\u5217\u7684\u4E2A\u6570\u662F\u5426\u76F8\u540C?\r\n - \u5217\u7684\u540D\u5B57\u662F\u5426\u76F8\u540C?\r\n - \u5217\u7684\u987A\u5E8F\u662F\u5426\u76F8\u540C?\r\n - \u5217\u7684\u6570\u636E\u7C7B\u578B\u662F\u5426\u76F8\u540C?\r\n\r\n\u8FD9\u4E9B\u68C0\u67E5\u5C06\u8F7B\u5FAE\u5730\u964D\u4F4E\u8F6C\u6362\u7684\u901F\u5EA6,\u56E0\u6B64\u53EA\u6709\u5F53\u4F60\u89C9\u5F97\u8F6C\u6362\u4E2D\u53EF\u80FD\u6709\u9519\u8BEF\u65F6\u624D\u5F0 [...]
+PipelineDialog.DepTab.Label=\u4F9D\u8D56
+PipelinePreviewProgressDialog.Exception.ErrorPreparingPipeline=\u9884\u5904\u7406(\u521D\u59CB\u5316)Pipeline \u65F6\u51FA\u9519\uFF01
+PipelineHopDialog.TargetTransformDropdownList.Label=\u9009\u62E9\u76EE\u7684 Transform
+PipelineDialog.LastModifiedDate.Label=\u6700\u8FD1\u4FEE\u6539\u65E5\u671F 
+PipelineExecutionConfigurationDialog.ShowPipelines.Tooltip=\u663E\u793A\u751F\u6210\u7684(\u53D8\u5316\u540E\u7684) Pipeline,\u8FD9\u4E9B Pipeline \u5C06\u5728\u96C6\u7FA4(\u4E3B\u670D\u52A1\u5668\u548C\u4ECE\u670D\u52A1\u5668)\u4E0A\u6267\u884C.
+PipelinePreviewProgressDialog.SubTask.TransformPreviewFinished=Transform \u9884\u89C8\u5B8C\u6210.
+PipelineDialog.NeedLogtableName.DialogMessage=\u8BF7\u8F93\u5165\u4E00\u4E2A\u65E5\u5FD7\u8868\u540D\u79F0\uFF01
+PipelineExecutionConfigurationDialog.LocalHost.Label=The pipeline will run on the machine you are using.
 PipelineDialog.NewPartitionSchema.Title=\u521B\u5EFA\u65B0\u5206\u533A\u6A21\u5F0F
-PipelineSaveProgressDialog.ErrorSavingPipeline.DialogTitle=\u9519\u8BEF\u5730\u4FDD\u5B58\u8F6C\u6362
-PipelineHopDialog.Shell.Label=Hop\: From --> To
-PipelineDialog.DatabaseMetaNotSet.Text=\u8BF7\u5148\u6307\u5B9A\u4E00\u4E2A\u6570\u636E\u5E93\u8FDE\u63A5.
-PipelineDialog.ColumnInfo.PartitionID.Label=\u5206\u533AID\r\n
-PipelinePreviewProgressDialog.ErrorLoadingPipeline.DialogTitle=\u9519\u8BEF\u52A0\u8F7D\u8F6C\u6362
+PipelineExecutionConfigurationDialog.VariablesColumn.Argument=\u53D8\u91CF
+PipelineExecutionConfigurationDialog.ExecLocal.Tooltip=\u5728\u672C\u5730\u673A\u5668\u4E0A\u6267\u884C Pipeline
+PipelineExecutionConfigurationDialog.Arguments.Label=\u4F4D\u7F6E\u53C2\u6570
+PipelineExecutionConfigurationDialog.ArgumentsColumn.Argument=\u4F4D\u7F6E\u53C2\u6570
+PipelineDialog.NeedValidLogtableConnection.DialogMessage=\u8BF7\u9009\u62E9\u4E00\u4E2A\u6709\u6548\u7684\u65E5\u5FD7\u8868\u8FDE\u63A5\uFF01
+PipelineDialog.ColumnInfo.Connection.Label=\u6570\u636E\u5E93\u8FDE\u63A5
+PipelineHopDialog.FromTransform.Label=\u8D77\u59CB Transform\: 
+PipelineDialog.NeedLogtableName.DialogTitle=\u9519\u8BEF
+PipelineExecutionConfigurationDialog.ParamsColumn.Description=Description
+PipelineDialog.ColumnInfo.Field.Label=Field
 PipelineDialog.MaxdateTable.Label=\u6700\u5927\u65E5\u671F\u8868\:
-PipelineExecutionConfigurationDialog.ExecLocal.Tooltip=\u5728\u672C\u5730\u673A\u5668\u4E0A\u6267\u884C\u8F6C\u6362
-PipelineDialog.TransformLogtable.Label=\u6B65\u9AA4\u6027\u80FD\u65E5\u5FD7\u8868
-PipelineDialog.TransformPerformanceMonitoring.Label=\u5F00\u542F\u6B65\u9AA4\u6027\u80FD\u76D1\u63A7?
-PipelinePreviewProgressDialog.ErrorLoadingPipeline.DialogMessage=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4FDD\u5B58\u8F6C\u6362\u65F6\!
+PipelineDialog.MaxdateOffset.Label=\u6700\u5927\u65E5\u671F\u504F\u79FB (\u79D2)\:
+PipelineExecutionConfigurationDialog.ExecCluster.Label=\u96C6\u7FA4\u65B9\u5F0F\u6267\u884C
+PipelineDialog.ErrorOccurred.DialogMessage=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\: 
+PipelineDialog.CouldnotFindAnyFields.DialogMessage=\u65E0\u6CD5\u627E\u5230\u5982\u4F55\u5B57\u6BB5\u6765\u521B\u5EFA\u65E5\u5FD7\u8868\uFF01
+PipelineExecutionConfigurationDialog.docTitle=Help for Execute a pipeline
+PipelineDialog.Partitions.Label=\u5206\u533A IDs
+PipelineDialog.ColumnInfo.Description.Label=\u63CF\u8FF0
+PipelineDialog.ErrorMovingPipeline.DialogTitle=\u9519\u8BEF\u5730\u79FB\u52A8 Pipeline
+PipelineDialog.Maxdatediff.Label=\u6700\u5927\u65E5\u671F\u533A\u522B (\u79D2)\:
+PipelineDialog.Extendeddescription.Label=\u6269\u5C55\u63CF\u8FF0\:
+PipelineDialog.GetDependenciesButton.Label=\u83B7\u53D6\u4F9D\u8D56 
+PipelineDialog.ShowFeedbackRow.Label=Pipeline \u65F6\u662F\u5426\u5728\u65E5\u5FD7\u4E2D\u8BB0\u5F55\u53CD\u9988\u884C
+PipelineDialog.ManageThreadPriorities.Label=\u7BA1\u7406\u7EBF\u7A0B\u4F18\u5148\u7EA7
+PipelineDialog.ColumnInfo.Table.Label=\u8868
+PipelineDialog.MaxdateField.Label=\u6700\u5927\u65E5\u671F\u5B57\u6BB5\:
+PipelineExecutionConfigurationDialog.DetailsGroup.Label=\u7EC6\u8282
+PipelineDialog.SelectPartitionedDatabase.Title=\u9009\u62E9\u6570\u636E\u5E93
+PipelineDialog.ReadTransform.Label=\u8BFB\u53D6\u65E5\u5FD7 Transform\: 
+PipelineExecutionConfigurationDialog.RunConfigurationDoesNotExist.Message=\u6307\u5B9A\u7684\u8FD0\u884C\u914D\u7F6E \u201C{0}\u201D \u4E0D\u5B58\u5728
+PipelineExecutionConfigurationDialog.Arguments.Tooltip=\u8BF7\u5728\u4E0B\u9762\u6307\u5B9A\u8BE5 Pipeline \u7684\u547D\u4EE4\u884C\u53C2\u6570
+PipelineSaveProgressDialog.ErrorSavingPipeline.DialogTitle=\u9519\u8BEF\u5730\u4FDD\u5B58 Pipeline
+PipelineDialog.Logtable.Label=\u65E5\u5FD7\u8868\:
+PipelineDialog.NewPartitionSchema.Message=\u8F93\u5165\u65B0\u5206\u533A\u6A21\u5F0F\u7684\u540D\u79F0\:
+PipelineHopDialog.LoopsNotAllowed.DialogTitle=\u8B66\u544A\uFF01
+PipelineHopDialog.CannotGoToSameTransform.DialogMessage=\u8282\u70B9\u8FDE\u63A5\u4E0D\u80FD\u8FDE\u63A5\u76F8\u540C\u7684 Transform\uFF01
 PipelineDialog.SchemaList.Label=\u6A21\u5F0F
-PipelineDialog.Log.GettingPipelineInfo=\u83B7\u53D6\u8F6C\u6362\u4FE1\u606F...
-PipelineDialog.Directory.Label=\u76EE\u5F55 \:
-PipelineExecutionConfigurationDialog.StartExecution.Tooltip=\u5F00\u59CB\u6267\u884C\u4E3B\u8F6C\u6362\u548C\u4ECE\u8F6C\u6362
-PipelineHopDialog.FromTransformDropdownList.Label=\u9009\u62E9\u6E90\u6B65\u9AA4
-PipelineExecutionConfigurationDialog.ShowPipelines.Tooltip=\u663E\u793A\u751F\u6210\u7684(\u53D8\u5316\u540E\u7684)\u8F6C\u6362,\u8FD9\u4E9B\u8F6C\u6362\u5C06\u5728\u96C6\u7FA4(\u4E3B\u670D\u52A1\u5668\u548C\u4ECE\u670D\u52A1\u5668)\u4E0A\u6267\u884C.
-PipelinePreviewProgressDialog.Monitor.BeginTask.Title=\u5F00\u59CB\u9884\u89C8\u8F6C\u6362...
-PipelineDialog.MonitorTab.Label=\u76D1\u63A7
-PipelineExecutionConfigurationDialog.PrepareExecution.Tooltip=\u5728\u4E3B/\u4ECE\u670D\u52A1\u5668\u4E0A\u8FDB\u884C\u8F6C\u6362\u7684\u521D\u59CB\u5316
-PipelineDialog.UniqueConnections.Label=\u4F7F\u7528\u552F\u4E00\u8FDE\u63A5
-PipelineExecutionConfigurationDialog.StartExecution.Label=\u5F00\u59CB\u6267\u884C
-PipelineExecutionConfigurationDialog.Shell.Title=\u6267\u884C\u8F6C\u6362
+PipelineHopDialog.Shell.Label=Hop\: From --> To
+PipelineLoadProgressDialog.Exception.ErrorLoadingPipeline=\u9519\u8BEF\u52A0\u8F7D Pipeline
+PipelineDialog.LoadDialogPlugin.Error.Header=\u9519\u8BEF
+PipelineDialog.Directory.Label=\u76EE\u5F55\:
 PipelineExecutionConfigurationDialog.PrepareExecution.Label=\u51C6\u5907\u6267\u884C
-PipelineDialog.DateTab.Label=\u65E5\u671F
-PipelineHopDialog.TransformDoesNotExist.DialogTitle=\u8B66\u544A\!
-PipelineDialog.InvalidDateDifferenceNumber.DialogMessage=\u65E5\u671F\u5DEE\u522B\u6570\u5B57\u65E0\u6CD5\u89E3\u6790\!
-PipelineDialog.ErrorMovingPipeline.DialogTitle=\u9519\u8BEF\u5730\u79FB\u52A8\u8F6C\u6362
-PipelineDialog.NoSqlNedds.DialogTitle=\u6B63\u5E38\!
-PipelineExecutionConfigurationDialog.Arguments.Label=\u4F4D\u7F6E\u53C2\u6570
-PipelineExecutionConfigurationDialog.Variables.Tooltip=\u5728\u4E0B\u9762\u6307\u5B9A\u8F6C\u6362\u4E2D\u7528\u5230\u7684\u53D8\u91CF\u7684\u503C
+PipelineDialog.SelectPartitionedDatabase.Message=\u8BF7\u4E3A\u5BFC\u5165\u9009\u62E9\u4E00\u4E2A\u5DF2\u5206\u533A\u7684\u6570\u636E\u5E93
 PipelineDialog.PerformanceTab.Label=\u6027\u80FD
-PipelineDialog.Logfield.Label=\u4F7F\u7528\u65E5\u5FD7\u8868\u6765\u8BB0\u5F55\u767B\u5F55? 
-PipelineDialog.TransformPerformanceInterval.Label=\u6B65\u9AA4\u6027\u80FD\u6D4B\u91CF\u95F4\u9694(\u6BEB\u79D2)
-PipelineDialog.WriteTransform.Label=WRITE\u65E5\u5FD7\u6B65\u9AA4\: 
-PipelineDialog.MaxdateField.Label=\u6700\u5927\u65E5\u671F\u5B57\u6BB5\:
-PipelineDialog.SharedObjectsFile.Label=\u5171\u4EAB\u5BF9\u8C61\u6587\u4EF6
-PipelineHopDialog.EnableHop.Label=\u4F7F\u8FDE\u63A5\u751F\u6548?
-PipelineExecutionConfigurationDialog.PassExport.Label=\u5C06\u5BFC\u51FA\u7684\u6587\u4EF6\u53D1\u9001\u5230\u8FDC\u7A0B\u670D\u52A1\u5668
-PipelineDialog.LogInterval.Label=\u65E5\u5FD7\u8BB0\u5F55\u95F4\u9694\u65F6\u95F4 (\u79D2)
-PipelineDialog.LogTableType.LoggingChannels=\u65E5\u5FD7\u901A\u9053
-PipelineDialog.LogTableType.Pipeline=\u8F6C\u6362
-PipelineDialog.PartitionName.Label=\u540D\u79F0
-PipelineDialog.PartitioningTab.Label=\u5206\u533A
-PipelineDialog.Partitions.Label=\u5206\u533A IDs
-PipelineDialog.PipelineName.Label=\u8F6C\u6362\u540D\u79F0 :
-PipelineDialog.PipelineFilename.Label=\u8F6C\u6362\u6587\u4EF6
-PipelineDialog.ParamTab.Label=\u547D\u540D\u53C2\u6570
-PipelineDialog.Parameters.Label=\u547D\u540D\u53C2\u6570:
-PipelineDialog.PipelineTab.Label=\u8F6C\u6362
-PipelineDialog.PipelineDescription.Label=\u63CF\u8FF0 :
-PipelineExecutionConfigurationDialog.Params.Label=\u547D\u540D\u53C2\u6570
-PipelineExecutionConfigurationDialog.Params.Tooltip=\u547D\u540D\u53C2\u6570
-PipelineExecutionConfigurationDialog.PreviewColumn.TransformName=\u6B65\u9AA4
-PipelineDialog.LogSchema.Label=\u65E5\u5FD7\u8868\u6A21\u5F0F
-PipelineDialog.LogTimeout.Label=\u65E5\u5FD7\u8BB0\u5F55\u8FC7\u65F6\u65F6\u95F4 (\u5929)
-PipelineDialog.PipelineLogTable.Fields.Label=\u65E5\u5FD7\u5B57\u6BB5:
-PipelineDialog.PipelineLogTable.Fields.Description=\u5B57\u6BB5\u63CF\u8FF0
-PipelineDialog.PipelineLogTable.Fields.Enabled=\u542F\u7528
+PipelineDialog.TransformPerformanceMaxSize.Tooltip=\u60A8\u4E5F\u53EF\u4EE5\u4F7F\u7528\u7CFB\u7EDF\u73AF\u5883\u53D8\u91CF \u201C$'{'KETTLE_PIPELINE_PERF_SNAPSHOT_LIMIT}\u201D \u6765\u6307\u5B9A\u8BE5\u9650\u5236\u53C2\u6570\u503C.
+PipelineExecutionConfigurationDialog.SafeMode.Label=\u542F\u7528\u5B89\u5168\u6A21\u5F0F
 PipelineDialog.PipelineLogTable.Fields.FieldName=\u5B57\u6BB5\u540D\u79F0
-PipelineDialog.LogTableType.Performance=\u8FD0\u884C
-PipelineDialog.LogTableType.Transform=\u6B65\u9AA4
-PipelineExecutionConfigurationDialog.ParamsColumn.Argument=\u547D\u540D\u53C2\u6570
-PipelineExecutionConfigurationDialog.ParamsColumn.Default=\u9ED8\u8BA4\u503C
-PipelineExecutionConfigurationDialog.ParamsColumn.Value=\u503C
-PipelineDialog.PipelineType.Label=\u8F6C\u6362\u5F15\u64CE\u7C7B\u578B
-PipelineDialog.TransformPerformanceMaxSize.Label=\u5185\u5B58\u4E2D\u6700\u5927\u7684\u5FEB\u7167\u6570\u91CF
+PipelineDialog.LogTableType.LoggingChannels=\u65E5\u5FD7\u901A\u9053
+PipelinePreviewProgressDialog.Exception.ErrorLoadingPipeline=\u9519\u8BEF\u52A0\u8F7D Pipeline
+PipelineDialog.MiscTab.Label=\u6742\u9879
+PipelineExecutionConfigurationDialog.RemoteHost.Tooltip=\u9009\u62E9\u8FDC\u7A0B\u673A\u5668\u4EE5\u4FBF\u53D1\u9001 Pipeline
+PipelineExecutionConfigurationDialog.NoRunConfigurationSpecified.Message=\u8BF7\u6307\u5B9A\u8981\u4F7F\u7528\u7684\u8FD0\u884C\u914D\u7F6E
+PipelineHopDialog.FromTransformDropdownList.Label=\u9009\u62E9\u6E90 Transform
+PipelineDialog.GetPartitionsButton.Label=&\u83B7\u5F97\u5206\u533A
+PipelineDialog.RejectedTransform.Label=\u65E5\u5FD7\u4E2D\u9519\u8BEF\u884C\u6570\u5BF9\u5E94\u7684 Transform\:
+PipelinePreviewProgressDialog.ErrorLoadingPipeline.DialogMessage=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4FDD\u5B58 Pipeline \u65F6\uFF01
+PipelineSaveProgressDialog.ErrorSavingPipeline.DialogMessage=\u4E00\u4E2A\u9519\u8BEF\u53D1\u751F\u5728\u4FDD\u5B58 Pipeline \u65F6\uFF01
+PipelineExecutionConfigurationDialog.VerifyRunConfigurationName.Warning=\u8B66\u544A\uFF01 \u5EFA\u8BAE\u4E3A\u8FD0\u884C\u914D\u7F6E\u91CD\u65B0\u547D\u540D\uFF0C\u4EE5\u533A\u522B\u4E8E\u4E0A\u4E00\u4E2A Pipeline \u4E2D\u4F7F\u7528\u7684\u540D\u79F0\u3002 \u786E\u4FDD\u5728\u6267\u884C\u4E4B\u524D\u4F7F\u7528\u6B63\u786E\u7684\u8FD0\u884C\u914D\u7F6E\uFF01
+PipelineDialog.SQLButton.Label=\ &SQL
 PipelineDialog.LogSizeLimit.Label=\u5728\u5185\u5B58\u4E2D\u4FDD\u5B58\u7684\u65E5\u5FD7\u884C\u6570\u9650\u5236
-PipelineDialog.ColumnInfo.Default.Label=\u9ED8\u8BA4\u503C
-PipelineDialog.ColumnInfo.Description.Label=\u63CF\u8FF0
-PipelineDialog.ColumnInfo.Field.Label=Field
-PipelineDialog.ColumnInfo.Parameter.Label=\u547D\u540D\u53C2\u6570
-PipelineExecutionConfigurationDialog.LocalHost.Label=The pipeline will run on the machine you are using.
-PipelineExecutionConfigurationDialog.ClusterDescription.Label=This option is available because you have clusters set on transforms in this pipeline.
+PipelineDialog.Shell.Title=Pipeline \u5C5E\u6027
+PipelineExecutionConfigurationDialog.ExecRemote.Tooltip=\u5728\u8FDC\u7A0B\u670D\u52A1\u5668\u4E0A\u6267\u884C\u8FD9\u4E2A Pipeline
+PipelineDialog.InvalidDateDifferenceNumber.DialogTitle=\u4E0D\u662F\u4E00\u4E2A\u6570\u5B57\uFF01
+PipelineDialog.LogTableType.Performance=\u8FD0\u884C
+PipelineDialog.TransformLogtable.Label=Transform \u6027\u80FD\u65E5\u5FD7\u8868
+PipelineExecutionConfigurationDialog.NoRunConfigurationSpecified.Title=\u6307\u5B9A\u8FD0\u884C\u914D\u7F6E
+PipelineDialog.TransformPerformanceInterval.Label=Transform \u6027\u80FD\u6D4B\u91CF\u95F4\u9694(\u6BEB\u79D2)
+PipelineDialog.PartitioningTab.Label=\u5206\u533A
+PipelineExecutionConfigurationDialog.Shell.Title=\u6267\u884C Pipeline
+PipelineExecutionConfigurationDialog.Variables.Label=\u53D8\u91CF
+PipelineHopDialog.TransformDoesNotExist.DialogMessage=Transform [{0}]\u5E76\u4E0D\u5B58\u5728\uFF01
+PipelineDialog.DatabaseMetaNotSet.Text=\u8BF7\u5148\u6307\u5B9A\u4E00\u4E2A\u6570\u636E\u5E93\u8FDE\u63A5.
+PipelineExecutionConfigurationDialog.ReplayDate.Label=\u91CD\u653E\u65E5\u671F(yyyy/MM/dd HH\:mm\:ss) 
+PipelineExecutionConfigurationDialog.ErrorSavingRunConfiguration.Message=\u4FDD\u5B58\u672C\u5730 Pipeline \u8FD0\u884C\u914D\u7F6E\u65F6\u51FA\u9519
+PipelineExecutionConfigurationDialog.RunConfigurationDoesNotExist.Title=\u6CA1\u6709\u6B64\u8FD0\u884C\u914D\u7F6E
+PipelineDialog.Production_PipelineStatus.Label=\u4EA7\u54C1
+PipelineExecutionConfigurationDialog.ShowPipelines.Label=\u663E\u793A Pipeline
+PipelineDialog.WriteTransform.Label=WRITE\u65E5\u5FD7 Transform\: 
 PipelineExecutionConfigurationDialog.AlwaysOption.Value=Always show dialog on run
-PipelineExecutionConfigurationDialog.ParamsColumn.Description=Description
-PipelineExecutionConfigurationDialog.docTitle=Help for Execute a pipeline
-PipelineExecutionConfigurationDialog.docHeader=Run a pipeline
-PipelineExecutionConfigurationDialog.alwaysShowOption=Uncheck this option if you don''t want to see this dialog when running your pipeline
+PipelineDialog.OutputTransform.Label=OUTPUT\u65E5\u5FD7 Transform\: 
+PipelineDialog.InvalidTransformPerfIntervalNumber.DialogTitle=Pipeline \u6027\u80FD\u95F4\u9694\u4E0D\u6B63\u786E
+PipelineExecutionConfigurationDialog.ParamsColumn.Value=\u503C
+PipelineDialog.InvalidTransformPerfIntervalNumber.DialogMessage=Transform \u6027\u80FD\u95F4\u9694\u5FC5\u987B\u662F\u5927\u4E8E 0 \u7684\u6709\u6548\u6570\u5B57
+PipelineDialog.NeedValidLogtableConnection.DialogTitle=\u9519\u8BEF
+PipelineDialog.PipelineStatus.Label=\u72B6\u6001\:
diff --git a/ui/src/main/resources/org/apache/hop/ui/pipeline/transform/common/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/pipeline/transform/common/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..1ec43d0
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/pipeline/transform/common/messages/messages_zh_CN.properties
@@ -0,0 +1,42 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.ui.pipeline.transform.common' in locale 'zh_CN'
+#
+#
+GetFieldsSampleDataDialog.ScanResults.DialogTitle=\u626B\u63CF\u7ED3\u679C
+FieldSelectionDialog.ClearAndAddAll.Label=\u6E05\u9664\u5E76\u6DFB\u52A0\u6240\u6709\u5B57\u6BB5
+FieldSelectionDialog.NewFieldsFound.Title=\u53D1\u73B0\u65B0\u5B57\u6BB5
+GetFieldsSampleDataDialog.ScanResults.Error.Message=\u65E0\u6CD5\u663E\u793A\u6587\u6863\u626B\u63CF\u7684\u7ED3\u679C
+TextFileLineUtil.Log.EndOfEmptyLineFound=\u627E\u5230\u7A7A\u884C\u7684\u7ED3\u6B62
+Dialog.Error.EnterInteger=\u8BF7\u8F93\u5165\u4E00\u4E2A\u6574\u6570\u503C
+GetFieldsCapableTransformDialog.NoNewFields.Message=\u627E\u4E0D\u5230\u4EFB\u4F55\u65B0\u7684\u4F20\u5165\u5B57\u6BB5.
+FieldSelectionDialog.NewFieldsFound.Message=\u53D1\u73B0\u4E86 {0} \u4E2A\u65B0\u5B57\u6BB5\u3002 \u4F60\u60F3\u4F7F\u7528\u65B0\u5B57\u6BB5\u505A\u4EC0\u4E48?
+TextFileLineUtil.Log.NormalFieldFound=\u627E\u5230\u666E\u901A\u5B57\u6BB5\: {0}
+GetFieldsSampleSizeDialog.Message=\u8FBE\u5230\u884C\u6570\u65F6(\u91C7\u6837)
+TextFileLineUtil.Log.ConvertLineToRowTitle=\u8F6C\u6362\u884C
+TextFileLineUtil.Log.Error.ErrorConvertingLine=\u8F6C\u6362\u884C\u51FA\u9519\: {0}
+TextFileLineUtil.Log.Error.ExceptionReadingLine=\u5F02\u5E38\uFF0C\u5728\u8BFB\u53D6\u884C\: {0}
+TextFileLineUtil.Log.EndOfEnclosure=\u7ED3\u6B62\uFF0C\u5F53\u51FA\u73B0\: {0}
+GetFieldsSampleDataDialog.ScanResults.DialogMessage=\u4EE5\u4E0B\u662F\u6587\u6863\u626B\u63CF\u7684\u7ED3\u679C\:
+FieldSelectionDialog.AddNewOnly.Label=\u4EC5\u6DFB\u52A0\u65B0\u5B57\u6BB5
+GetFieldsCapableTransformDialog.NoNewFields.Title=\u672A\u627E\u5230\u65B0\u5B57\u6BB5
+TextFileLineUtil.Log.ConvertLineToRow=\u6587\u4EF6\u884C\u8F6C\u4E3A\u6570\u636E\u884C\: {0}
+TextFileLineUtil.Log.SingleLineFound=\u627E\u5230\u5355\u884C
+GetFieldsSampleSizeDialog.ShowSample.Message=\u663E\u793A\u91C7\u6837\u6458\u8981
+Dialog.Error.Header=\u9519\u8BEF
+TextFileLineUtil.Log.EnclosureFieldFound=\u5F15\u53F7\u5185\u90E8\u7684\u5B57\u6BB5\u503C\u5217\u8868\: {0}
+GetFieldsSampleSizeDialog.Title=\u6837\u672C\u6570\u636E
diff --git a/ui/src/main/resources/org/apache/hop/ui/pipeline/transforms/missing/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/pipeline/transforms/missing/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..605d05b
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/pipeline/transforms/missing/messages/messages_zh_CN.properties
@@ -0,0 +1,25 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#File generated by Hop Translator for package 'org.apache.hop.ui.pipeline.transforms.missing' in locale 'zh_CN'
+#
+#
+MissingPipelineDialog.MissingPipelineTransformId=\u7F3A\u5931 {0} \u63D2\u4EF6\u3002\n\u5220\u9664\u6B64\u8F6C\u6362\u6216\u5C1D\u8BD5\u901A\u8FC7\u641C\u7D22\u63D2\u4EF6\u5E02\u573A\u6765\u6DFB\u52A0\u63D2\u4EF6.
+MissingPipelineDialog.Close=\u5173\u95ED
+MissingPipelineDialog.OpenFile=\u6253\u5F00\u6587\u4EF6
+MissingPipelineDialog.MissingPlugins=\u7F3A\u5931\u63D2\u4EF6
+MissingPipelineDialog.SearchMarketplace=\u641C\u7D22\u63D2\u4EF6\u5E02\u573A
+MissingPipelineDialog.MissingPipelineTransforms=\u8BE5\u6587\u4EF6\u7F3A\u5C11\u63D2\u4EF6\uFF0C\u65E0\u6CD5\u6210\u529F\u8FD0\u884C\u3002\n\u60A8\u53EF\u4EE5\u6253\u5F00\u6587\u4EF6\u5E76\u66FF\u6362\u7F3A\u5C11\u7684\u8F6C\u6362\: \n\n{0}\u6216\u8005\u5C1D\u8BD5\u901A\u8FC7\u641C\u7D22\u63D2\u4EF6\u5E02\u573A\u6765\u6DFB\u52A0\u8BE5\u63D2\u4EF6.
diff --git a/ui/src/main/resources/org/apache/hop/ui/server/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/server/messages/messages_zh_CN.properties
index 6fcb7e5..3c2f4a9 100644
--- a/ui/src/main/resources/org/apache/hop/ui/server/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/server/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,36 +14,39 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.server' in locale 'zh_CN'
 #
 #
-ClusterSchemaDialog.SelectServersCluster.Label=\u4E3A\u8FD9\u4E2A\u96C6\u7FA4\u8BBE\u7F6E\u670D\u52A1\u5668
-ClusterSchemaDialog.Shell.Title=\u96C6\u7FA4schema\u5BF9\u8BDD\u6846
+ClusterSchemaDialog.SocketDataCompressed.Label=Sockets\u6570\u636E\u662F\u5426\u538B\u7F29  
+HopServerDialog.UserName.Label=\u7528\u6237\u540D 
 ClusterSchemaDialog.SelectHopServers.Label=\u9009\u62E9\u5B50\u670D\u52A1\u5668
-ClusterSchemaDialog.ColumnInfoServiceURL.Label=\u670D\u52A1URL
+ClusterSchemaDialog.Schema.Label=Schema\u540D\u79F0  
+HopServerDialog.ProxyServerPort.Label=\u4EE3\u7406\u670D\u52A1\u5668\u7AEF\u53E3\: 
+HopServerDialog.IgnoreProxyForHosts.Label=Ignore proxy for hosts\: regexp | separated\:  
+ClusterSchemaDialog.Shell.Title=\u96C6\u7FA4schema\u5BF9\u8BDD\u6846
 ClusterSchemaDialog.SocketBufferSize.Label=Sockets\u7F13\u5B58\u5927\u5C0F  
-HopServerDialog.IsTheMaster.Label=\u662F\u4E3B\u670D\u52A1\u5668\u5417\uFF1F 
+HopServer.Replay.Info1=\u6D4B\u8BD5\u54CD\u5E94\u6765\u81EA\u670D\u52A1\u5668URL\: 
+HopServerDialog.UseSsl.Label=https \u534F\u8BAE
+ClusterSchemaDialog.SelectServersCluster.Label=\u4E3A\u8FD9\u4E2A\u96C6\u7FA4\u8BBE\u7F6E\u670D\u52A1\u5668
 HopServerDialog.Port.Label=\u7AEF\u53E3\u53F7 (\u5982\u679C\u4E0D\u5199\u5C31\u662F\u7AEF\u53E380) 
+HopServer.Replay.Info2=\u4F7F\u7528content(\u4E3B\u4F53)\: 
+HopServerDialog.USER_TAB_PROXY=\u4EE3\u7406
+ClusterSchemaDialog.Port.Label=\u7AEF\u53E3 
+HopServerDialog.Password.Label=\u5BC6\u7801  
+HopServerDialog.Shell.Title=\u5B50\u670D\u52A1\u5668\u5BF9\u8BDD\u6846
+ClusterSchemaDialog.SocketFlushRows.Label=Sockets\u5237\u65B0\u95F4\u9694 (rows)    
 HopServer.ExceptionUnableGetReplay.Error2=]
-ClusterSchemaDialog.Schema.Label=Schema\u540D\u79F0  
 HopServer.ExceptionUnableGetReplay.Error1=Unable to get a reply back from URL [
-HopServerDialog.ProxyServerName.Label=\u4EE3\u7406\u670D\u52A1\u5668\u4E3B\u673A\u540D\: 
-HopServerDialog.ProxyServerPort.Label=\u4EE3\u7406\u670D\u52A1\u5668\u7AEF\u53E3\: 
-ClusterSchemaDialog.SocketFlushRows.Label=Sockets\u5237\u65B0\u95F4\u9694 (rows)    
-HopServer.ExceptionError=\u9519\u8BEF
-HopServerDialog.HostIP.Label=\u4E3B\u673A\u540D\u79F0\u6216IP\u5730\u5740  
+HopServer.RetournedXMLInfo=XML\u8FD4\u56DE\u662F\: 
+HopServerDialog.WebAppName.Label=Web \u5E94\u7528\u540D(\u53EF\u9009)
 ClusterSchemaDialog.SelectServers.Label=\u9009\u62E9\u670D\u52A1\u5668
-ClusterSchemaDialog.SocketDataCompressed.Label=Sockets\u6570\u636E\u662F\u5426\u538B\u7F29?  
-ClusterSchemaDialog.Port.Label=\u7AEF\u53E3 
-HopServerDialog.Password.Label=\u5BC6\u7801  
-ClusterSchemaDialog.ColumnInfoName.Label=\u540D\u79F0
+HopServer.ExceptionError=\u9519\u8BEF
 ClusterSchemaDialog.HopServers.Label=\u5B50\u670D\u52A1\u5668  
-HopServerDialog.Shell.Title=\u5B50\u670D\u52A1\u5668\u5BF9\u8BDD\u6846
-HopServerDialog.UserName.Label=\u7528\u6237\u540D 
-HopServerDialog.IgnoreProxyForHosts.Label=Ignore proxy for hosts\: regexp | separated\:  
-HopServerDialog.USER_TAB_PROXY=\u4EE3\u7406
-HopServer.Replay.Info2=\u4F7F\u7528content(\u4E3B\u4F53)\: 
-ClusterSchemaDialog.ColumnInfoMaster.Label=\u662F\u4E3B\u670D\u52A1\u5668\u5417\uFF1F?
-HopServer.Replay.Info1=\u6D4B\u8BD5\u54CD\u5E94\u6765\u81EA\u670D\u52A1\u5668URL\: 
+ClusterSchemaDialog.ColumnInfoServiceURL.Label=\u670D\u52A1URL
+ClusterSchemaDialog.ColumnInfoName.Label=\u540D\u79F0
+HopServerDialog.IsTheMaster.Label=\u662F\u4E3B\u670D\u52A1\u5668\u5417 
 HopServerDialog.USER_TAB_SERVICE=\u670D\u52A1
+ClusterSchemaDialog.ColumnInfoMaster.Label=\u662F\u4E3B\u670D\u52A1\u5668\u5417
 HopServerDialog.ServerName.Label=\u670D\u52A1\u5668\u540D\u79F0  
-HopServer.RetournedXMLInfo=XML\u8FD4\u56DE\u662F\: 
+HopServerDialog.HostIP.Label=\u4E3B\u673A\u540D\u79F0\u6216IP\u5730\u5740  
+HopServerDialog.ProxyServerName.Label=\u4EE3\u7406\u670D\u52A1\u5668\u4E3B\u673A\u540D\: 
diff --git a/ui/src/main/resources/org/apache/hop/ui/workflow/actions/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/workflow/actions/messages/messages_zh_CN.properties
index 304df0e..c6cd914 100644
--- a/ui/src/main/resources/org/apache/hop/ui/workflow/actions/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/workflow/actions/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,50 +14,55 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.workflow.actions' in locale 'zh_CN'
 #
 #
-ActionPipeline.Header=\u8f6c\u6362
-ActionPipeline.ActionName.Label=\u4f5c\u4e1a\u9879\u540d\u79f0: 
-ActionPipeline.NameOfPipeline.Label=\u901a\u8fc7\u76ee\u5f55\u4e0e\u540d\u79f0\u6307\u5b9a\u8f6c\u6362: 
-ActionPipeline.Browse.Label=&\u6d4f\u89c8...
-ActionPipeline.PipelineFile.Label=\u8f6c\u6362\u6587\u4ef6\u540d: 
-ActionPipeline.LogSettings.Group.Label=\u8bbe\u7f6e\u65e5\u5fd7
-ActionPipeline.Specify.Logfile.Label=\u6307\u5b9a\u65e5\u5fd7\u6587\u4ef6? 
-ActionPipeline.NameOfLogfile.Label=\u65e5\u5fd7\u6587\u4ef6\u540d: 
-ActionPipeline.LogfileExtension.Label=\u65e5\u5fd7\u6587\u4ef6\u540e\u7f00\u540d: 
-ActionPipeline.Logfile.IncludeDate.Label=\u65e5\u5fd7\u6587\u4ef6\u5305\u542b\u65e5\u671f? 
-ActionPipeline.Logfile.IncludeTime.Label=\u65e5\u5fd7\u6587\u4ef6\u5305\u542b\u65f6\u95f4? 
-ActionPipeline.Loglevel.Label=\u65e5\u5fd7\u7ea7\u522b: 
-ActionPipeline.Previous.Label=\u590d\u5236\u4e0a\u4e00\u6b65\u7ed3\u679c\u5230\u4f4d\u7f6e\u53c2\u6570
-ActionPipeline.Previous.Tooltip=\u52fe\u4e0a\u8fd9\u4e2a\u5c06\u628a\u4ee5\u524d\u7684\u7ed3\u679c\u4f20\u9012\u7ed9\u5f53\u524d\u4efb\u52a1\u7684\u53c2\u6570. 
-ActionPipeline.ExecForEveryInputRow.Label=\u6267\u884c\u6bcf\u4e00\u4e2a\u8f93\u5165\u884c? 
-ActionPipeline.ExecForEveryInputRow.Tooltip=\u52fe\u4e0a\u8fd9\u4e2a\u5c06\u6267\u884c\u8fd9\u4e2a\u8f6c\u6362\u591a\u6b21: \u5bf9\u6bcf\u4e00\u4e2a\u8f93\u5165\u884c\u6267\u884c\u4e00\u6b21.
-ActionPipeline.ClearResultList.Label=\u5728\u6267\u884c\u524d\u6e05\u9664\u7ed3\u679c\u884c\u5217\u8868? 
-ActionPipeline.ClearResultFiles.Label=\u5728\u6267\u884c\u524d\u6e05\u9664\u7ed3\u679c\u6587\u4ef6\u5217\u8868? 
-ActionPipeline.RunPipelineInCluster.Label=\u5728\u96c6\u7fa4\u6a21\u5f0f\u4e0b\u8fd0\u884c\u8fd9\u4e2a\u8f6c\u6362? 
-ActionPipeline.Fields.Label=\u5b57\u6bb5: 
-ActionPipeline.Fields.Argument.Label=\u4f4d\u7f6e\u53c2\u6570
-ActionPipeline.Fileformat.Hop=Hop\u8f6c\u6362
-ActionPipeline.Fileformat.XML=XML\u6587\u4ef6
-ActionPipeline.Fileformat.All=\u6240\u6709\u6587\u4ef6
-ActionPipeline.ErrorReadingPipeline.Text=\u8b66\u544a!
-ActionPipeline.ErrorReadingPipeline.Message=\u65e0\u6cd5\u8bfb\u53d6\u8f6c\u6362\u4ece\u6587\u4ef6 '{0}': {1}
-ActionPipeline.CheckResult.PipelineDefined=\u8f6c\u6362\u88ab\u5b9a\u4e49\u4f5c [{0}]
-ActionPipeline.CheckResult.PipelineNotDefined=\u8f6c\u6362\u6ca1\u6709\u88ab\u5b9a\u4e49
-ActionPipeline.Specification.Group.Label=\u8f6c\u6362\u8bbe\u7f6e
-ActionPipeline.PipelineByReference.Label=\u901a\u8fc7\u5f15\u7528\u6307\u5b9a\u8f6c\u6362\u6587\u4ef6
-ActionPipeline.Advanced.Group.Label=\u9ad8\u7ea7
-ActionPipeline.PrevToParams.Label=\u590d\u5236\u4e0a\u4e00\u6b65\u7ed3\u679c\u5230\u547d\u540d\u53c2\u6570
-ActionPipeline.HopServer.Label=\u8fdc\u7a0b\u4ece\u670d\u52a1\u5668
-ActionPipeline.WaitToFinish.Label=\u7b49\u5f85\u8fdc\u7a0b\u8f6c\u6362\u6267\u884c\u7ed3\u675f
-ActionPipeline.AbortRemote.Label=\u672c\u5730\u8f6c\u6362\u7ec8\u6b62\u65f6\u8fdc\u7a0b\u8f6c\u6362\u4e5f\u901a\u77e5\u7ec8\u6b62
-ActionPipeline.Append.Logfile.Label=\u6dfb\u52a0\u5230\u65e5\u5fd7\u6587\u4ef6\u5c3e
-ActionPipeline.Append.Logfile.Tooltip=\u5c06\u65b0\u65e5\u5fd7\u6dfb\u52a0\u5230\u65e5\u5fd7\u6587\u4ef6\u5c3e\u90e8
-ActionPipeline.Logfile.CreateParentFolder.Label=\u521b\u5efa\u7236\u6587\u4ef6\u5939
-ActionPipeline.Logfile.CreateParentFolder.Tooltip=\u5fc5\u8981\u65f6\u81ea\u52a8\u521b\u5efa\u7236\u6587\u4ef6\u5939
-ActionPipeline.GetParameters.Button.Label=\u83b7\u53d6\u53c2\u6570
-ActionPipeline.Fields.Parameters.Label=\u547d\u540d\u53c2\u6570
-ActionPipeline.Parameters.Parameter.Label=\u547d\u540d\u53c2\u6570
-ActionPipeline.PassAllParameters.Label=\u5c06\u6240\u6709\u53c2\u6570\u503c\u90fd\u4f20\u9012\u5230\u5b50\u8f6c\u6362
-ActionPipeline.Parameters.Value.Label=\u503c
-ActionPipeline.Parameters.ColumnName.Label=\u6d41\u5217\u540d
+ActionPipeline.CheckResult.PipelineDefined=Pipeline \u88AB\u5B9A\u4E49\u4F5C [{0}]
+ActionPipeline.Fileformat.XML=XML\u6587\u4EF6
+ActionPipeline.GetParameters.Button.Label=\u83B7\u53D6\u53C2\u6570
+ActionPipeline.Logfile.Group.Label=\u65E5\u5FD7\u6587\u4EF6
+ActionPipeline.PrevToParams.Label=\u590D\u5236\u4E0A\u4E00\u6B65\u7ED3\u679C\u5230\u547D\u540D\u53C2\u6570
+ActionPipeline.Loglevel.Label=\u65E5\u5FD7\u7EA7\u522B\: 
+ActionPipeline.RunConfiguration.Label=\u8FD0\u884C\u914D\u7F6E
+ActionPipeline.ErrorReadingPipeline.Message=\u65E0\u6CD5\u8BFB\u53D6\u8F6C\u6362\u4ECE\u6587\u4EF6 "{0}"\: {1}
+ActionPipeline.ErrorReadingPipeline.Text=\u8B66\u544A\uFF01
+ActionPipeline.Fileformat.All=\u6240\u6709\u6587\u4EF6
+ActionPipeline.Parameters.Parameter.Label=\u547D\u540D\u53C2\u6570
+ActionPipeline.Logfile.CreateParentFolder.Label=\u521B\u5EFA\u7236\u6587\u4EF6\u5939
+ActionPipeline.Logfile.IncludeDate.Label=\u65E5\u5FD7\u6587\u4EF6\u5305\u542B\u65E5\u671F 
+ActionPipeline.Fields.Argument.Label=\u4F4D\u7F6E\u53C2\u6570
+ActionPipeline.Logfile.CreateParentFolder.Tooltip=\u5FC5\u8981\u65F6\u81EA\u52A8\u521B\u5EFA\u7236\u6587\u4EF6\u5939
+ActionPipeline.Fields.Parameters.Label=\u547D\u540D\u53C2\u6570
+ActionPipeline.Parameters.Value.Label=\u503C
+ActionPipeline.LogSettings.Group.Label=\u8BBE\u7F6E\u65E5\u5FD7
+ActionPipeline.HopServer.Label=\u8FDC\u7A0B\u4ECE\u670D\u52A1\u5668
+ActionPipeline.NameOfLogfile.Label=\u65E5\u5FD7\u6587\u4EF6\u540D\: 
+ActionPipeline.LogfileExtension.Label=\u65E5\u5FD7\u6587\u4EF6\u540E\u7F00\u540D\: 
+ActionPipeline.ActionName.Label=\u4F5C\u4E1A\u9879\u540D\u79F0\: 
+ActionPipeline.Specify.Logfile.Label=\u6307\u5B9A\u65E5\u5FD7\u6587\u4EF6 
+ActionPipeline.Fields.Label=\u5B57\u6BB5\: 
+ActionPipeline.RunPipelineInCluster.Label=\u5728\u96C6\u7FA4\u6A21\u5F0F\u4E0B\u8FD0\u884C\u8FD9\u4E2A Pipeline 
+ActionPipeline.Specification.Group.Label=Pipeline \u8BBE\u7F6E
+ActionPipeline.PassAllParameters.Label=\u5C06\u6240\u6709\u53C2\u6570\u503C\u90FD\u4F20\u9012\u5230\u5B50 Pipeline
+ActionPipeline.NameOfPipeline.Label=\u901A\u8FC7\u76EE\u5F55\u4E0E\u540D\u79F0\u6307\u5B9A\u8F6C\u6362\: 
+ActionPipeline.Advanced.Group.Label=\u9AD8\u7EA7
+ActionPipeline.ExecForEveryInputRow.Label=\u6267\u884C\u6BCF\u4E00\u4E2A\u8F93\u5165\u884C 
+ActionPipeline.Append.Logfile.Label=\u6DFB\u52A0\u5230\u65E5\u5FD7\u6587\u4EF6\u5C3E
+ActionPipeline.Header=Pipeline
+ActionPipeline.ClearResultFiles.Label=\u5728\u6267\u884C\u524D\u6E05\u9664\u7ED3\u679C\u6587\u4EF6\u5217\u8868 
+ActionPipeline.Parameters.ColumnName.Label=\u6D41\u5217\u540D
+ActionPipeline.Append.Logfile.Tooltip=\u5C06\u65B0\u65E5\u5FD7\u6DFB\u52A0\u5230\u65E5\u5FD7\u6587\u4EF6\u5C3E\u90E8
+ActionPipeline.Fileformat.Hop=Hop Pipeline
+ActionPipeline.Previous.Tooltip=\u52FE\u4E0A\u8FD9\u4E2A\u5C06\u628A\u4EE5\u524D\u7684\u7ED3\u679C\u4F20\u9012\u7ED9\u5F53\u524D\u4EFB\u52A1\u7684\u53C2\u6570. 
+ActionPipeline.ClearResultList.Label=\u5728\u6267\u884C\u524D\u6E05\u9664\u7ED3\u679C\u884C\u5217\u8868 
+ActionPipeline.Previous.Label=\u590D\u5236\u4E0A\u4E00\u6B65\u7ED3\u679C\u5230\u4F4D\u7F6E\u53C2\u6570
+ActionPipeline.Logfile.IncludeTime.Label=\u65E5\u5FD7\u6587\u4EF6\u5305\u542B\u65F6\u95F4 
+ActionPipeline.PipelineFile.Label=Pipeline \u6587\u4EF6\u540D\: 
+ActionPipeline.AbortRemote.Label=\u672C\u5730\u8F6C\u6362\u7EC8\u6B62\u65F6\u8FDC\u7A0B\u8F6C\u6362\u4E5F\u901A\u77E5\u7EC8\u6B62
+ActionPipeline.Options.Group.Label=\u9009\u9879
+ActionPipeline.PipelineByReference.Label=\u901A\u8FC7\u5F15\u7528\u6307\u5B9A\u8F6C\u6362\u6587\u4EF6
+ActionPipeline.WaitToFinish.Label=\u7B49\u5F85\u8FDC\u7A0B\u8F6C\u6362\u6267\u884C\u7ED3\u675F
+ActionPipeline.CheckResult.PipelineNotDefined=Pipeline \u6CA1\u6709\u88AB\u5B9A\u4E49
+ActionPipeline.Execution.Group.Label=\u6267\u884C
+ActionPipeline.ExecForEveryInputRow.Tooltip=\u52FE\u4E0A\u8FD9\u4E2A\u5C06\u6267\u884C\u8FD9\u4E2A\u8F6C\u6362\u591A\u6B21\: \u5BF9\u6BCF\u4E00\u4E2A\u8F93\u5165\u884C\u6267\u884C\u4E00\u6B21.
+ActionPipeline.Browse.Label=\u6D4F\u89C8(&B)...
diff --git a/ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/workflow/actions/missing/messages/messages_zh_CN.properties
similarity index 52%
copy from ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_zh_CN.properties
copy to ui/src/main/resources/org/apache/hop/ui/workflow/actions/missing/messages/messages_zh_CN.properties
index bb0075e..d9f6417e 100644
--- a/ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/workflow/actions/missing/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,12 +14,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.workflow.actions.missing' in locale 'zh_CN'
 #
 #
-PartitionSchemaDialog.Shell.Title=\u6570\u636e\u5e93\u5206\u533aschema\u5bf9\u8bdd\u6846
-PartitionSchemaDialog.PartitionName.Label=\u5206\u533aschema\u540d\u79f0   
-PartitionSchemaDialog.Partitions.Label=\u5206\u533a   
-PartitionSchemaDialog.PartitionID.Label=\u5206\u533aID 
-PartitionSchema.SelectDatabase=\u9009\u62e9\u6570\u636e\u5e93
-PartitionSchema.SelectPartitionnedDatabase=\u9009\u62e9\u88ab\u5206\u533a\u7684\u6570\u636e\u5e93\u4ee5\u4fbf\u5bfc\u5165\u6570\u636e
-PartitionSchema.ImportPartitions=\u5bfc\u5165\u5206\u533a
+MissingActionDialog.MissingPlugins=\u7F3A\u5931\u63D2\u4EF6
+MissingActionDialog.MissingActionId=\u7F3A\u5931 {0} \u63D2\u4EF6\u3002\n\u5220\u9664\u8BE5 Action \u6216\u5C1D\u8BD5\u901A\u8FC7\u641C\u7D22\u63D2\u4EF6\u5E02\u573A\u6765\u6DFB\u52A0\u5B83.
+MissingActionDialog.Close=\u5173\u95ED
+MissingActionDialog.OpenFile=\u6253\u5F00\u6587\u4EF6
+MissingActionDialog.SearchMarketplace=\u641C\u7D22\u63D2\u4EF6\u5E02\u573A
+MissingActionDialog.MissingActions=\u65E0\u6CD5\u542F\u52A8 Workflow, \u7F3A\u5931\u63D2\u4EF6\u3002\n\u60A8\u53EF\u4EE5\u6253\u5F00\u8BE5 Workflow \u6587\u4EF6\u5E76\u66FF\u6362\u7F3A\u5931\u7684 Action\: \n\n{0} \u6216\u8005\u5C1D\u8BD5\u901A\u8FC7\u641C\u7D22\u63D2\u4EF6\u5E02\u573A\u6765\u6DFB\u52A0\u5B83.
diff --git a/ui/src/main/resources/org/apache/hop/ui/workflow/config/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/workflow/config/messages/messages_zh_CN.properties
new file mode 100644
index 0000000..2f8e2b1
--- /dev/null
+++ b/ui/src/main/resources/org/apache/hop/ui/workflow/config/messages/messages_zh_CN.properties
@@ -0,0 +1,34 @@
+#
+# 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.
+#
+#File generated by Hop Translator for package 'org.apache.hop.ui.workflow.config' in locale 'zh_CN'
+#
+#
+WorkflowRunConfigurationDialog.HopServer.Label=Hop \u670D\u52A1\u5668
+WorkflowRunConfigurationDialog.ServerPollDelay.Label=\u670D\u52A1\u5668\u8F6E\u8BE2\u5EF6\u8FDF(\u6BEB\u79D2)
+WorkflowRunConfigurationDialog.NamedResourceSourceFolder.Label=\u547D\u540D\u8D44\u6E90\u5F15\u7528\u6E90\u76EE\u5F55
+WorkflowRunConfigurationDialog.NamedResourceSourceFolder.ToolTip=\u5F53\u524D\u547D\u540D\u8D44\u6E90\u7684\u6E90\u6587\u4EF6\u5939\u8DEF\u5F84(\u4F8B\u5982\u201C$'{'PROJECT_HOME}\u201D)
+WorkflowRunConfigurationDialog.RunConfiguration.Label=\u8FD0\u884C\u914D\u7F6E
+WorkflowRunConfigurationDialog.NamedResourceTargetFolder.ToolTip=\u6E90\u6587\u4EF6\u5939\u6620\u5C04\u5230\u8FDC\u7A0B\u670D\u52A1\u5668\u4E0A\u7684\u8DEF\u5F84
+WorkflowRunConfigurationDialog.Transactional.Label=\u4E8B\u52A1\u578B Workflow
+WorkflowRunConfigurationDialog.ExportResources.Label=\u5BFC\u51FA\u94FE\u63A5\u8D44\u6E90\u5230\u670D\u52A1\u5668
+WorkflowRunConfigurationDialog.ServerPollInterval.Label=\u670D\u52A1\u5668\u8F6E\u8BE2\u95F4\u9694(\u6BEB\u79D2)
+WorkflowRunConfigurationDialog.ExportResources.ToolTip=\u8BE5\u9009\u9879\u4F1A\u5C06\u60A8\u5F53\u524D\u9009\u62E9\u8FDC\u7A0B\u6267\u884C\u7684 Workflow\uFF0C\u53CA\u5176\u5F15\u7528\u7684 Pipeline \u548C Workflow \u4E00\u8D77\u5BFC\u51FA.
+WorkflowRunConfigurationDialog.label.EngineType=Workflow \u5F15\u64CE\u7C7B\u578B
+WorkflowRunConfigurationDialog.label.Description=\u63CF\u8FF0
+WorkflowRunConfigurationDialog.label.name=\u540D\u79F0
+WorkflowRunConfigurationDialog.NamedResourceTargetFolder.Label=\u547D\u540D\u8D44\u6E90\u7684\u76EE\u6807\u6587\u4EF6\u5939\u8DEF\u5F84
+WorkflowRunConfigurationDialog.Transactional.ToolTip=\u5982\u679C\u542F\u7528\u8BE5\u529F\u80FD\uFF0C\u6BCF\u4E2A\u6570\u636E\u5E93\u59CB\u7EC8\u4F7F\u7528\u540C\u4E00\u8FDE\u63A5\u3002 \u5728 Workflow \u7ED3\u675F\u65F6\uFF0C\u5C06\u540C\u65F6\u5BF9\u6240\u6709\u547D\u540D\u8FDE\u63A5\u8FDB\u884C\u63D0\u4EA4\u6216\u56DE\u6EDA(\u4EE5\u9632\u51FA\u9519).
diff --git a/ui/src/main/resources/org/apache/hop/ui/workflow/dialog/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/workflow/dialog/messages/messages_zh_CN.properties
index 736c0ab..ad73f47 100644
--- a/ui/src/main/resources/org/apache/hop/ui/workflow/dialog/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/workflow/dialog/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,95 +14,114 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.workflow.dialog' in locale 'zh_CN'
 #
 #
-WorkflowDialog.Extendeddescription.Label=\u6269\u5C55\u63CF\u8FF0:
-WorkflowDialog.Draft_WorkflowStatus.Label=\u8349\u6848
-WorkflowDialog.Production_WorkflowStatus.Label=\u4EA7\u54C1
-WorkflowDialog.Version.Label=\u7248\u672C: 
-WorkflowDialog.CreateUser.Label=\u521B\u5EFA\u8005 
-WorkflowDialog.LastModifiedUser.Label=\u6700\u8FD1\u4FEE\u6539\u8005
 WorkflowDialog.LastModifiedDate.Label=\u6700\u8FD1\u4FEE\u6539\u65E5\u671F 
-WorkflowDialog.Dialog.ErrorChangingDirectory.Title=\u9519\u8BEF\!
-WorkflowDialog.Dialog.ErrorChangingDirectory.Message=There was an error moving the workflowMeta to another directory\!
-WorkflowDialog.LogConnection.Label=\u65E5\u5FD7\u6570\u636E\u5E93\u8FDE\u63A5: 
-WorkflowDialog.LogConnection.Tooltip=Separate database connection that logs the actions of this workflow
-WorkflowDialog.LogTable.Tooltip=\u65E5\u5FD7\u8868\u540D\u79F0
-WorkflowDialog.UseBatchID.Tooltip=Should a batch ID be used?
-WorkflowDialog.PassBatchID.Label=\u4F20\u9012batch ID? 
-WorkflowDialog.PassBatchID.Tooltip=Activate this option to pass the batch ID to all actions
-WorkflowDialog.UseLogField.Label=\u4F7F\u7528logfield? 
-WorkflowDialog.Dialog.ErrorCreatingSQL.Message=An error occured creating the SQL:
-WorkflowDialog.Dialog.ErrorCreatingSQL.Title=\u9519\u8BEF
-WorkflowDialog.Dialog.PleaseEnterALogTable.Message=\u8BF7\u8F93\u5165\u4E00\u4E2A\u65E5\u5FD7\u8868\u540D\u79F0\!
-WorkflowDialog.Dialog.PleaseEnterALogTable.Title=\u9519\u8BEF
-WorkflowDialog.Dialog.CouldNotFindFieldsToCreateLogTable.Message=I couldn''t find any fields to create the logtable\!
-WorkflowDialog.Dialog.CouldNotFindFieldsToCreateLogTable.Title=\u9519\u8BEF
-WorkflowDialog.Dialog.SelectCreateValidLogConnection.Message=\u8BF7\u9009\u62E9\u6216\u521B\u5EFA\u4E00\u4E2A\u6709\u6548\u7684\u65E5\u5FD7\u8868\u6570\u636E\u5E93\u8FDE\u63A5\!
-WorkflowDialog.Dialog.SelectCreateValidLogConnection.Title=\u9519\u8BEF
-WorkflowDialog.SharedObjectsFile.Label=\u5171\u4EAB\u5BF9\u8C61\u6587\u4EF6
-WorkflowDialog.SharedObjectsFile.Tooltip=Here you can specify an alternate location for the shared objects file.\nThe regular location is '${HOP_HOME}'/.hop/shared.xml\nYou can also use variable '${KETTLE_SHARED_OBJECTS}'\nAlternatively, you can specify the file to use over here. Variable replacement will take place on it too.
-WorkflowDialog.NoSqlNedds.DialogTitle=OK\!
-WorkflowDialog.NoSqlNedds.DialogMessage=\u6CA1\u6709sql\u9700\u8981\u6267\u884C.  \u65E5\u5FD7\u8868\u770B\u8D77\u6765\u5F88\u597D\!
-WorkflowDialog.LogTab.Label=\u65E5\u5FD7
-WorkflowDialog.LogconnectionButton.Label=\u65B0\u5EFA\u8FDE\u63A5
-WorkflowExecutionConfigurationDialog.ArgumentsColumn.Argument=\u4F4D\u7F6E\u53C2\u6570
-WorkflowDialog.LogTableType.LoggingChannels=\u65E5\u5FD7\u901A\u9053
-WorkflowDialog.Filename.Label=\u4F5C\u4E1A\u6587\u4EF6 
-WorkflowExecutionConfigurationDialog.Params.Tooltip=\u547D\u540D\u53C2\u6570
-WorkflowDialog.WorkflowName.Label=\u4F5C\u4E1A\u540D\u79F0\: 
 WorkflowDialog.SettingsTab.Label=\u8BBE\u7F6E
-WorkflowDialog.Parameters.Label=\u547D\u540D\u53C2\u6570 \:
 WorkflowDialog.CreateDate.Label=\u521B\u5EFA\u65F6\u95F4
-WorkflowExecutionConfigurationDialog.VariablesColumn.Argument=\u53D8\u91CF
-WorkflowExecutionConfigurationDialog.DetailsGroup.Label=\u8BE6\u7EC6
-WorkflowDialog.WorkflowTab.Label=\u4F5C\u4E1A
-WorkflowDialog.LogSizeLimit.Label=\u5728\u5185\u5B58\u4E2D\u4FDD\u5B58\u7684\u65E5\u5FD7\u884C\u6570
-WorkflowDialog.LogSizeLimit.Tooltip=\u5728\u5199\u5165\u5230\u6570\u636E\u5E93\u4E4B\u524D\u5728\u5185\u5B58\u4E2D\u4FDD\u5B58\u7684\u65E5\u5FD7\u7684\u884C\u6570
-WorkflowExecutionConfigurationDialog.Params.Label=\u547D\u540D\u53C2\u6570
-WorkflowDialog.LogTableType.Action=\u4F5C\u4E1A\u5165\u53E3
-WorkflowDialog.UseLogField.Tooltip=Use a separate logfield to store logging statements?
 WorkflowExecutionConfigurationDialog.SafeMode.Label=\u4F7F\u7528\u5B89\u5168\u6A21\u5F0F
-WorkflowExecutionConfigurationDialog.Shell.Title=\u6267\u884C\u4F5C\u4E1A
-WorkflowExecutionConfigurationDialog.ParamsColumn.Value=\u503C
-WorkflowExecutionConfigurationDialog.LocalGroup.Label=\u672C\u5730\u6216\u8005\u8FDC\u7A0B\u6267\u884C
+WorkflowDialog.SharedObjectsFile.Tooltip=Here you can specify an alternate location for the shared objects file.\nThe regular location is '$'{'HOP_HOME}'/.hop/shared.xml\nYou can also use variable '$'{'KETTLE_SHARED_OBJECTS}'\nAlternatively, you can specify the file to use over here. Variable replacement will take place on it too.
+WorkflowExecutionConfigurationDialog.ParamsColumn.Description=Description
+WorkflowDialog.Dialog.ErrorChangingDirectory.Title=\u9519\u8BEF\uFF01
+WorkflowDialog.Dialog.CouldNotFindFieldsToCreateLogTable.Message=I couldn''t find any fields to create the logtable\uFF01
+WorkflowDialog.Version.Label=\u7248\u672C\: 
+WorkflowExecutionConfigurationDialog.Button.Launch=\u6267\u884C
 WorkflowExecutionConfigurationDialog.ExecLocal.Label=\u672C\u5730\u6267\u884C
-WorkflowExecutionConfigurationDialog.Preview.Label=\u9884\u89C8
-WorkflowDialog.ColumnInfo.Default.Label=\u9ED8\u8BA4\u503C
+WorkflowDialog.Dialog.ErrorChangingDirectory.Message=There was an error moving the workflowMeta to another directory\uFF01
+WorkflowDialog.UseBatchID.Tooltip=Should a batch ID be used?
+WorkflowExecutionConfigurationDialog.RunConfigurationDoesNotExist.Message=\u4E0D\u5E78\u7684\u662F\uFF0C\u6307\u5B9A\u7684\u8FD0\u884C\u914D\u7F6E \u201C{0}\u201D \u4E0D\u5B58\u5728
 WorkflowExecutionConfigurationDialog.ArgumentsColumn.Value=\u503C
-WorkflowExecutionConfigurationDialog.Button.Launch=\  &\u6267\u884C   
-WorkflowDialog.ColumnInfo.Parameter.Label=\u547D\u540D\u53C2\u6570
-WorkflowDialog.Logtable.Label=\u65E5\u5FD7\u8868
+WorkflowExecutionConfigurationDialog.ExecRemote.Label=\u8FDC\u7A0B\u6267\u884C
+WorkflowDialog.LogTable.Tooltip=\u65E5\u5FD7\u8868\u540D\u79F0
+WorkflowDialog.LogTab.Label=\u65E5\u5FD7
+WorkflowDialog.CreateUser.Label=\u521B\u5EFA\u8005 
+WorkflowExecutionConfigurationDialog.Shell.Title1=Workflow
+WorkflowDialog.Dialog.SelectCreateValidLogConnection.Message=\u8BF7\u9009\u62E9\u6216\u521B\u5EFA\u4E00\u4E2A\u6709\u6548\u7684\u65E5\u5FD7\u8868\u6570\u636E\u5E93\u8FDE\u63A5\uFF01
+WorkflowDialog.Parameters.Label=\u547D\u540D\u53C2\u6570\:
+WorkflowExecutionConfigurationDialog.ParamsColumn.Argument=\u547D\u540D\u53C2\u6570
+WorkflowDialog.PipelineLogTable.Fields.Label=\u65E5\u5FD7\u8868\u5B57\u6BB5\:
+WorkflowExecutionConfigurationDialog.Shell.Title=\u8FD0\u884C\u9009\u9879...
+WorkflowDialog.LastModifiedUser.Label=\u6700\u8FD1\u4FEE\u6539\u8005
+WorkflowExecutionConfigurationDialog.Params.Tooltip=\u547D\u540D\u53C2\u6570
+WorkflowExecutionConfigurationDialog.NoRunConfigurationSpecified.Title=\u6307\u5B9A\u8FD0\u884C\u914D\u7F6E
+WorkflowDialog.LogTableType.Action=\u4F5C\u4E1A\u5165\u53E3
+WorkflowDialog.ColumnInfo.Description.Label=\u63CF\u8FF0
+WorkflowExecutionConfigurationDialog.VerifyRunConfigurationName.Warning=\u8B66\u544A\uFF01 \u5EFA\u8BAE\u7684\u8FD0\u884C\u914D\u7F6E\u540D\u79F0\u4E0E\u6700\u8FD1\u4F7F\u7528 Workflow \u7684\u914D\u7F6E\u540D\u79F0\u4E0D\u4E00\u81F4\u3002 \u5728\u6267\u884C\u4E4B\u524D\u786E\u4FDD\u4F7F\u7528\u6B63\u786E\u7684\u8FD0\u884C\u914D\u7F6E\uFF01
+WorkflowDialog.Directory.Label=\u76EE\u5F55\: 
+WorkflowExecutionConfigurationDialog.Variables.Label=\u53D8\u91CF
+WorkflowDialog.NameFilenameSync.Label=\u540D\u79F0\u4E0E\u6587\u4EF6\u540D\u4FDD\u6301\u4E00\u81F4
+WorkflowDialog.LogSizeLimit.Label=\u5728\u5185\u5B58\u4E2D\u4FDD\u5B58\u7684\u65E5\u5FD7\u884C\u6570
+WorkflowDialog.Extendeddescription.Label=\u6269\u5C55\u63CF\u8FF0\:
+WorkflowDialog.NoSqlNedds.DialogTitle=OK\uFF01
+WorkflowDialog.LogConnection.Label=\u65E5\u5FD7\u6570\u636E\u5E93\u8FDE\u63A5\: 
+WorkflowExecutionConfigurationDialog.LocalHost.Label=The workflow will run on the machine you are using.
+WorkflowDialog.LogTableType.Workflow=Workflow
+WorkflowDialog.ColumnInfo.Default.Label=\u9ED8\u8BA4\u503C
+WorkflowExecutionConfigurationDialog.Params.Label=\u547D\u540D\u53C2\u6570
+WorkflowExecutionConfigurationDialog.VariablesColumn.Argument=\u53D8\u91CF
+WorkflowDialog.PipelineLogTable.Fields.Enabled=\u542F\u7528
+WorkflowExecutionConfigurationDialog.NoRunConfigurationDefined.Message=\u60A8\u597D\u50CF\u6CA1\u6709\u5B9A\u4E49\u4EFB\u4F55\u8FD0\u884C\u914D\u7F6E\u3002 \u8FD9\u4E9B\u5141\u8BB8\u60A8\u914D\u7F6E\u4F7F\u7528\u54EA\u4E2A\u5F15\u64CE\u6267\u884C Workflow \u4EE5\u53CA\u8981\u4F7F\u7528\u7684\u9009\u9879\u3002 \u662F\u5426\u8981\u521B\u5EFA\u9ED8\u8BA4\u8FD0\u884C\u914D\u7F6E\u505A\u4E3A\u9ED8\u8BA4 Hop Workflow \u5F15\u64CE\u5728\u672C\u5730\u6267\u884C?
+WorkflowDialog.WorkflowProperties.ShellText=Workflow \u5C5E\u6027
+WorkflowExecutionConfigurationDialog.StartCopy.Label=\u542F\u52A8 Workflow \u4ECE\:
 WorkflowExecutionConfigurationDialog.RemoteHost.Label=\u8FDC\u7A0B\u4E3B\u673A
-WorkflowExecutionConfigurationDialog.ReplayDate.Label=\u56DE\u8BBF\u65E5\u671F (yyyy/MM/dd HH\:mm\:ss) 
+WorkflowDialog.Draft_WorkflowStatus.Label=\u8349\u6848
+WorkflowDialog.Logtable.Label=\u65E5\u5FD7\u8868
+WorkflowDialog.SharedObjectsFile.Label=\u5171\u4EAB\u5BF9\u8C61\u6587\u4EF6
+WorkflowExecutionConfigurationDialog.alwaysShowOption=Uncheck this option if you don''t want to see this dialog when running your workflow
+WorkflowExecutionConfigurationDialog.NoRunConfigurationSpecified.Message=\u8BF7\u6307\u5B9A\u8981\u4F7F\u7528\u7684\u8FD0\u884C\u914D\u7F6E
+ConfigurationDialog.RunConfiguration.Tooltip=\u9009\u62E9\u7528\u4E8E\u6267\u884C Workflow \u7684\u8FD0\u884C\u914D\u7F6E
+WorkflowExecutionConfigurationDialog.PreviewColumn.PreviewSize=Nr of rows to preview
+WorkflowDialog.PipelineLogTable.Fields.FieldName=\u5B57\u6BB5\u540D\u79F0
 WorkflowDialog.WorkflowStatus.Label=\u72B6\u6001
-WorkflowDialog.UseBatchID.Label=\u4F7F\u7528 batch ID? 
+WorkflowDialog.WorkflowName.Label=Workflow \u540D\u79F0\: 
+WorkflowDialog.PassBatchID.Tooltip=Activate this option to pass the batch ID to all actions
+WorkflowDialog.LogconnectionButton.Label=\u65B0\u5EFA\u8FDE\u63A5
+WorkflowExecutionConfigurationDialog.ClearLog.Tooltip=\u662F\u5426\u5728\u8FD0\u884C Workflow \u4E4B\u524D\u6E05\u9664\u6240\u6709\u65E5\u5FD7
+WorkflowExecutionConfigurationDialog.LocalRunConfiguration.Description=\u4F7F\u7528\u6807\u51C6\u7684\u5185\u7F6E Hop Workflow \u5F15\u64CE\u5728\u672C\u5730\u8FD0\u884C\u60A8\u7684 Workflow
+WorkflowExecutionConfigurationDialog.RunConfigurationDoesNotExist.Title=\u6CA1\u6709\u8FD9\u6837\u7684\u8FD0\u884C\u914D\u7F6E
+WorkflowExecutionConfigurationDialog.ClearLog.Label=\u6267\u884C\u524D\u6E05\u7A7A\u65E5\u5FD7
+WorkflowDialog.UseLogField.Label=\u4F7F\u7528logfield 
+WorkflowDialog.Dialog.PleaseEnterALogTable.Message=\u8BF7\u8F93\u5165\u4E00\u4E2A\u65E5\u5FD7\u8868\u540D\u79F0\uFF01
+WorkflowDialog.Dialog.SelectCreateValidLogConnection.Title=\u9519\u8BEF
+WorkflowExecutionConfigurationDialog.docTitle=Help for Execute a workflow
+WorkflowDialog.Dialog.ErrorCreatingSQL.Title=\u9519\u8BEF
 WorkflowDialog.Description.Label=\u63CF\u8FF0\: 
-WorkflowDialog.LogTimeout.Label=\u65E5\u5FD7\u884C\u8D85\u65F6\u65F6\u95F4 (\u5929)
-WorkflowDialog.PipelineLogTable.Fields.Enabled=\u542F\u7528
-WorkflowDialog.PipelineLogTable.Fields.Label=\u65E5\u5FD7\u8868\u5B57\u6BB5\:
-WorkflowExecutionConfigurationDialog.Variables.Label=\u53D8\u91CF
-WorkflowExecutionConfigurationDialog.ParamsColumn.Argument=\u547D\u540D\u53C2\u6570
-WorkflowExecutionConfigurationDialog.ExecRemote.Label=\u8FDC\u7A0B\u6267\u884C
 WorkflowExecutionConfigurationDialog.LogLevel.Label=\u65E5\u5FD7\u7EA7\u522B
+WorkflowExecutionConfigurationDialog.ReplayDate.Label=\u56DE\u8BBF\u65E5\u671F (yyyy/MM/dd HH\:mm\:ss) 
+WorkflowDialog.WorkflowTab.Label=\u5E38\u89C4
+WorkflowExecutionConfigurationDialog.AlwaysOption.Value=Always show dialog on run
+WorkflowDialog.PipelineLogTable.Fields.Description=\u63CF\u8FF0
+WorkflowExecutionConfigurationDialog.DetailsGroup.Label=\u8BE6\u7EC6
+WorkflowExecutionConfigurationDialog.PreviewColumn.TransformName=Transform
+WorkflowExecutionConfigurationDialog.ParamsColumn.Value=\u503C
+WorkflowDialog.LogSchema.Label=\u65E5\u5FD7\u6A21\u5F0F
+WorkflowDialog.Dialog.CouldNotFindFieldsToCreateLogTable.Title=\u9519\u8BEF
+WorkflowDialog.Production_WorkflowStatus.Label=\u4EA7\u54C1
+WorkflowExecutionConfigurationDialog.ErrorSavingRunConfiguration.Title=\u9519\u8BEF
+WorkflowExecutionConfigurationDialog.ParamsColumn.Default=\u9ED8\u8BA4\u503C
+WorkflowDialog.UseBatchID.Label=\u4F7F\u7528 batch ID 
+WorkflowDialog.LogConnection.Tooltip=Separate database connection that logs the actions of this workflow
+ConfigurationDialog.RunConfiguration.Label=Workflow \u8FD0\u884C\u914D\u7F6E
+WorkflowDialog.ColumnInfo.Parameter.Label=\u547D\u540D\u53C2\u6570
+WorkflowDialog.LogTableType.LoggingChannels=\u65E5\u5FD7\u901A\u9053
+WorkflowExecutionConfigurationDialog.StartCopy.Tooltip=\u6307\u5B9A Workflow \u7684\u8D77\u59CB\u70B9
+WorkflowDialog.LogTimeout.Label=\u65E5\u5FD7\u884C\u8D85\u65F6\u65F6\u95F4 (\u5929)
+WorkflowExecutionConfigurationDialog.LogLevel.Tooltip=\u6307\u5B9A\u663E\u793A\u65E5\u5FD7\u7EA7\u522B
+WorkflowDialog.Filename.Label=Workflow \u6587\u4EF6 
+WorkflowExecutionConfigurationDialog.docHeader=Run a workflow
+WorkflowDialog.LogSizeLimit.Tooltip=\u5728\u5199\u5165\u5230\u6570\u636E\u5E93\u4E4B\u524D\u5728\u5185\u5B58\u4E2D\u4FDD\u5B58\u7684\u65E5\u5FD7\u7684\u884C\u6570
+WorkflowExecutionConfigurationDialog.NoRunConfigurationDefined.Title=\u6DFB\u52A0\u672C\u5730\u8FD0\u884C\u914D\u7F6E?
+WorkflowExecutionConfigurationDialog.ArgumentsColumn.Argument=\u4F4D\u7F6E\u53C2\u6570
 WorkflowExecutionConfigurationDialog.Arguments.Label=\u4F4D\u7F6E\u53C2\u6570
+WorkflowDialog.UseLogField.Tooltip=Use a separate logfield to store logging statements?
+WorkflowExecutionConfigurationDialog.ErrorSavingRunConfiguration.Message=\u4FDD\u5B58\u672C\u5730 Workflow \u8FD0\u884C\u914D\u7F6E\u65F6\u51FA\u9519
+WorkflowDialog.Dialog.ErrorCreatingSQL.Message=An error occured creating the SQL\:
+WorkflowExecutionConfigurationDialog.Preview.Label=\u9884\u89C8
+WorkflowDialog.Dialog.PleaseEnterALogTable.Title=\u9519\u8BEF
+WorkflowExecutionConfigurationDialog.LocalGroup.Label=\u672C\u5730\u6216\u8005\u8FDC\u7A0B\u6267\u884C
 WorkflowDialog.ParamTab.Label=\u547D\u540D\u53C2\u6570
-WorkflowDialog.LogTableType.Workflow=\u4F5C\u4E1A
-WorkflowExecutionConfigurationDialog.ParamsColumn.Default=\u9ED8\u8BA4\u503C
-WorkflowDialog.WorkflowProperties.ShellText=\u4F5C\u4E1A\u5C5E\u6027
-WorkflowExecutionConfigurationDialog.PreviewColumn.TransformName=\u6B65\u9AA4
-WorkflowDialog.LogSchema.Label=\u65E5\u5FD7\u6A21\u5F0F
 WorkflowExecutionConfigurationDialog.PassExport.Label=\u5BFC\u51FA\u7684\u6587\u4EF6\u53D1\u9001\u5230\u8FDC\u7A0B\u670D\u52A1\u5668\u4E0A
-WorkflowDialog.Directory.Label=\u76EE\u5F55\: 
-WorkflowExecutionConfigurationDialog.PreviewColumn.PreviewSize=Nr of rows to preview
-WorkflowExecutionConfigurationDialog.ClearLog.Label=\u6267\u884C\u524D\u6E05\u7A7A\u65E5\u5FD7
-WorkflowDialog.PipelineLogTable.Fields.Description=\u63CF\u8FF0
-WorkflowDialog.ColumnInfo.Description.Label=\u63CF\u8FF0
-WorkflowDialog.PipelineLogTable.Fields.FieldName=\u5B57\u6BB5\u540D\u79F0
+WorkflowDialog.NoSqlNedds.DialogMessage=\u6CA1\u6709sql\u9700\u8981\u6267\u884C.  \u65E5\u5FD7\u8868\u770B\u8D77\u6765\u5F88\u597D\uFF01
+WorkflowDialog.PassBatchID.Label=\u4F20\u9012batch ID 
 WorkflowDialog.LogInterval.Label=\u65E5\u5FD7\u8BB0\u5F55\u65F6\u95F4\u95F4\u9694 (\u79D2)
-WorkflowExecutionConfigurationDialog.LocalHost.Label=The workflow will run on the machine you are using.
-WorkflowExecutionConfigurationDialog.AlwaysOption.Value=Always show dialog on run
-WorkflowExecutionConfigurationDialog.ParamsColumn.Description=Description
-WorkflowExecutionConfigurationDialog.docTitle=Help for Execute a workflow
-WorkflowExecutionConfigurationDialog.docHeader=Run a workflow
-WorkflowExecutionConfigurationDialog.alwaysShowOption=Uncheck this option if you don''t want to see this dialog when running your workflow
\ No newline at end of file
diff --git a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties b/ui/src/main/resources/org/apache/hop/ui/www/service/messages/messages_zh_CN.properties
similarity index 58%
copy from core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
copy to ui/src/main/resources/org/apache/hop/ui/www/service/messages/messages_zh_CN.properties
index b11c537..fac5edc 100644
--- a/core/src/main/resources/org/apache/hop/core/util/messages/messages_zh_CN.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/www/service/messages/messages_zh_CN.properties
@@ -1,5 +1,4 @@
 #
-#
 # 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.
@@ -15,8 +14,14 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+#File generated by Hop Translator for package 'org.apache.hop.ui.www.service' in locale 'zh_CN'
 #
 #
-UUIDUtil.ERROR_0002_GET_MAC_ADDR=Can't get primary ethernet adapter MAC address - falling back to dummy/generated address.
-UUIDUtil.ERROR_0001_LOADING_ETHERNET_ADDRESS=\u52A0\u8F7D "EthernetAddress" \u672C\u5730\u5E93
-UUIDUtil.ERROR_0003_GENERATEFAILED=\u4E0D\u80FD\u751F\u6210 UUID.
+WebServiceEditor.Field.Label=\u8F93\u51FA\u5B57\u6BB5
+WebServiceEditor.Name.Label=\u540D\u79F0
+WebServiceEditor.Enabled.Label=\u542F\u7528
+WebServiceEditor.ContentType.Label=\u5185\u5BB9\u7C7B\u578B
+WebServiceEditor.Transform.Label=\u8F93\u51FA Transform
+WebServiceEditor.ListStatus.Label=\u670D\u52A1\u5668\u72B6\u6001
+WebServiceEditor.Filename.Label=\u670D\u52A1\u5668\u4E0A\u7684\u6587\u4EF6\u540D
+WebServiceEditor.SelectOutput.Button=\u9009\u62E9\u8F93\u51FA\u5B57\u6BB5