diff --git a/ui/src/api/config.ts b/ui/src/api/config.ts
index 5df606e075..cca49c66b3 100644
--- a/ui/src/api/config.ts
+++ b/ui/src/api/config.ts
@@ -669,9 +669,48 @@ export const createVersionNameCheck = (bizId: string, appId: number, name: strin
* 从配置模板导入配置文件
* @param bizId 业务ID
* @param appId 应用ID
- * @param bindingId 模板和服务绑定关系ID
* @param params 更新参数
* @returns
*/
export const importConfigFromTemplate = (bizId: string, appId: number, query: any) =>
http.post(`/config/biz/${bizId}/apps/${appId}/template_bindings/import_template_set`, query);
+
+/**
+ * 获取权限设置用户列表
+ * @param bizId 业务ID
+ * @param appId 应用ID
+ * @param params 更新参数
+ * @returns
+ */
+export const getUserPrivileges = (bizId: string, appId: number, params: ICommonQuery) =>
+ http.get(`/config/biz/${bizId}/apps/${appId}/user_privileges`, { params });
+
+/**
+ * 获取权限设置用户组列表
+ * @param bizId 业务ID
+ * @param appId 应用ID
+ * @param params 更新参数
+ * @returns
+ */
+export const getUserGroupPrivileges = (bizId: string, appId: number, params: ICommonQuery) =>
+ http.get(`/config/biz/${bizId}/apps/${appId}/user_group_privileges`, { params });
+
+/**
+ * 删除权限设置用户组列表项
+ * @param bizId 业务ID
+ * @param appId 应用ID
+ * @param id 列表项ID
+ * @returns
+ */
+export const deleteUserGroupPrivilege = (bizId: string, appId: number, id: number) =>
+ http.delete(`/config/biz/${bizId}/apps/${appId}/user_group_privileges/${id}`);
+
+/**
+ * 删除权限设置用户列表项
+ * @param bizId 业务ID
+ * @param appId 应用ID
+ * @param id 列表项ID
+ * @returns
+ */
+export const deleteUserPrivilege = (bizId: string, appId: number, id: number) =>
+ http.delete(`/config/biz/${bizId}/apps/${appId}/user_privileges/${id}`);
diff --git a/ui/src/components/custom-selector.vue b/ui/src/components/custom-selector.vue
new file mode 100644
index 0000000000..a6a87860db
--- /dev/null
+++ b/ui/src/components/custom-selector.vue
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/src/components/diff/file.vue b/ui/src/components/diff/file.vue
index fd95abcab7..ffcb0a1515 100644
--- a/ui/src/components/diff/file.vue
+++ b/ui/src/components/diff/file.vue
@@ -12,10 +12,14 @@
{{ `${t('用户')}:` }}
{{ props.basePermission.user }}
+ UID:
+ {{ props.basePermission.uid }}
{{ `${t('用户组')}:` }}
{{ props.basePermission.user_group }}
+ GID:
+ {{ props.basePermission.gid }}
@@ -49,6 +53,10 @@
{{ props.currentPermission.user }}
+ UID:
+
+ {{ props.currentPermission.uid }}
+
{{ `${t('用户组')}:` }}
@@ -56,6 +64,11 @@
:class="['value', { diff: props.currentPermission.user_group !== props.basePermission.user_group }]">
{{ props.currentPermission.user_group }}
+ GID:
+
+ {{ props.currentPermission.gid }}
+
@@ -91,6 +104,8 @@
privilege: string;
user: string;
user_group: string;
+ uid: number;
+ gid: number;
}
const { t } = useI18n();
diff --git a/ui/src/components/diff/index.vue b/ui/src/components/diff/index.vue
index 0f81ec4373..68920eb8e1 100644
--- a/ui/src/components/diff/index.vue
+++ b/ui/src/components/diff/index.vue
@@ -38,18 +38,18 @@
{
if (!props.diff.base.permission) return;
return `${t('权限')}:${props.diff.current.permission?.privilege}
-${t('用户')}:${props.diff.current.permission?.user}
-${t('用户组')}:${props.diff.current.permission?.user_group}`;
+${t('用户')}:${props.diff.current.permission?.user} UID:${props.diff.current.permission?.uid}
+${t('用户组')}:${props.diff.current.permission?.user_group} GID:${props.diff.current.permission?.gid}`;
});
const basePermission = computed(() => {
if (!props.diff.base.permission) return;
return `${t('权限')}:${props.diff.base.permission?.privilege}
-${t('用户')}:${props.diff.base.permission?.user}
-${t('用户组')}:${props.diff.base.permission?.user_group}`;
+${t('用户')}:${props.diff.base.permission?.user} UID:${props.diff.current.permission?.uid}
+${t('用户组')}:${props.diff.base.permission?.user_group} GID:${props.diff.current.permission?.gid}`;
});
// 打开全屏
diff --git a/ui/src/components/permission-input-picker.vue b/ui/src/components/permission-input-picker.vue
index 22472c35dc..bd949d96d6 100644
--- a/ui/src/components/permission-input-picker.vue
+++ b/ui/src/components/permission-input-picker.vue
@@ -9,7 +9,7 @@
@@ -32,7 +32,9 @@
class="group-checkboxs"
:model-value="privilegeGroupsValue[index]"
@change="handleSelect(index, $event)">
- {{ t('读') }}
+
+ {{ t('读') }}
+
{{ t('写') }}
{{ t('执行') }}
@@ -63,6 +65,7 @@
const props = defineProps<{
disabled?: boolean;
modelValue: string;
+ isBatchEdit?: boolean;
}>();
const emits = defineEmits(['update:modelValue', 'change']);
diff --git a/ui/src/i18n/en-us.ts b/ui/src/i18n/en-us.ts
index 6224fa74e6..5b8d379870 100644
--- a/ui/src/i18n/en-us.ts
+++ b/ui/src/i18n/en-us.ts
@@ -27,20 +27,20 @@ export default {
接入方式: 'Access method',
创建者: 'Creator',
创建时间: 'Creation time',
- 配置文件: 'Configuration File',
- 配置项: 'Configuration Item',
+ 配置文件: 'Config File',
+ 配置项: 'Config Item',
card_配置项: 'Item',
card_配置文件: 'File',
- 个配置文件: 'configuration file',
- 个配置项: 'configuration item',
+ 个配置文件: 'config file',
+ 个配置项: 'config item',
未更新: 'Not updated',
最新上线: 'Latest online',
申请服务权限: 'Apply for service permission',
服务新建成功: 'Service creation successful',
- 接下来你可以在服务下新增配置文件: 'Next you can add a configuration file under the service',
- 接下来你可以在服务下新增配置项: 'Next you can add configuration items under the Services',
- 新增配置文件: 'New Configuration File',
- 新增配置项: 'New Configuration Item',
+ 接下来你可以在服务下新增配置文件: 'Next you can add a config file under the service',
+ 接下来你可以在服务下新增配置项: 'Next you can add config items under the Services',
+ 新增配置文件: 'New Config File',
+ 新增配置项: 'New Config Item',
稍后再说: 'Later on',
编辑: 'Edit',
最小长度2个字符: 'The minimum length is 2 characters',
@@ -53,14 +53,14 @@ export default {
更新者: 'Regenerator',
tips: {
config: `File type: Usually stored in the form of a file, usually has good readability and maintainability
- Key-value type: stored in the form of key-value pairs, where key is used to identify a configuration item, value is the specific content of the configuration item, kv type configuration is usually stored in the database, using the SDK or API to read`,
- type: `arbitrary type: The type of the configuration item is not restricted. If you select one of the following types, only configuration items of the specified type can be created
+ Key-value type: stored in the form of key-value pairs, where key is used to identify a config item, value is the specific content of the config item, kv type config is usually stored in the database, using the SDK or API to read`,
+ type: `arbitrary type: The type of the config item is not restricted. If you select one of the following types, only config items of the specified type can be created
string: One-line string
number: Numeric values, including integers, floating-point numbers, and checksum data types
text: Multi-line string text, unverified data structure, size 2Mb
json、xml、yaml: For structured data in different formats, the data structure is checked
Sensitive information: Store confidential data, such as passwords, certificates, etc., on the product interface, this information is displayed with an asterisk (*) to ensure security`,
- createConfig: `You can reference global variables and define new BSCP variables in the configuration file. The variable rules are as follows
+ createConfig: `You can reference global variables and define new BSCP variables in the config file. The variable rules are as follows
1.To go template syntax, for example {'{{'} .bk_bscp_appid {'}}'}
2.The variable name must start with “bk_bscp_” or “BK_BSCP_”`,
},
@@ -72,8 +72,8 @@ export default {
匹配结果: 'Matching result',
筛选结果: 'Filtering results',
项: 'item',
- 请输入配置文件名: 'Please enter the absolute path of the configuration file',
- 没有匹配到配置项: 'No configuration item was matched',
+ 请输入配置文件名: 'Please enter the absolute path of the config file',
+ 没有匹配到配置项: 'No config item was matched',
请先在左侧表单设置关联规则并预览: 'Please first set the association rules in the left form and preview',
请先在左侧表单设置筛选规则并预览: 'Please set the filtering rules in the form on the left and preview',
删除服务成功: 'Service deleted successfully',
@@ -81,7 +81,7 @@ export default {
请选择数据类型: 'Please select data type',
服务属性编辑成功: 'Service attributes edited successfully',
'调整服务数据类型{n}失败': 'Failed to adjust service data type {n}',
- '该服务下存在非{n}类型的配置项,如需修改,请先调整该服务下的所有配置项数据类型为{n}': 'There are configuration items of non-{n} type under this service. If you need to modify it, please adjust the data type of all configuration items under this service to {n} first',
+ '该服务下存在非{n}类型的配置项,如需修改,请先调整该服务下的所有配置项数据类型为{n}': 'There are config items of non-{n} type under this service. If you need to modify it, please adjust the data type of all config items under this service to {n} first',
// 导航栏
服务配置中心: 'BSCP',
@@ -101,7 +101,7 @@ export default {
客户端统计: 'Client Statistics',
客户端查询: 'Client Query',
客户端密钥: 'Client Key',
- 配置示例: 'Configuration Example',
+ 配置示例: 'Config Example',
业务名: 'Business Name',
业务: 'Business',
@@ -129,22 +129,22 @@ export default {
恢复: 'Restore',
删除: 'Delete',
版本详情: 'Version Details',
- '配置文件名/创建人/修改人': 'Configuration file name / Creator / Modifier',
- 新建配置文件: 'New Configuration File',
- 新建配置项: 'New Configuration Item',
+ '配置文件名/创建人/修改人': 'Config file name / Creator / Modifier',
+ 新建配置文件: 'New Config File',
+ 新建配置项: 'New Config Item',
手动新增: 'Manually Add',
批量上传: 'Bulk Upload',
- 从配置模板导入: 'Import from Configuration Template',
+ 从配置模板导入: 'Import from Config Template',
批量导入: 'Bulk Import',
'请输入1~64个字符,只允许英文、数字、下划线、中划线或点': 'Please enter 1 to 64 characters, only allowing alphabets, numbers, underscores, hyphens, or dots.',
- 配置文件路径: 'Configuration file path',
- '客户端拉取配置文件后存放路径为:临时目录/业务ID/服务名称/files/配置文件路径,除了配置文件路径其它参数都在客户端sidecar中配置': 'The path for storing the configuration file after the client retrieves it is: temporary directory/business ID/service name/files/configuration file path. Except for the configuration file path, all other parameters are configured in the client sidecar',
+ 配置文件路径: 'Config file path',
+ '客户端拉取配置文件后存放路径为:临时目录/业务ID/服务名称/files/配置文件路径,除了配置文件路径其它参数都在客户端sidecar中配置': 'The path for storing the config file after the client retrieves it is: temporary directory/business ID/service name/files/config file path. Except for the config file path, all other parameters are configured in the client sidecar',
请输入绝对路径: 'Please enter the absolute path',
- 配置文件信息: 'Configuration Info',
+ 配置文件信息: 'Config Info',
元数据: 'Meta Data',
- 配置文件名: 'Configuration file name',
- 配置文件描述: 'Configuration file description',
- 配置文件格式: 'Configuration file format',
+ 配置文件名: 'Config file name',
+ 配置文件描述: 'Config file description',
+ 配置文件格式: 'Config file format',
文件权限: 'File permissions',
请输入三位权限数字: 'Please enter a three-digit permission number.',
'只能输入三位 0~7 数字': 'You can only enter a three-digit number from 0 to 7.',
@@ -154,7 +154,7 @@ export default {
执行: 'Execute',
用户: 'User',
用户组: 'User group',
- 配置内容: 'Configuration content',
+ 配置内容: 'Config content',
'文件大小{size}M以内': 'File size within {size}M',
'属主(own)': 'Owner',
'属组(group)': 'Group',
@@ -167,13 +167,13 @@ export default {
'无效的路径,路径不符合Unix文件路径格式规范': 'Invalid path, the path does not comply with the Unix file path format specification',
最大长度200个字符: 'Maximum length of 200 characters',
请上传文件: 'Please upload the file',
- '配置内容不能超过{size}M': 'Configuration content cannot exceed {size}M',
- 配置项名称: 'Configuration Name',
- 配置项值: 'Configuration Value',
+ '配置内容不能超过{size}M': 'Config content cannot exceed {size}M',
+ 配置项名称: 'Config Name',
+ 配置项值: 'Config Value',
'请输入(仅支持大小不超过2M)': 'Please enter (only supports size no more than 2M)',
最大长度128个字符: 'Maximum length 128 characters',
'只允许包含中文、英文、数字、下划线 (_)、连字符 (-),并且必须以中文、英文、数字开头和结尾': 'Only Chinese, English, numbers, underscores (_), hyphens (-) are allowed, and must start and end with Chinese, English, numbers',
- 配置项值不为数字: 'Configuration item value is not a number',
+ 配置项值不为数字: 'Config item value is not a number',
结果预览: 'Results preview',
已选择导入: 'Import selected',
'个模板套餐,可按需要切换模板版本': 'template package, template version can be switched as needed',
@@ -181,36 +181,36 @@ export default {
请先从左侧选择导入的模板套餐: 'Please select the imported template package from the left first',
'检测到模板冲突,无法导入': 'Template conflict detected and cannot be imported',
导入: 'Import',
- 配置文件导入成功: 'Configuration file imported successfully',
+ 配置文件导入成功: 'Config file imported successfully',
'检测到模板冲突,请先删除冲突套餐': 'Template conflict detected, please delete the conflicting package first',
模板名称: 'Template name',
模板路径: 'Template path',
版本号: 'version number',
该套餐下暂无模板: 'There are currently no templates under this package',
- 批量上传配置文件: 'Upload configuration files in batches',
- 上传配置文件包: 'Upload configuration file package',
+ 批量上传配置文件: 'Upload config files in batches',
+ 上传配置文件包: 'Upload config file package',
'支持扩展名:.zip .tar .gz': 'Supported extensions: .zip .tar .gz',
上传文件: 'Upload files',
- '确认放弃下方修改,重新上传配置项包?': 'Are you sure to discard the modifications below and re-upload the configuration item package?',
+ '确认放弃下方修改,重新上传配置项包?': 'Are you sure to discard the modifications below and re-upload the config item package?',
重新上传: 'Re-upload',
上传中: 'uploading',
共将导入: 'A total of',
- '个配置项,其中': 'configuration item will be imported',
- '个已存在,导入后将': 'of which already exists. The original configuration will',
+ '个配置项,其中': 'config item will be imported',
+ '个已存在,导入后将': 'of which already exists. The original config will',
覆盖原配置: 'be overwritten after importing',
去上传: 'Go to upload',
- 导入配置文件成功: 'Import configuration file successfully',
- 已存在配置文件: 'Configuration file already exists',
- 批量设置配置文件描述: 'Batch setting configuration file description',
+ 导入配置文件成功: 'Import config file successfully',
+ 已存在配置文件: 'Config file already exists',
+ 批量设置配置文件描述: 'Batch setting config file description',
批量设置文件权限: 'Set file permissions in batches',
'只能输入三位 0~7 数字且文件own必须有读取权限': 'Only three digits 0~7 can be entered and the file own must have read permission.',
批量设置用户: 'Set up users in batches',
批量设置用户组: 'Set user groups in batches',
搜索模板套餐: 'Search template packages',
管理模板: 'Administrative templates',
- 导入配置模板套餐时无法移除已有配置模板套餐: 'Existing configuration template packages cannot be removed when importing configuration template packages',
- '该套餐中没有可用配置文件,无法被导入到服务配置中': 'There is no configuration file available in this package and cannot be imported into the service configuration.',
- 配置文件内容: 'Configuration file content',
+ 导入配置模板套餐时无法移除已有配置模板套餐: 'Existing config template packages cannot be removed when importing config template packages',
+ '该套餐中没有可用配置文件,无法被导入到服务配置中': 'There is no config file available in this package and cannot be imported into the service config.',
+ 配置文件内容: 'Config file content',
仅支持大小不超过: 'Only supports sizes up to',
分隔符: 'delimiter',
搜索: 'search',
@@ -239,17 +239,17 @@ export default {
不是数字类型: 'Not a numeric type',
查看变量: 'View Variables',
关闭: 'Closure',
- 配置项值预览: 'Configuration item value preview',
+ 配置项值预览: 'Config item value preview',
修改人: 'Modifier',
修改时间: 'Change the time',
变更状态: 'Change status',
查看: 'View',
对比: 'Compared',
- '确认删除该配置项?': 'Confirm to delete this configuration item?',
- 删除配置项成功: 'Deletion of configuration item successful',
- 恢复配置项成功: 'Configuration items restored successfully',
+ '确认删除该配置项?': 'Confirm to delete this config item?',
+ 删除配置项成功: 'Deletion of config item successful',
+ 恢复配置项成功: 'Config items restored successfully',
'一旦删除,该操作将无法撤销,请谨慎操作': 'Once deleted, the operation cannot be undone, please proceed with caution',
- '配置项删除后,可以通过恢复按钮撤销删除': 'After the configuration item is deleted, the deletion can be undone through the restore button.',
+ '配置项删除后,可以通过恢复按钮撤销删除': 'After the config item is deleted, the deletion can be undone through the restore button.',
文本文件: 'text file',
二进制文件: 'binary file',
文本: 'text',
@@ -261,9 +261,9 @@ export default {
搜索结果为空: 'Search results are empty',
'可以尝试 调整关键词 或': 'You can try adjusting keywords or',
清空筛选条件: 'Clear filters',
- 编辑配置项: 'Edit configuration items',
- 编辑配置项成功: 'Edit configuration item successfully',
- 查看配置项: 'View configuration items',
+ 编辑配置项: 'Edit config items',
+ 编辑配置项成功: 'Edit config item successfully',
+ 查看配置项: 'View config items',
线上版本: 'Online version',
对比版本: 'Compare version',
当前版本: 'Current',
@@ -272,8 +272,8 @@ export default {
搜索配置文件名: 'Search profile name',
没有差异配置文件: 'No diff profile',
只看差异项: 'View only diffs',
- 搜索配置项名称: 'Search configuration item name',
- 没有差异配置项: 'No differential configuration items',
+ 搜索配置项名称: 'Search config item name',
+ 没有差异配置项: 'No differential config items',
'前/后置脚本': 'Pre/Post Script',
该版本下文件不存在: 'The file does not exist in this version',
文件已被删除: 'File has been deleted',
@@ -281,24 +281,24 @@ export default {
文件内容: 'file content',
变化: 'Variety',
配置模板版本: 'Configure template version',
- 配置路径: 'Configuration path',
+ 配置路径: 'Config path',
移除套餐: 'Remove plan',
替换版本: 'Replace version',
下载: 'Download',
下载模板文件: 'Download',
'确认删除该配置文件?': 'Confirm to delete this profile?',
- '确认移除该配置模板套餐?': 'Are you sure to remove this configuration template package?',
+ '确认移除该配置模板套餐?': 'Are you sure to remove this config template package?',
配置模板套餐: 'Configure template package',
- '移除后本服务配置将不再引用该配置模板套餐,以后需要时可以重新从配置模板导入': 'After removal, the service configuration will no longer reference the configuration template package. You can re-import it from the configuration template if needed in the future.',
- 非模板配置: 'Non-template configuration',
+ '移除后本服务配置将不再引用该配置模板套餐,以后需要时可以重新从配置模板导入': 'After removal, the service config will no longer reference the config template package. You can re-import it from the config template if needed in the future.',
+ 非模板配置: 'Non-template config',
移除模板套餐成功: 'Template package removed successfully',
- 删除配置文件成功: 'Configuration file deleted successfully',
- 编辑配置文件: 'Edit configuration file',
+ 删除配置文件成功: 'Config file deleted successfully',
+ 编辑配置文件: 'Edit config file',
目标版本: 'Target version',
当前最新为: 'The current latest is',
模板版本更新成功: 'Template version updated successfully',
- 查看配置文件: 'View configuration file',
- '配置项名/创建人/修改人': 'Configuration item name/creator/modifier',
+ 查看配置文件: 'View config file',
+ '配置项名/创建人/修改人': 'Config item name/creator/modifier',
生成版本: 'Build Version',
版本生成中: 'Version is being generated',
版本信息: 'Version Information',
@@ -364,29 +364,29 @@ export default {
请输入关键字: 'Please enter a keyword',
'格式:': 'Format:',
'key 类型 value 描述': 'key type value description',
- 配置客户端: 'Configuration client',
+ 配置客户端: 'Config client',
调整分组上线成功: 'Adjustment of grouping went online successfully',
导入方式: 'Import method',
文本导入: 'Text import',
文件导入: 'File import',
'只支持string、number类型,其他类型请使用文件导入': 'Only string and number types are supported. For other types, please use file import.',
- '支持 JSON、YAML 等类型文件,后台会自动检测文件类型,配置项格式请参照': 'Supports JSON, YAML and other types of files. The background will automatically detect the file type. Please refer to the configuration item format',
+ '支持 JSON、YAML 等类型文件,后台会自动检测文件类型,配置项格式请参照': 'Supports JSON, YAML and other types of files. The background will automatically detect the file type. Please refer to the config item format',
示例文件包: 'sample file package',
文件导入成功: 'File import succeeded',
文本导入成功: 'Text import successful',
- '解析失败,配置项格式不正确': 'Parsing failed because the configuration item format is incorrect',
+ '解析失败,配置项格式不正确': 'Parsing failed because the config item format is incorrect',
请选择: 'Please select',
- 配置项值已复制: 'The configuration item value has been copied',
+ 配置项值已复制: 'The config item value has been copied',
导出至: 'Export to',
撤销: 'Repeal',
- '配置文件删除后,可以通过恢复按钮撤销删除': 'After the configuration file is deleted, you can undo the deletion by using the Restore button',
- 撤销修改配置文件成功: 'Succeeded in unmodifying the configuration file',
- 恢复配置文件成功: 'Succeeded in Restore the configuration file',
+ '配置文件删除后,可以通过恢复按钮撤销删除': 'After the config file is deleted, you can undo the deletion by using the Restore button',
+ 撤销修改配置文件成功: 'Succeeded in unmodifying the config file',
+ 恢复配置文件成功: 'Succeeded in Restore the config file',
打包下载: 'Package download',
当前线上全量版本: 'Current online full version',
历史全量上线过的版本: 'Historical online full version',
- 配置项描述: 'Configuration name',
- 配置项信息: 'Configuration Info',
+ 配置项描述: 'Config name',
+ 配置项信息: 'Config Info',
展开: 'Expand',
收起: 'Fold',
查看完整配置: 'View All',
@@ -394,19 +394,19 @@ export default {
'(已上线分组之外的所有实例)': 'All instances outside of the launched group',
除以下分组之外的所有实例: 'All instances except for the following groups',
请选择需要调整的分组: 'Please select the group that needs to be adjusted',
- '确认删除所选的 {n} 项配置项?': 'Confirm the deletion of the selected {n} configuration items?',
+ '确认删除所选的 {n} 项配置项?': 'Confirm the deletion of the selected {n} config items?',
'确认删除所选的 {n} 项变量?': 'Confirm the deletion of the selected {n} variable items?',
'确认删除所选的 {n} 项脚本?': 'Confirm the deletion of the selected {n} script items?',
'确认删除所选的 {n} 项分组?': 'Confirm the deletion of the selected {n} group items?',
- '已生成版本中存在的配置项,可以通过恢复按钮撤销删除,新增且未生成版本的配置项,将无法撤销删除,请谨慎操作。': 'Configuration items that exist in the generated version can be undone by clicking the restore button. Newly added configuration items that have not generated a version cannot be undone. Please proceed with caution.',
- '一旦删除,该操作将无法撤销,服务配置的未命名版本中引用该脚本也将清除,请谨慎操作。': 'Once deleted, this action cannot be undone, and any references to this script in unnamed versions of the service configuration will also be cleared. Please proceed with caution.',
- 批量删除配置项成功: 'Batch deletion of configuration items was successful',
- 批量删除配置文件成功: 'Batch deletion of configuration items was successful',
+ '已生成版本中存在的配置项,可以通过恢复按钮撤销删除,新增且未生成版本的配置项,将无法撤销删除,请谨慎操作。': 'Config items that exist in the generated version can be undone by clicking the restore button. Newly added config items that have not generated a version cannot be undone. Please proceed with caution.',
+ '一旦删除,该操作将无法撤销,服务配置的未命名版本中引用该脚本也将清除,请谨慎操作。': 'Once deleted, this action cannot be undone, and any references to this script in unnamed versions of the service config will also be cleared. Please proceed with caution.',
+ 批量删除配置项成功: 'Batch deletion of config items was successful',
+ 批量删除配置文件成功: 'Batch deletion of config items was successful',
批量删除变量成功: 'Batch deletion of variable items was successful',
批量删除脚本成功: 'Batch deletion of script items was successful',
批量删除分组成功: 'Batch deletion of group items was successful',
- 撤销修改配置项成功: 'Succeeded in unmodifying the configuration item',
- '模板套餐导入完成,存在 {n} 个冲突配置项,请修改配置项信息或删除对应模板套餐,否则无法生成版本。': 'The template package is imported. {n} configuration items conflict with each other. Modify the configuration items or delete the corresponding template package.',
+ 撤销修改配置项成功: 'Succeeded in unmodifying the config item',
+ '模板套餐导入完成,存在 {n} 个冲突配置项,请修改配置项信息或删除对应模板套餐,否则无法生成版本。': 'The template package is imported. {n} config items conflict with each other. Modify the config items or delete the corresponding template package.',
导入本地文件: 'Import local file',
从历史版本导入: 'Import from the historical version',
从其他服务导入: 'Import from other services',
@@ -415,16 +415,16 @@ export default {
将: 'Will',
清空: ' clear',
'现有草稿区,并导入': ' existing draft area and import',
- 上传配置项: 'Upload configuration item',
+ 上传配置项: 'Upload config item',
压缩包自动解压: 'The compressed package is automatically decompressed',
收起上传列表: 'Drop upload list',
展开上传列表: 'Expand upload list',
'支持上传多个文件、目录树结构,同时也支持将扩展名为 .zip / .tar / .tar.gz / .tgz 的压缩文件解压后导入': 'You can upload multiple files and directory trees. You can also decompress and import the compressed file with the extension name of.zip /.tar /.tar.gz /.tgz',
- '支持上传多个文件、目录树结构,其中扩展名为 .zip / .tar / .tar.gz / .tgz 的压缩文件不会解压,将整体作为二进制配置项上传': 'You can upload multiple files and directory trees. The compressed files with the extension name of.zip /.tar /.tar.gz /.tgz are not decompressed and are uploaded as binary configuration items',
+ '支持上传多个文件、目录树结构,其中扩展名为 .zip / .tar / .tar.gz / .tgz 的压缩文件不会解压,将整体作为二进制配置项上传': 'You can upload multiple files and directory trees. The compressed files with the extension name of.zip /.tar /.tar.gz /.tgz are not decompressed and are uploaded as binary config items',
简单文本: 'Simple text',
- '每行表示一个配置项,包含配置项名称、数据类型和配置项值,默认通过空格分隔': 'Each line represents a configuration item, including the configuration item name, data type, and configuration item value, separated by Spaces by default',
- '以 JSON 格式导入键值 (KV) 配置项,配置项名称作为 JSON 对象的 Key,而配置项的数据类型和值组成一个嵌套对象,作为对应 Key 的 Value': 'Import the key-value (KV) configuration item in JSON format. The name of the configuration item is used as the Key of the JSON object, and the data type and Value of the configuration item form a nested object as the value of the corresponding Key',
- '以 YAML 格式导入键值 (KV) 配置项,配置项名称作为 YAML 对象的 Key,而配置项的数据类型和值分别作为嵌套对象的子键,形成对应键的值': 'Import key-value (KV) configuration items in YAML format, with the name of the configuration item as the Key of the YAML object, and the data type and value of the configuration item as the subkey of the nested object, respectively, to form the value of the corresponding key',
+ '每行表示一个配置项,包含配置项名称、数据类型和配置项值,默认通过空格分隔': 'Each line represents a config item, including the config item name, data type, and config item value, separated by Spaces by default',
+ '以 JSON 格式导入键值 (KV) 配置项,配置项名称作为 JSON 对象的 Key,而配置项的数据类型和值组成一个嵌套对象,作为对应 Key 的 Value': 'Import the key-value (KV) config item in JSON format. The name of the config item is used as the Key of the JSON object, and the data type and Value of the config item form a nested object as the value of the corresponding Key',
+ '以 YAML 格式导入键值 (KV) 配置项,配置项名称作为 YAML 对象的 Key,而配置项的数据类型和值分别作为嵌套对象的子键,形成对应键的值': 'Import key-value (KV) config items in YAML format, with the name of the config item as the Key of the YAML object, and the data type and value of the config item as the subkey of the nested object, respectively, to form the value of the corresponding key',
格式示例: 'Format example',
复制示例内容: 'Copy sample content',
示例: 'Example',
@@ -436,30 +436,30 @@ export default {
文本格式: 'Text format',
导入数据: 'Import data',
示例面板: 'Sample panel',
- 配置项导入成功: 'Configuration items are imported successfully',
+ 配置项导入成功: 'Config items are imported successfully',
'请输入空间/套餐名称': 'Please enter space/package name',
- '确认恢复该配置文件?': 'Confirm to recover the configuration file?',
- '配置文件恢复后,将覆盖新添加的配置文件': 'After the configuration file is restored, the newly added configuration file',
+ '确认恢复该配置文件?': 'Confirm to recover the config file?',
+ '配置文件恢复后,将覆盖新添加的配置文件': 'After the config file is restored, the newly added config file',
批量操作: 'Batch operation',
批量修改权限: 'Batch edit permission',
- 配置文件权限批量修改成功: 'Succeeded in batch modifying configuration file permissions.',
+ 配置文件权限批量修改成功: 'Succeeded in batch modifying config file permissions.',
保持不变: 'Remain unchanged',
配置模板空间: 'Configuring template space',
个模板套餐: 'template package',
其中: 'In',
'个模板套餐已存在,导入后将': 'template package already exists, import will',
- 已存在配置模板套餐: 'Configuration template package exists',
- 新建配置模板套餐: 'New configuration template package',
+ 已存在配置模板套餐: 'Config template package exists',
+ 新建配置模板套餐: 'New config template package',
'压缩包正在解压,请稍后...': 'The compressed package is being decompressed, please wait...',
'后台正在处理上传数据,请稍后...': 'The background is processing the uploaded data, please wait...',
- '确认恢复该配置项?': 'Confirm to restore the configuration item?',
+ '确认恢复该配置项?': 'Confirm to restore the config item?',
'文件下载中,请稍后': 'File download in progress, please wait',
版本名称已存在: 'The version name already exists',
- 编辑配置文件成功: 'Edit configuration file successfully',
+ 编辑配置文件成功: 'Edit config file successfully',
上传成功: 'Upload successful',
上传失败: 'Upload failed',
- 选择配置文件: 'Select configuration file',
- 选择配置项: 'Select configuration item',
+ 选择配置文件: 'Select config file',
+ 选择配置项: 'Select config item',
'模板空间不存在,无法导入,请先删除此模板': 'Template space does not exist, cannot be imported, please delete this template first',
'模板套餐不存在,无法导入,请先删除此模板': 'Template package does not exist, cannot be imported, please delete this template first',
'模板套餐为空,无法导入,请先删除此模板': 'Template package is empty, cannot be imported, please delete this template first',
@@ -476,17 +476,17 @@ export default {
下一步: 'Next',
上一步: 'Previous',
上传至模板套餐: 'Upload to template package',
- '上传后,部分套餐/服务的配置文件数量将超过最大限制 ({n} 个文件)': 'After uploading, the number of configuration files in some packages/services will exceed the maximum limit ({n} files)',
- '上传后,该套餐的配置文件数量将达到 {n} 个,超过了最大限制': 'After uploading, the number of configuration files in the package will reach {n}, exceeding the maximum limit',
- '上传后,该服务的配置文件数量将达到 {n} 个,超过了最大限制': 'After uploading, the number of configuration files in the service will reach {n}, exceeding the maximum limit',
+ '上传后,部分套餐/服务的配置文件数量将超过最大限制 ({n} 个文件)': 'After uploading, the number of config files in some packages/services will exceed the maximum limit ({n} files)',
+ '上传后,该套餐的配置文件数量将达到 {n} 个,超过了最大限制': 'After uploading, the number of config files in the package will reach {n}, exceeding the maximum limit',
+ '上传后,该服务的配置文件数量将达到 {n} 个,超过了最大限制': 'After uploading, the number of config files in the service will reach {n}, exceeding the maximum limit',
'文件上传准备中,请稍候…': 'File upload is in preparation, please wait...',
'( 后台已存在此文件,上传快速完成 )': '( The background already has this file, the upload is completed quickly )',
- 查看全部配置项: 'View all configuration items',
- 只看冲突配置项: 'Only view conflict configuration items ',
- '已限制该服务下所有配置项数据类型为{n},如需其他数据类型,请调整服务属性下的数据类型': 'All configuration item data types under the service are limited to {n}, if you need other data types, please adjust the data type under the service attributes',
+ 查看全部配置项: 'View all config items',
+ 只看冲突配置项: 'Only view conflict config items ',
+ '已限制该服务下所有配置项数据类型为{n},如需其他数据类型,请调整服务属性下的数据类型': 'All config item data types under the service are limited to {n}, if you need other data types, please adjust the data type under the service attributes',
敏感信息不可见: 'Sensitive information is not visible',
'「敏感信息不可见」启用提示': '"Sensitive information is not visible" enabled prompt',
- '启用后,可降低数据泄露风险。尽管客户端拉去配置不受影响,但仍存在以下注意事项:': 'After enabling, the risk of data leakage can be reduced. Although the client can still pull the configuration, the following precautions still exist:',
+ '启用后,可降低数据泄露风险。尽管客户端拉去配置不受影响,但仍存在以下注意事项:': 'After enabling, the risk of data leakage can be reduced. Although the client can still pull the config, the following precautions still exist:',
'⒈ 用户无法直接查看敏感数据,将导致查看和对比操作不便': '⒈ Users cannot directly view sensitive data, which will make viewing and comparison operations inconvenient',
'⒉ 编辑敏感信息时,需重新输入完整数据 ': '⒉ When editing sensitive information, you need to re-enter the complete data ',
'⒊ 若忘记或丢失敏感信息,可能需要通过其他途径找回或重置': '⒊ If you forget or lose sensitive information, you may need to find it back or reset through other means',
@@ -508,7 +508,7 @@ export default {
'目前只支持 X.509 类型证书': 'Currently only X.509 type certificates are supported',
确定启用: 'Confirm to enable',
'访问令牌格式不正确(只支持 OAuth2.0 与 JWT 类型的访问令牌)': 'The access token format is incorrect (only OAuth2.0 and JWT type access tokens are supported)',
- 新建配置项成功: 'Configuration item created successfully',
+ 新建配置项成功: 'Config item created successfully',
'敏感数据不可见,无法查看实际内容': 'Sensitive data is not visible and cannot view the actual content',
'普通文本格式:': 'Normal text format:',
'key 数据类型 value 描述(可选)': 'key data_type value description (optional)',
@@ -520,14 +520,23 @@ export default {
'类型必须为 string , number 或者secret': 'Type must be string, number or secret',
'敏感信息类型必须为password,secret_key,token': 'Sensitive information type must be password, secret_key, token',
是否可见必须为visible或者invisible: 'Visibility must be visible or invisible',
- '当前服务仅允许导入数据类型为 {n} 的服务配置项': 'The current service only allows import of service configuration items of data type {n}',
+ '当前服务仅允许导入数据类型为 {n} 的服务配置项': 'The current service only allows import of service config items of data type {n}',
是否可见: 'visibility',
密钥类型: 'secret_type',
- '请输入配置文件的完整路径和文件名,例如:/etc/nginx/nginx.conf': 'Please enter the complete path and file name of the configuration file, for example: /etc/nginx/nginx.conf',
+ '请输入配置文件的完整路径和文件名,例如:/etc/nginx/nginx.conf': 'Please enter the complete path and file name of the config file, for example: /etc/nginx/nginx.conf',
'对于Windows客户端,以上文件权限、用户及用户组设置不生效,可在后置脚本中处理文件权限': 'For Windows clients, the above file permission, user and user group settings do not take effect, and file permissions can be handled in the post-script',
+ 权限设置: 'Permission settings',
+ 若需在: 'If needed in',
+ 容器: 'container',
+ '中拉取配置文件并设置权限,': 'to pull the config file and set permissions,',
+ '请配置 UID 和 GID。': 'please configure UID and GID.',
+ '因为设置文件权限操作不是在业务容器中执行,而是在 Sidecar 容器中执行,': 'Because the operation of setting file permissions is not executed in the business container, but in the Sidecar container, ',
+ '因此需要在 Sidecar容器中创建相应的用户(UID)、用户组(GID)。如果无需使用容器客户端可不配置 UID 和 GID。': 'you need to create the corresponding user (UID), user group (GID) in the Sidecar container. If you do not need to use the container client, you can configure UID and GID',
'为确保最佳用户体验,此服务的配置文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个': 'In order to ensure the best user experience, the number of config files for this service is limited to {n}. There are currently {m} and you can add {p} more',
'为确保最佳用户体验,此服务的配置项数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个': 'In order to ensure the best user experience, the number of config items for this service is limited to {n}. There are currently {m} and you can add {p} more',
- '为确保最佳用户体验,此服务的模板文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个': 'In order to ensure the best user experience, the number of template files for this service is limited to {n}. There are currently {m} and you can add {p} more',
+ '为确保最佳用户体验,此套餐的模板文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个': 'In order to ensure the best user experience, the number of template files for this packages is limited to {n}. There are currently {m} and you can add {p} more',
+ 批量设置UID: 'Batch set UID',
+ 批量设置GID: 'Batch set GID',
// 分组管理
新增分组: 'New group',
@@ -541,14 +550,14 @@ export default {
上线服务数: 'Online services',
编辑分组: 'Edit group',
'确认删除该分组?': 'Confirm to delete this group?',
- '分组由 1 个或多个标签选择器组成,服务配置版本选择分组上线结合客户端配置的标签用于灰度发布、A/B Test等运营场景,详情参考文档:': 'The group consists of one or more tag selectors. The service configuration version selects the group and goes online in combination with the tags configured on the client for grayscale publishing, A/B Test and other operational scenarios. For details, refer to the document:',
+ '分组由 1 个或多个标签选择器组成,服务配置版本选择分组上线结合客户端配置的标签用于灰度发布、A/B Test等运营场景,详情参考文档:': 'The group consists of one or more tag selectors. The service config version selects the group and goes online in combination with the tags configured on the client for grayscale publishing, A/B Test and other operational scenarios. For details, refer to the document:',
删除分组成功: 'Group deleted successfully',
'分组已上线,不能': 'The group is online and cannot be',
创建分组成功: 'Group created successfully',
请输入分组名称: 'Please enter a group name',
指定服务: 'designated services',
请选择服务: 'Please select a service',
- '标签选择器由key、操作符、value组成,筛选符合条件的客户端拉取服务配置,一般用于灰度发布服务配置': 'The tag selector consists of key, operator, and value. It filters the client pull service configuration that meets the conditions. It is generally used for grayscale publishing service configuration.',
+ '标签选择器由key、操作符、value组成,筛选符合条件的客户端拉取服务配置,一般用于灰度发布服务配置': 'The tag selector consists of key, operator, and value. It filters the client pull service config that meets the conditions. It is generally used for grayscale publishing service config.',
分组规则表单不能为空: '分组规则表单不能为空',
'仅允许使用中文、英文、数字、下划线、中划线,且必须以中文、英文、数字开头和结尾': 'Only Chinese, English, numbers, underscores, and dashes are allowed, and must start and end with Chinese, English, numbers.',
指定服务不能为空: 'The specified service cannot be empty',
@@ -556,7 +565,7 @@ export default {
上线服务: 'Online service',
'服务名称/服务版本': 'Service name/Service version',
服务版本: 'Service version',
- '未在配置文件中检测到变量,请确保配置文件中包含变量后再尝试设置变量': 'Variable not detected in the configuration file. Please ensure the configuration file includes the variable before attempting to set it.',
+ '未在配置文件中检测到变量,请确保配置文件中包含变量后再尝试设置变量': 'Variable not detected in the config file. Please ensure the config file includes the variable before attempting to set it.',
'分组最多支持 5 个标签选择器': 'The group supports a maximum of 5 tag selectors',
请输入或选择key: 'Please enter or select key',
@@ -568,8 +577,8 @@ export default {
默认值: 'Default value',
描述: 'Description',
'确认删除该全局变量?': 'Are you sure to delete this global variable?',
- '一旦删除,该操作将无法撤销,服务配置文件中不可再引用该全局变量,请谨慎操作': 'Once deleted, the operation cannot be undone, and the global variable can no longer be referenced in the service configuration file. Please operate with caution.',
- '定义全局变量后可供业务下所有的服务配置文件引用,使用go template语法引用,例如,变量使用详情请参考:': 'After defining global variables, they can be referenced by all service configuration files under the business. Use go template syntax for reference, such as {var}. For details on variable usage, please refer to:',
+ '一旦删除,该操作将无法撤销,服务配置文件中不可再引用该全局变量,请谨慎操作': 'Once deleted, the operation cannot be undone, and the global variable can no longer be referenced in the service config file. Please operate with caution.',
+ '定义全局变量后可供业务下所有的服务配置文件引用,使用go template语法引用,例如,变量使用详情请参考:': 'After defining global variables, they can be referenced by all service config files under the business. Use go template syntax for reference, such as {var}. For details on variable usage, please refer to:',
删除变量成功: 'Delete variable successfully',
创建: 'Create',
创建变量成功: 'Variable created successfully',
@@ -588,14 +597,14 @@ export default {
全局变量: 'Global variables',
// 配置模板
- '配置模板用于同一业务下服务间配置文件复用,可以在创建服务配置时引用配置模板。': 'Configuration templates are used to reuse configuration files between services under same services, and can be referenced when creating service configurations.',
+ '配置模板用于同一业务下服务间配置文件复用,可以在创建服务配置时引用配置模板。': 'Config templates are used to reuse config files between services under same services, and can be referenced when creating service configs.',
搜索空间: 'Search Space',
创建空间: 'New Space',
- '确认删除该配置模板空间?': 'Are you sure to delete this configuration template space?',
- '空间可将业务下不同使用场景的配置模板文件隔离,每个空间内的配置文件路径+配置文件名是唯一的,每个业务下会自动创建一个默认空间': 'Spaces can isolate configuration template files for different usage scenarios under a business. The configuration file path + configuration file name in each space is unique. A default space will be automatically created under each business.',
+ '确认删除该配置模板空间?': 'Are you sure to delete this config template space?',
+ '空间可将业务下不同使用场景的配置模板文件隔离,每个空间内的配置文件路径+配置文件名是唯一的,每个业务下会自动创建一个默认空间': 'Spaces can isolate config template files for different usage scenarios under a business. The config file path + config file name in each space is unique. A default space will be automatically created under each business.',
未能删除: 'Unable to delete',
- 请先确认删除此空间下所有配置文件: 'Please confirm first to delete all configuration files in this space',
- 请先确认删除此空间下所有配置套餐: 'Please confirm first to delete all configuration packages in this space',
+ 请先确认删除此空间下所有配置文件: 'Please confirm first to delete all config files in this space',
+ 请先确认删除此空间下所有配置套餐: 'Please confirm first to delete all config packages in this space',
删除空间成功: 'Space deleted successfully',
新建空间: 'New a new space',
模板空间名称: 'Template space name',
@@ -610,11 +619,11 @@ export default {
克隆模板套餐: 'Clone template package',
克隆成功: 'Cloning successful',
创建成功: 'Created successfully',
- '确认删除该配置模板套餐?': 'Are you sure to delete this configuration template package?',
- '一旦删除,该操作将无法撤销,以下服务配置的未命名版本中引用该套餐的内容也将清除': 'Once deleted, the operation cannot be undone, and references to the package in the unnamed version of the following service configuration will also be cleared.',
+ '确认删除该配置模板套餐?': 'Are you sure to delete this config template package?',
+ '一旦删除,该操作将无法撤销,以下服务配置的未命名版本中引用该套餐的内容也将清除': 'Once deleted, the operation cannot be undone, and references to the package in the unnamed version of the following service config will also be cleared.',
暂无未命名版本引用此套餐: 'There is currently no unnamed version referencing this package.',
引用此套餐的服务: 'Reference services for this package',
- 删除配置模板套餐成功: 'Deletion of configuration template package successful',
+ 删除配置模板套餐成功: 'Deletion of config template package successful',
编辑模板套餐: 'Edit Template Package',
编辑成功: 'Edited successfully',
模板套餐名称: 'Template package name',
@@ -627,7 +636,7 @@ export default {
'服务名称/配置文件版本': 'Service name/config file version',
配置文件版本: 'Profile version',
引用此配置文件的服务: 'Services that reference this profile',
- '配置文件名/描述/创建人/更新人': 'Absolute path to the configuration file/path/description/creator/updater',
+ '配置文件名/描述/创建人/更新人': 'Absolute path to the config file/path/description/creator/updater',
所在套餐: 'The package you are in',
更新人: 'Updater',
更新时间: 'Update time',
@@ -635,37 +644,37 @@ export default {
添加至套餐: 'Add to package',
移出套餐: 'Move out of package',
添加至: 'Add to',
- 添加配置文件: 'New configuration file',
- 添加已有配置文件: 'Add existing configuration file',
+ 添加配置文件: 'New config file',
+ 添加已有配置文件: 'Add existing config file',
去创建: 'to create',
- 新建配置文件成功: 'New configuration file successfully created',
+ 新建配置文件成功: 'New config file successfully created',
创建至套餐: 'Create to package',
模板套餐: 'Template package',
使用此套餐的服务: 'Use the services of this package',
- '若未指定套餐,此配置文件模板将无法被服务引用。后续请使用「添加至」或「添加已有配置文件」功能添加至指定套餐': 'If no package is specified, this configuration file template cannot be referenced by the service. Later, please use the "Add to" or "Add existing profile" function to add it to the specified package.',
- 以下服务配置的未命名版本引用目标套餐的内容也将更新: 'Unnamed versions of the following service configurations referencing target packages will also be updated',
- 从已有配置文件添加: 'Add from existing configuration file',
- '配置文件名/描述': 'Configuration file name /description',
+ '若未指定套餐,此配置文件模板将无法被服务引用。后续请使用「添加至」或「添加已有配置文件」功能添加至指定套餐': 'If no package is specified, this config file template cannot be referenced by the service. Later, please use the "Add to" or "Add existing profile" function to add it to the specified package.',
+ 以下服务配置的未命名版本引用目标套餐的内容也将更新: 'Unnamed versions of the following service configs referencing target packages will also be updated',
+ 从已有配置文件添加: 'Add from existing config file',
+ '配置文件名/描述': 'Config file name /description',
已选: 'selected',
请先从左侧选择配置文件: 'Please select the profile from the left first',
添加: 'Add to',
- 添加配置文件成功: 'Configuration file added successfully',
+ 添加配置文件成功: 'Config file added successfully',
上传至套餐: 'Upload to package',
批量添加至: 'Add in bulk to',
添加至模板套餐: 'Add to template package',
- 以下服务配置的未命名版本中将添加已选配置文件的: 'The following unnamed version of the service configuration will be added with the selected profile\'s',
+ 以下服务配置的未命名版本中将添加已选配置文件的: 'The following unnamed version of the service config will be added with the selected profile\'s',
目标模板套餐: 'Target Template Package',
批量删除: 'batch deletion',
- '确认删除以下配置文件?': 'Are you sure you want to delete the following configuration files?',
+ '确认删除以下配置文件?': 'Are you sure you want to delete the following config files?',
批量移出: 'Move out in batches',
批量移出当前套餐: 'Move out current plans in batches',
确定移出: 'Confirm to move out',
所在模板套餐: 'The template package you are in',
- 以下服务配置的未命名版本中引用此套餐的内容也将更新: 'References to this offer in the unnamed version of the service configuration below will also be updated',
- 配置文件移出套餐成功: 'The configuration file was successfully moved out of the package',
+ 以下服务配置的未命名版本中引用此套餐的内容也将更新: 'References to this offer in the unnamed version of the service config below will also be updated',
+ 配置文件移出套餐成功: 'The config file was successfully moved out of the package',
'确认从配置套餐中移出该配置文件?': 'Are you sure you want to remove this profile from the profile?',
当前: 'current',
- '移出后配置文件将不存在任一套餐。你仍可在「全部配置文件」或「未指定套餐」分类下找回。': 'After the migration, the configuration file will not exist for any package. You can still retrieve it under the "All Profiles" or "Unspecified Packages" categories.',
+ '移出后配置文件将不存在任一套餐。你仍可在「全部配置文件」或「未指定套餐」分类下找回。': 'After the migration, the config file will not exist for any package. You can still retrieve it under the "All Profiles" or "Unspecified Packages" categories.',
确认移出: 'Confirm removal',
移出套餐成功: 'Moved out of package successfully',
新建版本: 'New version',
@@ -675,13 +684,13 @@ export default {
展开列表: 'Expand list',
'支持扩展名:.bin,文件大小100M以内': 'Supported extension: .bin, file size within 100M',
创建版本成功: 'Version created successfully',
- '确认更新配置文件版本?': 'Confirm to update the configuration file version?',
- 以下套餐及服务未命名版本中引用的此配置文件也将更新: 'This configuration file referenced in the unnamed versions of the following packages and services will also be updated',
+ '确认更新配置文件版本?': 'Confirm to update the config file version?',
+ 以下套餐及服务未命名版本中引用的此配置文件也将更新: 'This config file referenced in the unnamed versions of the following packages and services will also be updated',
引用此模板的服务: 'Services that reference this template',
删除模板文件: 'Delete',
批量移出套餐: 'Move out of package in batches',
从其他空间导入: 'Import from another space',
- '确认删除所选的 {n} 个配置文件?': 'Confirm the deletion of the selected {n} configuration fils?',
+ '确认删除所选的 {n} 个配置文件?': 'Confirm the deletion of the selected {n} config fils?',
'latest(当前最新为{n})': 'latest (current latest is {n})',
// 脚本管理
@@ -693,7 +702,7 @@ export default {
分类标签: 'Classification tags',
'确认删除该脚本?': 'Are you sure you want to delete this script?',
脚本: 'script',
- '一旦删除,该操作将无法撤销,以下服务配置的未命名版本中引用该脚本也将清除': 'Once deleted, the operation cannot be undone, and the script referenced in the unnamed version of the service configuration below will also be cleared.',
+ '一旦删除,该操作将无法撤销,以下服务配置的未命名版本中引用该脚本也将清除': 'Once deleted, the operation cannot be undone, and the script referenced in the unnamed version of the service config below will also be cleared.',
暂无未命名版本引用此脚本: 'There is currently no unnamed version referencing this script.',
引用此脚本的服务: 'The service that references this script',
删除版本成功: 'Delete version successfully',
@@ -702,7 +711,7 @@ export default {
脚本内容: 'Script content',
不能超过64个字符: 'Cannot exceed 64 characters',
脚本创建成功: 'Script created successfully',
- 关联配置文件: 'Associated configuration files',
+ 关联配置文件: 'Associated config files',
'服务名称/版本名称/被引用的版本': 'Service name/version name/referenced version',
脚本版本: 'script version',
复制并新建: 'Copy and create new',
@@ -723,16 +732,16 @@ export default {
form_版本号: 'Version number',
上线版本成功: 'Online version successful',
内置变量: 'Internal variables',
- '客户端配置的配置存放临时目录,默认值为 {n}': 'Temporary directory for configuration storage temporarily configured by the client, default value is {n}',
+ '客户端配置的配置存放临时目录,默认值为 {n}': 'Temporary directory for config storage temporarily configured by the client, default value is {n}',
'蓝鲸配置平台上的业务ID,例如:2': 'Service ID on the bscp, for example, 2',
'服务配置中心上的服务名称,例如:demo_service': 'bscp service name, for example, demo service',
- '单个客户端可使用多个服务的配置,为保证路径唯一,服务配置需存放于:配置根目录/业务ID/服务名称,服务配置存放目录 = 配置存放根目录/业务ID/服务名称': 'A client can use multiple service configurations. To ensure a unique path, service configurations must be saved in the following directory: Configuration root directory/service ID/ service name. Service configuration directory = Configuration root directory/service ID/ service name',
- '当前客户端最近一次成功拉取的服务配置版本名称,如 V1,通常会在后置脚本中为服务配置版本添加标识,以表示配置文件已经完成拉取': 'The name of the service configuration version successfully pulled by the current client, such as V1, usually adds an identifier for the service configuration version in the post-script to indicate that the configuration file has been pulled',
- '单个客户端可使用多个服务的配置,为保证路径唯一,服务配置需存放于:配置根目录\\业务ID\\服务名称,服务配置存放目录 = 配置存放根目录\\业务ID\\服务名称': 'A client can use multiple service configurations. To ensure a unique path, service configurations must be saved in the following directory: Configuration root directory\\service ID\\service name. Service configuration directory = Configuration root directory\\service ID\\service name',
+ '单个客户端可使用多个服务的配置,为保证路径唯一,服务配置需存放于:配置根目录/业务ID/服务名称,服务配置存放目录 = 配置存放根目录/业务ID/服务名称': 'A client can use multiple service configs. To ensure a unique path, service configs must be saved in the following directory: Config root directory/service ID/ service name. Service config directory = Config root directory/service ID/ service name',
+ '当前客户端最近一次成功拉取的服务配置版本名称,如 V1,通常会在后置脚本中为服务配置版本添加标识,以表示配置文件已经完成拉取': 'The name of the service config version successfully pulled by the current client, such as V1, usually adds an identifier for the service config version in the post-script to indicate that the config file has been pulled',
+ '单个客户端可使用多个服务的配置,为保证路径唯一,服务配置需存放于:配置根目录\\业务ID\\服务名称,服务配置存放目录 = 配置存放根目录\\业务ID\\服务名称': 'A client can use multiple service configs. To ensure a unique path, service configs must be saved in the following directory: Config root directory\\service ID\\service name. Service config directory = Config root directory\\service ID\\service name',
配置根目录: 'Configuring the root directory',
业务ID: 'BusinessID',
- 服务配置目录: 'Service configuration directory',
- 当前配置版本名称: 'Current configuration version name',
+ 服务配置目录: 'Service config directory',
+ 当前配置版本名称: 'Current config version name',
脚本更新成功: 'Script updated successfully',
删除脚本成功: 'Delete script successfully',
'脚本已被引用,不能删除': 'Script is referenced, cannot be deleted',
@@ -740,7 +749,7 @@ export default {
请输入脚本名称: 'Please enter script name',
// 服务密钥
- '密钥仅用于 SDK/API 拉取配置使用。服务管理/配置管理/分组管理等功能的权限申请,请前往': 'The key is only used for SDK/API pull configurations. To apply for permissions for functions such as service management/configuration management/group management, please go to',
+ '密钥仅用于 SDK/API 拉取配置使用。服务管理/配置管理/分组管理等功能的权限申请,请前往': 'The key is only used for SDK/API pull configs. To apply for permissions for functions such as service management/config management/group management, please go to',
蓝鲸权限中心: 'Blue Whale Authority Center',
新建密钥: 'New Credentials',
'密钥名称/密钥/说明/关联规则/更新人': 'Key name/ Key/ Description/ Association rules/ Updater',
@@ -753,7 +762,7 @@ export default {
关联规则: 'Association rules',
已启用: 'Activated',
已禁用: 'Disabled',
- 关联服务配置: 'Associated service configuration',
+ 关联服务配置: 'Associated service config',
'确认删除密钥?': 'Confirm to delete credentials?',
删除的密钥: 'Deleted credentials',
无法找回: 'unable to retrieve',
@@ -765,7 +774,7 @@ export default {
密钥名称修改成功: 'Credentials name modified successfully',
密钥说明修改成功: 'Credentials description modified successfully',
确定禁用此密钥: 'Confirm to disable this key',
- '禁用密钥后,使用此密钥的应用将无法正常使用 SDK/API 拉取配置': 'After disabling a credentials, apps using this key will not be able to properly use the SDK/API to pull configurations',
+ '禁用密钥后,使用此密钥的应用将无法正常使用 SDK/API 拉取配置': 'After disabling a credentials, apps using this key will not be able to properly use the SDK/API to pull configs',
禁用: 'Disable',
禁用成功: 'Disabled successfully',
启用成功: 'Activated successfully',
@@ -775,10 +784,10 @@ export default {
'只允许包含中文、英文、数字、下划线 (_)、连字符 (-),并且必须以中文、英文、数字开头和结尾。': 'Only Chinese, English, numbers, underscores (_), hyphens (-) are allowed, and must start and end with Chinese, English, numbers.',
编辑规则: 'Edit rules',
编辑规则成功: 'Edit rules successfully',
- '文件型配置,以选择服务myservice为例:': 'File-type configuration, taking the service myservice as an example:',
- '键值(KV)型配置,以选择服务myservice为例:': 'Key-value (KV) configuration, taking the service myservice as an example:',
- '关联myservice服务下所有的配置(包含子目录)': 'Associate all configurations under the myservice service (including subdirectories)',
- '关联myservice服务/etc目录下所有的配置(不含子目录)': 'Associate all configurations in the myservice/etc directory (excluding subdirectories)',
+ '文件型配置,以选择服务myservice为例:': 'File-type config, taking the service myservice as an example:',
+ '键值(KV)型配置,以选择服务myservice为例:': 'Key-value (KV) config, taking the service myservice as an example:',
+ '关联myservice服务下所有的配置(包含子目录)': 'Associate all configs under the myservice service (including subdirectories)',
+ '关联myservice服务/etc目录下所有的配置(不含子目录)': 'Associate all configs in the myservice/etc directory (excluding subdirectories)',
'关联myservice服务/etc/nginx/nginx.conf文件': 'Associated myservice service/etc/nginx/nginx.conf file',
'筛选myservice服务下所有的配置(包含子目录)': 'Filter all configurations under the myservice service (including subdirectories)',
'筛选myservice服务/etc目录下所有的配置(不含子目录)': 'Filter all configurations in the /etc directory of the myservice service (excluding subdirectories)',
@@ -798,13 +807,12 @@ export default {
密钥名称已存在: 'The credentials name already exists',
// 配置示例
- 'Sidecar 容器客户端用于容器化应用程序拉取文件型配置场景。': 'The Sidecar container client is used in the pull-file configuration scenario of containerized applications',
+ 'Sidecar 容器客户端用于容器化应用程序拉取文件型配置场景。': 'The Sidecar container client is used in the pull-file config scenario of containerized applications',
Sidecar容器: 'Sidecar container',
节点管理插件: 'Node management plugin',
'节点管理插件客户端用于非容器化应用程序 (传统主机) 拉取文件型配置场景。': 'The node management plug-in client is used in the non-containerized application (traditional host) pull-file configuration scenario',
'命令行工具通常用于在脚本 (如 Bash、Python 等) 中手动拉取应用程序配置,同时支持文件型和键值型配置的获取。': 'Command line tools are commonly used to manually pull application configuration in scripts (such as Bash, Python, etc.), and support both file - and key-value configuration acquisition',
'请先选择客户端密钥,替换下方示例代码后,再尝试复制示例': 'Please select the client key first. After replacing the example code below, try to copy the example',
- '请先选择配置文件名,替换下方示例代码后,再尝试复制示例': 'Please select a configuration file name, replace the example code below, and then try copying the example',
'请先选择配置项名称,替换下方示例代码后,再尝试复制示例': 'Please select the configuration item name first. After replacing the example code below, try to copy the example',
'请输入路径地址,替换下方示例代码后,再尝试复制示例': 'Please enter the path address, replace the sample code below, and then try to copy the sample',
临时目录: 'Temp directory',
@@ -815,15 +823,15 @@ export default {
示例预览: 'Example Preview',
复制示例: 'Example Copy',
'与分组结合使用,实现服务实例的灰度发布场景,支持多个标签;若不需要灰度发布功能,此参数可不配置': 'It can be used in combination with grouping to realize grayscale publishing scenario of \n service instances and support multiple labels. \n If the gray scale publishing function is not required, this parameter can not be configured',
- '用于客户端拉取配置时身份验证,下拉列表只会展示关联过此服务且状态为启用的密钥': 'Used for client-side authentication when fetching configurations, \n the dropdown list will only display keys that have been associated \n with this service and are in the enabled state',
+ '用于客户端拉取配置时身份验证,下拉列表只会展示关联过此服务且状态为启用的密钥': 'Used for client-side authentication when fetching configs, \n the dropdown list will only display keys that have been associated \n with this service and are in the enabled state',
Get方法: 'Get',
Watch方法: 'Watch',
- 'Get方法:用于一次性拉取最新的配置信息,适用于需要获取并更新配置的场景。': 'Get method: Used for fetching the latest configuration information in a single request, suitable for scenarios requiring both retrieval and update of configurations',
- 'Watch方法:通过建立长连接,实时监听配置版本的变更,当新版本的配置发布时,将自动调用回调方法处理新的配置信息,适用于需要实时响应配置变更的场景。': 'Shell method: Establish a long connection to monitor changes in the configuration version in real time. When the new configuration version is released, the callback method is automatically invoked to process the new configuration information. This method is applicable to scenarios that require real-time response to configuration changes.',
+ 'Get方法:用于一次性拉取最新的配置信息,适用于需要获取并更新配置的场景。': 'Get method: Used for fetching the latest config information in a single request, suitable for scenarios requiring both retrieval and update of configs',
+ 'Watch方法:通过建立长连接,实时监听配置版本的变更,当新版本的配置发布时,将自动调用回调方法处理新的配置信息,适用于需要实时响应配置变更的场景。': 'Shell method: Establish a long connection to monitor changes in the config version in real time. When the new config version is released, the callback method is automatically invoked to process the new config information. This method is applicable to scenarios that require real-time response to config changes.',
节点管理插件客户端需要在: 'Node management plug-in client needs to be in',
节点管理平台: 'Node management platform',
- '部署“bkbscp (bscp服务配置分发和热更新)”插件,部署详情请参考产品白皮书:': 'Deploy the bkbscp (bscp Service Configuration Distribution and Hot Update) plug-in. For details, see the product white paper:',
- '《客户端配置》-“节点管理插件客户端拉取配置”章节': 'Client Configuration - "Node Management Plug-in Client Pulling Configuration" section',
+ '部署“bkbscp (bscp服务配置分发和热更新)”插件,部署详情请参考产品白皮书:': 'Deploy the bkbscp (bscp Service Config Distribution and Hot Update) plug-in. For details, see the product white paper:',
+ '《客户端配置》-“节点管理插件客户端拉取配置”章节': 'Client Config - "Node Management Plug-in Client Pulling Config" section',
'服务:': 'service:',
'业务ID:': 'BizId:',
'临时目录:': 'Temp Directory:',
@@ -837,29 +845,29 @@ export default {
'为命令行工具创建所需的配置文件bscp.yaml,请复制以下命令并在与该命令行工具相同的目录下执行': 'Create the necessary configuration file bscp.yaml for the command-line tool. Please copy the following command and execute it in the directory where the command-line tool resides',
'为命令行工具创建所需的配置文件bscp.yaml': 'Create the necessary configuration file bscp.yaml for the command-line tool',
获取业务下的服务列表: 'Get the service list of the service',
- 拉取服务下所有配置文件: 'Pull all configuration files under the service',
- 获取服务下所有配置文件列表: 'Obtain a list of all configuration files for the service',
+ 拉取服务下所有配置文件: 'Pull all config files under the service',
+ 获取服务下所有配置文件列表: 'Obtain a list of all config files for the service',
示例已复制: 'success',
- 临时目录提示文案: 'To avoid path conflicts between multiple services\nthe client stores the configuration files in the following directory structure after pulling them: {\'${temp directory}/${service ID}/${service name}/files\'}',
- '客户端下载配置文件后,会将其保存在': 'After downloading the configuration file, the client will save it in the',
+ 临时目录提示文案: 'To avoid path conflicts between multiple services\nthe client stores the config files in the following directory structure after pulling them: {\'${temp directory}/${service ID}/${service name}/files\'}',
+ '客户端下载配置文件后,会将其保存在': 'After downloading the config file, the client will save it in the',
目录复制成功: 'Directory copied successfully',
- 获取指定服务下所有配置项列表: 'Gets a list of all configuration items for the specified service',
- '获取指定服务下指定配置项列表,支持多个配置项,配置项之间用空格分隔': 'Retrieve the list of specified configuration items under the specified service, supporting multiple configuration items separated by spaces',
- '获取指定服务下指定配置项值,只支持单个配置项值获取': 'Obtain the value of a specified configuration item of a specified service. You can obtain only a single configuration item',
- '获取指定服务下指定配置项元数据,支持多个配置项元数据获取,没有指定配置项,获取服务下所有配置项的元数据': 'Obtain the metadata of the specified configuration item of the specified service. You can obtain the metadata of multiple configuration items. Obtain the metadata of all configuration items of the service if no configuration item is specified',
+ 获取指定服务下所有配置项列表: 'Gets a list of all config items for the specified service',
+ '获取指定服务下指定配置项列表,多个配置项': 'Retrieve a list of specified config items under a specified service, multiple items',
+ '获取指定服务下指定配置项值,只支持单个配置项值获取': 'Obtain the value of a specified config item of a specified service. You can obtain only a single config item',
+ '获取指定服务下指定配置项元数据,支持多个配置项元数据获取,没有指定配置项,获取服务下所有配置项的元数据': 'Obtain the metadata of the specified config item of the specified service. You can obtain the metadata of multiple config items. Obtain the metadata of all config items of the service if no config item is specified',
'暂无可用密钥,可前往密钥管理新建/启用密钥,或将已有密钥关联至此服务': 'No available keys found. You can go to key management to create/enable a key or associate an existing key with this service',
'搜索结果为空,可前往密钥管理新建/启用密钥,或将已有密钥关联至此服务': 'Search result is empty. You can go to key management to create/enable a key or associate an existing key with this service',
禁止使用系统目录: 'Prohibited from using system directories',
复制成功: 'Copy Successful',
- '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到 /tmp 目录时,文件保存在 /tmp{path}': 'When downloading configuration files, preserve directory structure and save them to a specified directory. For example, downloading the file {path} to the /tmp directory would save it as /tmp{path}',
- '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到 /tmp 目录时,文件保存在 /tmp/{name}': 'When downloading configuration files, do not preserve directory structure and save them directly to a specified directory. For example, downloading the file {path} to the /tmp directory would save it as /tmp/{name}',
- '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到当前目录时,文件保存在 .{windowsPath}': 'When downloading the configuration file, retain the directory structure and save it to a specified directory. For example, when downloading the {path} file to the current directory, it should be saved as .{windowsPath}',
- '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到当前目录时,文件保存在 .\\{windowsName}': 'When downloading the configuration file, do not retain the directory structure and save it to a specified directory. For example, when downloading the {path} file to the current directory, it should be saved as .\\{windowsName}',
+ '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到 /tmp 目录时,文件保存在 /tmp/etc/nginx.conf': 'When downloading configuration files, preserve directory structure and save them to a specified directory. For example, downloading the file /etc/nginx.conf to the /tmp directory would save it as /tmp/etc/nginx.conf',
+ '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到 /tmp 目录时,文件保存在 /tmp/nginx.conf': 'When downloading configuration files, do not preserve directory structure and save them directly to a specified directory. For example, downloading the file /etc/nginx.conf to the /tmp directory would save it as /tmp/nginx.conf',
+ '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到当前目录时,文件保存在 .\\etc\\nginx.conf': 'When downloading the configuration file, retain the directory structure and save it to a specified directory. For example, when downloading the /etc/nginx.conf file to the current directory, it should be saved as .\\etc\\nginx.conf',
+ '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到当前目录时,文件保存在 .\\nginx.conf': 'When downloading the configuration file, do not retain the directory structure and save it to a specified directory. For example, when downloading the /etc/nginx.conf file to the current directory, it should be saved as .\\nginx.conf',
'BSCP Python SDK依赖说明': 'dependency instructions in the BSCP Python SDK',
- '用于主动获取配置项值的场景,此方法不会监听服务器端的配置更改,有关Python SDK的部署环境和依赖组件,请参阅白皮书中的': 'For scenarios where configuration values are actively retrieved, this method does not monitor server-side configuration changes. For information on the deployment environment and dependent components of the Python SDK, please refer to the',
- '通过建立长连接,实时监听配置版本的变更,当新版本的配置发布时,将自动调用回调方法处理新的配置信息,适用于需要实时响应配置变更的场景,有关Python SDK的部署环境和依赖组件,请参阅白皮书中的': 'By establishing a persistent connection, real-time changes to configuration versions are monitored. When a new version of configuration is released, the callback method is automatically invoked to handle the new configuration information. This method is suitable for scenarios requiring real-time response to configuration changes. For information on the deployment environment and dependent components of the Python SDK, please refer to the',
- '用于主动获取配置项值的场景,此方法不会监听服务器端的配置更改\n有关Python SDK的部署环境和依赖组件,请参阅白皮书中的 [BSCP Python SDK依赖说明]': 'For scenarios where configuration values are actively retrieved, this method does not monitor server-side configuration changes\nFor information on the deployment environment and dependent components of the Python SDK, please refer to the [dependency instructions in the BSCP Python SDK]',
- '通过建立长连接,实时监听配置版本的变更,当新版本的配置发布时,将自动调用回调方法处理新的配置信息,适用于需要实时响应配置变更的场景\n有关Python SDK的部署环境和依赖组件,请参阅白皮书中的 [BSCP Python SDK依赖说明]': 'By establishing a persistent connection, real-time changes to configuration versions are monitored. When a new version of configuration is released, the callback method is automatically invoked to handle the new configuration information. This method is suitable for scenarios requiring real-time response to configuration changes\nFor information on the deployment environment and dependent components of the Python SDK, please refer to the [dependency instructions in the BSCP Python SDK]',
+ '用于主动获取配置项值的场景,此方法不会监听服务器端的配置更改,有关Python SDK的部署环境和依赖组件,请参阅白皮书中的': 'For scenarios where config values are actively retrieved, this method does not monitor server-side config changes. For information on the deployment environment and dependent components of the Python SDK, please refer to the',
+ '通过建立长连接,实时监听配置版本的变更,当新版本的配置发布时,将自动调用回调方法处理新的配置信息,适用于需要实时响应配置变更的场景,有关Python SDK的部署环境和依赖组件,请参阅白皮书中的': 'By establishing a persistent connection, real-time changes to config versions are monitored. When a new version of config is released, the callback method is automatically invoked to handle the new config information. This method is suitable for scenarios requiring real-time response to config changes. For information on the deployment environment and dependent components of the Python SDK, please refer to the',
+ '用于主动获取配置项值的场景,此方法不会监听服务器端的配置更改\n有关Python SDK的部署环境和依赖组件,请参阅白皮书中的 [BSCP Python SDK依赖说明]': 'For scenarios where config values are actively retrieved, this method does not monitor server-side config changes\nFor information on the deployment environment and dependent components of the Python SDK, please refer to the [dependency instructions in the BSCP Python SDK]',
+ '通过建立长连接,实时监听配置版本的变更,当新版本的配置发布时,将自动调用回调方法处理新的配置信息,适用于需要实时响应配置变更的场景\n有关Python SDK的部署环境和依赖组件,请参阅白皮书中的 [BSCP Python SDK依赖说明]': 'By establishing a persistent connection, real-time changes to config versions are monitored. When a new version of config is released, the callback method is automatically invoked to handle the new config information. This method is suitable for scenarios requiring real-time response to config changes\nFor information on the deployment environment and dependent components of the Python SDK, please refer to the [dependency instructions in the BSCP Python SDK]',
'请将 {{ YOUR_KEY }} 替换为您的实际 Key': 'Please replace {\'{{ YOUR_KEY }}\'} with your actual key',
复制命令: 'Copy',
复制配置: 'Copy',
@@ -868,9 +876,9 @@ export default {
服务标签: 'Service label',
'启用 P2P 网络加速': 'Enable P2P network acceleration',
查看说明: 'View instructions',
- '启用 P2P 网络加速主要适用于业务但配置文件较大及大量节点拉取配置的场景,以实现更优的文件传输速度。': 'Enabling P2P network acceleration is primarily suitable for scenarios where business configuration files are large and many nodes are pulling configurations, to achieve better file transfer speeds',
+ '启用 P2P 网络加速主要适用于业务但配置文件较大及大量节点拉取配置的场景,以实现更优的文件传输速度。': 'Enabling P2P network acceleration is primarily suitable for scenarios where business config files are large and many nodes are pulling configs, to achieve better file transfer speeds',
'以下是启用 P2P 网络加速的基本条件,已确保实现有效的网络加速:': 'Below are the basic conditions for enabling P2P network acceleration, ensuring effective network acceleration:',
- '⒈ 单个配置文件的大小应超过 50MB': '⒈ The size of a single configuration file should exceed 50MB',
+ '⒈ 单个配置文件的大小应超过 50MB': '⒈ The size of a single config file should exceed 50MB',
'⒉ 客户端实例数量应超过 50 个': '⒉ The number of client instances should exceed 50',
'P2P 网络加速依赖于 BCS 集群的元数据,请指定客户端即将部署的 BCS 集群 ID。': 'P2P network acceleration relies on the metadata of the BCS cluster. Please specify the BCS cluster ID to which the client will soon be deployed',
'更多 P2P 前置依赖信息,请查阅白皮书 ': 'For more P2P prerequisite information, please refer to the white paper ',
@@ -879,7 +887,6 @@ export default {
搜索视图: 'Search view',
'请先选择BCS 集群 ID,替换下方示例代码后,再尝试复制示例': 'Please select the BCS cluster ID first, replace the example code below, and then try to copy the example',
'请选择一个配置文件名,用于测试下载相应文件': 'Please select a configuration file name for testing the download of the corresponding file',
- '请选择一个配置项名称,用于测试下载相应文件': 'Please select a configuration item name for testing the download of the corresponding file',
'HTTP(S)接口调用': 'HTTP(S) interface invocation',
'请输入BCS 集群 ID,替换下方示例代码后,再尝试复制示例': 'Please enter the BCS cluster ID, replace the example code below, and then try copying the example',
'BCS集群ID须符合以下格式:BCS-K8S-xxxxx,其中xxxxx为5位数字': 'The BCS cluster ID must follow the format: BCS-K8S-xxxxx, where xxxxx is a five-digit numbe',
@@ -911,7 +918,7 @@ export default {
权限: 'permissions',
无访问权限: 'No access',
确认彻底删除: 'Confirm complete deletion',
- 条配置文件: 'configuration file',
+ 条配置文件: 'config file',
'删除后不可找回,请谨慎操作。': 'It cannot be retrieved after deletion, so please operate with caution.',
确认删除: 'confirm deletion',
'确认离开当前页?': 'Are you sure you want to leave the current page?',
@@ -935,23 +942,23 @@ export default {
全部实例已上线: 'All instances have been deployed.',
除以下分组之外的所有实例已上线当前版本: 'All instances except for the following groups have been deployed to the current version.',
待上线版本: 'Pending Release',
- '确认上线后,以下分组的客户端实例将上线当前版本配置': 'After confirmation of deployment, client instances of the following groups will be deployed with the current version configuration.',
+ '确认上线后,以下分组的客户端实例将上线当前版本配置': 'After confirmation of deployment, client instances of the following groups will be deployed with the current version config.',
以下分组将变更版本: 'The following groups will change versions.',
'确认上线后,': 'After confirmation of deployment, ',
全部: 'all',
- 客户端实例将上线当前版本配置: ' client instances will be deployed with the current version configuration',
+ 客户端实例将上线当前版本配置: ' client instances will be deployed with the current version config',
'确认上线后,以下分组': 'After confirmation of deployment, ',
以外: 'client instances outside of the following groups',
- 的客户端实例将上线当前版本配置: ' will be deployed with the current version configuration.',
- 配置项类型: 'Configuration Name',
+ 的客户端实例将上线当前版本配置: ' will be deployed with the current version config.',
+ 配置项类型: 'Config Name',
// 客户端查询
最后心跳时间: 'Last heartbeat time',
查询: 'Search',
标签: 'label',
- 当前配置版本: 'Current configuration version',
- 目标配置版本: 'Target configuration version',
- 最近一次拉取配置状态: 'Last pull configuration status',
+ 当前配置版本: 'Current config version',
+ 目标配置版本: 'Target config version',
+ 最近一次拉取配置状态: 'Last pull config status',
成功: 'success',
失败: 'failed',
处理中: 'processing',
@@ -966,8 +973,8 @@ export default {
查询条件: 'Search condition',
最近查询: 'Recent search',
全部常用查询: 'All common search',
- 'UID/IP/标签/目标配置版本/最近一次拉取配置状态/在线状态/客户端组件类型/客户端组件版本/配置拉取时间范围/错误类别': 'UID/IP/Tag/Current version/Last pull configuration status/Online status/Client component type/Client component version/Set the pull time range/Error category',
- '标签/目标配置版本/最近一次拉取配置状态/在线状态/客户端组件类型/客户端组件版本': 'Tag/Current version/Last pull configuration status/Online status/Client component type/Client component version',
+ 'UID/IP/标签/目标配置版本/最近一次拉取配置状态/在线状态/客户端组件类型/客户端组件版本/配置拉取时间范围/错误类别': 'UID/IP/Tag/Current version/Last pull config status/Online status/Client component type/Client component version/Set the pull time range/Error category',
+ '标签/目标配置版本/最近一次拉取配置状态/在线状态/客户端组件类型/客户端组件版本': 'Tag/Current version/Last pull config status/Online status/Client component type/Client component version',
常用查询添加成功: 'successfully added common search',
常用查询修改成功: 'successfully modified common search',
常用查询删除成功: 'successfully deleted common search',
@@ -982,7 +989,7 @@ export default {
客户端组件类型: 'Client component type',
配置拉取记录: 'Configured pull record',
离线: 'offline',
- '源版本/目标配置版本/最近一次拉取配置状态': 'Source version/Target configuration version/Last pull configuration status',
+ '源版本/目标配置版本/最近一次拉取配置状态': 'Source version/Target config version/Last pull config status',
开始时间: 'Start time',
结束时间: 'End time',
配置拉取方式: 'Configure the pull mode',
@@ -992,21 +999,21 @@ export default {
配置拉取状态: 'Configure the pull status',
核: 'Core',
源版本: 'Source version',
- 客户端拉取配置文件次数统计: 'Statistics on the number of times a client pulls a configuration file',
- 已拉取配置文件的客户端数量统计: 'Statistics on the number of clients whose configuration files have been pulled',
+ 客户端拉取配置文件次数统计: 'Statistics on the number of times a client pulls a config file',
+ 已拉取配置文件的客户端数量统计: 'Statistics on the number of clients whose config files have been pulled',
已收藏为: 'Collected',
已存在同名常用查询: 'A common search with the same name already exists',
'查询多个实例请使用竖线("|")分隔': 'To query multiple instances, separate them using a vertical bar ("|")',
'查询同一标签多个值时使用逗号(",")分隔,查询不同标签时使用竖线("|")分隔': 'Multiple values within the same tag are separated by commas (","), while different tags are separated by vertical bars ("|")',
// 客户端统计
- 配置版本发布: 'Configuration version release',
- 客户端配置版本: 'The client configuration version',
+ 配置版本发布: 'Config version release',
+ 客户端配置版本: 'The client config version',
客户端数量: 'Number of clients',
占比: 'Proportion',
- 配置版本: 'Configuration version',
+ 配置版本: 'Config version',
数量: 'Number',
- 客户端配置拉取质量: 'Client configuration pull quality',
+ 客户端配置拉取质量: 'Client config pull quality',
拉取数量趋势: 'Pull quantity trend',
'近 {n} 天': 'Last {n} days',
客户端: 'Client',
@@ -1045,8 +1052,8 @@ export default {
批量重试: 'Batch Retry',
'当前已选择 {n} 个客户端,': 'Currently, {n} clients have been selected. ',
清除选择: 'clear selection',
- '确定批量重试拉取客户端配置?': 'Confirm to retry pulling client configurations in batches',
- '确定重试拉取客户端配置?': 'Confirm to retry pulling the client configuration',
+ '确定批量重试拉取客户端配置?': 'Confirm to retry pulling client configs in batches',
+ '确定重试拉取客户端配置?': 'Confirm to retry pulling the client config',
重试成功: 'Retry success',
'确认删除该常用查询?': 'Confirm to delete the common query?',
配置拉取时间范围: 'Set the pull time range',
diff --git a/ui/src/i18n/zh-cn.ts b/ui/src/i18n/zh-cn.ts
index e8e576cf68..a0d8a7c032 100644
--- a/ui/src/i18n/zh-cn.ts
+++ b/ui/src/i18n/zh-cn.ts
@@ -522,9 +522,18 @@ export default {
'请输入配置文件的完整路径和文件名,例如:/etc/nginx/nginx.conf': '请输入配置文件的完整路径和文件名,例如:/etc/nginx/nginx.conf',
只看冲突配置项: '只看冲突配置项',
'对于Windows客户端,以上文件权限、用户及用户组设置不生效,可在后置脚本中处理文件权限': '对于Windows客户端,以上文件权限、用户及用户组设置不生效,可在后置脚本中处理文件权限',
+ 权限设置: '权限设置',
+ 若需在: '若需在',
+ 容器: '容器',
+ '中拉取配置文件并设置权限,': '中拉取配置文件并设置权限,',
+ '请配置 UID 和 GID。': '请配置 UID 和 GID。',
+ '因为设置文件权限操作不是在业务容器中执行,而是在 Sidecar 容器中执行,': '因为设置文件权限操作不是在业务容器中执行,而是在 Sidecar 容器中执行,',
+ '因此需要在 Sidecar容器中创建相应的用户(UID)、用户组(GID)。如果无需使用容器客户端可不配置 UID 和 GID。': '因此需要在 Sidecar容器中创建相应的用户(UID)、用户组(GID)。如果无需使用容器客户端可不配置 UID 和 GID。',
'为确保最佳用户体验,此服务的配置文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个': '为确保最佳用户体验,此服务的配置文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个',
'为确保最佳用户体验,此服务的配置项数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个': '为确保最佳用户体验,此服务的配置项数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个',
- '为确保最佳用户体验,此服务的模板文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个': '为确保最佳用户体验,此服务的模板文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个',
+ '为确保最佳用户体验,此套餐的模板文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个': '为确保最佳用户体验,此套餐的模板文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个',
+ 批量设置UID: '批量设置UID',
+ 批量设置GID: '批量设置GID',
// 分组管理
新增分组: '新增分组',
@@ -808,7 +817,6 @@ export default {
'节点管理插件客户端用于非容器化应用程序 (传统主机) 拉取文件型配置场景。': '节点管理插件客户端用于非容器化应用程序 (传统主机) 拉取文件型配置场景。',
'命令行工具通常用于在脚本 (如 Bash、Python 等) 中手动拉取应用程序配置,同时支持文件型和键值型配置的获取。': '命令行工具通常用于在脚本 (如 Bash、Python 等) 中手动拉取应用程序配置,同时支持文件型和键值型配置的获取。',
'请先选择客户端密钥,替换下方示例代码后,再尝试复制示例': '请先选择客户端密钥,替换下方示例代码后,再尝试复制示例',
- '请先选择配置文件名,替换下方示例代码后,再尝试复制示例': '请先选择配置文件名,替换下方示例代码后,再尝试复制示例',
'请先选择配置项名称,替换下方示例代码后,再尝试复制示例': '请先选择配置项名称,替换下方示例代码后,再尝试复制示例',
'请输入路径地址,替换下方示例代码后,再尝试复制示例': '请输入路径地址,替换下方示例代码后,再尝试复制示例',
临时目录: '临时目录',
@@ -848,17 +856,17 @@ export default {
'客户端下载配置文件后,会将其保存在': '客户端下载配置文件后,会将其保存在',
目录复制成功: '目录复制成功',
获取指定服务下所有配置项列表: '获取指定服务下所有配置项列表',
- '获取指定服务下指定配置项列表,支持多个配置项,配置项之间用空格分隔': '获取指定服务下指定配置项列表,支持多个配置项,配置项之间用空格分隔',
+ '获取指定服务下指定配置项列表,多个配置项': '获取指定服务下指定配置项列表,多个配置项',
'获取指定服务下指定配置项值,只支持单个配置项值获取': '获取指定服务下指定配置项值,只支持单个配置项值获取',
'获取指定服务下指定配置项元数据,支持多个配置项元数据获取,没有指定配置项,获取服务下所有配置项的元数据': '获取指定服务下指定配置项元数据,支持多个配置项元数据获取,没有指定配置项,获取服务下所有配置项的元数据',
'暂无可用密钥,可前往密钥管理新建/启用密钥,或将已有密钥关联至此服务': '暂无可用密钥,可前往密钥管理新建/启用密钥,或将已有密钥关联至此服务',
'搜索结果为空,可前往密钥管理新建/启用密钥,或将已有密钥关联至此服务': '搜索结果为空,可前往密钥管理新建/启用密钥,或将已有密钥关联至此服务',
禁止使用系统目录: '禁止使用系统目录',
复制成功: '复制成功',
- '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到 /tmp 目录时,文件保存在 /tmp{path}': '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到 /tmp 目录时,文件保存在 /tmp{path}',
- '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到 /tmp 目录时,文件保存在 /tmp/{name}': '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到 /tmp 目录时,文件保存在 /tmp/{name}',
- '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到当前目录时,文件保存在 .{windowsPath}': '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到当前目录时,文件保存在 .{windowsPath}',
- '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到当前目录时,文件保存在 .\\{windowsName}': '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 {path} 文件下载到当前目录时,文件保存在 .\\{windowsName}',
+ '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到 /tmp 目录时,文件保存在 /tmp/etc/nginx.conf': '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到 /tmp 目录时,文件保存在 /tmp/etc/nginx.conf',
+ '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到 /tmp 目录时,文件保存在 /tmp/nginx.conf': '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到 /tmp 目录时,文件保存在 /tmp/nginx.conf',
+ '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到当前目录时,文件保存在 .\\etc\\nginx.conf': '下载配置文件时,保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到当前目录时,文件保存在 .\\etc\\nginx.conf',
+ '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到当前目录时,文件保存在 .\\nginx.conf': '下载配置文件时,不保留目录层级,并将其保存到指定目录下,例如:将 /etc/nginx.conf 文件下载到当前目录时,文件保存在 .\\nginx.conf',
'BSCP Python SDK依赖说明': 'BSCP Python SDK依赖说明',
'用于主动获取配置项值的场景,此方法不会监听服务器端的配置更改,有关Python SDK的部署环境和依赖组件,请参阅白皮书中的': '用于主动获取配置项值的场景,此方法不会监听服务器端的配置更改,有关Python SDK的部署环境和依赖组件,请参阅白皮书中的',
'通过建立长连接,实时监听配置版本的变更,当新版本的配置发布时,将自动调用回调方法处理新的配置信息,适用于需要实时响应配置变更的场景,有关Python SDK的部署环境和依赖组件,请参阅白皮书中的': '通过建立长连接,实时监听配置版本的变更,当新版本的配置发布时,将自动调用回调方法处理新的配置信息,适用于需要实时响应配置变更的场景,有关Python SDK的部署环境和依赖组件,请参阅白皮书中的',
@@ -882,7 +890,6 @@ export default {
'BCS 集群 ID': 'BCS 集群 ID',
搜索视图: '搜索视图',
'请选择一个配置文件名,用于测试下载相应文件': '请选择一个配置文件名,用于测试下载相应文件',
- '请选择一个配置项名称,用于测试下载相应文件': '请选择一个配置项名称,用于测试下载相应文件',
'HTTP(S)接口调用': 'HTTP(S)接口调用',
'请输入BCS 集群 ID,替换下方示例代码后,再尝试复制示例': '请输入BCS 集群 ID,替换下方示例代码后,再尝试复制示例',
'BCS集群ID须符合以下格式:BCS-K8S-xxxxx,其中xxxxx为5位数字': 'BCS集群ID须符合以下格式:BCS-K8S-xxxxx,其中xxxxx为5位数字',
diff --git a/ui/src/views/space/service/detail/config/components/count-tips.vue b/ui/src/views/space/service/detail/config/components/count-tips.vue
index 792c1d051d..9bff5a300a 100644
--- a/ui/src/views/space/service/detail/config/components/count-tips.vue
+++ b/ui/src/views/space/service/detail/config/components/count-tips.vue
@@ -31,7 +31,7 @@
const tips = computed(() => {
if (props.isTemp) {
- return '为确保最佳用户体验,此服务的模板文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个';
+ return '为确保最佳用户体验,此套餐的模板文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个';
}
if (props.isFileType) {
return '为确保最佳用户体验,此服务的配置文件数量限制为 {n} 个。当前已有 {m} 个,还可添加 {p} 个';
diff --git a/ui/src/views/space/service/detail/config/components/user-setting.vue b/ui/src/views/space/service/detail/config/components/user-setting.vue
new file mode 100644
index 0000000000..3e1d1d0d27
--- /dev/null
+++ b/ui/src/views/space/service/detail/config/components/user-setting.vue
@@ -0,0 +1,212 @@
+
+ {{ t('权限设置') }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+ {{ t('若需在') }}{{ $t('容器') }} {{ t('中拉取配置文件并设置权限,') }}
+ {{ t('请配置 UID 和 GID。') }}
+ {{ t('因为设置文件权限操作不是在业务容器中执行,而是在 Sidecar 容器中执行,') }}
+ {{
+ t('因此需要在 Sidecar容器中创建相应的用户(UID)、用户组(GID)。如果无需使用容器客户端可不配置 UID 和 GID。')
+ }}
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/src/views/space/service/detail/config/config-list/config-table-list/batch-operation-btn.vue b/ui/src/views/space/service/detail/config/config-list/config-table-list/batch-operation-btn.vue
index 2c62be10cf..6fd50debf4 100644
--- a/ui/src/views/space/service/detail/config/config-list/config-table-list/batch-operation-btn.vue
+++ b/ui/src/views/space/service/detail/config/config-list/config-table-list/batch-operation-btn.vue
@@ -48,6 +48,8 @@
v-model:show="isBatchEditPermDialogShow"
:loading="editLoading"
:configs-length="props.selectedIds.length"
+ :bk-biz-id="props.bkBizId"
+ :id="props.appId"
@confirm="handleConfimEditPermission" />