You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampark.apache.org by kr...@apache.org on 2022/11/12 03:33:48 UTC

[incubator-streampark] branch dev updated: [bug] i18n bug fixed (#2007)

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

kriszu pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


The following commit(s) were added to refs/heads/dev by this push:
     new e58e7d688 [bug] i18n bug fixed (#2007)
e58e7d688 is described below

commit e58e7d688921df6bc0f33365ed150f3996ea8d74
Author: benjobs <be...@apache.org>
AuthorDate: Sat Nov 12 11:33:43 2022 +0800

    [bug] i18n bug fixed (#2007)
---
 .../src/assembly/script/schema/mysql-schema.sql    |   4 +-
 .../src/assembly/script/schema/pgsql-schema.sql    |   6 +-
 .../src/assembly/script/upgrade/mysql/1.2.4.sql    |   4 +-
 .../core/controller/FlinkClusterController.java    |   2 +-
 .../console/core/entity/Application.java           |  10 +-
 .../console/core/entity/FlinkCluster.java          |   2 +-
 .../core/service/impl/ApplicationServiceImpl.java  |  10 +-
 .../core/service/impl/FlinkClusterServiceImpl.java |   2 +-
 .../src/main/resources/db/schema-h2.sql            |   4 +-
 .../resources/mapper/core/ApplicationMapper.xml    |   2 +-
 .../resources/mapper/core/FlinkClusterMapper.xml   |   2 +-
 .../src/api/flink/app/app.type.ts                  |   4 +-
 .../api/flink/setting/types/flinkCluster.type.ts   |   2 +-
 .../src/locales/lang/en/flink/app.ts               | 135 +++++++------
 .../src/locales/lang/en/routes/demo.ts             | 218 ---------------------
 .../src/locales/lang/en/system/role.ts             |   2 +-
 .../src/locales/lang/zh-CN/flink/app.ts            | 164 ++++++++--------
 .../src/locales/lang/zh-CN/routes/demo.ts          | 209 --------------------
 .../src/locales/lang/zh-CN/system/role.ts          |   2 +-
 .../src/views/flink/app/Detail.vue                 |   2 +-
 .../src/views/flink/app/EditFlink.vue              |   2 +-
 .../src/views/flink/app/EditStreamPark.vue         |   2 +-
 .../src/views/flink/app/data/index.ts              |  16 +-
 .../src/views/flink/app/hooks/useApp.tsx           |   8 +-
 .../src/views/flink/app/hooks/useAppTableAction.ts |  16 +-
 .../flink/app/hooks/useCreateAndEditSchema.ts      | 110 +++++------
 .../src/views/flink/app/hooks/useCreateSchema.ts   |  63 +++---
 .../src/views/flink/app/hooks/useEditStreamPark.ts |   4 +-
 .../src/views/flink/app/hooks/useFlinkRender.tsx   |   4 +-
 .../src/views/flink/app/hooks/useFlinkSchema.ts    |   8 +-
 .../src/views/flink/app/utils/index.ts             |   2 +-
 .../src/views/flink/setting/EditCluster.vue        |   2 +-
 .../views/flink/setting/hooks/useClusterSetting.ts |  12 +-
 .../views/system/role/components/RoleDrawer.vue    |   2 +-
 .../streampark/flink/submit/FlinkSubmitter.scala   |   4 +-
 35 files changed, 305 insertions(+), 736 deletions(-)

diff --git a/streampark-console/streampark-console-service/src/assembly/script/schema/mysql-schema.sql b/streampark-console/streampark-console-service/src/assembly/script/schema/mysql-schema.sql
index 1c154de44..f7b15a71f 100644
--- a/streampark-console/streampark-console-service/src/assembly/script/schema/mysql-schema.sql
+++ b/streampark-console/streampark-console-service/src/assembly/script/schema/mysql-schema.sql
@@ -90,7 +90,7 @@ create table `t_flink_app` (
   `cp_max_failure_interval` int default null,
   `cp_failure_rate_interval` int default null,
   `cp_failure_action` tinyint default null,
-  `properties` text collate utf8mb4_general_ci,
+  `dynamic_properties` text collate utf8mb4_general_ci,
   `description` varchar(255) collate utf8mb4_general_ci default null,
   `resolve_order` tinyint default null,
   `k8s_rest_exposed_type` tinyint default null,
@@ -458,7 +458,7 @@ create table `t_flink_cluster` (
   `description` varchar(255) default null,
   `user_id` bigint default null,
   `flink_image` varchar(255) default null comment 'flink image',
-  `properties` text comment 'allows specifying multiple generic configuration options',
+  `dynamic_properties` text comment 'allows specifying multiple generic configuration options',
   `k8s_rest_exposed_type` tinyint default 2 comment 'k8s export(0:loadbalancer,1:clusterip,2:nodeport)',
   `k8s_hadoop_integration` tinyint default 0,
   `flame_graph` tinyint default 0 comment 'flameGraph enable,default disable',
diff --git a/streampark-console/streampark-console-service/src/assembly/script/schema/pgsql-schema.sql b/streampark-console/streampark-console-service/src/assembly/script/schema/pgsql-schema.sql
index 2f8b3ddda..bc9a1a3dd 100644
--- a/streampark-console/streampark-console-service/src/assembly/script/schema/pgsql-schema.sql
+++ b/streampark-console/streampark-console-service/src/assembly/script/schema/pgsql-schema.sql
@@ -243,7 +243,7 @@ create table "public"."t_flink_app" (
   "cp_max_failure_interval" int4,
   "cp_failure_rate_interval" int4,
   "cp_failure_action" int2,
-  "properties" text collate "pg_catalog"."default",
+  "dynamic_properties" text collate "pg_catalog"."default",
   "description" varchar(255) collate "pg_catalog"."default",
   "resolve_order" int2,
   "k8s_rest_exposed_type" int2,
@@ -308,7 +308,7 @@ create table "public"."t_flink_cluster" (
   "description" varchar(255) collate "pg_catalog"."default",
   "user_id" int8,
   "flink_image" varchar(255) collate "pg_catalog"."default",
-  "properties" text collate "pg_catalog"."default",
+  "dynamic_properties" text collate "pg_catalog"."default",
   "k8s_rest_exposed_type" int2 default 2,
   "k8s_hadoop_integration" boolean default false,
   "flame_graph" boolean default false,
@@ -329,7 +329,7 @@ comment on column "public"."t_flink_cluster"."version_id" is 'flink version id';
 comment on column "public"."t_flink_cluster"."k8s_namespace" is 'k8s namespace';
 comment on column "public"."t_flink_cluster"."service_account" is 'k8s service account';
 comment on column "public"."t_flink_cluster"."flink_image" is 'flink image';
-comment on column "public"."t_flink_cluster"."properties" is 'allows specifying multiple generic configuration options';
+comment on column "public"."t_flink_cluster"."dynamic_properties" is 'allows specifying multiple generic configuration options';
 comment on column "public"."t_flink_cluster"."k8s_rest_exposed_type" is 'k8s export(0:loadbalancer,1:clusterip,2:nodeport)';
 comment on column "public"."t_flink_cluster"."flame_graph" is 'enable the flame graph';
 comment on column "public"."t_flink_cluster"."k8s_conf" is 'the path where the k 8 s configuration file is located';
diff --git a/streampark-console/streampark-console-service/src/assembly/script/upgrade/mysql/1.2.4.sql b/streampark-console/streampark-console-service/src/assembly/script/upgrade/mysql/1.2.4.sql
index 74e2dd674..7ae8ae4a8 100644
--- a/streampark-console/streampark-console-service/src/assembly/script/upgrade/mysql/1.2.4.sql
+++ b/streampark-console/streampark-console-service/src/assembly/script/upgrade/mysql/1.2.4.sql
@@ -62,7 +62,7 @@ where alert_type = 1;
 -- t_flink_app
 alter table `t_flink_app`
     drop column alert_email,
-    change column dynamic_options properties text comment 'allows specifying multiple generic configuration options',
+    change column dynamic_options dynamic_properties text comment 'allows specifying multiple generic configuration options',
     add column `job_manager_url` varchar(255) default null after `job_id`,
     add column `option_time` datetime default null after `create_time`,
     add column `ingress_template` text collate utf8mb4_general_ci comment 'ingress模版文件',
@@ -79,7 +79,7 @@ alter table `t_flink_project`
     add column `modify_time` datetime not null default current_timestamp on update current_timestamp after `create_time`,
     add index `inx_team` (`team_id`) using btree;
 
-alter table `t_flink_cluster` add column `properties` text comment 'allows specifying multiple generic configuration options' after `flink_image`;
+alter table `t_flink_cluster` add column `dynamic_properties` text comment 'allows specifying multiple generic configuration options' after `flink_image`;
 
 -- change `update_time` to `modify_time`
 alter table `t_app_build_pipe` change column `update_time` `modify_time` datetime not null default current_timestamp on update current_timestamp;
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/FlinkClusterController.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/FlinkClusterController.java
index 2d1f8fac9..5927012e5 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/FlinkClusterController.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/FlinkClusterController.java
@@ -77,7 +77,7 @@ public class FlinkClusterController {
         flinkCluster.setClusterName(cluster.getClusterName());
         flinkCluster.setAddress(cluster.getAddress());
         flinkCluster.setExecutionMode(cluster.getExecutionMode());
-        flinkCluster.setProperties(cluster.getProperties());
+        flinkCluster.setDynamicProperties(cluster.getDynamicProperties());
         flinkCluster.setFlameGraph(cluster.getFlameGraph());
         flinkCluster.setFlinkImage(cluster.getFlinkImage());
         flinkCluster.setOptions(cluster.getOptions());
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
index 65683de8b..4883ccf03 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
@@ -166,7 +166,7 @@ public class Application implements Serializable {
     private String hotParams;
     private Integer resolveOrder;
     private Integer executionMode;
-    private String properties;
+    private String dynamicProperties;
     private Integer appType;
     private Boolean flameGraph;
 
@@ -585,15 +585,15 @@ public class Application implements Serializable {
             return false;
         }
 
-        if (this.getProperties() != null) {
-            if (other.getProperties() != null) {
-                if (!this.getProperties().trim().equals(other.getProperties().trim())) {
+        if (this.getDynamicProperties() != null) {
+            if (other.getDynamicProperties() != null) {
+                if (!this.getDynamicProperties().trim().equals(other.getDynamicProperties().trim())) {
                     return false;
                 }
             } else {
                 return false;
             }
-        } else if (other.getProperties() != null) {
+        } else if (other.getDynamicProperties() != null) {
             return false;
         }
 
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/FlinkCluster.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/FlinkCluster.java
index 1efa42926..f1f538123 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/FlinkCluster.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/FlinkCluster.java
@@ -79,7 +79,7 @@ public class FlinkCluster implements Serializable {
 
     private Boolean k8sHadoopIntegration;
 
-    private String properties;
+    private String dynamicProperties;
 
     private Integer k8sRestExposedType;
 
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
index 777de6488..7df4980f9 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
@@ -644,7 +644,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
         newApp.setRestartSize(oldApp.getRestartSize());
         newApp.setJobType(oldApp.getJobType());
         newApp.setOptions(oldApp.getOptions());
-        newApp.setProperties(oldApp.getProperties());
+        newApp.setDynamicProperties(oldApp.getDynamicProperties());
         newApp.setResolveOrder(oldApp.getResolveOrder());
         newApp.setExecutionMode(oldApp.getExecutionMode());
         newApp.setFlinkImage(oldApp.getFlinkImage());
@@ -753,7 +753,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
             application.setVersionId(appParam.getVersionId());
             application.setArgs(appParam.getArgs());
             application.setOptions(appParam.getOptions());
-            application.setProperties(appParam.getProperties());
+            application.setDynamicProperties(appParam.getDynamicProperties());
             application.setResolveOrder(appParam.getResolveOrder());
             application.setExecutionMode(appParam.getExecutionMode());
             application.setClusterId(appParam.getClusterId());
@@ -1108,7 +1108,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
             appParam.getDrain(),
             customSavepoint,
             application.getK8sNamespace(),
-            application.getProperties(),
+            application.getDynamicProperties(),
             extraParameter
         );
 
@@ -1303,7 +1303,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
             throw new UnsupportedOperationException("Unsupported...");
         }
 
-        Map<String, String> properties = FlinkSubmitter.extractPropertiesAsJava(application.getProperties());
+        Map<String, String> properties = FlinkSubmitter.extractDynamicPropertiesAsJava(application.getDynamicProperties());
 
         Map<String, Object> extraParameter = new HashMap<>(0);
 
@@ -1519,7 +1519,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
 
         // 1) properties have the highest priority, read the properties are set: -Dstate.savepoints.dir
         String savepointPath = FlinkSubmitter
-            .extractPropertiesAsJava(application.getProperties())
+            .extractDynamicPropertiesAsJava(application.getDynamicProperties())
             .get(CheckpointingOptions.SAVEPOINT_DIRECTORY.key());
 
         // Application conf configuration has the second priority. If it is a streampark|flinksql type task,
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java
index f1161d639..68ed6be94 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/FlinkClusterServiceImpl.java
@@ -166,7 +166,7 @@ public class FlinkClusterServiceImpl extends ServiceImpl<FlinkClusterMapper, Fli
             FlinkEnv flinkEnv = flinkEnvService.getById(flinkCluster.getVersionId());
             Map<String, Object> extraParameter = flinkCluster.getOptionMap();
             ResolveOrder resolveOrder = ResolveOrder.of(flinkCluster.getResolveOrder());
-            Map<String, String> properties = FlinkSubmitter.extractPropertiesAsJava(flinkCluster.getProperties());
+            Map<String, String> properties = FlinkSubmitter.extractDynamicPropertiesAsJava(flinkCluster.getDynamicProperties());
             DeployRequest deployRequest = new DeployRequest(
                 flinkEnv.getFlinkVersion(),
                 flinkCluster.getClusterId(),
diff --git a/streampark-console/streampark-console-service/src/main/resources/db/schema-h2.sql b/streampark-console/streampark-console-service/src/main/resources/db/schema-h2.sql
index 1be42d1f9..0b2bc6135 100644
--- a/streampark-console/streampark-console-service/src/main/resources/db/schema-h2.sql
+++ b/streampark-console/streampark-console-service/src/main/resources/db/schema-h2.sql
@@ -78,7 +78,7 @@ create table if not exists `t_flink_app` (
   `cp_max_failure_interval` int default null,
   `cp_failure_rate_interval` int default null,
   `cp_failure_action` tinyint default null,
-  `properties` text ,
+  `dynamic_properties` text ,
   `description` varchar(255)  default null,
   `resolve_order` tinyint default null,
   `k8s_rest_exposed_type` tinyint default null,
@@ -406,7 +406,7 @@ create table if not exists `t_flink_cluster` (
   `description` varchar(255) default null,
   `user_id` bigint default null,
   `flink_image` varchar(255) default null comment 'flink image',
-  `properties` text comment 'allows specifying multiple generic configuration options',
+  `dynamic_properties` text comment 'allows specifying multiple generic configuration options',
   `k8s_rest_exposed_type` tinyint default 2 comment 'k8s export(0:loadbalancer,1:clusterip,2:nodeport)',
   `k8s_hadoop_integration` tinyint default 0,
   `flame_graph` tinyint default 0 comment 'flameGraph enable,default disable',
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationMapper.xml
index 27b95048d..d68bb17e6 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/core/ApplicationMapper.xml
@@ -26,7 +26,7 @@
         <result column="module" jdbcType="VARCHAR" property="module"/>
         <result column="args" jdbcType="LONGVARCHAR" property="args"/>
         <result column="options" jdbcType="LONGVARCHAR" property="options"/>
-        <result column="properties" jdbcType="LONGVARCHAR" property="properties"/>
+        <result column="dynamic_properties" jdbcType="LONGVARCHAR" property="dynamicProperties"/>
         <result column="hot_params" jdbcType="VARCHAR" property="hotParams"/>
         <result column="job_name" jdbcType="VARCHAR" property="jobName"/>
         <result column="app_id" jdbcType="VARCHAR" property="appId"/>
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml
index 5e4d48769..1e1a85c9d 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/core/FlinkClusterMapper.xml
@@ -33,7 +33,7 @@
         <result column="description" jdbcType="VARCHAR" property="description"/>
         <result column="user_id" jdbcType="BIGINT" property="userId"/>
         <result column="flink_image" jdbcType="VARCHAR" property="flinkImage"/>
-        <result column="properties" jdbcType="LONGVARCHAR" property="properties"/>
+        <result column="dynamic_properties" jdbcType="LONGVARCHAR" property="dynamicProperties"/>
         <result column="k8s_rest_exposed_type" jdbcType="TINYINT" property="k8sRestExposedType"/>
         <result column="k8s_hadoop_integration" jdbcType="BOOLEAN" property="k8sHadoopIntegration"/>
         <result column="flame_graph" jdbcType="BOOLEAN" property="flameGraph"/>
diff --git a/streampark-console/streampark-console-webapp/src/api/flink/app/app.type.ts b/streampark-console/streampark-console-webapp/src/api/flink/app/app.type.ts
index 21daac8dc..fc6e0667a 100644
--- a/streampark-console/streampark-console-webapp/src/api/flink/app/app.type.ts
+++ b/streampark-console/streampark-console-webapp/src/api/flink/app/app.type.ts
@@ -69,7 +69,7 @@ export interface AppListRecord {
   hotParams?: string;
   resolveOrder: number;
   executionMode: number;
-  properties?: string;
+  dynamicProperties?: string;
   appType: number;
   flameGraph: boolean;
   tracking: number;
@@ -169,7 +169,7 @@ export interface CreateParams {
   cpMaxFailureInterval: number;
   cpFailureRateInterval: number;
   cpFailureAction: number;
-  properties: string;
+  dynamicProperties: string;
   resolveOrder: number;
   restartSize: number;
   alertId: string;
diff --git a/streampark-console/streampark-console-webapp/src/api/flink/setting/types/flinkCluster.type.ts b/streampark-console/streampark-console-webapp/src/api/flink/setting/types/flinkCluster.type.ts
index c2e45e926..5cc7306bd 100644
--- a/streampark-console/streampark-console-webapp/src/api/flink/setting/types/flinkCluster.type.ts
+++ b/streampark-console/streampark-console-webapp/src/api/flink/setting/types/flinkCluster.type.ts
@@ -29,7 +29,7 @@ export interface FlinkCluster {
   options: string;
   yarnQueue: string;
   k8sHadoopIntegration: boolean;
-  properties: string;
+  dynamicProperties: string;
   k8sRestExposedType: number;
   flameGraph: boolean;
   k8sConf?: any;
diff --git a/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/app.ts b/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/app.ts
index 424cee3ae..b043d2088 100644
--- a/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/app.ts
+++ b/streampark-console/streampark-console-webapp/src/locales/lang/en/flink/app.ts
@@ -15,8 +15,60 @@
  * limitations under the License.
  */
 export default {
+  appName: 'Application Name',
+  searchName: 'Name',
+  tags: 'Tags',
+  owner: 'Owner',
+  flinkVersion: 'Flink Version',
+  duration: 'Duration',
+  modifiedTime: 'Modified Time',
+  runStatus: 'Run Status',
+  launchBuild: 'Launch Status',
+  jobType: 'Job Type',
+  developmentMode: 'Development Mode',
+  executionMode: 'Execution Mode',
+  dependency: 'Dependency',
+  appConf: 'Application Conf',
+  resolveOrder: 'resolveOrder',
+  parallelism: 'Parallelism',
+  restartSize: 'Fault Restart Size',
+  faultAlertTemplate: 'Fault Alert Template',
+  checkPointFailureOptions: 'CheckPoint Failure Options',
+  totalMemoryOptions: 'Total Memory Options',
+  jmMemoryOptions: 'JM Memory Options',
+  tmMemoryOptions: 'TM Memory Options',
+  podTemplate: 'Kubernetes Pod Template',
+  flinkCluster: 'Flink Cluster',
+  yarnQueue: 'Yarn Queue',
+  yarnSessionClusterId: 'Yarn Session ClusterId',
+  mavenPom: 'Maven pom',
+  uploadJar: 'Upload Jar',
+  kubernetesNamespace: 'Kubernetes Namespace',
+  kubernetesClusterId: 'Kubernetes ClusterId',
+  flinkBaseDockerImage: 'Flink Base Docker Image',
+  restServiceExposedType: 'Rest-Service Exposed Type',
+  resourceFrom: 'Resource From',
+  uploadJobJar: 'Upload Job Jar',
+  mainClass: 'Program Main',
+  project: 'Project',
+  module: 'Module',
+  appType: 'Application Type',
+  programArgs: 'Program Args',
+  programJar: 'Program Jar',
+  dynamicProperties: 'Dynamic Properties',
+  hadoopConfigTitle: 'System Hadoop Configuration',
+  dragUploadTitle: 'Click or drag jar to this area to upload',
+  dragUploadTip:
+    'Support for a single upload. You can upload a local jar here to support for current Job',
+  dependencyError: 'please set flink version first.',
+  launch: {
+    launchTitle: 'The current launch of the application is in progress.',
+    launchDesc: 'are you sure you want to force another build',
+    launchFail: 'launch application failed,',
+    launching: 'Current Application is launching',
+  },
   detail: {
-    applicationTitle: 'Application Info',
+    detailTitle: 'Application Info',
     flinkWebUi: 'Flink Web UI',
     compareConfig: 'Compare Config',
     candidate: 'Candidate',
@@ -29,7 +81,6 @@ export default {
     apiDocCenter: 'Api Doc Center',
     nullAccessToken: 'access token is null,please contact the administrator to add.',
     invalidAccessToken: 'access token is invalid,please contact the administrator.',
-
     detailTab: {
       configDetail: 'View Config Detail',
       confDeleteTitle: 'Are you sure delete this record',
@@ -41,7 +92,6 @@ export default {
       save: 'Save Point',
       exception: 'View Exception',
     },
-
     different: {
       original: 'Original version',
       target: 'Target version',
@@ -69,7 +119,6 @@ export default {
     init: 'Init Content',
     host: 'Host Alias',
   },
-  dependencyError: 'please set flink version first.',
   flinkSql: {
     preview: 'Preview',
     verify: 'Verify',
@@ -79,21 +128,12 @@ export default {
     successful: 'Verification success',
     compareFlinkSQL: 'Compare Flink SQL',
   },
-  hadoopConfigTitle: 'System Hadoop Conifguration',
-  dragUploadTitle: 'Click or drag jar to this area to upload',
-  dragUploadTip:
-    'Support for a single upload. You can upload a local jar here to support for current Job',
-
   editStreamPark: {
     success: 'update successful',
     flinkSqlRequired: 'Flink Sql is required',
     appidCheck: 'appid can not be empty',
     sqlCheck: 'SQL check error',
   },
-  launchTitle: 'The current launch of the application is in progress.',
-  launchDesc: 'are you sure you want to force another build',
-  launchFail: 'lanuch application failed,',
-  launching: 'Current Application is launching',
   tableAction: {
     edit: 'Edit Application',
     launch: 'Launch Application',
@@ -120,49 +160,6 @@ export default {
     taskManagerMemory: 'TaskManager Memory',
     totalTaskManagerMemory: 'Total TaskManager Mem',
   },
-  table: {
-    applicationName: 'Application Name',
-    searchName: 'Name',
-    tags: 'Tags',
-    owner: 'Owner',
-    flinkVersion: 'Flink Version',
-    duration: 'Duration',
-    modifiedTime: 'Modified Time',
-    runStatus: 'Run Status',
-    launchBuild: 'Launch | Build',
-    jobType: 'Type',
-    developmentMode: 'Development Mode',
-    executionMode: 'Execution Mode',
-    dependency: 'Dependency',
-    applicationConf: 'Application Conf',
-    resolveOrder: 'resolveOrder',
-    parallelism: 'Parallelism',
-    restartSize: 'Fault Restart Size',
-    faultAlertTemplate: 'Fault Alert Template',
-    checkPointFailureOptions: 'CheckPoint Failure Options',
-    totalMemoryOptions: 'Total Memory Options',
-    jmMemoryOptions: 'JM Memory Options',
-    tmMemoryOptions: 'TM Memory Options',
-    properties: 'Flink application dynamic configuration',
-    podTemplate: 'Kubernetes Pod Template',
-    flinkCluster: 'Flink Cluster',
-    yarnQueue: 'Yarn Queue',
-    yarnSessionClusterId: 'Yarn Session ClusterId',
-    mavenPom: 'Maven pom',
-    uploadJar: 'Upload Jar',
-    kubernetesNamespace: 'Kubernetes Namespace',
-    kubernetesClusterId: 'Kubernetes ClusterId',
-    flinkBaseDockerImage: 'Flink Base Docker Image',
-    restServiceExposedType: 'Rest-Service Exposed Type',
-    resourceFrom: 'Resource From',
-    uploadJobJar: 'Upload Job Jar',
-    mainClass: 'Program Main',
-    project: 'Project',
-    module: 'Module',
-    appType: 'Application Type',
-    programArgs: 'Program Args',
-    programJar: 'Program Jar',
-  },
   runStatusOptions: {
     added: 'ADDED',
     starting: 'STARTING',
@@ -175,29 +172,29 @@ export default {
     silent: 'SILENT',
     terminated: 'TERMINATED',
   },
-  addApplicationTips: {
+  addAppTips: {
     developmentModePlaceholder: 'please select job type',
     developmentModeIsRequiredMessage: 'Job Type is required',
     executionModePlaceholder: 'please select execution mode',
     executionModeIsRequiredMessage: 'Execution Mode is required',
-    hadoopEnvInitiMessage: 'Hadoop environment initialization failed, please check the environment settings',
+    hadoopEnvInitMessage: 'Hadoop environment initialization failed, please check the environment settings',
     resourceFromMessage: 'resource from is required',
     mainClassPlaceholder: 'Please enter Main class',
     mainClassIsRequiredMessage: 'Program Main is required',
     projectPlaceholder: 'Please select Project',
     projectIsRequiredMessage: 'Project is required',
     projectModulePlaceholder: 'Please select module of this project',
-    applicationTypePlaceholder: 'Please select Application type',
-    applicationTypeIsRequiredMessage: 'Application Type is required',
+    appTypePlaceholder: 'Please select Application type',
+    appTypeIsRequiredMessage: 'Application Type is required',
     programJarIsRequiredMessage: 'Program Jar is required',
     useSysHadoopConf: 'Use System Hadoop Conf',
     flinkVersionIsRequiredMessage: 'Flink Version is required',
-    applicationNamePlaceholder: 'Please enter jobName',
-    applicationNameIsRequiredMessage: 'Application Name is required',
-    applicationNameNotUniqueMessage: 'application name must be unique. The application name already exists',
-    applicationNameExistsInRunningJobYarnMessage: 'The application name is already running in yarn,cannot be repeated. Please check',
-    applicationNameExistsInRunningJobK8sMessage: 'The application name is already running in k8s,cannot be repeated. Please check',
-    applicationNameNotValid: 'The application name is invalid.characters must be (Chinese|English|"-"|"_"),two consecutive spaces cannot appear.Please check',
+    appNamePlaceholder: 'Please enter application Name',
+    appNameIsRequiredMessage: 'The application Name is required',
+    appNameNotUniqueMessage: 'The application Name is already exists, must be unique. ',
+    appNameExistsInYarnMessage: 'The application name is already exists in YARN, cannot be repeated. Please check',
+    appNameExistsInK8sMessage: 'The application name is already exists in Kubernetes,cannot be repeated. Please check',
+    appNameNotValid: 'The application name is invalid.characters must be (Chinese|English|"-"|"_"),two consecutive spaces cannot appear.Please check',
     tagsPlaceholder: 'Please enter tags,if more than one, separate them with commas(,)',
     parallelismPlaceholder: 'The parallelism with which to run the program',
     slotsOfPerTaskManagerPlaceholder: 'Number of slots per TaskManager',
@@ -208,11 +205,11 @@ export default {
     yarnQueuePlaceholder: 'Please enter yarn queue',
     descriptionPlaceholder: 'Please enter description for this application',
     yarnSessionClusterIdPlaceholder: 'Please Select Yarn Session clusterId',
-    kubernetesNamespacePlaceholder: 'default',
+    kubernetesNamespacePlaceholder: 'Please enter kubernetes Namespace, e.g: default',
     kubernetesClusterIdPlaceholder: 'Please enter Kubernetes clusterId',
-    kubernetesClusterIdIsRequiredMessager: 'Kubernetes clusterId is required',
+    kubernetesClusterIdIsRequiredMessage: 'Kubernetes clusterId is required',
     flinkImagePlaceholder: 'Please enter the tag of Flink base docker image, such as: flink:1.13.0-scala_2.11-java8',
-    flinkImageIsRequiredMessager: 'Flink Base Docker Image is required',
+    flinkImageIsRequiredMessage: 'Flink Base Docker Image is required',
     k8sRestExposedTypePlaceholder: 'kubernetes.rest-service.exposed.type',
     hadoopXmlConfigFileTips: 'Automatically copy configuration files from system environment parameters',
   },
diff --git a/streampark-console/streampark-console-webapp/src/locales/lang/en/routes/demo.ts b/streampark-console/streampark-console-webapp/src/locales/lang/en/routes/demo.ts
deleted file mode 100644
index ad29ad574..000000000
--- a/streampark-console/streampark-console-webapp/src/locales/lang/en/routes/demo.ts
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * 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
- *
- *    https://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.
- */
-export default {
-  charts: {
-    baiduMap: 'Baidu map',
-    aMap: 'A map',
-    googleMap: 'Google map',
-    charts: 'Chart',
-    map: 'Map',
-    line: 'Line',
-    pie: 'Pie',
-  },
-  comp: {
-    comp: 'Component',
-    basic: 'Basic',
-    transition: 'Animation',
-    countTo: 'Count To',
-
-    scroll: 'Scroll',
-    scrollBasic: 'Basic',
-    scrollAction: 'Scroll Function',
-    virtualScroll: 'Virtual Scroll',
-
-    tree: 'Tree',
-
-    treeBasic: 'Basic',
-    editTree: 'Searchable/toolbar',
-    actionTree: 'Function operation',
-
-    modal: 'Modal',
-    drawer: 'Drawer',
-    desc: 'Desc',
-
-    lazy: 'Lazy',
-    lazyBasic: 'Basic',
-    lazyTransition: 'Animation',
-
-    verify: 'Verify',
-    verifyDrag: 'Drag ',
-    verifyRotate: 'Picture Restore',
-
-    qrcode: 'QR code',
-    strength: 'Password strength',
-    upload: 'Upload',
-
-    loading: 'Loading',
-
-    time: 'Relative Time',
-    cropperImage: 'Cropper Image',
-    cardList: 'Card List',
-  },
-  editor: {
-    editor: 'Editor',
-    jsonEditor: 'Json editor',
-    markdown: 'Markdown editor',
-
-    tinymce: 'Rich text',
-    tinymceBasic: 'Basic',
-    tinymceForm: 'embedded form',
-  },
-  excel: {
-    excel: 'Excel',
-    customExport: 'Select export format',
-    jsonExport: 'JSON data export',
-    arrayExport: 'Array data export',
-    importExcel: 'Import',
-  },
-  feat: {
-    feat: 'Page Function',
-    icon: 'Icon',
-    tabs: 'Tabs',
-    tabDetail: 'Tab Detail',
-    sessionTimeout: 'Session Timeout',
-    print: 'Print',
-    contextMenu: 'Context Menu',
-    download: 'Download',
-    clickOutSide: 'ClickOutSide',
-    imgPreview: 'Picture Preview',
-    copy: 'Clipboard',
-    msg: 'Message prompt',
-    watermark: 'Watermark',
-    ripple: 'Ripple',
-    fullScreen: 'Full Screen',
-    errorLog: 'Error Log',
-    tab: 'Tab with parameters',
-    tab1: 'Tab with parameter 1',
-    tab2: 'Tab with parameter 2',
-    menu: 'Menu with parameters',
-    menu1: 'Menu with parameters 1',
-    menu2: 'Menu with parameters 2',
-
-    ws: 'Websocket test',
-
-    breadcrumb: 'Breadcrumbs',
-    breadcrumbFlat: 'Flat Mode',
-    breadcrumbFlatDetail: 'Flat mode details',
-    requestDemo: 'Retry request demo',
-
-    breadcrumbChildren: 'Level mode',
-    breadcrumbChildrenDetail: 'Level mode detail',
-  },
-  flow: {
-    name: 'Graphics editor',
-    flowChart: 'FlowChart',
-  },
-  form: {
-    form: 'Form',
-    basic: 'Basic',
-    useForm: 'useForm',
-    refForm: 'RefForm',
-    advancedForm: 'Shrinkable',
-    ruleForm: 'Form validation',
-    dynamicForm: 'Dynamic',
-    customerForm: 'Custom',
-    appendForm: 'Append',
-    tabsForm: 'TabsForm',
-  },
-  iframe: {
-    frame: 'External',
-    antv: 'antVue doc (embedded)',
-    doc: 'Project doc (embedded)',
-    docExternal: 'Project doc (external)',
-  },
-  level: { level: 'MultiMenu' },
-  page: {
-    page: 'Page',
-
-    form: 'Form',
-    formBasic: 'Basic Form',
-    formStep: 'Step Form',
-    formHigh: 'Advanced Form',
-
-    desc: 'Details',
-    descBasic: 'Basic Details',
-    descHigh: 'Advanced Details',
-
-    result: 'Result',
-    resultSuccess: 'Success',
-    resultFail: 'Failed',
-
-    account: 'Personal',
-    accountCenter: 'Personal Center',
-    accountSetting: 'Personal Settings',
-
-    exception: 'Exception',
-    netWorkError: 'Network Error',
-    notData: 'No data',
-
-    list: 'List page',
-    listCard: 'Card list',
-    basic: 'Basic list',
-    listBasic: 'Basic list',
-    listSearch: 'Search list',
-  },
-  permission: {
-    permission: 'Permission',
-
-    front: 'front-end',
-    frontPage: 'Page',
-    frontBtn: 'Button',
-    frontTestA: 'Test page A',
-    frontTestB: 'Test page B',
-
-    back: 'background',
-    backPage: 'Page',
-    backBtn: 'Button',
-  },
-  setup: {
-    page: 'Intro page',
-  },
-  system: {
-    moduleName: 'System management',
-
-    account: 'Account management',
-    account_detail: 'Account detail',
-    password: 'Change password',
-
-    dept: 'Department management',
-
-    menu: 'Menu management',
-    role: 'Role management',
-  },
-  table: {
-    table: 'Table',
-
-    basic: 'Basic',
-    treeTable: 'Tree',
-    fetchTable: 'Remote loading',
-    fixedColumn: 'Fixed column',
-    customerCell: 'Custom column',
-    formTable: 'Open search',
-    useTable: 'UseTable',
-    refTable: 'RefTable',
-    multipleHeader: 'MultiLevel header',
-    mergeHeader: 'Merge cells',
-    expandTable: 'Expandable table',
-    fixedHeight: 'Fixed height',
-    footerTable: 'Footer',
-    editCellTable: 'Editable cell',
-    editRowTable: 'Editable row',
-    authColumn: 'Auth column',
-    resizeParentHeightTable: 'resizeParentHeightTable',
-  },
-};
diff --git a/streampark-console/streampark-console-webapp/src/locales/lang/en/system/role.ts b/streampark-console/streampark-console-webapp/src/locales/lang/en/system/role.ts
index bf034a489..3cbac9a5a 100644
--- a/streampark-console/streampark-console-webapp/src/locales/lang/en/system/role.ts
+++ b/streampark-console/streampark-console-webapp/src/locales/lang/en/system/role.ts
@@ -25,7 +25,7 @@ export default {
     edit: 'Edit Role',
     delete: 'Delete Role',
     view: 'View Role',
-    validite: 'You must include the view permission under application',
+    noViewPermission: 'You must include the view permission under application',
     roleNameLen: 'Role name should not be longer than 255 characters',
     exist: 'Sorry, the role name already exists',
     empty: 'Role name cannot be empty',
diff --git a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/app.ts b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/app.ts
index e1906f260..d015be82a 100644
--- a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/app.ts
+++ b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/flink/app.ts
@@ -15,20 +15,70 @@
  * limitations under the License.
  */
 export default {
-  applicationTitle: 'Application 信息',
   flinkWebUi: 'Flink Web UI',
+  appName: '作业名称',
+  searchName: '名称',
+  tags: '作业标签',
+  owner: '创建者',
+  flinkVersion: 'Flink版本',
+  duration: '运行时长',
+  modifiedTime: '修改时间',
+  runStatus: '运行状态',
+  launchBuild: '发布状态',
+  jobType: '作业类型',
+  developmentMode: '作业模式',
+  executionMode: '执行模式',
+  dependency: '作业依赖',
+  appConf: '作业配置',
+  resolveOrder: '类加载顺序',
+  parallelism: '并行度',
+  restartSize: '(失败后)重启次数',
+  faultAlertTemplate: '告警模板',
+  checkPointFailureOptions: 'Checkpoint告警策略',
+  totalMemoryOptions: '总内存',
+  jmMemoryOptions: 'JM内存',
+  tmMemoryOptions: 'TM内存',
+  podTemplate: 'Kubernetes Pod 模板',
+  flinkCluster: 'Flink集群',
+  yarnQueue: 'Yarn队列',
+  yarnSessionClusterId: 'Yarn session模式集群',
+  mavenPom: 'maven pom',
+  uploadJar: '上传依赖Jar文件',
+  kubernetesNamespace: 'K8S命名空间',
+  kubernetesClusterId: 'K8S ClusterId',
+  flinkBaseDockerImage: 'Flink基础docker镜像',
+  restServiceExposedType: 'K8S服务对外类型',
+  resourceFrom: '资源来源',
+  uploadJobJar: '上传jar文件',
+  mainClass: '程序入口类',
+  project: '项目',
+  module: '模块',
+  appType: '作业类型',
+  programArgs: '程序参数',
+  programJar: '程序Jar文件',
+  dynamicProperties: '动态参数',
+  hadoopConfigTitle: '系统 Hadoop',
+  dragUploadTitle: '单击或拖动 jar 到此区域以上传',
+  dragUploadTip: '支持单次上传。您可以在此处上传本地 jar 以支持当前作业',
+  dependencyError: '请先检查flink 版本.',
+  launch: {
+    launchTitle: '该应用程序的当前启动正在进行中.',
+    launchDesc: '您确定要强制进行另一次构建吗',
+    launchFail: '发布作业失败',
+    launching: '当前作业正在发布中',
+  },
   detail: {
+    detailTitle: '作业详情',
     compareConfig: '比较配置',
     candidate: '侯选',
     compare: '比较',
     resetApi: 'Rest Api',
-    resetApiToolTip: 'Rest API外部调用接口,其他第三方系统可轻松访问StreamPark。',
+    resetApiToolTip: 'Rest API外部调用接口,其他第三方系统可轻松对接StreamPark',
     copyStartcURL: '复制启动 cURL',
     copyCancelcURL: '复制取消 cURL',
     apiDocCenter: 'Api文档',
     nullAccessToken: '访问令牌为空,请联系管理员添加.',
     invalidAccessToken: '访问令牌无效,请联系管理员。',
-
     detailTab: {
       configDetail: '查看日志详情',
       confDeleteTitle: '您确定要删除此记录吗',
@@ -36,11 +86,10 @@ export default {
       pointDeleteTitle: '您确定要删除?',
       copySuccess: '已成功复制到剪贴板',
       copyFail: '复制失败',
-      check: '检查 Point',
-      save: '保存 Point',
+      check: 'CheckPoint',
+      save: 'SavePoint',
       exception: '查看异常',
     },
-
     different: {
       original: '原始版本',
       target: '目标版本',
@@ -68,7 +117,6 @@ export default {
     init: '初始化内容',
     host: 'Host别名',
   },
-  dependencyError: '请先检查flink 版本.',
   flinkSql: {
     preview: '内容预览',
     verify: '验证',
@@ -78,32 +126,25 @@ export default {
     successful: '验证成功',
     compareFlinkSQL: '比较 Flink SQL',
   },
-  hadoopConfigTitle: '系统 Hadoop 配置',
-  dragUploadTitle: '单击或拖动 jar 到此区域以上传',
-  dragUploadTip: '支持单次上传。您可以在此处上传本地 jar 以支持当前作业',
   editStreamPark: {
     success: '更新成功',
     flinkSqlRequired: 'Flink Sql 为必填项',
     appidCheck: 'appid 不能为空',
     sqlCheck: 'SQL 检查错误',
   },
-  launchTitle: '该应用程序的当前启动正在进行中.',
-  launchDesc: '您确定要强制进行另一次构建吗',
-  launchFail: 'lanuch application 失败,',
-  launching: '当前 Application 正在 launching',
   tableAction: {
-    edit: '编辑 Application',
-    launch: 'Launch Application',
-    launchDetail: 'Launching 详情',
-    start: '启动 Application',
-    cancel: '取消 Application',
-    detail: '查看 Application 详情',
+    edit: '编辑作业',
+    launch: '发布作业',
+    launchDetail: '发布详情',
+    start: '启动作业',
+    cancel: '取消作业',
+    detail: '查看作业详情',
     startLog: '查看 Flink 启动日志',
-    force: '强制停止Application',
-    copy: '复制 Application',
-    remapping: 'Remapping Application',
-    flameGraph: '查看 FlameGraph',
-    deleteTip: '你确定要删除这个job ?',
+    force: '强制停止作业',
+    copy: '复制作业',
+    remapping: '重新映射作业',
+    flameGraph: '查看火焰图',
+    deleteTip: '你确定要删除这个作业?',
   },
   dashboard: {
     availableTaskSlots: '可用的任务槽数',
@@ -117,49 +158,6 @@ export default {
     taskManagerMemory: 'TaskManager内存',
     totalTaskManagerMemory: 'TaskManager总内存',
   },
-  table: {
-    applicationName: 'Application名称',
-    searchName: '名称',
-    tags: '标签',
-    owner: '创建者',
-    flinkVersion: 'Flink版本',
-    duration: '运行时长',
-    modifiedTime: '修改时间',
-    runStatus: '运行状态',
-    launchBuild: '启动构建',
-    jobType: '作业类型',
-    developmentMode: '开发模式',
-    executionMode: '执行模式',
-    dependency: '依赖项',
-    applicationConf: 'Application配置',
-    resolveOrder: '解析顺序',
-    parallelism: '并行度',
-    restartSize: '(失败后)重启次数',
-    faultAlertTemplate: '告警模板',
-    checkPointFailureOptions: '检查点配置',
-    totalMemoryOptions: '总内存配置',
-    jmMemoryOptions: 'JM内存配置',
-    tmMemoryOptions: 'TM内存配置',
-    properties: '动态参数配置',
-    podTemplate: 'Kubernetes Pod 模板',
-    flinkCluster: 'Flink集群',
-    yarnQueue: 'Yarn队列',
-    yarnSessionClusterId: 'Yarn session模式集群',
-    mavenPom: 'pom文件配置',
-    uploadJar: '上传依赖Jar文件',
-    kubernetesNamespace: 'k8s命名空间',
-    kubernetesClusterId: 'K8s集群',
-    flinkBaseDockerImage: 'Flink基础docker镜像',
-    restServiceExposedType: 'k8s服务对外类型',
-    resourceFrom: '资源来源',
-    uploadJobJar: '上传jar文件',
-    mainClass: '程序入口类',
-    project: '项目',
-    module: '模块',
-    appType: 'Application类型',
-    programArgs: '程序参数',
-    programJar: '程序jar文件',
-  },
   runStatusOptions: {
     added: '新增',
     starting: '启动中',
@@ -172,29 +170,29 @@ export default {
     silent: '静默',
     terminated: '终止',
   },
-  addApplicationTips: {
+  addAppTips: {
     developmentModePlaceholder: '请选择开发模式',
     developmentModeIsRequiredMessage: '开发模式必选',
     executionModePlaceholder: '请选择执行模式',
     executionModeIsRequiredMessage: '执行模式必选',
-    hadoopEnvInitiMessage: 'hadoop环境检查失败, 请检查配置',
+    hadoopEnvInitMessage: 'hadoop环境检查失败, 请检查配置',
     resourceFromMessage: '资源来源必选',
     mainClassPlaceholder: '请输入程序入口类',
     mainClassIsRequiredMessage: '入程序入口类必填',
     projectPlaceholder: '请选择项目',
     projectIsRequiredMessage: '项目必选',
     projectModulePlaceholder: '请选择项目的模块',
-    applicationTypePlaceholder: '请选择Application类型',
-    applicationTypeIsRequiredMessage: 'Application类型必选',
+    appTypePlaceholder: '请选择作业类型',
+    appTypeIsRequiredMessage: '作业类型必选',
     programJarIsRequiredMessage: '程序jar文件必选',
     useSysHadoopConf: '使用系统hadoop配置',
     flinkVersionIsRequiredMessage: 'Flink版本必选',
-    applicationNamePlaceholder: '请输入作业名称',
-    applicationNameIsRequiredMessage: '作业名称必填',
-    applicationNameNotUniqueMessage: '作业名称必须唯一, 输入的作业名称已经存在',
-    applicationNameExistsInRunningJobYarnMessage: '应用程序名称已经在yarn中运行,不能重复。请检查',
-    applicationNameExistsInRunningJobK8sMessage: '该应用程序名称已经在k8s中运行,不能重复。请检查',
-    applicationNameNotValid: '应用程序名称无效。字符必须是(中文|英文|"-"|"_"),不能出现两个连续的空格,请检查',
+    appNamePlaceholder: '请输入作业名称',
+    appNameIsRequiredMessage: '作业名称必填',
+    appNameNotUniqueMessage: '作业名称必须唯一, 输入的作业名称已经存在',
+    appNameExistsInYarnMessage: '应用程序名称已经在YARN集群中存在,不能重复。请检查',
+    appNameExistsInK8sMessage: '该应用程序名称已经在K8S集群中存在,不能重复。请检查',
+    appNameNotValid: '应用程序名称无效。字符必须是(中文|英文|"-"|"_"),不能出现两个连续的空格,请检查',
     tagsPlaceholder: '请输入标签,如果超过一个,用逗号(,)分隔',
     parallelismPlaceholder: '运行程序的并行度',
     slotsOfPerTaskManagerPlaceholder: '每个TaskManager的插槽数',
@@ -205,12 +203,12 @@ export default {
     yarnQueuePlaceholder: '请输入yarn队列名称',
     descriptionPlaceholder: '请输入此应用程序的描述',
     yarnSessionClusterIdPlaceholder: '请选择 Yarn Session 集群',
-    kubernetesNamespacePlaceholder: '默认',
-    kubernetesClusterIdPlaceholder: '请选择k8s集群',
-    kubernetesClusterIdIsRequiredMessager: 'k8s集群必填',
+    kubernetesNamespacePlaceholder: '请输入K8S命名空间, 如: default',
+    kubernetesClusterIdPlaceholder: '请选择K8S ClusterId',
+    kubernetesClusterIdIsRequiredMessage: 'K8S ClusterId必填',
     flinkImagePlaceholder: '请输入Flink基础docker镜像的标签,如:flink:1.13.0-scala_2.11-java8',
-    flinkImageIsRequiredMessager: 'Flink基础docker镜像是必填的',
-    k8sRestExposedTypePlaceholder: 'k8s服务对外类型',
+    flinkImageIsRequiredMessage: 'Flink基础docker镜像是必填的',
+    k8sRestExposedTypePlaceholder: 'K8S服务对外类型',
     hadoopXmlConfigFileTips: '从系统环境参数自动复制配置文件',
   },
 };
diff --git a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/routes/demo.ts b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/routes/demo.ts
deleted file mode 100644
index dc5efe81c..000000000
--- a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/routes/demo.ts
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * 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
- *
- *    https://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.
- */
-export default {
-  charts: {
-    baiduMap: '百度地图',
-    aMap: '高德地图',
-    googleMap: '谷歌地图',
-    charts: '图表',
-    map: '地图',
-    line: '折线图',
-    pie: '饼图',
-  },
-  comp: {
-    comp: '组件',
-    basic: '基础组件',
-    transition: '动画组件',
-    countTo: '数字动画',
-
-    scroll: '滚动组件',
-    scrollBasic: '基础滚动',
-    scrollAction: '滚动函数',
-    virtualScroll: '虚拟滚动',
-
-    tree: 'Tree',
-    treeBasic: '基础树',
-    editTree: '可搜索/工具栏',
-    actionTree: '函数操作示例',
-
-    modal: '弹窗扩展',
-    drawer: '抽屉扩展',
-    desc: '详情组件',
-
-    lazy: '懒加载组件',
-    lazyBasic: '基础示例',
-    lazyTransition: '动画效果',
-
-    verify: '验证组件',
-    verifyDrag: '拖拽校验',
-    verifyRotate: '图片还原',
-
-    qrcode: '二维码组件',
-    strength: '密码强度组件',
-    upload: '上传组件',
-
-    loading: 'Loading',
-
-    time: '相对时间',
-    cropperImage: '图片裁剪',
-    cardList: '卡片列表',
-  },
-  editor: {
-    editor: '编辑器',
-    jsonEditor: 'Json编辑器',
-    markdown: 'markdown编辑器',
-
-    tinymce: '富文本',
-    tinymceBasic: '基础使用',
-    tinymceForm: '嵌入form',
-  },
-  excel: {
-    excel: 'Excel',
-    customExport: '选择导出格式',
-    jsonExport: 'JSON数据导出',
-    arrayExport: 'Array数据导出',
-    importExcel: '导入',
-  },
-  feat: {
-    feat: '功能',
-    icon: '图标',
-    sessionTimeout: '登录过期',
-    tabs: '标签页操作',
-    tabDetail: '标签详情页',
-    print: '打印',
-    contextMenu: '右键菜单',
-    download: '文件下载',
-    clickOutSide: 'ClickOutSide组件',
-    imgPreview: '图片预览',
-    copy: '剪切板',
-    msg: '消息提示',
-    watermark: '水印',
-    ripple: '水波纹',
-    fullScreen: '全屏',
-    errorLog: '错误日志',
-    tab: 'Tab带参',
-    tab1: 'Tab带参1',
-    tab2: 'Tab带参2',
-    menu: 'Menu带参',
-    menu1: 'Menu带参1',
-    menu2: 'Menu带参2',
-    ws: 'websocket测试',
-    breadcrumb: '面包屑导航',
-    breadcrumbFlat: '平级模式',
-    requestDemo: '测试请求重试',
-    breadcrumbFlatDetail: '平级详情',
-    breadcrumbChildren: '层级模式',
-    breadcrumbChildrenDetail: '层级详情',
-  },
-  flow: {
-    name: '图形编辑器',
-    flowChart: '流程图',
-  },
-  form: {
-    form: 'Form',
-    basic: '基础表单',
-    useForm: 'useForm',
-    refForm: 'RefForm',
-    advancedForm: '可收缩表单',
-    ruleForm: '表单验证',
-    dynamicForm: '动态表单',
-    customerForm: '自定义组件',
-    appendForm: '表单增删示例',
-    tabsForm: '标签页+多级field',
-  },
-  iframe: {
-    frame: '外部页面',
-    antv: 'antVue文档(内嵌)',
-    doc: '项目文档(内嵌)',
-    docExternal: '项目文档(外链)',
-  },
-  level: { level: '多级菜单' },
-  page: {
-    page: '页面',
-
-    form: '表单页',
-    formBasic: '基础表单',
-    formStep: '分步表单',
-    formHigh: '高级表单',
-
-    desc: '详情页',
-    descBasic: '基础详情页',
-    descHigh: '高级详情页',
-
-    result: '结果页',
-    resultSuccess: '成功页',
-    resultFail: '失败页',
-
-    account: '个人页',
-    accountCenter: '个人中心',
-    accountSetting: '个人设置',
-
-    exception: '异常页',
-    netWorkError: '网络错误',
-    notData: '无数据',
-
-    list: '列表页',
-    listCard: '卡片列表',
-    listBasic: '标准列表',
-    listSearch: '搜索列表',
-  },
-  permission: {
-    permission: '权限管理',
-
-    front: '基于前端权限',
-    frontPage: '页面权限',
-    frontBtn: '按钮权限',
-    frontTestA: '权限测试页A',
-    frontTestB: '权限测试页B',
-
-    back: '基于后台权限',
-    backPage: '页面权限',
-    backBtn: '按钮权限',
-  },
-  setup: {
-    page: '引导页',
-  },
-  system: {
-    moduleName: '系统管理',
-    account: '账号管理',
-    account_detail: '账号详情',
-    password: '修改密码',
-    dept: '部门管理',
-    menu: '菜单管理',
-    role: '角色管理',
-  },
-  table: {
-    table: 'Table',
-    basic: '基础表格',
-    treeTable: '树形表格',
-    fetchTable: '远程加载示例',
-    fixedColumn: '固定列',
-    customerCell: '自定义列',
-    formTable: '开启搜索区域',
-    useTable: 'UseTable',
-    refTable: 'RefTable',
-    multipleHeader: '多级表头',
-    mergeHeader: '合并单元格',
-    expandTable: '可展开表格',
-    fixedHeight: '定高/头部自定义',
-    footerTable: '表尾行合计',
-    editCellTable: '可编辑单元格',
-    editRowTable: '可编辑行',
-    authColumn: '权限列',
-    resizeParentHeightTable: '继承父元素高度',
-  },
-};
diff --git a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/role.ts b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/role.ts
index 67f420063..0b8bd92dc 100644
--- a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/role.ts
+++ b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/role.ts
@@ -25,7 +25,7 @@ export default {
     edit: '编辑角色',
     delete: '删除角色',
     view: '查看角色',
-    validite: '必须要包含application下的view权限',
+    noViewPermission: '必须要包含Application下的view权限',
     roleNameLen: '角色名称不应超过 255 个字符',
     exist: '角色名已存在',
     empty: '角色名不能为空',
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/Detail.vue b/streampark-console/streampark-console-webapp/src/views/flink/app/Detail.vue
index cf24a4ffb..228e818d7 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/Detail.vue
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/Detail.vue
@@ -224,7 +224,7 @@
 <template>
   <PageWrapper content-full-height content-background contentClass="p-24px">
     <div class="mb-15px">
-      <span class="app-bar">{{ t('flink.app.detail.applicationTitle') }}</span>
+      <span class="app-bar">{{ t('flink.app.detail.detailTitle') }}</span>
       <a-button type="primary" shape="circle" @click="router.back()" class="float-right -mt-8px">
         <Icon icon="ant-design:arrow-left-outlined" />
       </a-button>
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/EditFlink.vue b/streampark-console/streampark-console-webapp/src/views/flink/app/EditFlink.vue
index 97f109284..b26059ace 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/EditFlink.vue
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/EditFlink.vue
@@ -86,7 +86,7 @@
         args: app.args || '',
         jar: app.jar,
         description: app.description,
-        properties: app.properties,
+        dynamicProperties: app.dynamicProperties,
         resolveOrder: app.resolveOrder,
         executionMode: app.executionMode,
         yarnQueue: app.yarnQueue,
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue b/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
index 9eace4dcf..bf45ce4cc 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
@@ -107,7 +107,7 @@
         tags: app.tags,
         args: app.args || '',
         description: app.description,
-        properties: app.properties,
+        dynamicProperties: app.dynamicProperties,
         resolveOrder: app.resolveOrder,
         versionId: app.versionId || null,
         k8sRestExposedType: app.k8sRestExposedType,
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/data/index.ts b/streampark-console/streampark-console-webapp/src/views/flink/app/data/index.ts
index 2f07ff75a..1fb37f1ec 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/data/index.ts
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/data/index.ts
@@ -23,25 +23,25 @@ const { t } = useI18n();
 /* app */
 export const getAppColumns = (): BasicColumn[] => [
   {
-    title: t('flink.app.table.applicationName'),
+    title: t('flink.app.appName'),
     dataIndex: 'jobName',
     align: 'left',
     fixed: 'left',
     width: 300,
   },
-  { title: t('flink.app.table.tags'), ellipsis: true, dataIndex: 'tags', width: 150 },
-  { title: t('flink.app.table.owner'), dataIndex: 'nickName', width: 100 },
-  { title: t('flink.app.table.flinkVersion'), dataIndex: 'flinkVersion', width: 130 },
+  { title: t('flink.app.tags'), ellipsis: true, dataIndex: 'tags', width: 150 },
+  { title: t('flink.app.owner'), dataIndex: 'nickName', width: 100 },
+  { title: t('flink.app.flinkVersion'), dataIndex: 'flinkVersion', width: 130 },
   {
-    title: t('flink.app.table.duration'),
+    title: t('flink.app.duration'),
     dataIndex: 'duration',
     sorter: true,
     width: 150,
     customRender: ({ value }) => dateToDuration(value),
   },
-  { title: t('flink.app.table.modifiedTime'), dataIndex: 'modifyTime', sorter: true, width: 170 },
+  { title: t('flink.app.modifiedTime'), dataIndex: 'modifyTime', sorter: true, width: 170 },
   {
-    title: t('flink.app.table.runStatus'),
+    title: t('flink.app.runStatus'),
     dataIndex: 'state',
     width: 120,
     filters: [
@@ -57,7 +57,7 @@ export const getAppColumns = (): BasicColumn[] => [
       { text: t('flink.app.runStatusOptions.terminated'), value: '18' },
     ],
   },
-  { title: t('flink.app.table.launchBuild'), dataIndex: 'launch', width: 220 },
+  { title: t('flink.app.launchBuild'), dataIndex: 'launch', width: 220 },
 ];
 
 /* Get diff editor configuration */
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useApp.tsx b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useApp.tsx
index ccfbe25c0..4c178633a 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useApp.tsx
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useApp.tsx
@@ -45,8 +45,8 @@ export const useFlinkApplication = (openStartModal: Fn) => {
       createWarningModal({
         title: 'WARNING',
         content: `
-          <p>${t('flink.app.launchTitle')}</p>
-          <p>${t('flink.app.launchDesc')}</p>
+          <p>${t('flink.app.launch.launchTitle')}</p>
+          <p>${t('flink.app.launch.launchDesc')}</p>
         `,
         okType: 'danger',
         onOk: () => handleLaunchApp(app, true),
@@ -63,13 +63,13 @@ export const useFlinkApplication = (openStartModal: Fn) => {
     if (!data.data) {
       Swal.fire(
         'Failed',
-        t('flink.app.launchFail') + '' + (data.message || '').replaceAll(/\[StreamPark]/g, ''),
+        t('flink.app.launch.launchFail') + '' + (data.message || '').replaceAll(/\[StreamPark]/g, ''),
         'error',
       );
     } else {
       Swal.fire({
         icon: 'success',
-        title: t('flink.app.launching'),
+        title: t('flink.app.launch.launching'),
         showConfirmButton: false,
         timer: 2000,
       });
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useAppTableAction.ts b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useAppTableAction.ts
index 68be2546b..bed21cd4a 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useAppTableAction.ts
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useAppTableAction.ts
@@ -226,22 +226,22 @@ export const useAppTableAction = (
       },
       schemas: [
         {
-          label: t('flink.app.table.tags'),
+          label: t('flink.app.tags'),
           field: 'tags',
           component: 'Select',
           componentProps: {
-            placeholder: t('flink.app.table.tags'),
+            placeholder: t('flink.app.tags'),
             showSearch: true,
             options: tagsOptions.value.map((t: Recordable) => ({ label: t, value: t })),
             onChange: handlePageDataReload.bind(null, false),
           },
         },
         {
-          label: t('flink.app.table.owner'),
+          label: t('flink.app.owner'),
           field: 'userId',
           component: 'Select',
           componentProps: {
-            placeholder: t('flink.app.table.owner'),
+            placeholder: t('flink.app.owner'),
             showSearch: true,
             options: users.value.map((u: Recordable) => {
               return { label: u.nickName || u.username, value: u.userId };
@@ -250,11 +250,11 @@ export const useAppTableAction = (
           },
         },
         {
-          label: t('flink.app.table.jobType'),
+          label: t('flink.app.jobType'),
           field: 'jobType',
           component: 'Select',
           componentProps: {
-            placeholder: t('flink.app.table.jobType'),
+            placeholder: t('flink.app.jobType'),
             showSearch: true,
             options: [
               { label: 'JAR', value: JobTypeEnum.JAR },
@@ -264,11 +264,11 @@ export const useAppTableAction = (
           },
         },
         {
-          label: t('flink.app.table.searchName'),
+          label: t('flink.app.searchName'),
           field: 'jobName',
           component: 'InputSearch',
           componentProps: {
-            placeholder: t('flink.app.table.searchName'),
+            placeholder: t('flink.app.searchName'),
             onChange: handlePageDataReload.bind(null, false),
             onSearch: handlePageDataReload.bind(null, false),
           },
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts
index 7b0c13213..4c5975a0c 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts
@@ -20,7 +20,7 @@ import { k8sRestExposedType, resolveOrder } from '../data';
 import optionData from '../data/option';
 import {
   getAlertSvgIcon,
-  renderProperties,
+  renderDynamicProperties,
   renderInputDropdown,
   renderInputGroup,
   renderIsSetConfig,
@@ -119,7 +119,7 @@ export const useCreateAndEditSchema = (
       },
       {
         field: 'dependency',
-        label: t('flink.app.table.dependency'),
+        label: t('flink.app.dependency'),
         component: 'Input',
         slot: 'dependency',
         ifShow: ({ values }) => {
@@ -133,7 +133,7 @@ export const useCreateAndEditSchema = (
       { field: 'configOverride', label: '', component: 'Input', show: false },
       {
         field: 'isSetConfig',
-        label: t('flink.app.table.applicationConf'),
+        label: t('flink.app.appConf'),
         component: 'Switch',
         ifShow: ({ values }) => {
           if (edit?.appId) {
@@ -197,22 +197,22 @@ export const useCreateAndEditSchema = (
     return [
       {
         field: 'versionId',
-        label: t('flink.app.table.flinkVersion'),
+        label: t('flink.app.flinkVersion'),
         component: 'Select',
         componentProps: {
-          placeholder: t('flink.app.table.flinkVersion'),
+          placeholder: t('flink.app.flinkVersion'),
           options: unref(flinkEnvs),
           fieldNames: { label: 'flinkName', value: 'id', options: 'options' },
           onChange: (value) => handleFlinkVersion(value),
         },
-        rules: [{ required: true, message: t('flink.app.addApplicationTips.flinkVersionIsRequiredMessage') }],
+        rules: [{ required: true, message: t('flink.app.addAppTips.flinkVersionIsRequiredMessage') }],
       },
       {
         field: 'flinkClusterId',
-        label: t('flink.app.table.flinkCluster'),
+        label: t('flink.app.flinkCluster'),
         component: 'Select',
         componentProps: {
-          placeholder: t('flink.app.table.flinkCluster'),
+          placeholder: t('flink.app.flinkCluster'),
           options: getExecutionCluster(1, 'id'),
         },
         ifShow: ({ values }) => values.executionMode == ExecModeEnum.REMOTE,
@@ -220,11 +220,11 @@ export const useCreateAndEditSchema = (
       },
       {
         field: 'yarnSessionClusterId',
-        label: t('flink.app.table.yarnSessionClusterId'),
+        label: t('flink.app.yarnSessionClusterId'),
         component: 'Select',
         componentProps: () => {
           return {
-            placeholder: t('flink.app.addApplicationTips.yarnSessionClusterIdPlaceholder'),
+            placeholder: t('flink.app.addAppTips.yarnSessionClusterIdPlaceholder'),
             options: getExecutionCluster(3, 'clusterId'),
           };
         },
@@ -233,22 +233,22 @@ export const useCreateAndEditSchema = (
       },
       {
         field: 'k8sNamespace',
-        label: t('flink.app.table.kubernetesNamespace'),
+        label: t('flink.app.kubernetesNamespace'),
         component: 'Input',
         ifShow: ({ values }) => isK8sExecMode(values.executionMode),
         render: ({ model, field }) =>
           renderInputDropdown(model, field, {
-            placeholder: t('flink.app.addApplicationTips.kubernetesNamespacePlaceholder'),
+            placeholder: t('flink.app.addAppTips.kubernetesNamespacePlaceholder'),
             options: unref(historyRecord)?.k8sNamespace || [],
           }),
       },
       {
         field: 'clusterId',
-        label: t('flink.app.table.kubernetesClusterId'),
+        label: t('flink.app.kubernetesClusterId'),
         component: 'Input',
         componentProps: ({ formModel }) => {
           return {
-            placeholder: t('flink.app.addApplicationTips.kubernetesClusterIdPlaceholder'),
+            placeholder: t('flink.app.addAppTips.kubernetesClusterIdPlaceholder'),
             onChange: (e) => (formModel.jobName = e.target.value),
           };
         },
@@ -257,35 +257,35 @@ export const useCreateAndEditSchema = (
       },
       {
         field: 'clusterId',
-        label: t('flink.app.table.kubernetesClusterId'),
+        label: t('flink.app.kubernetesClusterId'),
         component: 'Select',
         ifShow: ({ values }) => values.executionMode == ExecModeEnum.KUBERNETES_SESSION,
         componentProps: {
-          placeholder: t('flink.app.addApplicationTips.kubernetesClusterIdPlaceholder'),
+          placeholder: t('flink.app.addAppTips.kubernetesClusterIdPlaceholder'),
           options: getExecutionCluster(5, 'clusterId'),
         },
-        rules: [{ required: true, message: t('flink.app.addApplicationTips.kubernetesClusterIdIsRequiredMessager') }],
+        rules: [{ required: true, message: t('flink.app.addAppTips.kubernetesClusterIdIsRequiredMessage') }],
       },
       {
         field: 'flinkImage',
-        label: t('flink.app.table.flinkBaseDockerImage'),
+        label: t('flink.app.flinkBaseDockerImage'),
         component: 'Input',
         ifShow: ({ values }) => values.executionMode == ExecModeEnum.KUBERNETES_APPLICATION,
         render: ({ model, field }) =>
           renderInputDropdown(model, field, {
             placeholder:
-              t('flink.app.addApplicationTips.flinkImagePlaceholder'),
+              t('flink.app.addAppTips.flinkImagePlaceholder'),
             options: unref(historyRecord)?.k8sSessionClusterId || [],
           }),
-        rules: [{ required: true, message: t('flink.app.addApplicationTips.flinkImageIsRequiredMessager') }],
+        rules: [{ required: true, message: t('flink.app.addAppTips.flinkImageIsRequiredMessage') }],
       },
       {
         field: 'k8sRestExposedType',
-        label: t('flink.app.table.restServiceExposedType'),
+        label: t('flink.app.restServiceExposedType'),
         ifShow: ({ values }) => values.executionMode == ExecModeEnum.KUBERNETES_APPLICATION,
         component: 'Select',
         componentProps: {
-          placeholder: t('flink.app.addApplicationTips.k8sRestExposedTypePlaceholder'),
+          placeholder: t('flink.app.addAppTips.k8sRestExposedTypePlaceholder'),
           options: k8sRestExposedType,
         },
       },
@@ -295,7 +295,7 @@ export const useCreateAndEditSchema = (
   /* Detect job name field */
   async function getJobNameCheck(_rule: RuleObject, value: StoreValue) {
     if (value === null || value === undefined || value === '') {
-      return Promise.reject(t('flink.app.addApplicationTips.applicationNameIsRequiredMessage'));
+      return Promise.reject(t('flink.app.addAppTips.appNameIsRequiredMessage'));
     } else {
       const params = { jobName: value };
       if (edit?.appId) Object.assign(params, { id: edit.appId });
@@ -305,19 +305,19 @@ export const useCreateAndEditSchema = (
           return Promise.resolve();
         case 1:
           return Promise.reject(
-            t('flink.app.addApplicationTips.applicationNameNotUniqueMessage'),
+            t('flink.app.addAppTips.appNameNotUniqueMessage'),
           );
         case 2:
           return Promise.reject(
-            t('flink.app.addApplicationTips.applicationNameExistsInRunningJobYarnMessage'),
+            t('flink.app.addAppTips.appNameExistsInYarnMessage'),
           );
         case 3:
           return Promise.reject(
-            t('flink.app.addApplicationTips.applicationNameExistsInRunningJobK8sMessage'),
+            t('flink.app.addAppTips.appNameExistsInK8sMessage'),
           );
         default:
           return Promise.reject(
-            t('flink.app.addApplicationTips.applicationNameNotValid'),
+            t('flink.app.addAppTips.appNameNotValid'),
           );
       }
     }
@@ -332,34 +332,34 @@ export const useCreateAndEditSchema = (
     return [
       {
         field: 'jobName',
-        label: t('flink.app.table.applicationName'),
+        label: t('flink.app.appName'),
         component: 'Input',
-        componentProps: { placeholder: t('flink.app.addApplicationTips.applicationNamePlaceholder') },
+        componentProps: { placeholder: t('flink.app.addAppTips.appNamePlaceholder') },
         dynamicRules: () => {
           return [{ required: true, trigger: 'blur', validator: getJobNameCheck }];
         },
       },
       {
         field: 'tags',
-        label: t('flink.app.table.tags'),
+        label: t('flink.app.tags'),
         component: 'Input',
         componentProps: {
-          placeholder: t('flink.app.addApplicationTips.tagsPlaceholder'),
+          placeholder: t('flink.app.addAppTips.tagsPlaceholder'),
         },
       },
       {
         field: 'resolveOrder',
-        label: t('flink.app.table.resolveOrder'),
+        label: t('flink.app.resolveOrder'),
         component: 'Select',
         componentProps: { placeholder: 'classloader.resolve-order', options: resolveOrder },
         rules: [{ required: true, message: 'Resolve Order is required', type: 'number' }],
       },
       {
         field: 'parallelism',
-        label: t('flink.app.table.parallelism'),
+        label: t('flink.app.parallelism'),
         component: 'InputNumber',
         componentProps: {
-          placeholder: t('flink.app.addApplicationTips.parallelismPlaceholder'),
+          placeholder: t('flink.app.addAppTips.parallelismPlaceholder'),
           ...commonInputNum,
         },
       },
@@ -367,29 +367,29 @@ export const useCreateAndEditSchema = (
         field: 'slot',
         label: t('flink.app.dashboard.taskSlots'),
         component: 'InputNumber',
-        componentProps: { placeholder: t('flink.app.addApplicationTips.slotsOfPerTaskManagerPlaceholder'), ...commonInputNum },
+        componentProps: { placeholder: t('flink.app.addAppTips.slotsOfPerTaskManagerPlaceholder'), ...commonInputNum },
       },
       {
         field: 'restartSize',
-        label: t('flink.app.table.restartSize'),
+        label: t('flink.app.restartSize'),
         ifShow: ({ values }) =>
           edit?.mode == 'flink' ? true : !isK8sExecMode(values.executionMode),
         component: 'InputNumber',
-        componentProps: { placeholder: t('flink.app.addApplicationTips.restartSizePlaceholder'), ...commonInputNum },
+        componentProps: { placeholder: t('flink.app.addAppTips.restartSizePlaceholder'), ...commonInputNum },
       },
       {
         field: 'alertId',
-        label: t('flink.app.table.faultAlertTemplate'),
+        label: t('flink.app.faultAlertTemplate'),
         component: 'Select',
         componentProps: {
-          placeholder: t('flink.app.addApplicationTips.alertTemplatePlaceholder'),
+          placeholder: t('flink.app.addAppTips.alertTemplatePlaceholder'),
           options: unref(alerts),
           fieldNames: { label: 'alertName', value: 'id', options: 'options' },
         },
       },
       {
         field: 'checkPointFailure',
-        label: t('flink.app.table.checkPointFailureOptions'),
+        label: t('flink.app.checkPointFailureOptions'),
         component: 'InputNumber',
         renderColContent: renderInputGroup,
         show: ({ values }) => (edit?.mode == 'flink' ? true : !isK8sExecMode(values.executionMode)),
@@ -397,7 +397,7 @@ export const useCreateAndEditSchema = (
       ...getConfigSchemas(),
       {
         field: 'totalOptions',
-        label: t('flink.app.table.totalMemoryOptions'),
+        label: t('flink.app.totalMemoryOptions'),
         component: 'Select',
         render: renderTotalMemory,
       },
@@ -410,14 +410,14 @@ export const useCreateAndEditSchema = (
       },
       {
         field: 'jmOptions',
-        label: t('flink.app.table.jmMemoryOptions'),
+        label: t('flink.app.jmMemoryOptions'),
         component: 'Select',
         componentProps: {
           showSearch: true,
           allowClear: true,
           mode: 'multiple',
           maxTagCount: 2,
-          placeholder: t('flink.app.addApplicationTips.totalMemoryOptionsPlaceholder'),
+          placeholder: t('flink.app.addAppTips.totalMemoryOptionsPlaceholder'),
           fieldNames: { label: 'name', value: 'key', options: 'options' },
           options: optionData.filter((x) => x.group === 'jobmanager-memory'),
         },
@@ -431,14 +431,14 @@ export const useCreateAndEditSchema = (
       },
       {
         field: 'tmOptions',
-        label: t('flink.app.table.tmMemoryOptions'),
+        label: t('flink.app.tmMemoryOptions'),
         component: 'Select',
         componentProps: {
           showSearch: true,
           allowClear: true,
           mode: 'multiple',
           maxTagCount: 2,
-          placeholder: t('flink.app.addApplicationTips.tmPlaceholder'),
+          placeholder: t('flink.app.addAppTips.tmPlaceholder'),
           fieldNames: { label: 'name', value: 'key', options: 'options' },
           options: optionData.filter((x) => x.group === 'taskmanager-memory'),
         },
@@ -452,27 +452,27 @@ export const useCreateAndEditSchema = (
       },
       {
         field: 'yarnQueue',
-        label: t('flink.app.table.yarnQueue'),
+        label: t('flink.app.yarnQueue'),
         component: 'Input',
-        componentProps: { placeholder: t('flink.app.addApplicationTips.yarnQueuePlaceholder') },
+        componentProps: { placeholder: t('flink.app.addAppTips.yarnQueuePlaceholder') },
         ifShow: ({ values }) => values.executionMode == ExecModeEnum.YARN_APPLICATION,
       },
       {
         field: 'podTemplate',
-        label: t('flink.app.table.podTemplate'),
+        label: t('flink.app.podTemplate'),
         component: 'Input',
         slot: 'podTemplate',
         ifShow: ({ values }) => values.executionMode == ExecModeEnum.KUBERNETES_APPLICATION,
       },
       {
-        field: 'properties',
-        label: t('flink.app.table.properties'),
+        field: 'dynamicProperties',
+        label: t('flink.app.dynamicProperties'),
         component: 'Input',
-        render: (renderCallbackParams) => renderProperties(renderCallbackParams),
+        render: (renderCallbackParams) => renderDynamicProperties(renderCallbackParams),
       },
       {
         field: 'args',
-        label: t('flink.app.table.programArgs'),
+        label: t('flink.app.programArgs'),
         component: 'InputTextArea',
         defaultValue: '',
         slot: 'args',
@@ -482,7 +482,7 @@ export const useCreateAndEditSchema = (
         field: 'description',
         label: t('common.description'),
         component: 'InputTextArea',
-        componentProps: { rows: 4, placeholder: t('flink.app.addApplicationTips.descriptionPlaceholder') },
+        componentProps: { rows: 4, placeholder: t('flink.app.addAppTips.descriptionPlaceholder') },
       },
     ];
   });
@@ -491,7 +491,7 @@ export const useCreateAndEditSchema = (
     return [
       {
         field: 'jobType',
-        label: t('flink.app.table.developmentMode'),
+        label: t('flink.app.developmentMode'),
         component: 'Input',
         render: ({ model }) => {
           if (model.jobType == 1) {
@@ -515,7 +515,7 @@ export const useCreateAndEditSchema = (
       },
       {
         field: 'appType',
-        label: t('flink.app.table.appType'),
+        label: t('flink.app.appType'),
         component: 'Input',
         render: () => getAlertSvgIcon('flink', 'StreamPark Flink'),
       },
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts
index 43f52b3cd..4738ce307 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts
@@ -76,8 +76,9 @@ export const useCreateSchema = (dependencyRef: Ref) => {
     if (value) {
       const isProp = value.endsWith('.properties');
       const isYaml = value.endsWith('.yaml') || value.endsWith('.yml');
-      if (!isProp && !isYaml) {
-        return Promise.reject('The configuration file must be (.properties|.yaml|.yml)');
+      const isConf = value.endsWith('.conf')
+      if (!isProp && !isYaml && !isConf) {
+        return Promise.reject('The configuration file must be (.properties|.yaml|.yml |.conf)');
       } else {
         return Promise.resolve();
       }
@@ -89,11 +90,11 @@ export const useCreateSchema = (dependencyRef: Ref) => {
     return [
       {
         field: 'jobType',
-        label: t('flink.app.table.developmentMode'),
+        label: t('flink.app.developmentMode'),
         component: 'Select',
         componentProps: ({ formModel }) => {
           return {
-            placeholder: t('flink.app.addApplicationTips.developmentModePlaceholder'),
+            placeholder: t('flink.app.addAppTips.developmentModePlaceholder'),
             options: getJobTypeOptions(),
             onChange: (value) => {
               if (value === 'sql') {
@@ -105,14 +106,14 @@ export const useCreateSchema = (dependencyRef: Ref) => {
           };
         },
         defaultValue: 'sql',
-        rules: [{ required: true, message: t('flink.app.addApplicationTips.developmentModeIsRequiredMessage') }],
+        rules: [{ required: true, message: t('flink.app.addAppTips.developmentModeIsRequiredMessage') }],
       },
       {
         field: 'executionMode',
-        label: t('flink.app.table.executionMode'),
+        label: t('flink.app.executionMode'),
         component: 'Select',
         componentProps: {
-          placeholder: t('flink.app.addApplicationTips.executionModePlaceholder'),
+          placeholder: t('flink.app.addAppTips.executionModePlaceholder'),
           options: executionModes,
         },
         dynamicRules: () => {
@@ -121,7 +122,7 @@ export const useCreateSchema = (dependencyRef: Ref) => {
               required: true,
               validator: async (_rule, value) => {
                 if (value === null || value === undefined || value === '') {
-                  return Promise.reject(t('flink.app.addApplicationTips.executionModeIsRequiredMessage'));
+                  return Promise.reject(t('flink.app.addAppTips.executionModeIsRequiredMessage'));
                 } else {
                   if ([2, 3, 4].includes(value)) {
                     const res = await fetchCheckHadoop();
@@ -129,7 +130,7 @@ export const useCreateSchema = (dependencyRef: Ref) => {
                       return Promise.resolve();
                     } else {
                       return Promise.reject(
-                        t('flink.app.addApplicationTips.hadoopEnvInitiMessage'),
+                        t('flink.app.addAppTips.hadoopEnvInitMessage'),
                       );
                     }
                   }
@@ -144,36 +145,36 @@ export const useCreateSchema = (dependencyRef: Ref) => {
       ...getFlinkSqlSchema.value,
       {
         field: 'resourceFrom',
-        label: t('flink.app.table.resourceFrom'),
+        label: t('flink.app.resourceFrom'),
         component: 'Select',
         render: ({ model }) => renderResourceFrom(model),
-        rules: [{ required: true, message: t('flink.app.addApplicationTips.resourceFromMessage') }],
+        rules: [{ required: true, message: t('flink.app.addAppTips.resourceFromMessage') }],
         show: ({ values }) => values?.jobType != 'sql',
       },
       {
         field: 'uploadJobJar',
-        label: t('flink.app.table.uploadJobJar'),
+        label: t('flink.app.uploadJobJar'),
         component: 'Select',
         slot: 'uploadJobJar',
         ifShow: ({ values }) => values?.jobType !== 'sql' && values?.resourceFrom == 'upload',
       },
       {
         field: 'mainClass',
-        label: t('flink.app.table.mainClass'),
+        label: t('flink.app.mainClass'),
         component: 'Input',
-        componentProps: { placeholder: t('flink.app.addApplicationTips.mainClassPlaceholder') },
+        componentProps: { placeholder: t('flink.app.addAppTips.mainClassPlaceholder') },
         ifShow: ({ values }) => values?.jobType !== 'sql' && values?.resourceFrom == 'upload',
-        rules: [{ required: true, message: t('flink.app.addApplicationTips.mainClassIsRequiredMessage') }],
+        rules: [{ required: true, message: t('flink.app.addAppTips.mainClassIsRequiredMessage') }],
       },
       {
         field: 'project',
-        label: t('flink.app.table.project'),
+        label: t('flink.app.project'),
         component: 'Select',
         componentProps: {
           showSearch: true,
           optionFilterProp: 'children',
           filterOption,
-          placeholder: t('flink.app.addApplicationTips.projectPlaceholder'),
+          placeholder: t('flink.app.addAppTips.projectPlaceholder'),
           fieldNames: { label: 'name', value: 'id', options: 'options' },
           options: unref(projectList),
           onChange: (value: string) => {
@@ -185,18 +186,18 @@ export const useCreateSchema = (dependencyRef: Ref) => {
           },
         },
         ifShow: ({ values }) => values?.jobType != 'sql' && values.resourceFrom != 'upload',
-        rules: [{ required: true, message: t('flink.app.addApplicationTips.projectIsRequiredMessage') }],
+        rules: [{ required: true, message: t('flink.app.addAppTips.projectIsRequiredMessage') }],
       },
       {
         field: 'module',
-        label: t('flink.app.table.module'),
+        label: t('flink.app.module'),
         component: 'Select',
         componentProps: ({ formModel }) => {
           return {
             showSearch: true,
             optionFilterProp: 'children',
             filterOption,
-            placeholder: t('flink.app.addApplicationTips.projectModulePlaceholder'),
+            placeholder: t('flink.app.addAppTips.projectModulePlaceholder'),
             options: unref(moduleList),
             onChange: () => {
               Object.assign(formModel, {
@@ -208,15 +209,15 @@ export const useCreateSchema = (dependencyRef: Ref) => {
           };
         },
         ifShow: ({ values }) => values?.jobType != 'sql' && values?.resourceFrom != 'upload',
-        rules: [{ required: true, message: t('flink.app.addApplicationTips.projectIsRequiredMessage') }],
+        rules: [{ required: true, message: t('flink.app.addAppTips.projectIsRequiredMessage') }],
       },
       {
         field: 'appType',
-        label: t('flink.app.table.appType'),
+        label: t('flink.app.appType'),
         component: 'Select',
         componentProps: ({ formModel }) => {
           return {
-            placeholder: t('flink.app.addApplicationTips.applicationTypePlaceholder'),
+            placeholder: t('flink.app.addAppTips.appTypePlaceholder'),
             options: [
               { label: 'StreamPark Flink', value: '1' },
               { label: 'Apache Flink', value: '2' },
@@ -237,7 +238,7 @@ export const useCreateSchema = (dependencyRef: Ref) => {
           };
         },
         ifShow: ({ values }) => values?.jobType !== 'sql' && values?.resourceFrom !== 'upload',
-        dynamicRules: () => [{ required: true, message: t('flink.app.addApplicationTips.applicationTypeIsRequiredMessage') }],
+        dynamicRules: () => [{ required: true, message: t('flink.app.addAppTips.appTypeIsRequiredMessage') }],
       },
       {
         field: 'jar',
@@ -245,7 +246,7 @@ export const useCreateSchema = (dependencyRef: Ref) => {
         component: 'Select',
         componentProps: ({ formModel }) => {
           return {
-            placeholder: t('flink.app.addApplicationTips.applicationTypePlaceholder'),
+            placeholder: t('flink.app.addAppTips.appTypePlaceholder'),
             options: unref(jars).map((i) => ({ label: i, value: i })),
             onChange: (value) => {
               fetchMain({
@@ -260,20 +261,20 @@ export const useCreateSchema = (dependencyRef: Ref) => {
         },
         ifShow: ({ values }) =>
           values?.jobType != 'sql' && values?.resourceFrom != 'upload' && values.appType == '2',
-        rules: [{ required: true, message: t('flink.app.addApplicationTips.programJarIsRequiredMessage') }],
+        rules: [{ required: true, message: t('flink.app.addAppTips.programJarIsRequiredMessage') }],
       },
       {
         field: 'mainClass',
-        label: t('flink.app.table.mainClass'),
+        label: t('flink.app.mainClass'),
         component: 'Input',
-        componentProps: { placeholder: t('flink.app.addApplicationTips.mainClassPlaceholder') },
+        componentProps: { placeholder: t('flink.app.addAppTips.mainClassPlaceholder') },
         ifShow: ({ values }) =>
           values?.jobType != 'sql' && values?.resourceFrom != 'upload' && values.appType == '2',
-        rules: [{ required: true, message: t('flink.app.addApplicationTips.mainClassIsRequiredMessage') }],
+        rules: [{ required: true, message: t('flink.app.addAppTips.mainClassIsRequiredMessage') }],
       },
       {
         field: 'config',
-        label: t('flink.app.table.applicationConf'),
+        label: t('flink.app.appConf'),
         component: 'ApiTreeSelect',
         componentProps: ({ formModel }) => {
           return {
@@ -298,7 +299,7 @@ export const useCreateSchema = (dependencyRef: Ref) => {
       },
       {
         field: 'useSysHadoopConf',
-        label: t('flink.app.addApplicationTips.useSysHadoopConf'),
+        label: t('flink.app.addAppTips.useSysHadoopConf'),
         component: 'Switch',
         slot: 'useSysHadoopConf',
         defaultValue: false,
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts
index 310cfe0b1..8cf09b97f 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts
@@ -119,10 +119,10 @@ export const useEditStreamParkSchema = (
       ...getFlinkTypeSchema.value,
       {
         field: 'executionMode',
-        label: t('flink.app.table.executionMode'),
+        label: t('flink.app.executionMode'),
         component: 'Select',
         componentProps: {
-          placeholder: t('flink.app.table.executionMode'),
+          placeholder: t('flink.app.executionMode'),
           options: executionModes,
         },
       },
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
index 9b9d819ba..557d8e41e 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
@@ -234,12 +234,12 @@ export const renderOptionsItems = (
 };
 
 /* render memory option */
-export const renderProperties = ({ model, field }: RenderCallbackParams) => {
+export const renderDynamicProperties = ({ model, field }: RenderCallbackParams) => {
   return (
     <div>
       <Input.TextArea
         rows={8}
-        name="properties"
+        name="dynamicProperties"
         placeholder="$key=$value,If there are multiple parameters,you can new line enter them (-D <arg>)"
         value={model[field]}
         onInput={(e: ChangeEvent) => (model[field] = e?.target?.value)}
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkSchema.ts b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkSchema.ts
index 894a11d68..aed2f7e7b 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkSchema.ts
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkSchema.ts
@@ -32,7 +32,7 @@ import { fetchAlertSetting } from '/@/api/flink/setting/alert';
 
 import { AlertSetting } from '/@/api/flink/setting/types/alert.type';
 import {
-  renderProperties,
+  renderDynamicProperties,
   renderInputDropdown,
   renderInputGroup,
   renderTotalMemory,
@@ -346,10 +346,10 @@ export const useFlinkSchema = (editModel?: string) => {
       ifShow: ({ values }) => values.executionMode == ExecModeEnum.KUBERNETES_APPLICATION,
     },
     {
-      field: 'properties',
-      label: 'Properties',
+      field: 'dynamicProperties',
+      label: 'Dynamic Properties',
       component: 'Input',
-      render: (renderCallbackParams) => renderProperties(renderCallbackParams),
+      render: (renderCallbackParams) => renderDynamicProperties(renderCallbackParams),
     },
     {
       field: 'args',
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/utils/index.ts b/streampark-console/streampark-console-webapp/src/views/flink/app/utils/index.ts
index 0cf5e97af..561641106 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/utils/index.ts
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/utils/index.ts
@@ -261,7 +261,7 @@ export function handleSubmitParams(
     cpMaxFailureInterval: values.checkPointFailure?.cpMaxFailureInterval || null,
     cpFailureRateInterval: values.checkPointFailure?.cpFailureRateInterval || null,
     cpFailureAction: values.checkPointFailure?.cpFailureAction || null,
-    properties: values.properties || null,
+    dynamicProperties: values.dynamicProperties || null,
     resolveOrder: values.resolveOrder,
     k8sRestExposedType: values.k8sRestExposedType,
     restartSize: values.restartSize,
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/setting/EditCluster.vue b/streampark-console/streampark-console-webapp/src/views/flink/setting/EditCluster.vue
index 4d185c8e1..2a3fd4d81 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/setting/EditCluster.vue
+++ b/streampark-console/streampark-console-webapp/src/views/flink/setting/EditCluster.vue
@@ -113,7 +113,7 @@
         address: cluster.address,
         clusterId: cluster.clusterId,
         description: cluster.description,
-        properties: cluster.properties,
+        dynamicProperties: cluster.dynamicProperties,
         resolveOrder: cluster.resolveOrder,
         yarnQueue: cluster.yarnQueue,
         versionId: cluster.versionId || null,
diff --git a/streampark-console/streampark-console-webapp/src/views/flink/setting/hooks/useClusterSetting.ts b/streampark-console/streampark-console-webapp/src/views/flink/setting/hooks/useClusterSetting.ts
index 09a4eedff..78d0911a5 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/setting/hooks/useClusterSetting.ts
+++ b/streampark-console/streampark-console-webapp/src/views/flink/setting/hooks/useClusterSetting.ts
@@ -20,7 +20,7 @@ import { StoreValue } from 'ant-design-vue/lib/form/interface';
 import { computed, onMounted, reactive, ref, unref } from 'vue';
 import { k8sRestExposedType, resolveOrder } from '../../app/data';
 import {
-  renderProperties,
+  renderDynamicProperties,
   renderInputDropdown,
   renderOptionsItems,
   renderTotalMemory,
@@ -308,11 +308,11 @@ export const useClusterSetting = () => {
           renderOptionsItems(model, 'tmOptions', field, 'taskmanager.memory.'),
       },
       {
-        field: 'properties',
-        label: 'Properties',
+        field: 'dynamicProperties',
+        label: 'Dynamic Properties',
         ifShow: ({ values }) => isSessionMode(values.executionMode),
         component: 'Input',
-        render: (renderCallbackParams) => renderProperties(renderCallbackParams),
+        render: (renderCallbackParams) => renderDynamicProperties(renderCallbackParams),
       },
       {
         field: 'description',
@@ -344,7 +344,7 @@ export const useClusterSetting = () => {
         Object.assign(params, {
           options: JSON.stringify(options),
           yarnQueue: handleYarnQueue(values),
-          properties: values.properties,
+          dynamicProperties: values.dynamicProperties,
           resolveOrder: values.resolveOrder,
           address: values.address,
           flameGraph: values.flameGraph,
@@ -353,7 +353,7 @@ export const useClusterSetting = () => {
       case 5:
         Object.assign(params, {
           options: JSON.stringify(options),
-          properties: values.properties,
+          dynamicProperties: values.dynamicProperties,
           resolveOrder: values.resolveOrder,
           k8sRestExposedType: values.k8sRestExposedType,
           k8sNamespace: values.k8sNamespace || null,
diff --git a/streampark-console/streampark-console-webapp/src/views/system/role/components/RoleDrawer.vue b/streampark-console/streampark-console-webapp/src/views/system/role/components/RoleDrawer.vue
index 86d6588ca..2a9fa86f1 100644
--- a/streampark-console/streampark-console-webapp/src/views/system/role/components/RoleDrawer.vue
+++ b/streampark-console/streampark-console-webapp/src/views/system/role/components/RoleDrawer.vue
@@ -160,7 +160,7 @@
           const values = await validate();
           // First, a simple judgment, does not contain app:view (home) this permission, the error is reported
           if (selectedKeysAndHalfCheckedKeys.value.indexOf('100067') < 0) {
-            createMessage.warning(t('system.role.form.validite'));
+            createMessage.warning(t('system.role.form.noViewPermission'));
             return;
           }
           setDrawerProps({ confirmLoading: true });
diff --git a/streampark-flink/streampark-flink-submit/streampark-flink-submit-api/src/main/scala/org/apache/streampark/flink/submit/FlinkSubmitter.scala b/streampark-flink/streampark-flink-submit/streampark-flink-submit-api/src/main/scala/org/apache/streampark/flink/submit/FlinkSubmitter.scala
index a6239c41a..0f32f5f48 100644
--- a/streampark-flink/streampark-flink-submit/streampark-flink-submit-api/src/main/scala/org/apache/streampark/flink/submit/FlinkSubmitter.scala
+++ b/streampark-flink/streampark-flink-submit/streampark-flink-submit-api/src/main/scala/org/apache/streampark/flink/submit/FlinkSubmitter.scala
@@ -91,7 +91,7 @@ object FlinkSubmitter extends Logger {
   /**
    * extract flink configuration from application.properties
    */
-  @Nonnull def extractProperties(properties: String): Map[String, String] = {
+  @Nonnull def extractDynamicProperties(properties: String): Map[String, String] = {
     if (StringUtils.isEmpty(properties)) {
       Map.empty[String, String]
     } else {
@@ -108,6 +108,6 @@ object FlinkSubmitter extends Logger {
     }
   }
 
-  @Nonnull def extractPropertiesAsJava(properties: String): JavaMap[String, String] = new util.HashMap[String, String](extractProperties(properties).asJava)
+  @Nonnull def extractDynamicPropertiesAsJava(properties: String): JavaMap[String, String] = new util.HashMap[String, String](extractDynamicProperties(properties).asJava)
 
 }