diff --git a/web/src/i18n/locales/en.json b/web/src/i18n/locales/en.json index c96495f9..67213955 100644 --- a/web/src/i18n/locales/en.json +++ b/web/src/i18n/locales/en.json @@ -1059,7 +1059,38 @@ "removeConfirmDescription": "After removal, user {{userId}} will lose access to this namespace.", "removeSuccessTitle": "Member removed", "removeSuccessDescription": "User {{userId}} has been removed from this namespace.", - "removeErrorTitle": "Failed to remove member" + "removeErrorTitle": "Failed to remove member", + "batchImport": "Batch Import", + "batchDialogTitle": "Batch Import Members", + "batchDialogDescription": "Upload a CSV file to add multiple members at once. Each row should contain a user ID and role.", + "batchStepUpload": "Upload CSV", + "batchStepPreview": "Preview", + "batchStepResults": "Results", + "batchDownloadTemplate": "Download CSV template", + "batchDropHint": "Drag a CSV file here, or click to select", + "batchFormatHint": "Only .csv format supported", + "batchParseError": "Failed to parse CSV file", + "batchEmptyFile": "CSV file is empty or contains no valid rows", + "batchPreviewTitle": "Preview ({{count}} rows)", + "batchColUserId": "User ID", + "batchColRole": "Role", + "batchColStatus": "Status", + "batchValidationMissingUserId": "Missing user ID", + "batchValidationInvalidRole": "Invalid role (must be MEMBER or ADMIN)", + "batchValidationDuplicate": "Duplicate user ID", + "batchValidationValid": "Ready", + "batchValidRows": "{{valid}} valid, {{invalid}} invalid", + "batchSubmitting": "Importing...", + "batchSubmit": "Import {{count}} members", + "batchResultTitle": "Import Results", + "batchResultSummary": "{{success}} succeeded, {{failure}} failed out of {{total}} total", + "batchResultSuccess": "Added", + "batchResultAlreadyMember": "Already a member", + "batchResultUserNotFound": "User not found", + "batchResultInvalidRole": "Invalid role", + "batchResultUnknownError": "Unknown error", + "batchDone": "Done", + "batchBack": "Back" }, "upload": { "dropHint": "Drop to upload...", diff --git a/web/src/i18n/locales/zh.json b/web/src/i18n/locales/zh.json index 12219285..5f1c1cab 100644 --- a/web/src/i18n/locales/zh.json +++ b/web/src/i18n/locales/zh.json @@ -1060,7 +1060,38 @@ "removeConfirmDescription": "移除后,用户 {{userId}} 将失去该命名空间的访问和协作权限。", "removeSuccessTitle": "成员已移除", "removeSuccessDescription": "用户 {{userId}} 已从当前命名空间移除。", - "removeErrorTitle": "移除成员失败" + "removeErrorTitle": "移除成员失败", + "batchImport": "批量导入", + "batchDialogTitle": "批量导入成员", + "batchDialogDescription": "上传 CSV 文件批量添加成员。每行包含一个用户 ID 和角色。", + "batchStepUpload": "上传 CSV", + "batchStepPreview": "预览", + "batchStepResults": "结果", + "batchDownloadTemplate": "下载 CSV 模板", + "batchDropHint": "拖拽 CSV 文件到此处,或点击选择", + "batchFormatHint": "仅支持 .csv 格式", + "batchParseError": "CSV 文件解析失败", + "batchEmptyFile": "CSV 文件为空或没有有效行", + "batchPreviewTitle": "预览(共 {{count}} 行)", + "batchColUserId": "用户 ID", + "batchColRole": "角色", + "batchColStatus": "状态", + "batchValidationMissingUserId": "缺少用户 ID", + "batchValidationInvalidRole": "角色无效(必须为 MEMBER 或 ADMIN)", + "batchValidationDuplicate": "用户 ID 重复", + "batchValidationValid": "就绪", + "batchValidRows": "{{valid}} 条有效,{{invalid}} 条无效", + "batchSubmitting": "导入中...", + "batchSubmit": "导入 {{count}} 名成员", + "batchResultTitle": "导入结果", + "batchResultSummary": "共 {{total}} 条,成功 {{success}} 条,失败 {{failure}} 条", + "batchResultSuccess": "已添加", + "batchResultAlreadyMember": "已是成员", + "batchResultUserNotFound": "用户不存在", + "batchResultInvalidRole": "角色无效", + "batchResultUnknownError": "未知错误", + "batchDone": "完成", + "batchBack": "返回" }, "upload": { "dropHint": "放开以上传文件...",