From 7bd0cbce10bd671af46d30d8a3c6f86ec964a2e8 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Wed, 1 Jan 2025 14:04:41 +0800 Subject: [PATCH] feat(ui): improve i18n --- .../certificate/CertificateDetail.tsx | 12 +- ui/src/components/workflow/End.tsx | 4 +- .../node/DeployNodeFormLocalFields.tsx | 2 +- .../workflow/node/StartNodeForm.tsx | 7 +- .../components/workflow/run/WorkflowRuns.tsx | 7 +- ui/src/domain/domain.ts | 24 -- ui/src/domain/workflow.ts | 20 +- ui/src/i18n/locales/en/index.ts | 2 - ui/src/i18n/locales/en/nls.access.json | 144 ++++++------ ui/src/i18n/locales/en/nls.certificate.json | 16 +- ui/src/i18n/locales/en/nls.common.json | 10 +- ui/src/i18n/locales/en/nls.dashboard.json | 12 +- ui/src/i18n/locales/en/nls.domain.json | 126 ----------- ui/src/i18n/locales/en/nls.login.json | 2 +- ui/src/i18n/locales/en/nls.settings.json | 24 +- ui/src/i18n/locales/en/nls.workflow.json | 42 ++-- .../i18n/locales/en/nls.workflow.nodes.json | 206 +++++++++--------- ui/src/i18n/locales/en/nls.workflow.runs.json | 4 +- ui/src/i18n/locales/zh/index.ts | 2 - ui/src/i18n/locales/zh/nls.access.json | 64 +++--- ui/src/i18n/locales/zh/nls.domain.json | 124 ----------- ui/src/i18n/locales/zh/nls.workflow.json | 29 +-- .../i18n/locales/zh/nls.workflow.nodes.json | 15 +- ui/src/pages/workflows/WorkflowDetail.tsx | 50 +++-- 24 files changed, 347 insertions(+), 601 deletions(-) delete mode 100644 ui/src/domain/domain.ts delete mode 100644 ui/src/i18n/locales/en/nls.domain.json delete mode 100644 ui/src/i18n/locales/zh/nls.domain.json diff --git a/ui/src/components/certificate/CertificateDetail.tsx b/ui/src/components/certificate/CertificateDetail.tsx index cc1baca1..ad4bb517 100644 --- a/ui/src/components/certificate/CertificateDetail.tsx +++ b/ui/src/components/certificate/CertificateDetail.tsx @@ -39,13 +39,17 @@ const CertificateDetail = ({ data, ...props }: CertificateDetailProps) => { {MessageContextHolder}
- {data.san} + + + - {dayjs(data.expireAt).format("YYYY-MM-DD HH:mm:ss")} + + +
- + {
- + { const { t } = useTranslation(); return (
-
-
{t("workflow.node.end.title")}
+
+
{t("workflow_node.end.title")}
); }; diff --git a/ui/src/components/workflow/node/DeployNodeFormLocalFields.tsx b/ui/src/components/workflow/node/DeployNodeFormLocalFields.tsx index 6e21ba66..a2e557df 100644 --- a/ui/src/components/workflow/node/DeployNodeFormLocalFields.tsx +++ b/ui/src/components/workflow/node/DeployNodeFormLocalFields.tsx @@ -57,7 +57,7 @@ const DeployNodeFormLocalFields = () => { .nullish() .refine((v) => fieldFormat !== FORMAT_JKS || !!v?.trim(), { message: t("workflow_node.deploy.form.local_jks_storepass.tooltip") }), shellEnv: z.union([z.literal(SHELLENV_SH), z.literal(SHELLENV_CMD), z.literal(SHELLENV_POWERSHELL)], { - message: t("domain.deployment.form.shell.placeholder"), + message: t("workflow_node.deploy.form.local_shell_env.placeholder"), }), preCommand: z .string() diff --git a/ui/src/components/workflow/node/StartNodeForm.tsx b/ui/src/components/workflow/node/StartNodeForm.tsx index def12070..095a61ca 100644 --- a/ui/src/components/workflow/node/StartNodeForm.tsx +++ b/ui/src/components/workflow/node/StartNodeForm.tsx @@ -6,6 +6,7 @@ import dayjs from "dayjs"; import { produce } from "immer"; import { z } from "zod"; +import Show from "@/components/Show"; import { usePanel } from "../PanelProvider"; import { useAntdForm, useZustandShallowSelector } from "@/hooks"; import { type WorkflowNode, type WorkflowNodeConfig } from "@/domain/workflow"; @@ -106,7 +107,7 @@ const StartNodeForm = ({ data }: StartNodeFormProps) => { rules={[formRule]} tooltip={} extra={ - triggerCronLastExecutions.length > 0 ? ( + 0}>
{t("workflow_node.start.form.trigger_cron.extra")}
@@ -117,9 +118,7 @@ const StartNodeForm = ({ data }: StartNodeFormProps) => { ))}
- ) : ( - <> - ) +
} > handleTriggerCronChange(e.target.value)} /> diff --git a/ui/src/components/workflow/run/WorkflowRuns.tsx b/ui/src/components/workflow/run/WorkflowRuns.tsx index a0ca94ae..5a6b38e7 100644 --- a/ui/src/components/workflow/run/WorkflowRuns.tsx +++ b/ui/src/components/workflow/run/WorkflowRuns.tsx @@ -1,5 +1,4 @@ import { useState } from "react"; -import { useParams } from "react-router-dom"; import { useTranslation } from "react-i18next"; import { useRequest } from "ahooks"; import { Button, Empty, notification, Space, Table, theme, Tooltip, Typography, type TableProps } from "antd"; @@ -18,9 +17,10 @@ import { getErrMsg } from "@/utils/error"; export type WorkflowRunsProps = { className?: string; style?: React.CSSProperties; + workflowId: string; }; -const WorkflowRuns = ({ className, style }: WorkflowRunsProps) => { +const WorkflowRuns = ({ className, style, workflowId }: WorkflowRunsProps) => { const { t } = useTranslation(); const { token: themeToken } = theme.useToken(); @@ -105,11 +105,10 @@ const WorkflowRuns = ({ className, style }: WorkflowRunsProps) => { const [page, setPage] = useState(1); const [pageSize, setPageSize] = useState(10); - const { id: workflowId } = useParams(); // TODO: 外部传参 const { loading } = useRequest( () => { return listWorkflowRuns({ - workflowId: workflowId!, + workflowId: workflowId, page: page, perPage: pageSize, }); diff --git a/ui/src/domain/domain.ts b/ui/src/domain/domain.ts deleted file mode 100644 index 34859232..00000000 --- a/ui/src/domain/domain.ts +++ /dev/null @@ -1,24 +0,0 @@ -export type KVType = { - key: string; - value: string; -}; - -export type DeployConfig = { - id?: string; - access: string; - type: string; - config?: { - [key: string]: string; - } & { - variables?: KVType[]; - }; -}; - -export type ApplyConfig = { - access: string; - email: string; - keyAlgorithm?: string; - nameservers?: string; - propagationTimeout?: number; - disableFollowCNAME?: boolean; -}; diff --git a/ui/src/domain/workflow.ts b/ui/src/domain/workflow.ts index d929d4e2..85096716 100644 --- a/ui/src/domain/workflow.ts +++ b/ui/src/domain/workflow.ts @@ -55,17 +55,15 @@ export enum WorkflowNodeType { Custom = "custom", } -const i18nPrefix = "workflow.node"; - export const workflowNodeTypeDefaultName: Map = new Map([ - [WorkflowNodeType.Start, i18n.t(`${i18nPrefix}.start.title`)], - [WorkflowNodeType.End, i18n.t(`${i18nPrefix}.end.title`)], - [WorkflowNodeType.Branch, i18n.t(`${i18nPrefix}.branch.title`)], - [WorkflowNodeType.Condition, i18n.t(`${i18nPrefix}.condition.title`)], - [WorkflowNodeType.Apply, i18n.t(`${i18nPrefix}.apply.title`)], - [WorkflowNodeType.Deploy, i18n.t(`${i18nPrefix}.deploy.title`)], - [WorkflowNodeType.Notify, i18n.t(`${i18nPrefix}.notify.title`)], - [WorkflowNodeType.Custom, i18n.t(`${i18nPrefix}.custom.title`)], + [WorkflowNodeType.Start, i18n.t("workflow_node.start.title")], + [WorkflowNodeType.End, i18n.t("workflow_node.end.title")], + [WorkflowNodeType.Branch, i18n.t("workflow_node.branch.title")], + [WorkflowNodeType.Condition, i18n.t("workflow_node.condition.title")], + [WorkflowNodeType.Apply, i18n.t("workflow_node.apply.title")], + [WorkflowNodeType.Deploy, i18n.t("workflow_node.deploy.title")], + [WorkflowNodeType.Notify, i18n.t("workflow_node.notify.title")], + [WorkflowNodeType.Custom, i18n.t("workflow_node.custom.title")], ]); export type WorkflowNodeIo = { @@ -89,7 +87,7 @@ export const workflowNodeTypeDefaultInput: MapHost Provider: The provider that hosts your servers or cloud services for deploying certificates.

Cannot be edited after saving.", + "access.form.type.tooltip": "DNS provider: The provider that hosts your domain names and manages your DNS records.
Host provider: The provider that hosts your servers or cloud services for deploying certificates.

Cannot be edited after saving.", "access.form.acmehttpreq_endpoint.label": "Endpoint", - "access.form.acmehttpreq_endpoint.placeholder": "Please enter Endpoint", + "access.form.acmehttpreq_endpoint.placeholder": "Please enter endpoint", "access.form.acmehttpreq_endpoint.tooltip": "For more information, see https://go-acme.github.io/lego/dns/httpreq/", "access.form.acmehttpreq_mode.label": "Mode", "access.form.acmehttpreq_mode.placeholder": "Please select mode", "access.form.acmehttpreq_mode.tooltip": "For more information, see https://go-acme.github.io/lego/dns/httpreq/", - "access.form.acmehttpreq_username.label": "HTTP Basic Auth Username", - "access.form.acmehttpreq_username.placeholder": "Please enter HTTP basic auth username", + "access.form.acmehttpreq_username.label": "HTTP Basic Auth username", + "access.form.acmehttpreq_username.placeholder": "Please enter HTTP Basic Auth username", "access.form.acmehttpreq_username.tooltip": "For more information, see https://go-acme.github.io/lego/dns/httpreq/", - "access.form.acmehttpreq_password.label": "HTTP Basic Auth Password", - "access.form.acmehttpreq_password.placeholder": "Please enter HTTP basic auth password", + "access.form.acmehttpreq_password.label": "HTTP Basic Auth password", + "access.form.acmehttpreq_password.placeholder": "Please enter HTTP Basic Auth password", "access.form.acmehttpreq_password.tooltip": "For more information, see https://go-acme.github.io/lego/dns/httpreq/", - "access.form.aliyun_access_key_id.label": "Aliyun Access Key ID", - "access.form.aliyun_access_key_id.placeholder": "Please enter Aliyun Access Key ID", + "access.form.aliyun_access_key_id.label": "Aliyun AccessKeyID", + "access.form.aliyun_access_key_id.placeholder": "Please enter Aliyun AccessKeyID", "access.form.aliyun_access_key_id.tooltip": "For more information, see https://www.alibabacloud.com/help/en/acr/create-and-obtain-an-accesskey-pair", - "access.form.aliyun_access_key_secret.label": "Aliyun Access Key Secret", - "access.form.aliyun_access_key_secret.placeholder": "Please enter Aliyun Access Key Secret", + "access.form.aliyun_access_key_secret.label": "Aliyun AccessKey Secret", + "access.form.aliyun_access_key_secret.placeholder": "Please enter Aliyun AccessKey Secret", "access.form.aliyun_access_key_secret.tooltip": "For more information, see https://www.alibabacloud.com/help/en/acr/create-and-obtain-an-accesskey-pair", - "access.form.aws_access_key_id.label": "AWS Access Key ID", - "access.form.aws_access_key_id.placeholder": "Please enter AWS Access Key ID", + "access.form.aws_access_key_id.label": "AWS AccessKeyID", + "access.form.aws_access_key_id.placeholder": "Please enter AWS AccessKeyID", "access.form.aws_access_key_id.tooltip": "For more information, see https://docs.aws.amazon.com/en_us/IAM/latest/UserGuide/id_credentials_access-keys.html", - "access.form.aws_secret_access_key.label": "AWS Secret Access Key", - "access.form.aws_secret_access_key.placeholder": "Please enter AWS Secret Access Key", + "access.form.aws_secret_access_key.label": "AWS SecretAccessKey", + "access.form.aws_secret_access_key.placeholder": "Please enter AWS SecretAccessKey", "access.form.aws_secret_access_key.tooltip": "For more information, see https://docs.aws.amazon.com/en_us/IAM/latest/UserGuide/id_credentials_access-keys.html", "access.form.aws_region.label": "AWS Region", - "access.form.aws_region.placeholder": "Please enter AWS Region (e.g. us-east-1)", + "access.form.aws_region.placeholder": "Please enter AWS region (e.g. us-east-1)", "access.form.aws_region.tooltip": "For more information, see https://docs.aws.amazon.com/en_us/general/latest/gr/rande.html#regional-endpoints", - "access.form.aws_hosted_zone_id.label": "AWS Hosted Zone ID", - "access.form.aws_hosted_zone_id.placeholder": "Please enter AWS Hosted Zone ID", + "access.form.aws_hosted_zone_id.label": "AWS hosted zone ID", + "access.form.aws_hosted_zone_id.placeholder": "Please enter AWS hosted zone ID", "access.form.aws_hosted_zone_id.tooltip": "For more information, see https://docs.aws.amazon.com/en_us/Route53/latest/DeveloperGuide/hosted-zones-working-with.html", - "access.form.baiducloud_access_key_id.label": "Baidu Cloud Access Key ID", - "access.form.baiducloud_access_key_id.placeholder": "Please enter Baidu Cloud Access Key ID", + "access.form.baiducloud_access_key_id.label": "Baidu Cloud AccessKeyID", + "access.form.baiducloud_access_key_id.placeholder": "Please enter Baidu Cloud AccessKeyID", "access.form.baiducloud_access_key_id.tooltip": "For more information, see https://intl.cloud.baidu.com/doc/Reference/s/jjwvz2e3p-en", - "access.form.baiducloud_secret_access_key.label": "Baidu Cloud Secret Access Key", - "access.form.baiducloud_secret_access_key.placeholder": "Please enter Baidu Cloud Secret Access Key", + "access.form.baiducloud_secret_access_key.label": "Baidu Cloud SecretAccessKey", + "access.form.baiducloud_secret_access_key.placeholder": "Please enter Baidu Cloud SecretAccessKey", "access.form.baiducloud_secret_access_key.tooltip": "For more information, see https://intl.cloud.baidu.com/doc/Reference/s/jjwvz2e3p-en", - "access.form.byteplus_access_key.label": "BytePlus Access Key", - "access.form.byteplus_access_key.placeholder": "Please enter BytePlus Access Key", + "access.form.byteplus_access_key.label": "BytePlus AccessKey", + "access.form.byteplus_access_key.placeholder": "Please enter BytePlus AccessKey", "access.form.byteplus_access_key.tooltip": "For more information, see https://docs.byteplus.com/en/docs/byteplus-platform/docs-managing-keys", - "access.form.byteplus_secret_key.label": "BytePlus Secret Key", - "access.form.byteplus_secret_key.placeholder": "Please enter BytePlus Secret Key", + "access.form.byteplus_secret_key.label": "BytePlus SecretKey", + "access.form.byteplus_secret_key.placeholder": "Please enter BytePlus SecretKey", "access.form.byteplus_secret_key.tooltip": "For more information, see https://docs.byteplus.com/en/docs/byteplus-platform/docs-managing-keys", - "access.form.cloudflare_dns_api_token.label": "Cloudflare API Token", - "access.form.cloudflare_dns_api_token.placeholder": "Please enter Cloudflare API Token", + "access.form.cloudflare_dns_api_token.label": "Cloudflare API token", + "access.form.cloudflare_dns_api_token.placeholder": "Please enter Cloudflare API token", "access.form.cloudflare_dns_api_token.tooltip": "For more information, see https://developers.cloudflare.com/fundamentals/api/get-started/create-token/", - "access.form.dogecloud_access_key.label": "Doge Cloud Access Key", - "access.form.dogecloud_access_key.placeholder": "Please enter Doge Cloud Access Key", + "access.form.dogecloud_access_key.label": "Doge Cloud AccessKey", + "access.form.dogecloud_access_key.placeholder": "Please enter Doge Cloud AccessKey", "access.form.dogecloud_access_key.tooltip": "For more information, see https://console.dogecloud.com/", - "access.form.dogecloud_secret_key.label": "Doge Cloud Secret Key", - "access.form.dogecloud_secret_key.placeholder": "Please enter Doge Cloud Secret Key", + "access.form.dogecloud_secret_key.label": "Doge Cloud SecretKey", + "access.form.dogecloud_secret_key.placeholder": "Please enter Doge Cloud SecretKey", "access.form.dogecloud_secret_key.tooltip": "For more information, see https://console.dogecloud.com/", - "access.form.godaddy_api_key.label": "GoDaddy API Key", - "access.form.godaddy_api_key.placeholder": "Please enter GoDaddy API Key", + "access.form.godaddy_api_key.label": "GoDaddy API key", + "access.form.godaddy_api_key.placeholder": "Please enter GoDaddy API key", "access.form.godaddy_api_key.tooltip": "For more information, see https://developer.godaddy.com/", - "access.form.godaddy_api_secret.label": "GoDaddy API Secret", - "access.form.godaddy_api_secret.placeholder": "Please enter GoDaddy API Secret", + "access.form.godaddy_api_secret.label": "GoDaddy API secret", + "access.form.godaddy_api_secret.placeholder": "Please enter GoDaddy API secret", "access.form.godaddy_api_secret.tooltip": "For more information, see https://developer.godaddy.com/", - "access.form.huaweicloud_access_key_id.label": "Huawei Cloud Access Key ID", - "access.form.huaweicloud_access_key_id.placeholder": "Please enter Huawei Cloud Access Key ID", + "access.form.huaweicloud_access_key_id.label": "Huawei Cloud AccessKeyID", + "access.form.huaweicloud_access_key_id.placeholder": "Please enter Huawei Cloud AccessKeyID", "access.form.huaweicloud_access_key_id.tooltip": "For more information, see https://support.huaweicloud.com/intl/en-us/usermanual-ca/ca_01_0003.html", - "access.form.huaweicloud_secret_access_key.label": "Huawei Cloud Secret Access Key", - "access.form.huaweicloud_secret_access_key.placeholder": "Please enter Huawei Cloud Secret Access Key", + "access.form.huaweicloud_secret_access_key.label": "Huawei Cloud SecretAccessKey", + "access.form.huaweicloud_secret_access_key.placeholder": "Please enter Huawei Cloud SecretAccessKey", "access.form.huaweicloud_secret_access_key.tooltip": "For more information, see https://support.huaweicloud.com/intl/en-us/usermanual-ca/ca_01_0003.html", - "access.form.huaweicloud_region.label": "Huawei Cloud Region", - "access.form.huaweicloud_region.placeholder": "Please enter Huawei Cloud Region (e.g. cn-north-1)", + "access.form.huaweicloud_region.label": "Huawei Cloud region", + "access.form.huaweicloud_region.placeholder": "Please enter Huawei Cloud region (e.g. cn-north-1)", "access.form.huaweicloud_region.tooltip": "For more information, see https://console-intl.huaweicloud.com/apiexplorer/#/endpoint", "access.form.k8s_kubeconfig.label": "KubeConfig", "access.form.k8s_kubeconfig.placeholder": "Please enter KubeConfig file", "access.form.k8s_kubeconfig.upload": "Choose File ...", "access.form.k8s_kubeconfig.tooltip": "For more information, see https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/

Leave blank to use the Pod's ServiceAccount.", - "access.form.namedotcom_username.label": "Name.com Username", - "access.form.namedotcom_username.placeholder": "Please enter Name.com Username", + "access.form.namedotcom_username.label": "Name.com username", + "access.form.namedotcom_username.placeholder": "Please enter Name.com username", "access.form.namedotcom_username.tooltip": "For more information, see https://www.name.com/account/settings/api", - "access.form.namedotcom_api_token.label": "Name.com API Token", - "access.form.namedotcom_api_token.placeholder": "Please enter Name.com API Token", + "access.form.namedotcom_api_token.label": "Name.com API token", + "access.form.namedotcom_api_token.placeholder": "Please enter Name.com API token", "access.form.namedotcom_api_token.tooltip": "For more information, see https://www.name.com/support/articles/31142639244819-how-to-manage-your-api-tokens", - "access.form.namesilo_api_key.label": "NameSilo API Key", - "access.form.namesilo_api_key.placeholder": "Please enter NameSilo API Key", + "access.form.namesilo_api_key.label": "NameSilo API key", + "access.form.namesilo_api_key.placeholder": "Please enter NameSilo API key", "access.form.namesilo_api_key.tooltip": "For more information, see https://www.namesilo.com/support/v2/articles/account-options/api-manager", "access.form.powerdns_api_url.label": "PowerDNS API URL", "access.form.powerdns_api_url.placeholder": "Please enter PowerDNS API URL", "access.form.powerdns_api_url.tooltip": "For more information, see https://doc.powerdns.com/authoritative/http-api/index.html#endpoints-and-objects-in-the-api", - "access.form.powerdns_api_key.label": "PowerDNS API Key", - "access.form.powerdns_api_key.placeholder": "Please enter PowerDNS API Key", + "access.form.powerdns_api_key.label": "PowerDNS API key", + "access.form.powerdns_api_key.placeholder": "Please enter PowerDNS API key", "access.form.powerdns_api_key.tooltip": "For more information, see https://doc.powerdns.com/authoritative/http-api/index.html#enabling-the-api", - "access.form.qiniu_access_key.label": "Qiniu Access Key", - "access.form.qiniu_access_key.placeholder": "Please enter Qiniu Access Key", + "access.form.qiniu_access_key.label": "Qiniu AccessKey", + "access.form.qiniu_access_key.placeholder": "Please enter Qiniu AccessKey", "access.form.qiniu_access_key.tooltip": "For more information, see https://portal.qiniu.com/", - "access.form.qiniu_secret_key.label": "Qiniu Secret Key", - "access.form.qiniu_secret_key.placeholder": "Please enter Qiniu Secret Key", + "access.form.qiniu_secret_key.label": "Qiniu SecretKey", + "access.form.qiniu_secret_key.placeholder": "Please enter Qiniu SecretKey", "access.form.qiniu_secret_key.tooltip": "For more information, see https://portal.qiniu.com/", "access.form.tencentcloud_secret_id.label": "Tencent Cloud SecretId", "access.form.tencentcloud_secret_id.placeholder": "Please enter Tencent Cloud SecretId", @@ -118,28 +118,28 @@ "access.form.tencentcloud_secret_key.label": "Tencent Cloud SecretKey", "access.form.tencentcloud_secret_key.placeholder": "Please enter Tencent Cloud SecretKey", "access.form.tencentcloud_secret_key.tooltip": "For more information, see https://cloud.tencent.com/document/product/598/40488?lang=en", - "access.form.volcengine_access_key_id.label": "VolcEngine Access Key ID", - "access.form.volcengine_access_key_id.placeholder": "Please enter VolcEngine Access Key ID", + "access.form.volcengine_access_key_id.label": "VolcEngine AccessKeyID", + "access.form.volcengine_access_key_id.placeholder": "Please enter VolcEngine AccessKeyID", "access.form.volcengine_access_key_id.tooltip": "For more information, see https://www.volcengine.com/docs/6291/216571", - "access.form.volcengine_secret_access_key.label": "VolcEngine Secret Access Key", - "access.form.volcengine_secret_access_key.placeholder": "Please enter VolcEngine Secret Access Key", + "access.form.volcengine_secret_access_key.label": "VolcEngine SecretAccessKey", + "access.form.volcengine_secret_access_key.placeholder": "Please enter VolcEngine SecretAccessKey", "access.form.volcengine_secret_access_key.tooltip": "For more information, see https://www.volcengine.com/docs/6291/216571", "access.form.webhook_url.label": "Webhook URL", "access.form.webhook_url.placeholder": "Please enter Webhook URL", - "access.form.ssh_host.label": "Server Host", + "access.form.ssh_host.label": "Server host", "access.form.ssh_host.placeholder": "Please enter server host", - "access.form.ssh_port.label": "Server Port", + "access.form.ssh_port.label": "Server port", "access.form.ssh_port.placeholder": "Please enter server port", "access.form.ssh_username.label": "Username", "access.form.ssh_username.placeholder": "Please enter username", "access.form.ssh_password.label": "Password", "access.form.ssh_password.placeholder": "Please enter password", "access.form.ssh_password.tooltip": "Required when using password to connect to SSH.", - "access.form.ssh_key.label": "SSH Key", - "access.form.ssh_key.placeholder": "Please enter SSH Key", - "access.form.ssh_key.upload": "Choose File ...", + "access.form.ssh_key.label": "SSH key", + "access.form.ssh_key.placeholder": "Please enter SSH key", + "access.form.ssh_key.upload": "Choose file ...", "access.form.ssh_key.tooltip": "Required when using key to connect to SSH.", - "access.form.ssh_key_passphrase.label": "SSH Key Passphrase", - "access.form.ssh_key_passphrase.placeholder": "Please enter SSH Key passphrase", + "access.form.ssh_key_passphrase.label": "SSH key passphrase", + "access.form.ssh_key_passphrase.placeholder": "Please enter SSH key passphrase", "access.form.ssh_key_passphrase.tooltip": "Optional when using key to connect to SSH." } diff --git a/ui/src/i18n/locales/en/nls.certificate.json b/ui/src/i18n/locales/en/nls.certificate.json index 5422f0c2..e707a863 100644 --- a/ui/src/i18n/locales/en/nls.certificate.json +++ b/ui/src/i18n/locales/en/nls.certificate.json @@ -3,22 +3,22 @@ "certificate.nodata": "No certificates. Please create a workflow to generate certificates! 😀", - "certificate.action.view": "View Certificate", - "certificate.action.delete": "Delete Certificate", - "certificate.action.download": "Download Certificate", + "certificate.action.view": "View certificate", + "certificate.action.delete": "Delete certificate", + "certificate.action.download": "Download certificate", "certificate.props.san": "Name", "certificate.props.expiry": "Expiry", "certificate.props.expiry.left_days": "{{left}} / {{total}} days left", "certificate.props.expiry.expired": "Expired", "certificate.props.expiry.expiration": "Expire on {{date}}", - "certificate.props.expiry.filter.expire_soon": "Expire Soon", + "certificate.props.expiry.filter.expire_soon": "Expire soon", "certificate.props.expiry.filter.expired": "Expired", "certificate.props.workflow": "Workflow", "certificate.props.source": "Source", "certificate.props.source.workflow": "Workflow", - "certificate.props.certificate_chain": "Certificate Chain", - "certificate.props.private_key": "Private Key", - "certificate.props.created_at": "Created At", - "certificate.props.updated_at": "Updated At" + "certificate.props.certificate_chain": "Certificate chain", + "certificate.props.private_key": "Private key", + "certificate.props.created_at": "Created at", + "certificate.props.updated_at": "Updated at" } diff --git a/ui/src/i18n/locales/en/nls.common.json b/ui/src/i18n/locales/en/nls.common.json index 2ab6c76e..1148b5a4 100644 --- a/ui/src/i18n/locales/en/nls.common.json +++ b/ui/src/i18n/locales/en/nls.common.json @@ -17,10 +17,10 @@ "common.text.operation_failed": "Operation failed", "common.text.request_error": "Request error", - "common.menu.theme": "Change Theme", - "common.menu.locale": "Change Language", + "common.menu.theme": "Change theme", + "common.menu.locale": "Change language", "common.menu.settings": "Settings", - "common.menu.logout": "Logout", + "common.menu.logout": "Log-out", "common.menu.document": "Document", "common.theme.light": "Light", @@ -57,13 +57,13 @@ "common.provider.huaweicloud.elb": "Huawei Cloud - ELB", "common.provider.kubernetes": "Kubernetes", "common.provider.kubernetes.secret": "Kubernetes - Secret", - "common.provider.local": "Local Deployment", + "common.provider.local": "Local deployment", "common.provider.namedotcom": "Name.com", "common.provider.namesilo": "NameSilo", "common.provider.powerdns": "PowerDNS", "common.provider.qiniu": "Qiniu", "common.provider.qiniu.cdn": "Qiniu - CDN", - "common.provider.ssh": "SSH Deployment", + "common.provider.ssh": "SSH deployment", "common.provider.tencentcloud": "Tencent Cloud", "common.provider.tencentcloud.cdn": "Tencent Cloud - CDN", "common.provider.tencentcloud.clb": "Tencent Cloud - CLB", diff --git a/ui/src/i18n/locales/en/nls.dashboard.json b/ui/src/i18n/locales/en/nls.dashboard.json index 5450bfa3..865e11ec 100644 --- a/ui/src/i18n/locales/en/nls.dashboard.json +++ b/ui/src/i18n/locales/en/nls.dashboard.json @@ -1,12 +1,12 @@ { "dashboard.page.title": "Dashboard", - "dashboard.statistics.all_certificates": "All Certificates", - "dashboard.statistics.expire_soon_certificates": "Expire Soon Certificates", - "dashboard.statistics.expired_certificates": "Expired Certificates", - "dashboard.statistics.all_workflows": "All Workflows", - "dashboard.statistics.enabled_workflows": "Enabled Workflows", + "dashboard.statistics.all_certificates": "All certificates", + "dashboard.statistics.expire_soon_certificates": "Expire soon certificates", + "dashboard.statistics.expired_certificates": "Expired certificates", + "dashboard.statistics.all_workflows": "All workflows", + "dashboard.statistics.enabled_workflows": "Enabled workflows", "dashboard.statistics.unit": "", - "dashboard.latest_workflow_run": "Latest Workflow Run" + "dashboard.latest_workflow_run": "Latest workflow run" } diff --git a/ui/src/i18n/locales/en/nls.domain.json b/ui/src/i18n/locales/en/nls.domain.json deleted file mode 100644 index e3273f39..00000000 --- a/ui/src/i18n/locales/en/nls.domain.json +++ /dev/null @@ -1,126 +0,0 @@ -{ - "domain.deployment.form.type.label": "Deploy Method", - "domain.deployment.form.type.placeholder": "Please select deploy method", - "domain.deployment.form.type.list": "Deploy Method List", - "domain.deployment.form.access.label": "Access Configuration", - "domain.deployment.form.access.placeholder": "Please select provider authorization configuration", - "domain.deployment.form.access.list": "Provider Authorization Configurations", - "domain.deployment.form.domain.label": "Deploy to domain (Single domain only, not wildcard domain)", - "domain.deployment.form.domain.label.wildsupported": "Deploy to domain (Wildcard domain is also supported)", - "domain.deployment.form.domain.placeholder": "Please enter domain to be deployed", - "domain.deployment.form.aliyun_oss_endpoint.label": "Endpoint", - "domain.deployment.form.aliyun_oss_endpoint.placeholder": "Please enter endpoint", - "domain.deployment.form.aliyun_oss_bucket.label": "Bucket", - "domain.deployment.form.aliyun_oss_bucket.placeholder": "Please enter bucket", - "domain.deployment.form.aliyun_clb_region.label": "Region", - "domain.deployment.form.aliyun_clb_region.placeholder": "Please enter region (e.g. cn-hangzhou)", - "domain.deployment.form.aliyun_clb_resource_type.label": "Resource Type", - "domain.deployment.form.aliyun_clb_resource_type.placeholder": "Please select CLB resource type", - "domain.deployment.form.aliyun_clb_resource_type.option.loadbalancer.label": "CLB LoadBalancer", - "domain.deployment.form.aliyun_clb_resource_type.option.listener.label": "CLB Listener", - "domain.deployment.form.aliyun_clb_loadbalancer_id.label": "LoadBalancer ID", - "domain.deployment.form.aliyun_clb_loadbalancer_id.placeholder": "Please enter CLB loadbalancer ID", - "domain.deployment.form.aliyun_clb_listener_port.label": "Listener Port", - "domain.deployment.form.aliyun_clb_listener_port.placeholder": "Please enter CLB listener port", - "domain.deployment.form.aliyun_alb_region.label": "Region", - "domain.deployment.form.aliyun_alb_region.placeholder": "Please enter region (e.g. cn-hangzhou)", - "domain.deployment.form.aliyun_alb_resource_type.label": "Resource Type", - "domain.deployment.form.aliyun_alb_resource_type.placeholder": "Please select ALB resource type", - "domain.deployment.form.aliyun_alb_resource_type.option.loadbalancer.label": "ALB LoadBalancer", - "domain.deployment.form.aliyun_alb_resource_type.option.listener.label": "ALB Listener", - "domain.deployment.form.aliyun_alb_loadbalancer_id.label": "LoadBalancer ID", - "domain.deployment.form.aliyun_alb_loadbalancer_id.placeholder": "Please enter ALB loadbalancer ID", - "domain.deployment.form.aliyun_alb_listener_id.label": "Listener ID", - "domain.deployment.form.aliyun_alb_listener_id.placeholder": "Please enter ALB listener ID", - "domain.deployment.form.aliyun_nlb_region.label": "Region", - "domain.deployment.form.aliyun_nlb_region.placeholder": "Please enter region (e.g. cn-hangzhou)", - "domain.deployment.form.aliyun_nlb_resource_type.label": "Resource Type", - "domain.deployment.form.aliyun_nlb_resource_type.placeholder": "Please select NLB resource type", - "domain.deployment.form.aliyun_nlb_resource_type.option.loadbalancer.label": "NLB LoadBalancer", - "domain.deployment.form.aliyun_nlb_resource_type.option.listener.label": "NLB Listener", - "domain.deployment.form.aliyun_nlb_loadbalancer_id.label": "LoadBalancer ID", - "domain.deployment.form.aliyun_nlb_loadbalancer_id.placeholder": "Please enter NLB loadbalancer ID", - "domain.deployment.form.aliyun_nlb_listener_id.label": "Listener ID", - "domain.deployment.form.aliyun_nlb_listener_id.placeholder": "Please enter NLB listener ID", - "domain.deployment.form.tencent_cos_region.label": "Region", - "domain.deployment.form.tencent_cos_region.placeholder": "Please enter region (e.g. ap-guangzhou)", - "domain.deployment.form.tencent_cos_bucket.label": "Bucket", - "domain.deployment.form.tencent_cos_bucket.placeholder": "Please enter bucket", - "domain.deployment.form.tencent_cdn_region.label": "Region", - "domain.deployment.form.tencent_cdn_region.placeholder": "Please enter region (e.g. ap-guangzhou)", - "domain.deployment.form.tencent_clb_region.label": "Region", - "domain.deployment.form.tencent_clb_region.placeholder": "Please enter region (e.g. ap-guangzhou)", - "domain.deployment.form.tencent_clb_resource_type.label": "Resource Type", - "domain.deployment.form.tencent_clb_resource_type.placeholder": "Please select CLB resource type", - "domain.deployment.form.tencent_clb_resource_type.option.ssl_deploy.label": "Through SSL Deploy", - "domain.deployment.form.tencent_clb_resource_type.option.loadbalancer.label": "CLB LoadBalancer", - "domain.deployment.form.tencent_clb_resource_type.option.listener.label": "CLB Listener", - "domain.deployment.form.tencent_clb_loadbalancer_id.label": "Loadbalancer ID", - "domain.deployment.form.tencent_clb_loadbalancer_id.placeholder": "Please enter Loadbalancer ID", - "domain.deployment.form.tencent_clb_listener_id.label": "Listener ID", - "domain.deployment.form.tencent_clb_listener_id.placeholder": "Please enter listener ID. The specific listener should have set the corresponding domain HTTPS forwarding, and the original certificate domain should be consistent with the certificate to be deployed.", - "domain.deployment.form.tencent_clb_domain.label": "Deploy to domain (Wildcard domain is also supported)", - "domain.deployment.form.tencent_clb_domain.placeholder": "Please enter domain to be deployed. If SNI is not enabled, you can leave it blank.", - "domain.deployment.form.tencent_clb_ruledomain.label": "Rule Domain", - "domain.deployment.form.tencent_clb_ruledomain.placeholder": "Please enter rule domain", - "domain.deployment.form.tencent_teo_zone_id.label": "Zone ID", - "domain.deployment.form.tencent_teo_zone_id.placeholder": "Please enter zone id, e.g. zone-xxxxxxxxx", - "domain.deployment.form.tencent_teo_domain.label": "Deploy to domain (Wildcard domain is also supported, but should be same as the config on server, one domain each line)", - "domain.deployment.form.tencent_teo_domain.placeholder": "Please enter domain to be deployed.", - "domain.deployment.form.huaweicloud_elb_region.label": "Region", - "domain.deployment.form.huaweicloud_elb_region.placeholder": "Please enter region (e.g. cn-north-1)", - "domain.deployment.form.huaweicloud_elb_resource_type.label": "Resource Type", - "domain.deployment.form.huaweicloud_elb_resource_type.placeholder": "Please select ELB resource type", - "domain.deployment.form.huaweicloud_elb_resource_type.option.certificate.label": "ELB Certificate", - "domain.deployment.form.huaweicloud_elb_resource_type.option.loadbalancer.label": "ELB LoadBalancer", - "domain.deployment.form.huaweicloud_elb_resource_type.option.listener.label": "ELB Listener", - "domain.deployment.form.huaweicloud_elb_certificate_id.label": "Certificate ID", - "domain.deployment.form.huaweicloud_elb_certificate_id.placeholder": "Please enter ELB certificate ID", - "domain.deployment.form.huaweicloud_elb_loadbalancer_id.label": "LoadBalancer ID", - "domain.deployment.form.huaweicloud_elb_loadbalancer_id.placeholder": "Please enter ELB loadbalancer ID", - "domain.deployment.form.huaweicloud_elb_listener_id.label": "Listener ID", - "domain.deployment.form.huaweicloud_elb_listener_id.placeholder": "Please enter ELB listener ID", - "domain.deployment.form.file_format.label": "Certificate Format", - "domain.deployment.form.file_format.placeholder": "Please select certificate format", - "domain.deployment.form.file_cert_path.label": "Certificate Save Path", - "domain.deployment.form.file_cert_path.placeholder": "Please enter certificate save path", - "domain.deployment.form.file_key_path.label": "Private Key Save Path", - "domain.deployment.form.file_key_path.placeholder": "Please enter private key save path", - "domain.deployment.form.file_pfx_password.label": "PFX Output Password", - "domain.deployment.form.file_pfx_password.placeholder": "Please enter PFX output password", - "domain.deployment.form.file_jks_alias.label": "JKS Alias (KeyStore Alias)", - "domain.deployment.form.file_jks_alias.placeholder": "Please enter JKS alias", - "domain.deployment.form.file_jks_keypass.label": "JKS Key Password (KeyStore Keypass)", - "domain.deployment.form.file_jks_keypass.placeholder": "Please enter JKS key password", - "domain.deployment.form.file_jks_storepass.label": "JKS Store Password (KeyStore Storepass)", - "domain.deployment.form.file_jks_storepass.placeholder": "Please enter JKS store password", - "domain.deployment.form.shell.label": "Shell", - "domain.deployment.form.shell.placeholder": "Please select shell environment", - "domain.deployment.form.shell.option.sh.label": "POSIX Bash (Linux)", - "domain.deployment.form.shell.option.cmd.label": "CMD (Windows)", - "domain.deployment.form.shell.option.powershell.label": "PowerShell (Windows)", - "domain.deployment.form.shell_pre_command.label": "Pre-deployment Command", - "domain.deployment.form.shell_pre_command.placeholder": "Command to be executed before deploying the certificate", - "domain.deployment.form.shell_command.label": "Command", - "domain.deployment.form.shell_command.placeholder": "Please enter command", - "domain.deployment.form.shell_preset_scripts.trigger": "Use Preset Scripts", - "domain.deployment.form.shell_preset_scripts.option.reload_nginx.label": "Bash - Reload Nginx", - "domain.deployment.form.shell_preset_scripts.option.binding_iis.label": "PowerShell - Binding IIS", - "domain.deployment.form.shell_preset_scripts.option.binding_netsh.label": "PowerShell - Binding netsh(Windows)", - "domain.deployment.form.k8s_namespace.label": "Namespace", - "domain.deployment.form.k8s_namespace.placeholder": "Please enter namespace", - "domain.deployment.form.k8s_secret_name.label": "Secret Name", - "domain.deployment.form.k8s_secret_name.placeholder": "Please enter secret name", - "domain.deployment.form.k8s_secret_data_key_for_key.label": "Secret Data Key for PublicKey", - "domain.deployment.form.k8s_secret_data_key_for_key.placeholder": "Please enter secret data key for public key", - "domain.deployment.form.k8s_secret_data_key_for_crt.label": "Secret Data Key for Certificate", - "domain.deployment.form.k8s_secret_data_key_for_crt.placeholder": "Please enter secret data key for certificate", - "domain.deployment.form.variables.label": "Variable", - "domain.deployment.form.variables.key": "Name", - "domain.deployment.form.variables.value": "Value", - "domain.deployment.form.variables.empty": "Variable not added yet", - "domain.deployment.form.variables.key.required": "Variable name cannot be empty", - "domain.deployment.form.variables.value.required": "Variable value cannot be empty", - "domain.deployment.form.variables.key.placeholder": "Variable name", - "domain.deployment.form.variables.value.placeholder": "Variable value" -} diff --git a/ui/src/i18n/locales/en/nls.login.json b/ui/src/i18n/locales/en/nls.login.json index 7380f28b..d34a6421 100644 --- a/ui/src/i18n/locales/en/nls.login.json +++ b/ui/src/i18n/locales/en/nls.login.json @@ -5,5 +5,5 @@ "login.password.label": "Password", "login.password.placeholder": "Password", "login.password.errmsg.invalid": "Password should be at least 10 characters", - "login.submit": "Log In" + "login.submit": "Log-in" } diff --git a/ui/src/i18n/locales/en/nls.settings.json b/ui/src/i18n/locales/en/nls.settings.json index d1c7cfe7..c1d8a213 100644 --- a/ui/src/i18n/locales/en/nls.settings.json +++ b/ui/src/i18n/locales/en/nls.settings.json @@ -6,11 +6,11 @@ "settings.account.form.email.placeholder": "Please enter email", "settings.password.tab": "Password", - "settings.password.form.old_password.label": "Current Password", + "settings.password.form.old_password.label": "Current password", "settings.password.form.old_password.placeholder": "Please enter the current password", - "settings.password.form.new_password.label": "New Password", + "settings.password.form.new_password.label": "New password", "settings.password.form.new_password.placeholder": "Please enter the new password", - "settings.password.form.confirm_password.label": "Confirm Password", + "settings.password.form.confirm_password.label": "Confirm password", "settings.password.form.confirm_password.placeholder": "Please enter the new password again", "settings.password.form.password.errmsg.invalid": "Password should be at least 10 characters", "settings.password.form.password.errmsg.not_matched": "Passwords do not match", @@ -26,12 +26,12 @@ "settings.notification.channels.card.title": "Channels", "settings.notification.channel.enabled.on": "On", "settings.notification.channel.enabled.off": "Off", - "settings.notification.push_test.button": "Send Test Notification", + "settings.notification.push_test.button": "Send test notification", "settings.notification.push_test.pushed": "Sent", "settings.notification.channel.form.bark_server_url.label": "Server URL", "settings.notification.channel.form.bark_server_url.placeholder": "Please enter server URL", "settings.notification.channel.form.bark_server_url.tooltip": "For more information, see https://bark.day.app/

Leave blank to use the default Bark server.", - "settings.notification.channel.form.bark_device_key.label": "Device Key", + "settings.notification.channel.form.bark_device_key.label": "Device key", "settings.notification.channel.form.bark_device_key.placeholder": "Please enter device key", "settings.notification.channel.form.bark_device_key.tooltip": "For more information, see https://bark.day.app/", "settings.notification.channel.form.dingtalk_access_token.label": "Robot AccessToken", @@ -40,18 +40,18 @@ "settings.notification.channel.form.dingtalk_secret.label": "Robot Secret", "settings.notification.channel.form.dingtalk_secret.placeholder": "Please enter Robot Secret", "settings.notification.channel.form.dingtalk_secret.tooltip": "For more information, see https://open.dingtalk.com/document/orgapp/customize-robot-security-settings", - "settings.notification.channel.form.email_smtp_host.label": "SMTP Host", + "settings.notification.channel.form.email_smtp_host.label": "SMTP host", "settings.notification.channel.form.email_smtp_host.placeholder": "Please enter SMTP host", - "settings.notification.channel.form.email_smtp_port.label": "SMTP Port", + "settings.notification.channel.form.email_smtp_port.label": "SMTP port", "settings.notification.channel.form.email_smtp_port.placeholder": "Please enter SMTP port", "settings.notification.channel.form.email_smtp_tls.label": "Use TLS/SSL", "settings.notification.channel.form.email_username.label": "Username", "settings.notification.channel.form.email_username.placeholder": "please enter username", "settings.notification.channel.form.email_password.label": "Password", "settings.notification.channel.form.email_password.placeholder": "please enter password", - "settings.notification.channel.form.email_sender_address.label": "Sender Email Address", + "settings.notification.channel.form.email_sender_address.label": "Sender email address", "settings.notification.channel.form.email_sender_address.placeholder": "Please enter sender email address", - "settings.notification.channel.form.email_receiver_address.label": "Receiver Email Address", + "settings.notification.channel.form.email_receiver_address.label": "Receiver email address", "settings.notification.channel.form.email_receiver_address.placeholder": "Please enter receiver email address", "settings.notification.channel.form.lark_webhook_url.label": "Webhook URL", "settings.notification.channel.form.lark_webhook_url.placeholder": "Please enter Webhook URL", @@ -59,7 +59,7 @@ "settings.notification.channel.form.serverchan_url.label": "Server URL", "settings.notification.channel.form.serverchan_url.placeholder": "Please enter ServerChan server URL (e.g. https://sctapi.ftqq.com/*****.send)", "settings.notification.channel.form.serverchan_url.tooltip": "For more information, see https://sct.ftqq.com/forward", - "settings.notification.channel.form.telegram_api_token.label": "Bot API Token", + "settings.notification.channel.form.telegram_api_token.label": "Bot API token", "settings.notification.channel.form.telegram_api_token.placeholder": "Please enter bot API token", "settings.notification.channel.form.telegram_api_token.tooltip": "For more information, see https://gist.github.com/nafiesl/4ad622f344cd1dc3bb1ecbe468ff9f8a", "settings.notification.channel.form.telegram_chat_id.label": "Chat ID", @@ -71,8 +71,8 @@ "settings.notification.channel.form.wecom_webhook_url.placeholder": "Please enter Webhook URL", "settings.notification.channel.form.wecom_webhook_url.tooltip": "For more information, see https://open.work.weixin.qq.com/help2/pc/18401", - "settings.sslprovider.tab": "Certificate Authority", - "settings.sslprovider.form.provider.label": "ACME Provider", + "settings.sslprovider.tab": "Certificate authority", + "settings.sslprovider.form.provider.label": "ACME provider", "settings.sslprovider.form.zerossl_eab_kid.label": "EAB KID", "settings.sslprovider.form.zerossl_eab_kid.placeholder": "Please enter EAB KID", "settings.sslprovider.form.zerossl_eab_kid.tooltip": "For more information, see https://zerossl.com/documentation/acme/", diff --git a/ui/src/i18n/locales/en/nls.workflow.json b/ui/src/i18n/locales/en/nls.workflow.json index b86e38aa..ee3b10de 100644 --- a/ui/src/i18n/locales/en/nls.workflow.json +++ b/ui/src/i18n/locales/en/nls.workflow.json @@ -3,32 +3,38 @@ "workflow.nodata": "No workflows. Please create a workflow to generate certificates! 😀", - "workflow.action.create": "Create Workflow", - "workflow.action.edit": "Edit Workflow", - "workflow.action.delete": "Delete Workflow", + "workflow.action.create": "Create workflow", + "workflow.action.edit": "Edit workflow", + "workflow.action.delete": "Delete workflow", "workflow.action.delete.confirm": "Are you sure to delete this workflow?", + "workflow.action.discard": "Discard", + "workflow.action.discard.confirm": "Are you sure to discard your changes?", + "workflow.action.release": "Release", + "workflow.action.release.confirm": "Are you sure to release your changes?", + "workflow.action.execute": "Run", "workflow.props.name": "Name", "workflow.props.description": "Description", "workflow.props.trigger": "Trigger", "workflow.props.trigger.auto": "Auto", "workflow.props.trigger.manual": "Manual", - "workflow.props.latest_execution_status": "Latest Execution Status", + "workflow.props.latest_execution_status": "Latest execution status", "workflow.props.state": "State", "workflow.props.state.filter.enabled": "Enabled", "workflow.props.state.filter.disabled": "Disabled", - "workflow.props.created_at": "Created At", - "workflow.props.updated_at": "Updated At", + "workflow.props.created_at": "Created at", + "workflow.props.updated_at": "Updated at", "workflow.detail.orchestration.tab": "Orchestration", - "workflow.detail.runs.tab": "History Runs", + "workflow.detail.runs.tab": "History runs", - "workflow.baseinfo.modal.title": "Workflow Base Information", - "workflow.baseinfo.form.name.label": "Name", - "workflow.baseinfo.form.name.placeholder": "Please enter name", - "workflow.baseinfo.form.description.label": "Description", - "workflow.baseinfo.form.description.placeholder": "Please enter description", + "workflow.detail.baseinfo.modal.title": "Workflow base information", + "workflow.detail.baseinfo.form.name.label": "Name", + "workflow.detail.baseinfo.form.name.placeholder": "Please enter name", + "workflow.detail.baseinfo.form.description.label": "Description", + "workflow.detail.baseinfo.form.description.placeholder": "Please enter description", + "workflow.common.certificate.label": "Certificate", "workflow.detail.action.save": "Save updates", "workflow.detail.action.save.failed": "Save failed", "workflow.detail.action.save.failed.uncompleted": "Please complete the orchestration and publish the changes first", @@ -36,18 +42,6 @@ "workflow.detail.action.run.failed": "Run failed", "workflow.detail.action.run.success": "Run success", "workflow.detail.action.running": "Running", - - "workflow.common.certificate.label": "Certificate", - "workflow.common.certificate.placeholder": "Please select certificate source", - - "workflow.node.start.title": "Start", - "workflow.node.apply.title": "Apply", - "workflow.node.deploy.title": "Deploy", - "workflow.node.branch.title": "Branch", - "workflow.node.condition.title": "Branch", - "workflow.node.end.title": "End", - "workflow.node.notify.title": "Notify", - "workflow.node.setting.label": "Setting Node", "workflow.node.delete.label": "Delete Node", "workflow.node.addBranch.label": "Add Branch", diff --git a/ui/src/i18n/locales/en/nls.workflow.nodes.json b/ui/src/i18n/locales/en/nls.workflow.nodes.json index 52d740ed..f445cd5d 100644 --- a/ui/src/i18n/locales/en/nls.workflow.nodes.json +++ b/ui/src/i18n/locales/en/nls.workflow.nodes.json @@ -1,269 +1,279 @@ { + "workflow_node.start.title": "Start", "workflow_node.start.form.trigger.label": "Trigger", "workflow_node.start.form.trigger.placeholder": "Please select trigger", "workflow_node.start.form.trigger.tooltip": "Auto: Time triggered based on cron expression.
Manual: Manually triggered.", "workflow_node.start.form.trigger.option.auto.label": "Auto", "workflow_node.start.form.trigger.option.manual.label": "Manual", - "workflow_node.start.form.trigger_cron.label": "Cron Expression", + "workflow_node.start.form.trigger_cron.label": "Cron expression", "workflow_node.start.form.trigger_cron.placeholder": "Please enter cron expression", "workflow_node.start.form.trigger_cron.errmsg.invalid": "Please enter a valid cron expression", "workflow_node.start.form.trigger_cron.tooltip": "Time zone is based on the server.", "workflow_node.start.form.trigger_cron.extra": "Expected execution time for the last 5 times:", "workflow_node.start.form.trigger_cron_alert.content": "Tips: If you have multiple workflows, it is recommended to set them to run at multiple times of the day instead of always running at specific times.

Reference links:
1. Let’s Encrypt rate limits
2. Why should my Let’s Encrypt (ACME) client run at a random time?", + "workflow_node.apply.title": "Application", "workflow_node.apply.form.domains.label": "Domains", "workflow_node.apply.form.domains.placeholder": "Please enter domains (separated by semicolons)", "workflow_node.apply.form.domains.tooltip": "Wildcard domain: *.example.com", - "workflow_node.apply.form.domains.multiple_input_modal.title": "Change Domains", + "workflow_node.apply.form.domains.multiple_input_modal.title": "Change domains", "workflow_node.apply.form.domains.multiple_input_modal.placeholder": "Please enter domain", - "workflow_node.apply.form.email.label": "Contact Email", + "workflow_node.apply.form.email.label": "Contact email", "workflow_node.apply.form.email.placeholder": "Please enter contact email", "workflow_node.apply.form.email.tooltip": "Contact information required for SSL certificate application. Please pay attention to the rate limits.", - "workflow_node.apply.form.access.label": "DNS Provider Authorization", + "workflow_node.apply.form.access.label": "DNS provider authorization", "workflow_node.apply.form.access.placeholder": "Please select an authorization of DNS provider", "workflow_node.apply.form.access.tooltip": "Used to manage DNS records during ACME DNS-01 authentication.", "workflow_node.apply.form.access.button": "Create", - "workflow_node.apply.form.advanced_config.label": "Advanced Settings", - "workflow_node.apply.form.key_algorithm.label": "Certificate Key Algorithm", + "workflow_node.apply.form.advanced_config.label": "Advanced settings", + "workflow_node.apply.form.key_algorithm.label": "Certificate key algorithm", "workflow_node.apply.form.key_algorithm.placeholder": "Please select certificate key algorithm", - "workflow_node.apply.form.nameservers.label": "DNS Recursive Nameservers (Optional)", + "workflow_node.apply.form.nameservers.label": "DNS recursive nameservers (Optional)", "workflow_node.apply.form.nameservers.placeholder": "Please enter DNS recursive nameservers (separated by semicolons)", "workflow_node.apply.form.nameservers.tooltip": "It determines whether to custom DNS recursive nameservers during ACME DNS-01 authentication. If you don't understand this option, just keep it by default.", - "workflow_node.apply.form.nameservers.multiple_input_modal.title": "Change DNS Recursive Nameservers", + "workflow_node.apply.form.nameservers.multiple_input_modal.title": "Change DNS rcursive nameservers", "workflow_node.apply.form.nameservers.multiple_input_modal.placeholder": "Please enter DNS recursive nameserver", - "workflow_node.apply.form.propagation_timeout.label": "DNS Propagation Timeout (Optional)", + "workflow_node.apply.form.propagation_timeout.label": "DNS propagation timeout (Optional)", "workflow_node.apply.form.propagation_timeout.placeholder": "Please enter DNS propagation timeout", - "workflow_node.apply.form.propagation_timeout.suffix": "Seconds", + "workflow_node.apply.form.propagation_timeout.suffix": "seconds", "workflow_node.apply.form.propagation_timeout.tooltip": "It determines the maximum waiting time for DNS propagation checks during ACME DNS-01 authentication. If you don't understand this option, just keep it by default.", "workflow_node.apply.form.disable_follow_cname.label": "Disable CNAME following", "workflow_node.apply.form.disable_follow_cname.tooltip": "It determines whether to disable CNAME following during ACME DNS-01 authentication. If you don't understand this option, just keep it by default.
Learn more.", - "workflow_node.deploy.form.provider_type.label": "Deploy Target", + "workflow_node.deploy.title": "Deployment", + "workflow_node.deploy.form.provider_type.label": "Deploy target", "workflow_node.deploy.form.provider_type.placeholder": "Please select deploy target", - "workflow_node.deploy.form.provider_access.label": "Host Provider Authorization", + "workflow_node.deploy.form.provider_access.label": "Host provider authorization", "workflow_node.deploy.form.provider_access.placeholder": "Please select an authorization of host provider", "workflow_node.deploy.form.provider_access.tooltip": "Used to deploy certificates.", "workflow_node.deploy.form.provider_access.button": "Create", "workflow_node.deploy.form.certificate.label": "Certificate", "workflow_node.deploy.form.certificate.placeholder": "Please select certificate", "workflow_node.deploy.form.certificate.tooltip": "The certificate to be deployed comes from the previous application stage node.", - "workflow_node.deploy.form.aliyun_alb_resource_type.label": "Resource Type", + "workflow_node.deploy.form.params_config.label": "Parameter settings", + "workflow_node.deploy.form.aliyun_alb_resource_type.label": "Resource type", "workflow_node.deploy.form.aliyun_alb_resource_type.placeholder": "Please select resource type", - "workflow_node.deploy.form.aliyun_alb_resource_type.option.loadbalancer.label": "ALB Load Balancer", - "workflow_node.deploy.form.aliyun_alb_resource_type.option.listener.label": "ALB Listener", - "workflow_node.deploy.form.aliyun_alb_region.label": "Aliyun Region", + "workflow_node.deploy.form.aliyun_alb_resource_type.option.loadbalancer.label": "ALB load balancer", + "workflow_node.deploy.form.aliyun_alb_resource_type.option.listener.label": "ALB listener", + "workflow_node.deploy.form.aliyun_alb_region.label": "Aliyun region", "workflow_node.deploy.form.aliyun_alb_region.placeholder": "Please enter Aliyun region (e.g. cn-hangzhou)", "workflow_node.deploy.form.aliyun_alb_region.tooltip": "For more information, see https://www.alibabacloud.com/help/en/slb/application-load-balancer/product-overview/supported-regions-and-zones", - "workflow_node.deploy.form.aliyun_alb_loadbalancer_id.label": "Aliyun ALB Load Balancer ID", + "workflow_node.deploy.form.aliyun_alb_loadbalancer_id.label": "Aliyun ALB load balancer ID", "workflow_node.deploy.form.aliyun_alb_loadbalancer_id.placeholder": "Please enter Aliyun ALB load balancer ID", "workflow_node.deploy.form.aliyun_alb_loadbalancer_id.tooltip": "For more information, see https://slb.console.aliyun.com/alb", - "workflow_node.deploy.form.aliyun_alb_listener_id.label": "Aliyun ALB Listener ID", + "workflow_node.deploy.form.aliyun_alb_listener_id.label": "Aliyun ALB listener ID", "workflow_node.deploy.form.aliyun_alb_listener_id.placeholder": "Please enter Aliyun ALB listener ID", "workflow_node.deploy.form.aliyun_alb_listener_id.tooltip": "For more information, see https://slb.console.aliyun.com/alb", - "workflow_node.deploy.form.aliyun_clb_resource_type.label": "Resource Type", + "workflow_node.deploy.form.aliyun_clb_resource_type.label": "Resource type", "workflow_node.deploy.form.aliyun_clb_resource_type.placeholder": "Please select resource type", - "workflow_node.deploy.form.aliyun_clb_resource_type.option.loadbalancer.label": "CLB Load Balancer", - "workflow_node.deploy.form.aliyun_clb_resource_type.option.listener.label": "CLB Listener", - "workflow_node.deploy.form.aliyun_clb_region.label": "Aliyun Region", + "workflow_node.deploy.form.aliyun_clb_resource_type.option.loadbalancer.label": "CLB load balancer", + "workflow_node.deploy.form.aliyun_clb_resource_type.option.listener.label": "CLB listener", + "workflow_node.deploy.form.aliyun_clb_region.label": "Aliyun region", "workflow_node.deploy.form.aliyun_clb_region.placeholder": "Please enter Aliyun region (e.g. cn-hangzhou)", "workflow_node.deploy.form.aliyun_clb_region.tooltip": "For more information, see https://www.alibabacloud.com/help/en/slb/classic-load-balancer/product-overview/regions-that-support-clb", - "workflow_node.deploy.form.aliyun_clb_loadbalancer_id.label": "Aliyun CLB Load Balancer ID", + "workflow_node.deploy.form.aliyun_clb_loadbalancer_id.label": "Aliyun CLB load balancer ID", "workflow_node.deploy.form.aliyun_clb_loadbalancer_id.placeholder": "Please enter Aliyun CLB load balancer ID", "workflow_node.deploy.form.aliyun_clb_loadbalancer_id.tooltip": "For more information, see https://slb.console.aliyun.com/clb", - "workflow_node.deploy.form.aliyun_clb_listener_port.label": "Aliyun CLB Listener Port", + "workflow_node.deploy.form.aliyun_clb_listener_port.label": "Aliyun CLB listener port", "workflow_node.deploy.form.aliyun_clb_listener_port.placeholder": "Please enter Aliyun CLB listener port", "workflow_node.deploy.form.aliyun_clb_listener_port.tooltip": "For more information, see https://slb.console.aliyun.com/clb", - "workflow_node.deploy.form.aliyun_cdn_domain.label": "Aliyun CDN Domain", + "workflow_node.deploy.form.aliyun_cdn_domain.label": "Aliyun CDN domain", "workflow_node.deploy.form.aliyun_cdn_domain.placeholder": "Please enter Aliyun CDN domain name", "workflow_node.deploy.form.aliyun_cdn_domain.tooltip": "For more information, see https://cdn.console.aliyun.com", - "workflow_node.deploy.form.aliyun_dcdn_domain.label": "Aliyun DCDN Domain", + "workflow_node.deploy.form.aliyun_dcdn_domain.label": "Aliyun DCDN domain", "workflow_node.deploy.form.aliyun_dcdn_domain.placeholder": "Please enter Aliyun DCDN domain name", "workflow_node.deploy.form.aliyun_dcdn_domain.tooltip": "For more information, see https://dcdn.console.aliyun.com", - "workflow_node.deploy.form.aliyun_nlb_resource_type.label": "Resource Type", + "workflow_node.deploy.form.aliyun_nlb_resource_type.label": "Resource type", "workflow_node.deploy.form.aliyun_nlb_resource_type.placeholder": "Please select resource type", - "workflow_node.deploy.form.aliyun_nlb_resource_type.option.loadbalancer.label": "NLB Load Balancer", - "workflow_node.deploy.form.aliyun_nlb_resource_type.option.listener.label": "NLB Listener", - "workflow_node.deploy.form.aliyun_nlb_region.label": "Aliyun Region", + "workflow_node.deploy.form.aliyun_nlb_resource_type.option.loadbalancer.label": "NLB load balancer", + "workflow_node.deploy.form.aliyun_nlb_resource_type.option.listener.label": "NLB listener", + "workflow_node.deploy.form.aliyun_nlb_region.label": "Aliyun region", "workflow_node.deploy.form.aliyun_nlb_region.placeholder": "Please enter Aliyun region (e.g. cn-hangzhou)", "workflow_node.deploy.form.aliyun_nlb_region.tooltip": "For more information, see https://www.alibabacloud.com/help/en/slb/network-load-balancer/product-overview/regions-that-support-nlb", - "workflow_node.deploy.form.aliyun_nlb_loadbalancer_id.label": "Aliyun NLB Load Balancer ID", + "workflow_node.deploy.form.aliyun_nlb_loadbalancer_id.label": "Aliyun NLB load balancer ID", "workflow_node.deploy.form.aliyun_nlb_loadbalancer_id.placeholder": "Please enter Aliyun NLB load balancer ID", "workflow_node.deploy.form.aliyun_nlb_loadbalancer_id.tooltip": "For more information, see https://slb.console.aliyun.com/nlb", - "workflow_node.deploy.form.aliyun_nlb_listener_id.label": "Aliyun NLB Listener ID", + "workflow_node.deploy.form.aliyun_nlb_listener_id.label": "Aliyun NLB listener ID", "workflow_node.deploy.form.aliyun_nlb_listener_id.placeholder": "Please enter Aliyun NLB listener ID", "workflow_node.deploy.form.aliyun_nlb_listener_id.tooltip": "For more information, see https://slb.console.aliyun.com/nlb", - "workflow_node.deploy.form.aliyun_oss_endpoint.label": "Aliyun OSS Endpoint", + "workflow_node.deploy.form.aliyun_oss_endpoint.label": "Aliyun OSS endpoint", "workflow_node.deploy.form.aliyun_oss_endpoint.placeholder": "Please enter Aliyun OSS endpoint", "workflow_node.deploy.form.aliyun_oss_endpoint.tooltip": "For more information, see https://www.alibabacloud.com/help/en/oss/user-guide/regions-and-endpoints", - "workflow_node.deploy.form.aliyun_oss_bucket.label": "Aliyun OSS Bucket", + "workflow_node.deploy.form.aliyun_oss_bucket.label": "Aliyun OSS bucket", "workflow_node.deploy.form.aliyun_oss_bucket.placeholder": "Please enter Aliyun OSS bucket name", "workflow_node.deploy.form.aliyun_oss_bucket.tooltip": "For more information, see https://oss.console.aliyun.com", - "workflow_node.deploy.form.aliyun_oss_domain.label": "Aliyun OSS Domain", + "workflow_node.deploy.form.aliyun_oss_domain.label": "Aliyun OSS domain", "workflow_node.deploy.form.aliyun_oss_domain.placeholder": "Please enter Aliyun OSS domain name", "workflow_node.deploy.form.aliyun_oss_domain.tooltip": "For more information, see https://oss.console.aliyun.com", - "workflow_node.deploy.form.baiducloud_cdn_domain.label": "Baidu Cloud CDN Domain", + "workflow_node.deploy.form.baiducloud_cdn_domain.label": "Baidu Cloud CDN domain", "workflow_node.deploy.form.baiducloud_cdn_domain.placeholder": "Please enter Baidu Cloud CDN domain name", "workflow_node.deploy.form.baiducloud_cdn_domain.tooltip": "For more information, see https://console.bce.baidu.com/cdn", - "workflow_node.deploy.form.byteplus_cdn_domain.label": "BytePlus CDN Domain", + "workflow_node.deploy.form.byteplus_cdn_domain.label": "BytePlus CDN domain", "workflow_node.deploy.form.byteplus_cdn_domain.placeholder": "Please enter BytePlus CDN domain name", "workflow_node.deploy.form.byteplus_cdn_domain.tooltip": "For more information, see https://console.byteplus.com/cdn", - "workflow_node.deploy.form.dogecloud_cdn_domain.label": "Doge Cloud CDN Domain", + "workflow_node.deploy.form.dogecloud_cdn_domain.label": "Doge Cloud CDN domain", "workflow_node.deploy.form.dogecloud_cdn_domain.placeholder": "Please enter Doge Cloud CDN domain name", "workflow_node.deploy.form.dogecloud_cdn_domain.tooltip": "For more information, see https://console.dogecloud.com/", - "workflow_node.deploy.form.huaweicloud_cdn_region.label": "Huawei Cloud Region", + "workflow_node.deploy.form.huaweicloud_cdn_region.label": "Huawei Cloud region", "workflow_node.deploy.form.huaweicloud_cdn_region.placeholder": "Please enter Huawei Cloud region (e.g. cn-north-1)", "workflow_node.deploy.form.huaweicloud_cdn_region.tooltip": "For more information, see https://console-intl.huaweicloud.com/apiexplorer/#/endpoint", - "workflow_node.deploy.form.huaweicloud_cdn_domain.label": "Huawei Cloud CDN Domain", + "workflow_node.deploy.form.huaweicloud_cdn_domain.label": "Huawei Cloud CDN domain", "workflow_node.deploy.form.huaweicloud_cdn_domain.placeholder": "Please enter Huawei Cloud CDN domain name", "workflow_node.deploy.form.huaweicloud_cdn_domain.tooltip": "For more information, see https://console-intl.huaweicloud.com/cdn", - "workflow_node.deploy.form.huaweicloud_elb_resource_type.label": "Resource Type", + "workflow_node.deploy.form.huaweicloud_elb_resource_type.label": "Resource type", "workflow_node.deploy.form.huaweicloud_elb_resource_type.placeholder": "Please select resource type", - "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.certificate.label": "ELB Certificate", - "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.loadbalancer.label": "ELB Load Balancer", - "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.listener.label": "ELB Listener", - "workflow_node.deploy.form.huaweicloud_elb_region.label": "Huawei Cloud Region", + "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.certificate.label": "ELB certificate", + "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.loadbalancer.label": "ELB load balancer", + "workflow_node.deploy.form.huaweicloud_elb_resource_type.option.listener.label": "ELB listener", + "workflow_node.deploy.form.huaweicloud_elb_region.label": "Huawei Cloud region", "workflow_node.deploy.form.huaweicloud_elb_region.placeholder": "Please enter Huawei Cloud region (e.g. cn-north-1)", "workflow_node.deploy.form.huaweicloud_elb_region.tooltip": "For more information, see https://console-intl.huaweicloud.com/apiexplorer/#/endpoint", - "workflow_node.deploy.form.huaweicloud_elb_certificate_id.label": "Huawei Cloud ELB Certificate ID", + "workflow_node.deploy.form.huaweicloud_elb_certificate_id.label": "Huawei Cloud ELB certificate ID", "workflow_node.deploy.form.huaweicloud_elb_certificate_id.placeholder": "Please enter Huawei Cloud ELB certificate ID", "workflow_node.deploy.form.huaweicloud_elb_certificate_id.tooltip": "For more information, see https://console-intl.huaweicloud.com/vpc/#/elb/elbCert", - "workflow_node.deploy.form.huaweicloud_elb_loadbalancer_id.label": "Huawei Cloud ELB Load Balancer ID", + "workflow_node.deploy.form.huaweicloud_elb_loadbalancer_id.label": "Huawei Cloud ELB load balancer ID", "workflow_node.deploy.form.huaweicloud_elb_loadbalancer_id.placeholder": "Please enter Huawei Cloud ELB load balancer ID", "workflow_node.deploy.form.huaweicloud_elb_loadbalancer_id.tooltip": "For more information, see https://console-intl.huaweicloud.com/vpc/#/elb/list/grid", - "workflow_node.deploy.form.huaweicloud_elb_listener_id.label": "Huawei Cloud ELB Listener ID", + "workflow_node.deploy.form.huaweicloud_elb_listener_id.label": "Huawei Cloud ELB listener ID", "workflow_node.deploy.form.huaweicloud_elb_listener_id.placeholder": "Please enter Huawei Cloud ELB listener ID", "workflow_node.deploy.form.huaweicloud_elb_listener_id.tooltip": "For more information, see https://console-intl.huaweicloud.com/vpc/#/elb/list/grid", "workflow_node.deploy.form.k8s_namespace.label": "Kubernetes Namespace", "workflow_node.deploy.form.k8s_namespace.placeholder": "Please enter Kubernetes namespace", "workflow_node.deploy.form.k8s_namespace.tooltip": "For more information, see https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", - "workflow_node.deploy.form.k8s_secret_name.label": "Kubernetes Secret Name", + "workflow_node.deploy.form.k8s_secret_name.label": "Kubernetes secret name", "workflow_node.deploy.form.k8s_secret_name.placeholder": "Please enter Kubernetes secret name", "workflow_node.deploy.form.k8s_secret_name.tooltip": "For more information, see https://kubernetes.io/docs/concepts/configuration/secret/", - "workflow_node.deploy.form.k8s_secret_data_key_for_crt.label": "Kubernetes Secret Data Key for Certificate", + "workflow_node.deploy.form.k8s_secret_data_key_for_crt.label": "Kubernetes secret data key for certificate", "workflow_node.deploy.form.k8s_secret_data_key_for_crt.placeholder": "Please enter secret data key for certificate", "workflow_node.deploy.form.k8s_secret_data_key_for_crt.tooltip": "For more information, see https://kubernetes.io/docs/concepts/configuration/secret/", - "workflow_node.deploy.form.k8s_secret_data_key_for_key.label": "Kubernetes Secret Data Key for Private Key", + "workflow_node.deploy.form.k8s_secret_data_key_for_key.label": "Kubernetes secret data key for private key", "workflow_node.deploy.form.k8s_secret_data_key_for_key.placeholder": "Please enter secret data key for private key", "workflow_node.deploy.form.k8s_secret_data_key_for_key.tooltip": "For more information, see https://kubernetes.io/docs/concepts/configuration/secret/", - "workflow_node.deploy.form.local_format.label": "File Format", + "workflow_node.deploy.form.local_format.label": "File format", "workflow_node.deploy.form.local_format.placeholder": "Please select file format", "workflow_node.deploy.form.local_format.option.pem.label": "PEM (*.pem, *.crt, *.key)", "workflow_node.deploy.form.local_format.option.pfx.label": "PFX (*.pfx)", "workflow_node.deploy.form.local_format.option.jks.label": "JKS (*.jks)", - "workflow_node.deploy.form.local_cert_path.label": "Certificate File Saving Path", + "workflow_node.deploy.form.local_cert_path.label": "Certificate file saving path", "workflow_node.deploy.form.local_cert_path.placeholder": "Please enter saving path for certificate file", "workflow_node.deploy.form.local_cert_path.tooltip": "Note that the path should include the complete file name, not just the directory.", - "workflow_node.deploy.form.local_key_path.label": "Private Key File Saving Path", + "workflow_node.deploy.form.local_key_path.label": "Private key file saving path", "workflow_node.deploy.form.local_key_path.placeholder": "Please enter saving path for private key file", "workflow_node.deploy.form.local_key_path.tooltip": "Note that the path should include the complete file name, not just the directory.", - "workflow_node.deploy.form.local_pfx_password.label": "PFX Output Password", - "workflow_node.deploy.form.local_pfx_password.placeholder": "Please enter PFX output password", - "workflow_node.deploy.form.local_jks_alias.label": "JKS Alias (KeyStore Alias)", + "workflow_node.deploy.form.local_pfx_password.label": "PFX password", + "workflow_node.deploy.form.local_pfx_password.placeholder": "Please enter PFX password", + "workflow_node.deploy.form.local_jks_alias.label": "JKS alias (KeyStore Alias)", "workflow_node.deploy.form.local_jks_alias.placeholder": "Please enter JKS alias", - "workflow_node.deploy.form.local_jks_keypass.label": "JKS Key Password (KeyStore Keypass)", + "workflow_node.deploy.form.local_jks_keypass.label": "JKS key password (KeyStore Keypass)", "workflow_node.deploy.form.local_jks_keypass.placeholder": "Please enter JKS key password", - "workflow_node.deploy.form.local_jks_storepass.label": "JKS Store Password (KeyStore Storepass)", + "workflow_node.deploy.form.local_jks_storepass.label": "JKS store password (KeyStore Storepass)", "workflow_node.deploy.form.local_jks_storepass.placeholder": "Please enter JKS store password", "workflow_node.deploy.form.local_shell_env.label": "Shell", "workflow_node.deploy.form.local_shell_env.placeholder": "Please select shell environment", "workflow_node.deploy.form.local_shell_env.option.sh.label": "POSIX Bash (on Linux / macOS)", "workflow_node.deploy.form.local_shell_env.option.cmd.label": "CMD (on Windows)", "workflow_node.deploy.form.local_shell_env.option.powershell.label": "PowerShell (on Windows)", - "workflow_node.deploy.form.local_pre_command.label": "Pre-Command", + "workflow_node.deploy.form.local_pre_command.label": "Pre-command", "workflow_node.deploy.form.local_pre_command.placeholder": "Please enter command to be executed before saving files", - "workflow_node.deploy.form.local_post_command.label": "Post-Command", + "workflow_node.deploy.form.local_post_command.label": "Post-command", "workflow_node.deploy.form.local_post_command.placeholder": "Please enter command to be executed after saving files", - "workflow_node.deploy.form.local_preset_scripts.button": "Use Preset Scripts", - "workflow_node.deploy.form.local_preset_scripts.option.reload_nginx.label": "POSIX Bash - Reload Nginx", + "workflow_node.deploy.form.local_preset_scripts.button": "Use preset scripts", + "workflow_node.deploy.form.local_preset_scripts.option.reload_nginx.label": "POSIX Bash - Reload nginx", "workflow_node.deploy.form.local_preset_scripts.option.binding_iis.label": "PowerShell - Binding IIS", "workflow_node.deploy.form.local_preset_scripts.option.binding_netsh.label": "PowerShell - Binding netsh", - "workflow_node.deploy.form.qiniu_cdn_domain.label": "Qiniu CDN Domain", + "workflow_node.deploy.form.qiniu_cdn_domain.label": "Qiniu CDN domain", "workflow_node.deploy.form.qiniu_cdn_domain.placeholder": "Please enter Qiniu CDN domain name", "workflow_node.deploy.form.qiniu_cdn_domain.tooltip": "For more information, see https://portal.qiniu.com/", - "workflow_node.deploy.form.ssh_format.label": "File Format", + "workflow_node.deploy.form.ssh_format.label": "File format", "workflow_node.deploy.form.ssh_format.placeholder": "Please select file format", "workflow_node.deploy.form.ssh_format.option.pem.label": "PEM (*.pem, *.crt, *.key)", "workflow_node.deploy.form.ssh_format.option.pfx.label": "PFX (*.pfx)", "workflow_node.deploy.form.ssh_format.option.jks.label": "JKS (*.jks)", - "workflow_node.deploy.form.ssh_cert_path.label": "Certificate File Uploading Path", + "workflow_node.deploy.form.ssh_cert_path.label": "Certificate file uploading path", "workflow_node.deploy.form.ssh_cert_path.placeholder": "Please enter uploading path for certificate file", "workflow_node.deploy.form.ssh_cert_path.tooltip": "Note that the path should include the complete file name, not just the directory.", - "workflow_node.deploy.form.ssh_key_path.label": "Private Key File Uploading Path", + "workflow_node.deploy.form.ssh_key_path.label": "Private key file uploading path", "workflow_node.deploy.form.ssh_key_path.placeholder": "Please enter uploading path for private key file", "workflow_node.deploy.form.ssh_key_path.tooltip": "Note that the path should include the complete file name, not just the directory.", - "workflow_node.deploy.form.ssh_pfx_password.label": "PFX Output Password", - "workflow_node.deploy.form.ssh_pfx_password.placeholder": "Please enter PFX output password", - "workflow_node.deploy.form.ssh_jks_alias.label": "JKS Alias (KeyStore Alias)", + "workflow_node.deploy.form.ssh_pfx_password.label": "PFX password", + "workflow_node.deploy.form.ssh_pfx_password.placeholder": "Please enter PFX password", + "workflow_node.deploy.form.ssh_jks_alias.label": "JKS alias (KeyStore Alias)", "workflow_node.deploy.form.ssh_jks_alias.placeholder": "Please enter JKS alias", - "workflow_node.deploy.form.ssh_jks_keypass.label": "JKS Key Password (KeyStore Keypass)", + "workflow_node.deploy.form.ssh_jks_keypass.label": "JKS key password (KeyStore Keypass)", "workflow_node.deploy.form.ssh_jks_keypass.placeholder": "Please enter JKS key password", - "workflow_node.deploy.form.ssh_jks_storepass.label": "JKS Store Password (KeyStore Storepass)", + "workflow_node.deploy.form.ssh_jks_storepass.label": "JKS store password (KeyStore Storepass)", "workflow_node.deploy.form.ssh_jks_storepass.placeholder": "Please enter JKS store password", "workflow_node.deploy.form.ssh_shell_env.label": "Shell", "workflow_node.deploy.form.ssh_shell_env.value": "POSIX Bash (on Linux / macOS)", - "workflow_node.deploy.form.ssh_pre_command.label": "Pre-Command", + "workflow_node.deploy.form.ssh_pre_command.label": "Pre-command", "workflow_node.deploy.form.ssh_pre_command.placeholder": "Please enter command to be executed before uploading files", - "workflow_node.deploy.form.ssh_post_command.label": "Post-Command", + "workflow_node.deploy.form.ssh_post_command.label": "Post-command", "workflow_node.deploy.form.ssh_post_command.placeholder": "Please enter command to be executed after uploading files", - "workflow_node.deploy.form.ssh_preset_scripts.button": "Use Preset Scripts", - "workflow_node.deploy.form.ssh_preset_scripts.option.reload_nginx.label": "POSIX Bash - Reload Nginx", - "workflow_node.deploy.form.tencentcloud_cdn_domain.label": "Tencent Cloud CDN Domain", + "workflow_node.deploy.form.ssh_preset_scripts.button": "Use preset scripts", + "workflow_node.deploy.form.ssh_preset_scripts.option.reload_nginx.label": "POSIX Bash - Reload nginx", + "workflow_node.deploy.form.tencentcloud_cdn_domain.label": "Tencent Cloud CDN domain", "workflow_node.deploy.form.tencentcloud_cdn_domain.placeholder": "Please enter Tencent Cloud CDN domain name", "workflow_node.deploy.form.tencentcloud_cdn_domain.tooltip": "For more information, see https://console.tencentcloud.com/cdn", - "workflow_node.deploy.form.tencentcloud_clb_resource_type.label": "Resource Type", + "workflow_node.deploy.form.tencentcloud_clb_resource_type.label": "Resource type", "workflow_node.deploy.form.tencentcloud_clb_resource_type.placeholder": "Please select resource type", - "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.ssl_deploy.label": "Through SSL Deploy", - "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.loadbalancer.label": "CLB Load Balancer", - "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.listener.label": "CLB Listener", - "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.ruledomain.label": "CLB Rule Domain", - "workflow_node.deploy.form.tencentcloud_clb_region.label": "Tencent Cloud Region", + "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.ssl_deploy.label": "Through SSL deploy", + "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.loadbalancer.label": "CLB instance", + "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.listener.label": "CLB listener", + "workflow_node.deploy.form.tencentcloud_clb_resource_type.option.ruledomain.label": "CLB rule domain", + "workflow_node.deploy.form.tencentcloud_clb_region.label": "Tencent Cloud region", "workflow_node.deploy.form.tencentcloud_clb_region.placeholder": "Please enter Tencent Cloud region (e.g. ap-guangzhou)", "workflow_node.deploy.form.tencentcloud_clb_region.tooltip": "For more information, see https://www.tencentcloud.com/document/product/214/13629", - "workflow_node.deploy.form.tencentcloud_clb_loadbalancer_id.label": "Tencent Cloud CLB Instance ID", + "workflow_node.deploy.form.tencentcloud_clb_loadbalancer_id.label": "Tencent Cloud CLB instance ID", "workflow_node.deploy.form.tencentcloud_clb_loadbalancer_id.placeholder": "Please enter Tencent Cloud CLB instance ID", "workflow_node.deploy.form.tencentcloud_clb_loadbalancer_id.tooltip": "For more information, see https://console.tencentcloud.com/clb", - "workflow_node.deploy.form.tencentcloud_clb_listener_id.label": "Tencent Cloud CLB Listener ID", + "workflow_node.deploy.form.tencentcloud_clb_listener_id.label": "Tencent Cloud CLB listener ID", "workflow_node.deploy.form.tencentcloud_clb_listener_id.placeholder": "Please enter Tencent Cloud CLB listener ID", "workflow_node.deploy.form.tencentcloud_clb_listener_id.tooltip": "For more information, see https://console.tencentcloud.com/clb", - "workflow_node.deploy.form.tencentcloud_clb_snidomain.label": "Tencent Cloud CLB Domain (Optional)", + "workflow_node.deploy.form.tencentcloud_clb_snidomain.label": "Tencent Cloud CLB domain (Optional)", "workflow_node.deploy.form.tencentcloud_clb_snidomain.placeholder": "Please enter Tencent Cloud CLB domain name", "workflow_node.deploy.form.tencentcloud_clb_snidomain.tooltip": "For more information, see https://console.tencentcloud.com/clb", - "workflow_node.deploy.form.tencentcloud_clb_ruledomain.label": "Tencent Cloud CLB Domain", + "workflow_node.deploy.form.tencentcloud_clb_ruledomain.label": "Tencent Cloud CLB domain", "workflow_node.deploy.form.tencentcloud_clb_ruledomain.placeholder": "Please enter Tencent Cloud CLB domain name", "workflow_node.deploy.form.tencentcloud_clb_ruledomain.tooltip": "For more information, see https://console.tencentcloud.com/clb", - "workflow_node.deploy.form.tencentcloud_cos_region.label": "Tencent Cloud Region", + "workflow_node.deploy.form.tencentcloud_cos_region.label": "Tencent Cloud region", "workflow_node.deploy.form.tencentcloud_cos_region.placeholder": "Please enter Tencent Cloud region (e.g. ap-guangzhou)", "workflow_node.deploy.form.tencentcloud_cos_region.tooltip": "For more information, see https://www.tencentcloud.com/document/product/436/6224", - "workflow_node.deploy.form.tencentcloud_cos_bucket.label": "Tencent Cloud COS Bucket", + "workflow_node.deploy.form.tencentcloud_cos_bucket.label": "Tencent Cloud COS bucket", "workflow_node.deploy.form.tencentcloud_cos_bucket.placeholder": "Please enter Tencent Cloud COS bucket name", "workflow_node.deploy.form.tencentcloud_cos_bucket.tooltip": "For more information, see https://console.tencentcloud.com/cos", - "workflow_node.deploy.form.tencentcloud_cos_domain.label": "Tencent Cloud COS Domain", + "workflow_node.deploy.form.tencentcloud_cos_domain.label": "Tencent Cloud COS domain", "workflow_node.deploy.form.tencentcloud_cos_domain.placeholder": "Please enter Tencent Cloud COS domain name", "workflow_node.deploy.form.tencentcloud_cos_domain.tooltip": "For more information, see https://console.tencentcloud.com/cos", - "workflow_node.deploy.form.tencentcloud_ecdn_domain.label": "Tencent Cloud ECDN Domain", + "workflow_node.deploy.form.tencentcloud_ecdn_domain.label": "Tencent Cloud ECDN domain", "workflow_node.deploy.form.tencentcloud_ecdn_domain.placeholder": "Please enter Tencent Cloud ECDN domain name", "workflow_node.deploy.form.tencentcloud_ecdn_domain.tooltip": "For more information, see https://console.tencentcloud.com/cdn", - "workflow_node.deploy.form.tencentcloud_eo_zone_id.label": "Tencent Cloud EdgeOne Zone ID", + "workflow_node.deploy.form.tencentcloud_eo_zone_id.label": "Tencent Cloud EdgeOne zone ID", "workflow_node.deploy.form.tencentcloud_eo_zone_id.placeholder": "Please enter Tencent Cloud EdgeOne zone ID", "workflow_node.deploy.form.tencentcloud_eo_zone_id.tooltip": "For more information, see https://console.tencentcloud.com/edgeone", - "workflow_node.deploy.form.tencentcloud_eo_domain.label": "Tencent Cloud EdgeOne Domain", + "workflow_node.deploy.form.tencentcloud_eo_domain.label": "Tencent Cloud EdgeOne domain", "workflow_node.deploy.form.tencentcloud_eo_domain.placeholder": "Please enter Tencent Cloud EdgeOne domain name", "workflow_node.deploy.form.tencentcloud_eo_domain.tooltip": "For more information, see https://console.tencentcloud.com/edgeone", - "workflow_node.deploy.form.volcengine_cdn_domain.label": "VolcEngine CDN Domain", + "workflow_node.deploy.form.volcengine_cdn_domain.label": "VolcEngine CDN domain", "workflow_node.deploy.form.volcengine_cdn_domain.placeholder": "Please enter VolcEngine CDN domain name", "workflow_node.deploy.form.volcengine_cdn_domain.tooltip": "For more information, see https://console.volcengine.com/cdn/homepage", - "workflow_node.deploy.form.volcengine_live_domain.label": "VolcEngine Live Streaming Domain", + "workflow_node.deploy.form.volcengine_live_domain.label": "VolcEngine live streaming domain", "workflow_node.deploy.form.volcengine_live_domain.placeholder": "Please enter VolcEngine live streaming domain name", "workflow_node.deploy.form.volcengine_live_domain.tooltip": "For more information, see https://console.volcengine.com/live", - "workflow_node.deploy.form.webhook_data.label": "Webhook Data (JSON format)", + "workflow_node.deploy.form.webhook_data.label": "Webhook data (JSON format)", "workflow_node.deploy.form.webhook_data.placeholder": "Please enter Webhook data", - "workflow_node.deploy.form.params_config.label": "Parameter Settings", + "workflow_node.notify.title": "Notification", "workflow_node.notify.form.subject.label": "Subject", "workflow_node.notify.form.subject.placeholder": "Please enter subject", "workflow_node.notify.form.message.label": "Message", "workflow_node.notify.form.message.placeholder": "Please enter message", "workflow_node.notify.form.channel.label": "Channel", "workflow_node.notify.form.channel.placeholder": "Please select channel", - "workflow_node.notify.form.channel.button": "Configure" + "workflow_node.notify.form.channel.button": "Configure", + + "workflow_node.end.title": "End", + + "workflow_node.branch.title": "Branch", + + "workflow_node.condition.title": "Condition" } diff --git a/ui/src/i18n/locales/en/nls.workflow.runs.json b/ui/src/i18n/locales/en/nls.workflow.runs.json index 8fe4d1d1..aaad78b5 100644 --- a/ui/src/i18n/locales/en/nls.workflow.runs.json +++ b/ui/src/i18n/locales/en/nls.workflow.runs.json @@ -4,6 +4,6 @@ "workflow_run.props.status.succeeded": "Succeeded", "workflow_run.props.status.failed": "Failed", "workflow_run.props.trigger": "Trigger", - "workflow_run.props.started_at": "Started At", - "workflow_run.props.completed_at": "Completed At" + "workflow_run.props.started_at": "Started at", + "workflow_run.props.completed_at": "Completed at" } diff --git a/ui/src/i18n/locales/zh/index.ts b/ui/src/i18n/locales/zh/index.ts index 0ffa606b..e5674083 100644 --- a/ui/src/i18n/locales/zh/index.ts +++ b/ui/src/i18n/locales/zh/index.ts @@ -2,7 +2,6 @@ import nlsLogin from "./nls.login.json"; import nlsDashboard from "./nls.dashboard.json"; import nlsSettings from "./nls.settings.json"; -import nlsDomain from "./nls.domain.json"; import nlsAccess from "./nls.access.json"; import nlsWorkflow from "./nls.workflow.json"; import nlsWorkflowNodes from "./nls.workflow.nodes.json"; @@ -14,7 +13,6 @@ export default Object.freeze({ ...nlsLogin, ...nlsDashboard, ...nlsSettings, - ...nlsDomain, ...nlsAccess, ...nlsWorkflow, ...nlsWorkflowNodes, diff --git a/ui/src/i18n/locales/zh/nls.access.json b/ui/src/i18n/locales/zh/nls.access.json index 72efc7d9..9294eb3b 100644 --- a/ui/src/i18n/locales/zh/nls.access.json +++ b/ui/src/i18n/locales/zh/nls.access.json @@ -33,17 +33,17 @@ "access.form.acmehttpreq_password.label": "HTTP 基本认证密码", "access.form.acmehttpreq_password.placeholder": "请输入 HTTP 基本认证密码", "access.form.acmehttpreq_password.tooltip": "这是什么?请参阅 https://go-acme.github.io/lego/dns/httpreq/", - "access.form.aliyun_access_key_id.label": "阿里云 Access Key ID", - "access.form.aliyun_access_key_id.placeholder": "请输入阿里云 Access Key ID", + "access.form.aliyun_access_key_id.label": "阿里云 AccessKeyID", + "access.form.aliyun_access_key_id.placeholder": "请输入阿里云 AccessKeyID", "access.form.aliyun_access_key_id.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair", - "access.form.aliyun_access_key_secret.label": "阿里云 Access Key Secret", - "access.form.aliyun_access_key_secret.placeholder": "请输入阿里云 Access Key Secret", + "access.form.aliyun_access_key_secret.label": "阿里云 AccessKey Secret", + "access.form.aliyun_access_key_secret.placeholder": "请输入阿里云 AccessKey Secret", "access.form.aliyun_access_key_secret.tooltip": "这是什么?请参阅 https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair", - "access.form.aws_access_key_id.label": "AWS Access Key ID", - "access.form.aws_access_key_id.placeholder": "请输入 AWS Access Key ID", + "access.form.aws_access_key_id.label": "AWS AccessKeyID", + "access.form.aws_access_key_id.placeholder": "请输入 AWS AccessKeyID", "access.form.aws_access_key_id.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/id_credentials_access-keys.html", - "access.form.aws_secret_access_key.label": "AWS Secret Access Key", - "access.form.aws_secret_access_key.placeholder": "请输入 AWS Secret Access Key", + "access.form.aws_secret_access_key.label": "AWS SecretAccessKey", + "access.form.aws_secret_access_key.placeholder": "请输入 AWS SecretAccessKey", "access.form.aws_secret_access_key.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/id_credentials_access-keys.html", "access.form.aws_region.label": "AWS 区域", "access.form.aws_region.placeholder": "请输入 AWS 区域(例如:us-east-1)", @@ -51,26 +51,26 @@ "access.form.aws_hosted_zone_id.label": "AWS 托管区域 ID", "access.form.aws_hosted_zone_id.placeholder": "请输入 AWS 托管区域 ID", "access.form.aws_hosted_zone_id.tooltip": "这是什么?请参阅 https://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/hosted-zones-working-with.html", - "access.form.baiducloud_access_key_id.label": "百度智能云 Access Key ID", - "access.form.baiducloud_access_key_id.placeholder": "请输入百度智能云 Access Key ID", + "access.form.baiducloud_access_key_id.label": "百度智能云 AccessKeyID", + "access.form.baiducloud_access_key_id.placeholder": "请输入百度智能云 AccessKeyID", "access.form.baiducloud_access_key_id.tooltip": "这是什么?请参阅 https://cloud.baidu.com/doc/Reference/s/jjwvz2e3p", - "access.form.baiducloud_secret_access_key.label": "百度智能云 Secret Access Key", - "access.form.baiducloud_secret_access_key.placeholder": "请输入百度智能云 Secret Access Key", + "access.form.baiducloud_secret_access_key.label": "百度智能云 SecretAccessKey", + "access.form.baiducloud_secret_access_key.placeholder": "请输入百度智能云 SecretAccessKey", "access.form.baiducloud_secret_access_key.tooltip": "这是什么?请参阅 https://cloud.baidu.com/doc/Reference/s/jjwvz2e3p", - "access.form.byteplus_access_key.label": "BytePlus Access Key", - "access.form.byteplus_access_key.placeholder": "请输入 BytePlus Access Key", + "access.form.byteplus_access_key.label": "BytePlus AccessKey", + "access.form.byteplus_access_key.placeholder": "请输入 BytePlus AccessKey", "access.form.byteplus_access_key.tooltip": "这是什么?请参阅 https://docs.byteplus.com/zh-CN/docs/byteplus-platform/docs-managing-keys", - "access.form.byteplus_secret_key.label": "BytePlus Secret Key", - "access.form.byteplus_secret_key.placeholder": "请输入 BytePlus Secret Key", + "access.form.byteplus_secret_key.label": "BytePlus SecretKey", + "access.form.byteplus_secret_key.placeholder": "请输入 BytePlus SecretKey", "access.form.byteplus_secret_key.tooltip": "这是什么?请参阅 https://docs.byteplus.com/zh-CN/docs/byteplus-platform/docs-managing-keys", "access.form.cloudflare_dns_api_token.label": "Cloudflare API Token", "access.form.cloudflare_dns_api_token.placeholder": "请输入 Cloudflare API Token", "access.form.cloudflare_dns_api_token.tooltip": "这是什么?请参阅 https://developers.cloudflare.com/fundamentals/api/get-started/create-token/", - "access.form.dogecloud_access_key.label": "多吉云 Access Key", - "access.form.dogecloud_access_key.placeholder": "请输入多吉云 Access Key", + "access.form.dogecloud_access_key.label": "多吉云 AccessKey", + "access.form.dogecloud_access_key.placeholder": "请输入多吉云 AccessKey", "access.form.dogecloud_access_key.tooltip": "这是什么?请参阅 https://console.dogecloud.com/", - "access.form.dogecloud_secret_key.label": "多吉云 Secret Key", - "access.form.dogecloud_secret_key.placeholder": "请输入多吉云 Secret Key", + "access.form.dogecloud_secret_key.label": "多吉云 SecretKey", + "access.form.dogecloud_secret_key.placeholder": "请输入多吉云 SecretKey", "access.form.dogecloud_secret_key.tooltip": "这是什么?请参阅 https://console.dogecloud.com/", "access.form.godaddy_api_key.label": "GoDaddy API Key", "access.form.godaddy_api_key.placeholder": "请输入 GoDaddy API Key", @@ -78,11 +78,11 @@ "access.form.godaddy_api_secret.label": "GoDaddy API Secret", "access.form.godaddy_api_secret.placeholder": "请输入 GoDaddy API Secret", "access.form.godaddy_api_secret.tooltip": "这是什么?请参阅 https://developer.godaddy.com/", - "access.form.huaweicloud_access_key_id.label": "华为云 Access Key ID", - "access.form.huaweicloud_access_key_id.placeholder": "请输入华为云 Access Key ID", + "access.form.huaweicloud_access_key_id.label": "华为云 AccessKeyID", + "access.form.huaweicloud_access_key_id.placeholder": "请输入华为云 AccessKeyID", "access.form.huaweicloud_access_key_id.tooltip": "这是什么?请参阅 https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html", - "access.form.huaweicloud_secret_access_key.label": "华为云 Secret Access Key", - "access.form.huaweicloud_secret_access_key.placeholder": "请输入华为云 Secret Access Key", + "access.form.huaweicloud_secret_access_key.label": "华为云 SecretAccessKey", + "access.form.huaweicloud_secret_access_key.placeholder": "请输入华为云 SecretAccessKey", "access.form.huaweicloud_secret_access_key.tooltip": "这是什么?请参阅 https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html", "access.form.huaweicloud_region.label": "华为云区域", "access.form.huaweicloud_region.placeholder": "请输入华为云区域(例如:cn-north-1)", @@ -106,11 +106,11 @@ "access.form.powerdns_api_key.label": "PowerDNS API Key", "access.form.powerdns_api_key.placeholder": "请输入 PowerDNS API Key", "access.form.powerdns_api_key.tooltip": "这是什么?请参阅 https://doc.powerdns.com/authoritative/http-api/index.html#enabling-the-api", - "access.form.qiniu_access_key.label": "七牛云 Access Key", - "access.form.qiniu_access_key.placeholder": "请输入七牛云 Access Key", + "access.form.qiniu_access_key.label": "七牛云 AccessKey", + "access.form.qiniu_access_key.placeholder": "请输入七牛云 AccessKey", "access.form.qiniu_access_key.tooltip": "这是什么?请参阅 https://portal.qiniu.com/", - "access.form.qiniu_secret_key.label": "七牛云 Secret Key", - "access.form.qiniu_secret_key.placeholder": "请输入七牛云 Secret Key", + "access.form.qiniu_secret_key.label": "七牛云 SecretKey", + "access.form.qiniu_secret_key.placeholder": "请输入七牛云 SecretKey", "access.form.qiniu_secret_key.tooltip": "这是什么?请参阅 https://portal.qiniu.com/", "access.form.tencentcloud_secret_id.label": "腾讯云 SecretId", "access.form.tencentcloud_secret_id.placeholder": "请输入腾讯云 SecretId", @@ -118,11 +118,11 @@ "access.form.tencentcloud_secret_key.label": "腾讯云 SecretKey", "access.form.tencentcloud_secret_key.placeholder": "请输入腾讯云 SecretKey", "access.form.tencentcloud_secret_key.tooltip": "这是什么?请参阅 https://cloud.tencent.com/document/product/598/40488", - "access.form.volcengine_access_key_id.label": "火山引擎 Access Key ID", - "access.form.volcengine_access_key_id.placeholder": "请输入火山引擎 Access Key ID", + "access.form.volcengine_access_key_id.label": "火山引擎 AccessKeyID", + "access.form.volcengine_access_key_id.placeholder": "请输入火山引擎 AccessKeyID", "access.form.volcengine_access_key_id.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6291/216571", - "access.form.volcengine_secret_access_key.label": "火山引擎 Secret Access Key", - "access.form.volcengine_secret_access_key.placeholder": "请输入火山引擎 Secret Access Key", + "access.form.volcengine_secret_access_key.label": "火山引擎 SecretAccessKey", + "access.form.volcengine_secret_access_key.placeholder": "请输入火山引擎 SecretAccessKey", "access.form.volcengine_secret_access_key.tooltip": "这是什么?请参阅 https://www.volcengine.com/docs/6291/216571", "access.form.webhook_url.label": "Webhook 回调地址", "access.form.webhook_url.placeholder": "请输入 Webhook 回调地址", diff --git a/ui/src/i18n/locales/zh/nls.domain.json b/ui/src/i18n/locales/zh/nls.domain.json deleted file mode 100644 index a35fccd4..00000000 --- a/ui/src/i18n/locales/zh/nls.domain.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "domain.deployment.form.type.label": "部署方式", - "domain.deployment.form.type.placeholder": "请选择部署方式", - "domain.deployment.form.type.list": "部署方式列表", - "domain.deployment.form.access.label": "授权配置", - "domain.deployment.form.access.placeholder": "请选择授权配置", - "domain.deployment.form.access.list": "提供商授权配置列表", - "domain.deployment.form.domain.label": "部署到域名(仅支持单个域名;不支持泛域名)", - "domain.deployment.form.domain.label.wildsupported": "部署到域名(支持泛域名)", - "domain.deployment.form.domain.placeholder": "请输入部署到的域名", - "domain.deployment.form.aliyun_oss_endpoint.label": "Endpoint", - "domain.deployment.form.aliyun_oss_endpoint.placeholder": "请输入 Endpoint", - "domain.deployment.form.aliyun_oss_bucket.label": "存储桶", - "domain.deployment.form.aliyun_oss_bucket.placeholder": "请输入存储桶名", - "domain.deployment.form.aliyun_clb_region.label": "地域", - "domain.deployment.form.aliyun_clb_region.placeholder": "请输入地域(如 cn-hangzhou)", - "domain.deployment.form.aliyun_clb_resource_type.label": "替换方式", - "domain.deployment.form.aliyun_clb_resource_type.placeholder": "请选择替换方式", - "domain.deployment.form.aliyun_clb_resource_type.option.loadbalancer.label": "替换指定负载均衡器下的全部 HTTPS 监听的证书", - "domain.deployment.form.aliyun_clb_resource_type.option.listener.label": "替换指定负载均衡监听的证书", - "domain.deployment.form.aliyun_clb_loadbalancer_id.label": "负载均衡器 ID", - "domain.deployment.form.aliyun_clb_loadbalancer_id.placeholder": "请输入负载均衡器 ID", - "domain.deployment.form.aliyun_clb_listener_port.label": "监听端口", - "domain.deployment.form.aliyun_clb_listener_port.placeholder": "请输入监听端口", - "domain.deployment.form.aliyun_alb_region.label": "地域", - "domain.deployment.form.aliyun_alb_region.placeholder": "请输入地域(如 cn-hangzhou)", - "domain.deployment.form.aliyun_alb_resource_type.label": "替换方式", - "domain.deployment.form.aliyun_alb_resource_type.placeholder": "请选择替换方式", - "domain.deployment.form.aliyun_alb_resource_type.option.loadbalancer.label": "替换指定负载均衡器下的全部 HTTPS/QUIC 监听的证书", - "domain.deployment.form.aliyun_alb_resource_type.option.listener.label": "替换指定负载均衡监听器的证书", - "domain.deployment.form.aliyun_alb_loadbalancer_id.label": "负载均衡器 ID", - "domain.deployment.form.aliyun_alb_loadbalancer_id.placeholder": "请输入负载均衡器 ID", - "domain.deployment.form.aliyun_alb_listener_id.label": "监听器 ID", - "domain.deployment.form.aliyun_alb_listener_id.placeholder": "请输入监听器 ID", - "domain.deployment.form.aliyun_nlb_region.label": "地域", - "domain.deployment.form.aliyun_nlb_region.placeholder": "请输入地域(如 cn-hangzhou)", - "domain.deployment.form.aliyun_nlb_resource_type.label": "替换方式", - "domain.deployment.form.aliyun_nlb_resource_type.placeholder": "请选择替换方式", - "domain.deployment.form.aliyun_nlb_resource_type.option.loadbalancer.label": "替换指定负载均衡器下的全部 TCPSSL 监听的证书", - "domain.deployment.form.aliyun_nlb_resource_type.option.listener.label": "替换指定负载均衡监听器的证书", - "domain.deployment.form.aliyun_nlb_loadbalancer_id.label": "负载均衡器 ID", - "domain.deployment.form.aliyun_nlb_loadbalancer_id.placeholder": "请输入负载均衡器 ID", - "domain.deployment.form.aliyun_nlb_listener_id.label": "监听器 ID", - "domain.deployment.form.aliyun_nlb_listener_id.placeholder": "请输入监听器 ID", - "domain.deployment.form.tencent_cos_region.label": "地域", - "domain.deployment.form.tencent_cos_region.placeholder": "请输入地域(如 ap-guangzhou)", - "domain.deployment.form.tencent_cos_bucket.label": "存储桶", - "domain.deployment.form.tencent_cos_bucket.placeholder": "请输入存储桶名", - "domain.deployment.form.tencent_clb_region.label": "地域", - "domain.deployment.form.tencent_clb_region.placeholder": "请输入地域(如 ap-guangzhou)", - "domain.deployment.form.tencent_clb_resource_type.label": "替换方式", - "domain.deployment.form.tencent_clb_resource_type.placeholder": "请选择替换方式", - "domain.deployment.form.tencent_clb_resource_type.option.ssl_deploy.label": "通过 SSL 服务部署到云资源实例", - "domain.deployment.form.tencent_clb_resource_type.option.loadbalancer.label": "替换指定负载均衡器下的全部 HTTPS/TCPSSL/QUIC 监听器的证书", - "domain.deployment.form.tencent_clb_resource_type.option.listener.label": "替换指定负载均衡监听器的证书", - "domain.deployment.form.tencent_clb_resource_type.option.ruledomain.label": "替换指定七层监听转发规则域名的证书", - "domain.deployment.form.tencent_clb_loadbalancer_id.label": "负载均衡器 ID", - "domain.deployment.form.tencent_clb_loadbalancer_id.placeholder": "请输入负载均衡器实例 ID", - "domain.deployment.form.tencent_clb_listener_id.label": "监听器 ID", - "domain.deployment.form.tencent_clb_listener_id.placeholder": "请输入监听器 ID", - "domain.deployment.form.tencent_clb_domain.label": "部署到域名(支持泛域名)", - "domain.deployment.form.tencent_clb_domain.placeholder": "请输入部署到的域名, 如未开启 SNI, 可置空忽略此项", - "domain.deployment.form.tencent_clb_ruledomain.label": "转发域名", - "domain.deployment.form.tencent_clb_ruledomain.placeholder": "请输入七层监听转发规则域名", - "domain.deployment.form.tencent_teo_zone_id.label": "Zone ID", - "domain.deployment.form.tencent_teo_zone_id.placeholder": "请输入 Zone ID", - "domain.deployment.form.tencent_teo_domain.label": "部署到域名(支持泛域名, 应与服务器上配置的域名完全一致, 每行一个域名)", - "domain.deployment.form.tencent_teo_domain.placeholder": "请输入部署到的域名", - "domain.deployment.form.huaweicloud_cdn_region.label": "地域", - "domain.deployment.form.huaweicloud_cdn_region.placeholder": "请输入地域(如 cn-north-1)", - "domain.deployment.form.huaweicloud_elb_region.label": "地域", - "domain.deployment.form.huaweicloud_elb_region.placeholder": "请输入地域(如 cn-north-1)", - "domain.deployment.form.huaweicloud_elb_resource_type.label": "替换方式", - "domain.deployment.form.huaweicloud_elb_resource_type.placeholder": "请选择替换方式", - "domain.deployment.form.huaweicloud_elb_resource_type.option.certificate.label": "替换指定证书", - "domain.deployment.form.huaweicloud_elb_resource_type.option.loadbalancer.label": "替换指定负载均衡器下的全部 HTTPS 监听器的证书", - "domain.deployment.form.huaweicloud_elb_resource_type.option.listener.label": "替换指定监听器的证书", - "domain.deployment.form.huaweicloud_elb_certificate_id.label": "证书 ID", - "domain.deployment.form.huaweicloud_elb_certificate_id.placeholder": "请输入证书 ID", - "domain.deployment.form.huaweicloud_elb_loadbalancer_id.label": "负载均衡器 ID", - "domain.deployment.form.huaweicloud_elb_loadbalancer_id.placeholder": "请输入负载均衡器 ID", - "domain.deployment.form.huaweicloud_elb_listener_id.label": "监听器 ID", - "domain.deployment.form.huaweicloud_elb_listener_id.placeholder": "请输入监听器 ID", - "domain.deployment.form.file_format.label": "证书格式", - "domain.deployment.form.file_format.placeholder": "请选择证书格式", - "domain.deployment.form.file_cert_path.label": "证书保存路径", - "domain.deployment.form.file_cert_path.placeholder": "请输入证书保存路径", - "domain.deployment.form.file_key_path.label": "私钥保存路径", - "domain.deployment.form.file_key_path.placeholder": "请输入私钥保存路径", - "domain.deployment.form.file_pfx_password.label": "PFX 导出密码", - "domain.deployment.form.file_pfx_password.placeholder": "请输入 PFX 导出密码", - "domain.deployment.form.file_jks_alias.label": "JKS 别名(KeyStore Alias)", - "domain.deployment.form.file_jks_alias.placeholder": "请输入 JKS 别名", - "domain.deployment.form.file_jks_keypass.label": "JKS 私钥访问口令(KeyStore Keypass)", - "domain.deployment.form.file_jks_keypass.placeholder": "请输入 JKS 私钥访问口令", - "domain.deployment.form.file_jks_storepass.label": "JKS 密钥库存储口令(KeyStore Storepass)", - "domain.deployment.form.file_jks_storepass.placeholder": "请输入 JKS 密钥库存储口令", - "domain.deployment.form.shell.label": "Shell", - "domain.deployment.form.shell.placeholder": "请选择命令执行环境", - "domain.deployment.form.shell_pre_command.label": "前置命令", - "domain.deployment.form.shell_pre_command.placeholder": "在部署证书前执行的命令", - "domain.deployment.form.shell_command.label": "命令", - "domain.deployment.form.shell_command.placeholder": "请输入要执行的命令", - "domain.deployment.form.shell_preset_scripts.trigger": "使用预设脚本", - "domain.deployment.form.shell_preset_scripts.option.reload_nginx.label": "Bash - 重启 nginx", - "domain.deployment.form.shell_preset_scripts.option.binding_iis.label": "PowerShell - 导入并绑定到 IIS(需管理员权限)", - "domain.deployment.form.shell_preset_scripts.option.binding_netsh.label": "PowerShell - 导入并绑定到 netsh(需管理员权限)", - "domain.deployment.form.k8s_namespace.label": "命名空间", - "domain.deployment.form.k8s_namespace.placeholder": "请输入 K8S 命名空间", - "domain.deployment.form.k8s_secret_name.label": "Secret 名称", - "domain.deployment.form.k8s_secret_name.placeholder": "请输入 K8S Secret 名称", - "domain.deployment.form.k8s_secret_data_key_for_key.label": "Secret 数据键(用于存放公钥的 Key)", - "domain.deployment.form.k8s_secret_data_key_for_key.placeholder": "请输入 K8S Secret 中用于存放公钥的数据键", - "domain.deployment.form.k8s_secret_data_key_for_crt.label": "Secret 数据键(用于存放证书的 Key)", - "domain.deployment.form.k8s_secret_data_key_for_crt.placeholder": "请输入 K8S Secret 中用于存放证书的数据键", - "domain.deployment.form.variables.label": "变量", - "domain.deployment.form.variables.key": "变量名", - "domain.deployment.form.variables.value": "值", - "domain.deployment.form.variables.empty": "尚未添加变量", - "domain.deployment.form.variables.key.required": "变量名不能为空", - "domain.deployment.form.variables.value.required": "变量值不能为空", - "domain.deployment.form.variables.key.placeholder": "请输入变量名", - "domain.deployment.form.variables.value.placeholder": "请输入变量值" -} diff --git a/ui/src/i18n/locales/zh/nls.workflow.json b/ui/src/i18n/locales/zh/nls.workflow.json index 06935159..0930d6ec 100644 --- a/ui/src/i18n/locales/zh/nls.workflow.json +++ b/ui/src/i18n/locales/zh/nls.workflow.json @@ -7,6 +7,12 @@ "workflow.action.edit": "编辑工作流", "workflow.action.delete": "删除工作流", "workflow.action.delete.confirm": "确定要删除此工作流吗?", + "workflow.action.discard": "撤销更改", + "workflow.action.discard.confirm": "确定要撤销更改并回退到最近一次发布的版本吗?", + "workflow.action.release": "发布更改", + "workflow.action.release.confirm": "确定要发布更改吗?", + "workflow.action.execute": "执行", + "workflow.action.execute.confirm": "确定要立即执行此工作流吗?", "workflow.props.name": "名称", "workflow.props.description": "描述", @@ -23,12 +29,13 @@ "workflow.detail.orchestration.tab": "流程编排", "workflow.detail.runs.tab": "执行历史", - "workflow.baseinfo.modal.title": "编辑基本信息", - "workflow.baseinfo.form.name.label": "名称", - "workflow.baseinfo.form.name.placeholder": "请输入工作流名称", - "workflow.baseinfo.form.description.label": "描述", - "workflow.baseinfo.form.description.placeholder": "请输入工作流描述", + "workflow.detail.baseinfo.modal.title": "编辑基本信息", + "workflow.detail.baseinfo.form.name.label": "名称", + "workflow.detail.baseinfo.form.name.placeholder": "请输入工作流名称", + "workflow.detail.baseinfo.form.description.label": "描述", + "workflow.detail.baseinfo.form.description.placeholder": "请输入工作流描述", + "workflow.common.certificate.label": "证书", "workflow.detail.action.save": "保存变更", "workflow.detail.action.save.failed": "保存失败", "workflow.detail.action.save.failed.uncompleted": "请先完成流程编排并发布更改", @@ -36,18 +43,6 @@ "workflow.detail.action.run.failed": "执行失败", "workflow.detail.action.run.success": "执行成功", "workflow.detail.action.running": "正在执行", - - "workflow.common.certificate.label": "证书", - "workflow.common.certificate.placeholder": "请选择证书来源", - - "workflow.node.start.title": "开始", - "workflow.node.apply.title": "申请", - "workflow.node.deploy.title": "部署", - "workflow.node.branch.title": "分支", - "workflow.node.condition.title": "分支", - "workflow.node.end.title": "流程结束", - "workflow.node.notify.title": "通知", - "workflow.node.setting.label": "设置节点", "workflow.node.delete.label": "删除节点", "workflow.node.addBranch.label": "添加分支", diff --git a/ui/src/i18n/locales/zh/nls.workflow.nodes.json b/ui/src/i18n/locales/zh/nls.workflow.nodes.json index 563a623e..43fd029c 100644 --- a/ui/src/i18n/locales/zh/nls.workflow.nodes.json +++ b/ui/src/i18n/locales/zh/nls.workflow.nodes.json @@ -1,4 +1,5 @@ { + "workflow_node.start.title": "开始", "workflow_node.start.form.trigger.label": "触发方式", "workflow_node.start.form.trigger.placeholder": "请选择触发方式", "workflow_node.start.form.trigger.tooltip": "自动触发:基于 Cron 表达式定时触发。
手动触发:手动点击执行触发。", @@ -7,10 +8,11 @@ "workflow_node.start.form.trigger_cron.label": "Cron 表达式", "workflow_node.start.form.trigger_cron.placeholder": "请输入 Cron 表达式", "workflow_node.start.form.trigger_cron.errmsg.invalid": "请输入正确的 Cron 表达式", - "workflow_node.start.form.trigger_cron.tooltip": "时区以服务器设置为准。", + "workflow_node.start.form.trigger_cron.tooltip": "支持使用任意值(即 *)、值列表分隔符(即 ,)、值的范围(即 -)、步骤值(即 /)等四种表达式,时区以服务器设置为准。", "workflow_node.start.form.trigger_cron.extra": "预计最近 5 次执行时间:", "workflow_node.start.form.trigger_cron_alert.content": "小贴士:如果你有多个工作流,建议将它们设置为在一天中的多个时间段运行,而非总是在相同的特定时间。

参考链接:
1. Let’s Encrypt 速率限制
2. 为什么我的 Let’s Encrypt (ACME) 客户端启动时间应当随机?", + "workflow_node.apply.title": "申请", "workflow_node.apply.form.domains.label": "域名", "workflow_node.apply.form.domains.placeholder": "请输入域名(多个值请用半角分号隔开)", "workflow_node.apply.form.domains.tooltip": "泛域名表示形式为:*.example.com", @@ -18,7 +20,7 @@ "workflow_node.apply.form.domains.multiple_input_modal.placeholder": "请输入域名", "workflow_node.apply.form.email.label": "联系邮箱", "workflow_node.apply.form.email.placeholder": "请输入联系邮箱", - "workflow_node.apply.form.email.tooltip": "申请签发 SSL 证书时所需的联系方式。请注意 Let's Encrypt 账户注册的速率限制(点此了解更多)。", + "workflow_node.apply.form.email.tooltip": "申请签发 SSL 证书时所需的联系方式。请注意 Let's Encrypt 账户注册的速率限制。
点此了解更多。", "workflow_node.apply.form.access.label": "DNS 提供商授权", "workflow_node.apply.form.access.placeholder": "请选择 DNS 提供商授权", "workflow_node.apply.form.access.tooltip": "用于 ACME DNS-01 认证时操作域名解析记录,注意与部署阶段所需的主机提供商相区分。", @@ -38,6 +40,7 @@ "workflow_node.apply.form.disable_follow_cname.label": "禁止 CNAME 跟随", "workflow_node.apply.form.disable_follow_cname.tooltip": "在 ACME DNS-01 认证时是否禁止 CNAME 跟随。如果你不了解该选项的用途,保持默认即可。
点此了解更多。", + "workflow_node.deploy.title": "部署", "workflow_node.deploy.form.provider_type.label": "部署目标", "workflow_node.deploy.form.provider_type.placeholder": "请选择部署目标", "workflow_node.deploy.form.provider_access.label": "主机提供商授权", @@ -259,11 +262,17 @@ "workflow_node.deploy.form.webhook_data.label": "Webhook 回调数据(JSON 格式)", "workflow_node.deploy.form.webhook_data.placeholder": "请输入 Webhook 回调数据", + "workflow_node.notify.title": "通知", "workflow_node.notify.form.subject.label": "通知主题", "workflow_node.notify.form.subject.placeholder": "请输入通知主题", "workflow_node.notify.form.message.label": "通知内容", "workflow_node.notify.form.message.placeholder": "请输入通知内容", "workflow_node.notify.form.channel.label": "通知渠道", "workflow_node.notify.form.channel.placeholder": "请选择通知渠道", - "workflow_node.notify.form.channel.button": "去配置" + "workflow_node.notify.form.channel.button": "去配置", + + "workflow_node.end.title": "结束", + + "workflow_node.branch.title": "分支", + "workflow_node.condition.title": "条件" } diff --git a/ui/src/pages/workflows/WorkflowDetail.tsx b/ui/src/pages/workflows/WorkflowDetail.tsx index 6c32571c..11afc13a 100644 --- a/ui/src/pages/workflows/WorkflowDetail.tsx +++ b/ui/src/pages/workflows/WorkflowDetail.tsx @@ -4,7 +4,11 @@ import { useTranslation } from "react-i18next"; import { Button, Card, Dropdown, Form, Input, message, Modal, notification, Tabs, Typography } from "antd"; import { createSchemaFieldRule } from "antd-zod"; import { PageHeader } from "@ant-design/pro-components"; -import { DeleteOutlined as DeleteOutlinedIcon, EllipsisOutlined as EllipsisOutlinedIcon } from "@ant-design/icons"; +import { + CaretRightOutlined as CaretRightOutlinedIcon, + DeleteOutlined as DeleteOutlinedIcon, + EllipsisOutlined as EllipsisOutlinedIcon, +} from "@ant-design/icons"; import { z } from "zod"; import Show from "@/components/Show"; @@ -168,15 +172,27 @@ const WorkflowDetail = () => {
- - -
{elements}
-
+ +
+
+ {elements} +
+
+ + + + + +
+
+
- - - -
+ + +
@@ -196,12 +212,12 @@ const WorkflowBaseInfoModalForm = ({ const formSchema = z.object({ name: z - .string({ message: t("workflow.baseinfo.form.name.placeholder") }) - .min(1, t("workflow.baseinfo.form.name.placeholder")) + .string({ message: t("workflow.detail.baseinfo.form.name.placeholder") }) + .min(1, t("workflow.detail.baseinfo.form.name.placeholder")) .max(64, t("common.errmsg.string_max", { max: 64 })) .trim(), description: z - .string({ message: t("workflow.baseinfo.form.description.placeholder") }) + .string({ message: t("workflow.detail.baseinfo.form.description.placeholder") }) .max(256, t("common.errmsg.string_max", { max: 256 })) .trim() .nullish(), @@ -232,18 +248,18 @@ const WorkflowBaseInfoModalForm = ({ form={formInst} modalProps={{ destroyOnClose: true }} okText={t("common.button.save")} - title={t(`workflow.baseinfo.modal.title`)} + title={t(`workflow.detail.baseinfo.modal.title`)} trigger={trigger} width={480} {...formProps} onFinish={handleFinish} > - - + + - - + + );