From 2b09217f554be335a77105888cef2c2a6615c472 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=90=8C=E8=90=8C=E5=93=92=E8=B5=AB=E8=90=9D?=
 <ma_shiqing@163.com>
Date: Sun, 19 Mar 2023 22:08:44 +0800
Subject: [PATCH] :construction: WIP: i18n for manage page, picbed config done

---
 public/i18n/en.yml                       | 204 ++++++++++++-
 public/i18n/zh-CN.yml                    | 201 ++++++++++++-
 public/i18n/zh-TW.yml                    | 202 ++++++++++++-
 src/renderer/manage/pages/manageMain.vue |  28 +-
 src/renderer/manage/utils/constants.ts   | 363 ++++++++++++-----------
 src/renderer/pages/picbeds/index.vue     |  18 +-
 src/universal/types/i18n.d.ts            | 183 ++++++++++++
 7 files changed, 985 insertions(+), 214 deletions(-)

diff --git a/public/i18n/en.yml b/public/i18n/en.yml
index 34f3353..0506ef8 100644
--- a/public/i18n/en.yml
+++ b/public/i18n/en.yml
@@ -30,13 +30,13 @@ CURRENT_PICBED: Current Picbed
 CHOOSE_YOUR_DEFAULT_PICBED: 'Choose ${d} as your default picbed:'
 UPLOAD_AREA: Upload
 UPLOAD_VIEW_HINT: Click to open picbeds settings
-MANAGE_PAGE: Manage Page
+MANAGE_PAGE: Manage
 GALLERY: Gallery
 PICBEDS_SETTINGS: Picbeds
 PICBEDS_MANAGE: Picbeds Manage
 PICLIST_SETTINGS: Settings
 PLUGIN_SETTINGS: Plugins
-PICLIST_SPONSOR_TEXT: PicList is a free software, if you like it, please don't forget to buy me a cup of coffee.
+PICLIST_SPONSOR_TEXT: If you like it, please don't forget to buy me a cup of coffee.
 ALIPAY: Alipay
 WECHATPAY: Wechat Pay
 CHOOSE_PICBED: Choose Picbed
@@ -139,7 +139,7 @@ SHORTCUT_CHANGE_UPLOAD: Change Upload Shortcut
 # tray-page
 
 WAIT_TO_UPLOAD: Wait to Upload
-ALREADY_UPLOAD: Already Upload
+ALREADY_UPLOAD: Already Uploaded
 
 # upload-page
 
@@ -198,9 +198,9 @@ MANAGE_SETTING_FORCE_CUSTOM_URL_HTTPS_TIPS: After enabling, all operations will
 MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_UPLOAD_TITLE: Preserve directory structure when uploading
 MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_UPLOAD_TIPS: After disabling, all files will be expanded to the specified directory
 MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_DOWNLOAD_TITLE_A: Download
-MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_DOWNLOAD_TITLE_B: File
+MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_DOWNLOAD_TITLE_B: ' File '
 MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_DOWNLOAD_TITLE_C: will preserve the directory structure
-MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_DOWNLOAD_TITLE_D: Folder
+MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_DOWNLOAD_TITLE_D: ' Folder '
 MANAGE_SETTING_KEEP_FOLDER_STRUCTURE_DOWNLOAD_FILE_TIPS: After enabling, the original directory structure will be preserved
 MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TITLE: Maximum number of files to download simultaneously (1-9999)
 MANAGE_SETTING_MAX_DOWNLOAD_FILE_SIZE_TIPS: Not work on Tencent 
@@ -251,6 +251,200 @@ MANAGE_MAIN_PAGE_BUCKET: Bucket
 MANAGE_MAIN_PAGE_GALLERY: Album
 MANAGE_MAIN_PAGE_REPOSITORY: Repo
 
+# manage constant
+MANAGE_CONSTANT_BASE_RULE: 'Please enter '
+MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A: Please enter the number of items displayed per page.
+MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B: The number of items displayed per page must be a number.
+MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C: The number of items displayed per page must be between 20 and 1000.
+MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A: Please enter the alias, which is the unique identifier for this configuration.
+MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B: The alias can only contain Chinese, English, numbers, underscores, and hyphens.
+MANAGE_CONSTANT_ALIAS_TOOLTIP: The alias can only contain Chinese, English, numbers, underscores, and hyphens.
+MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP: The number of items displayed per page must be between 20 and 1000.
+MANAGE_CONSTANT_PAGING_TOOLTIP: When paging is turned off, the directory list will use database caching to optimize performance.
+MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP: Separated by commas, e.g., bucket1,bucket2,bucket3, and corresponding to the starting directory order one by one.
+MANAGE_CONSTANT_BASE_DIR_TOOLTIP: 'Separated by commas, e.g., /dir1,/dir2,/dir3, corresponding to the storage bucket order one by one.'
+MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP: When turned on, the domainbound to bucket will be automatically obtained. Else, it can be manually filled in.
+
+MANAGE_CONSTANT_SMMS_ALIAS_DESC: Alias - required
+MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER: Unique identifier of this configuration
+MANAGE_CONSTANT_SMMS_TOKEN_DESC: Token - required
+MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER: Please fill in your token
+MANAGE_CONSTANT_SMMS_PAGING_DESC: Whether to enable pagination
+MANAGE_CONSTANT_SMMS_EXPLAIN: 'For users in mainland China, please visit the backup domain https://smms.app. Do not upload images in large quantities.'
+MANAGE_CONSTANT_SMMS_REFER_TEXT: 'Refer to: '
+
+MANAGE_CONSTANT_QINIU_NAME: Qiniu
+MANAGE_CONSTANT_QINIU_ALIAS_DESC: Alias - Required
+MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER: Unique identifier for this configuration
+MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC: accessKey - Required
+MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER: Please enter the accessKey
+MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC: secretKey - Required
+MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER: Please enter the secretKey
+MANAGE_CONSTANT_QINIU_BUCKET_DESC: space name - Optional
+MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER: 'English comma separated, for example: bucket1, bucket2'
+MANAGE_CONSTANT_QINIU_BASE_DIR_DESC: Base directory - Optional
+MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER: 'English comma separated, for example: /dir1, /dir2'
+MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC: Automatically get the bound domain name
+MANAGE_CONSTANT_QINIU_PAGING_DESC: Enable pagination
+MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC: Number of items displayed per page
+MANAGE_CONSTANT_QINIU_EXPLAIN: When configuring space name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.
+MANAGE_CONSTANT_QINIU_REFER_TEXT: 'Refer to: '
+
+MANAGE_CONSTANT_GITHUB_ALIAS_DESC: Alias - Required
+MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER: Unique identifier for this configuration
+MANAGE_CONSTANT_GITHUB_TOKEN_DESC: Token - Required
+MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER: Please enter the Token
+MANAGE_CONSTANT_GITHUB_TOKEN_TIPS: 'Please provide a token with full repo permissions'
+MANAGE_CONSTANT_GITHUB_USER_DESC: Username - Required
+MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER: Please enter the Username
+MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE: Username
+MANAGE_CONSTANT_GITHUB_PROXY_DESC: Proxy address - Optional
+MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER: 'For example: http://127.0.0.1:1080'
+MANAGE_CONSTANT_GITHUB_PROXY_TIPS: 'If the access speed is slow, you can try configuring a proxy'
+MANAGE_CONSTANT_GITHUB_PAGING_DESC: Enable pagination
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC: CDN acceleration domain name - Optional
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER: 'Support using {username}, {repo}, {branch}, and {path} as replacement placeholders'
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS: 'For example: https://cdn.staticaly.com/gh/{username}/{repo}@{branch}/{path}'
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A: 'The acceleration domain name must start with http:// or https://'
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B: The braces in the acceleration domain name must appear in pairs
+MANAGE_CONSTANT_GITHUB_EXPLAIN: There is an hourly limit for API calls, and uploading files larger than 100M is not supported
+MANAGE_CONSTANT_GITHUB_REFER_TEXT: 'Refer to:'
+
+MANAGE_CONSTANT_ALIYUN_NAME: Ali Cloud
+MANAGE_CONSTANT_ALIYUN_ALIAS_DESC: Alias - required
+MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER: The unique identifier of this configuration
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC: AccessKeyId - required
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_PLACEHOLDER: Please fill in AccessKeyId
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC: AccessKeySecret - required
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER: Please fill in AccessKeySecret
+MANAGE_CONSTANT_ALIYUN_BUCKET_DESC: Bucket name - optional
+MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER: 'Separated by commas in English, for example: bucket1, bucket2'
+MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC: Base directory - optional
+MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER: 'Separated by commas in English, for example: /dir1, /dir2'
+MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC: Automatically obtain bound domain name
+MANAGE_CONSTANT_ALIYUN_PAGING_DESC: Whether to enable pagination
+MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC: Number of items displayed per page
+MANAGE_CONSTANT_ALIYUN_EXPLAIN: When configuring bucket name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.
+MANAGE_CONSTANT_ALIYUN_REFER_TEXT: 'Refer to: '
+
+MANAGE_CONSTANT_TENCENT_NAME: Tencent Cloud
+MANAGE_CONSTANT_TENCENT_ALIAS_DESC: Alias - Required
+MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER: Unique identifier for this configuration
+MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC: SecretID - Required
+MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER: Please fill in the SecretID
+MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC: SecretKey - Required
+MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER: Please fill in the SecretKey
+MANAGE_CONSTANT_TENCENT_APPID_DESC: App ID - Required
+MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER: Please fill in the App ID
+MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP: 'For example: 1250000000'
+MANAGE_CONSTANT_TENCENT_BUCKET_DESC: Bucket name - Optional (note the App ID must be included)
+MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER: 'Comma-separated list of bucket names, for example: bucket1-1250000000, bucket2-1250000000'
+MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC: Starting directory - Optional
+MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER: 'Comma-separated list of directories, for example: /dir1, /dir2'
+MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC: Automatically obtain binding domain name
+MANAGE_CONSTANT_TENCENT_PAGING_DESC: Enable paging
+MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC: Number of items to display per page
+MANAGE_CONSTANT_TENCENT_EXPLAIN: When configuring bucket name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.
+MANAGE_CONSTANT_TENCENT_REFER_TEXT: 'Refer to: '
+
+MANAGE_CONSTANT_UPYUN_NAME: Upyun
+MANAGE_CONSTANT_UPYUN_ALIAS_DESC: Alias - required
+MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER: Unique identifier of the configuration
+MANAGE_CONSTANT_UPYUN_BUCKET_DESC: Service name - required
+MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER: Name of the storage bucket corresponding to other object storage
+MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC: Operator name - required
+MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER: It is recommended to use an operator with full read, write, and delete permissions
+MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE: Operator
+MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC: Operator password - required
+MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER: Please enter the password
+MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE: Operator password
+MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC: Base directory - optional
+MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER: Initial directory when reading files
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC: Acceleration domain name - required
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER: 'Please start with http:// or https://'
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A: Acceleration domain name cannot be empty
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B: 'Please start the custom domain name with http:// or https://'
+MANAGE_CONSTANT_UPYUN_PAGING: Whether to enable pagination
+MANAGE_CONSTANT_UPYUN_ITEMS_PAGE: Number of items displayed per page
+MANAGE_CONSTANT_UPYUN_EXPLAIN: It is necessary to fill in the acceleration domain name of Upyun image bed, otherwise it cannot be used normally.
+MANAGE_CONSTANT_UPYUN_REFER_TEXT: 'Refer to: '
+
+MANAGE_CONSTANT_IMGUR_NAME: Imgur
+MANAGE_CONSTANT_IMGUR_ALIAS_DESC: Alias - required
+MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER: Unique identifier of the configuration
+MANAGE_CONSTANT_IMGUR_USERNAME_DESC: Imgur username - required
+MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER: Please enter the Imgur username
+MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC: Access token - required
+MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER: Please enter the access token
+MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP: Not the client ID, please refer to the configuration tutorial
+MANAGE_CONSTANT_IMGUR_PROXY_DESC: Proxy - optional
+MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER: 'For example: http://127.0.0.1:1080'
+MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP: Please use a proxy in mainland China, otherwise it cannot be used normally
+MANAGE_CONSTANT_IMGUR_EXPLAIN: Please use a proxy in mainland China, API calls have restrictions, please pay attention to usage frequency
+MANAGE_CONSTANT_IMGUR_REFER_TEXT: 'Refer to: '
+
+MANAGE_CONSTANT_S3_NAME: S3-Compatible
+MANAGE_CONSTANT_S3_ALIAS_DESC: Alias - Required
+MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER: Unique identifier for this configuration
+MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC: Access Key ID - Required
+MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER: Please enter Access Key ID
+MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC: Secret Access Key - Required
+MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER: Please enter Secret Access Key
+MANAGE_CONSTANT_S3_ENDPOINT_DESC: Endpoint - Optional
+MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER: e.g. s3.us-east-1.amazonaws.com
+MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP: If left blank, AWS S3 is accessed by default. Provide the root API endpoint
+MANAGE_CONSTANT_S3_SSLENABLED_DESC: Use HTTPS connection
+MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP: Disable this option if not supported by your platform.
+MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC: Enable S3 Path style
+MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP: Required when using Minio, for example.
+MANAGE_CONSTANT_S3_PROXY_DESC: Proxy - Optional
+MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER: e.g. http://127.0.0.1:1080
+MANAGE_CONSTANT_S3_PROXY_TOOLTIP: Use proxy if unable to access in some parts of Mainland China
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC: Permission for uploaded files
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE: Private
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ: Public read
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE: Public read and write
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ: Authenticated read
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ: Bucket owner read
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL: Bucket owner full control
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ: AWS execution read
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP: 'Permission options for uploaded files'
+MANAGE_CONSTANT_S3_BUCKET_DESC: Bucket name - Optional
+MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER: English comma-separated list, e.g. bucket1,bucket2
+MANAGE_CONSTANT_S3_BASE_DIR_DESC: Base directory - Optional
+MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER: English comma-separated list, e.g. /dir1,/dir2
+MANAGE_CONSTANT_S3_PAGING_DESC: Enable pagination
+MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC: Items per page
+MANAGE_CONSTANT_S3_EXPLAIN: When configuring bucket name and base directory, they can be set using English comma separation. The order must be consistent and missing or empty items will use the default value.
+MANAGE_CONSTANT_S3_REFER_TEXT: 'Refer to: '
+
+MANAGE_CONSTANT_WEBDAV_NAME: WebDAV
+MANAGE_CONSTANT_WEBDAV_ALIAS_DESC: Alias - Required
+MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER: Unique identifier for this configuration
+MANAGE_CONSTANT_WEBDAV_HOST_DESC: Address - Required
+MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER: 'e.g. https://example.com/dav'
+MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP: Please enter the complete WebDAV address
+MANAGE_CONSTANT_WEBDAV_USERNAME_DESC: Username - Required
+MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER: Please enter your username
+MANAGE_CONSTANT_WEBDAV_BUCKET_DESC: Special Configuration
+MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER: 'e.g. bucket1'
+MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP: This cannot be modified, only for software compatibility consideration
+MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC: Password - Required
+MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER: Please enter your password
+MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC: Base Directory - Optional
+MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER: 'e.g. /dir1'
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC: Custom Domain - Optional
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER: 'e.g. https://example.com'
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP: If your WebDAV server supports custom domains, please fill in
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE: 'Custom domain should start with http:// or https://'
+MANAGE_CONSTANT_WEBDAV_PROXY_DESC: Proxy - Optional
+MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER: 'e.g. http://127.0.0.1:1080'
+MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP: If special network environment is required to access, please use proxy
+MANAGE_CONSTANT_WEBDAV_SSL_DESC: Use HTTPS Connection
+MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP: Depending on the configuration of your WebDAV server, if your server does not support HTTPS, please turn off this option
+MANAGE_CONSTANT_WEBDAV_EXPLAIN: 'WebDAV Configuration'
+MANAGE_CONSTANT_WEBDAV_REFER_TEXT: 'Refer to:'
+
 # ---renderer i18n end---
 
 # plugins
diff --git a/public/i18n/zh-CN.yml b/public/i18n/zh-CN.yml
index 759c939..57dc9fe 100644
--- a/public/i18n/zh-CN.yml
+++ b/public/i18n/zh-CN.yml
@@ -30,13 +30,13 @@ CURRENT_PICBED: 当前图床
 CHOOSE_YOUR_DEFAULT_PICBED: 选择 ${d} 作为你默认图床:
 UPLOAD_AREA: 上传区
 UPLOAD_VIEW_HINT: 点击打开图床设置
-MANAGE_PAGE: 管理页面
+MANAGE_PAGE: 管理
 GALLERY: 相册
 PICBEDS_SETTINGS: 图床设置
 PICBEDS_MANAGE: 图床管理
 PICLIST_SETTINGS: PicList设置
-PLUGIN_SETTINGS: 插件设置
-PICLIST_SPONSOR_TEXT: PicList是免费开源的软件,如果你喜欢它,对你有帮助,可以请我喝杯蜜雪冰城~
+PLUGIN_SETTINGS: 插件
+PICLIST_SPONSOR_TEXT: 如果你喜欢它,对你有帮助,可以请我喝杯蜜雪冰城~
 ALIPAY: 支付宝
 WECHATPAY: 微信支付
 CHOOSE_PICBED: 选择图床
@@ -251,6 +251,201 @@ MANAGE_MAIN_PAGE_BUCKET: 存储桶
 MANAGE_MAIN_PAGE_GALLERY: 相册
 MANAGE_MAIN_PAGE_REPOSITORY: 仓库
 
+# manage constant
+MANAGE_CONSTANT_BASE_RULE: 请输入
+MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A: 请输入每页显示数量
+MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B: 每页显示数量必须为数字
+MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C: 每页显示数量必须在20-1000之间
+MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A: 请输入别名, 该配置的唯一标识
+MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B: 别名只能包含中文、英文、数字、下划线和中划线
+MANAGE_CONSTANT_ALIAS_TOOLTIP: 别名只能包含中文、英文、数字、下划线和中划线
+MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP: 每页显示数量必须在20-1000之间
+MANAGE_CONSTANT_PAGING_TOOLTIP: 关闭分页时,目录列表将使用数据库缓存以优化性能
+MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP: 英文逗号分隔,如:bucket1,bucket2,bucket3,和起始目录顺序一一对应
+MANAGE_CONSTANT_BASE_DIR_TOOLTIP: '英文逗号分隔,如:/dir1,/dir2,/dir3, 和存储桶顺序一一对应'
+MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP: 开启时,将自动获取存储桶绑定的域名,关闭时可手动填写
+
+MANAGE_CONSTANT_SMMS_ALIAS_DESC: 配置别名-必需
+MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER: 该配置的唯一标识
+MANAGE_CONSTANT_SMMS_TOKEN_DESC: Token-必需
+MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER: 请填写Token
+MANAGE_CONSTANT_SMMS_PAGING_DESC: 是否开启分页
+MANAGE_CONSTANT_SMMS_EXPLAIN: '大陆地区请访问备用域名https://smms.app, 请勿大批量上传图片,否则API接口会被限制'
+MANAGE_CONSTANT_SMMS_REFER_TEXT: '配置教程请参考: '
+
+MANAGE_CONSTANT_QINIU_NAME: 七牛云
+MANAGE_CONSTANT_QINIU_ALIAS_DESC: 配置别名-必需
+MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER: 该配置的唯一标识
+MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC: accessKey-必需
+MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER: 请填写accessKey
+MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC: secretKey-必需
+MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER: 请填写secretKey
+MANAGE_CONSTANT_QINIU_BUCKET_DESC: 空间名-可选
+MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER: 英文逗号分隔,例如:bucket1,bucket2
+MANAGE_CONSTANT_QINIU_BASE_DIR_DESC: 起始目录-可选
+MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER: 英文逗号分隔,例如:/dir1,/dir2
+MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC: 是否自动获取绑定域名
+MANAGE_CONSTANT_QINIU_PAGING_DESC: 是否开启分页
+MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC: 每页显示数量
+MANAGE_CONSTANT_QINIU_EXPLAIN: 空间名和起始目录配置时可通过英文逗号分隔设置,顺序必须一致,逗号间留空或缺失项使用默认值
+MANAGE_CONSTANT_QINIU_REFER_TEXT: '配置教程请参考: '
+
+MANAGE_CONSTANT_GITHUB_ALIAS_DESC: 配置别名-必需
+MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER: 该配置的唯一标识
+MANAGE_CONSTANT_GITHUB_TOKEN_DESC: Token-必需
+MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER: 请填写Token
+MANAGE_CONSTANT_GITHUB_TOKEN_TIPS: '请提供具有完整repo权限的token,否则部分功能可能无法使用'
+MANAGE_CONSTANT_GITHUB_USER_DESC: 用户名-必需
+MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER: 请填写用户名
+MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE: 用户名
+MANAGE_CONSTANT_GITHUB_PROXY_DESC: 代理地址-可选
+MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER: '例如:http://127.0.0.1:1080'
+MANAGE_CONSTANT_GITHUB_PROXY_TIPS: '如果访问速度较慢,可以尝试配置代理'
+MANAGE_CONSTANT_GITHUB_PAGING_DESC: 是否开启分页
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC: CDN加速域名-可选
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER: '支持使用{username}、{repo}、{branch}和{path}作为替换占位符,用于适配不同仓库和分支'
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS: '例如: https://cdn.staticaly.com/gh/{username}/{repo}@{branch}/{path}'
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A: '加速域名请以http://或https://开头'
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B: 加速域名中的大括号必须成对出现
+MANAGE_CONSTANT_GITHUB_EXPLAIN: API调用有每小时上限,此外不支持上传超过100M的文件
+MANAGE_CONSTANT_GITHUB_REFER_TEXT: '配置教程请参考: '
+
+MANAGE_CONSTANT_ALIYUN_NAME: 阿里云
+MANAGE_CONSTANT_ALIYUN_ALIAS_DESC: 配置别名-必需
+MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER: 该配置的唯一标识
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC: accessKeyId-必需
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_PLACEHOLDER: 请填写accessKeyId
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC: accessKeySecret-必需
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER: 请填写accessKeySecret
+MANAGE_CONSTANT_ALIYUN_BUCKET_DESC: 存储桶名-可选
+MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER: 英文逗号分隔,例如:bucket1,bucket2
+MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC: 起始目录-可选
+MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER: 英文逗号分隔,例如:/dir1,/dir2
+MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC: 是否自动获取绑定域名
+MANAGE_CONSTANT_ALIYUN_PAGING_DESC: 是否开启分页
+MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC: 每页显示数量
+MANAGE_CONSTANT_ALIYUN_EXPLAIN: 存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值
+MANAGE_CONSTANT_ALIYUN_REFER_TEXT: '配置教程请参考: '
+
+MANAGE_CONSTANT_TENCENT_NAME: 腾讯云
+MANAGE_CONSTANT_TENCENT_ALIAS_DESC: 配置别名-必需
+MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER: 该配置的唯一标识
+MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC: secretId-必需
+MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER: 请填写secretId
+MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC: secretKey-必需
+MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER: 请填写secretKey
+MANAGE_CONSTANT_TENCENT_APPID_DESC: appId-必需
+MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER: 请填写appId
+MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP: '例如:1250000000'
+MANAGE_CONSTANT_TENCENT_BUCKET_DESC: 存储桶名-可选(注意包含AppId)
+MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER: 英文逗号分隔,例如:bucket1-1250000000,bucket2-1250000000
+MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC: 起始目录-可选
+MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER: 英文逗号分隔,例如:/dir1,/dir2
+MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC: 是否自动获取绑定域名
+MANAGE_CONSTANT_TENCENT_PAGING_DESC: 是否开启分页
+MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC: 每页显示数量
+MANAGE_CONSTANT_TENCENT_EXPLAIN: 存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值
+MANAGE_CONSTANT_TENCENT_REFER_TEXT: '配置教程请参考: '
+
+MANAGE_CONSTANT_UPYUN_NAME: 又拍云
+MANAGE_CONSTANT_UPYUN_ALIAS_DESC: 配置别名-必需
+MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER: 该配置的唯一标识
+MANAGE_CONSTANT_UPYUN_BUCKET_DESC: 服务名-必需
+MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER: 对应其它对象存储的存储桶名
+MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC: 操作员名-必需
+MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER: 推荐使用具有读取、写入和删除完整权限的操作员
+MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE: 操作员
+MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC: 操作员密码-必需
+MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER: 请填写密码
+MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE: 操作员密码
+MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC: 起始目录-可选
+MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER: 读取文件时的初始目录
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC: 加速域名-必需
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER: '请以http://或https://开头'
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A: 加速域名不能为空
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B: '自定义域名请以http://或https://开头'
+MANAGE_CONSTANT_UPYUN_PAGING: 是否开启分页
+MANAGE_CONSTANT_UPYUN_ITEMS_PAGE: 每页显示数量
+MANAGE_CONSTANT_UPYUN_EXPLAIN: 又拍云图床务必填写加速域名,否则无法正常使用
+MANAGE_CONSTANT_UPYUN_REFER_TEXT: '配置教程请参考: '
+
+MANAGE_CONSTANT_IMGUR_NAME: Imgur
+MANAGE_CONSTANT_IMGUR_ALIAS_DESC: 配置别名-必需
+MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER: 该配置的唯一标识
+MANAGE_CONSTANT_IMGUR_USERNAME_DESC: imgur用户名-必需
+MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER: 请填写imgur用户名
+MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC: access token-必需
+MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER: 请填写access token
+MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP: 不是clientID,请参考配置教程
+MANAGE_CONSTANT_IMGUR_PROXY_DESC: 代理-可选
+MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER: '例如:http://127.0.0.1:1080'
+MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP: 大陆地区请使用代理,否则无法正常使用
+MANAGE_CONSTANT_IMGUR_EXPLAIN: 大陆地区请使用代理,API调用存在限制,请注意使用频率
+MANAGE_CONSTANT_IMGUR_REFER_TEXT: '配置教程请参考: '
+
+MANAGE_CONSTANT_S3_NAME: S3兼容云
+MANAGE_CONSTANT_S3_ALIAS_DESC: 配置别名-必需
+MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER: 该配置的唯一标识
+MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC: accessKeyId-必需
+MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER: 请填写accessKeyId
+MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC: secretAccessKey-必需
+MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER: 请填写secretAccessKey
+MANAGE_CONSTANT_S3_ENDPOINT_DESC: endpoint-可选
+MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER: '例如:s3.us-east-1.amazonaws.com'
+MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP: 如果不填写,默认访问 AWS S3,请提供根API endpoint
+MANAGE_CONSTANT_S3_SSLENABLED_DESC: 使用HTTPS连接
+MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP: 如果您的平台不支持,请关闭该选项
+MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC: 启用 S3 Path style
+MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP: 例如使用 minio 时需要启用
+MANAGE_CONSTANT_S3_PROXY_DESC: 代理-可选
+MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER: '例如:http://127.0.0.1:1080'
+MANAGE_CONSTANT_S3_PROXY_TOOLTIP: 如果部分平台大陆地区无法访问,请使用代理
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC: 上传文件的权限
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE: 私有
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ: 公共读
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE: 公共读写
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ: 授权读
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ: 桶所有者读
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL: 桶所有者完全控制
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ: AWS执行读
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP: '上传文件的权限,可选值:private、public-read、public-read-write、authenticated-read、bucket-owner-read、bucket-owner-full-control、aws-exec-read'
+MANAGE_CONSTANT_S3_BUCKET_DESC: 存储桶名-可选
+MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER: 英文逗号分隔,例如:bucket1,bucket2
+MANAGE_CONSTANT_S3_BASE_DIR_DESC: 起始目录-可选
+MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER: '英文逗号分隔,例如:/dir1,/dir2'
+MANAGE_CONSTANT_S3_PAGING_DESC: 是否开启分页
+MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC: 每页显示数量
+MANAGE_CONSTANT_S3_EXPLAIN: 存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值
+MANAGE_CONSTANT_S3_REFER_TEXT: '配置教程请参考: '
+
+MANAGE_CONSTANT_WEBDAV_NAME: WebDAV
+MANAGE_CONSTANT_WEBDAV_ALIAS_DESC: 配置别名-必需
+MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER: 该配置的唯一标识
+MANAGE_CONSTANT_WEBDAV_HOST_DESC: 地址-必需
+MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER: '例如:https://example.com/dav'
+MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP: 请填写完整的WebDAV地址
+MANAGE_CONSTANT_WEBDAV_USERNAME_DESC: 用户名-必需
+MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER: 请填写用户名
+MANAGE_CONSTANT_WEBDAV_BUCKET_DESC: 特殊配置
+MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER: '例如:bucket1'
+MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP: 此处不可修改,仅为软件兼容性考虑
+MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC: 密码-必需
+MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER: 请填写密码
+MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC: 起始目录-可选
+MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER: '例如:/dir1'
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC: 自定义域名-可选
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER: '例如:https://example.com'
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP: 如果您的WebDAV服务器支持自定义域名,请填写
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE: '自定义域名请以http://或https://开头'
+MANAGE_CONSTANT_WEBDAV_PROXY_DESC: 代理-可选
+MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER: '例如:http://127.0.0.1:1080'
+MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP: 如果需要特殊网络环境才能访问,请使用代理
+MANAGE_CONSTANT_WEBDAV_SSL_DESC: 使用HTTPS连接
+MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP: 根据WebDAV服务器的配置,如果您的服务器不支持HTTPS,请关闭该选项
+MANAGE_CONSTANT_WEBDAV_EXPLAIN: 'WebDAV配置'
+MANAGE_CONSTANT_WEBDAV_REFER_TEXT: '配置教程请参考: '
+
+
 # ---renderer i18n end---
 
 # plugins
diff --git a/public/i18n/zh-TW.yml b/public/i18n/zh-TW.yml
index c367b70..78a0119 100644
--- a/public/i18n/zh-TW.yml
+++ b/public/i18n/zh-TW.yml
@@ -28,15 +28,15 @@ CURRENT_PICBED: 當前圖床
 # ---renderer i18n begin---
 
 CHOOSE_YOUR_DEFAULT_PICBED: 選擇 ${d} 作為你的預設圖床:
-UPLOAD_AREA: 上傳區
+UPLOAD_AREA: 上傳
 UPLOAD_VIEW_HINT: 點擊打開圖床設定
-MANAGE_PAGE: 管理頁面
+MANAGE_PAGE: 管理
 GALLERY: 相簿
 PICBEDS_SETTINGS: 圖床設定
 PICBEDS_MANAGE: 圖床管理
 PICLIST_SETTINGS: PicList設定
-PLUGIN_SETTINGS: 插件設定
-PICLIST_SPONSOR_TEXT: PicList是開放原始碼的軟體,如果你喜歡它,對你有幫助,不妨請我喝杯咖啡~
+PLUGIN_SETTINGS: 插件
+PICLIST_SPONSOR_TEXT: 如果你喜歡它,對你有幫助,不妨請我喝杯咖啡~
 ALIPAY: 支付寶
 WECHATPAY: 微信支付
 CHOOSE_PICBED: 選擇圖床
@@ -251,6 +251,200 @@ MANAGE_MAIN_PAGE_BUCKET: 存儲桶
 MANAGE_MAIN_PAGE_GALLERY: 圖庫
 MANAGE_MAIN_PAGE_REPOSITORY: 倉庫
 
+# manage constant
+MANAGE_CONSTANT_BASE_RULE: 請輸入
+MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A: 請輸入每頁顯示數量
+MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B: 每頁顯示數量必須為數字
+MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C: 每頁顯示數量必須在20-1000之間
+MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A: 請輸入別名,該配置的唯一標識
+MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B: 別名只能包含中文、英文、數字、下劃線和中劃線
+MANAGE_CONSTANT_ALIAS_TOOLTIP: 別名只能包含中文、英文、數字、下劃線和中劃線
+MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP: 每頁顯示數量必須在20-1000之間
+MANAGE_CONSTANT_PAGING_TOOLTIP: 關閉分頁時,目錄列表將使用數據庫緩存以優化性能
+MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP: 英文逗號分隔,如:bucket1,bucket2,bucket3,和起始目錄順序一一對應
+MANAGE_CONSTANT_BASE_DIR_TOOLTIP: '英文逗號分隔,如:/dir1,/dir2,/dir3, 和存儲桶順序一一對應'
+MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP: 開啟時,將自動獲取存儲桶綁定的域名,關閉時可手動填寫
+
+MANAGE_CONSTANT_SMMS_ALIAS_DESC: 配置別名-必需
+MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER: 該配置的唯一標識
+MANAGE_CONSTANT_SMMS_TOKEN_DESC: Token-必需
+MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER: 請填寫Token
+MANAGE_CONSTANT_SMMS_PAGING_DESC: 是否開啟分頁
+MANAGE_CONSTANT_SMMS_EXPLAIN: '大陸地區請訪問備用域名https://smms.app,請勿大批量上傳圖片,否則API接口會被限制'
+MANAGE_CONSTANT_SMMS_REFER_TEXT: '配置教程請參考:'
+
+MANAGE_CONSTANT_QINIU_NAME: 七牛雲
+MANAGE_CONSTANT_QINIU_ALIAS_DESC: 配置別名-必需
+MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER: 該配置的唯一標識
+MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC: accessKey-必需
+MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER: 請填寫 accessKey
+MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC: secretKey-必需
+MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER: 請填寫 secretKey
+MANAGE_CONSTANT_QINIU_BUCKET_DESC: 空間名-可選
+MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER: 英文逗號分隔,例如:bucket1,bucket2
+MANAGE_CONSTANT_QINIU_BASE_DIR_DESC: 起始目錄-可選
+MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER: 英文逗號分隔,例如:/dir1,/dir2
+MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC: 是否自動獲取綁定域名
+MANAGE_CONSTANT_QINIU_PAGING_DESC: 是否開啟分頁
+MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC: 每頁顯示數量
+MANAGE_CONSTANT_QINIU_EXPLAIN: 空間名和起始目錄配置時可通過英文逗號分隔設置,順序必須一致,逗號間留空或缺失項使用默認值
+MANAGE_CONSTANT_QINIU_REFER_TEXT: '配置教程請參考: '
+
+MANAGE_CONSTANT_GITHUB_ALIAS_DESC: 配置別名-必需
+MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER: 該配置的唯一標識
+MANAGE_CONSTANT_GITHUB_TOKEN_DESC: Token-必需
+MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER: 請填寫Token
+MANAGE_CONSTANT_GITHUB_TOKEN_TIPS: 請提供具有完整repo權限的token,否則部分功能可能無法使用
+MANAGE_CONSTANT_GITHUB_USER_DESC: 用戶名-必需
+MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER: 請填寫用戶名
+MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE: 用戶名
+MANAGE_CONSTANT_GITHUB_PROXY_DESC: 代理地址-可選
+MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER: '例如:http://127.0.0.1:1080'
+MANAGE_CONSTANT_GITHUB_PROXY_TIPS: 如果訪問速度較慢,可以嘗試配置代理
+MANAGE_CONSTANT_GITHUB_PAGING_DESC: 是否開啟分頁
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC: CDN加速域名-可選
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER: '支持使用{username}、{repo}、{branch}和{path}作為替換占位符,用於適配不同倉庫和分支'
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS: '例如: https://cdn.staticaly.com/gh/{username}/{repo}@{branch}/{path}'
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A: '加速域名請以http://或https://開頭'
+MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B: 加速域名中的大括號必須成對出現
+MANAGE_CONSTANT_GITHUB_EXPLAIN: API調用有每小時上限,此外不支持上傳超過100M的文件
+MANAGE_CONSTANT_GITHUB_REFER_TEXT: '配置教程請參考:'
+
+MANAGE_CONSTANT_ALIYUN_NAME: 阿里雲
+MANAGE_CONSTANT_ALIYUN_ALIAS_DESC: 配置別名-必需
+MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER: 該配置的唯一標識
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC: accessKeyId-必需
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_PLACEHOLDER: 請填寫accessKeyId
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC: accessKeySecret-必需
+MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER: 請填寫accessKeySecret
+MANAGE_CONSTANT_ALIYUN_BUCKET_DESC: 儲存桶名-可選
+MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER: 英文逗號分隔,例如:bucket1,bucket2
+MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC: 起始目錄-可選
+MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER: 英文逗號分隔,例如:/dir1,/dir2
+MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC: 是否自動獲取綁定域名
+MANAGE_CONSTANT_ALIYUN_PAGING_DESC: 是否開啟分頁
+MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC: 每頁顯示數量
+MANAGE_CONSTANT_ALIYUN_EXPLAIN: 儲存桶名和起始目錄配置時可通過英文逗號分隔不同儲存桶的設置,順序必須一致,逗號間留空或缺失項使用默認值
+MANAGE_CONSTANT_ALIYUN_REFER_TEXT: '配置教程請參考: '
+
+MANAGE_CONSTANT_TENCENT_NAME: 腾讯雲
+MANAGE_CONSTANT_TENCENT_ALIAS_DESC: 配置别名-必需
+MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER: 該配置的唯一標識
+MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC: secretId-必需
+MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER: 請填寫 secretId
+MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC: secretKey-必需
+MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER: 請填寫 secretKey
+MANAGE_CONSTANT_TENCENT_APPID_DESC: appId-必需
+MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER: 請填寫 appId
+MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP: '例如:1250000000'
+MANAGE_CONSTANT_TENCENT_BUCKET_DESC: 存儲桶名-可選(注意包含AppId)
+MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER: 英文逗號分隔,例如:bucket1-1250000000,bucket2-1250000000
+MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC: 起始目錄-可選
+MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER: 英文逗號分隔,例如:/dir1,/dir2
+MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC: 是否自動獲取綁定域名
+MANAGE_CONSTANT_TENCENT_PAGING_DESC: 是否開啟分頁
+MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC: 每頁顯示數量
+MANAGE_CONSTANT_TENCENT_EXPLAIN: 存儲桶名和起始目錄配置時可通過英文逗號分隔不同存儲桶的設置,順序必須一致,逗號間留空或缺失項使用默認值
+MANAGE_CONSTANT_TENCENT_REFER_TEXT: '配置教程請參考: '
+
+MANAGE_CONSTANT_UPYUN_NAME: 又拍雲
+MANAGE_CONSTANT_UPYUN_ALIAS_DESC: 配置別名-必需
+MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER: 該配置的唯一標識
+MANAGE_CONSTANT_UPYUN_BUCKET_DESC: 服務名-必需
+MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER: 對應其它對象存儲的存儲桶名
+MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC: 操作員名-必需
+MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER: 推薦使用具有讀取、寫入和刪除完整權限的操作員
+MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE: 操作員
+MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC: 操作員密碼-必需
+MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER: 請填寫密碼
+MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE: 操作員密碼
+MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC: 起始目錄-可選
+MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER: 讀取文件時的初始目錄
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC: 加速域名-必需
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER: '請以http://或https://開頭'
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A: 加速域名不能為空
+MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B: '自定義域名請以http://或https://開頭'
+MANAGE_CONSTANT_UPYUN_PAGING: 是否開啟分頁
+MANAGE_CONSTANT_UPYUN_ITEMS_PAGE: 每頁顯示數量
+MANAGE_CONSTANT_UPYUN_EXPLAIN: 又拍雲圖床必須填寫加速域名,否則無法正常使用
+MANAGE_CONSTANT_UPYUN_REFER_TEXT: '配置教程請參考: '
+
+MANAGE_CONSTANT_IMGUR_NAME: Imgur
+MANAGE_CONSTANT_IMGUR_ALIAS_DESC: 配置別名-必需
+MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER: 該配置的唯一標識
+MANAGE_CONSTANT_IMGUR_USERNAME_DESC: Imgur用戶名-必需
+MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER: 請填寫Imgur用戶名
+MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC: Access Token-必需
+MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER: 請填寫Access Token
+MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP: 不是client ID,請參考配置教程
+MANAGE_CONSTANT_IMGUR_PROXY_DESC: 代理-可選
+MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER: 例如:http://127.0.0.1:1080
+MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP: 大陸地區請使用代理,否則無法正常使用
+MANAGE_CONSTANT_IMGUR_EXPLAIN: 大陸地區請使用代理,API調用存在限制,請注意使用頻率
+MANAGE_CONSTANT_IMGUR_REFER_TEXT: '配置教程請參考:'
+
+MANAGE_CONSTANT_S3_NAME: S3兼容雲
+MANAGE_CONSTANT_S3_ALIAS_DESC: 配置別名-必需
+MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER: 該配置的唯一標識
+MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC: accessKeyId-必需
+MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER: 請填寫accessKeyId
+MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC: secretAccessKey-必需
+MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER: 請填寫secretAccessKey
+MANAGE_CONSTANT_S3_ENDPOINT_DESC: endpoint-可選
+MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER: '例如:s3.us-east-1.amazonaws.com'
+MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP: 如果不填寫,默認訪問 AWS S3,請提供根API endpoint
+MANAGE_CONSTANT_S3_SSLENABLED_DESC: 使用HTTPS連接
+MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP: 如果您的平臺不支持,請關閉該選項
+MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC: 啟用 S3 Path style
+MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP: 例如使用 minio 時需要啟用
+MANAGE_CONSTANT_S3_PROXY_DESC: 代理-可選
+MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER: '例如:http://127.0.0.1:1080'
+MANAGE_CONSTANT_S3_PROXY_TOOLTIP: 如果部分平臺大陸地區無法訪問,請使用代理
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC: 上傳文件的權限
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE: 私有
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ: 公共讀
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE: 公共讀寫
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ: 授權讀
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ: 桶所有者讀
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL: 桶所有者完全控制
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ: AWS執行讀
+MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP: '上傳文件的權限,可選值:private、public-read、public-read-write、authenticated-read、bucket-owner-read、bucket-owner-full-control、aws-exec-read'
+MANAGE_CONSTANT_S3_BUCKET_DESC: 存儲桶名-可選
+MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER: 英文逗號分隔,例如:bucket1,bucket2
+MANAGE_CONSTANT_S3_BASE_DIR_DESC: 起始目錄-可選
+MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER: '英文逗號分隔,例如:/dir1,/dir2'
+MANAGE_CONSTANT_S3_PAGING_DESC: 是否開啟分頁
+MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC: 每頁顯示數量
+MANAGE_CONSTANT_S3_EXPLAIN: 存儲桶名和起始目錄配置時可通過英文逗號分隔不同存儲桶的設置,順序必須一致,逗號間留空或缺失項使用默認值
+MANAGE_CONSTANT_S3_REFER_TEXT: '配置教程請參考:'
+
+MANAGE_CONSTANT_WEBDAV_NAME: WebDAV
+MANAGE_CONSTANT_WEBDAV_ALIAS_DESC: 配置別名-必需
+MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER: 該配置的唯一標識
+MANAGE_CONSTANT_WEBDAV_HOST_DESC: 地址-必需
+MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER: '例如:https://example.com/dav'
+MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP: 請填寫完整的WebDAV地址
+MANAGE_CONSTANT_WEBDAV_USERNAME_DESC: 使用者名稱-必需
+MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER: 請填寫使用者名稱
+MANAGE_CONSTANT_WEBDAV_BUCKET_DESC: 特殊配置
+MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER: '例如:bucket1'
+MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP: 此處不可修改,僅為軟體相容性考量
+MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC: 密碼-必需
+MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER: 請填寫密碼
+MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC: 起始目錄-可選
+MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER: '例如:/dir1'
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC: 自訂網域名稱-可選
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER: '例如:https://example.com'
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP: 如果您的WebDAV伺服器支援自訂網域名稱,請填寫
+MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE: '自訂網域名稱請以http://或https://開頭'
+MANAGE_CONSTANT_WEBDAV_PROXY_DESC: 代理-可選
+MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER: '例如:http://127.0.0.1:1080'
+MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP: 如果需要特殊網路環境才能訪問,請使用代理
+MANAGE_CONSTANT_WEBDAV_SSL_DESC: 使用HTTPS連線
+MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP: 根據WebDAV伺服器的配置,如果您的伺服器不支援HTTPS,請關閉該選項
+MANAGE_CONSTANT_WEBDAV_EXPLAIN: 'WebDAV配置'
+MANAGE_CONSTANT_WEBDAV_REFER_TEXT: '配置教程請參考: '
+
 # ---renderer i18n end---
 
 # plugins
diff --git a/src/renderer/manage/pages/manageMain.vue b/src/renderer/manage/pages/manageMain.vue
index 4731aa0..9e0048e 100644
--- a/src/renderer/manage/pages/manageMain.vue
+++ b/src/renderer/manage/pages/manageMain.vue
@@ -371,8 +371,8 @@ const createNewBucket = (picBedName: string) => {
   res.then((result: any) => {
     if (result) {
       ElNotification({
-        title: `${$T('MANAGE_MAIN_PAGE_TIPS')}`,
-        message: `${$T('MANAGE_MAIN_PAGE_TIPS_SUCCESS')}`,
+        title: $T('MANAGE_MAIN_PAGE_TIPS'),
+        message: $T('MANAGE_MAIN_PAGE_TIPS_SUCCESS'),
         type: 'success'
       })
       nweBucketDrawerVisible.value = false
@@ -381,8 +381,8 @@ const createNewBucket = (picBedName: string) => {
       }, 2000)
     } else {
       ElNotification({
-        title: `${$T('MANAGE_MAIN_PAGE_TIPS')}`,
-        message: `${$T('MANAGE_MAIN_PAGE_TIPS_FAILED')}`,
+        title: $T('MANAGE_MAIN_PAGE_TIPS'),
+        message: $T('MANAGE_MAIN_PAGE_TIPS_FAILED'),
         type: 'error'
       })
     }
@@ -437,15 +437,19 @@ const handleSelectMenu = (bucketName: string) => {
 
 const nweBucketDrawerVisible = ref(false)
 
+const bucketT = $T('MANAGE_MAIN_PAGE_BUCKET')
+const galleryT = $T('MANAGE_MAIN_PAGE_GALLERY')
+const repositoryT = $T('MANAGE_MAIN_PAGE_REPOSITORY')
+
 const menuTitleMap:IStringKeyMap = {
-  aliyun: `${$T('MANAGE_MAIN_PAGE_BUCKET')}`,
-  qiniu: `${$T('MANAGE_MAIN_PAGE_BUCKET')}`,
-  tcyun: `${$T('MANAGE_MAIN_PAGE_BUCKET')}`,
-  upyun: `${$T('MANAGE_MAIN_PAGE_BUCKET')}`,
-  s3plist: `${$T('MANAGE_MAIN_PAGE_BUCKET')}`,
-  smms: `${$T('MANAGE_MAIN_PAGE_GALLERY')}`,
-  imgur: `${$T('MANAGE_MAIN_PAGE_GALLERY')}`,
-  github: `${$T('MANAGE_MAIN_PAGE_REPOSITORY')}`,
+  aliyun: bucketT,
+  qiniu: bucketT,
+  tcyun: bucketT,
+  upyun: bucketT,
+  s3plist: bucketT,
+  smms: galleryT,
+  imgur: galleryT,
+  github: repositoryT,
   webdavplist: ''
 }
 
diff --git a/src/renderer/manage/utils/constants.ts b/src/renderer/manage/utils/constants.ts
index 4d8dd7e..4e56c7a 100644
--- a/src/renderer/manage/utils/constants.ts
+++ b/src/renderer/manage/utils/constants.ts
@@ -1,9 +1,10 @@
+import { T as $T } from '@/i18n'
 
 const defaultBaseRule = (name: string) => {
   return [
     {
       required: true,
-      message: `请输入${name}`,
+      message: `${$T('MANAGE_CONSTANT_BASE_RULE')}${name}`,
       trigger: 'blur'
     }
   ]
@@ -12,18 +13,18 @@ const defaultBaseRule = (name: string) => {
 const itemsPerPageRule = [
   {
     required: true,
-    message: '请输入每页显示数量',
+    message: $T('MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A'),
     trigger: 'blur'
   },
   {
     type: 'number',
-    message: '每页显示数量必须为数字',
+    message: $T('MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B'),
     trigger: 'change'
   },
   {
     validator: (rule: any, value: any, callback: any) => {
       if (value < 20 || value > 1000) {
-        callback(new Error('每页显示数量必须在20-1000之间'))
+        callback(new Error($T('MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C')))
       } else {
         callback()
       }
@@ -35,14 +36,14 @@ const itemsPerPageRule = [
 const aliasRule = [
   {
     required: true,
-    message: '请输入配置别名, 该配置的唯一标识',
+    message: $T('MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A'),
     trigger: 'blur'
   },
   {
     validator: (rule: any, value: any, callback: any) => {
       const reg = /^[\u4e00-\u9fa5_a-zA-Z0-9-]+$/
       if (!reg.test(value)) {
-        callback(new Error('配置别名只能包含中文、英文、数字、下划线和中划线'))
+        callback(new Error($T('MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B')))
       } else {
         callback()
       }
@@ -51,12 +52,12 @@ const aliasRule = [
   }
 ]
 
-const aliasTooltip = '配置别名只能包含中文、英文、数字、下划线和中划线'
-const itemsPerPageTooltip = '每页显示数量必须在20-1000之间'
-const pagingTooltip = '关闭分页时,目录列表将使用数据库缓存以优化性能'
-const bucketNameTooltip = '英文逗号分隔,如:bucket1,bucket2,bucket3,和起始目录顺序一一对应'
-const baseDirTooltip = '英文逗号分隔,如:/dir1,/dir2,/dir3,和存储桶顺序一一对应'
-const isAutoCustomUrlTooltip = '开启时,将自动获取存储桶绑定的域名,关闭时可手动填写域名'
+const aliasTooltip = $T('MANAGE_CONSTANT_ALIAS_TOOLTIP')
+const itemsPerPageTooltip = $T('MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP')
+const pagingTooltip = $T('MANAGE_CONSTANT_PAGING_TOOLTIP')
+const bucketNameTooltip = $T('MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP')
+const baseDirTooltip = $T('MANAGE_CONSTANT_BASE_DIR_TOOLTIP')
+const isAutoCustomUrlTooltip = $T('MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP')
 
 export const supportedPicBedList: IStringKeyMap = {
   smms: {
@@ -65,8 +66,8 @@ export const supportedPicBedList: IStringKeyMap = {
     configOptions: {
       alias: {
         required: true,
-        description: '配置别名-必需',
-        placeholder: '该配置的唯一标识',
+        description: $T('MANAGE_CONSTANT_SMMS_ALIAS_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER'),
         type: 'string',
         rule: aliasRule,
         default: 'smms-A',
@@ -74,32 +75,32 @@ export const supportedPicBedList: IStringKeyMap = {
       },
       token: {
         required: true,
-        description: 'token-必需',
-        placeholder: '请输入token',
+        description: $T('MANAGE_CONSTANT_SMMS_TOKEN_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('token')
       },
       paging: {
         required: true,
-        description: '是否分页',
+        description: $T('MANAGE_CONSTANT_SMMS_PAGING_DESC'),
         default: true,
         type: 'boolean',
         tooltip: pagingTooltip
       }
     },
-    explain: '大陆地区请访问备用域名https://smms.app, 请勿大批量上传图片,否则API接口会被限制',
+    explain: $T('MANAGE_CONSTANT_SMMS_EXPLAIN'),
     options: ['alias', 'token', 'paging'],
     refLink: 'https://pichoro.horosama.com/#/PicHoroDocs/configure?id=%e5%8f%82%e6%95%b0%e8%af%b4%e6%98%8e-6',
-    referenceText: '配置教程请参考:'
+    referenceText: $T('MANAGE_CONSTANT_SMMS_REFER_TEXT')
   },
   qiniu: {
-    name: '七牛云',
+    name: $T('MANAGE_CONSTANT_QINIU_NAME'),
     icon: 'qiniu',
     configOptions: {
       alias: {
         required: true,
-        description: '配置别名-必需',
-        placeholder: '该配置的唯一标识',
+        description: $T('MANAGE_CONSTANT_QINIU_ALIAS_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER'),
         type: 'string',
         rule: aliasRule,
         default: 'qiniu-A',
@@ -107,60 +108,60 @@ export const supportedPicBedList: IStringKeyMap = {
       },
       accessKey: {
         required: true,
-        description: 'accessKey-必需',
-        placeholder: '请输入accessKey',
+        description: $T('MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('accessKey')
       },
       secretKey: {
         required: true,
-        description: 'secretKey-必需',
-        placeholder: '请输入secretKey',
+        description: $T('MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('secretKey')
       },
       bucketName: {
         required: false,
-        description: '空间名-可选',
-        placeholder: '英文逗号分隔,例如:bucket1,bucket2',
+        description: $T('MANAGE_CONSTANT_QINIU_BUCKET_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER'),
         type: 'string',
         tooltip: bucketNameTooltip
       },
       baseDir: {
         required: false,
-        description: '起始目录-可选',
-        placeholder: '英文逗号分隔,例如:/test1,/test2',
+        description: $T('MANAGE_CONSTANT_QINIU_BASE_DIR_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER'),
         default: '/',
         type: 'string',
         tooltip: baseDirTooltip
       },
       isAutoCustomUrl: {
         required: true,
-        description: '是否自动获取绑定域名',
+        description: $T('MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC'),
         default: true,
         type: 'boolean',
         tooltip: isAutoCustomUrlTooltip
       },
       paging: {
         required: true,
-        description: '是否分页',
+        description: $T('MANAGE_CONSTANT_QINIU_PAGING_DESC'),
         default: true,
         type: 'boolean',
         tooltip: pagingTooltip
       },
       itemsPerPage: {
         required: true,
-        description: '每页显示数量',
+        description: $T('MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC'),
         default: 50,
         type: 'number',
         rule: itemsPerPageRule,
         tooltip: itemsPerPageTooltip
       }
     },
-    explain: '空间名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值',
+    explain: $T('MANAGE_CONSTANT_QINIU_EXPLAIN'),
     options: ['alias', 'accessKey', 'secretKey', 'bucketName', 'baseDir', 'isAutoCustomUrl', 'paging', 'itemsPerPage'],
     refLink: 'https://pichoro.horosama.com/#/PicHoroDocs/configure?id=%e5%8f%82%e6%95%b0%e8%af%b4%e6%98%8e-3',
-    referenceText: '配置教程请参考:'
+    referenceText: $T('MANAGE_CONSTANT_QINIU_REFER_TEXT')
   },
   github: {
     name: 'GitHub',
@@ -168,8 +169,8 @@ export const supportedPicBedList: IStringKeyMap = {
     configOptions: {
       alias: {
         required: true,
-        description: '配置别名-必需',
-        placeholder: '该配置的唯一标识',
+        description: $T('MANAGE_CONSTANT_GITHUB_ALIAS_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER'),
         type: 'string',
         rule: aliasRule,
         default: 'github-A',
@@ -177,39 +178,39 @@ export const supportedPicBedList: IStringKeyMap = {
       },
       token: {
         required: true,
-        description: 'token-必需',
-        placeholder: '请输入token',
+        description: $T('MANAGE_CONSTANT_GITHUB_TOKEN_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('token'),
-        tooltip: '请提供具有完整repo权限的token,否则部分功能可能无法使用'
+        tooltip: $T('MANAGE_CONSTANT_GITHUB_TOKEN_TIPS')
       },
       githubUsername: {
         required: true,
-        description: '用户名-必需',
-        placeholder: '请输入用户名',
+        description: $T('MANAGE_CONSTANT_GITHUB_USER_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER'),
         type: 'string',
-        rule: defaultBaseRule('用户名')
+        rule: defaultBaseRule($T('MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE'))
       },
       proxy: {
         required: false,
-        description: '代理-可选',
-        placeholder: '例如:http://127.0.0.1:1080',
+        description: $T('MANAGE_CONSTANT_GITHUB_PROXY_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER'),
         type: 'string',
-        tooltip: '如果您的网络环境需要使用代理才能访问GitHub,请在此处填写代理地址'
+        tooltip: $T('MANAGE_CONSTANT_GITHUB_PROXY_TIPS')
       },
       paging: {
         required: true,
-        description: '是否分页',
+        description: $T('MANAGE_CONSTANT_GITHUB_PAGING_DESC'),
         default: false,
         type: 'boolean',
         tooltip: pagingTooltip
       },
       customUrl: {
         required: false,
-        description: 'CDN加速域名-可选',
-        placeholder: '支持使用{username}、{repo}、{branch}和{path}作为替换占位符,用于适配不同仓库和分支',
+        description: $T('MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER'),
         type: 'string',
-        tooltip: '例如: https://cdn.staticaly.com/gh/{username}/{repo}@{branch}/{path}',
+        tooltip: $T('MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS'),
         rule: [
           {
             validator: (_rule: any, value: any, callback: any) => {
@@ -247,9 +248,9 @@ export const supportedPicBedList: IStringKeyMap = {
                   return true
                 })
                 if (!customUrlValid) {
-                  callback(new Error('加速域名请以http://或https://开头'))
+                  callback(new Error($T('MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A')))
                 } else if (!isBracketsValid) {
-                  callback(new Error('加速域名中的大括号必须成对出现'))
+                  callback(new Error($T('MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B')))
                 } else {
                   callback()
                 }
@@ -262,19 +263,19 @@ export const supportedPicBedList: IStringKeyMap = {
         ]
       }
     },
-    explain: 'API调用有每小时上限,此外不支持上传超过100M的文件',
+    explain: $T('MANAGE_CONSTANT_GITHUB_EXPLAIN'),
     options: ['alias', 'token', 'githubUsername', 'proxy', 'customUrl'],
     refLink: 'https://pichoro.horosama.com/#/PicHoroDocs/configure?id=%e5%8f%82%e6%95%b0%e8%af%b4%e6%98%8e-9',
-    referenceText: '配置教程请参考:'
+    referenceText: $T('MANAGE_CONSTANT_GITHUB_REFER_TEXT')
   },
   aliyun: {
-    name: '阿里云',
+    name: $T('MANAGE_CONSTANT_ALIYUN_NAME'),
     icon: 'aliyun',
     configOptions: {
       alias: {
         required: true,
-        description: '配置别名-必需',
-        placeholder: '该配置的唯一标识',
+        description: $T('MANAGE_CONSTANT_ALIYUN_ALIAS_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER'),
         type: 'string',
         rule: aliasRule,
         default: 'aliyun-A',
@@ -282,69 +283,69 @@ export const supportedPicBedList: IStringKeyMap = {
       },
       accessKeyId: {
         required: true,
-        description: 'accessKeyId-必需',
+        description: $T('MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC'),
         placeholder: '请输入accessKeyId',
         type: 'string',
         rule: defaultBaseRule('accessKeyId')
       },
       accessKeySecret: {
         required: true,
-        description: 'accessKeySecret-必需',
-        placeholder: '请输入accessKeySecret',
+        description: $T('MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('accessKeySecret')
       },
       bucketName: {
         required: false,
-        description: '存储桶名-可选',
-        placeholder: '英文逗号分隔,例如:bucket1,bucket2',
+        description: $T('MANAGE_CONSTANT_ALIYUN_BUCKET_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER'),
         type: 'string',
         tooltip: bucketNameTooltip
       },
       baseDir: {
         required: false,
-        description: '起始目录-可选',
-        placeholder: '英文逗号分隔,例如:/test1,/test2',
+        description: $T('MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER'),
         type: 'string',
         default: '/',
         tooltip: baseDirTooltip
       },
       isAutoCustomUrl: {
         required: true,
-        description: '是否自动获取绑定域名',
+        description: $T('MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC'),
         default: true,
         type: 'boolean',
         tooltip: isAutoCustomUrlTooltip
       },
       paging: {
         required: true,
-        description: '是否分页',
+        description: $T('MANAGE_CONSTANT_ALIYUN_PAGING_DESC'),
         default: true,
         type: 'boolean',
         tooltip: pagingTooltip
       },
       itemsPerPage: {
         required: true,
-        description: '每页显示数量',
+        description: $T('MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC'),
         default: 50,
         type: 'number',
         rule: itemsPerPageRule,
         tooltip: itemsPerPageTooltip
       }
     },
-    explain: '存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值',
+    explain: $T('MANAGE_CONSTANT_ALIYUN_EXPLAIN'),
     options: ['alias', 'accessKeyId', 'accessKeySecret', 'bucketName', 'baseDir', 'isAutoCustomUrl', 'paging', 'itemsPerPage'],
     refLink: 'https://pichoro.horosama.com/#/PicHoroDocs/configure?id=%e5%8f%82%e6%95%b0%e8%af%b4%e6%98%8e-1',
-    referenceText: '配置教程请参考:'
+    referenceText: $T('MANAGE_CONSTANT_ALIYUN_REFER_TEXT')
   },
   tcyun: {
-    name: '腾讯云',
+    name: $T('MANAGE_CONSTANT_TENCENT_NAME'),
     icon: 'tcyun',
     configOptions: {
       alias: {
         required: true,
-        description: '配置别名-必需',
-        placeholder: '该配置的唯一标识',
+        description: $T('MANAGE_CONSTANT_TENCENT_ALIAS_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER'),
         type: 'string',
         rule: aliasRule,
         default: 'tcyun-A',
@@ -352,77 +353,77 @@ export const supportedPicBedList: IStringKeyMap = {
       },
       secretId: {
         required: true,
-        description: 'secretId-必需',
-        placeholder: '请输入secretId',
+        description: $T('MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('secretId')
       },
       secretKey: {
         required: true,
-        description: 'secretKey-必需',
-        placeholder: '请输入secretKey',
+        description: $T('MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('secretKey')
       },
       appId: {
         required: true,
-        description: 'appId-必需',
-        placeholder: '请输入appId',
+        description: $T('MANAGE_CONSTANT_TENCENT_APPID_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('appId'),
-        tooltip: '例如:1250000000'
+        tooltip: $T('MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP')
       },
       bucketName: {
         required: false,
-        description: '存储桶名-可选(注意包含AppId)',
-        placeholder: '英文逗号分隔,例如:bucket1-1250000000,bucket2-1250000000',
+        description: $T('MANAGE_CONSTANT_TENCENT_BUCKET_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER'),
         type: 'string',
         tooltip: bucketNameTooltip
       },
       baseDir: {
         required: false,
-        description: '起始目录-可选',
-        placeholder: '英文逗号分隔,例如:/test1,/test2',
+        description: $T('MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER'),
         type: 'string',
         default: '/',
         tooltip: baseDirTooltip
       },
       isAutoCustomUrl: {
         required: true,
-        description: '是否自动获取绑定域名',
+        description: $T('MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC'),
         default: true,
         type: 'boolean',
         tooltip: isAutoCustomUrlTooltip
       },
       paging: {
         required: true,
-        description: '是否分页',
+        description: $T('MANAGE_CONSTANT_TENCENT_PAGING_DESC'),
         default: true,
         type: 'boolean',
         tooltip: pagingTooltip
       },
       itemsPerPage: {
         required: true,
-        description: '每页显示数量',
+        description: $T('MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC'),
         default: 50,
         type: 'number',
         rule: itemsPerPageRule,
         tooltip: itemsPerPageTooltip
       }
     },
-    explain: '存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值',
+    explain: $T('MANAGE_CONSTANT_TENCENT_EXPLAIN'),
     options: ['alias', 'secretId', 'secretKey', 'appId', 'bucketName', 'baseDir', 'isAutoCustomUrl', 'paging', 'itemsPerPage'],
     refLink: 'https://pichoro.horosama.com/#/PicHoroDocs/configure?id=%e5%8f%82%e6%95%b0%e8%af%b4%e6%98%8e-2',
-    referenceText: '配置教程请参考:'
+    referenceText: $T('MANAGE_CONSTANT_TENCENT_REFER_TEXT')
   },
   upyun: {
-    name: '又拍云',
+    name: $T('MANAGE_CONSTANT_UPYUN_NAME'),
     icon: 'upyun',
     configOptions: {
       alias: {
         required: true,
-        description: '配置别名-必需',
-        placeholder: '该配置的唯一标识',
+        description: $T('MANAGE_CONSTANT_UPYUN_ALIAS_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER'),
         type: 'string',
         rule: aliasRule,
         default: 'upyun-A',
@@ -430,41 +431,41 @@ export const supportedPicBedList: IStringKeyMap = {
       },
       bucketName: {
         required: true,
-        description: '服务名-必需',
-        placeholder: '对应其它对象存储的存储桶名',
+        description: $T('MANAGE_CONSTANT_UPYUN_BUCKET_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('bucketName')
       },
       operator: {
         required: true,
-        description: '操作员-必需',
-        placeholder: '推荐使用具有读取、写入和删除完整权限的操作员',
+        description: $T('MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER'),
         type: 'string',
-        rule: defaultBaseRule('操作员')
+        rule: defaultBaseRule($T('MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE'))
       },
       password: {
         required: true,
-        description: '操作员密码-必需',
-        placeholder: '请输入密码',
+        description: $T('MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER'),
         type: 'string',
-        rule: defaultBaseRule('操作员密码')
+        rule: defaultBaseRule($T('MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE'))
       },
       baseDir: {
         required: false,
-        description: '起始目录-可选',
-        placeholder: '读取文件时的初始目录',
+        description: $T('MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER'),
         type: 'string',
         default: '/'
       },
       customUrl: {
         required: true,
-        description: '加速域名-必需',
-        placeholder: '请以http://或https://开头',
+        description: $T('MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER'),
         type: 'string',
         rule: [
           {
             required: true,
-            message: '加速域名不能为空',
+            message: $T('MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A'),
             trigger: 'change'
           },
           {
@@ -481,7 +482,7 @@ export const supportedPicBedList: IStringKeyMap = {
                   return true
                 })
                 if (!customUrlValid) {
-                  callback(new Error('自定义域名请以http://或https://开头'))
+                  callback(new Error($T('MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B')))
                 } else {
                   callback()
                 }
@@ -495,73 +496,73 @@ export const supportedPicBedList: IStringKeyMap = {
       },
       paging: {
         required: true,
-        description: '是否分页',
+        description: $T('MANAGE_CONSTANT_UPYUN_PAGING'),
         default: true,
         type: 'boolean',
         tooltip: pagingTooltip
       },
       itemsPerPage: {
         required: true,
-        description: '每页显示数量',
+        description: $T('MANAGE_CONSTANT_UPYUN_ITEMS_PAGE'),
         default: 50,
         type: 'number',
         rule: itemsPerPageRule,
         tooltip: itemsPerPageTooltip
       }
     },
-    explain: '又拍云图床务必填写加速域名,否则无法正常使用',
+    explain: $T('MANAGE_CONSTANT_UPYUN_EXPLAIN'),
     options: ['alias', 'bucketName', 'operator', 'password', 'baseDir', 'customUrl', 'paging', 'itemsPerPage'],
     refLink: 'https://pichoro.horosama.com/#/PicHoroDocs/configure?id=%e5%8f%82%e6%95%b0%e8%af%b4%e6%98%8e-4',
-    referenceText: '配置教程请参考:'
+    referenceText: $T('MANAGE_CONSTANT_UPYUN_REFER_TEXT')
   },
   imgur: {
-    name: 'Imgur',
+    name: $T('MANAGE_CONSTANT_IMGUR_NAME'),
     icon: 'imgur',
     configOptions: {
       alias: {
         required: true,
-        description: '配置别名-必需',
-        placeholder: '该配置的唯一标识',
+        description: $T('MANAGE_CONSTANT_IMGUR_ALIAS_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER'),
         type: 'string',
         rule: aliasRule,
         default: 'imgur-A'
       },
       imgurUserName: {
         required: true,
-        description: 'imgur用户名-必需',
-        placeholder: '请输入imgur用户名',
+        description: $T('MANAGE_CONSTANT_IMGUR_USERNAME_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('imgurUserName')
       },
       accessToken: {
         required: true,
-        description: 'accessToken-必需',
-        placeholder: '请输入accessToken',
+        description: $T('MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('accessToken'),
-        tooltip: '不是clientID,请参考配置教程'
+        tooltip: $T('MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP')
       },
       proxy: {
         required: false,
-        description: '代理-可选',
-        placeholder: '例如:http://127.0.0.1:1080',
+        description: $T('MANAGE_CONSTANT_IMGUR_PROXY_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER'),
         type: 'string',
-        tooltip: '大陆地区请使用代理,否则无法正常使用'
+        tooltip: $T('MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP')
       }
     },
-    explain: '大陆地区请使用代理,API调用存在限制,请注意使用频率',
+    explain: $T('MANAGE_CONSTANT_IMGUR_EXPLAIN'),
     options: ['alias', 'imgurUserName', 'accessToken', 'proxy'],
     refLink: 'https://pichoro.horosama.com/#/PicHoroDocs/configure?id=imgur%e5%9b%be%e5%ba%8a-1',
-    referenceText: '配置教程请参考:'
+    referenceText: $T('MANAGE_CONSTANT_IMGUR_REFER_TEXT')
   },
   s3plist: {
-    name: 'S3兼容云',
+    name: $T('MANAGE_CONSTANT_S3_NAME'),
     icon: 's3plist',
     configOptions: {
       alias: {
         required: true,
-        description: '配置别名-必需',
-        placeholder: '该配置的唯一标识',
+        description: $T('MANAGE_CONSTANT_S3_ALIAS_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER'),
         type: 'string',
         rule: aliasRule,
         default: 's3plist-A',
@@ -569,98 +570,98 @@ export const supportedPicBedList: IStringKeyMap = {
       },
       accessKeyId: {
         required: true,
-        description: 'accessKeyId-必需',
-        placeholder: '请输入accessKeyId',
+        description: $T('MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('accessKeyId')
       },
       secretAccessKey: {
         required: true,
-        description: 'secretAccessKey-必需',
-        placeholder: '请输入secretAccessKey',
+        description: $T('MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('secretAccessKey')
       },
       endpoint: {
         required: false,
-        description: 'endpoint-可选',
-        placeholder: '例如:s3.us-east-1.amazonaws.com',
+        description: $T('MANAGE_CONSTANT_S3_ENDPOINT_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER'),
         type: 'string',
-        tooltip: '如果不填写,默认访问 AWS S3,请提供根API endpoint'
+        tooltip: $T('MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP')
       },
       sslEnabled: {
         required: true,
-        description: '使用HTTPS连接',
+        description: $T('MANAGE_CONSTANT_S3_SSLENABLED_DESC'),
         default: true,
         type: 'boolean',
-        tooltip: '大部分平台都支持HTTPS连接,如果您的平台不支持,请关闭该选项'
+        tooltip: $T('MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP')
       },
       s3ForcePathStyle: {
         required: true,
-        description: '启用 S3 Path style',
+        description: $T('MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC'),
         default: false,
         type: 'boolean',
-        tooltip: '例如使用 minio 时需要启用'
+        tooltip: $T('MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP')
       },
       proxy: {
         required: false,
-        description: '代理-可选',
-        placeholder: '例如:http://127.0.0.1:1080',
+        description: $T('MANAGE_CONSTANT_S3_PROXY_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER'),
         type: 'string',
-        tooltip: '如果部分平台大陆地区无法访问,请使用代理'
+        tooltip: $T('MANAGE_CONSTANT_S3_PROXY_TOOLTIP')
       },
       aclForUpload: {
         required: true,
-        description: '上传文件的权限',
+        description: $T('MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC'),
         rule: defaultBaseRule('aclForUpload'),
         default: 'public-read',
         type: 'select',
         selectOptions: {
-          private: '私有',
-          'public-read': '公共读',
-          'public-read-write': '公共读写',
-          'authenticated-read': '授权读',
-          'bucket-owner-read': '桶所有者读',
-          'bucket-owner-full-control': '桶所有者完全控制',
-          'aws-exec-read': 'aws执行读'
+          private: $T('MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE'),
+          'public-read': $T('MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ'),
+          'public-read-write': $T('MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE'),
+          'authenticated-read': $T('MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ'),
+          'bucket-owner-read': $T('MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ'),
+          'bucket-owner-full-control': $T('MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL'),
+          'aws-exec-read': $T('MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ')
         },
-        tooltip: '上传文件的权限,可选值:private、public-read、public-read-write、authenticated-read、bucket-owner-read、bucket-owner-full-control、aws-exec-read'
+        tooltip: $T('MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP')
       },
       bucketName: {
         required: false,
-        description: '存储桶名-可选',
-        placeholder: '英文逗号分隔,例如:bucket1,bucket2',
+        description: $T('MANAGE_CONSTANT_S3_BUCKET_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER'),
         type: 'string',
         tooltip: bucketNameTooltip
       },
       baseDir: {
         required: false,
-        description: '起始目录-可选',
-        placeholder: '英文逗号分隔,例如:/test1,/test2',
+        description: $T('MANAGE_CONSTANT_S3_BASE_DIR_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER'),
         type: 'string',
         default: '/',
         tooltip: baseDirTooltip
       },
       paging: {
         required: true,
-        description: '是否分页',
+        description: $T('MANAGE_CONSTANT_S3_PAGING_DESC'),
         default: true,
         type: 'boolean',
         tooltip: pagingTooltip
       },
       itemsPerPage: {
         required: true,
-        description: '每页显示数量',
+        description: $T('MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC'),
         default: 50,
         type: 'number',
         rule: itemsPerPageRule,
         tooltip: itemsPerPageTooltip
       }
     },
-    explain: '存储桶名和起始目录配置时可通过英文逗号分隔不同存储桶的设置,顺序必须一致,逗号间留空或缺失项使用默认值',
+    explain: $T('MANAGE_CONSTANT_S3_EXPLAIN'),
     options: ['alias', 'accessKeyId', 'secretAccessKey', 'endpoint', 'sslEnabled', 's3ForcePathStyle', 'proxy', 'aclForUpload', 'bucketName', 'baseDir', 'paging', 'itemsPerPage'],
     refLink: 'https://github.com/wayjam/picgo-plugin-s3',
-    referenceText: '配置教程请参考:'
+    referenceText: $T('MANAGE_CONSTANT_S3_REFER_TEXT')
   },
   webdavplist: {
     name: 'WebDAV',
@@ -668,8 +669,8 @@ export const supportedPicBedList: IStringKeyMap = {
     configOptions: {
       alias: {
         required: true,
-        description: '配置别名-必需',
-        placeholder: '该配置的唯一标识',
+        description: $T('MANAGE_CONSTANT_WEBDAV_ALIAS_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER'),
         type: 'string',
         rule: aliasRule,
         default: 'webdavplist-A',
@@ -677,55 +678,55 @@ export const supportedPicBedList: IStringKeyMap = {
       },
       endpoint: {
         required: true,
-        description: '地址-必需',
-        placeholder: '例如:https://example.com/dav',
+        description: $T('MANAGE_CONSTANT_WEBDAV_HOST_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('rootDomain'),
-        tooltip: '请填写完整的WebDAV地址,例如:https://example.com/dav'
+        tooltip: $T('MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP')
       },
       username: {
         required: true,
-        description: '用户名-必需',
-        placeholder: '请输入用户名',
+        description: $T('MANAGE_CONSTANT_WEBDAV_USERNAME_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('username')
       },
       bucketName: {
         required: true,
-        description: '特殊配置',
-        placeholder: '例如:bucket1',
+        description: $T('MANAGE_CONSTANT_WEBDAV_BUCKET_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER'),
         type: 'string',
         default: 'webdav',
         disabled: true,
-        tooltip: '此处不可修改,仅为软件兼容性考虑'
+        tooltip: $T('MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP')
       },
       password: {
         required: true,
-        description: '密码-必需',
-        placeholder: '请输入密码',
+        description: $T('MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER'),
         type: 'string',
         rule: defaultBaseRule('password')
       },
       baseDir: {
         required: false,
-        description: '起始目录-可选',
-        placeholder: '例如:/test1',
+        description: $T('MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER'),
         type: 'string',
         default: '/',
         tooltip: baseDirTooltip
       },
       customUrl: {
         required: false,
-        description: '自定义域名-可选',
-        placeholder: '例如:https://example.com',
+        description: $T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER'),
         type: 'string',
-        tooltip: '如果您的WebDAV服务器支持自定义域名,请填写完整的自定义域名,例如:https://example.com',
+        tooltip: $T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP'),
         rule: [
           {
             validator: (rule: any, value: any, callback: any) => {
               if (value) {
                 if (!/^https?:\/\/.+/.test(value)) {
-                  callback(new Error('自定义域名请以http://或https://开头'))
+                  callback(new Error($T('MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE')))
                 } else {
                   callback()
                 }
@@ -739,22 +740,22 @@ export const supportedPicBedList: IStringKeyMap = {
       },
       proxy: {
         required: false,
-        description: '代理-可选',
-        placeholder: '例如:http://127.0.0.1:1080',
+        description: $T('MANAGE_CONSTANT_WEBDAV_PROXY_DESC'),
+        placeholder: $T('MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER'),
         type: 'string',
-        tooltip: '如果需要特殊网络环境才能访问,请使用代理'
+        tooltip: $T('MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP')
       },
       sslEnabled: {
         required: true,
-        description: '使用HTTPS连接',
+        description: $T('MANAGE_CONSTANT_WEBDAV_SSL_DESC'),
         default: true,
         type: 'boolean',
-        tooltip: '根据WebDAV服务器的配置,如果您的服务器不支持HTTPS,请关闭该选项'
+        tooltip: $T('MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP')
       }
     },
-    explain: 'WebDAV配置',
+    explain: $T('MANAGE_CONSTANT_WEBDAV_EXPLAIN'),
     options: ['alias', 'endpoint', 'username', 'password', 'bucketName', 'baseDir', 'customUrl', 'proxy', 'sslEnabled'],
     refLink: 'https://pichoro.horosama.com/#/PicHoroDocs/configure?id=webdav',
-    referenceText: '配置教程请参考:'
+    referenceText: $T('MANAGE_CONSTANT_WEBDAV_REFER_TEXT')
   }
 }
diff --git a/src/renderer/pages/picbeds/index.vue b/src/renderer/pages/picbeds/index.vue
index 726c7e9..8fab36c 100644
--- a/src/renderer/pages/picbeds/index.vue
+++ b/src/renderer/pages/picbeds/index.vue
@@ -90,30 +90,30 @@ const handleConfirm = async () => {
   }
 }
 
-const linkToLogInList = ['GitHub', '腾讯云COS', '阿里云OSS', 'SM.MS', '七牛云', 'Imgur', '又拍云', 'githubPlus']
+const linkToLogInList = ['github', 'tcyun', 'aliyun', 'smms', 'qiniu', 'imgur', 'upyun', 'githubPlus']
 
 function handelNameClick () {
-  switch (picBedName.value) {
-    case 'GitHub':
+  switch ($route.params.type) {
+    case 'github':
     case 'githubPlus':
       sendToMain(OPEN_URL, 'https://github.com')
       break
-    case '腾讯云COS':
+    case 'tcyun':
       sendToMain(OPEN_URL, 'https://cloud.tencent.com/login')
       break
-    case '阿里云OSS':
+    case 'aliyun':
       sendToMain(OPEN_URL, 'https://account.aliyun.com/login/login.htm')
       break
-    case 'SM.MS':
+    case 'smms':
       sendToMain(OPEN_URL, 'https://smms.app')
       break
-    case '七牛云':
+    case 'qiniu':
       sendToMain(OPEN_URL, 'https://portal.qiniu.com')
       break
-    case 'Imgur':
+    case 'imgur':
       sendToMain(OPEN_URL, 'https://imgur.com')
       break
-    case '又拍云':
+    case 'upyun':
       sendToMain(OPEN_URL, 'https://console.upyun.com')
       break
     default:
diff --git a/src/universal/types/i18n.d.ts b/src/universal/types/i18n.d.ts
index 609f988..c3de35d 100644
--- a/src/universal/types/i18n.d.ts
+++ b/src/universal/types/i18n.d.ts
@@ -221,6 +221,189 @@ interface ILocales {
   MANAGE_MAIN_PAGE_BUCKET: string
   MANAGE_MAIN_PAGE_GALLERY: string
   MANAGE_MAIN_PAGE_REPOSITORY: string
+  MANAGE_CONSTANT_BASE_RULE: string
+  MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_A: string
+  MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_B: string
+  MANAGE_CONSTANT_ITEMS_PAGE_RULE_MESSAGE_C: string
+  MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_A: string
+  MANAGE_CONSTANT_ALIAS_RULE_MESSAGE_B: string
+  MANAGE_CONSTANT_ALIAS_TOOLTIP: string
+  MANAGE_CONSTANT_ITEMS_PAGE_TOOLTIP: string
+  MANAGE_CONSTANT_PAGING_TOOLTIP: string
+  MANAGE_CONSTANT_BUCKET_NAME_TOOLTIP: string
+  MANAGE_CONSTANT_BASE_DIR_TOOLTIP: string
+  MANAGE_CONSTANT_IS_AUTO_CUSTOM_URL_TOOLTIP: string
+  MANAGE_CONSTANT_SMMS_ALIAS_DESC: string
+  MANAGE_CONSTANT_SMMS_ALIAS_PLACEHOLDER: string
+  MANAGE_CONSTANT_SMMS_TOKEN_DESC: string
+  MANAGE_CONSTANT_SMMS_TOKEN_PLACEHOLDER: string
+  MANAGE_CONSTANT_SMMS_PAGING_DESC: string
+  MANAGE_CONSTANT_SMMS_EXPLAIN: string
+  MANAGE_CONSTANT_SMMS_REFER_TEXT: string
+  MANAGE_CONSTANT_QINIU_NAME: string
+  MANAGE_CONSTANT_QINIU_ALIAS_DESC: string
+  MANAGE_CONSTANT_QINIU_ALIAS_PLACEHOLDER: string
+  MANAGE_CONSTANT_QINIU_ACCESS_KEY_DESC: string
+  MANAGE_CONSTANT_QINIU_ACCESS_KEY_PLACEHOLDER: string
+  MANAGE_CONSTANT_QINIU_SECRET_KEY_DESC: string
+  MANAGE_CONSTANT_QINIU_SECRET_KEY_PLACEHOLDER: string
+  MANAGE_CONSTANT_QINIU_BUCKET_DESC: string
+  MANAGE_CONSTANT_QINIU_BUCKET_PLACEHOLDER: string
+  MANAGE_CONSTANT_QINIU_BASE_DIR_DESC: string
+  MANAGE_CONSTANT_QINIU_BASE_DIR_PLACEHOLDER: string
+  MANAGE_CONSTANT_QINIU_IS_AUTO_CUSTOM_URL_DESC: string
+  MANAGE_CONSTANT_QINIU_PAGING_DESC: string
+  MANAGE_CONSTANT_QINIU_ITEMS_PAGE_DESC: string
+  MANAGE_CONSTANT_QINIU_EXPLAIN: string
+  MANAGE_CONSTANT_QINIU_REFER_TEXT: string
+  MANAGE_CONSTANT_GITHUB_ALIAS_DESC: string
+  MANAGE_CONSTANT_GITHUB_ALIAS_PLACEHOLDER: string
+  MANAGE_CONSTANT_GITHUB_TOKEN_DESC: string
+  MANAGE_CONSTANT_GITHUB_TOKEN_PLACEHOLDER: string
+  MANAGE_CONSTANT_GITHUB_TOKEN_TIPS: string
+  MANAGE_CONSTANT_GITHUB_USER_DESC: string
+  MANAGE_CONSTANT_GITHUB_USER_PLACEHOLDER: string
+  MANAGE_CONSTANT_GITHUB_USER_RULE_MESSAGE: string
+  MANAGE_CONSTANT_GITHUB_PROXY_DESC: string
+  MANAGE_CONSTANT_GITHUB_PROXY_PLACEHOLDER: string
+  MANAGE_CONSTANT_GITHUB_PROXY_TIPS: string
+  MANAGE_CONSTANT_GITHUB_PAGING_DESC: string
+  MANAGE_CONSTANT_GITHUB_CUSTOM_URL_DESC: string
+  MANAGE_CONSTANT_GITHUB_CUSTOM_URL_PLACEHOLDER: string
+  MANAGE_CONSTANT_GITHUB_CUSTOM_URL_TIPS: string
+  MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_A: string
+  MANAGE_CONSTANT_GITHUB_CUSTOM_URL_RULE_MESSAGE_B: string
+  MANAGE_CONSTANT_GITHUB_EXPLAIN: string
+  MANAGE_CONSTANT_GITHUB_REFER_TEXT: string
+  MANAGE_CONSTANT_ALIYUN_NAME: string
+  MANAGE_CONSTANT_ALIYUN_ALIAS_DESC: string
+  MANAGE_CONSTANT_ALIYUN_ALIAS_PLACEHOLDER: string
+  MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_DESC: string
+  MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_ID_PLACEHOLDER: string
+  MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_DESC: string
+  MANAGE_CONSTANT_ALIYUN_ACCESS_KEY_SECRET_PLACEHOLDER: string
+  MANAGE_CONSTANT_ALIYUN_BUCKET_DESC: string
+  MANAGE_CONSTANT_ALIYUN_BUCKET_PLACEHOLDER: string
+  MANAGE_CONSTANT_ALIYUN_BASE_DIR_DESC: string
+  MANAGE_CONSTANT_ALIYUN_BASE_DIR_PLACEHOLDER: string
+  MANAGE_CONSTANT_ALIYUN_IS_AUTO_CUSTOM_URL_DESC: string
+  MANAGE_CONSTANT_ALIYUN_PAGING_DESC: string
+  MANAGE_CONSTANT_ALIYUN_ITEMS_PAGE_DESC: string
+  MANAGE_CONSTANT_ALIYUN_EXPLAIN: string
+  MANAGE_CONSTANT_ALIYUN_REFER_TEXT: string
+  MANAGE_CONSTANT_TENCENT_NAME: string
+  MANAGE_CONSTANT_TENCENT_ALIAS_DESC: string
+  MANAGE_CONSTANT_TENCENT_ALIAS_PLACEHOLDER: string
+  MANAGE_CONSTANT_TENCENT_SECRET_ID_DESC: string
+  MANAGE_CONSTANT_TENCENT_SECRET_ID_PLACEHOLDER: string
+  MANAGE_CONSTANT_TENCENT_SECRET_KEY_DESC: string
+  MANAGE_CONSTANT_TENCENT_SECRET_KEY_PLACEHOLDER: string
+  MANAGE_CONSTANT_TENCENT_APPID_DESC: string
+  MANAGE_CONSTANT_TENCENT_APPID_PLACEHOLDER: string
+  MANAGE_CONSTANT_TENCENT_APPID_TOOLTIP: string
+  MANAGE_CONSTANT_TENCENT_BUCKET_DESC: string
+  MANAGE_CONSTANT_TENCENT_BUCKET_PLACEHOLDER: string
+  MANAGE_CONSTANT_TENCENT_BASE_DIR_DESC: string
+  MANAGE_CONSTANT_TENCENT_BASE_DIR_PLACEHOLDER: string
+  MANAGE_CONSTANT_TENCENT_IS_AUTO_CUSTOM_URL_DESC: string
+  MANAGE_CONSTANT_TENCENT_PAGING_DESC: string
+  MANAGE_CONSTANT_TENCENT_ITEMS_PAGE_DESC: string
+  MANAGE_CONSTANT_TENCENT_EXPLAIN: string
+  MANAGE_CONSTANT_TENCENT_REFER_TEXT: string
+  MANAGE_CONSTANT_UPYUN_NAME: string
+  MANAGE_CONSTANT_UPYUN_ALIAS_DESC: string
+  MANAGE_CONSTANT_UPYUN_ALIAS_PLACEHOLDER: string
+  MANAGE_CONSTANT_UPYUN_BUCKET_DESC: string
+  MANAGE_CONSTANT_UPYUN_BUCKET_PLACEHOLDER: string
+  MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_DESC: string
+  MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_PLACEHOLDER: string
+  MANAGE_CONSTANT_UPYUN_OPERATOR_NAME_RULE: string
+  MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_DESC: string
+  MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_PLACEHOLDER: string
+  MANAGE_CONSTANT_UPYUN_OPERATOR_PWD_RULE: string
+  MANAGE_CONSTANT_UPYUN_BASE_DIR_DESC: string
+  MANAGE_CONSTANT_UPYUN_BASE_DIR_PLACEHOLDER: string
+  MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_DESC: string
+  MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_PLACEHOLDER: string
+  MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_A: string
+  MANAGE_CONSTANT_UPYUN_IS_AUTO_CUSTOM_URL_RULE_MESSAGE_B: string
+  MANAGE_CONSTANT_UPYUN_PAGING: string
+  MANAGE_CONSTANT_UPYUN_ITEMS_PAGE: string
+  MANAGE_CONSTANT_UPYUN_EXPLAIN: string
+  MANAGE_CONSTANT_UPYUN_REFER_TEXT: string
+  MANAGE_CONSTANT_IMGUR_NAME: string
+  MANAGE_CONSTANT_IMGUR_ALIAS_DESC: string
+  MANAGE_CONSTANT_IMGUR_ALIAS_PLACEHOLDER: string
+  MANAGE_CONSTANT_IMGUR_USERNAME_DESC: string
+  MANAGE_CONSTANT_IMGUR_USERNAME_PLACEHOLDER: string
+  MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_DESC: string
+  MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_PLACEHOLDER: string
+  MANAGE_CONSTANT_IMGUR_ACCESS_TOKEN_TOOLTIP: string
+  MANAGE_CONSTANT_IMGUR_PROXY_DESC: string
+  MANAGE_CONSTANT_IMGUR_PROXY_PLACEHOLDER: string
+  MANAGE_CONSTANT_IMGUR_PROXY_TOOLTIP: string
+  MANAGE_CONSTANT_IMGUR_EXPLAIN: string
+  MANAGE_CONSTANT_IMGUR_REFER_TEXT: string
+  MANAGE_CONSTANT_S3_NAME: string
+  MANAGE_CONSTANT_S3_ALIAS_DESC: string
+  MANAGE_CONSTANT_S3_ALIAS_PLACEHOLDER: string
+  MANAGE_CONSTANT_S3_ACCESS_KEY_ID_DESC: string
+  MANAGE_CONSTANT_S3_ACCESS_KEY_ID_PLACEHOLDER: string
+  MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_DESC: string
+  MANAGE_CONSTANT_S3_SECRET_ACCESS_KEY_PLACEHOLDER: string
+  MANAGE_CONSTANT_S3_ENDPOINT_DESC: string
+  MANAGE_CONSTANT_S3_ENDPOINT_PLACEHOLDER: string
+  MANAGE_CONSTANT_S3_ENDPOINT_TOOLTIP: string
+  MANAGE_CONSTANT_S3_SSLENABLED_DESC: string
+  MANAGE_CONSTANT_S3_SSLENABLED_TOOLTIP: string
+  MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_DESC: string
+  MANAGE_CONSTANT_S3_FORCE_PATH_STYLE_TOOLTIP: string
+  MANAGE_CONSTANT_S3_PROXY_DESC: string
+  MANAGE_CONSTANT_S3_PROXY_PLACEHOLDER: string
+  MANAGE_CONSTANT_S3_PROXY_TOOLTIP: string
+  MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_DESC: string
+  MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PRIVATE: string
+  MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ: string
+  MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_PUBLIC_READ_WRITE: string
+  MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AUTHENTICATED_READ: string
+  MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_READ: string
+  MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_BUCKET_OWNER_FULL_CONTROL: string
+  MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_OPTIONS_AWS_EXEC_READ: string
+  MANAGE_CONSTANT_S3_ACL_FOR_UPLOAD_TOOLTIP: string
+  MANAGE_CONSTANT_S3_BUCKET_DESC: string
+  MANAGE_CONSTANT_S3_BUCKET_PLACEHOLDER: string
+  MANAGE_CONSTANT_S3_BASE_DIR_DESC: string
+  MANAGE_CONSTANT_S3_BASE_DIR_PLACEHOLDER: string
+  MANAGE_CONSTANT_S3_PAGING_DESC: string
+  MANAGE_CONSTANT_S3_ITEMS_PAGE_DESC: string
+  MANAGE_CONSTANT_S3_EXPLAIN: string
+  MANAGE_CONSTANT_S3_REFER_TEXT: string
+  MANAGE_CONSTANT_WEBDAV_NAME: string
+  MANAGE_CONSTANT_WEBDAV_ALIAS_DESC: string
+  MANAGE_CONSTANT_WEBDAV_ALIAS_PLACEHOLDER: string
+  MANAGE_CONSTANT_WEBDAV_HOST_DESC: string
+  MANAGE_CONSTANT_WEBDAV_HOST_PLACEHOLDER: string
+  MANAGE_CONSTANT_WEBDAV_HOST_TOOLTIP: string
+  MANAGE_CONSTANT_WEBDAV_USERNAME_DESC: string
+  MANAGE_CONSTANT_WEBDAV_USERNAME_PLACEHOLDER: string
+  MANAGE_CONSTANT_WEBDAV_BUCKET_DESC: string
+  MANAGE_CONSTANT_WEBDAV_BUCKET_PLACEHOLDER: string
+  MANAGE_CONSTANT_WEBDAV_BUCKET_TOOLTIP: string
+  MANAGE_CONSTANT_WEBDAV_PASSWORD_DESC: string
+  MANAGE_CONSTANT_WEBDAV_PASSWORD_PLACEHOLDER: string
+  MANAGE_CONSTANT_WEBDAV_BASE_DIR_DESC: string
+  MANAGE_CONSTANT_WEBDAV_BASE_DIR_PLACEHOLDER: string
+  MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_DESC: string
+  MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_PLACEHOLDER: string
+  MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_TOOLTIP: string
+  MANAGE_CONSTANT_WEBDAV_CUSTOM_URL_RULE_MESSAGE: string
+  MANAGE_CONSTANT_WEBDAV_PROXY_DESC: string
+  MANAGE_CONSTANT_WEBDAV_PROXY_PLACEHOLDER: string
+  MANAGE_CONSTANT_WEBDAV_PROXY_TOOLTIP: string
+  MANAGE_CONSTANT_WEBDAV_SSL_DESC: string
+  MANAGE_CONSTANT_WEBDAV_SSL_TOOLTIP: string
+  MANAGE_CONSTANT_WEBDAV_EXPLAIN: string
+  MANAGE_CONSTANT_WEBDAV_REFER_TEXT: string
   PLUGIN_INSTALL_SUCCEED: string
   PLUGIN_INSTALL_FAILED: string
   PLUGIN_UNINSTALL_SUCCEED: string