refactor: refactor i18n

This commit is contained in:
Fu Diwei
2026-05-20 11:45:37 +08:00
committed by RHQYZ
parent 424bfe557a
commit 4bab54385d
32 changed files with 9194 additions and 9137 deletions
+5 -40
View File
@@ -1,59 +1,24 @@
import "reflect-metadata";
import { useEffect, useLayoutEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { useEffect, useState } from "react";
import { RouterProvider } from "react-router-dom";
import { App, ConfigProvider, type ThemeConfig, theme } from "antd";
import { type Locale } from "antd/es/locale";
import AntdLocaleEnUS from "antd/locale/en_US";
import AntdLocaleZhCN from "antd/locale/zh_CN";
import dayjs from "dayjs";
import { z } from "zod";
import { en as ZodLocaleEnUs, zhCN as ZodLocaleZhCN } from "zod/locales";
import "dayjs/locale/zh-cn";
import { useBrowserTheme } from "@/hooks";
import { localeNames } from "@/i18n";
import { useAntdLocale, useDayjsLocale, useZodLocale } from "@/i18n";
import { router } from "@/routers";
const antdLocalesMap: Record<string, Locale> = {
[localeNames.EN]: AntdLocaleEnUS,
[localeNames.ZH]: AntdLocaleZhCN,
};
const antdThemesMap: Record<string, ThemeConfig> = {
["light"]: { algorithm: theme.defaultAlgorithm },
["dark"]: { algorithm: theme.darkAlgorithm },
};
const zodLocalesMap: Record<string, typeof ZodLocaleEnUs> = {
[localeNames.EN]: ZodLocaleEnUs,
[localeNames.ZH]: ZodLocaleZhCN,
};
const RootApp = () => {
const { i18n } = useTranslation();
const { theme: browserTheme } = useBrowserTheme();
const [antdLocale, setAntdLocale] = useState(antdLocalesMap[i18n.language]);
const [antdTheme, setAntdTheme] = useState(antdThemesMap[browserTheme]);
const handleLanguageChanged = () => {
setAntdLocale(antdLocalesMap[i18n.language]);
dayjs.locale(i18n.language);
z.config(zodLocalesMap[i18n.language]?.());
};
i18n.on("initialized", handleLanguageChanged);
i18n.on("languageChanged", handleLanguageChanged);
useLayoutEffect(() => {
handleLanguageChanged();
return () => {
i18n.off("initialized", handleLanguageChanged);
i18n.off("languageChanged", handleLanguageChanged);
};
}, [i18n]);
const antdLocale = useAntdLocale();
useDayjsLocale();
useZodLocale();
useEffect(() => {
setAntdTheme(antdThemesMap[browserTheme]);
+8 -7
View File
@@ -2,14 +2,15 @@ import { initReactI18next } from "react-i18next";
import i18n from "i18next";
import i18nBrowserLanguageDetector from "i18next-browser-languagedetector";
import resources, { LOCALE_EN_NAME, LOCALE_ZH_NAME } from "./locales";
import { localeNames } from "./locales";
import resources from "./resources";
i18n
.use(i18nBrowserLanguageDetector)
.use(initReactI18next)
.init({
resources,
fallbackLng: LOCALE_EN_NAME,
fallbackLng: localeNames.EN,
debug: true,
interpolation: {
escapeValue: false,
@@ -19,11 +20,11 @@ i18n
},
});
export const localeNames = {
ZH: LOCALE_ZH_NAME,
EN: LOCALE_EN_NAME,
};
export { localeNames };
export const localeResources = resources;
export { useAntdLocale } from "./vendors/antd";
export { useDayjsLocale } from "./vendors/dayjs";
export { useZodLocale } from "./vendors/zod";
export default i18n;
+6
View File
@@ -0,0 +1,6 @@
import { LANG_EN, LANG_ZH } from "./resources";
export const localeNames = {
ZH: LANG_ZH,
EN: LANG_EN,
};
File diff suppressed because it is too large Load Diff
@@ -1,268 +1,268 @@
{
"$ns": "provider",
"text": {
"nodata": "No providers available",
"default_ca": "(Default) Follow global settings",
"default_ca_in_group": "Follow global settings",
"default_group": "Default",
"available_group": "Available (with added credentials)",
"unavailable_group": "Unavailable (without added credentials)",
"unavailable_divider": "The following providers are not available (without added credentials)"
},
"category": {
"all": "All",
"cdn": "CDN",
"storage": "Storage",
"loadbalance": "Loadbalance",
"firewall": "Firewall",
"av": "Audio/Video",
"accelerator": "Accelerator",
"apigw": "API Gateway",
"serverless": "Serverless",
"website": "Website",
"ssl": "SSL",
"other": "Other"
},
"1panel": "1Panel",
"1panel_console": "1Panel - Console itself",
"35cn": "35.cn",
"51dnscom": "51DNS.com",
"acmeca": "Custom ACME CA Endpoint",
"acmedns": "ACME-DNS",
"acmehttpreq": "Custom ACME Challenge Validation Endpoint Based on HTTP Request",
"actalisssl": "Actalis SSL",
"akamai": "Akamai",
"akamai_cdn": "Akamai - CDN (Content Delivery Network)",
"akamai_edgedns": "Akamai - EdgeDNS",
"aliyun": "Alibaba Cloud",
"aliyun_alb": "Alibaba Cloud - ALB (Application Load Balancer)",
"aliyun_apigw": "Alibaba Cloud - API Gateway",
"aliyun_cas_deploy": "Alibaba Cloud - Deploy via CAS (Certificate Management Service)",
"aliyun_cas_upload": "Alibaba Cloud - Upload to CAS (Certificate Management Service)",
"aliyun_cdn": "Alibaba Cloud - CDN (Content Delivery Network)",
"aliyun_clb": "Alibaba Cloud - CLB (Classic Load Balancer)",
"aliyun_dcdn": "Alibaba Cloud - DCDN (Dynamic Route for Content Delivery Network)",
"aliyun_ddospro": "Alibaba Cloud - Anti-DDoS Proxy",
"aliyun_dns": "Alibaba Cloud - DNS",
"aliyun_esa": "Alibaba Cloud - ESA (Edge Security Acceleration)",
"aliyun_esa_saas": "Alibaba Cloud - ESA SaaS Manager (Edge Security Acceleration SaaS)",
"aliyun_fc": "Alibaba Cloud - FC (Function Compute)",
"aliyun_ga": "Alibaba Cloud - GA (Global Accelerator)",
"aliyun_live": "Alibaba Cloud - ApsaraVideo Live",
"aliyun_nlb": "Alibaba Cloud - NLB (Network Load Balancer)",
"aliyun_oss": "Alibaba Cloud - OSS (Object Storage Service)",
"aliyun_vod": "Alibaba Cloud - ApsaraVideo VOD (Video on Demand)",
"aliyun_waf": "Alibaba Cloud - WAF (Web Application Firewall)",
"apisix": "Apache APISIX",
"arvancloud": "ArvanCloud",
"aws": "AWS",
"aws_acm": "AWS - ACM (Amazon Certificate Manager)",
"aws_cloudfront": "AWS - CloudFront",
"aws_iam": "AWS - IAM (Identity and Access Management)",
"aws_lightsail": "AWS - Lightsail",
"aws_route53": "AWS - Route53",
"azure": "Azure",
"azure_dns": "Azure - DNS",
"azure_keyvault": "Azure - KeyVault",
"baiducloud": "Baidu Cloud",
"baiducloud_appblb": "Baidu Cloud - AppBLB (Application Baidu Load Balancer)",
"baiducloud_blb": "Baidu Cloud - BLB (Load Balancer)",
"baiducloud_cdn": "Baidu Cloud - CDN (Content Delivery Network)",
"baiducloud_cert_upload": "Baidu Cloud - Upload to SSL Certificate Service",
"baiducloud_dns": "Baidu Cloud - DNS",
"baishan": "Baishan",
"baishan_cdn": "Baishan - CDN (Content Delivery Network)",
"baotapanel": "aaPanel (aka BaotaPanel)",
"baotapanel_common": "aaPanel",
"baotapanel_console": "aaPanel - Console itself",
"baotapanelgo": "aaPanel WinGo (aka BaotaPanel WinGo)",
"baotapanelgo_common": "aaPanel WinGo",
"baotapanelgo_console": "aaPanel WinGo - Console itself",
"baotawaf": "aaWAF (aka BaotaWAF)",
"baotawaf_common": "aaWAF",
"baotawaf_console": "aaWAF - Console itself",
"bookmyname": "BookMyName",
"bunny": "Bunny",
"bunny_cdn": "Bunny - CDN (Content Delivery Network)",
"byteplus": "BytePlus",
"byteplus_cdn": "BytePlus - CDN (Content Delivery Network)",
"cachefly": "CacheFly",
"cdnfly": "Cdnfly",
"cloudflare": "Cloudflare",
"cloudns": "ClouDNS",
"cmcccloud": "China Mobile ECloud",
"cmcccloud_dns": "China Mobile ECloud - DNS",
"constellix": "Constellix",
"cpanel": "cPanel",
"ctcccloud": "China Telecom StateCloud",
"ctcccloud_ao": "China Telecom StateCloud - AccessOne",
"ctcccloud_cdn": "China Telecom StateCloud - CDN (Content Delivery Network)",
"ctcccloud_cms_upload": "China Telecom StateCloud - Upload to Certificate Management Service",
"ctcccloud_elb": "China Telecom StateCloud - ELB (Elastic Load Balancing)",
"ctcccloud_faas": "China Telecom StateCloud - FaaS (Function as a Service)",
"ctcccloud_icdn": "China Telecom StateCloud - ICDN (Integrated Content Delivery Network)",
"ctcccloud_lvdn": "China Telecom StateCloud - LVDN (Live Video Delivery Network)",
"ctcccloud_smartdns": "China Telecom StateCloud - Smart DNS",
"cucccloud": "China Unicom Cloud",
"desec": "deSEC",
"digicert": "DigiCert",
"digitalocean": "DigitalOcean",
"dingtalkbot": "DingTalk Bot",
"discordbot": "Discord Bot",
"dnsexit": "DNSExit",
"dnsla": "DNS.LA",
"dnsmadeeasy": "DNS Made Easy",
"dogecloud_cdn": "Doge Cloud - CDN (Content Delivery Network)",
"dogecloud": "Doge Cloud",
"dokploy": "Dokploy",
"duckdns": "Duck DNS",
"dynu": "Dynu",
"dynv6": "dynv6",
"email": "Email (SMTP)",
"fastly": "Fastly",
"flexcdn": "FlexCDN",
"flyio": "Fly.io",
"ftp": "Remote host (FTP)",
"gandinet": "Gandi.net",
"gcore": "G-Core",
"gcore_cdn": "G-Core - CDN (Content Delivery Network)",
"globalsignatlas": "GlobalSign Atlas",
"gname": "GNAME",
"godaddy": "GoDaddy",
"goedge": "GoEdge",
"googletrustservices": "Google Trust Services",
"hetzner": "Hetzner",
"hostingde": "hosting.de",
"hostinger": "Hostinger",
"huaweicloud": "Huawei Cloud",
"huaweicloud_aad": "Huawei Cloud - AAD (Advanced Anti-DDoS)",
"huaweicloud_apig": "Huawei Cloud - API Gateway",
"huaweicloud_cdn": "Huawei Cloud - CDN (Content Delivery Network)",
"huaweicloud_dns": "Huawei Cloud - DNS",
"huaweicloud_elb": "Huawei Cloud - ELB (Elastic Load Balance)",
"huaweicloud_live": "Huawei Cloud - Cloud Live",
"huaweicloud_obs": "Huawei Cloud - OBS (Object Storage Service)",
"huaweicloud_scm_upload": "Huawei Cloud - Upload to SCM (SSL Certificate Manager)",
"huaweicloud_waf": "Huawei Cloud - WAF (Web Application Firewall)",
"infomaniak": "Infomaniak",
"ionos": "IONOS",
"jdcloud": "JD Cloud",
"jdcloud_alb": "JD Cloud - ALB (Application Load Balancer)",
"jdcloud_cdn": "JD Cloud - CDN (Content Delivery Network)",
"jdcloud_dns": "JD Cloud - DNS",
"jdcloud_live": "JD Cloud - Live Video",
"jdcloud_vod": "JD Cloud - VOD (Video on Demand)",
"jdcloud_ssl_upload": "JD Cloud - Upload to SSL Certificate",
"jdcloud_waf": "JD Cloud - WAF (Web Application Firewall)",
"kong": "Kong",
"kubernetes": "Kubernetes",
"kubernetes_secret": "Kubernetes - Secret",
"ksyun": "Kingsoft Cloud",
"ksyun_cdn": "Kingsoft Cloud - CDN (Content Delivery Network)",
"ksyun_slb": "Kingsoft Cloud - SLB (Server Load Balancing)",
"larkbot": "Lark Bot",
"lecdn": "LeCDN",
"letsencrypt": "Let's Encrypt",
"letsencryptstaging": "Let's Encrypt Staging Environment",
"linode": "Linode",
"litessl": "LiteSSL",
"local": "Local host",
"mattermost": "Mattermost",
"mohua": "Mohua",
"mohua_mvh": "Mohua - MVH (Virtual Host)",
"namecheap": "Namecheap",
"namedotcom": "Name.com",
"namesilo": "NameSilo",
"netcup": "netcup",
"netlify": "Netlify",
"nginxproxymanager": "Nginx Proxy Manager",
"ns1": "NS1 (IBM NS1 Connect)",
"ovhcloud": "OVHcloud",
"porkbun": "Porkbun",
"powerdns": "PowerDNS",
"proxmoxve": "Proxmox VE",
"qingcloud": "QingCloud",
"qingcloud_dns": "QingCloud - DNS",
"qiniu": "Qiniu",
"qiniu_cdn": "Qiniu - CDN (Content Delivery Network)",
"qiniu_kodo": "Qiniu - Kodo",
"qiniu_pili": "Qiniu - Pili",
"rainyun": "Rain Yun",
"rainyun_rcdn": "Rain Yun - RCDN (Content Delivery Network)",
"rainyun_sslcenter_upload": "Rain Yun - Upload to SSL Certificate Center",
"ratpanel": "AcePanel (aka RatPanel)",
"ratpanel_common": "AcePanel",
"ratpanel_console": "AcePanel - Console itself",
"rfc2136": "Dynamic DNS Updates (RFC 2136)",
"s3": "Object storage (S3-compatible)",
"s3_upload": "Upload to S3-compatible object storage",
"safeline": "SafeLine",
"samwaf": "SamWAF",
"sectigo": "Sectigo",
"slackbot": "Slack Bot",
"spaceship": "Spaceship",
"ssh": "Remote host (SSH)",
"sslcom": "SSL.com",
"synologydsm": "Synology DSM",
"technitiumdns": "Technitium DNS",
"telegrambot": "Telegram Bot",
"tencentcloud": "Tencent Cloud",
"tencentcloud_cdn": "Tencent Cloud - CDN (Content Delivery Network)",
"tencentcloud_clb": "Tencent Cloud - CLB (Cloud Load Balancer)",
"tencentcloud_cos": "Tencent Cloud - COS (Cloud Object Storage)",
"tencentcloud_css": "Tencent Cloud - CSS (Cloud Streaming Service)",
"tencentcloud_dns": "Tencent Cloud - DNS",
"tencentcloud_ecdn": "Tencent Cloud - ECDN (Enterprise Content Delivery Network)",
"tencentcloud_eo": "Tencent Cloud - EdgeOne",
"tencentcloud_gaap": "Tencent Cloud - GAAP (Global Application Acceleration Platform)",
"tencentcloud_scf": "Tencent Cloud - SCF (Serverless Cloud Function)",
"tencentcloud_ssl_deploy": "Tencent Cloud - Deploy via SSL Certificate Service",
"tencentcloud_ssl_update": "Tencent Cloud - Update via SSL Certificate Service",
"tencentcloud_ssl_upload": "Tencent Cloud - Upload to SSL Certificate Service",
"tencentcloud_vod": "Tencent Cloud - VOD (Video on Demand)",
"tencentcloud_waf": "Tencent Cloud - WAF (Web Application Firewall)",
"ucloud": "UCloud",
"ucloud_ualb": "UCloud - UALB (Application Load Balancer)",
"ucloud_ucdn": "UCloud - UCDN (Content Delivery Network)",
"ucloud_uclb": "UCloud - UCLB (Classic Load Balancer)",
"ucloud_udnr": "UCloud - UDNR (Domain Name Registrar)",
"ucloud_uewaf": "UCloud - UEWAF (Enterprise Web Application Firewall)",
"ucloud_upathx": "UCloud - UPathX (Global Dynamic Acceleration)",
"ucloud_us3": "UCloud - US3 (Object-based Storage)",
"todaynic": "TodayNIC.com",
"unicloud": "uniCloud (DCloud)",
"unicloud_webhost": "uniCloud - Web Host",
"upyun": "UPYUN",
"upyun_cdn": "UPYUN - CDN (Content Delivery Network)",
"upyun_file": "UPYUN - USS (Storage Service)",
"vercel": "Vercel",
"volcengine": "Volcengine",
"volcengine_alb": "Volcengine - ALB (Application Load Balancer)",
"volcengine_apig": "Volcengine - API Gateway",
"volcengine_cdn": "Volcengine - CDN (Content Delivery Network)",
"volcengine_certcenter_upload": "Volcengine - Upload to Certificate Center",
"volcengine_clb": "Volcengine - CLB (Cloud Load Balancer)",
"volcengine_dcdn": "Volcengine - DCDN (Dynamic Content Delivery Network)",
"volcengine_dns": "Volcengine - DNS",
"volcengine_imagex": "Volcengine - ImageX",
"volcengine_live": "Volcengine - Live",
"volcengine_tos": "Volcengine - TOS (Tinder Object Storage)",
"volcengine_vod": "Volcengine - VOD (Video on Demand)",
"volcengine_waf": "Volcengine - WAF (Web Application Firewall)",
"vultr": "Vultr",
"wangsu": "Wangsu Cloud",
"wangsu_cdn": "Wangsu Cloud - CDN (Content Delivery Network)",
"wangsu_cdnpro": "Wangsu Cloud - CDN Pro (CDN 360)",
"wangsu_certificate_upload": "Wangsu Cloud - Upload to Certificate Management",
"webhook": "Webhook",
"wecombot": "WeCom Bot",
"westcn": "West.cn",
"xinnet": "Xinnet.com",
"zerossl": "ZeroSSL",
"zenlayer": "Zenlayer",
"zenlayer_cdn": "Zenlayer - CDN (Content Delivery Network)",
"zenlayer_ga": "Zenlayer - ZGA (Global Accelerator)"
}
{
"$ns": "provider",
"text": {
"nodata": "No providers available",
"default_ca": "(Default) Follow global settings",
"default_ca_in_group": "Follow global settings",
"default_group": "Default",
"available_group": "Available (with added credentials)",
"unavailable_group": "Unavailable (without added credentials)",
"unavailable_divider": "The following providers are not available (without added credentials)"
},
"category": {
"all": "All",
"cdn": "CDN",
"storage": "Storage",
"loadbalance": "Loadbalance",
"firewall": "Firewall",
"av": "Audio/Video",
"accelerator": "Accelerator",
"apigw": "API Gateway",
"serverless": "Serverless",
"website": "Website",
"ssl": "SSL",
"other": "Other"
},
"1panel": "1Panel",
"1panel_console": "1Panel - Console itself",
"35cn": "35.cn",
"51dnscom": "51DNS.com",
"acmeca": "Custom ACME CA Endpoint",
"acmedns": "ACME-DNS",
"acmehttpreq": "Custom ACME Challenge Validation Endpoint Based on HTTP Request",
"actalisssl": "Actalis SSL",
"akamai": "Akamai",
"akamai_cdn": "Akamai - CDN (Content Delivery Network)",
"akamai_edgedns": "Akamai - EdgeDNS",
"aliyun": "Alibaba Cloud",
"aliyun_alb": "Alibaba Cloud - ALB (Application Load Balancer)",
"aliyun_apigw": "Alibaba Cloud - API Gateway",
"aliyun_cas_deploy": "Alibaba Cloud - Deploy via CAS (Certificate Management Service)",
"aliyun_cas_upload": "Alibaba Cloud - Upload to CAS (Certificate Management Service)",
"aliyun_cdn": "Alibaba Cloud - CDN (Content Delivery Network)",
"aliyun_clb": "Alibaba Cloud - CLB (Classic Load Balancer)",
"aliyun_dcdn": "Alibaba Cloud - DCDN (Dynamic Route for Content Delivery Network)",
"aliyun_ddospro": "Alibaba Cloud - Anti-DDoS Proxy",
"aliyun_dns": "Alibaba Cloud - DNS",
"aliyun_esa": "Alibaba Cloud - ESA (Edge Security Acceleration)",
"aliyun_esa_saas": "Alibaba Cloud - ESA SaaS Manager (Edge Security Acceleration SaaS)",
"aliyun_fc": "Alibaba Cloud - FC (Function Compute)",
"aliyun_ga": "Alibaba Cloud - GA (Global Accelerator)",
"aliyun_live": "Alibaba Cloud - ApsaraVideo Live",
"aliyun_nlb": "Alibaba Cloud - NLB (Network Load Balancer)",
"aliyun_oss": "Alibaba Cloud - OSS (Object Storage Service)",
"aliyun_vod": "Alibaba Cloud - ApsaraVideo VOD (Video on Demand)",
"aliyun_waf": "Alibaba Cloud - WAF (Web Application Firewall)",
"apisix": "Apache APISIX",
"arvancloud": "ArvanCloud",
"aws": "AWS",
"aws_acm": "AWS - ACM (Amazon Certificate Manager)",
"aws_cloudfront": "AWS - CloudFront",
"aws_iam": "AWS - IAM (Identity and Access Management)",
"aws_lightsail": "AWS - Lightsail",
"aws_route53": "AWS - Route53",
"azure": "Azure",
"azure_dns": "Azure - DNS",
"azure_keyvault": "Azure - KeyVault",
"baiducloud": "Baidu Cloud",
"baiducloud_appblb": "Baidu Cloud - AppBLB (Application Baidu Load Balancer)",
"baiducloud_blb": "Baidu Cloud - BLB (Load Balancer)",
"baiducloud_cdn": "Baidu Cloud - CDN (Content Delivery Network)",
"baiducloud_cert_upload": "Baidu Cloud - Upload to SSL Certificate Service",
"baiducloud_dns": "Baidu Cloud - DNS",
"baishan": "Baishan",
"baishan_cdn": "Baishan - CDN (Content Delivery Network)",
"baotapanel": "aaPanel (aka BaotaPanel)",
"baotapanel_common": "aaPanel",
"baotapanel_console": "aaPanel - Console itself",
"baotapanelgo": "aaPanel WinGo (aka BaotaPanel WinGo)",
"baotapanelgo_common": "aaPanel WinGo",
"baotapanelgo_console": "aaPanel WinGo - Console itself",
"baotawaf": "aaWAF (aka BaotaWAF)",
"baotawaf_common": "aaWAF",
"baotawaf_console": "aaWAF - Console itself",
"bookmyname": "BookMyName",
"bunny": "Bunny",
"bunny_cdn": "Bunny - CDN (Content Delivery Network)",
"byteplus": "BytePlus",
"byteplus_cdn": "BytePlus - CDN (Content Delivery Network)",
"cachefly": "CacheFly",
"cdnfly": "Cdnfly",
"cloudflare": "Cloudflare",
"cloudns": "ClouDNS",
"cmcccloud": "China Mobile ECloud",
"cmcccloud_dns": "China Mobile ECloud - DNS",
"constellix": "Constellix",
"cpanel": "cPanel",
"ctcccloud": "China Telecom StateCloud",
"ctcccloud_ao": "China Telecom StateCloud - AccessOne",
"ctcccloud_cdn": "China Telecom StateCloud - CDN (Content Delivery Network)",
"ctcccloud_cms_upload": "China Telecom StateCloud - Upload to Certificate Management Service",
"ctcccloud_elb": "China Telecom StateCloud - ELB (Elastic Load Balancing)",
"ctcccloud_faas": "China Telecom StateCloud - FaaS (Function as a Service)",
"ctcccloud_icdn": "China Telecom StateCloud - ICDN (Integrated Content Delivery Network)",
"ctcccloud_lvdn": "China Telecom StateCloud - LVDN (Live Video Delivery Network)",
"ctcccloud_smartdns": "China Telecom StateCloud - Smart DNS",
"cucccloud": "China Unicom Cloud",
"desec": "deSEC",
"digicert": "DigiCert",
"digitalocean": "DigitalOcean",
"dingtalkbot": "DingTalk Bot",
"discordbot": "Discord Bot",
"dnsexit": "DNSExit",
"dnsla": "DNS.LA",
"dnsmadeeasy": "DNS Made Easy",
"dogecloud_cdn": "Doge Cloud - CDN (Content Delivery Network)",
"dogecloud": "Doge Cloud",
"dokploy": "Dokploy",
"duckdns": "Duck DNS",
"dynu": "Dynu",
"dynv6": "dynv6",
"email": "Email (SMTP)",
"fastly": "Fastly",
"flexcdn": "FlexCDN",
"flyio": "Fly.io",
"ftp": "Remote host (FTP)",
"gandinet": "Gandi.net",
"gcore": "G-Core",
"gcore_cdn": "G-Core - CDN (Content Delivery Network)",
"globalsignatlas": "GlobalSign Atlas",
"gname": "GNAME",
"godaddy": "GoDaddy",
"goedge": "GoEdge",
"googletrustservices": "Google Trust Services",
"hetzner": "Hetzner",
"hostingde": "hosting.de",
"hostinger": "Hostinger",
"huaweicloud": "Huawei Cloud",
"huaweicloud_aad": "Huawei Cloud - AAD (Advanced Anti-DDoS)",
"huaweicloud_apig": "Huawei Cloud - API Gateway",
"huaweicloud_cdn": "Huawei Cloud - CDN (Content Delivery Network)",
"huaweicloud_dns": "Huawei Cloud - DNS",
"huaweicloud_elb": "Huawei Cloud - ELB (Elastic Load Balance)",
"huaweicloud_live": "Huawei Cloud - Cloud Live",
"huaweicloud_obs": "Huawei Cloud - OBS (Object Storage Service)",
"huaweicloud_scm_upload": "Huawei Cloud - Upload to SCM (SSL Certificate Manager)",
"huaweicloud_waf": "Huawei Cloud - WAF (Web Application Firewall)",
"infomaniak": "Infomaniak",
"ionos": "IONOS",
"jdcloud": "JD Cloud",
"jdcloud_alb": "JD Cloud - ALB (Application Load Balancer)",
"jdcloud_cdn": "JD Cloud - CDN (Content Delivery Network)",
"jdcloud_dns": "JD Cloud - DNS",
"jdcloud_live": "JD Cloud - Live Video",
"jdcloud_vod": "JD Cloud - VOD (Video on Demand)",
"jdcloud_ssl_upload": "JD Cloud - Upload to SSL Certificate",
"jdcloud_waf": "JD Cloud - WAF (Web Application Firewall)",
"kong": "Kong",
"kubernetes": "Kubernetes",
"kubernetes_secret": "Kubernetes - Secret",
"ksyun": "Kingsoft Cloud",
"ksyun_cdn": "Kingsoft Cloud - CDN (Content Delivery Network)",
"ksyun_slb": "Kingsoft Cloud - SLB (Server Load Balancing)",
"larkbot": "Lark Bot",
"lecdn": "LeCDN",
"letsencrypt": "Let's Encrypt",
"letsencryptstaging": "Let's Encrypt Staging Environment",
"linode": "Linode",
"litessl": "LiteSSL",
"local": "Local host",
"mattermost": "Mattermost",
"mohua": "Mohua",
"mohua_mvh": "Mohua - MVH (Virtual Host)",
"namecheap": "Namecheap",
"namedotcom": "Name.com",
"namesilo": "NameSilo",
"netcup": "netcup",
"netlify": "Netlify",
"nginxproxymanager": "Nginx Proxy Manager",
"ns1": "NS1 (IBM NS1 Connect)",
"ovhcloud": "OVHcloud",
"porkbun": "Porkbun",
"powerdns": "PowerDNS",
"proxmoxve": "Proxmox VE",
"qingcloud": "QingCloud",
"qingcloud_dns": "QingCloud - DNS",
"qiniu": "Qiniu",
"qiniu_cdn": "Qiniu - CDN (Content Delivery Network)",
"qiniu_kodo": "Qiniu - Kodo",
"qiniu_pili": "Qiniu - Pili",
"rainyun": "Rain Yun",
"rainyun_rcdn": "Rain Yun - RCDN (Content Delivery Network)",
"rainyun_sslcenter_upload": "Rain Yun - Upload to SSL Certificate Center",
"ratpanel": "AcePanel (aka RatPanel)",
"ratpanel_common": "AcePanel",
"ratpanel_console": "AcePanel - Console itself",
"rfc2136": "Dynamic DNS Updates (RFC 2136)",
"s3": "Object storage (S3-compatible)",
"s3_upload": "Upload to S3-compatible object storage",
"safeline": "SafeLine",
"samwaf": "SamWAF",
"sectigo": "Sectigo",
"slackbot": "Slack Bot",
"spaceship": "Spaceship",
"ssh": "Remote host (SSH)",
"sslcom": "SSL.com",
"synologydsm": "Synology DSM",
"technitiumdns": "Technitium DNS",
"telegrambot": "Telegram Bot",
"tencentcloud": "Tencent Cloud",
"tencentcloud_cdn": "Tencent Cloud - CDN (Content Delivery Network)",
"tencentcloud_clb": "Tencent Cloud - CLB (Cloud Load Balancer)",
"tencentcloud_cos": "Tencent Cloud - COS (Cloud Object Storage)",
"tencentcloud_css": "Tencent Cloud - CSS (Cloud Streaming Service)",
"tencentcloud_dns": "Tencent Cloud - DNS",
"tencentcloud_ecdn": "Tencent Cloud - ECDN (Enterprise Content Delivery Network)",
"tencentcloud_eo": "Tencent Cloud - EdgeOne",
"tencentcloud_gaap": "Tencent Cloud - GAAP (Global Application Acceleration Platform)",
"tencentcloud_scf": "Tencent Cloud - SCF (Serverless Cloud Function)",
"tencentcloud_ssl_deploy": "Tencent Cloud - Deploy via SSL Certificate Service",
"tencentcloud_ssl_update": "Tencent Cloud - Update via SSL Certificate Service",
"tencentcloud_ssl_upload": "Tencent Cloud - Upload to SSL Certificate Service",
"tencentcloud_vod": "Tencent Cloud - VOD (Video on Demand)",
"tencentcloud_waf": "Tencent Cloud - WAF (Web Application Firewall)",
"ucloud": "UCloud",
"ucloud_ualb": "UCloud - UALB (Application Load Balancer)",
"ucloud_ucdn": "UCloud - UCDN (Content Delivery Network)",
"ucloud_uclb": "UCloud - UCLB (Classic Load Balancer)",
"ucloud_udnr": "UCloud - UDNR (Domain Name Registrar)",
"ucloud_uewaf": "UCloud - UEWAF (Enterprise Web Application Firewall)",
"ucloud_upathx": "UCloud - UPathX (Global Dynamic Acceleration)",
"ucloud_us3": "UCloud - US3 (Object-based Storage)",
"todaynic": "TodayNIC.com",
"unicloud": "uniCloud (DCloud)",
"unicloud_webhost": "uniCloud - Web Host",
"upyun": "UPYUN",
"upyun_cdn": "UPYUN - CDN (Content Delivery Network)",
"upyun_file": "UPYUN - USS (Storage Service)",
"vercel": "Vercel",
"volcengine": "Volcengine",
"volcengine_alb": "Volcengine - ALB (Application Load Balancer)",
"volcengine_apig": "Volcengine - API Gateway",
"volcengine_cdn": "Volcengine - CDN (Content Delivery Network)",
"volcengine_certcenter_upload": "Volcengine - Upload to Certificate Center",
"volcengine_clb": "Volcengine - CLB (Cloud Load Balancer)",
"volcengine_dcdn": "Volcengine - DCDN (Dynamic Content Delivery Network)",
"volcengine_dns": "Volcengine - DNS",
"volcengine_imagex": "Volcengine - ImageX",
"volcengine_live": "Volcengine - Live",
"volcengine_tos": "Volcengine - TOS (Tinder Object Storage)",
"volcengine_vod": "Volcengine - VOD (Video on Demand)",
"volcengine_waf": "Volcengine - WAF (Web Application Firewall)",
"vultr": "Vultr",
"wangsu": "Wangsu Cloud",
"wangsu_cdn": "Wangsu Cloud - CDN (Content Delivery Network)",
"wangsu_cdnpro": "Wangsu Cloud - CDN Pro (CDN 360)",
"wangsu_certificate_upload": "Wangsu Cloud - Upload to Certificate Management",
"webhook": "Webhook",
"wecombot": "WeCom Bot",
"westcn": "West.cn",
"xinnet": "Xinnet.com",
"zerossl": "ZeroSSL",
"zenlayer": "Zenlayer",
"zenlayer_cdn": "Zenlayer - CDN (Content Delivery Network)",
"zenlayer_ga": "Zenlayer - ZGA (Global Accelerator)"
}
@@ -3,15 +3,15 @@ import { type Resource } from "i18next";
import en from "./en";
import zh from "./zh";
export const LOCALE_ZH_NAME = "zh" as const;
export const LOCALE_EN_NAME = "en" as const;
export const LANG_ZH = "zh" as const;
export const LANG_EN = "en" as const;
const resources: Resource = {
[LOCALE_ZH_NAME]: {
[LANG_ZH]: {
name: "简体中文",
translation: zh,
},
[LOCALE_EN_NAME]: {
[LANG_EN]: {
name: "English",
translation: en,
},
File diff suppressed because it is too large Load Diff
@@ -1,268 +1,268 @@
{
"$ns": "provider",
"text": {
"nodata": "暂无提供商",
"default_ca": "(默认)不指定,跟随全局设置",
"default_ca_in_group": "不指定,跟随全局设置",
"default_group": "默认",
"available_group": "可用(已添加授权凭据)",
"unavailable_group": "不可用(未添加授权凭据)",
"unavailable_divider": "以下提供商不可用(即未添加过授权凭据)"
},
"category": {
"all": "全部",
"cdn": "CDN",
"storage": "文件存储",
"loadbalance": "负载均衡",
"firewall": "防火墙",
"av": "音视频",
"accelerator": "加速器",
"apigw": "API 网关",
"serverless": "Serverless",
"website": "网站托管",
"ssl": "证书托管",
"other": "其他"
},
"1panel": "1Panel",
"1panel_console": "1Panel - 面板自身",
"35cn": "三五互联",
"51dnscom": "帝恩思(51DNS)",
"acmeca": "自定义 ACME CA 端点",
"acmedns": "ACME-DNS",
"acmehttpreq": "自定义基于 HTTP 请求的 ACME 质询验证端点",
"actalisssl": "Actalis SSL",
"akamai": "Akamai",
"akamai_cdn": "Akamai - 内容分发网络 CDN",
"akamai_edgedns": "Akamai - EdgeDNS",
"aliyun": "阿里云",
"aliyun_alb": "阿里云 - 应用型负载均衡 ALB",
"aliyun_apigw": "阿里云 - API 网关",
"aliyun_cas_deploy": "阿里云 - 通过数字证书管理服务 CAS 创建部署任务",
"aliyun_cas_upload": "阿里云 - 上传到数字证书管理服务 CAS",
"aliyun_cdn": "阿里云 - 内容分发网络 CDN",
"aliyun_clb": "阿里云 - 传统型负载均衡 CLB",
"aliyun_dcdn": "阿里云 - 全站加速 DCDN",
"aliyun_ddospro": "阿里云 - DDoS 高防",
"aliyun_dns": "阿里云 - 云解析 DNS",
"aliyun_esa": "阿里云 - 边缘安全加速 ESA",
"aliyun_esa_saas": "阿里云 - 边缘安全加速 ESA SaaS 管理器",
"aliyun_fc": "阿里云 - 函数计算 FC",
"aliyun_ga": "阿里云 - 全球加速 GA",
"aliyun_live": "阿里云 - 视频直播 Live",
"aliyun_nlb": "阿里云 - 网络型负载均衡 NLB",
"aliyun_oss": "阿里云 - 对象存储 OSS",
"aliyun_vod": "阿里云 - 视频点播 VOD",
"aliyun_waf": "阿里云 - Web 应用防火墙 WAF",
"apisix": "Apache APISIX",
"arvancloud": "ArvanCloud",
"aws": "AWS",
"aws_acm": "AWS - ACM (Amazon Certificate Manager)",
"aws_cloudfront": "AWS - CloudFront",
"aws_iam": "AWS - IAM (Identity and Access Management)",
"aws_lightsail": "AWS - Lightsail",
"aws_route53": "AWS - Route53",
"azure": "Azure",
"azure_dns": "Azure - DNS",
"azure_keyvault": "Azure - KeyVault",
"baiducloud": "百度智能云",
"baiducloud_appblb": "百度智能云 - 应用型负载均衡 BLB",
"baiducloud_blb": "百度智能云 - 普通型负载均衡 BLB",
"baiducloud_cdn": "百度智能云 - 内容分发网络 CDN",
"baiducloud_cert_upload": "百度智能云 - 上传到 SSL 证书服务",
"baiducloud_dns": "百度智能云 - 智能云解析 DNS",
"baishan": "白山云",
"baishan_cdn": "白山云 - 内容分发网络 CDN",
"baotapanel": "宝塔面板(又名:aaPanel)",
"baotapanel_common": "宝塔面板",
"baotapanel_console": "宝塔面板 - 面板自身",
"baotapanelgo": "宝塔面板极速版(又名:aaPanel WinGo)",
"baotapanelgo_common": "宝塔面板极速版",
"baotapanelgo_console": "宝塔面板极速版 - 面板自身",
"baotawaf": "堡塔云 WAF(又名:aaWAF)",
"baotawaf_common": "堡塔云 WAF",
"baotawaf_console": "堡塔云 WAF - 面板自身",
"bookmyname": "BookMyName",
"bunny": "Bunny",
"bunny_cdn": "Bunny - 内容分发网络 CDN",
"byteplus": "BytePlus",
"byteplus_cdn": "BytePlus - 内容分发网络 CDN",
"cachefly": "CacheFly",
"cdnfly": "Cdnfly",
"cloudflare": "Cloudflare",
"cloudns": "ClouDNS",
"cmcccloud": "移动云",
"cmcccloud_dns": "移动云 - 云解析 DNS",
"constellix": "Constellix",
"cpanel": "cPanel",
"ctcccloud": "天翼云",
"ctcccloud_ao": "天翼云 - 边缘安全加速平台 AccessOne",
"ctcccloud_cdn": "天翼云 - 内容分发网络 CDN",
"ctcccloud_cms_upload": "天翼云 - 上传到证书管理服务 CMS",
"ctcccloud_elb": "天翼云 - 弹性负载均衡 ELB",
"ctcccloud_faas": "天翼云 - 函数计算 FaaS",
"ctcccloud_icdn": "天翼云 - 全站加速 ICDN",
"ctcccloud_lvdn": "天翼云 - 视频直播 LVDN",
"ctcccloud_smartdns": "天翼云 - 智能 DNS",
"cucccloud": "联通云",
"desec": "deSEC",
"digicert": "DigiCert",
"digitalocean": "DigitalOcean",
"dingtalkbot": "钉钉群机器人",
"discordbot": "Discord 机器人",
"dnsexit": "DNSExit",
"dnsla": "帝恩爱斯(DNS.LA)",
"dnsmadeeasy": "DNS Made Easy",
"dogecloud": "多吉云",
"dogecloud_cdn": "多吉云 - 内容分发网络 CDN",
"dokploy": "Dokploy",
"duckdns": "Duck DNS",
"dynu": "Dynu",
"dynv6": "dynv6",
"email": "邮件(SMTP)",
"fastly": "Fastly",
"flexcdn": "FlexCDN",
"flyio": "Fly.io",
"ftp": "远程主机(FTP)",
"gandinet": "Gandi.net",
"gcore": "G-Core",
"gcore_cdn": "G-Core - 内容分发网络 CDN",
"globalsignatlas": "GlobalSign Atlas",
"gname": "GNAME",
"godaddy": "GoDaddy",
"goedge": "GoEdge",
"googletrustservices": "Google Trust Services",
"hetzner": "Hetzner",
"hostingde": "hosting.de",
"hostinger": "Hostinger",
"huaweicloud": "华为云",
"huaweicloud_aad": "华为云 - DDoS 高防 AAD",
"huaweicloud_apig": "华为云 - API 网关",
"huaweicloud_cdn": "华为云 - 内容分发网络 CDN",
"huaweicloud_dns": "华为云 - 云解析 DNS",
"huaweicloud_elb": "华为云 - 弹性负载均衡 ELB",
"huaweicloud_live": "华为云 - 视频直播 Live",
"huaweicloud_obs": "华为云 - 对象储存服务 OBS",
"huaweicloud_scm_upload": "华为云 - 上传到云证书管理服务 SCM",
"huaweicloud_waf": "华为云 - Web 应用防火墙 WAF",
"infomaniak": "Infomaniak",
"ionos": "IONOS",
"jdcloud": "京东云",
"jdcloud_alb": "京东云 - 应用负载均衡 ALB",
"jdcloud_cdn": "京东云 - 内容分发网络 CDN",
"jdcloud_dns": "京东云 - 云解析 DNS",
"jdcloud_live": "京东云 - 视频直播 Live",
"jdcloud_vod": "京东云 - 视频点播 VOD",
"jdcloud_ssl_upload": "京东云 - 上传到 SSL 数字证书",
"jdcloud_waf": "京东云 - Web 应用防火墙 WAF",
"kong": "Kong",
"kubernetes": "Kubernetes",
"kubernetes_secret": "Kubernetes - Secret",
"ksyun": "金山云",
"ksyun_cdn": "金山云 - 内容分发网络 CDN",
"ksyun_slb": "金山云 - 负载均衡 SLB",
"larkbot": "飞书群机器人",
"lecdn": "LeCDN",
"letsencrypt": "Let's Encrypt",
"letsencryptstaging": "Let's Encrypt 测试环境",
"linode": "Linode",
"litessl": "LiteSSL",
"local": "本地主机",
"mattermost": "Mattermost",
"mohua": "嘿华云",
"mohua_mvh": "嘿华云 - 虚拟主机 MVH ",
"namecheap": "Namecheap",
"namedotcom": "Name.com",
"namesilo": "NameSilo",
"netcup": "netcup",
"netlify": "Netlify",
"nginxproxymanager": "Nginx Proxy Manager",
"ns1": "NS1 (IBM NS1 Connect)",
"ovhcloud": "OVHcloud",
"porkbun": "Porkbun",
"powerdns": "PowerDNS",
"proxmoxve": "Proxmox VE",
"qingcloud": "青云",
"qingcloud_dns": "青云 - 云解析 DNS",
"qiniu": "七牛云",
"qiniu_cdn": "七牛云 - 内容分发网络 CDN",
"qiniu_kodo": "七牛云 - 对象存储 Kodo",
"qiniu_pili": "七牛云 - 视频直播 Pili",
"rainyun": "雨云",
"rainyun_rcdn": "雨云 - 雨盾 CDN",
"rainyun_sslcenter_upload": "雨云 - 上传到 SSL 证书中心",
"ratpanel": "耗子面板(又名:AcePanel)",
"ratpanel_common": "耗子面板",
"ratpanel_console": "耗子面板 - 面板自身",
"rfc2136": "Dynamic DNS Updates (RFC 2136)",
"s3": "对象存储(S3 兼容)",
"s3_upload": "上传到 S3 兼容的对象存储",
"safeline": "雷池",
"samwaf": "SamWAF",
"sectigo": "Sectigo",
"slackbot": "Slack 机器人",
"spaceship": "Spaceship",
"ssh": "远程主机(SSH)",
"sslcom": "SSL.com",
"synologydsm": "群晖 DSM",
"technitiumdns": "Technitium DNS",
"telegrambot": "Telegram 机器人",
"tencentcloud": "腾讯云",
"tencentcloud_cdn": "腾讯云 - 内容分发网络 CDN",
"tencentcloud_clb": "腾讯云 - 负载均衡 CLB",
"tencentcloud_cos": "腾讯云 - 对象存储 COS",
"tencentcloud_css": "腾讯云 - 云直播 CSS",
"tencentcloud_dns": "腾讯云 - 云解析 DNS",
"tencentcloud_ecdn": "腾讯云 - 全站加速网络 ECDN",
"tencentcloud_eo": "腾讯云 - 边缘安全加速平台 EdgeOne",
"tencentcloud_gaap": "腾讯云 - 全球应用加速 GAAP",
"tencentcloud_scf": "腾讯云 - 云函数 SCF",
"tencentcloud_ssl_deploy": "腾讯云 - 通过 SSL 证书服务创建部署任务",
"tencentcloud_ssl_update": "腾讯云 - 通过 SSL 证书服务更新云资源证书",
"tencentcloud_ssl_upload": "腾讯云 - 上传到 SSL 证书服务",
"tencentcloud_vod": "腾讯云 - 云点播 VOD",
"tencentcloud_waf": "腾讯云 - Web 应用防火墙 WAF",
"todaynic": "时代互联",
"ucloud": "优刻得",
"ucloud_ualb": "优刻得 - 应用型负载均衡 ALB",
"ucloud_ucdn": "优刻得 - 云分发 UCDN",
"ucloud_uclb": "优刻得 - 传统型负载均衡 CLB",
"ucloud_udnr": "优刻得 - 域名服务 UDNR",
"ucloud_uewaf": "优刻得 - 企业 Web 应用防火墙 UEWAF",
"ucloud_upathx": "优刻得 - 全球动态加速 UPathX",
"ucloud_us3": "优刻得 - 对象存储 US3",
"unicloud": "uniCloud (DCloud)",
"unicloud_webhost": "uniCloud - 前端网页托管",
"upyun": "又拍云",
"upyun_cdn": "又拍云 - 云分发 CDN",
"upyun_file": "又拍云 - 云存储 USS",
"vercel": "Vercel",
"volcengine": "火山引擎",
"volcengine_alb": "火山引擎 - 应用型负载均衡 ALB",
"volcengine_apig": "火山引擎 - API 网关",
"volcengine_cdn": "火山引擎 - 内容分发网络 CDN",
"volcengine_certcenter_upload": "火山引擎 - 上传到证书中心",
"volcengine_clb": "火山引擎 - 负载均衡 CLB",
"volcengine_dcdn": "火山引擎 - 全站加速 DCDN",
"volcengine_dns": "火山引擎 - 云解析 DNS",
"volcengine_imagex": "火山引擎 - 图片服务 ImageX",
"volcengine_live": "火山引擎 - 视频直播 Live",
"volcengine_tos": "火山引擎 - 对象存储 TOS",
"volcengine_vod": "火山引擎 - 视频点播 VOD",
"volcengine_waf": "火山引擎 - Web 应用防火墙 WAF",
"vultr": "Vultr",
"wangsu": "网宿云",
"wangsu_cdn": "网宿云 - 内容分发网络 CDN",
"wangsu_cdnpro": "网宿云 - CDN Pro (CDN 360)",
"wangsu_certificate_upload": "网宿云 - 上传到证书管理",
"webhook": "Webhook",
"wecombot": "企业微信群机器人",
"westcn": "西部数码",
"xinnet": "新网数码",
"zerossl": "ZeroSSL",
"zenlayer": "Zenlayer",
"zenlayer_cdn": "Zenlayer - 内容分发网络 CDN",
"zenlayer_ga": "Zenlayer - 全球网络加速器 ZGA"
}
{
"$ns": "provider",
"text": {
"nodata": "暂无提供商",
"default_ca": "(默认)不指定,跟随全局设置",
"default_ca_in_group": "不指定,跟随全局设置",
"default_group": "默认",
"available_group": "可用(已添加授权凭据)",
"unavailable_group": "不可用(未添加授权凭据)",
"unavailable_divider": "以下提供商不可用(即未添加过授权凭据)"
},
"category": {
"all": "全部",
"cdn": "CDN",
"storage": "文件存储",
"loadbalance": "负载均衡",
"firewall": "防火墙",
"av": "音视频",
"accelerator": "加速器",
"apigw": "API 网关",
"serverless": "Serverless",
"website": "网站托管",
"ssl": "证书托管",
"other": "其他"
},
"1panel": "1Panel",
"1panel_console": "1Panel - 面板自身",
"35cn": "三五互联",
"51dnscom": "帝恩思(51DNS)",
"acmeca": "自定义 ACME CA 端点",
"acmedns": "ACME-DNS",
"acmehttpreq": "自定义基于 HTTP 请求的 ACME 质询验证端点",
"actalisssl": "Actalis SSL",
"akamai": "Akamai",
"akamai_cdn": "Akamai - 内容分发网络 CDN",
"akamai_edgedns": "Akamai - EdgeDNS",
"aliyun": "阿里云",
"aliyun_alb": "阿里云 - 应用型负载均衡 ALB",
"aliyun_apigw": "阿里云 - API 网关",
"aliyun_cas_deploy": "阿里云 - 通过数字证书管理服务 CAS 创建部署任务",
"aliyun_cas_upload": "阿里云 - 上传到数字证书管理服务 CAS",
"aliyun_cdn": "阿里云 - 内容分发网络 CDN",
"aliyun_clb": "阿里云 - 传统型负载均衡 CLB",
"aliyun_dcdn": "阿里云 - 全站加速 DCDN",
"aliyun_ddospro": "阿里云 - DDoS 高防",
"aliyun_dns": "阿里云 - 云解析 DNS",
"aliyun_esa": "阿里云 - 边缘安全加速 ESA",
"aliyun_esa_saas": "阿里云 - 边缘安全加速 ESA SaaS 管理器",
"aliyun_fc": "阿里云 - 函数计算 FC",
"aliyun_ga": "阿里云 - 全球加速 GA",
"aliyun_live": "阿里云 - 视频直播 Live",
"aliyun_nlb": "阿里云 - 网络型负载均衡 NLB",
"aliyun_oss": "阿里云 - 对象存储 OSS",
"aliyun_vod": "阿里云 - 视频点播 VOD",
"aliyun_waf": "阿里云 - Web 应用防火墙 WAF",
"apisix": "Apache APISIX",
"arvancloud": "ArvanCloud",
"aws": "AWS",
"aws_acm": "AWS - ACM (Amazon Certificate Manager)",
"aws_cloudfront": "AWS - CloudFront",
"aws_iam": "AWS - IAM (Identity and Access Management)",
"aws_lightsail": "AWS - Lightsail",
"aws_route53": "AWS - Route53",
"azure": "Azure",
"azure_dns": "Azure - DNS",
"azure_keyvault": "Azure - KeyVault",
"baiducloud": "百度智能云",
"baiducloud_appblb": "百度智能云 - 应用型负载均衡 BLB",
"baiducloud_blb": "百度智能云 - 普通型负载均衡 BLB",
"baiducloud_cdn": "百度智能云 - 内容分发网络 CDN",
"baiducloud_cert_upload": "百度智能云 - 上传到 SSL 证书服务",
"baiducloud_dns": "百度智能云 - 智能云解析 DNS",
"baishan": "白山云",
"baishan_cdn": "白山云 - 内容分发网络 CDN",
"baotapanel": "宝塔面板(又名:aaPanel)",
"baotapanel_common": "宝塔面板",
"baotapanel_console": "宝塔面板 - 面板自身",
"baotapanelgo": "宝塔面板极速版(又名:aaPanel WinGo)",
"baotapanelgo_common": "宝塔面板极速版",
"baotapanelgo_console": "宝塔面板极速版 - 面板自身",
"baotawaf": "堡塔云 WAF(又名:aaWAF)",
"baotawaf_common": "堡塔云 WAF",
"baotawaf_console": "堡塔云 WAF - 面板自身",
"bookmyname": "BookMyName",
"bunny": "Bunny",
"bunny_cdn": "Bunny - 内容分发网络 CDN",
"byteplus": "BytePlus",
"byteplus_cdn": "BytePlus - 内容分发网络 CDN",
"cachefly": "CacheFly",
"cdnfly": "Cdnfly",
"cloudflare": "Cloudflare",
"cloudns": "ClouDNS",
"cmcccloud": "移动云",
"cmcccloud_dns": "移动云 - 云解析 DNS",
"constellix": "Constellix",
"cpanel": "cPanel",
"ctcccloud": "天翼云",
"ctcccloud_ao": "天翼云 - 边缘安全加速平台 AccessOne",
"ctcccloud_cdn": "天翼云 - 内容分发网络 CDN",
"ctcccloud_cms_upload": "天翼云 - 上传到证书管理服务 CMS",
"ctcccloud_elb": "天翼云 - 弹性负载均衡 ELB",
"ctcccloud_faas": "天翼云 - 函数计算 FaaS",
"ctcccloud_icdn": "天翼云 - 全站加速 ICDN",
"ctcccloud_lvdn": "天翼云 - 视频直播 LVDN",
"ctcccloud_smartdns": "天翼云 - 智能 DNS",
"cucccloud": "联通云",
"desec": "deSEC",
"digicert": "DigiCert",
"digitalocean": "DigitalOcean",
"dingtalkbot": "钉钉群机器人",
"discordbot": "Discord 机器人",
"dnsexit": "DNSExit",
"dnsla": "帝恩爱斯(DNS.LA)",
"dnsmadeeasy": "DNS Made Easy",
"dogecloud": "多吉云",
"dogecloud_cdn": "多吉云 - 内容分发网络 CDN",
"dokploy": "Dokploy",
"duckdns": "Duck DNS",
"dynu": "Dynu",
"dynv6": "dynv6",
"email": "邮件(SMTP)",
"fastly": "Fastly",
"flexcdn": "FlexCDN",
"flyio": "Fly.io",
"ftp": "远程主机(FTP)",
"gandinet": "Gandi.net",
"gcore": "G-Core",
"gcore_cdn": "G-Core - 内容分发网络 CDN",
"globalsignatlas": "GlobalSign Atlas",
"gname": "GNAME",
"godaddy": "GoDaddy",
"goedge": "GoEdge",
"googletrustservices": "Google Trust Services",
"hetzner": "Hetzner",
"hostingde": "hosting.de",
"hostinger": "Hostinger",
"huaweicloud": "华为云",
"huaweicloud_aad": "华为云 - DDoS 高防 AAD",
"huaweicloud_apig": "华为云 - API 网关",
"huaweicloud_cdn": "华为云 - 内容分发网络 CDN",
"huaweicloud_dns": "华为云 - 云解析 DNS",
"huaweicloud_elb": "华为云 - 弹性负载均衡 ELB",
"huaweicloud_live": "华为云 - 视频直播 Live",
"huaweicloud_obs": "华为云 - 对象储存服务 OBS",
"huaweicloud_scm_upload": "华为云 - 上传到云证书管理服务 SCM",
"huaweicloud_waf": "华为云 - Web 应用防火墙 WAF",
"infomaniak": "Infomaniak",
"ionos": "IONOS",
"jdcloud": "京东云",
"jdcloud_alb": "京东云 - 应用负载均衡 ALB",
"jdcloud_cdn": "京东云 - 内容分发网络 CDN",
"jdcloud_dns": "京东云 - 云解析 DNS",
"jdcloud_live": "京东云 - 视频直播 Live",
"jdcloud_vod": "京东云 - 视频点播 VOD",
"jdcloud_ssl_upload": "京东云 - 上传到 SSL 数字证书",
"jdcloud_waf": "京东云 - Web 应用防火墙 WAF",
"kong": "Kong",
"kubernetes": "Kubernetes",
"kubernetes_secret": "Kubernetes - Secret",
"ksyun": "金山云",
"ksyun_cdn": "金山云 - 内容分发网络 CDN",
"ksyun_slb": "金山云 - 负载均衡 SLB",
"larkbot": "飞书群机器人",
"lecdn": "LeCDN",
"letsencrypt": "Let's Encrypt",
"letsencryptstaging": "Let's Encrypt 测试环境",
"linode": "Linode",
"litessl": "LiteSSL",
"local": "本地主机",
"mattermost": "Mattermost",
"mohua": "嘿华云",
"mohua_mvh": "嘿华云 - 虚拟主机 MVH ",
"namecheap": "Namecheap",
"namedotcom": "Name.com",
"namesilo": "NameSilo",
"netcup": "netcup",
"netlify": "Netlify",
"nginxproxymanager": "Nginx Proxy Manager",
"ns1": "NS1 (IBM NS1 Connect)",
"ovhcloud": "OVHcloud",
"porkbun": "Porkbun",
"powerdns": "PowerDNS",
"proxmoxve": "Proxmox VE",
"qingcloud": "青云",
"qingcloud_dns": "青云 - 云解析 DNS",
"qiniu": "七牛云",
"qiniu_cdn": "七牛云 - 内容分发网络 CDN",
"qiniu_kodo": "七牛云 - 对象存储 Kodo",
"qiniu_pili": "七牛云 - 视频直播 Pili",
"rainyun": "雨云",
"rainyun_rcdn": "雨云 - 雨盾 CDN",
"rainyun_sslcenter_upload": "雨云 - 上传到 SSL 证书中心",
"ratpanel": "耗子面板(又名:AcePanel)",
"ratpanel_common": "耗子面板",
"ratpanel_console": "耗子面板 - 面板自身",
"rfc2136": "Dynamic DNS Updates (RFC 2136)",
"s3": "对象存储(S3 兼容)",
"s3_upload": "上传到 S3 兼容的对象存储",
"safeline": "雷池",
"samwaf": "SamWAF",
"sectigo": "Sectigo",
"slackbot": "Slack 机器人",
"spaceship": "Spaceship",
"ssh": "远程主机(SSH)",
"sslcom": "SSL.com",
"synologydsm": "群晖 DSM",
"technitiumdns": "Technitium DNS",
"telegrambot": "Telegram 机器人",
"tencentcloud": "腾讯云",
"tencentcloud_cdn": "腾讯云 - 内容分发网络 CDN",
"tencentcloud_clb": "腾讯云 - 负载均衡 CLB",
"tencentcloud_cos": "腾讯云 - 对象存储 COS",
"tencentcloud_css": "腾讯云 - 云直播 CSS",
"tencentcloud_dns": "腾讯云 - 云解析 DNS",
"tencentcloud_ecdn": "腾讯云 - 全站加速网络 ECDN",
"tencentcloud_eo": "腾讯云 - 边缘安全加速平台 EdgeOne",
"tencentcloud_gaap": "腾讯云 - 全球应用加速 GAAP",
"tencentcloud_scf": "腾讯云 - 云函数 SCF",
"tencentcloud_ssl_deploy": "腾讯云 - 通过 SSL 证书服务创建部署任务",
"tencentcloud_ssl_update": "腾讯云 - 通过 SSL 证书服务更新云资源证书",
"tencentcloud_ssl_upload": "腾讯云 - 上传到 SSL 证书服务",
"tencentcloud_vod": "腾讯云 - 云点播 VOD",
"tencentcloud_waf": "腾讯云 - Web 应用防火墙 WAF",
"todaynic": "时代互联",
"ucloud": "优刻得",
"ucloud_ualb": "优刻得 - 应用型负载均衡 ALB",
"ucloud_ucdn": "优刻得 - 云分发 UCDN",
"ucloud_uclb": "优刻得 - 传统型负载均衡 CLB",
"ucloud_udnr": "优刻得 - 域名服务 UDNR",
"ucloud_uewaf": "优刻得 - 企业 Web 应用防火墙 UEWAF",
"ucloud_upathx": "优刻得 - 全球动态加速 UPathX",
"ucloud_us3": "优刻得 - 对象存储 US3",
"unicloud": "uniCloud (DCloud)",
"unicloud_webhost": "uniCloud - 前端网页托管",
"upyun": "又拍云",
"upyun_cdn": "又拍云 - 云分发 CDN",
"upyun_file": "又拍云 - 云存储 USS",
"vercel": "Vercel",
"volcengine": "火山引擎",
"volcengine_alb": "火山引擎 - 应用型负载均衡 ALB",
"volcengine_apig": "火山引擎 - API 网关",
"volcengine_cdn": "火山引擎 - 内容分发网络 CDN",
"volcengine_certcenter_upload": "火山引擎 - 上传到证书中心",
"volcengine_clb": "火山引擎 - 负载均衡 CLB",
"volcengine_dcdn": "火山引擎 - 全站加速 DCDN",
"volcengine_dns": "火山引擎 - 云解析 DNS",
"volcengine_imagex": "火山引擎 - 图片服务 ImageX",
"volcengine_live": "火山引擎 - 视频直播 Live",
"volcengine_tos": "火山引擎 - 对象存储 TOS",
"volcengine_vod": "火山引擎 - 视频点播 VOD",
"volcengine_waf": "火山引擎 - Web 应用防火墙 WAF",
"vultr": "Vultr",
"wangsu": "网宿云",
"wangsu_cdn": "网宿云 - 内容分发网络 CDN",
"wangsu_cdnpro": "网宿云 - CDN Pro (CDN 360)",
"wangsu_certificate_upload": "网宿云 - 上传到证书管理",
"webhook": "Webhook",
"wecombot": "企业微信群机器人",
"westcn": "西部数码",
"xinnet": "新网数码",
"zerossl": "ZeroSSL",
"zenlayer": "Zenlayer",
"zenlayer_cdn": "Zenlayer - 内容分发网络 CDN",
"zenlayer_ga": "Zenlayer - 全球网络加速器 ZGA"
}
+24
View File
@@ -0,0 +1,24 @@
import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { type Locale } from "antd/es/locale";
import AntdLocaleEnUS from "antd/locale/en_US";
import AntdLocaleZhCN from "antd/locale/zh_CN";
import { localeNames } from "../locales";
const localesMap: Record<string, Locale> = {
[localeNames.EN]: AntdLocaleEnUS,
[localeNames.ZH]: AntdLocaleZhCN,
};
export const useAntdLocale = () => {
const { i18n } = useTranslation();
const [antdLocale, setAntdLocale] = useState<Locale>(localesMap[i18n.language]);
useEffect(() => {
setAntdLocale(localesMap[i18n.language]);
}, [i18n.language]);
return antdLocale;
};
+30
View File
@@ -0,0 +1,30 @@
import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import dayjs from "dayjs";
import { type Locale as ILocale } from "dayjs/locale/en";
import "dayjs/locale/zh-cn";
import { localeNames } from "../locales";
type Locale = string | ILocale;
const localesMap: Record<string, Locale> = {
[localeNames.EN]: "en",
[localeNames.ZH]: "zh-cn",
};
export const useDayjsLocale = () => {
const { i18n } = useTranslation();
const [dayjsLocale, setDayjsLocale] = useState<Locale>(localesMap[i18n.language]);
useEffect(() => {
setDayjsLocale(localesMap[i18n.language]);
}, [i18n.language]);
useEffect(() => {
dayjs.locale(dayjsLocale);
}, [dayjsLocale]);
return dayjsLocale;
};
+31
View File
@@ -0,0 +1,31 @@
import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { config as zconfig } from "zod";
import { en as ZodLocaleEnUs, zhCN as ZodLocaleZhCN } from "zod/locales";
import { localeNames } from "../locales";
type Locale = typeof ZodLocaleEnUs;
const localesMap: Record<string, Locale> = {
[localeNames.EN]: ZodLocaleEnUs,
[localeNames.ZH]: ZodLocaleZhCN,
};
export const useZodLocale = () => {
const { i18n } = useTranslation();
const [zodLocale, setZodLocale] = useState<Locale>(localesMap[i18n.language]);
useEffect(() => {
setZodLocale(localesMap[i18n.language]);
}, [i18n.language]);
useEffect(() => {
if (typeof zodLocale === "function") {
zconfig(zodLocale());
}
}, [zodLocale]);
return zodLocale;
};