refactor: organize certd client i18n translations

This commit is contained in:
xiaojunnuo
2026-04-30 23:48:48 +08:00
parent 267243e71b
commit 028932c04a
35 changed files with 503 additions and 150 deletions
@@ -14,5 +14,93 @@ export default {
gotoCnameTip: "Please go to CNAME Record Page",
fromType: "From Type",
expirationDate: "Expiration Date",
cnameManagedInCnamePage: "For CNAME mode, please manage records on the CNAME Records page.",
subdomainConfirmTitle: "Subdomain Confirmation",
subdomainConfirmContent: "{domain} appears to be a subdomain. Only delegated subdomains and free second-level subdomains need to be maintained here. Otherwise certificate application may fail. Continue?",
importFromProvider: "Import from Domain Provider",
syncExpirationDate: "Sync Domain Expiration Time",
syncTaskSubmitted: "Sync task submitted",
expirationMonitorSetting: "Domain Expiration Monitor Settings",
subdomainDnsHelper: "Note: In DNS validation mode, subdomains do not need to be maintained here, otherwise certificate application may be affected (except delegated subdomains or free second-level domains).",
path: "Path",
addImportTask: "Add Import Task",
refresh: "Refresh",
progress: "Progress",
operation: "Operation",
total: "Total",
skipped: "Skipped",
failed: "Failed",
notExecuted: "Not executed",
execute: "Run",
delete: "Delete",
confirmDelete: "Confirm deletion?",
domainProvider: "Domain Provider",
domainProviderAccessType: "Domain Provider Access Type",
domainProviderAccess: "Domain Provider Access",
},
verifyPlan: {
expandTip: "Click to enlarge",
mainDomain: "Main Domain",
challengeType: "Challenge Method",
challengePlan: "Challenge Plan",
dnsType: "DNS Type",
dnsProvider: "DNS Provider",
dnsAccess: "DNS Access",
pleaseSelect: "Please select",
httpHelper: "The CA will request https://yourdomain/.well-known/acme-challenge/xxxxxx to verify domain ownership.",
dnsChallenge: "DNS Challenge",
cnameChallenge: "CNAME Challenge",
cnameProxyChallenge: "CNAME Proxy Challenge",
httpChallenge: "HTTP Challenge",
domainTitle: "Domain: {domain}",
resetStatusTooltip: "Reset validation status and validate again",
clickToValidate: "Validate",
keepCnameTitle: "Required for future automatic certificate applications",
keepCname: "Do not delete CNAME",
resetStatus: "Reset Status",
confirmResetStatus: "Are you sure you want to reset the validation status?",
hostRecord: "Host Record",
recordType: "Record Type",
setCnameRecord: "Set the CNAME record. Do not delete it after validation succeeds.",
operation: "Operation",
websiteDomain: "Website Domain",
uploadMethod: "Upload Method",
uploadAccess: "Upload Access",
websiteRootPath: "Website Root Path",
websiteRootPlaceholder: "Website root path, e.g. /www/wwwroot",
status: {
pendingCname: "Pending CNAME Setup",
validating: "Validating",
valid: "Validation Successful",
failed: "Validation Failed",
timeout: "Validation Timed Out",
},
cnameTip: {
intro: "Try a few more times. If validation still fails, troubleshoot with these steps:",
step1: "1. The DNS record should be added under {domain}.",
step2: "2. Add a CNAME record, not a TXT record.",
step3: "3. Check whether the record value is: {value}",
step4: "4. While validating, run the command below to check whether CNAME and TXT resolution are correct.",
or: "or",
step5: "5. If all checks pass, DNS propagation may be slow. Some providers can take several hours.",
},
errors: {
cnameNotValid: "The CNAME for domain {domain} has not been validated. Set the CNAME record first, then click Validate.",
wildcardNotSupportHttp: "Domain {domain} is a wildcard domain and does not support HTTP validation.",
uploadMethodRequired: "The upload method for domain {domain} is required.",
uploadAccessRequired: "The upload access for domain {domain} is required.",
websiteRootRequired: "The website root path for domain {domain} is required.",
dnsProviderRequired: "In DNS mode, the DNS type and access information for domain {domain} are required.",
},
uploader: {
aliyunOss: "Alibaba Cloud OSS",
tencentCos: "Tencent Cloud COS",
qiniuOss: "Qiniu OSS",
sshDeprecated: "SSH (deprecated, use SFTP instead)",
},
domainFrom: {
manual: "Manual",
auto: "Automatic",
},
},
};
@@ -18,4 +18,24 @@ export default {
cname_feature_guide: "CNAME feature principle and usage guide",
mainDomain: "Main Domain",
cnameRecord: "CNAME Record Management",
importRecords: "Import CNAME Records",
batchImport: "Batch Import",
exportRecordsTip: "After exporting CNAME records, you can batch import CNAME DNS records to the domain registrar.",
batchExport: "Batch Export",
resetStatus: "Reset Status",
confirmResetStatus: "Are you sure you want to reset the validation status?",
resetStatusTooltip: "Reset validation status and validate again",
cname: {
importRecords: "Import CNAME Records",
batchImport: "Batch Import",
exportRecordsTip: "After exporting CNAME records, you can batch import CNAME DNS records to the domain registrar.",
batchExport: "Batch Export",
resetStatus: "Reset Status",
confirmResetStatus: "Are you sure you want to reset the validation status?",
resetStatusTooltip: "Reset validation status and validate again",
domainList: "Domain List",
domainListHelper: "One domain per line for batch import\nRemove *. from wildcard domains\nExisting records will be skipped automatically",
cnameService: "CNAME Service",
importTaskSubmitted: "Import task submitted",
},
};
@@ -113,4 +113,36 @@ export default {
helpDocLink: "Help Docs",
suite: "Suite",
helpDoc: "Help Document",
pluginCommon: {
test: "Test",
errorWithMessage: "Error: {message}",
testRequestSuccess: "Test request succeeded",
responseSuffix: ", response: {response}",
searchKeyword: "Search keyword",
search: "Search",
refreshOptions: "Refresh options",
getOptionsError: "Failed to get options: {message}",
getDataSuccessSelect: "Data loaded. Please select from the dropdown.",
getDataSuccessEmpty: "Data loaded. No data found.",
domainSearchPlaceholder: "Search domains here (from Settings -> Domain Management), or type directly in the input above",
importDomain: "Import Domains",
manageDomain: "Manage Domains",
refreshMyDomains: "Refresh my domain list",
upload: "Upload",
uploadCert: "Upload Certificate",
certName: "Certificate Name",
certNameHelper: "Display name after upload",
uploadSuccess: "Upload successful",
selectCertFirst: "Please select a domain certificate first",
targetStepNotFound: "Target step not found. Please select a domain certificate first.",
},
captcha: {
inputImageCode: "Please enter the image captcha",
refresh: "Refresh captcha",
clickToVerify: "Click to verify",
verifySuccess: "Verification successful",
verifyFailed: "Verification failed. Please try again.",
loadFailed: "Failed to load captcha",
notLoaded: "Captcha is not loaded yet",
},
};
@@ -97,6 +97,7 @@ export default {
pipeline: "Pipeline",
},
editSchedule: "Edit Schedule",
webhook: "Webhook",
timerTrigger: "Timer Trigger",
schedule: "Schedule",
selectCron: "Please select a schedule Cron",
@@ -18,6 +18,7 @@ export default {
project: {
noProjectJoined: "You haven't joined any projects yet",
applyToJoin: "Please apply to join a project to start using",
projectList: "Project List",
systemProjects: "System Project List",
createdAt: "Created At",
applyJoin: "Apply to Join",
@@ -7,8 +7,13 @@ export default {
settingLink: "Site Monitoring Settings",
limitInfo: "Basic edition limited to 1, professional and above unlimited, current",
checkAll: "Check All",
checkNow: "Check Now",
batchDelete: "Batch Delete",
confirmTitle: "Confirm",
confirmContent: "Confirm to trigger check for all site certificates?",
batchDeleteConfirm: "Are you sure you want to batch delete these {count} records?",
deleteSuccess: "Delete successful",
selectRecordsFirst: "Please select records first",
checkSubmitted: "Check task submitted",
pleaseRefresh: "Please refresh the page later to see the results",
siteName: "Site Name",
@@ -39,6 +44,10 @@ export default {
ipCheckHelper: "Enable to check certificate expiration time on each IP (or source site domain) ",
ipSyncAuto: "Enable IP Sync Auto",
ipSyncMode: "IP Sync Mode",
ipSyncModeHelper: "Choose whether to check only IPv4, only IPv6, or all IPs.",
ipSyncModeAll: "Check all IPs",
ipSyncModeIPV4Only: "Check IPv4 only",
ipSyncModeIPV6Only: "Check IPv6 only",
ipIgnoreCoherence: "Ignore Certificate Coherence",
ipIgnoreCoherenceHelper: "Enable to ignore certificate coherence check, only check certificate expiration time",
selectRequired: "Please select",
@@ -49,6 +58,10 @@ export default {
certInfoId: "Certificate ID",
checkSubmittedRefresh: "Check task submitted. Please refresh later to view the result.",
ipManagement: "IP Management",
siteIpMonitor: "Site IP Monitor",
ipList: "IP List",
ipListHelper: "One IP or CNAME domain per line",
enterImportIpOrDomain: "Please enter the IPs or domains to import",
bulkImport: "Bulk Import",
basicLimitError: "Basic version allows only one monitoring site. Please upgrade to the Pro version.",
limitExceeded: "Sorry, you can only create up to {max} monitoring records. Please purchase or upgrade your plan.",
@@ -14,5 +14,93 @@ export default {
gotoCnameTip: "CNAME域名配置请前往CNAME记录页面添加",
fromType: "来源类型",
expirationDate: "到期时间",
cnameManagedInCnamePage: "CNAME方式请前往CNAME记录页面进行管理",
subdomainConfirmTitle: "子域名确认",
subdomainConfirmContent: "检测到{domain}为子域名,只有托管子域名和免费二级子域名才需要在此处维护,否则会导致申请证书失败,请确认是否继续?",
importFromProvider: "从域名提供商导入",
syncExpirationDate: "同步域名过期时间",
syncTaskSubmitted: "同步任务已提交",
expirationMonitorSetting: "域名过期监控设置",
subdomainDnsHelper: "注意:DNS校验方式下,子域名不需要在此处维护,否则会影响证书申请(子域名托管或免费二级域名除外)",
path: "路径",
addImportTask: "添加导入任务",
refresh: "刷新",
progress: "进度",
operation: "操作",
total: "总数",
skipped: "跳过",
failed: "失败",
notExecuted: "未执行",
execute: "执行",
delete: "删除",
confirmDelete: "确认删除吗?",
domainProvider: "域名提供商",
domainProviderAccessType: "域名提供商访问类型",
domainProviderAccess: "域名提供商授权",
},
verifyPlan: {
expandTip: "这里可以放大",
mainDomain: "主域名",
challengeType: "验证方式",
challengePlan: "验证计划",
dnsType: "DNS类型",
dnsProvider: "DNS提供商",
dnsAccess: "DNS授权",
pleaseSelect: "请选择",
httpHelper: "证书颁发机构将请求 https://yourdomain/.well-known/acme-challenge/xxxxxx 来验证域名所有权。",
dnsChallenge: "DNS验证",
cnameChallenge: "CNAME验证",
cnameProxyChallenge: "CNAME代理验证",
httpChallenge: "HTTP验证",
domainTitle: "域名:{domain}",
resetStatusTooltip: "重置校验状态,重新校验",
clickToValidate: "点击验证",
keepCnameTitle: "后续自动申请证书需要",
keepCname: "不要删除CNAME",
resetStatus: "重置状态",
confirmResetStatus: "确定要重置校验状态吗?",
hostRecord: "主机记录",
recordType: "记录类型",
setCnameRecord: "请设置CNAME记录(验证成功以后不要删除)",
operation: "操作",
websiteDomain: "网站域名",
uploadMethod: "上传方式",
uploadAccess: "上传授权",
websiteRootPath: "网站根目录路径",
websiteRootPlaceholder: "网站根目录,如:/www/wwwroot",
status: {
pendingCname: "待设置CNAME",
validating: "验证中",
valid: "验证成功",
failed: "验证失败",
timeout: "验证超时",
},
cnameTip: {
intro: "多试几次,如果仍然无法验证通过,请按如下步骤排查问题:",
step1: "1. 解析记录应该添加在{domain}域名下",
step2: "2. 要添加的是CNAME类型的记录,不是TXT",
step3: "3. 核对记录值是否是:{value}",
step4: "4. 在验证中状态下,运行下面的命令,查看cname和txt解析是否正确",
or: "或者",
step5: "5. 如果以上检查都没有问题,则可能是DNS解析生效时间比较慢,某些提供商延迟可能高达几个小时",
},
errors: {
cnameNotValid: "域名{domain}的CNAME未验证通过,请先设置CNAME记录,点击验证按钮",
wildcardNotSupportHttp: "域名{domain}为通配符域名,不支持HTTP校验",
uploadMethodRequired: "域名{domain}的上传方式必须填写",
uploadAccessRequired: "域名{domain}的上传授权信息必须填写",
websiteRootRequired: "域名{domain}的网站根路径必须填写",
dnsProviderRequired: "DNS模式下,域名{domain}的DNS类型和授权信息必须填写",
},
uploader: {
aliyunOss: "阿里云OSS",
tencentCos: "腾讯云COS",
qiniuOss: "七牛OSS",
sshDeprecated: "SSH(已废弃,请选择SFTP方式)",
},
domainFrom: {
manual: "手动",
auto: "自动",
},
},
};
@@ -18,4 +18,24 @@ export default {
cname_feature_guide: "CNAME功能原理及使用说明",
mainDomain: "主域名",
cnameRecord: "CNAME记录管理",
importRecords: "导入CNAME记录",
batchImport: "批量导入",
exportRecordsTip: "导出CNAME记录之后,可用于批量导入cname解析到域名注册商",
batchExport: "批量导出",
resetStatus: "重置状态",
confirmResetStatus: "确定要重置校验状态吗?",
resetStatusTooltip: "重置校验状态,重新校验",
cname: {
importRecords: "导入CNAME记录",
batchImport: "批量导入",
exportRecordsTip: "导出CNAME记录之后,可用于批量导入cname解析到域名注册商",
batchExport: "批量导出",
resetStatus: "重置状态",
confirmResetStatus: "确定要重置校验状态吗?",
resetStatusTooltip: "重置校验状态,重新校验",
domainList: "域名列表",
domainListHelper: "每个域名一行,批量导入\n泛域名请去掉*.\n已经存在的会自动跳过",
cnameService: "CNAME服务",
importTaskSubmitted: "导入任务已提交",
},
};
@@ -117,4 +117,36 @@ export default {
helpDocLink: "帮助文档",
suite: "套餐",
helpDoc: "帮助说明",
pluginCommon: {
test: "测试",
errorWithMessage: "错误:{message}",
testRequestSuccess: "测试请求成功",
responseSuffix: ",返回:{response}",
searchKeyword: "查询关键字",
search: "查询",
refreshOptions: "刷新选项",
getOptionsError: "获取选项出错:{message}",
getDataSuccessSelect: "获取数据成功,请从下拉框中选择",
getDataSuccessEmpty: "获取数据成功,没有数据",
domainSearchPlaceholder: "这里可以搜索域名(数据来自“设置->域名管理”),您也可以直接在上面输入框输入",
importDomain: "导入域名",
manageDomain: "管理域名",
refreshMyDomains: "刷新我的域名列表",
upload: "上传",
uploadCert: "上传证书",
certName: "证书名称",
certNameHelper: "上传后证书显示名称",
uploadSuccess: "上传成功",
selectCertFirst: "请先选择域名证书",
targetStepNotFound: "找不到目标步骤,请先选择域名证书",
},
captcha: {
inputImageCode: "请输入图形验证码",
refresh: "刷新验证码",
clickToVerify: "点击验证",
verifySuccess: "验证成功",
verifyFailed: "验证失败,请重试",
loadFailed: "加载验证码失败",
notLoaded: "验证码未加载完成",
},
};
@@ -7,8 +7,13 @@ export default {
settingLink: "站点监控设置",
limitInfo: "基础版限制1条,专业版以上无限制,当前",
checkAll: "检查全部",
checkNow: "立即检查",
batchDelete: "批量删除",
confirmTitle: "确认",
confirmContent: "确认触发检查全部站点证书吗?",
batchDeleteConfirm: "确定要批量删除这{count}条记录吗",
deleteSuccess: "删除成功",
selectRecordsFirst: "请先勾选记录",
checkSubmitted: "检查任务已提交",
pleaseRefresh: "请稍后刷新页面查看结果",
siteName: "站点名称",
@@ -53,6 +58,10 @@ export default {
certInfoId: "证书ID",
checkSubmittedRefresh: "检查任务已提交,请稍后刷新查看结果",
ipManagement: "IP管理",
siteIpMonitor: "站点IP监控",
ipList: "IP列表",
ipListHelper: "IP或者CNAME域名,一行一个",
enterImportIpOrDomain: "请输入要导入的IP或域名",
bulkImport: "批量导入",
basicLimitError: "基础版只能添加一个监控站点,请赞助升级专业版",
limitExceeded: "对不起,您最多只能创建条{max}监控记录,请购买或升级套餐",