@nocobase/app-plugin-releases 0.1.0-beta.2 → 0.1.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +341 -0
- package/LICENSE.txt +129 -0
- package/README.md +91 -16
- package/dist/client/components/environment-form.d.ts +1 -1
- package/dist/client/components/environment-form.d.ts.map +1 -1
- package/dist/client/components/environment-form.js +9 -2
- package/dist/client/components/environment-form.js.map +1 -1
- package/dist/client/components/page-header.d.ts.map +1 -1
- package/dist/client/components/page-header.js +1 -1
- package/dist/client/components/page-header.js.map +1 -1
- package/dist/client/components/release-badges.d.ts.map +1 -1
- package/dist/client/components/release-badges.js +13 -1
- package/dist/client/components/release-badges.js.map +1 -1
- package/dist/client/components/route-overlay.d.ts +4 -1
- package/dist/client/components/route-overlay.d.ts.map +1 -1
- package/dist/client/components/route-overlay.js +32 -3
- package/dist/client/components/route-overlay.js.map +1 -1
- package/dist/client/components/runtime-policy-fields.d.ts +7 -1
- package/dist/client/components/runtime-policy-fields.d.ts.map +1 -1
- package/dist/client/components/runtime-policy-fields.js +19 -5
- package/dist/client/components/runtime-policy-fields.js.map +1 -1
- package/dist/client/components/runtime-state.d.ts +6 -0
- package/dist/client/components/runtime-state.d.ts.map +1 -0
- package/dist/client/components/runtime-state.js +67 -0
- package/dist/client/components/runtime-state.js.map +1 -0
- package/dist/client/components/shared-host.d.ts +20 -0
- package/dist/client/components/shared-host.d.ts.map +1 -0
- package/dist/client/components/shared-host.js +88 -0
- package/dist/client/components/shared-host.js.map +1 -0
- package/dist/client/components/ui/progress.d.ts +9 -0
- package/dist/client/components/ui/progress.d.ts.map +1 -0
- package/dist/client/components/ui/progress.js +20 -0
- package/dist/client/components/ui/progress.js.map +1 -0
- package/dist/client/components/use-route-overlay.d.ts +2 -9
- package/dist/client/components/use-route-overlay.d.ts.map +1 -1
- package/dist/client/components/use-route-overlay.js +5 -3
- package/dist/client/components/use-route-overlay.js.map +1 -1
- package/dist/client/components/variable-alerts.d.ts.map +1 -1
- package/dist/client/components/variable-alerts.js +6 -18
- package/dist/client/components/variable-alerts.js.map +1 -1
- package/dist/client/hooks/use-app-summary.d.ts +1 -1
- package/dist/client/hooks/use-app-summary.d.ts.map +1 -1
- package/dist/client/hooks/use-app-summary.js +4 -1
- package/dist/client/hooks/use-app-summary.js.map +1 -1
- package/dist/client/hooks/use-releases.d.ts +4 -1
- package/dist/client/hooks/use-releases.d.ts.map +1 -1
- package/dist/client/hooks/use-releases.js +6 -2
- package/dist/client/hooks/use-releases.js.map +1 -1
- package/dist/client/lib/app-state.d.ts +2 -2
- package/dist/client/lib/app-state.d.ts.map +1 -1
- package/dist/client/lib/app-state.js +10 -3
- package/dist/client/lib/app-state.js.map +1 -1
- package/dist/client/lib/errors.d.ts.map +1 -1
- package/dist/client/lib/errors.js +7 -0
- package/dist/client/lib/errors.js.map +1 -1
- package/dist/client/lib/format.d.ts +2 -0
- package/dist/client/lib/format.d.ts.map +1 -1
- package/dist/client/lib/format.js +7 -0
- package/dist/client/lib/format.js.map +1 -1
- package/dist/client/lib/paths.d.ts +5 -0
- package/dist/client/lib/paths.d.ts.map +1 -1
- package/dist/client/lib/paths.js +10 -0
- package/dist/client/lib/paths.js.map +1 -1
- package/dist/client/lib/permissions.d.ts +5 -0
- package/dist/client/lib/permissions.d.ts.map +1 -1
- package/dist/client/lib/permissions.js +8 -0
- package/dist/client/lib/permissions.js.map +1 -1
- package/dist/client/lib/runtime-state.d.ts +25 -0
- package/dist/client/lib/runtime-state.d.ts.map +1 -0
- package/dist/client/lib/runtime-state.js +58 -0
- package/dist/client/lib/runtime-state.js.map +1 -0
- package/dist/client/locales/de-DE.d.ts +5 -0
- package/dist/client/locales/de-DE.d.ts.map +1 -0
- package/dist/client/locales/de-DE.js +876 -0
- package/dist/client/locales/de-DE.js.map +1 -0
- package/dist/client/locales/en-US.d.ts +83 -9
- package/dist/client/locales/en-US.d.ts.map +1 -1
- package/dist/client/locales/en-US.js +80 -9
- package/dist/client/locales/en-US.js.map +1 -1
- package/dist/client/locales/es-ES.d.ts +5 -0
- package/dist/client/locales/es-ES.d.ts.map +1 -0
- package/dist/client/locales/es-ES.js +882 -0
- package/dist/client/locales/es-ES.js.map +1 -0
- package/dist/client/locales/fr-FR.d.ts +5 -0
- package/dist/client/locales/fr-FR.d.ts.map +1 -0
- package/dist/client/locales/fr-FR.js +882 -0
- package/dist/client/locales/fr-FR.js.map +1 -0
- package/dist/client/locales/id-ID.d.ts +5 -0
- package/dist/client/locales/id-ID.d.ts.map +1 -0
- package/dist/client/locales/id-ID.js +876 -0
- package/dist/client/locales/id-ID.js.map +1 -0
- package/dist/client/locales/index.d.ts.map +1 -1
- package/dist/client/locales/index.js +10 -0
- package/dist/client/locales/index.js.map +1 -1
- package/dist/client/locales/ja-JP.d.ts +5 -0
- package/dist/client/locales/ja-JP.d.ts.map +1 -0
- package/dist/client/locales/ja-JP.js +876 -0
- package/dist/client/locales/ja-JP.js.map +1 -0
- package/dist/client/locales/ko-KR.d.ts +5 -0
- package/dist/client/locales/ko-KR.d.ts.map +1 -0
- package/dist/client/locales/ko-KR.js +879 -0
- package/dist/client/locales/ko-KR.js.map +1 -0
- package/dist/client/locales/pt-BR.d.ts +5 -0
- package/dist/client/locales/pt-BR.d.ts.map +1 -0
- package/dist/client/locales/pt-BR.js +882 -0
- package/dist/client/locales/pt-BR.js.map +1 -0
- package/dist/client/locales/ru-RU.d.ts +5 -0
- package/dist/client/locales/ru-RU.d.ts.map +1 -0
- package/dist/client/locales/ru-RU.js +891 -0
- package/dist/client/locales/ru-RU.js.map +1 -0
- package/dist/client/locales/vi-VN.d.ts +5 -0
- package/dist/client/locales/vi-VN.d.ts.map +1 -0
- package/dist/client/locales/vi-VN.js +876 -0
- package/dist/client/locales/vi-VN.js.map +1 -0
- package/dist/client/locales/zh-CN.d.ts.map +1 -1
- package/dist/client/locales/zh-CN.js +83 -9
- package/dist/client/locales/zh-CN.js.map +1 -1
- package/dist/client/locales/zh-TW.d.ts +5 -0
- package/dist/client/locales/zh-TW.d.ts.map +1 -0
- package/dist/client/locales/zh-TW.js +876 -0
- package/dist/client/locales/zh-TW.js.map +1 -0
- package/dist/client/pages/app-page.d.ts.map +1 -1
- package/dist/client/pages/app-page.js +14 -8
- package/dist/client/pages/app-page.js.map +1 -1
- package/dist/client/pages/apps-outlet.d.ts +8 -0
- package/dist/client/pages/apps-outlet.d.ts.map +1 -0
- package/dist/client/pages/apps-outlet.js +9 -0
- package/dist/client/pages/apps-outlet.js.map +1 -0
- package/dist/client/pages/environment-page.d.ts.map +1 -1
- package/dist/client/pages/environment-page.js +112 -24
- package/dist/client/pages/environment-page.js.map +1 -1
- package/dist/client/pages/environments-page.d.ts +8 -3
- package/dist/client/pages/environments-page.d.ts.map +1 -1
- package/dist/client/pages/environments-page.js +58 -10
- package/dist/client/pages/environments-page.js.map +1 -1
- package/dist/client/pages/new-app-page.d.ts +2 -4
- package/dist/client/pages/new-app-page.d.ts.map +1 -1
- package/dist/client/pages/new-app-page.js +29 -19
- package/dist/client/pages/new-app-page.js.map +1 -1
- package/dist/client/pages/new-app-redirect.d.ts +7 -0
- package/dist/client/pages/new-app-redirect.d.ts.map +1 -0
- package/dist/client/pages/new-app-redirect.js +8 -0
- package/dist/client/pages/new-app-redirect.js.map +1 -0
- package/dist/client/pages/request-page.js +1 -1
- package/dist/client/pages.d.ts +6 -2
- package/dist/client/pages.d.ts.map +1 -1
- package/dist/client/pages.js +8 -4
- package/dist/client/pages.js.map +1 -1
- package/dist/client/routes.d.ts.map +1 -1
- package/dist/client/routes.js +37 -10
- package/dist/client/routes.js.map +1 -1
- package/dist/database/migrations/.manifest.json +10 -2
- package/dist/database/migrations/202610020001_rel_create_tables.js +1 -1
- package/dist/database/migrations/202610020001_rel_create_tables.js.map +1 -1
- package/dist/database/migrations/202610260002_rel_bound_artifact_keys.d.ts +4 -0
- package/dist/database/migrations/202610260002_rel_bound_artifact_keys.d.ts.map +1 -0
- package/dist/database/migrations/202610260002_rel_bound_artifact_keys.js +51 -0
- package/dist/database/migrations/202610260002_rel_bound_artifact_keys.js.map +1 -0
- package/dist/database/migrations/202611020001_rel_environment_purpose.d.ts +8 -0
- package/dist/database/migrations/202611020001_rel_environment_purpose.d.ts.map +1 -0
- package/dist/database/migrations/202611020001_rel_environment_purpose.js +30 -0
- package/dist/database/migrations/202611020001_rel_environment_purpose.js.map +1 -0
- package/dist/server/access/caller.d.ts +6 -0
- package/dist/server/access/caller.d.ts.map +1 -1
- package/dist/server/access/caller.js +36 -0
- package/dist/server/access/caller.js.map +1 -1
- package/dist/server/artifact-config.d.ts +9 -0
- package/dist/server/artifact-config.d.ts.map +1 -0
- package/dist/server/artifact-config.js +49 -0
- package/dist/server/artifact-config.js.map +1 -0
- package/dist/server/composition.d.ts +6 -0
- package/dist/server/composition.d.ts.map +1 -1
- package/dist/server/composition.js +7 -1
- package/dist/server/composition.js.map +1 -1
- package/dist/server/config.d.ts +18 -2
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/drivers/host/driver.d.ts +13 -2
- package/dist/server/drivers/host/driver.d.ts.map +1 -1
- package/dist/server/drivers/host/driver.js +427 -81
- package/dist/server/drivers/host/driver.js.map +1 -1
- package/dist/server/drivers/types.d.ts +79 -1
- package/dist/server/drivers/types.d.ts.map +1 -1
- package/dist/server/drivers/types.js +6 -0
- package/dist/server/drivers/types.js.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/locales/de-DE.d.ts +5 -0
- package/dist/server/locales/de-DE.d.ts.map +1 -0
- package/dist/server/locales/de-DE.js +133 -0
- package/dist/server/locales/de-DE.js.map +1 -0
- package/dist/server/locales/es-ES.d.ts +5 -0
- package/dist/server/locales/es-ES.d.ts.map +1 -0
- package/dist/server/locales/es-ES.js +133 -0
- package/dist/server/locales/es-ES.js.map +1 -0
- package/dist/server/locales/fr-FR.d.ts +5 -0
- package/dist/server/locales/fr-FR.d.ts.map +1 -0
- package/dist/server/locales/fr-FR.js +133 -0
- package/dist/server/locales/fr-FR.js.map +1 -0
- package/dist/server/locales/id-ID.d.ts +5 -0
- package/dist/server/locales/id-ID.d.ts.map +1 -0
- package/dist/server/locales/id-ID.js +133 -0
- package/dist/server/locales/id-ID.js.map +1 -0
- package/dist/server/locales/index.d.ts.map +1 -1
- package/dist/server/locales/index.js +10 -0
- package/dist/server/locales/index.js.map +1 -1
- package/dist/server/locales/ja-JP.d.ts +5 -0
- package/dist/server/locales/ja-JP.d.ts.map +1 -0
- package/dist/server/locales/ja-JP.js +133 -0
- package/dist/server/locales/ja-JP.js.map +1 -0
- package/dist/server/locales/ko-KR.d.ts +5 -0
- package/dist/server/locales/ko-KR.d.ts.map +1 -0
- package/dist/server/locales/ko-KR.js +133 -0
- package/dist/server/locales/ko-KR.js.map +1 -0
- package/dist/server/locales/pt-BR.d.ts +5 -0
- package/dist/server/locales/pt-BR.d.ts.map +1 -0
- package/dist/server/locales/pt-BR.js +133 -0
- package/dist/server/locales/pt-BR.js.map +1 -0
- package/dist/server/locales/ru-RU.d.ts +5 -0
- package/dist/server/locales/ru-RU.d.ts.map +1 -0
- package/dist/server/locales/ru-RU.js +133 -0
- package/dist/server/locales/ru-RU.js.map +1 -0
- package/dist/server/locales/vi-VN.d.ts +5 -0
- package/dist/server/locales/vi-VN.d.ts.map +1 -0
- package/dist/server/locales/vi-VN.js +133 -0
- package/dist/server/locales/vi-VN.js.map +1 -0
- package/dist/server/locales/zh-TW.d.ts +5 -0
- package/dist/server/locales/zh-TW.d.ts.map +1 -0
- package/dist/server/locales/zh-TW.js +133 -0
- package/dist/server/locales/zh-TW.js.map +1 -0
- package/dist/server/providers/releases.d.ts.map +1 -1
- package/dist/server/providers/releases.js +12 -5
- package/dist/server/providers/releases.js.map +1 -1
- package/dist/server/routes/api.d.ts +1 -1
- package/dist/server/routes/api.d.ts.map +1 -1
- package/dist/server/routes/api.js +120 -20
- package/dist/server/routes/api.js.map +1 -1
- package/dist/server/routes/index.d.ts.map +1 -1
- package/dist/server/routes/index.js +10 -2
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/schemas.d.ts +7 -2
- package/dist/server/routes/schemas.d.ts.map +1 -1
- package/dist/server/routes/schemas.js +320 -89
- package/dist/server/routes/schemas.js.map +1 -1
- package/dist/server/services/environments.d.ts +2 -2
- package/dist/server/services/environments.d.ts.map +1 -1
- package/dist/server/services/environments.js +21 -1
- package/dist/server/services/environments.js.map +1 -1
- package/dist/server/services/releases.d.ts +69 -8
- package/dist/server/services/releases.d.ts.map +1 -1
- package/dist/server/services/releases.js +574 -128
- package/dist/server/services/releases.js.map +1 -1
- package/dist/server/services/validation.d.ts +2 -0
- package/dist/server/services/validation.d.ts.map +1 -1
- package/dist/server/services/validation.js +8 -0
- package/dist/server/services/validation.js.map +1 -1
- package/dist/server/tokens.d.ts +15 -2
- package/dist/server/tokens.d.ts.map +1 -1
- package/dist/server/tokens.js.map +1 -1
- package/dist/shared/releases.d.ts +94 -3
- package/dist/shared/releases.d.ts.map +1 -1
- package/dist/shared/releases.js +37 -0
- package/dist/shared/releases.js.map +1 -1
- package/package.json +18 -18
- package/dist/client/pages/apps-page.d.ts +0 -4
- package/dist/client/pages/apps-page.d.ts.map +0 -1
- package/dist/client/pages/apps-page.js +0 -116
- package/dist/client/pages/apps-page.js.map +0 -1
|
@@ -0,0 +1,876 @@
|
|
|
1
|
+
const viVN = {
|
|
2
|
+
access: {
|
|
3
|
+
section: 'Bản phát hành',
|
|
4
|
+
pages: {
|
|
5
|
+
'rel-apps': 'Ứng dụng',
|
|
6
|
+
},
|
|
7
|
+
businessSection: 'Bản phát hành',
|
|
8
|
+
businesses: {
|
|
9
|
+
apps: {
|
|
10
|
+
title: 'Ứng dụng',
|
|
11
|
+
description: 'Ứng dụng, bản phát hành, quá trình triển khai và môi trường chạy của chúng.',
|
|
12
|
+
actions: {
|
|
13
|
+
view: {
|
|
14
|
+
title: 'Xem ứng dụng',
|
|
15
|
+
description: 'Xem Ứng dụng, bản phát hành, hoạt động triển khai và trạng thái môi trường chạy của chúng',
|
|
16
|
+
related: 'Xem ứng dụng (những ứng dụng liên quan đến chúng)',
|
|
17
|
+
relatedLabel: 'Những cái tôi đã tạo ra',
|
|
18
|
+
relatedHint: 'Ứng dụng tôi đã tạo và mọi ứng dụng liên quan đến tôi',
|
|
19
|
+
all: 'Xem ứng dụng (tất cả)',
|
|
20
|
+
},
|
|
21
|
+
readLogs: {
|
|
22
|
+
title: 'Đọc nhật ký',
|
|
23
|
+
description: 'Đọc nhật ký ứng dụng và triển khai',
|
|
24
|
+
related: 'Đọc nhật ký (những nhật ký liên quan đến chúng)',
|
|
25
|
+
relatedLabel: 'Những cái tôi đã tạo ra',
|
|
26
|
+
relatedHint: 'Ứng dụng tôi đã tạo và mọi ứng dụng liên quan đến tôi',
|
|
27
|
+
all: 'Đọc nhật ký (tất cả)',
|
|
28
|
+
},
|
|
29
|
+
create: {
|
|
30
|
+
title: 'Tạo ứng dụng',
|
|
31
|
+
description: 'Tạo ứng dụng trong môi trường',
|
|
32
|
+
all: 'Tạo ứng dụng',
|
|
33
|
+
},
|
|
34
|
+
configure: {
|
|
35
|
+
title: 'Cấu hình ứng dụng',
|
|
36
|
+
description: 'Đọc và thay đổi cấu hình của Ứng dụng, có thể chứa bí mật',
|
|
37
|
+
related: 'Cấu hình ứng dụng (những ứng dụng liên quan đến chúng)',
|
|
38
|
+
relatedLabel: 'Những cái tôi đã tạo ra',
|
|
39
|
+
relatedHint: 'Ứng dụng tôi đã tạo và mọi ứng dụng liên quan đến tôi',
|
|
40
|
+
all: 'Cấu hình ứng dụng (tất cả)',
|
|
41
|
+
},
|
|
42
|
+
upload: {
|
|
43
|
+
title: 'Tải lên bản phát hành',
|
|
44
|
+
description: 'Tải lên và quảng bá các bản phát hành',
|
|
45
|
+
related: 'Tải lên các bản phát hành (những bản liên quan đến chúng)',
|
|
46
|
+
relatedLabel: 'Những cái tôi đã tạo ra',
|
|
47
|
+
relatedHint: 'Ứng dụng tôi đã tạo và mọi ứng dụng liên quan đến tôi',
|
|
48
|
+
all: 'Tải lên bản phát hành (tất cả)',
|
|
49
|
+
},
|
|
50
|
+
deploy: {
|
|
51
|
+
title: 'Triển khai',
|
|
52
|
+
description: 'Triển khai và khôi phục trên môi trường không được bảo vệ, yêu cầu triển khai cho môi trường được bảo vệ',
|
|
53
|
+
related: 'Triển khai (những cái liên quan đến chúng)',
|
|
54
|
+
relatedLabel: 'Những cái tôi đã tạo ra',
|
|
55
|
+
relatedHint: 'Ứng dụng tôi đã tạo và mọi ứng dụng liên quan đến tôi',
|
|
56
|
+
all: 'Triển khai (tất cả)',
|
|
57
|
+
},
|
|
58
|
+
deployProtected: {
|
|
59
|
+
title: 'Phê duyệt triển khai được bảo vệ',
|
|
60
|
+
description: 'Phê duyệt việc triển khai vào các môi trường được bảo vệ mà không có người phê duyệt; chỉ có người',
|
|
61
|
+
related: 'Phê duyệt các triển khai được bảo vệ (những triển khai liên quan đến chúng)',
|
|
62
|
+
relatedLabel: 'Những cái tôi đã tạo ra',
|
|
63
|
+
relatedHint: 'Ứng dụng tôi đã tạo và mọi ứng dụng liên quan đến tôi',
|
|
64
|
+
all: 'Phê duyệt triển khai được bảo vệ (tất cả)',
|
|
65
|
+
},
|
|
66
|
+
operate: {
|
|
67
|
+
title: 'Bắt đầu và dừng',
|
|
68
|
+
description: 'Bắt đầu, dừng và khởi động lại Ứng dụng',
|
|
69
|
+
related: 'Bắt đầu và dừng (những cái liên quan đến chúng)',
|
|
70
|
+
relatedLabel: 'Những cái tôi đã tạo ra',
|
|
71
|
+
relatedHint: 'Ứng dụng tôi đã tạo và mọi ứng dụng liên quan đến tôi',
|
|
72
|
+
all: 'Bắt đầu và dừng (tất cả)',
|
|
73
|
+
},
|
|
74
|
+
delete: {
|
|
75
|
+
title: 'Xóa ứng dụng',
|
|
76
|
+
description: 'Xóa ứng dụng cùng với dữ liệu của nó',
|
|
77
|
+
related: 'Xóa ứng dụng (những ứng dụng liên quan đến chúng)',
|
|
78
|
+
relatedLabel: 'Những cái tôi đã tạo ra',
|
|
79
|
+
relatedHint: 'Ứng dụng tôi đã tạo và mọi ứng dụng liên quan đến tôi',
|
|
80
|
+
all: 'Xóa ứng dụng (tất cả)',
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
recordAccess: {
|
|
86
|
+
owned: 'Ứng dụng họ đã tạo',
|
|
87
|
+
},
|
|
88
|
+
settings: {
|
|
89
|
+
rel: {
|
|
90
|
+
environments: 'Triển khai môi trường',
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
keyScopes: {
|
|
94
|
+
apps: {
|
|
95
|
+
title: 'Ứng dụng và triển khai',
|
|
96
|
+
description: 'Đọc: xem ứng dụng, bản phát hành, triển khai và nhật ký. Đọc và viết: cũng tải lên các bản phát hành. Quản trị viên: cũng triển khai và khởi động hoặc dừng ứng dụng.',
|
|
97
|
+
objects: 'Ứng dụng',
|
|
98
|
+
},
|
|
99
|
+
environments: {
|
|
100
|
+
title: 'Triển khai môi trường',
|
|
101
|
+
description: 'Đọc: liệt kê các môi trường. Đọc và viết: quản lý chúng.',
|
|
102
|
+
},
|
|
103
|
+
presets: {
|
|
104
|
+
ciDeploy: {
|
|
105
|
+
title: 'Triển khai CI',
|
|
106
|
+
description: 'Tải bản phát hành lên các ứng dụng đã chọn và triển khai chúng trong 90 ngày.',
|
|
107
|
+
},
|
|
108
|
+
ciUpload: {
|
|
109
|
+
title: 'Tải lên CI',
|
|
110
|
+
description: 'Tải bản phát hành lên ứng dụng đã chọn mà không cần triển khai chúng trong 90 ngày.',
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
actions: {
|
|
115
|
+
read: 'Xem',
|
|
116
|
+
manage: 'Quản lý',
|
|
117
|
+
view: 'Xem',
|
|
118
|
+
'read-logs': 'Đọc nhật ký',
|
|
119
|
+
create: 'Tạo',
|
|
120
|
+
configure: 'Cấu hình',
|
|
121
|
+
upload: 'Tải lên bản phát hành',
|
|
122
|
+
deploy: 'Triển khai',
|
|
123
|
+
'deploy-protected': 'Phê duyệt triển khai được bảo vệ',
|
|
124
|
+
operate: 'Bắt đầu và dừng',
|
|
125
|
+
delete: 'Xóa',
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
drivers: {
|
|
129
|
+
host: 'Máy chủ này',
|
|
130
|
+
},
|
|
131
|
+
ui: {
|
|
132
|
+
nav: {
|
|
133
|
+
environments: 'Triển khai môi trường',
|
|
134
|
+
},
|
|
135
|
+
apps: {
|
|
136
|
+
title: 'Ứng dụng',
|
|
137
|
+
create: 'Tạo ứng dụng',
|
|
138
|
+
id: 'ID ứng dụng',
|
|
139
|
+
name: 'Tên',
|
|
140
|
+
environment: 'Môi trường',
|
|
141
|
+
version: 'Phiên bản',
|
|
142
|
+
state: 'Trạng thái',
|
|
143
|
+
url: 'Địa chỉ',
|
|
144
|
+
labels: 'Nhãn',
|
|
145
|
+
loadFailed: 'Không thể tải ứng dụng.',
|
|
146
|
+
loadOneFailed: 'Không thể tải ứng dụng.',
|
|
147
|
+
created: '{{name}} đã được tạo.',
|
|
148
|
+
createDescription: 'Một ứng dụng được triển khai trên một môi trường; bản phát hành của nó được tải lên sau đó.',
|
|
149
|
+
idHint: 'Chữ cái, chữ số, dấu gạch dưới và dấu gạch nối; một phần địa chỉ của nó. Nó không thể thay đổi sau này.',
|
|
150
|
+
lastAccess: 'Lần cuối ghé thăm',
|
|
151
|
+
stateFilter: 'Trạng thái',
|
|
152
|
+
anyState: 'Mọi trạng thái',
|
|
153
|
+
clearFilters: 'Xóa bộ lọc',
|
|
154
|
+
noMatches: 'Không có ứng dụng nào khớp bộ lọc.',
|
|
155
|
+
runStates: {
|
|
156
|
+
running: 'Đang chạy',
|
|
157
|
+
starting: 'Đang khởi động',
|
|
158
|
+
pending: 'Chưa khởi động',
|
|
159
|
+
waiting: 'Đang chờ',
|
|
160
|
+
stopped: 'Đã dừng hoặc ngủ đông',
|
|
161
|
+
failed: 'Thất bại',
|
|
162
|
+
unknown: 'Không rõ',
|
|
163
|
+
},
|
|
164
|
+
page: 'Trang {{page}} / {{pages}}',
|
|
165
|
+
previousPage: 'Trang trước',
|
|
166
|
+
nextPage: 'Trang sau',
|
|
167
|
+
},
|
|
168
|
+
advanced: 'Nâng cao (tùy chọn)',
|
|
169
|
+
labels: {
|
|
170
|
+
name: 'Tên',
|
|
171
|
+
value: 'Giá trị',
|
|
172
|
+
nameOf: 'Tên nhãn {{index}}',
|
|
173
|
+
valueOf: 'Giá trị của nhãn {{index}}',
|
|
174
|
+
remove: 'Xóa nhãn {{index}}',
|
|
175
|
+
add: 'Thêm nhãn',
|
|
176
|
+
hint: 'Nhãn cho phép các công cụ và mọi người tìm cũng như nhóm các ứng dụng và bản phát hành.',
|
|
177
|
+
count_one: 'Nhãn {{count}}',
|
|
178
|
+
count_other: 'Nhãn {{count}}',
|
|
179
|
+
system: 'Nhãn được hệ thống thêm vào',
|
|
180
|
+
systemHint: 'Được hệ thống thêm vào; nó không thể thay đổi ở đây.',
|
|
181
|
+
errors: {
|
|
182
|
+
keyRequired: 'Nhập tên cho giá trị này.',
|
|
183
|
+
keyInvalid: 'Sử dụng các chữ cái, chữ số, ".", "_", "/" hoặc "-", bắt đầu bằng một chữ cái hoặc chữ số (nhiều nhất là 63).',
|
|
184
|
+
keyDuplicate: 'Tên này đã được sử dụng.',
|
|
185
|
+
valueTooLong: 'Tối đa {{max}} ký tự.',
|
|
186
|
+
tooMany: 'Nhiều nhất là nhãn {{max}}.',
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
policy: {
|
|
190
|
+
title: 'Môi trường chạy',
|
|
191
|
+
activationLabel: 'Bắt đầu',
|
|
192
|
+
activation: {
|
|
193
|
+
eager: 'Luôn luôn chạy',
|
|
194
|
+
onDemand: 'Bắt đầu chuyến thăm',
|
|
195
|
+
},
|
|
196
|
+
activationHint: {
|
|
197
|
+
eager: 'Bắt đầu khi được triển khai và bất cứ khi nào môi trường chạy khởi động lại.',
|
|
198
|
+
onDemand: 'Bắt đầu bằng lượt truy cập đầu tiên sau khi triển khai hoặc khởi động lại môi trường chạy.',
|
|
199
|
+
},
|
|
200
|
+
idleLabel: 'Dừng lại khi không được ghé thăm',
|
|
201
|
+
dormantLabel: 'Ngủ đông khi không được truy cập',
|
|
202
|
+
idleModeLabel: 'Cách hoạt động của bộ hẹn giờ không hoạt động',
|
|
203
|
+
dormantModeLabel: 'Cách hoạt động của bộ hẹn giờ ngủ đông',
|
|
204
|
+
minutes: 'phút',
|
|
205
|
+
hours: 'giờ',
|
|
206
|
+
neverIdle: 'Không bao giờ',
|
|
207
|
+
neverDormant: 'Không bao giờ',
|
|
208
|
+
timerMode: {
|
|
209
|
+
inherit: 'Sử dụng giá trị mặc định của môi trường',
|
|
210
|
+
custom: 'Đặt giá trị tùy chỉnh',
|
|
211
|
+
},
|
|
212
|
+
customTimerHint: 'Để trống giá trị tùy chỉnh sẽ tắt bộ hẹn giờ này; giá trị mặc định của môi trường sẽ không được sử dụng.',
|
|
213
|
+
idleSummary: 'dừng sau phút {{minutes}} không được truy cập',
|
|
214
|
+
dormantSummary: 'ngủ đông sau {{hours}} h',
|
|
215
|
+
timersHint: 'Ứng dụng đã dừng sẽ giải phóng bộ nhớ và khởi động lại vào lần truy cập tiếp theo. Một ứng dụng đang ngủ đông cũng bị xóa các tệp đã giải nén; cấu hình và dữ liệu được giữ lại và lần truy cập tiếp theo sẽ chuẩn bị lại, việc này sẽ mất nhiều thời gian hơn.',
|
|
216
|
+
unsupported: 'Môi trường này không hỗ trợ bắt đầu khi truy cập; ứng dụng tiếp tục chạy.',
|
|
217
|
+
errors: {
|
|
218
|
+
idleInvalid: 'Nhập toàn bộ số phút từ 1 đến {{max}} hoặc để trống.',
|
|
219
|
+
dormantInvalid: 'Nhập số giờ từ 0,02 (một phút) đến {{max}} hoặc để trống.',
|
|
220
|
+
dormantBeforeIdle: 'Ngủ đông phải đến sau khi dừng lại.',
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
state: {
|
|
224
|
+
pending: 'Bắt đầu',
|
|
225
|
+
starting: 'Bắt đầu',
|
|
226
|
+
running: 'Đang chạy',
|
|
227
|
+
stopped: 'Đã dừng',
|
|
228
|
+
stoppedOnDemand: 'Đã dừng (bắt đầu truy cập)',
|
|
229
|
+
dormant: 'Ngủ đông (chuẩn bị khi ghé thăm)',
|
|
230
|
+
waitingCapacity: 'Đang chờ chỗ trống',
|
|
231
|
+
waitingMemory: 'Đang chờ bộ nhớ',
|
|
232
|
+
waitingRecycle: 'Đang chờ máy chủ khởi động lại',
|
|
233
|
+
failed: 'Thất bại',
|
|
234
|
+
unknown: 'Không rõ',
|
|
235
|
+
deploying: 'Triển khai',
|
|
236
|
+
},
|
|
237
|
+
operate: {
|
|
238
|
+
refreshFailed: 'Không thể làm mới trạng thái ứng dụng. Hoạt động không có sẵn cho đến khi trạng thái được làm mới. Hãy kiểm tra kết nối và quyền truy cập của bạn rồi thử lại.',
|
|
239
|
+
disabled: {
|
|
240
|
+
busy: 'Một hoạt động đang được tiến hành.',
|
|
241
|
+
unavailable: 'Trạng thái ứng dụng không khả dụng. Làm mới trạng thái trước khi vận hành ứng dụng.',
|
|
242
|
+
deploying: 'Quá trình triển khai đang được tiến hành.',
|
|
243
|
+
starting: 'Ứng dụng đang khởi động.',
|
|
244
|
+
notDeployed: 'Trước tiên hãy triển khai bản phát hành.',
|
|
245
|
+
alreadyRunning: 'Ứng dụng đã chạy.',
|
|
246
|
+
notRunning: 'Ứng dụng không chạy.',
|
|
247
|
+
},
|
|
248
|
+
start: 'Bắt đầu',
|
|
249
|
+
stop: 'Dừng',
|
|
250
|
+
restart: 'Khởi động lại',
|
|
251
|
+
done: {
|
|
252
|
+
start: 'Ứng dụng đang khởi động.',
|
|
253
|
+
stop: 'Ứng dụng đã dừng.',
|
|
254
|
+
restart: 'Ứng dụng đang khởi động lại.',
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
releases: {
|
|
258
|
+
title: 'Bản phát hành',
|
|
259
|
+
upload: 'Tải lên bản phát hành',
|
|
260
|
+
uploadAction: 'Tải lên',
|
|
261
|
+
commit: 'Commit',
|
|
262
|
+
commitHint: 'Tùy chọn: cam kết kho lưu trữ này được xây dựng từ đó, được lưu dưới dạng nhãn sha.',
|
|
263
|
+
uploaded: 'Đã tải lên bản phát hành.',
|
|
264
|
+
checksum: 'Tổng kiểm tra',
|
|
265
|
+
size: 'Kích thước',
|
|
266
|
+
created: 'Đã tạo',
|
|
267
|
+
empty: 'Chưa có bản phát hành nào. Tải lên gói .tar.gz được tạo cho ứng dụng này.',
|
|
268
|
+
loadFailed: 'Không thể tải các bản phát hành.',
|
|
269
|
+
},
|
|
270
|
+
deploy: {
|
|
271
|
+
deploy: 'Triển khai',
|
|
272
|
+
started: 'Triển khai {{version}}.',
|
|
273
|
+
confirmProtected: 'Môi trường này được bảo vệ. Gõ {{appId}} để triển khai.',
|
|
274
|
+
},
|
|
275
|
+
deployments: {
|
|
276
|
+
cancel: 'Hủy triển khai',
|
|
277
|
+
replaced: 'Đã được thay thế bằng lần triển khai mới hơn.',
|
|
278
|
+
cancelAccepted: 'Đã nhận yêu cầu hủy.',
|
|
279
|
+
queueAhead: 'Đang chờ · còn {{ahead}} lượt phía trước',
|
|
280
|
+
restartHint: 'Triển khai bị gián đoạn. Vui lòng triển khai lại bản phát hành.',
|
|
281
|
+
title: 'Triển khai',
|
|
282
|
+
kind: 'Loại',
|
|
283
|
+
status: 'Trạng thái',
|
|
284
|
+
by: 'Bởi',
|
|
285
|
+
current: 'Hiện tại',
|
|
286
|
+
logs: 'Nhật ký',
|
|
287
|
+
rollback: 'Quay lại',
|
|
288
|
+
rollbackStarted: 'Quay lại.',
|
|
289
|
+
confirmRollbackTitle: 'Quay lại {{name}}?',
|
|
290
|
+
confirmRollback: 'Ứng dụng quay lại bản phát hành triển khai đó; những gì đã được triển khai kể từ đó sẽ được lấy lại.',
|
|
291
|
+
loadFailed: 'Không thể tải các triển khai.',
|
|
292
|
+
empty: 'Chưa được triển khai.',
|
|
293
|
+
hideLogs: 'Ẩn nhật ký',
|
|
294
|
+
noLogs: 'Không có dòng nhật ký.',
|
|
295
|
+
statuses: {
|
|
296
|
+
cancelling: 'Đang hủy',
|
|
297
|
+
cancelled: 'Đã hủy',
|
|
298
|
+
queued: 'Đã xếp hàng',
|
|
299
|
+
deploying: 'Triển khai',
|
|
300
|
+
succeeded: 'Đã thành công',
|
|
301
|
+
failed: 'Thất bại',
|
|
302
|
+
},
|
|
303
|
+
},
|
|
304
|
+
actors: {
|
|
305
|
+
human: 'người',
|
|
306
|
+
agent: 'Agent',
|
|
307
|
+
key: 'phím',
|
|
308
|
+
rule: 'quy tắc',
|
|
309
|
+
system: 'hệ thống',
|
|
310
|
+
},
|
|
311
|
+
requests: {
|
|
312
|
+
title: 'Yêu cầu triển khai',
|
|
313
|
+
pendingApproval: 'Đang chờ phê duyệt',
|
|
314
|
+
notice: {
|
|
315
|
+
deploy: 'đã yêu cầu triển khai {{version}} lên {{environment}}',
|
|
316
|
+
rollback: 'đã yêu cầu đưa {{environment}} trở lại {{version}}',
|
|
317
|
+
},
|
|
318
|
+
someone: 'Ai đó',
|
|
319
|
+
review: 'Đánh giá',
|
|
320
|
+
view: 'Xem',
|
|
321
|
+
comment: 'Bình luận (tùy chọn)',
|
|
322
|
+
decideFailed: 'Quyết định không được thông qua',
|
|
323
|
+
request: 'Yêu cầu triển khai',
|
|
324
|
+
created: 'Yêu cầu triển khai.',
|
|
325
|
+
approve: 'Phê duyệt',
|
|
326
|
+
confirmApproveTitle: 'Phê duyệt việc triển khai {{appId}}?',
|
|
327
|
+
reject: 'Từ chối',
|
|
328
|
+
cancel: 'Rút lại',
|
|
329
|
+
requestedBy: 'Được yêu cầu bởi',
|
|
330
|
+
decidedBy: 'Quyết định bởi',
|
|
331
|
+
note: 'Ghi chú',
|
|
332
|
+
approvedToast: 'Phê duyệt việc triển khai {{appId}}.',
|
|
333
|
+
rejectedToast: 'Đã từ chối triển khai {{appId}}.',
|
|
334
|
+
app: 'Ứng dụng',
|
|
335
|
+
commit: 'Commit',
|
|
336
|
+
build: 'Xây dựng',
|
|
337
|
+
ciLog: 'Nhật ký CI',
|
|
338
|
+
requestedAt: 'Đã yêu cầu',
|
|
339
|
+
decisionNote: 'Biên bản quyết định',
|
|
340
|
+
pinned: 'tổng kiểm tra {{checksum}}; phê duyệt triển khai chính xác điều này',
|
|
341
|
+
loadFailed: 'Không thể tải yêu cầu triển khai.',
|
|
342
|
+
detailTitle: {
|
|
343
|
+
deploy: 'Yêu cầu triển khai cho {{appId}}',
|
|
344
|
+
rollback: 'Yêu cầu khôi phục cho {{appId}}',
|
|
345
|
+
},
|
|
346
|
+
reviewTitle: {
|
|
347
|
+
deploy: 'Xem lại yêu cầu triển khai cho {{appId}}',
|
|
348
|
+
rollback: 'Xem lại yêu cầu khôi phục cho {{appId}}',
|
|
349
|
+
},
|
|
350
|
+
done: {
|
|
351
|
+
approve: 'Yêu cầu đã được phê duyệt.',
|
|
352
|
+
reject: 'Yêu cầu bị từ chối.',
|
|
353
|
+
cancel: 'Yêu cầu đã được rút lại.',
|
|
354
|
+
},
|
|
355
|
+
kind: {
|
|
356
|
+
deploy: 'Triển khai',
|
|
357
|
+
rollback: 'Khôi phục',
|
|
358
|
+
},
|
|
359
|
+
status: {
|
|
360
|
+
pending: 'Đang chờ',
|
|
361
|
+
approved: 'Đã phê duyệt',
|
|
362
|
+
rejected: 'Đã từ chối',
|
|
363
|
+
cancelled: 'Đã rút lại',
|
|
364
|
+
deployed: 'Đã triển khai',
|
|
365
|
+
failed: 'Thất bại',
|
|
366
|
+
},
|
|
367
|
+
},
|
|
368
|
+
variables: {
|
|
369
|
+
title: 'Biến',
|
|
370
|
+
description: 'Biến môi trường mà ứng dụng này chạy cùng. Mỗi thay đổi được lưu cùng một lúc và tiếp cận ứng dụng trong lần triển khai tiếp theo.',
|
|
371
|
+
environmentDescription: 'Mọi ứng dụng trong môi trường này, bao gồm cả bản xem trước yêu cầu kéo, đều nhận được những bản xem trước này trừ khi nó tự thiết lập. Được liệt kê với nội dung mà bản dựng gần đây nhất của mỗi ứng dụng khai báo. Các thay đổi được lưu cùng một lúc và tiếp cận ứng dụng trong lần triển khai tiếp theo.',
|
|
372
|
+
add: 'Thêm biến',
|
|
373
|
+
name: 'Tên',
|
|
374
|
+
value: 'Giá trị',
|
|
375
|
+
source: 'Nguồn',
|
|
376
|
+
secret: 'Bí mật',
|
|
377
|
+
secretHint: 'Một bí mật sẽ không bao giờ được hiển thị lại sau khi được lưu.',
|
|
378
|
+
nameHint: 'Chữ in hoa, chữ số và dấu gạch dưới, bắt đầu bằng một chữ cái.',
|
|
379
|
+
invalidName: 'Sử dụng chữ in hoa, chữ số và dấu gạch dưới, bắt đầu bằng một chữ cái.',
|
|
380
|
+
valueOf: 'Giá trị của {{name}}',
|
|
381
|
+
set: 'Bộ',
|
|
382
|
+
notSet: 'Chưa đặt',
|
|
383
|
+
sources: {
|
|
384
|
+
app: 'Ứng dụng',
|
|
385
|
+
environment: 'Từ môi trường',
|
|
386
|
+
configFile: 'config.yml',
|
|
387
|
+
generated: 'Đã tạo',
|
|
388
|
+
default: 'Mặc định',
|
|
389
|
+
unset: 'Bỏ đặt',
|
|
390
|
+
},
|
|
391
|
+
tags: {
|
|
392
|
+
required: 'Bắt buộc',
|
|
393
|
+
secret: 'Bí mật',
|
|
394
|
+
firstStartOnly: 'Chỉ bắt đầu lần đầu tiên',
|
|
395
|
+
changed: 'Đã thay đổi — cần khởi động lại',
|
|
396
|
+
missing: 'Thiếu',
|
|
397
|
+
undeclared: 'Không được khai báo',
|
|
398
|
+
},
|
|
399
|
+
setValue: 'Đặt giá trị',
|
|
400
|
+
replace: 'Thay thế',
|
|
401
|
+
override: 'Ghi đè',
|
|
402
|
+
overrideOf: 'Ghi đè {{name}}',
|
|
403
|
+
overrideTitle: 'Ghi đè {{name}}',
|
|
404
|
+
overrideHint: 'Ứng dụng này lấy giá trị này thay vì giá trị của môi trường. Lưu cùng một lúc; ứng dụng sẽ có được nó trong lần triển khai tiếp theo.',
|
|
405
|
+
savedAtOnce: 'Lưu cùng một lúc; ứng dụng sẽ có được nó trong lần triển khai tiếp theo.',
|
|
406
|
+
updated: 'Đã cập nhật',
|
|
407
|
+
clear: 'Xóa',
|
|
408
|
+
addTitle: 'Thêm biến',
|
|
409
|
+
setTitle: 'Đặt {{name}}',
|
|
410
|
+
save: 'Lưu',
|
|
411
|
+
cancel: 'Hủy',
|
|
412
|
+
saved: '{{name}} đã được lưu.',
|
|
413
|
+
cleared: '{{name}} đã xóa.',
|
|
414
|
+
loadFailed: 'Không thể tải các biến.',
|
|
415
|
+
emptyTitle: 'Không có biến',
|
|
416
|
+
emptyDescription: 'Bản phát hành tuyên bố không có và không có gì được đặt. Thêm một cái để chuyển nó vào ứng dụng.',
|
|
417
|
+
emptyEnvironmentTitle: 'Chưa có biến',
|
|
418
|
+
emptyEnvironment: 'Thêm một cái để chuyển nó tới mọi ứng dụng trong môi trường này.',
|
|
419
|
+
emptyEnvironmentReadOnly: 'Yêu cầu quản trị viên thêm một.',
|
|
420
|
+
noManifest: 'Bản phát hành này không khai báo các biến của nó, vì vậy không có biến nào được kiểm tra trước khi triển khai.',
|
|
421
|
+
basis: 'Được liệt kê là bản dựng gần đây nhất ({{version}}) tuyên bố chúng. Giá trị riêng của ứng dụng có trước giá trị của môi trường.',
|
|
422
|
+
noBuildTitle: 'Chưa có công trình nào',
|
|
423
|
+
noBuildDescription: 'Các biến xuất hiện ở đây sau khi bản dựng đầu tiên của ứng dụng được tải lên. Bây giờ bạn có thể thêm một cái bằng tay.',
|
|
424
|
+
noBuild: 'Chưa có bản dựng nào: đây là những giá trị được đặt bằng tay.',
|
|
425
|
+
undeclaredTitle: 'Không khai báo',
|
|
426
|
+
undeclaredDescription: 'Bản dựng gần đây nhất không khai báo những điều này. Họ vẫn tiếp cận ứng dụng; xóa giá trị riêng của ứng dụng khi không cần thiết.',
|
|
427
|
+
setOnEnvironment: 'Đặt trên môi trường',
|
|
428
|
+
setOnApp: 'Đặt trên ứng dụng này',
|
|
429
|
+
declaredBy: 'Tuyên bố bởi',
|
|
430
|
+
status: 'Trạng thái',
|
|
431
|
+
noApps: 'Không có ứng dụng nào khai báo điều đó',
|
|
432
|
+
moreApps: '+{{count}}',
|
|
433
|
+
appGroup: '{{label}} ×{{count}}',
|
|
434
|
+
missingIn_one: 'Thiếu trong ứng dụng {{count}}',
|
|
435
|
+
missingIn_other: 'Thiếu trong ứng dụng {{count}}',
|
|
436
|
+
missingInTitle: 'Bắt buộc và không có giá trị cho: {{apps}}',
|
|
437
|
+
environmentSet: 'Đặt ở đây',
|
|
438
|
+
environmentNotSet: 'Không được đặt ở đây',
|
|
439
|
+
missingTitle: 'Các biến bắt buộc không được đặt',
|
|
440
|
+
missingDescription: '{{names}} phải được đặt trước khi có thể triển khai bản dựng gần đây nhất: trên môi trường cho mọi ứng dụng ở đó hoặc chỉ trên ứng dụng này.',
|
|
441
|
+
review: 'Xem lại biến',
|
|
442
|
+
changedTitle: 'Các thay đổi về biến không được áp dụng',
|
|
443
|
+
changedDescription: 'Một biến đã thay đổi kể từ khi ứng dụng được triển khai. Nó có hiệu lực khi ứng dụng được triển khai lại.',
|
|
444
|
+
apply: 'Áp dụng và khởi động lại',
|
|
445
|
+
applied: 'Triển khai lại với các biến mới.',
|
|
446
|
+
needs_one: 'Cần biến {{count}}',
|
|
447
|
+
needs_other: 'Cần biến {{count}}',
|
|
448
|
+
missing: 'Thiếu {{count}}',
|
|
449
|
+
bulk: {
|
|
450
|
+
edit: 'Chỉnh sửa hàng loạt',
|
|
451
|
+
title: 'Chỉnh sửa hàng loạt biến',
|
|
452
|
+
reviewTitle: 'Xem xét các thay đổi',
|
|
453
|
+
description: 'Dán hoặc chỉnh sửa các dòng KEY=value, như trong tệp .env. Các dòng bắt đầu bằng # sẽ bị bỏ qua.',
|
|
454
|
+
appHint: 'Liệt kê các giá trị mà ứng dụng này tự đặt ra. Các giá trị từ môi trường và Bí mật của nó không được hiển thị: thêm một dòng để ghi đè hoặc thay thế một dòng. Xóa một dòng sẽ xóa giá trị đó.',
|
|
455
|
+
environmentHint: 'Liệt kê các giá trị của môi trường này. Bí mật không được hiển thị: thêm một dòng để thay thế một dòng. Xóa một dòng sẽ xóa giá trị đó.',
|
|
456
|
+
label: 'Biến (.env)',
|
|
457
|
+
review: 'Xem xét các thay đổi',
|
|
458
|
+
back: 'Quay lại',
|
|
459
|
+
changes: 'Thay đổi',
|
|
460
|
+
noChanges: 'Văn bản đặt những gì đã có ở đó.',
|
|
461
|
+
nothing: 'Không có thay đổi nào để lưu',
|
|
462
|
+
unchanged_one: 'Biến {{count}} vẫn giữ nguyên.',
|
|
463
|
+
unchanged_other: 'Các biến {{count}} vẫn giữ nguyên.',
|
|
464
|
+
save_one: 'Lưu {{count}} thay đổi',
|
|
465
|
+
save_other: 'Lưu {{count}} thay đổi',
|
|
466
|
+
saved_one: 'Đã lưu thay đổi {{count}}.',
|
|
467
|
+
saved_other: 'Đã lưu các thay đổi {{count}}.',
|
|
468
|
+
secretOf: '{{name}} là một bí mật',
|
|
469
|
+
failedTitle: 'Một số thay đổi chưa được lưu',
|
|
470
|
+
kinds: {
|
|
471
|
+
add: 'Thêm',
|
|
472
|
+
change: 'Thay đổi',
|
|
473
|
+
remove: 'Loại bỏ',
|
|
474
|
+
},
|
|
475
|
+
problems: {
|
|
476
|
+
syntax: 'Dòng {{line}}: ghi là KEY=value.',
|
|
477
|
+
name: 'Dòng {{line}}: {{name}} không phải là tên hợp lệ. Sử dụng chữ in hoa, chữ số và dấu gạch dưới, bắt đầu bằng một chữ cái.',
|
|
478
|
+
reserved: 'Dòng {{line}}: {{name}} được đặt theo môi trường chạy và không thể là một biến.',
|
|
479
|
+
duplicate: 'Dòng {{line}}: {{name}} đã được đặt trên dòng trước đó.',
|
|
480
|
+
unterminated: 'Dòng {{line}}: báo giá xung quanh giá trị của {{name}} chưa được đóng.',
|
|
481
|
+
},
|
|
482
|
+
},
|
|
483
|
+
},
|
|
484
|
+
tabs: {
|
|
485
|
+
label: 'Các phần của {{name}}',
|
|
486
|
+
overview: 'Tổng quan',
|
|
487
|
+
deployments: 'Triển khai',
|
|
488
|
+
variables: 'Biến',
|
|
489
|
+
settings: 'Cài đặt',
|
|
490
|
+
},
|
|
491
|
+
sharedHost: {
|
|
492
|
+
title: 'Máy chủ ứng dụng dùng chung',
|
|
493
|
+
description: 'Ứng dụng của mọi môi trường trên máy chủ này dùng chung một tiến trình và bộ nhớ của nó.',
|
|
494
|
+
environments: 'Môi trường trên máy chủ này: {{names}}',
|
|
495
|
+
recycling: {
|
|
496
|
+
pending: 'Mã cũ được giải phóng bằng cách khởi động lại máy chủ này khi không còn ứng dụng nào được dùng. Phiên bản mới chờ đến lúc đó; ứng dụng đang chạy vẫn phục vụ.',
|
|
497
|
+
restarting: 'Máy chủ này đang khởi động lại. Các ứng dụng sẽ trả lời “thử lại sau giây lát” cho đến khi hoạt động trở lại.',
|
|
498
|
+
},
|
|
499
|
+
restoreFailed: '{{name}}: không khôi phục được các ứng dụng; đang thử lại ở chế độ nền.',
|
|
500
|
+
failed: 'Không thể khôi phục ứng dụng sau khi máy chủ dùng chung khởi động lại; đang thử lại ở chế độ nền.',
|
|
501
|
+
view: 'Xem mức sử dụng máy chủ',
|
|
502
|
+
deployed: 'Đã triển khai: {{count}}',
|
|
503
|
+
appsLabel: 'Đang chạy hoặc khởi động',
|
|
504
|
+
heapLabel: 'Heap',
|
|
505
|
+
processLabel: 'Bộ nhớ tiến trình',
|
|
506
|
+
ratio: '{{used}} / {{limit}}',
|
|
507
|
+
runningUnlimited: '{{running}} · không giới hạn',
|
|
508
|
+
available: 'Máy chủ còn trống {{available}}',
|
|
509
|
+
wholeHost: 'Tổng của cả máy chủ, gồm mọi môi trường trên đó; không thể chia bộ nhớ cho từng ứng dụng.',
|
|
510
|
+
viewAppsNote: 'Chỉ liệt kê các ứng dụng bạn được xem.',
|
|
511
|
+
byEnvironment: 'Đang chạy hoặc đang khởi động, theo môi trường:',
|
|
512
|
+
},
|
|
513
|
+
runtime: {
|
|
514
|
+
holds: {
|
|
515
|
+
requests: 'Đang xử lý yêu cầu',
|
|
516
|
+
connections: 'Kết nối đang mở',
|
|
517
|
+
starting: 'Đang khởi động',
|
|
518
|
+
operation: 'Đang triển khai hoặc dừng',
|
|
519
|
+
resident: 'Luôn chạy',
|
|
520
|
+
busy: 'Bận',
|
|
521
|
+
recent: 'Được dùng trong một phút qua',
|
|
522
|
+
},
|
|
523
|
+
waiting: {
|
|
524
|
+
capacity: 'Từ chối khởi động: đã đạt giới hạn ứng dụng hoạt động hoặc hàng đợi khởi động đầy',
|
|
525
|
+
memory: 'Từ chối khởi động: không đủ bộ nhớ',
|
|
526
|
+
recycle: 'Từ chối khởi động: mã mới chờ máy chủ khởi động lại',
|
|
527
|
+
},
|
|
528
|
+
idle: 'Rảnh; bị dừng trước khi cần chỗ',
|
|
529
|
+
lastVisit: 'Lần truy cập cuối: {{time}}',
|
|
530
|
+
},
|
|
531
|
+
overview: {
|
|
532
|
+
currentRelease: 'Bản phát hành hiện tại',
|
|
533
|
+
recent: 'Triển khai gần đây',
|
|
534
|
+
viewAll: 'Xem tất cả',
|
|
535
|
+
},
|
|
536
|
+
initialAdmin: {
|
|
537
|
+
title: 'Người quản trị đầu tiên',
|
|
538
|
+
kept: 'Được tạo cho lần triển khai đầu tiên; nó được giữ cho đến khi ứng dụng bị xóa.',
|
|
539
|
+
username: 'Tên người dùng',
|
|
540
|
+
email: 'Email',
|
|
541
|
+
password: 'Mật khẩu',
|
|
542
|
+
show: 'Hiển thị mật khẩu',
|
|
543
|
+
hide: 'Ẩn mật khẩu',
|
|
544
|
+
copy: 'Sao chép mật khẩu',
|
|
545
|
+
copied: 'Đã sao chép mật khẩu.',
|
|
546
|
+
copyFailed: 'Không thể sao chép mật khẩu. Hãy hiển thị và sao chép thủ công.',
|
|
547
|
+
dismiss: 'Tôi đã lưu nó rồi',
|
|
548
|
+
dismissed: 'Quản trị viên đầu tiên đã bị xóa khỏi trình quản lý phát hành.',
|
|
549
|
+
},
|
|
550
|
+
config: {
|
|
551
|
+
title: 'Nâng cao',
|
|
552
|
+
description: 'config.yml của ứng dụng đã triển khai; lưu tải lại ứng dụng. Ưu tiên các biến có giá trị khác nhau tùy theo môi trường và theo bí mật.',
|
|
553
|
+
loadFailed: 'Không thể tải cấu hình.',
|
|
554
|
+
discard: 'Loại bỏ các thay đổi',
|
|
555
|
+
save: 'Lưu và tải lại',
|
|
556
|
+
saved: 'Đã lưu cấu hình.',
|
|
557
|
+
external: 'Ứng dụng này đọc cấu hình của nó từ quản lý phát hành bên ngoài nên không có config.yml để chỉnh sửa ở đây. Đặt các giá trị khác nhau tùy theo môi trường dưới dạng biến.',
|
|
558
|
+
externalTitle: 'Không có config.yml để chỉnh sửa',
|
|
559
|
+
noFileTitle: 'Chưa có config.yml',
|
|
560
|
+
noFile: 'Tệp config.yml được tạo khi triển khai lần đầu. Trước đó, hãy cấu hình ứng dụng bằng các biến.',
|
|
561
|
+
toVariables: 'Đi đến biến',
|
|
562
|
+
maskedHint: 'Giá trị bí mật hiển thị dưới dạng {{mask}}. Để mặt nạ tại chỗ để giữ giá trị được lưu trữ hoặc nhập một giá trị mới lên trên nó.',
|
|
563
|
+
secrets: 'Bí mật',
|
|
564
|
+
secretsHint: 'Các giá trị được lưu trữ không bao giờ được hiển thị. Thay thế hoặc xóa một ở đây; nó có hiệu lực khi bạn lưu.',
|
|
565
|
+
newValue: 'Giá trị mới cho {{path}}',
|
|
566
|
+
replace: 'Thay thế {{path}}',
|
|
567
|
+
clear: 'Xóa {{path}}',
|
|
568
|
+
},
|
|
569
|
+
settings: {
|
|
570
|
+
edit: 'Thời gian chạy và nhãn',
|
|
571
|
+
editShort: 'Chỉnh sửa',
|
|
572
|
+
editDescription: 'Thời điểm ứng dụng chạy và cách ứng dụng được gắn nhãn. Các thay đổi được áp dụng mà không cần khởi động lại nó.',
|
|
573
|
+
save: 'Lưu',
|
|
574
|
+
saved: 'Đã lưu cài đặt.',
|
|
575
|
+
danger: 'Xóa ứng dụng',
|
|
576
|
+
delete: 'Xóa cùng với dữ liệu của nó',
|
|
577
|
+
deleteDescription: 'Xóa ứng dụng, bản phát hành, hoạt động triển khai và dữ liệu của ứng dụng đó. Điều này không thể hoàn tác được.',
|
|
578
|
+
deleted: '{{name}} đã bị xóa.',
|
|
579
|
+
confirmDeleteTitle: 'Xóa {{name}}?',
|
|
580
|
+
confirmDelete: 'Thao tác này sẽ xóa {{appId}} và tất cả dữ liệu của nó. Gõ {{appId}} để xác nhận.',
|
|
581
|
+
},
|
|
582
|
+
common: {
|
|
583
|
+
retry: 'Thử lại',
|
|
584
|
+
refresh: 'Làm mới',
|
|
585
|
+
actions: 'Thao tác',
|
|
586
|
+
rowActions: 'Hành động dành cho {{name}}',
|
|
587
|
+
},
|
|
588
|
+
errors: {
|
|
589
|
+
requestFailed: 'Yêu cầu không thành công.',
|
|
590
|
+
reasons: {
|
|
591
|
+
IMAGE_REQUIRED: 'Môi trường này chạy hình ảnh phát hành và bản phát hành không có hình ảnh ở đó. Đăng ký hình ảnh CI của bạn đã đẩy (`release image`), sau đó triển khai nó.',
|
|
592
|
+
ARCHIVE_REQUIRED: 'Môi trường này đang chạy các bản lưu trữ phát hành; tải lên kho lưu trữ (`release upload`).',
|
|
593
|
+
IMAGE_CONFLICT: 'Bản phát hành đã có hình ảnh khác cho nền tảng này; hình ảnh của một bản phát hành không bao giờ thay đổi.',
|
|
594
|
+
INVALID_IMAGE: 'Đó không phải là tham chiếu hình ảnh với thông báo sha256.',
|
|
595
|
+
REGISTRY_EXISTS: 'Sổ đăng ký có ID này đã tồn tại.',
|
|
596
|
+
REGISTRY_IN_USE: 'Môi trường lấy từ sổ đăng ký này; trước tiên hãy chọn một sổ đăng ký khác cho họ.',
|
|
597
|
+
UNKNOWN_REGISTRY: 'Sổ đăng ký đó không tồn tại.',
|
|
598
|
+
INVALID_REGISTRY_URL: 'Nhập nguồn gốc của sổ đăng ký, chẳng hạn như https://ghcr.io hoặc localhost:5000.',
|
|
599
|
+
INVALID_REGISTRY_NAMESPACE: 'Không gian tên là các thành phần đường dẫn chữ thường, chẳng hạn như acme.',
|
|
600
|
+
APP_EXISTS: 'Ứng dụng có ID này đã tồn tại.',
|
|
601
|
+
APP_NOT_DEPLOYED: 'Ứng dụng chưa được triển khai.',
|
|
602
|
+
APP_NOT_FOUND: 'Ứng dụng này không tồn tại hoặc bạn có thể không nhìn thấy nó.',
|
|
603
|
+
APPROVAL_REQUIRED: 'Môi trường này được bảo vệ: thay vào đó hãy yêu cầu triển khai.',
|
|
604
|
+
ARTIFACT_TOO_LARGE: 'Gói phát hành quá lớn.',
|
|
605
|
+
BASE_PATH_MISMATCH: 'Bản phát hành được xây dựng cho một đường dẫn cơ sở khác.',
|
|
606
|
+
CHECKSUM_MISMATCH: 'Gói không khớp với tổng kiểm tra của nó.',
|
|
607
|
+
CONFIG_NOT_EDITABLE: 'Không thể chỉnh sửa cấu hình của ứng dụng này tại đây.',
|
|
608
|
+
CONFIG_SECRET_NOT_STORED: 'Một giá trị bị che giấu không có bí mật được lưu trữ tại vị trí của nó. Nhập giá trị của nó thay vì mặt nạ.',
|
|
609
|
+
CONFIG_RELOAD_FAILED: 'Cấu hình đã được lưu nhưng ứng dụng không thể tải lại.',
|
|
610
|
+
CONFIG_TOO_LARGE: 'Cấu hình quá lớn.',
|
|
611
|
+
CONFIRMATION_REQUIRED: 'Nhập ID ứng dụng để xác nhận.',
|
|
612
|
+
DEPLOYMENT_NOT_CANCELLABLE: 'Triển khai đã bắt đầu chuyển phiên bản hoặc đã kết thúc.',
|
|
613
|
+
CANCELLATION_UNSUPPORTED: 'Trình triển khai này không hỗ trợ hủy.',
|
|
614
|
+
DEPLOYMENT_IN_PROGRESS: 'Quá trình triển khai ứng dụng này đang được tiến hành.',
|
|
615
|
+
DEPLOYMENT_NOT_FOUND: 'Việc triển khai không tồn tại.',
|
|
616
|
+
DRIVER_UNAVAILABLE: 'Trình điều khiển của môi trường không có sẵn.',
|
|
617
|
+
ENVIRONMENT_DRIVER_FIXED: 'Không thể thay đổi trình điều khiển của môi trường.',
|
|
618
|
+
ENVIRONMENT_VARIANT_FIXED: 'Không thể thay đổi chế độ chạy của môi trường; thay vào đó hãy tạo một môi trường khác.',
|
|
619
|
+
ENVIRONMENT_EXISTS: 'Một môi trường có ID này đã tồn tại.',
|
|
620
|
+
ENVIRONMENT_FULL: 'Môi trường đã đạt đến giới hạn ứng dụng.',
|
|
621
|
+
ENVIRONMENT_IN_USE: 'Các ứng dụng vẫn được triển khai trong môi trường này.',
|
|
622
|
+
ENVIRONMENT_NOT_FOUND: 'Môi trường không tồn tại.',
|
|
623
|
+
FORBIDDEN: 'Bạn không có quyền làm điều này.',
|
|
624
|
+
IDEMPOTENCY_CONFLICT: 'Yêu cầu tương tự đã được gửi với nội dung khác nhau.',
|
|
625
|
+
INVALID_ACTIVATION_POLICY: 'Chính sách kích hoạt không hợp lệ.',
|
|
626
|
+
INVALID_IDLE_STOP: 'Dừng không hoạt động không hợp lệ.',
|
|
627
|
+
INVALID_DORMANCY: 'Thời gian ngủ đông không hợp lệ.',
|
|
628
|
+
INVALID_APP_ID: 'Sử dụng các chữ cái, chữ số, dấu gạch dưới và dấu gạch nối cho ID ứng dụng, không bắt đầu bằng "__" và không phải "mới".',
|
|
629
|
+
INVALID_APPROVERS: 'Người phê duyệt không hợp lệ.',
|
|
630
|
+
INVALID_ARTIFACT_SIZE: 'Kích thước gói không hợp lệ.',
|
|
631
|
+
INVALID_ARTIFACT_VERSION: 'Phiên bản phát hành không hợp lệ.',
|
|
632
|
+
INVALID_ARTIFACT: 'Tệp không phải là gói phát hành hợp lệ.',
|
|
633
|
+
INVALID_CHECKSUM: 'Tổng kiểm tra không hợp lệ.',
|
|
634
|
+
INVALID_CONFIG_FILE: 'Cấu hình YAML không hợp lệ.',
|
|
635
|
+
INVALID_CONFIG_MODE: 'Chế độ cấu hình không hợp lệ.',
|
|
636
|
+
INVALID_CONFIG_SECRET: 'Thay đổi bí mật không hợp lệ.',
|
|
637
|
+
INVALID_CONTENT_TYPE: 'Tải lên gói .tar.gz.',
|
|
638
|
+
INVALID_DEPLOYMENT_INPUT: 'Yêu cầu triển khai không hợp lệ.',
|
|
639
|
+
INVALID_DRIVER: 'Trình điều khiển không hợp lệ.',
|
|
640
|
+
INVALID_ENVIRONMENT_CONFIG: 'Cài đặt môi trường không hợp lệ cho trình điều khiển của nó.',
|
|
641
|
+
INVALID_ENVIRONMENT_ID: 'Sử dụng chữ cái viết thường, chữ số, dấu gạch dưới và dấu gạch nối cho ID môi trường.',
|
|
642
|
+
INVALID_ENVIRONMENT_SETTINGS: 'Cài đặt môi trường không hợp lệ.',
|
|
643
|
+
INVALID_IDEMPOTENCY_KEY: 'Khóa yêu cầu không hợp lệ.',
|
|
644
|
+
INVALID_INPUT: 'Một số trường của yêu cầu không hợp lệ.',
|
|
645
|
+
INVALID_LABELS: 'Viết nhãn dưới dạng khóa=giá trị, phân tách bằng dấu phẩy.',
|
|
646
|
+
INVALID_LOG_CURSOR: 'Vị trí nhật ký không hợp lệ.',
|
|
647
|
+
INVALID_LOG_ID: 'Nhật ký không tồn tại.',
|
|
648
|
+
INVALID_NOTE: 'Ghi chú quá dài.',
|
|
649
|
+
INVALID_PUBLIC_URL: 'Mẫu URL công khai không hợp lệ.',
|
|
650
|
+
INVALID_REQUEST: 'Yêu cầu không hợp lệ.',
|
|
651
|
+
INVALID_ROLLBACK_TARGET: 'Không thể khôi phục hoạt động triển khai này.',
|
|
652
|
+
INVALID_SEARCH: 'Tìm kiếm không hợp lệ.',
|
|
653
|
+
INVALID_TICKET: 'Vé không hợp lệ.',
|
|
654
|
+
RELEASE_EXISTS: 'Phiên bản này đã được tải lên.',
|
|
655
|
+
RELEASE_NOT_FOUND: 'Bản phát hành không tồn tại.',
|
|
656
|
+
REQUEST_DECIDED: 'Yêu cầu đã được quyết định.',
|
|
657
|
+
REQUEST_NOT_FOUND: 'Yêu cầu không tồn tại.',
|
|
658
|
+
REQUEST_PENDING: 'Yêu cầu cho ứng dụng này đang chờ phê duyệt.',
|
|
659
|
+
RESTART_FAILED: 'Không thể khởi động lại ứng dụng.',
|
|
660
|
+
SESSION_REQUIRED: 'Đăng nhập lại để tiếp tục.',
|
|
661
|
+
START_FAILED: 'Không thể khởi động ứng dụng.',
|
|
662
|
+
STOP_FAILED: 'Không thể dừng ứng dụng.',
|
|
663
|
+
TICKET_DEPLOY_REFUSED: 'Vé không cho phép triển khai này.',
|
|
664
|
+
TICKET_FORBIDDEN: 'Vé không cho phép điều này.',
|
|
665
|
+
UNSAFE_ARTIFACT: 'Gói chứa đường dẫn không an toàn.',
|
|
666
|
+
VARIABLES_MISSING: 'Các biến bắt buộc không được đặt: {{names}}. Đặt chúng trong các biến của ứng dụng hoặc môi trường của ứng dụng, sau đó triển khai lại.',
|
|
667
|
+
VARIABLE_RESERVED: 'Tên này được đặt theo môi trường chạy và không thể là biến.',
|
|
668
|
+
INVALID_VARIABLE_NAME: 'Tên biến là chữ in hoa, chữ số và dấu gạch dưới, bắt đầu bằng một chữ cái.',
|
|
669
|
+
INVALID_VARIABLE_VALUE: 'Giá trị quá dài.',
|
|
670
|
+
VARIABLE_NOT_FOUND: 'Biến không được đặt.',
|
|
671
|
+
INVALID_VARIABLES_MANIFEST: 'Tệp kê khai các biến của bản phát hành (dist/variables.json) không hợp lệ.',
|
|
672
|
+
INITIAL_ADMIN_UNAVAILABLE: 'Không có quản trị viên đầu tiên hiển thị.',
|
|
673
|
+
},
|
|
674
|
+
messages: {
|
|
675
|
+
hostExited: 'Quá trình của ứng dụng đã dừng trước khi sẵn sàng.',
|
|
676
|
+
hostDisabled: 'Máy chủ ứng dụng bị tắt.',
|
|
677
|
+
hostShutDown: 'Máy chủ ứng dụng đã tắt.',
|
|
678
|
+
hostEntryMissing: 'Thiếu tệp nhập của máy chủ ứng dụng.',
|
|
679
|
+
cannotRestart: 'Máy chủ này không thể khởi động lại từ đây.',
|
|
680
|
+
selfDeploy: 'Máy chủ không thể triển khai ứng dụng mà nó chạy trong đó.',
|
|
681
|
+
noStatus: 'Máy chủ không báo cáo quá trình triển khai diễn ra như thế nào.',
|
|
682
|
+
interrupted: 'Việc triển khai bị gián đoạn do khởi động lại.',
|
|
683
|
+
notReported: 'Thời gian chạy không báo cáo ứng dụng.',
|
|
684
|
+
notRunning: 'Ứng dụng không chạy sau khi khởi động lại.',
|
|
685
|
+
deploymentNotReported: 'Thời gian chạy không báo cáo việc triển khai.',
|
|
686
|
+
notReady: 'Nó vẫn chưa sẵn sàng; hãy thử lại sau giây lát.',
|
|
687
|
+
checkTimeout: 'Bài kiểm tra không kết thúc trong vòng 20 giây.',
|
|
688
|
+
hostNoSettings: 'Thời gian chạy cục bộ không có cài đặt kết nối.',
|
|
689
|
+
},
|
|
690
|
+
prefixed: {
|
|
691
|
+
startFailed: 'Khởi động không thành công: {{detail}}',
|
|
692
|
+
stopFailed: 'Dừng không thành công: {{detail}}',
|
|
693
|
+
restartFailed: 'Khởi động lại không thành công: {{detail}}',
|
|
694
|
+
outcomeUnreadable: 'Không thể đọc được kết quả: {{detail}}',
|
|
695
|
+
},
|
|
696
|
+
},
|
|
697
|
+
confirm: {
|
|
698
|
+
cancel: 'Hủy',
|
|
699
|
+
typeLabel: 'Gõ {{text}} để xác nhận',
|
|
700
|
+
},
|
|
701
|
+
environments: {
|
|
702
|
+
title: 'Triển khai môi trường',
|
|
703
|
+
description: 'Ứng dụng được triển khai ở đâu và ai có thể triển khai ở đó.',
|
|
704
|
+
open: 'Mở',
|
|
705
|
+
loadOneFailed: 'Không thể tải môi trường.',
|
|
706
|
+
settingsTitle: 'Cài đặt môi trường',
|
|
707
|
+
readOnly: 'Bạn có thể xem cài đặt của môi trường này nhưng không thể thay đổi chúng.',
|
|
708
|
+
danger: 'Xóa môi trường',
|
|
709
|
+
deleteDescription: 'Loại bỏ môi trường và các biến của nó. Các ứng dụng được triển khai ở đây phải được xóa trước tiên.',
|
|
710
|
+
discard: 'Loại bỏ các thay đổi',
|
|
711
|
+
anyone: 'Bất cứ ai có thể triển khai',
|
|
712
|
+
unlimited: 'Không giới hạn',
|
|
713
|
+
apps: 'Ứng dụng',
|
|
714
|
+
appsDescription: 'Các ứng dụng được triển khai vào môi trường này.',
|
|
715
|
+
appsEmpty: 'Chưa có ứng dụng nào được triển khai ở đây.',
|
|
716
|
+
sampleData: 'Tải dữ liệu mẫu vào lần triển khai đầu tiên',
|
|
717
|
+
sampleDataHint: 'Lần triển khai đầu tiên của ứng dụng tại đây sẽ cài đặt dữ liệu mẫu của ứng dụng đó (APP_SAMPLE_DATA=true). Sử dụng nó để xem trước, không phải để sản xuất.',
|
|
718
|
+
add: 'Thêm môi trường',
|
|
719
|
+
edit: 'Chỉnh sửa',
|
|
720
|
+
delete: 'Xóa',
|
|
721
|
+
save: 'Lưu',
|
|
722
|
+
cancel: 'Hủy',
|
|
723
|
+
check: 'Kiểm tra',
|
|
724
|
+
reachable: '{{name}} có thể truy cập được.',
|
|
725
|
+
unreachable: 'Không thể truy cập {{name}}.',
|
|
726
|
+
deleted: 'Môi trường {{name}} đã bị xóa.',
|
|
727
|
+
saved: 'Đã lưu môi trường {{name}}.',
|
|
728
|
+
added: 'Đã thêm môi trường {{name}}.',
|
|
729
|
+
loadFailed: 'Không thể tải môi trường.',
|
|
730
|
+
emptyTitle: 'Chưa có môi trường',
|
|
731
|
+
emptyNoAccess: 'Yêu cầu quản trị viên thêm môi trường.',
|
|
732
|
+
emptyDescription: 'Thêm môi trường để triển khai ứng dụng.',
|
|
733
|
+
editTitle: 'Chỉnh sửa {{name}}',
|
|
734
|
+
formDescription: 'Ứng dụng được triển khai ở đâu, cách tiếp cận ứng dụng và ai có thể triển khai ở đó.',
|
|
735
|
+
configHint: 'Cài đặt của trình điều khiển, dưới dạng đối tượng JSON.',
|
|
736
|
+
secretHint: 'Được lưu trữ được mã hóa và không bao giờ hiển thị lại; để trống để giữ.',
|
|
737
|
+
invalidJson: 'Nhập đối tượng JSON, chẳng hạn như {}.',
|
|
738
|
+
protectedHint: 'Mọi hoạt động triển khai, bởi một người hoặc bởi CI, đều chờ người phê duyệt, người này nhập lại ID ứng dụng để phê duyệt.',
|
|
739
|
+
approversColumn: 'Người phê duyệt',
|
|
740
|
+
approversPlaceholder: 'Chọn người phê duyệt',
|
|
741
|
+
approversHint: 'Bất kỳ ai trong số họ cũng có thể chấp thuận, bao gồm cả yêu cầu của chính họ. Nếu không có lựa chọn nào, những người được phép phê duyệt triển khai được bảo vệ sẽ quyết định.',
|
|
742
|
+
confirmDelete: 'Xóa môi trường {{id}}?',
|
|
743
|
+
id: 'ID môi trường',
|
|
744
|
+
name: 'Tên',
|
|
745
|
+
driver: 'Lái xe',
|
|
746
|
+
runsOn: 'Chạy tiếp',
|
|
747
|
+
appCount: 'Ứng dụng',
|
|
748
|
+
purpose: 'Mục đích',
|
|
749
|
+
purposeHint: 'Mỗi môi trường chỉ dùng cho một việc: xem trước pull request, hoặc kiểm thử bản phát hành.',
|
|
750
|
+
purposes: { preview: 'Xem trước', test: 'Kiểm thử' },
|
|
751
|
+
policy: 'Chính sách',
|
|
752
|
+
publicUrl: 'Mẫu URL công khai',
|
|
753
|
+
config: 'Cài đặt (JSON)',
|
|
754
|
+
secret: 'Thông tin xác thực (JSON, chỉ ghi)',
|
|
755
|
+
secretStored: 'Thông tin xác thực được lưu trữ; nhập những cái mới để thay thế chúng.',
|
|
756
|
+
protected: 'Được bảo vệ',
|
|
757
|
+
approvers: 'Người phê duyệt',
|
|
758
|
+
pickDriver: 'Chọn cách ứng dụng trong môi trường này chạy. Một môi trường giữ trình điều khiển của nó.',
|
|
759
|
+
next: 'Tiếp tục',
|
|
760
|
+
addWith: 'Thêm môi trường {{driver}}',
|
|
761
|
+
changeDriver: 'Thay đổi',
|
|
762
|
+
basics: 'Môi trường',
|
|
763
|
+
namePlaceholder: 'Dàn dựng',
|
|
764
|
+
idHint: 'Chữ thường, chữ số, dấu gạch dưới và dấu gạch ngang; sau này không thể thay đổi được.',
|
|
765
|
+
policyDescription: 'Ai có thể triển khai ở đây.',
|
|
766
|
+
appDefaults: 'Ứng dụng',
|
|
767
|
+
appDefaultsDescription: 'Nhiều nhất là nhiều Ứng dụng như vậy và khi một Ứng dụng được tạo mà không có chính sách môi trường chạy riêng sẽ dừng và không hoạt động. Trống rỗng: không có giới hạn, không bao giờ.',
|
|
768
|
+
maxApps: 'Hầu hết ứng dụng',
|
|
769
|
+
defaultIdle: 'Dừng sau (phút chưa truy cập)',
|
|
770
|
+
defaultDormant: 'Không hoạt động sau (giờ không được thăm)',
|
|
771
|
+
noForm: 'Không có biểu mẫu cài đặt; cài đặt được nhập dưới dạng JSON ({{kind}}).',
|
|
772
|
+
imageSource: 'Phát hành hình ảnh',
|
|
773
|
+
imageSourceDescription: 'Kéo hình ảnh của từng bản phát hành từ sổ đăng ký theo thông báo, với thông tin xác thực kéo của nó, để môi trường này chạy chính CI hình ảnh được đẩy và các môi trường khác chạy.',
|
|
774
|
+
registry: 'Kho đăng ký',
|
|
775
|
+
noRegistry: 'Không: kéo hình ảnh công khai ẩn danh',
|
|
776
|
+
newRegistry: 'Đăng ký mới',
|
|
777
|
+
editRegistry: 'Chỉnh sửa',
|
|
778
|
+
cancelRegistryEdit: 'Hủy chỉnh sửa',
|
|
779
|
+
registryShared: 'Các thay đổi áp dụng cho mọi môi trường lấy từ sổ đăng ký này.',
|
|
780
|
+
},
|
|
781
|
+
registries: {
|
|
782
|
+
check: 'Kiểm tra kết nối',
|
|
783
|
+
url: 'Địa chỉ',
|
|
784
|
+
urlHint: 'Nguồn gốc của nó, chẳng hạn như https://ghcr.io;, một địa chỉ localhost được truy cập qua HTTP.',
|
|
785
|
+
namespace: 'Không gian tên',
|
|
786
|
+
namespaceHint: 'Đường dẫn phát hành hình ảnh đi theo, chẳng hạn như acme.',
|
|
787
|
+
pull: 'Kéo thông tin đăng nhập',
|
|
788
|
+
pullHint: 'Đối với các môi trường lấy từ sổ đăng ký này; để chúng ở nơi nó cho phép kéo ẩn danh.',
|
|
789
|
+
username: 'Tên người dùng',
|
|
790
|
+
password: 'Mật khẩu hoặc mã thông báo',
|
|
791
|
+
checkOk: 'Đã kết nối',
|
|
792
|
+
checkFailed: 'Kiểm tra kết nối không thành công.',
|
|
793
|
+
checkFailedTitle: 'Không thể sử dụng sổ đăng ký',
|
|
794
|
+
anonymous: 'Cơ quan đăng ký trả lời mà không có thông tin xác thực: bất kỳ ai tiếp cận nó đều có thể kéo.',
|
|
795
|
+
status: {
|
|
796
|
+
ok: 'đã được chấp nhận',
|
|
797
|
+
failed: 'từ chối',
|
|
798
|
+
notSet: 'chưa được đặt',
|
|
799
|
+
},
|
|
800
|
+
},
|
|
801
|
+
artifacts: {
|
|
802
|
+
title: 'Cổ vật',
|
|
803
|
+
tarball: 'Lưu trữ',
|
|
804
|
+
image: 'Hình ảnh',
|
|
805
|
+
ran: 'Chạy',
|
|
806
|
+
ranTarball: 'Đang lưu trữ, đang xử lý',
|
|
807
|
+
},
|
|
808
|
+
driverForm: {
|
|
809
|
+
advanced: 'Cài đặt nâng cao',
|
|
810
|
+
advancedHint: 'Mặc định phù hợp với hầu hết các môi trường; mở một nhóm để thay đổi nó.',
|
|
811
|
+
on: 'Bật',
|
|
812
|
+
off: 'Tắt',
|
|
813
|
+
noLimit: 'Không giới hạn',
|
|
814
|
+
writeOnly: '(chỉ viết)',
|
|
815
|
+
secretSet: 'Bộ',
|
|
816
|
+
secretCleared: 'Sẽ bị xóa khi bạn lưu',
|
|
817
|
+
replace: 'Thay thế',
|
|
818
|
+
clear: 'Loại bỏ',
|
|
819
|
+
undo: 'Hoàn tác',
|
|
820
|
+
keepStored: 'Giữ cái đã lưu',
|
|
821
|
+
jsonTitle: 'Cài đặt trình điều khiển',
|
|
822
|
+
jsonDescription: 'Trình điều khiển này không có biểu mẫu cài đặt; nhập cài đặt của nó là JSON.',
|
|
823
|
+
check: 'Kiểm tra kết nối',
|
|
824
|
+
checkOk: 'Đã kết nối',
|
|
825
|
+
checkFailed: 'Kiểm tra kết nối không thành công.',
|
|
826
|
+
checkFailedTitle: 'Không thể kết nối',
|
|
827
|
+
fixErrors: 'Một số cài đặt cần sửa; chúng được đánh dấu ở trên.',
|
|
828
|
+
errors: {
|
|
829
|
+
required: 'Bắt buộc.',
|
|
830
|
+
number: 'Nhập một số.',
|
|
831
|
+
integer: 'Nhập số nguyên.',
|
|
832
|
+
range: 'Ngoài phạm vi cho phép.',
|
|
833
|
+
mapLine: 'Viết một NAME=giá trị trên mỗi dòng.',
|
|
834
|
+
mapName: 'Tên là chữ cái, chữ số và dấu gạch dưới, không bắt đầu bằng chữ số.',
|
|
835
|
+
},
|
|
836
|
+
},
|
|
837
|
+
driverForms: {
|
|
838
|
+
host: {
|
|
839
|
+
description: 'Chạy các ứng dụng trên máy chủ này: trong quy trình con của Máy chủ ứng dụng, ứng dụng này khởi động hoặc mỗi ứng dụng trong vùng chứa Docker.',
|
|
840
|
+
runtime: 'Chế độ chạy',
|
|
841
|
+
backend: 'Chế độ chạy',
|
|
842
|
+
backendInProcess: 'Đang trong quá trình',
|
|
843
|
+
backendInProcessHint: 'Chạy trong tiến trình con của Máy chủ ứng dụng mà máy chủ này khởi động, được chia sẻ bởi tất cả các ứng dụng đó. Thích hợp để xem trước.',
|
|
844
|
+
backendDocker: 'Docker',
|
|
845
|
+
backendDockerHint: 'Một vùng chứa cho mỗi ứng dụng, cách ly với nhau. Thích hợp cho việc thử nghiệm và sản xuất.',
|
|
846
|
+
dockerConnection: 'Kết nối Docker',
|
|
847
|
+
dockerConnectionDescription: 'Sử dụng Docker trên máy chủ này, được tìm thấy từ DOCKER_HOST hoặc ngữ cảnh Docker hiện tại, với cài đặt vùng chứa được đề xuất. Kiểm tra kết nối để xem nó tìm thấy Docker nào.',
|
|
848
|
+
access: 'Địa chỉ truy cập',
|
|
849
|
+
publicUrl: 'Mẫu URL công khai',
|
|
850
|
+
publicUrlHint: 'Nơi mọi người mở một ứng dụng, có {appId} trong đường dẫn hoặc tên máy chủ; trống sử dụng địa chỉ riêng của máy chủ.',
|
|
851
|
+
check: {
|
|
852
|
+
url: 'Địa chỉ',
|
|
853
|
+
apps: 'Ứng dụng đang chạy',
|
|
854
|
+
endpoint: 'Docker',
|
|
855
|
+
version: 'Phiên bản Docker',
|
|
856
|
+
platform: 'Nền tảng',
|
|
857
|
+
errors: {
|
|
858
|
+
unsupported: 'Chỉ hỗ trợ Docker trên máy chủ này: DOCKER_HOST phải là ổ cắm unix:// hoặc proxy ổ cắm tcp://.',
|
|
859
|
+
socketMissing: 'Không có ổ cắm Docker ở đó. Docker có được cài đặt và chạy trên máy chủ này không?',
|
|
860
|
+
permission: 'Docker từ chối truy cập. Người dùng ứng dụng này chạy có thể không sử dụng ổ cắm Docker.',
|
|
861
|
+
refused: 'Không có gì chấp nhận kết nối tại địa chỉ đó. Kiểm tra xem Docker có đang chạy không.',
|
|
862
|
+
timeout: 'Docker không trả lời kịp thời.',
|
|
863
|
+
},
|
|
864
|
+
},
|
|
865
|
+
},
|
|
866
|
+
},
|
|
867
|
+
},
|
|
868
|
+
actions: {
|
|
869
|
+
close: 'Đóng',
|
|
870
|
+
},
|
|
871
|
+
status: {
|
|
872
|
+
loading: 'Đang tải',
|
|
873
|
+
},
|
|
874
|
+
};
|
|
875
|
+
export default viVN;
|
|
876
|
+
//# sourceMappingURL=vi-VN.js.map
|