diff --git a/src/frontend/fill-lang.js b/src/frontend/fill-lang.js
new file mode 100644
index 000000000..4ba24ea97
--- /dev/null
+++ b/src/frontend/fill-lang.js
@@ -0,0 +1,35 @@
+const fs = require('fs');
+const path = require('path');
+
+const defaultValue = require('./src/assets/i18n/zh-Hans.json');
+// 添加语言后请在下边数组添加文件名
+const files = ['en'];
+function fill(target, source) {
+ if (target === undefined) target = {};
+ for(let key in source) {
+ if (typeof source[key] === 'object') {
+ target[key] = fill(target[key], source[key]);
+ } else {
+ if (!target[key]) {
+ target[key] = source[key];
+ }
+ }
+ }
+ return target;
+}
+for(let file of files) {
+ const filePath = path.resolve(__dirname, 'src/assets/i18n', file +'.json');
+ if (fs.existsSync(filePath)) {
+ let value = require(filePath);
+ if (typeof value !== 'object') {
+ value = {};
+ }
+ value = JSON.stringify(fill(value, defaultValue), null, 4);
+ fs.writeFile(filePath, value, 'utf8', err => {
+ if (err) throw error(err);
+ console.log('done');
+ })
+ } else {
+ throw error(`${file}.json不存在`)
+ }
+}
\ No newline at end of file
diff --git a/src/frontend/lib b/src/frontend/lib
index 6ff8cf3bf..7a9ca86f6 160000
--- a/src/frontend/lib
+++ b/src/frontend/lib
@@ -1 +1 @@
-Subproject commit 6ff8cf3bf2cca7f14fc72d3946b3a659d38299e8
+Subproject commit 7a9ca86f691a0b7760b61cd318906ac9519459a7
diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json
index 6dde5540d..4f112aa67 100644
--- a/src/frontend/package-lock.json
+++ b/src/frontend/package-lock.json
@@ -324,7 +324,6 @@
"requires": {
"anymatch": "1.3.2",
"async-each": "1.0.1",
- "fsevents": "1.2.4",
"glob-parent": "2.0.0",
"inherits": "2.0.3",
"is-binary-path": "1.0.1",
@@ -496,6 +495,22 @@
"webpack-sources": "1.1.0"
}
},
+ "@ngx-translate/core": {
+ "version": "11.0.1",
+ "resolved": "http://registry.npm.taobao.org/@ngx-translate/core/download/@ngx-translate/core-11.0.1.tgz",
+ "integrity": "sha1-zs761B8GNo9YWdrEj+yPzESFYV8=",
+ "requires": {
+ "tslib": "1.9.3"
+ }
+ },
+ "@ngx-translate/http-loader": {
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/@ngx-translate/http-loader/download/@ngx-translate/http-loader-4.0.0.tgz",
+ "integrity": "sha1-ilVSSK1LfVE0YPzsnaJbBEeWLx0=",
+ "requires": {
+ "tslib": "1.9.3"
+ }
+ },
"@schematics/angular": {
"version": "0.7.5",
"resolved": "http://registry.npm.taobao.org/@schematics/angular/download/@schematics/angular-0.7.5.tgz",
@@ -2165,7 +2180,6 @@
"anymatch": "2.0.0",
"async-each": "1.0.1",
"braces": "2.3.2",
- "fsevents": "1.2.4",
"glob-parent": "3.1.0",
"inherits": "2.0.3",
"is-binary-path": "1.0.1",
@@ -4313,535 +4327,6 @@
"resolved": "http://r.cnpmjs.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
- "fsevents": {
- "version": "1.2.4",
- "resolved": "http://r.cnpmjs.org/fsevents/download/fsevents-1.2.4.tgz",
- "integrity": "sha1-9B3LGvJYKvNpLaNvxVy9jhBBxCY=",
- "dev": true,
- "optional": true,
- "requires": {
- "nan": "2.10.0",
- "node-pre-gyp": "0.10.0"
- },
- "dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.4",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.3.6"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "dev": true,
- "requires": {
- "balanced-match": "1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "chownr": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "dev": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "debug": {
- "version": "2.6.9",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "deep-extend": {
- "version": "0.5.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "fs-minipass": {
- "version": "1.2.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minipass": "2.2.4"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "aproba": "1.2.0",
- "console-control-strings": "1.1.0",
- "has-unicode": "2.0.1",
- "object-assign": "4.1.1",
- "signal-exit": "3.0.2",
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wide-align": "1.1.2"
- }
- },
- "glob": {
- "version": "7.1.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "iconv-lite": {
- "version": "0.4.21",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safer-buffer": "2.1.2"
- }
- },
- "ignore-walk": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minimatch": "3.0.4"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true,
- "dev": true
- },
- "ini": {
- "version": "1.3.5",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "number-is-nan": "1.0.1"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "brace-expansion": "1.1.11"
- }
- },
- "minimist": {
- "version": "0.0.8",
- "bundled": true,
- "dev": true
- },
- "minipass": {
- "version": "2.2.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "5.1.1",
- "yallist": "3.0.2"
- }
- },
- "minizlib": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "minipass": "2.2.4"
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "ms": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "needle": {
- "version": "2.2.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "debug": "2.6.9",
- "iconv-lite": "0.4.21",
- "sax": "1.2.4"
- }
- },
- "node-pre-gyp": {
- "version": "0.10.0",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "detect-libc": "1.0.3",
- "mkdirp": "0.5.1",
- "needle": "2.2.0",
- "nopt": "4.0.1",
- "npm-packlist": "1.1.10",
- "npmlog": "4.1.2",
- "rc": "1.2.7",
- "rimraf": "2.6.2",
- "semver": "5.5.0",
- "tar": "4.4.1"
- }
- },
- "nopt": {
- "version": "4.0.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "abbrev": "1.1.1",
- "osenv": "0.1.5"
- }
- },
- "npm-bundled": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "npm-packlist": {
- "version": "1.1.10",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "ignore-walk": "3.0.1",
- "npm-bundled": "1.0.3"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "1.1.4",
- "console-control-strings": "1.1.0",
- "gauge": "2.7.4",
- "set-blocking": "2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "wrappy": "1.0.2"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "rc": {
- "version": "1.2.7",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "deep-extend": "0.5.1",
- "ini": "1.3.5",
- "minimist": "1.2.0",
- "strip-json-comments": "2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true,
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "2.0.0",
- "safe-buffer": "5.1.1",
- "string_decoder": "1.1.1",
- "util-deprecate": "1.0.2"
- }
- },
- "rimraf": {
- "version": "2.6.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "glob": "7.1.2"
- }
- },
- "safe-buffer": {
- "version": "5.1.1",
- "bundled": true,
- "dev": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "sax": {
- "version": "1.2.4",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "semver": {
- "version": "5.5.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "safe-buffer": "5.1.1"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "ansi-regex": "2.1.1"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "tar": {
- "version": "4.4.1",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "chownr": "1.0.1",
- "fs-minipass": "1.2.5",
- "minipass": "2.2.4",
- "minizlib": "1.1.0",
- "mkdirp": "0.5.1",
- "safe-buffer": "5.1.1",
- "yallist": "3.0.2"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "string-width": "1.0.2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "yallist": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true
- }
- }
- },
"fstream": {
"version": "1.0.11",
"resolved": "http://r.cnpmjs.org/fstream/download/fstream-1.0.11.tgz",
@@ -6464,7 +5949,6 @@
"requires": {
"anymatch": "1.3.2",
"async-each": "1.0.1",
- "fsevents": "1.2.4",
"glob-parent": "2.0.0",
"inherits": "2.0.3",
"is-binary-path": "1.0.1",
diff --git a/src/frontend/package.json b/src/frontend/package.json
index f4295b578..3a1efa6ce 100644
--- a/src/frontend/package.json
+++ b/src/frontend/package.json
@@ -24,6 +24,8 @@
"@clr/angular": "^0.12.14",
"@clr/icons": "^0.12.14",
"@clr/ui": "^0.12.14",
+ "@ngx-translate/core": "^11.0.1",
+ "@ngx-translate/http-loader": "^4.0.0",
"@webcomponents/custom-elements": "^1.1.2",
"ace": "^1.3.0",
"bootstrap": "^4.0.0-alpha.5",
diff --git a/src/frontend/src/app/admin/apikey/create-edit-apikey/create-edit-apikey.component.html b/src/frontend/src/app/admin/apikey/create-edit-apikey/create-edit-apikey.component.html
index a0b8493b3..3155d5aa4 100644
--- a/src/frontend/src/app/admin/apikey/create-edit-apikey/create-edit-apikey.component.html
+++ b/src/frontend/src/app/admin/apikey/create-edit-apikey/create-edit-apikey.component.html
@@ -6,7 +6,7 @@
{{title}}
diff --git a/src/frontend/src/app/admin/app/list-app/list-app.component.html b/src/frontend/src/app/admin/app/list-app/list-app.component.html
index d777d8552..2e825faaf 100644
--- a/src/frontend/src/app/admin/app/list-app/list-app.component.html
+++ b/src/frontend/src/app/admin/app/list-app/list-app.component.html
@@ -26,18 +26,18 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
-
+
{{app.id}}
{{app.name}}
diff --git a/src/frontend/src/app/admin/app/trash-app/trash-app.component.html b/src/frontend/src/app/admin/app/trash-app/trash-app.component.html
index 2e870324d..4726fcc37 100644
--- a/src/frontend/src/app/admin/app/trash-app/trash-app.component.html
+++ b/src/frontend/src/app/admin/app/trash-app/trash-app.component.html
@@ -26,12 +26,12 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
diff --git a/src/frontend/src/app/admin/auditlog/auditlog.component.html b/src/frontend/src/app/admin/auditlog/auditlog.component.html
index 4a9788479..2682396d7 100644
--- a/src/frontend/src/app/admin/auditlog/auditlog.component.html
+++ b/src/frontend/src/app/admin/auditlog/auditlog.component.html
@@ -30,7 +30,7 @@
日期
- 操作详情
+ {{'BUTTON.DETAIL' | translate}}
diff --git a/src/frontend/src/app/admin/cluster/create-edit-cluster/create-edit-cluster.component.html b/src/frontend/src/app/admin/cluster/create-edit-cluster/create-edit-cluster.component.html
index 7bd9ca84c..40e385108 100644
--- a/src/frontend/src/app/admin/cluster/create-edit-cluster/create-edit-cluster.component.html
+++ b/src/frontend/src/app/admin/cluster/create-edit-cluster/create-edit-cluster.component.html
@@ -6,7 +6,7 @@ {{title}}
diff --git a/src/frontend/src/app/admin/config/list-config/list-config.component.html b/src/frontend/src/app/admin/config/list-config/list-config.component.html
index 9e658e158..d932e9b20 100644
--- a/src/frontend/src/app/admin/config/list-config/list-config.component.html
+++ b/src/frontend/src/app/admin/config/list-config/list-config.component.html
@@ -17,7 +17,7 @@
-
+
{{config.id}}
{{config.name}}
diff --git a/src/frontend/src/app/admin/configmap/configmap.component.html b/src/frontend/src/app/admin/configmap/configmap.component.html
index 412ee11b0..ff49f47c4 100644
--- a/src/frontend/src/app/admin/configmap/configmap.component.html
+++ b/src/frontend/src/app/admin/configmap/configmap.component.html
@@ -5,7 +5,7 @@
-
+
diff --git a/src/frontend/src/app/admin/configmap/create-edit-configmap/create-edit-configmap.component.html b/src/frontend/src/app/admin/configmap/create-edit-configmap/create-edit-configmap.component.html
index 307904829..559b0d7ca 100644
--- a/src/frontend/src/app/admin/configmap/create-edit-configmap/create-edit-configmap.component.html
+++ b/src/frontend/src/app/admin/configmap/create-edit-configmap/create-edit-configmap.component.html
@@ -4,7 +4,7 @@ {{title}}
diff --git a/src/frontend/src/app/admin/configmap/list-configmap/list-configmap.component.html b/src/frontend/src/app/admin/configmap/list-configmap/list-configmap.component.html
index 63062be4c..300d21005 100644
--- a/src/frontend/src/app/admin/configmap/list-configmap/list-configmap.component.html
+++ b/src/frontend/src/app/admin/configmap/list-configmap/list-configmap.component.html
@@ -26,18 +26,18 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
-
+
{{configMap.id}}
{{configMap.name}}
diff --git a/src/frontend/src/app/admin/configmap/trash-configmap/trash-configmap.component.html b/src/frontend/src/app/admin/configmap/trash-configmap/trash-configmap.component.html
index 82ba27400..e86816bef 100644
--- a/src/frontend/src/app/admin/configmap/trash-configmap/trash-configmap.component.html
+++ b/src/frontend/src/app/admin/configmap/trash-configmap/trash-configmap.component.html
@@ -26,12 +26,12 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
diff --git a/src/frontend/src/app/admin/configmaptpl/configmaptpl.component.html b/src/frontend/src/app/admin/configmaptpl/configmaptpl.component.html
index 230a31914..ebcbe0526 100644
--- a/src/frontend/src/app/admin/configmaptpl/configmaptpl.component.html
+++ b/src/frontend/src/app/admin/configmaptpl/configmaptpl.component.html
@@ -5,7 +5,7 @@
-
+
diff --git a/src/frontend/src/app/admin/configmaptpl/create-edit-configmaptpl/create-edit-configmaptpl.component.html b/src/frontend/src/app/admin/configmaptpl/create-edit-configmaptpl/create-edit-configmaptpl.component.html
index 75fc6ef2b..b1a22d871 100644
--- a/src/frontend/src/app/admin/configmaptpl/create-edit-configmaptpl/create-edit-configmaptpl.component.html
+++ b/src/frontend/src/app/admin/configmaptpl/create-edit-configmaptpl/create-edit-configmaptpl.component.html
@@ -16,7 +16,7 @@ {{title}}
-
+
diff --git a/src/frontend/src/app/admin/configmaptpl/list-configmaptpl/list-configmaptpl.component.html b/src/frontend/src/app/admin/configmaptpl/list-configmaptpl/list-configmaptpl.component.html
index cc56a3edd..35fa5046b 100644
--- a/src/frontend/src/app/admin/configmaptpl/list-configmaptpl/list-configmaptpl.component.html
+++ b/src/frontend/src/app/admin/configmaptpl/list-configmaptpl/list-configmaptpl.component.html
@@ -16,18 +16,18 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
-
+
{{configMapTpl.id}}
{{configMapTpl.name}}
diff --git a/src/frontend/src/app/admin/configmaptpl/trash-configmaptpl/trash-configmaptpl.component.html b/src/frontend/src/app/admin/configmaptpl/trash-configmaptpl/trash-configmaptpl.component.html
index 5a4289a24..1348f5243 100644
--- a/src/frontend/src/app/admin/configmaptpl/trash-configmaptpl/trash-configmaptpl.component.html
+++ b/src/frontend/src/app/admin/configmaptpl/trash-configmaptpl/trash-configmaptpl.component.html
@@ -21,12 +21,12 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
diff --git a/src/frontend/src/app/admin/cronjob/create-edit-cronjob/create-edit-cronjob.component.html b/src/frontend/src/app/admin/cronjob/create-edit-cronjob/create-edit-cronjob.component.html
index 830dc6471..d3e524a81 100644
--- a/src/frontend/src/app/admin/cronjob/create-edit-cronjob/create-edit-cronjob.component.html
+++ b/src/frontend/src/app/admin/cronjob/create-edit-cronjob/create-edit-cronjob.component.html
@@ -4,7 +4,7 @@ {{title}}
diff --git a/src/frontend/src/app/admin/cronjob/cronjob.component.html b/src/frontend/src/app/admin/cronjob/cronjob.component.html
index b0ec907de..78027c077 100644
--- a/src/frontend/src/app/admin/cronjob/cronjob.component.html
+++ b/src/frontend/src/app/admin/cronjob/cronjob.component.html
@@ -1,7 +1,7 @@
-
+
diff --git a/src/frontend/src/app/admin/cronjob/cronjob.component.ts b/src/frontend/src/app/admin/cronjob/cronjob.component.ts
index db3634262..cfe838acc 100644
--- a/src/frontend/src/app/admin/cronjob/cronjob.component.ts
+++ b/src/frontend/src/app/admin/cronjob/cronjob.component.ts
@@ -12,7 +12,7 @@ import {ListCronjobComponent} from './list-cronjob/list-cronjob.component';
import {Cronjob} from '../../shared/model/v1/cronjob';
import {CronjobService} from '../../shared/client/v1/cronjob.service';
import {PageState} from '../../shared/page/page-state';
-
+import {TranslateService} from '@ngx-translate/core';
@Component({
selector: 'wayne-cronjob',
templateUrl: './cronjob.component.html',
@@ -36,6 +36,7 @@ export class CronjobComponent implements OnInit {
private breadcrumbService: BreadcrumbService,
private route: ActivatedRoute,
private messageHandlerService: MessageHandlerService,
+ public translate: TranslateService,
private deletionDialogService: ConfirmationDialogService) {
breadcrumbService.addFriendlyNameForRoute('/admin/cronjob', this.componentName + '列表');
breadcrumbService.addFriendlyNameForRoute('/admin/cronjob/trash', '已删除' + this.componentName + '列表');
diff --git a/src/frontend/src/app/admin/cronjob/list-cronjob/list-cronjob.component.html b/src/frontend/src/app/admin/cronjob/list-cronjob/list-cronjob.component.html
index 336ea2158..4da61c374 100644
--- a/src/frontend/src/app/admin/cronjob/list-cronjob/list-cronjob.component.html
+++ b/src/frontend/src/app/admin/cronjob/list-cronjob/list-cronjob.component.html
@@ -26,18 +26,18 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
-
+
{{cronjob.id}}
{{cronjob.name}}
diff --git a/src/frontend/src/app/admin/cronjob/trash-cronjob/trash-cronjob.component.html b/src/frontend/src/app/admin/cronjob/trash-cronjob/trash-cronjob.component.html
index dadcff9a5..d0ae8d472 100644
--- a/src/frontend/src/app/admin/cronjob/trash-cronjob/trash-cronjob.component.html
+++ b/src/frontend/src/app/admin/cronjob/trash-cronjob/trash-cronjob.component.html
@@ -1,7 +1,7 @@
-
+
@@ -26,12 +26,12 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
diff --git a/src/frontend/src/app/admin/cronjobtpl/create-edit-cronjobtpl/create-edit-cronjobtpl.component.html b/src/frontend/src/app/admin/cronjobtpl/create-edit-cronjobtpl/create-edit-cronjobtpl.component.html
index d1cec98a0..b82849f49 100644
--- a/src/frontend/src/app/admin/cronjobtpl/create-edit-cronjobtpl/create-edit-cronjobtpl.component.html
+++ b/src/frontend/src/app/admin/cronjobtpl/create-edit-cronjobtpl/create-edit-cronjobtpl.component.html
@@ -16,7 +16,7 @@ {{title}}
-
+
diff --git a/src/frontend/src/app/admin/cronjobtpl/cronjobtpl.component.html b/src/frontend/src/app/admin/cronjobtpl/cronjobtpl.component.html
index 5b41ce133..a30a3b9a2 100644
--- a/src/frontend/src/app/admin/cronjobtpl/cronjobtpl.component.html
+++ b/src/frontend/src/app/admin/cronjobtpl/cronjobtpl.component.html
@@ -1,11 +1,11 @@
-
+
-
+
diff --git a/src/frontend/src/app/admin/cronjobtpl/list-cronjobtpl/list-cronjobtpl.component.html b/src/frontend/src/app/admin/cronjobtpl/list-cronjobtpl/list-cronjobtpl.component.html
index d547bc5ae..c0c43cf0c 100644
--- a/src/frontend/src/app/admin/cronjobtpl/list-cronjobtpl/list-cronjobtpl.component.html
+++ b/src/frontend/src/app/admin/cronjobtpl/list-cronjobtpl/list-cronjobtpl.component.html
@@ -21,18 +21,18 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
-
+
{{cronjobTpl.id}}
{{cronjobTpl.name}}
diff --git a/src/frontend/src/app/admin/cronjobtpl/trash-cronjobtpl/trash-cronjobtpl.component.html b/src/frontend/src/app/admin/cronjobtpl/trash-cronjobtpl/trash-cronjobtpl.component.html
index 6bebb04b5..f50b1d3ec 100644
--- a/src/frontend/src/app/admin/cronjobtpl/trash-cronjobtpl/trash-cronjobtpl.component.html
+++ b/src/frontend/src/app/admin/cronjobtpl/trash-cronjobtpl/trash-cronjobtpl.component.html
@@ -1,7 +1,7 @@
-
+
@@ -21,12 +21,12 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
diff --git a/src/frontend/src/app/admin/daemonset/create-edit-daemonset/create-edit-daemonset.component.html b/src/frontend/src/app/admin/daemonset/create-edit-daemonset/create-edit-daemonset.component.html
index 23b871190..a9283034f 100644
--- a/src/frontend/src/app/admin/daemonset/create-edit-daemonset/create-edit-daemonset.component.html
+++ b/src/frontend/src/app/admin/daemonset/create-edit-daemonset/create-edit-daemonset.component.html
@@ -5,7 +5,7 @@ {{title}}
-
+
diff --git a/src/frontend/src/app/admin/daemonsettpl/list-daemonsettpl/list-daemonsettpl.component.html b/src/frontend/src/app/admin/daemonsettpl/list-daemonsettpl/list-daemonsettpl.component.html
index b991a5f6c..652c261e9 100644
--- a/src/frontend/src/app/admin/daemonsettpl/list-daemonsettpl/list-daemonsettpl.component.html
+++ b/src/frontend/src/app/admin/daemonsettpl/list-daemonsettpl/list-daemonsettpl.component.html
@@ -17,18 +17,18 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
-
+
{{daemonsetTpl.id}}
{{daemonsetTpl.name}}
diff --git a/src/frontend/src/app/admin/daemonsettpl/trash-daemonsettpl/trash-daemonsettpl.component.html b/src/frontend/src/app/admin/daemonsettpl/trash-daemonsettpl/trash-daemonsettpl.component.html
index 883b0fed2..ff7fb1680 100644
--- a/src/frontend/src/app/admin/daemonsettpl/trash-daemonsettpl/trash-daemonsettpl.component.html
+++ b/src/frontend/src/app/admin/daemonsettpl/trash-daemonsettpl/trash-daemonsettpl.component.html
@@ -27,12 +27,12 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
diff --git a/src/frontend/src/app/admin/deployment/create-edit-deployment/create-edit-deployment.component.html b/src/frontend/src/app/admin/deployment/create-edit-deployment/create-edit-deployment.component.html
index a4c9b1c61..91c22835d 100644
--- a/src/frontend/src/app/admin/deployment/create-edit-deployment/create-edit-deployment.component.html
+++ b/src/frontend/src/app/admin/deployment/create-edit-deployment/create-edit-deployment.component.html
@@ -5,7 +5,7 @@ {{deploymentTitle}}
diff --git a/src/frontend/src/app/admin/deployment/list-deployment/list-deployment.component.html b/src/frontend/src/app/admin/deployment/list-deployment/list-deployment.component.html
index 5a8891652..b7162f7f1 100644
--- a/src/frontend/src/app/admin/deployment/list-deployment/list-deployment.component.html
+++ b/src/frontend/src/app/admin/deployment/list-deployment/list-deployment.component.html
@@ -26,18 +26,18 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
-
+
{{deployment.id}}
{{deployment.name}}
diff --git a/src/frontend/src/app/admin/deployment/trash-deployment/trash-deployment.component.html b/src/frontend/src/app/admin/deployment/trash-deployment/trash-deployment.component.html
index f2f3ff41c..f1a548adc 100644
--- a/src/frontend/src/app/admin/deployment/trash-deployment/trash-deployment.component.html
+++ b/src/frontend/src/app/admin/deployment/trash-deployment/trash-deployment.component.html
@@ -26,12 +26,12 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
diff --git a/src/frontend/src/app/admin/deploymenttpl/create-edit-deploymenttpl/create-edit-deploymenttpl.component.html b/src/frontend/src/app/admin/deploymenttpl/create-edit-deploymenttpl/create-edit-deploymenttpl.component.html
index a750d82f8..129520482 100644
--- a/src/frontend/src/app/admin/deploymenttpl/create-edit-deploymenttpl/create-edit-deploymenttpl.component.html
+++ b/src/frontend/src/app/admin/deploymenttpl/create-edit-deploymenttpl/create-edit-deploymenttpl.component.html
@@ -19,7 +19,7 @@ {{deploymentTplTitle}}
-
+
diff --git a/src/frontend/src/app/admin/deploymenttpl/list-deploymenttpl/list-deploymenttpl.component.html b/src/frontend/src/app/admin/deploymenttpl/list-deploymenttpl/list-deploymenttpl.component.html
index b0c9a4af1..8bfc8620b 100644
--- a/src/frontend/src/app/admin/deploymenttpl/list-deploymenttpl/list-deploymenttpl.component.html
+++ b/src/frontend/src/app/admin/deploymenttpl/list-deploymenttpl/list-deploymenttpl.component.html
@@ -17,18 +17,18 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
-
+
{{deploymentTpl.id}}
{{deploymentTpl.name}}
diff --git a/src/frontend/src/app/admin/deploymenttpl/trash-deploymenttpl/trash-deploymenttpl.component.html b/src/frontend/src/app/admin/deploymenttpl/trash-deploymenttpl/trash-deploymenttpl.component.html
index 43bfbaec6..5358a05aa 100644
--- a/src/frontend/src/app/admin/deploymenttpl/trash-deploymenttpl/trash-deploymenttpl.component.html
+++ b/src/frontend/src/app/admin/deploymenttpl/trash-deploymenttpl/trash-deploymenttpl.component.html
@@ -22,12 +22,12 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
diff --git a/src/frontend/src/app/admin/group/create-edit-group/create-edit-group.component.html b/src/frontend/src/app/admin/group/create-edit-group/create-edit-group.component.html
index a67127837..35e6d45fe 100644
--- a/src/frontend/src/app/admin/group/create-edit-group/create-edit-group.component.html
+++ b/src/frontend/src/app/admin/group/create-edit-group/create-edit-group.component.html
@@ -14,7 +14,7 @@ {{groupTitle}}
-
+
-
+
diff --git a/src/frontend/src/app/admin/group/list-group/list-group.component.html b/src/frontend/src/app/admin/group/list-group/list-group.component.html
index 8e2ffc025..681a8b8c9 100644
--- a/src/frontend/src/app/admin/group/list-group/list-group.component.html
+++ b/src/frontend/src/app/admin/group/list-group/list-group.component.html
@@ -22,7 +22,7 @@
-
+
{{group.id}}
{{group.name}}
diff --git a/src/frontend/src/app/admin/namespace/create-edit-namespace/create-edit-namespace.component.html b/src/frontend/src/app/admin/namespace/create-edit-namespace/create-edit-namespace.component.html
index f846ccff7..7cd6ab57a 100644
--- a/src/frontend/src/app/admin/namespace/create-edit-namespace/create-edit-namespace.component.html
+++ b/src/frontend/src/app/admin/namespace/create-edit-namespace/create-edit-namespace.component.html
@@ -6,7 +6,7 @@ {{nsTitle}}
-
+
diff --git a/src/frontend/src/app/admin/persistentvolumeclaimtpl/list-persistentvolumeclaimtpl/list-persistentvolumeclaimtpl.component.html b/src/frontend/src/app/admin/persistentvolumeclaimtpl/list-persistentvolumeclaimtpl/list-persistentvolumeclaimtpl.component.html
index 7434e2d05..0187675e6 100644
--- a/src/frontend/src/app/admin/persistentvolumeclaimtpl/list-persistentvolumeclaimtpl/list-persistentvolumeclaimtpl.component.html
+++ b/src/frontend/src/app/admin/persistentvolumeclaimtpl/list-persistentvolumeclaimtpl/list-persistentvolumeclaimtpl.component.html
@@ -16,18 +16,18 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
-
+
{{tpl.id}}
{{tpl.name}}
diff --git a/src/frontend/src/app/admin/persistentvolumeclaimtpl/persistentvolumeclaimtpl.component.html b/src/frontend/src/app/admin/persistentvolumeclaimtpl/persistentvolumeclaimtpl.component.html
index 84cd85f2b..065f43660 100644
--- a/src/frontend/src/app/admin/persistentvolumeclaimtpl/persistentvolumeclaimtpl.component.html
+++ b/src/frontend/src/app/admin/persistentvolumeclaimtpl/persistentvolumeclaimtpl.component.html
@@ -7,7 +7,7 @@
diff --git a/src/frontend/src/app/admin/persistentvolumeclaimtpl/trash-persistentvolumeclaimtpl/trash-persistentvolumeclaimtpl.component.html b/src/frontend/src/app/admin/persistentvolumeclaimtpl/trash-persistentvolumeclaimtpl/trash-persistentvolumeclaimtpl.component.html
index da73baac4..773f83070 100644
--- a/src/frontend/src/app/admin/persistentvolumeclaimtpl/trash-persistentvolumeclaimtpl/trash-persistentvolumeclaimtpl.component.html
+++ b/src/frontend/src/app/admin/persistentvolumeclaimtpl/trash-persistentvolumeclaimtpl/trash-persistentvolumeclaimtpl.component.html
@@ -21,12 +21,12 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
diff --git a/src/frontend/src/app/admin/secret/create-edit-secret/create-edit-secret.component.html b/src/frontend/src/app/admin/secret/create-edit-secret/create-edit-secret.component.html
index d603c4b94..2f0f0ee48 100644
--- a/src/frontend/src/app/admin/secret/create-edit-secret/create-edit-secret.component.html
+++ b/src/frontend/src/app/admin/secret/create-edit-secret/create-edit-secret.component.html
@@ -4,7 +4,7 @@ {{secretTitle}}
diff --git a/src/frontend/src/app/admin/secret/list-secret/list-secret.component.html b/src/frontend/src/app/admin/secret/list-secret/list-secret.component.html
index e460e17fa..57e98ecdb 100644
--- a/src/frontend/src/app/admin/secret/list-secret/list-secret.component.html
+++ b/src/frontend/src/app/admin/secret/list-secret/list-secret.component.html
@@ -26,18 +26,18 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
-
+
{{secret.id}}
{{secret.name}}
diff --git a/src/frontend/src/app/admin/secret/trash-secret/trash-secret.component.html b/src/frontend/src/app/admin/secret/trash-secret/trash-secret.component.html
index 8ca9f0623..d5dfb1034 100644
--- a/src/frontend/src/app/admin/secret/trash-secret/trash-secret.component.html
+++ b/src/frontend/src/app/admin/secret/trash-secret/trash-secret.component.html
@@ -26,12 +26,12 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
diff --git a/src/frontend/src/app/admin/secrettpl/create-edit-secrettpl/create-edit-secrettpl.component.html b/src/frontend/src/app/admin/secrettpl/create-edit-secrettpl/create-edit-secrettpl.component.html
index fbba69954..4597d910f 100644
--- a/src/frontend/src/app/admin/secrettpl/create-edit-secrettpl/create-edit-secrettpl.component.html
+++ b/src/frontend/src/app/admin/secrettpl/create-edit-secrettpl/create-edit-secrettpl.component.html
@@ -15,7 +15,7 @@ {{secrettplTitle}}
-
+
diff --git a/src/frontend/src/app/admin/secrettpl/list-secrettpl/list-secrettpl.component.html b/src/frontend/src/app/admin/secrettpl/list-secrettpl/list-secrettpl.component.html
index 146db3e6b..e75e3aed1 100644
--- a/src/frontend/src/app/admin/secrettpl/list-secrettpl/list-secrettpl.component.html
+++ b/src/frontend/src/app/admin/secrettpl/list-secrettpl/list-secrettpl.component.html
@@ -16,18 +16,18 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
-
+
{{secrettpl.id}}
{{secrettpl.name}}
diff --git a/src/frontend/src/app/admin/secrettpl/trash-secrettpl/trash-secrettpl.component.html b/src/frontend/src/app/admin/secrettpl/trash-secrettpl/trash-secrettpl.component.html
index a24baf6c1..e16cb7f83 100644
--- a/src/frontend/src/app/admin/secrettpl/trash-secrettpl/trash-secrettpl.component.html
+++ b/src/frontend/src/app/admin/secrettpl/trash-secrettpl/trash-secrettpl.component.html
@@ -21,12 +21,12 @@
- 创建者
+ {{'TITLE.CREATE_USER' | translate}}
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
diff --git a/src/frontend/src/app/admin/statefulset/create-edit-statefulset/create-edit-statefulset.component.html b/src/frontend/src/app/admin/statefulset/create-edit-statefulset/create-edit-statefulset.component.html
index 9aef953ad..f4f973848 100644
--- a/src/frontend/src/app/admin/statefulset/create-edit-statefulset/create-edit-statefulset.component.html
+++ b/src/frontend/src/app/admin/statefulset/create-edit-statefulset/create-edit-statefulset.component.html
@@ -5,7 +5,7 @@ {{title}}
diff --git a/src/frontend/src/app/app.component.ts b/src/frontend/src/app/app.component.ts
index 0ee2eca0d..4c2fc9278 100644
--- a/src/frontend/src/app/app.component.ts
+++ b/src/frontend/src/app/app.component.ts
@@ -1,6 +1,8 @@
import { Component, AfterViewInit } from '@angular/core';
import {ScrollBarService} from './shared/client/v1/scrollBar.service';
import {SelectCopyService} from './shared/client/v1/select-copy.service';
+import {TranslateService} from '@ngx-translate/core';
+import {StorageService} from './shared/client/v1/storage.service';
@Component({
selector: 'wayne-root',
@@ -11,9 +13,18 @@ export class AppComponent implements AfterViewInit {
constructor(
private scrollBar: ScrollBarService,
- private selectCopyService: SelectCopyService
+ private selectCopyService: SelectCopyService,
+ public translate: TranslateService,
+ private storage: StorageService
) {
-
+ translate.addLangs(['en', 'zh-Hans']);
+ const langStorage = storage.get('lang');
+ translate.setDefaultLang('zh-Hans');
+ if (langStorage) {
+ translate.use(translate.getLangs().indexOf(langStorage) > -1 ? langStorage : 'en');
+ } else {
+ translate.use('en');
+ }
}
ngAfterViewInit() {
diff --git a/src/frontend/src/app/app.module.ts b/src/frontend/src/app/app.module.ts
index c6696e15f..fb7b2b6ae 100644
--- a/src/frontend/src/app/app.module.ts
+++ b/src/frontend/src/app/app.module.ts
@@ -10,9 +10,14 @@ import {Router} from '@angular/router';
import * as Raven from 'raven-js';
import {PodTerminalModule} from './portal/pod-terminal/pod-terminal.module';
import {environment} from '../environments/environment';
-import {HTTP_INTERCEPTORS} from '@angular/common/http';
+import {HttpClientModule, HTTP_INTERCEPTORS, HttpClient} from '@angular/common/http';
import {AuthInterceptor} from './shared/interceptor/auth-interceptor';
-
+// translate
+import {TranslateModule, TranslateLoader} from '@ngx-translate/core';
+import {TranslateHttpLoader} from '@ngx-translate/http-loader';
+export function HttpLoaderFactory(httpClient: HttpClient) {
+ return new TranslateHttpLoader(httpClient);
+}
export function initUser(authService: AuthService, injector: Injector) {
return () => authService.retrieveUser().then(() => {
@@ -60,6 +65,14 @@ export class WayneErrorHandler implements ErrorHandler {
PortalModule,
AdminModule,
RoutingModule,
+ HttpClientModule,
+ TranslateModule.forRoot({
+ loader: {
+ provide: TranslateLoader,
+ useFactory: HttpLoaderFactory,
+ deps: [HttpClient]
+ }
+ })
],
providers: [
{
diff --git a/src/frontend/src/app/portal/app-apikey/apikey.component.html b/src/frontend/src/app/portal/app-apikey/apikey.component.html
index 819612e24..5f7f8c6cc 100644
--- a/src/frontend/src/app/portal/app-apikey/apikey.component.html
+++ b/src/frontend/src/app/portal/app-apikey/apikey.component.html
@@ -1,23 +1,23 @@
-
+
- 名称
+ {{'TITLE.NAME' | translate}}
角色
- 创建时间
+ {{'TITLE.CREATE_TIME' | translate}}
过期时间
- 创建者
- 描述
- 操作
+ {{'TITLE.CREATE_USER' | translate}}
+ {{'TITLE.DESCRIPTION' | translate}}
+ {{'TITLE.ACTION' | translate}}
diff --git a/src/frontend/src/app/portal/app-apikey/apikey.component.ts b/src/frontend/src/app/portal/app-apikey/apikey.component.ts
index 94d1d2a24..153a1aed1 100644
--- a/src/frontend/src/app/portal/app-apikey/apikey.component.ts
+++ b/src/frontend/src/app/portal/app-apikey/apikey.component.ts
@@ -12,15 +12,16 @@ import {CreateEditApiKeyComponent} from './create-edit-apikey/create-edit-apikey
import {ApiKey} from '../../shared/model/v1/apikey';
import {ApiKeyService} from '../../shared/client/v1/apikey.service';
import {ActivatedRoute} from '@angular/router';
+import {TranslateService} from '@ngx-translate/core';
const showState = {
'名称': {hidden: false},
'角色': {hidden: false},
- '创建时间': {hidden: false},
+ 'create_time': {hidden: false},
'过期时间': {hidden: false},
- '创建者': {hidden: false},
+ 'create_user': {hidden: false},
'描述': {hidden: false},
- '操作': {hidden: false}
+ 'action': {hidden: false}
};
@Component({
@@ -46,6 +47,7 @@ export class AppApiKeyComponent implements OnInit, OnDestroy {
private route: ActivatedRoute,
public authService: AuthService,
private messageHandlerService: MessageHandlerService,
+ public translate: TranslateService,
private deletionDialogService: ConfirmationDialogService) {
this.subscription = deletionDialogService.confirmationConfirm$.subscribe(message => {
if (message &&
diff --git a/src/frontend/src/app/portal/app-apikey/create-edit-apikey/create-edit-apikey.component.html b/src/frontend/src/app/portal/app-apikey/create-edit-apikey/create-edit-apikey.component.html
index 4a2ed9925..cd9963691 100644
--- a/src/frontend/src/app/portal/app-apikey/create-edit-apikey/create-edit-apikey.component.html
+++ b/src/frontend/src/app/portal/app-apikey/create-edit-apikey/create-edit-apikey.component.html
@@ -1,12 +1,12 @@
- {{title}}
+ {{title | translate}}APIKey